diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index e5a5755b..c73c2697 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -8,6 +8,8 @@ RUN apt-get update && apt-get install -y \ libc6-dev \ m4 \ gcc \ + libgdal-dev \ + libopenscenegraph-dev \ && rm -rf /var/lib/apt/lists/* # 设置工作目录 diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 2d7bb79e..1b51e9e0 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -8,6 +8,6 @@ "terminal.integrated.shell.linux": "/bin/bash" }, "extensions": [ - "rust-lang.rust" + "rust-lang.rust-analyzer" ] } diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..083952bb --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,36 @@ +name: Build + +on: [push, pull_request] +jobs: + build-and-test: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest] + + steps: + - uses: actions/checkout@v2 + + - name: Install dependencies on Ubuntu + if: runner.os == 'Linux' + run: | + git clone https://github.com/Microsoft/vcpkg.git + ./vcpkg/bootstrap-vcpkg.sh + ./vcpkg/vcpkg integrate install + ./vcpkg/vcpkg install osg + ./vcpkg/vcpkg install gdal + + - name: Install dependencies on Windows + if: runner.os == 'Windows' + run: | + git clone https://github.com/Microsoft/vcpkg.git + ./vcpkg/bootstrap-vcpkg.bat + ./vcpkg/vcpkg integrate install + ./vcpkg/vcpkg install osg + ./vcpkg/vcpkg install gdal + + - name: Build + run: cargo build --verbose --release + + - name: Test + run: cargo test --verbose \ No newline at end of file diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml deleted file mode 100644 index b535b0d1..00000000 --- a/.github/workflows/rust.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Windows - -on: [push] - -jobs: - build: - - runs-on: windows-latest - - steps: - - uses: actions/checkout@v1 - - name: Build - run: | - cargo build --verbose --release - cp target/release/_3dtile.exe bin/3dtile.exe - - - name: Run tests - run: cargo test --verbose - - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 - with: - # Artifact name - name: 3dtile - # Directory containing files to upload - path: bin/ diff --git a/bin/gdal201.dll b/bin/gdal201.dll deleted file mode 100644 index 6fcb05ec..00000000 Binary files a/bin/gdal201.dll and /dev/null differ diff --git a/bin/gdal_data/GDALLogoBW.svg b/bin/gdal_data/GDALLogoBW.svg deleted file mode 100644 index 4ac8f6a6..00000000 --- a/bin/gdal_data/GDALLogoBW.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/gdal_data/GDALLogoColor.svg b/bin/gdal_data/GDALLogoColor.svg deleted file mode 100644 index da311ad8..00000000 --- a/bin/gdal_data/GDALLogoColor.svg +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/gdal_data/GDALLogoGS.svg b/bin/gdal_data/GDALLogoGS.svg deleted file mode 100644 index de00b72a..00000000 --- a/bin/gdal_data/GDALLogoGS.svg +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/gdal_data/compdcs.csv b/bin/gdal_data/compdcs.csv deleted file mode 100644 index 41edca1c..00000000 --- a/bin/gdal_data/compdcs.csv +++ /dev/null @@ -1,157 +0,0 @@ -"COORD_REF_SYS_CODE","COORD_REF_SYS_NAME","CMPD_HORIZCRS_CODE","CMPD_VERTCRS_CODE","SHOW_CRS","DEPRECATED" -3901,"KKJ / Finland Uniform Coordinate System + N60 height",2393,5717,1,0 -3902,"ETRS89 / TM35FIN(N,E) + N60 height",5048,5717,1,0 -3903,"ETRS89 / TM35FIN(N,E) + N2000 height",5048,3900,1,0 -4097,"ETRS89 / DKTM1 + DVR90 height",4093,5799,1,0 -4098,"ETRS89 / DKTM2 + DVR90 height",4094,5799,1,0 -4099,"ETRS89 / DKTM3 + DVR90 height",4095,5799,1,0 -4100,"ETRS89 / DKTM4 + DVR90 height",4096,5799,1,0 -5318,"ETRS89 / Faroe TM + FVR09 height",5316,5317,1,0 -5498,"NAD83 + NAVD88 height",4269,5703,1,0 -5499,"NAD83(HARN) + NAVD88 height",4152,5703,1,0 -5500,"NAD83(NSRS2007) + NAVD88 height",4759,5703,1,0 -5554,"ETRS89 / UTM zone 31N + DHHN92 height",25831,5783,1,0 -5555,"ETRS89 / UTM zone 32N + DHHN92 height",25832,5783,1,0 -5556,"ETRS89 / UTM zone 33N + DHHN92 height",25833,5783,1,0 -5598,"FEH2010 / Fehmarnbelt TM + FCSVR10 height",5596,5597,1,0 -5628,"SWEREF99 + RH2000 height",4619,5613,1,0 -5698,"RGF93 / Lambert-93 + NGF-IGN69 height",2154,5720,1,0 -5699,"RGF93 / Lambert-93 + NGF-IGN78 height",2154,5721,1,0 -5707,"NTF (Paris) / Lambert zone I + NGF-IGN69 height",27571,5720,1,0 -5708,"NTF (Paris) / Lambert zone IV + NGF-IGN78 height",27574,5721,1,0 -5832,"DB_REF / 3-degree Gauss-Kruger zone 2 (E-N) + DHHN92 height",5682,5783,1,0 -5833,"DB_REF / 3-degree Gauss-Kruger zone 3 (E-N) + DHHN92 height",5683,5783,1,0 -5834,"DB_REF / 3-degree Gauss-Kruger zone 4 (E-N) + DHHN92 height",5684,5783,1,0 -5835,"DB_REF / 3-degree Gauss-Kruger zone 5 (E-N) + DHHN92 height",5685,5783,1,0 -5845,"SWEREF99 TM + RH2000 height",3006,5613,1,0 -5846,"SWEREF99 12 00 + RH2000 height",3007,5613,1,0 -5847,"SWEREF99 13 30 + RH2000 height",3008,5613,1,0 -5848,"SWEREF99 15 00 + RH2000 height",3009,5613,1,0 -5849,"SWEREF99 16 30 + RH2000 height",3010,5613,1,0 -5850,"SWEREF99 18 00 + RH2000 height",3011,5613,1,0 -5851,"SWEREF99 14 15 + RH2000 height",3012,5613,1,0 -5852,"SWEREF99 15 45 + RH2000 height",3013,5613,1,0 -5853,"SWEREF99 17 15 + RH2000 height",3014,5613,1,0 -5854,"SWEREF99 18 45 + RH2000 height",3015,5613,1,0 -5855,"SWEREF99 20 15 + RH2000 height",3016,5613,1,0 -5856,"SWEREF99 21 45 + RH2000 height",3017,5613,1,0 -5857,"SWEREF99 23 15 + RH2000 height",3018,5613,1,0 -5942,"ETRS89 + NN2000 height",4258,5941,1,0 -5945,"ETRS89 / NTM zone 5 + NN2000 height",5105,5941,1,0 -5946,"ETRS89 / NTM zone 6 + NN2000 height",5106,5941,1,0 -5947,"ETRS89 / NTM zone 7 + NN2000 height",5107,5941,1,0 -5948,"ETRS89 / NTM zone 8 + NN2000 height",5108,5941,1,0 -5949,"ETRS89 / NTM zone 9 + NN2000 height",5109,5941,1,0 -5950,"ETRS89 / NTM zone 10 + NN2000 height",5110,5941,1,0 -5951,"ETRS89 / NTM zone 11 + NN2000 height",5111,5941,1,0 -5952,"ETRS89 / NTM zone 12 + NN2000 height",5112,5941,1,0 -5953,"ETRS89 / NTM zone 13 + NN2000 height",5113,5941,1,0 -5954,"ETRS89 / NTM zone 14 + NN2000 height",5114,5941,1,0 -5955,"ETRS89 / NTM zone 15 + NN2000 height",5115,5941,1,0 -5956,"ETRS89 / NTM zone 16 + NN2000 height",5116,5941,1,0 -5957,"ETRS89 / NTM zone 17 + NN2000 height",5117,5941,1,0 -5958,"ETRS89 / NTM zone 18 + NN2000 height",5118,5941,1,0 -5959,"ETRS89 / NTM zone 19 + NN2000 height",5119,5941,1,0 -5960,"ETRS89 / NTM zone 20 + NN2000 height",5120,5941,1,0 -5961,"ETRS89 / NTM zone 21 + NN2000 height",5121,5941,1,0 -5962,"ETRS89 / NTM zone 22 + NN2000 height",5122,5941,1,0 -5963,"ETRS89 / NTM zone 23 + NN2000 height",5123,5941,1,0 -5964,"ETRS89 / NTM zone 24 + NN2000 height",5124,5941,1,0 -5965,"ETRS89 / NTM zone 25 + NN2000 height",5125,5941,1,0 -5966,"ETRS89 / NTM zone 26 + NN2000 height",5126,5941,1,0 -5967,"ETRS89 / NTM zone 27 + NN2000 height",5127,5941,1,0 -5968,"ETRS89 / NTM zone 28 + NN2000 height",5128,5941,1,0 -5969,"ETRS89 / NTM zone 29 + NN2000 height",5129,5941,1,0 -5970,"ETRS89 / NTM zone 30 + NN2000 height",5130,5941,1,0 -5971,"ETRS89 / UTM zone 31 + NN2000 height",25831,5941,1,0 -5972,"ETRS89 / UTM zone 32 + NN2000 height",25832,5941,1,0 -5973,"ETRS89 / UTM zone 33 + NN2000 height",25833,5941,1,0 -5974,"ETRS89 / UTM zone 34 + NN2000 height",25834,5941,1,0 -5975,"ETRS89 / UTM zone 35 + NN2000 height",25835,5941,1,0 -5976,"ETRS89 / UTM zone 36 + NN2000 height",25836,5941,1,0 -6144,"ETRS89 + NN54 height",4258,5776,1,0 -6145,"ETRS89 / NTM zone 5 + NN54 height",5105,5776,1,0 -6146,"ETRS89 / NTM zone 6 + NN54 height",5106,5776,1,0 -6147,"ETRS89 / NTM zone 7 + NN54 height",5107,5776,1,0 -6148,"ETRS89 / NTM zone 8 + NN54 height",5108,5776,1,0 -6149,"ETRS89 / NTM zone 9 + NN54 height",5109,5776,1,0 -6150,"ETRS89 / NTM zone 10 + NN54 height",5110,5776,1,0 -6151,"ETRS89 / NTM zone 11 + NN54 height",5111,5776,1,0 -6152,"ETRS89 / NTM zone 12 + NN54 height",5112,5776,1,0 -6153,"ETRS89 / NTM zone 13 + NN54 height",5113,5776,1,0 -6154,"ETRS89 / NTM zone 14 + NN54 height",5114,5776,1,0 -6155,"ETRS89 / NTM zone 15 + NN54 height",5115,5776,1,0 -6156,"ETRS89 / NTM zone 16 + NN54 height",5116,5776,1,0 -6157,"ETRS89 / NTM zone 17 + NN54 height",5117,5776,1,0 -6158,"ETRS89 / NTM zone 18 + NN54 height",5118,5776,1,0 -6159,"ETRS89 / NTM zone 19 + NN54 height",5119,5776,1,0 -6160,"ETRS89 / NTM zone 20 + NN54 height",5120,5776,1,0 -6161,"ETRS89 / NTM zone 21 + NN54 height",5121,5776,1,0 -6162,"ETRS89 / NTM zone 22 + NN54 height",5122,5776,1,0 -6163,"ETRS89 / NTM zone 23 + NN54 height",5123,5776,1,0 -6164,"ETRS89 / NTM zone 24 + NN54 height",5124,5776,1,0 -6165,"ETRS89 / NTM zone 25 + NN54 height",5125,5776,1,0 -6166,"ETRS89 / NTM zone 26 + NN54 height",5126,5776,1,0 -6167,"ETRS89 / NTM zone 27 + NN54 height",5127,5776,1,0 -6168,"ETRS89 / NTM zone 28 + NN54 height",5128,5776,1,0 -6169,"ETRS89 / NTM zone 29 + NN54 height",5129,5776,1,0 -6170,"ETRS89 / NTM zone 30 + NN54 height",5130,5776,1,0 -6171,"ETRS89 / UTM zone 31 + NN54 height",25831,5776,1,0 -6172,"ETRS89 / UTM zone 32 + NN54 height",25832,5776,1,0 -6173,"ETRS89 / UTM zone 33 + NN54 height",25833,5776,1,0 -6174,"ETRS89 / UTM zone 34 + NN54 height",25834,5776,1,0 -6175,"ETRS89 / UTM zone 35 + NN54 height",25835,5776,1,0 -6176,"ETRS89 / UTM zone 36 + NN54 height",25836,5776,1,0 -6190,"Belge 1972 / Belgian Lambert 72 + Ostend height",31370,5710,1,0 -6349,"NAD83(2011) + NAVD88 height",6318,5703,1,0 -6649,"NAD83(CSRS) + CGVD2013 height",4617,6647,1,0 -6650,"NAD83(CSRS) / UTM zone 7N + CGVD2013 height",3154,6647,1,0 -6651,"NAD83(CSRS) / UTM zone 8N + CGVD2013 height",3155,6647,1,0 -6652,"NAD83(CSRS) / UTM zone 9N + CGVD2013 height",3156,6647,1,0 -6653,"NAD83(CSRS) / UTM zone 10N + CGVD2013 height",3157,6647,1,0 -6654,"NAD83(CSRS) / UTM zone 11N + CGVD2013 height",2955,6647,1,0 -6655,"NAD83(CSRS) / UTM zone 12N + CGVD2013 height",2956,6647,1,0 -6656,"NAD83(CSRS) / UTM zone 13N + CGVD2013 height",2957,6647,1,0 -6657,"NAD83(CSRS) / UTM zone 14N + CGVD2013 height",3158,6647,1,0 -6658,"NAD83(CSRS) / UTM zone 15N + CGVD2013 height",3159,6647,1,0 -6659,"NAD83(CSRS) / UTM zone 16N + CGVD2013 height",3160,6647,1,0 -6660,"NAD83(CSRS) / UTM zone 17N + CGVD2013 height",2958,6647,1,0 -6661,"NAD83(CSRS) / UTM zone 18N + CGVD2013 height",2959,6647,1,0 -6662,"NAD83(CSRS) / UTM zone 19N + CGVD2013 height",2960,6647,1,0 -6663,"NAD83(CSRS) / UTM zone 20N + CGVD2013 height",2961,6647,1,0 -6664,"NAD83(CSRS) / UTM zone 21N + CGVD2013 height",2962,6647,1,0 -6665,"NAD83(CSRS) / UTM zone 22N + CGVD2013 height",3761,6647,1,0 -6696,"JGD2000 + JGD2000 (vertical) height",4612,6694,1,0 -6697,"JGD2011 + JGD2011 (vertical) height",6668,6695,1,0 -6700,"Tokyo + JSLD72 height",4301,6693,1,0 -6871,"WGS 84 / Pseudo-Mercator + EGM2008 geoid height",3857,3855,1,1 -6893,"WGS 84 / World Mercator + EGM2008 height",3395,3855,1,0 -6917,"SVY21 + SHD height",4757,6916,1,0 -6927,"SVY21 / Singapore TM + SHD height",3414,6916,1,0 -7400,"NTF (Paris) + NGF IGN69 height",4807,5720,1,0 -7401,"NTF (Paris) / France II + NGF Lallemand",27582,5719,1,1 -7402,"NTF (Paris) / France II + NGF IGN69",27582,5720,1,1 -7403,"NTF (Paris) / France III + NGF IGN69",27583,5720,1,1 -7404,"RT90 + RH70 height",4124,5718,1,0 -7405,"OSGB 1936 / British National Grid + ODN height",27700,5701,1,0 -7406,"NAD27 + NGVD29 height",4267,5702,1,0 -7407,"NAD27 / Texas North + NGVD29 height",32037,5702,1,0 -7408,"RD/NAP",4289,5709,1,1 -7409,"ETRS89 + EVRF2000 height",4258,5730,1,0 -7410,PSHD93,4134,5724,1,0 -7411,"NTF (Paris) / Lambert zone II + NGF Lallemand height",27572,5719,1,0 -7412,"NTF (Paris) / Lambert zone II + NGF IGN69",27572,5719,1,1 -7413,"NTF (Paris) / Lambert zone III + NGF IGN69",27573,5719,1,1 -7414,"Tokyo + JSLD69 height",4301,5723,1,0 -7415,"Amersfoort / RD New + NAP height",28992,5709,1,0 -7416,"ETRS89 / UTM zone 32N + DVR90 height",25832,5799,1,0 -7417,"ETRS89 / UTM zone 33N + DVR90 height",25833,5799,1,0 -7418,"ETRS89 / Kp2000 Jutland + DVR90 height",2196,5799,1,0 -7419,"ETRS89 / Kp2000 Zealand + DVR90 height",2197,5799,1,0 -7420,"ETRS89 / Kp2000 Bornholm + DVR90 height",2198,5799,1,0 -7421,"NTF (Paris) / Lambert zone II + NGF-IGN69 height",27572,5720,1,0 -7422,"NTF (Paris) / Lambert zone III + NGF-IGN69 height",27573,5720,1,0 -7423,"ETRS89 + EVRF2007 height",4258,5621,1,0 -7954,"Astro DOS 71 / UTM zone 30S + Jamestown 1971 height",7878,7888,1,0 -7955,"St. Helena Tritan / UTM zone 30S + Tritan 2011 height",7883,7889,1,0 -7956,"SHMG2015 + SHVD2015 height",7887,7890,1,0 diff --git a/bin/gdal_data/coordinate_axis.csv b/bin/gdal_data/coordinate_axis.csv deleted file mode 100644 index 0dd4e480..00000000 --- a/bin/gdal_data/coordinate_axis.csv +++ /dev/null @@ -1,278 +0,0 @@ -coord_sys_code,coord_axis_name_code,coord_axis_orientation,coord_axis_abbreviation,uom_code,coord_axis_order -1024,9906,east,M,9001,1 -1024,9907,north,P,9001,2 -1025,9906,North along 130°W,X,9001,1 -1025,9907,North along 140°E,Y,9001,2 -1026,9906,South along 90°E,E,9001,1 -1026,9907,South along 180°E,N,9001,2 -1027,9906,North along 90°E,E,9001,1 -1027,9907,North along 0°E,N,9001,2 -1028,9906,east,E,9037,1 -1028,9907,north,N,9037,2 -1029,9906,east,E,9002,2 -1029,9907,north,N,9002,1 -1030,9904,up,H,9002,1 -1031,9907,north,Y,9001,1 -1031,9908,west,X,9001,2 -1032,9904,up,z,9001,3 -1032,9918,east,x,9001,1 -1032,9919,north,y,9001,2 -1033,9920,J-axis plus 90°,I,1024,1 -1033,9921,See associated operation,J,1024,2 -1034,9920,J-axis minus 90°,I,1024,1 -1034,9921,See associated operation,J,1024,2 -1035,9906,South along 180°E,X,9001,1 -1035,9907,South along 90°W,Y,9001,2 -1036,9906,South along 57°E,X,9001,1 -1036,9907,South along 147°E,Y,9001,2 -1037,9906,South along 108°E,X,9001,1 -1037,9907,South along 162°W,Y,9001,2 -1038,9906,South along 165°W,X,9001,1 -1038,9907,South along 75°W,Y,9001,2 -1039,9906,east,E,9002,1 -1039,9907,north,N,9002,2 -1040,1024,Ahead,x,9001,1 -1040,1025,Starboard,y,9001,2 -1040,1026,Upward,z,9001,3 -1041,1024,Ahead,x,9001,1 -1041,1025,Starboard,y,9001,2 -1041,1027,Downward,z,9001,3 -1042,1024,Ahead,y,9001,2 -1042,1025,Starboard,x,9001,1 -1042,1026,Upward,z,9001,3 -1043,9905,down,D,9003,1 -1044,9906,North along 90°W,E,9001,2 -1044,9907,North along 180°E,N,9001,1 -1045,1024,Ahead,y,9001,2 -1045,1025,Starboard,x,9001,1 -1045,1027,Downward,z,9001,3 -4400,9906,east,E,9001,1 -4400,9907,north,N,9001,2 -4401,9906,east,E,9062,1 -4401,9907,north,N,9062,2 -4402,9906,east,E,9042,1 -4402,9907,north,N,9042,2 -4403,9906,east,E,9005,1 -4403,9907,north,N,9005,2 -4404,9906,east,E,9094,1 -4404,9907,north,N,9094,2 -4405,9906,east,E,9041,1 -4405,9907,north,N,9041,2 -4406,9906,east,X,9036,1 -4406,9907,north,Y,9036,2 -4407,9906,east,E,9039,1 -4407,9907,north,N,9039,2 -4408,9906,east,E,9084,1 -4408,9907,north,N,9084,2 -4409,9906,east,E,9040,1 -4409,9907,north,N,9040,2 -4410,9906,east,E,9301,1 -4410,9907,north,N,9301,2 -4460,9906,South along 90°E.,E,9001,1 -4460,9907,South along 180°E,N,9001,2 -4461,9929,up,W,9001,3 -4461,9930,east,U,9001,1 -4461,9931,north,V,9001,2 -4462,9906,South along 180°W,X,9001,1 -4462,9907,South along 90°W,Y,9001,2 -4463,9906,South along 100°E,X,9001,1 -4463,9907,South along 170°W,Y,9001,2 -4464,9906,South along 90°W,X,9001,1 -4464,9907,South along 0°E,Y,9001,2 -4465,9906,South along 50°E,X,9001,1 -4465,9907,South along 140°E,Y,9001,2 -4466,9906,South along 10°W,X,9001,1 -4466,9907,South along 80°E,Y,9001,2 -4467,9906,South along 60°W,X,9001,1 -4467,9907,South along 30°E,Y,9001,2 -4468,9906,South along 45°E,X,9001,1 -4468,9907,South along 135°E,Y,9001,2 -4469,9906,South along 90°E,X,9001,1 -4469,9907,South along 180°E,Y,9001,2 -4470,9906,North along 90°E,X,9001,1 -4470,9907,North along 0°E,Y,9001,2 -4471,9906,North along 75°W,E,9001,1 -4471,9907,North along 165°W,N,9001,2 -4472,9906,North along 60°W,E,9001,1 -4472,9907,North along 150°W,N,9001,2 -4473,9906,North along 45°W,E,9001,1 -4473,9907,North along 135°W,N,9001,2 -4474,9906,North along 15°W,E,9001,1 -4474,9907,North along 105°W,N,9001,2 -4475,9906,North along 0°E,E,9001,1 -4475,9907,North along 90°W,N,9001,2 -4476,9906,North along 15°E,E,9001,1 -4476,9907,North along 75°W,N,9001,2 -4477,9906,North along 45°E,E,9001,1 -4477,9907,North along 45°W,N,9001,2 -4478,9906,North along 60°E,E,9001,1 -4478,9907,North along 30°W,N,9001,2 -4479,9906,North along 75°E,E,9001,1 -4479,9907,North along 15°W,N,9001,2 -4480,9906,North along 105°E,E,9001,1 -4480,9907,North along 15°E,N,9001,2 -4481,9906,North along 120°E,E,9001,1 -4481,9907,North along 30°E,N,9001,2 -4482,9906,North along 135°E,E,9001,1 -4482,9907,North along 45°E,N,9001,2 -4483,9906,North along 165°E,E,9001,1 -4483,9907,North along 75°E,N,9001,2 -4484,9906,North along 180°E,E,9001,1 -4484,9907,North along 90°E,N,9001,2 -4485,9906,North along 165°W,E,9001,1 -4485,9907,North along 105°E,N,9001,2 -4486,9906,North along 135°W,E,9001,1 -4486,9907,North along 135°E,N,9001,2 -4487,9906,North along 120°W,E,9001,1 -4487,9907,North along 150°E,N,9001,2 -4488,9906,North along 105°W,E,9001,1 -4488,9907,North along 165°E,N,9001,2 -4489,9906,North along 160°E,E,9001,1 -4489,9907,North along 70°E,N,9001,2 -4490,9906,North along 90°E,E,9001,1 -4490,9907,North along 0°E,N,9001,2 -4491,9907,north,N,9001,2 -4491,9908,west,W,9001,1 -4492,9913,North along 130°W,X,9001,1 -4492,9914,North along 140°E,Y,9001,2 -4493,9906,South along 90°E,E,9001,2 -4493,9907,South along 180°E,N,9001,1 -4494,9906,North along 90°E,E,9001,2 -4494,9907,North along 0°E,N,9001,1 -4495,9906,east,X,9002,1 -4495,9907,north,Y,9002,2 -4496,9906,east,E(X),9001,1 -4496,9907,north,N(Y),9001,2 -4497,9906,east,X,9003,1 -4497,9907,north,Y,9003,2 -4498,9906,east,Y,9001,1 -4498,9907,north,X,9001,2 -4499,9906,east,X,9001,1 -4499,9907,north,Y,9001,2 -4500,9906,east,E,9001,2 -4500,9907,north,N,9001,1 -4501,9907,north,N,9001,1 -4501,9908,west,E,9001,2 -4502,9906,east,E,9005,2 -4502,9907,north,N,9005,1 -4530,9906,east,Y,9001,2 -4530,9907,north,X,9001,1 -4531,9906,east,y,9001,2 -4531,9907,north,x,9001,1 -4532,9906,east,X,9001,2 -4532,9907,north,Y,9001,1 -4533,9906,east,Y,9098,2 -4533,9907,north,X,9098,1 -4534,9906,east,none,9001,2 -4534,9907,north,none,9001,1 -6401,9901,north,Lat,9108,1 -6401,9902,east,Long,9108,2 -6401,9903,up,h,9001,3 -6402,9901,north,Lat,9108,1 -6402,9902,east,Long,9108,2 -6403,9901,north,Lat,9105,1 -6403,9902,east,Lon,9105,2 -6404,9926,north,Lat,9122,1 -6404,9927,east,Long,9122,2 -6404,9928,up,R,9001,3 -6405,9901,north,Lat,9102,1 -6405,9902,east,Long,9102,2 -6406,9901,north,Lat,9116,1 -6406,9902,east,Long,9116,2 -6407,9901,north,Lat,9117,1 -6407,9902,east,Long,9117,2 -6408,9901,north,Lat,9115,1 -6408,9902,east,Long,9115,2 -6409,9901,north,Lat,9118,1 -6409,9902,east,Long,9118,2 -6410,9901,north,Lat,9119,1 -6410,9902,east,Long,9119,2 -6411,9901,north,Lat,9107,1 -6411,9902,east,Long,9107,2 -6412,9901,north,Lat,9120,1 -6412,9902,east,Long,9120,2 -6413,9901,north,Lat,9102,1 -6413,9902,east,Long,9102,2 -6413,9903,up,h,9001,3 -6414,9901,north,Lat,9116,1 -6414,9902,east,Long,9116,2 -6414,9903,up,h,9001,3 -6415,9901,north,Lat,9117,1 -6415,9902,east,Long,9117,2 -6415,9903,up,h,9001,3 -6416,9901,north,Lat,9115,1 -6416,9902,east,Long,9115,2 -6416,9903,up,h,9001,3 -6417,9901,north,Lat,9118,1 -6417,9902,east,Long,9118,2 -6417,9903,up,h,9001,3 -6418,9901,north,Lat,9119,1 -6418,9902,east,Long,9119,2 -6418,9903,up,h,9001,3 -6419,9901,north,Lat,9107,1 -6419,9902,east,Long,9107,2 -6419,9903,up,h,9001,3 -6420,9901,north,Lat,9120,1 -6420,9902,east,Long,9120,2 -6420,9903,up,h,9001,3 -6421,9901,north,Lat,9105,1 -6421,9902,east,Lon,9105,2 -6421,9903,up,h,9001,3 -6422,9901,north,Lat,9122,1 -6422,9902,east,Lon,9122,2 -6423,9901,north,Lat,9122,1 -6423,9902,east,Lon,9122,2 -6423,9903,up,h,9001,3 -6424,9901,north,Lat,9122,2 -6424,9902,east,Lon,9122,1 -6425,9901,north,Lat,9105,2 -6425,9902,east,Lon,9105,1 -6426,9901,north,Lat,9122,2 -6426,9902,east,Lon,9122,1 -6426,9903,up,h,9001,3 -6427,9901,north,Lat,9105,2 -6427,9902,east,Lon,9105,1 -6427,9903,up,h,9001,3 -6428,9901,north,Lat,9101,1 -6428,9902,east,Lon,9101,2 -6429,9901,north,Lat,9101,2 -6429,9902,east,Lon,9101,1 -6430,9901,north,Lat,9101,1 -6430,9902,east,Lon,9101,2 -6430,9903,up,h,9001,3 -6431,9901,north,Lat,9101,2 -6431,9902,east,Lon,9101,1 -6431,9903,up,h,9001,3 -6495,9905,down,D,9002,1 -6496,9904,up,H,9095,1 -6497,9904,up,H,9003,1 -6498,9905,down,D,9001,1 -6499,9904,up,H,9001,1 -6500,9910,Geocentre > equator/0°E,X,9001,1 -6500,9911,Geocentre > equator/90°E,Y,9001,2 -6500,9912,Geocentre > north pole,Z,9001,3 -6501,9908,west,Y,9001,2 -6501,9909,south,X,9001,1 -6502,9908,west,Y,9031,1 -6502,9909,south,X,9031,2 -6503,9908,west,Y,9001,1 -6503,9909,south,X,9001,2 -6504,9918,northeast,e,9001,2 -6504,9919,northwest,n,9001,1 -6505,9913,northwest,n,9001,1 -6505,9914,northeast,e,9001,2 -6506,9913,east-south-east,I,9205,1 -6506,9914,north-north-east,J,9204,2 -6507,9913,north,X,9001,1 -6507,9914,west,Y,9001,2 -6508,9920,east south east,I,9208,2 -6508,9921,north north east,J,9209,1 -6509,9908,west,M,9001,2 -6509,9909,south,P,9001,1 -6510,9918,northeast,x,9001,1 -6510,9919,northwest,y,9001,2 -6511,9922,Along receiver lines,I,9208,1 -6511,9923,Across receiver lines,J,9209,2 -6512,9916,up,z,9001,3 -6512,9918,east,x,9001,1 -6512,9919,north,y,9001,2 diff --git a/bin/gdal_data/cubewerx_extra.wkt b/bin/gdal_data/cubewerx_extra.wkt deleted file mode 100644 index f29a5ca5..00000000 --- a/bin/gdal_data/cubewerx_extra.wkt +++ /dev/null @@ -1,48 +0,0 @@ -# -# This file derived from the public_coordsys.txt file distributed with -# CubeSTOR by CubeWerx (http://www.cubewerx.com) -# -# OGC-defined "AUTO" codes -# http://www.digitalearth.gov/wmt/auto.html -# -# Hmm, not really much point to including these as they require extra -# substitutions. See the importFromWMSAUTO() if you need these. -# -#42001,PROJCS["WGS 84 / Auto UTM%s",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Decimal_Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["central_meridian","%.16g"],PARAMETER["latitude_of_origin",0],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing","%.16g"],UNIT["Meter",1],AUTHORITY["EPSG","42001"]] -#42002,PROJCS["WGS 84 / Auto Tr. Mercator",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Decimal_Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["central_meridian","%.16g"],PARAMETER["latitude_of_origin",0],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing","%.16g"],UNIT["Meter",1],AUTHORITY["EPSG","42002"]] -#42003,PROJCS["WGS 84 / Auto Orthographic",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Decimal_Degree",0.0174532925199433]],PROJECTION["Orthographic"],PARAMETER["central_meridian","%.16g"],PARAMETER["latitude_of_origin","%.16g"],UNIT["Meter",1],AUTHORITY["EPSG","42003"]] -#42004,PROJCS["WGS 84 / Auto Equirectangular",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Decimal_Degree",0.0174532925199433]],PROJECTION["Equirectangular"],PARAMETER["central_meridian",0],PARAMETER["latitude_of_origin",0],PARAMETER["standard_parallel_1","%.16g"],UNIT["Meter",1],AUTHORITY["EPSG","42004"]] -# -# OGC-defined extended codes (41000--41999) -# see http://www.digitalearth.gov/wmt/auto.html -# -41001,PROJCS["WGS84 / Simple Mercator",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Decimal_Degree",0.0174532925199433]],PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1],AUTHORITY["EPSG","41001"]] -# -# CubeWerx-defined extended codes (42100--42199) -# -42101,PROJCS["WGS 84 / LCC Canada",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Decimal_Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["central_meridian",-95.0],PARAMETER["latitude_of_origin",0],PARAMETER["standard_parallel_1",49.0],PARAMETER["standard_parallel_2",77.0],PARAMETER["false_easting",0.0],PARAMETER["false_northing",-8000000.0],UNIT["Meter",1],AUTHORITY["EPSG","42101"]] -#EPSG:42102,"PROJCS[\"NAD83 / BC Albers\",GEOGCS[\"NAD83\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS_1980\",6378137,298.257222101]],PRIMEM[\"Greenwich\",0],UNIT[\"Decimal_Degree\",0.0174532925199433]],PROJECTION[\"Albers_conic_equal_area\"],PARAMETER[\"central_meridian\",-126.0],PARAMETER[\"latitude_of_origin\",45],PARAMETER[\"standard_parallel_1\",50.0],PARAMETER[\"standard_parallel_2\",58.5],PARAMETER[\"false_easting\",1000000.0],PARAMETER[\"false_northing\",0],UNIT[\"Meter\",1]]" -42103,PROJCS["WGS 84 / LCC USA",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS_1978",6378135,298.26]],PRIMEM["Greenwich",0],UNIT["Decimal_Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["central_meridian",-100.0],PARAMETER["latitude_of_origin",0],PARAMETER["standard_parallel_1",33.0],PARAMETER["standard_parallel_2",45.0],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],UNIT["Meter",1],AUTHORITY["EPSG","42103"]] -42104,PROJCS["NAD83 / MTM zone 8 Quebec",GEOGCS["GRS80",DATUM["GRS_1980",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Decimal_Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-73.5],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",304800],PARAMETER["false_northing",0],UNIT["Meter",1],AUTHORITY["EPSG","42104"]] -42105,PROJCS["WGS84 / Merc NorthAm",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Decimal_Degree",0.0174532925199433]],PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-96],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1],AUTHORITY["EPSG","42105"]] -42106,PROJCS["WGS84 / Lambert Azim Mozambique",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["Sphere_radius_6370997_m",6370997,0]],PRIMEM["Greenwich",0],UNIT["Decimal_Degree",0.0174532925199433]],PROJECTION["Lambert_Azimuthal_equal_area"],PARAMETER["latitude_of_origin",5],PARAMETER["central_meridian",20],PARAMETER["standard_parallel_1",5],PARAMETER["standard_parallel_2",5],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1],AUTHORITY["EPSG","42106"]] -# -# CubeWerx-customer definitions (42300--42399) -# -42301,PROJCS["NAD27 / Polar Stereographic / CM=-98",GEOGCS["NAD27",DATUM["North_American_Datum_1927",SPHEROID["Clarke 1866",6378206.4,294.978698213901]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Stereographic"],PARAMETER["latitude_of_origin",90],PARAMETER["central_meridian",-98.0],PARAMETER["standard_parallel_1",90],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1],AUTHORITY["EPSG","42301"]] -42302,PROJCS["JapanOrtho.09 09",GEOGCS["Lon/Lat.Tokyo Datum",DATUM["Tokyo Datum",SPHEROID["anon",6377397.155,299.15281310608]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["Central_Meridian",139.833333333333],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Latitude_of_Origin",36],PARAMETER["Scale_Factor",0.9999],UNIT["Meter",1],AUTHORITY["EPSG","42302"]] -42303,PROJCS["NAD83 / Albers NorthAm",GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Decimal_Degree",0.0174532925199433]],PROJECTION["Albers_conic_equal_area"],PARAMETER["central_meridian",-96.0],PARAMETER["latitude_of_origin",23],PARAMETER["standard_parallel_1",29.5],PARAMETER["standard_parallel_2",45.5],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1],AUTHORITY["EPSG","42303"]] -42304,PROJCS["NAD83 / NRCan LCC Canada",GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Decimal_Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["central_meridian",-95.0],PARAMETER["latitude_of_origin",49.0],PARAMETER["standard_parallel_1",49.0],PARAMETER["standard_parallel_2",77.0],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],UNIT["Meter",1],AUTHORITY["EPSG","42304"]] -42305,PROJCS["France_II",GEOGCS["GCS_NTF_Paris",DATUM["Nouvelle_Triangulation_Francaise",SPHEROID["Clarke_1880_IGN",6378249.2,293.46602]],PRIMEM["Paris",2.337229166666667],UNIT["degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",2200000],PARAMETER["Central_Meridian",0],PARAMETER["Standard_Parallel_1",45.898918964419],PARAMETER["Standard_Parallel_2",47.696014502038],PARAMETER["Latitude_Of_Origin",46.8],UNIT["Meter",1],AUTHORITY["EPSG","42305"]] -42306,PROJCS["NAD83/QC_LCC",GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Decimal_Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["central_meridian",-68.5],PARAMETER["latitude_of_origin",44],PARAMETER["standard_parallel_1",46],PARAMETER["standard_parallel_2",60],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],UNIT["Meter",1],AUTHORITY["EPSG","42306"]] -42307,PROJCS["NAD83 / Texas Central - feet",GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS 1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",31.8833333333333],PARAMETER["standard_parallel_2",30.1166666666667],PARAMETER["latitude_of_origin",29.6666666666667],PARAMETER["central_meridian",-100.333333333333],PARAMETER["false_easting",2296583.33333333333333],PARAMETER["false_northing",9842500],UNIT["US_Foot",0.30480060960121924],AUTHORITY["EPSG","42307"]] -42308,PROJCS["NAD27 / California Albers",GEOGCS["NAD27",DATUM["North_American_Datum_1927",SPHEROID["Clarke 1866",6378206.4,294.978698213901]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Albers_conic_equal_area"],PARAMETER["central_meridian",-120.0],PARAMETER["latitude_of_origin",0],PARAMETER["standard_parallel_1",34],PARAMETER["standard_parallel_2",40.5],PARAMETER["false_easting",0],PARAMETER["false_northing",-4000000],UNIT["Meter",1],AUTHORITY["EPSG","42308"]] -42309,PROJCS["NAD 83 / LCC Canada AVHRR-2",GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS 1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["central_meridian",-95.0],PARAMETER["latitude_of_origin",0],PARAMETER["standard_parallel_1",49.0],PARAMETER["standard_parallel_2",77.0],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],UNIT["Meter",1],AUTHORITY["EPSG","42309"]] -42310,PROJCS["WGS84+GRS80 / Mercator",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["GRS 1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Decimal_Degree",0.0174532925199433]],PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1],AUTHORITY["EPSG","42310"]] -42311,PROJCS["NAD83 / LCC Statcan",GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Decimal_Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["central_meridian",-91.866667],PARAMETER["latitude_of_origin",63.390675],PARAMETER["standard_parallel_1",49],PARAMETER["standard_parallel_2",77],PARAMETER["false_easting",6200000],PARAMETER["false_northing",3000000],UNIT["Meter",1],AUTHORITY["EPSG","42311"]] -# -# BC-Forestry/NFIS code -# -100001,GEOGCS["NAD83 / NFIS Seconds",DATUM["North_American_Datum_1983",SPHEROID["GRS 1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Decimal_Second",4.84813681109536e-06],AUTHORITY["EPSG","100001"]] -100002,PROJCS["NAD83 / Austin",GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS 1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",31.8833333333333],PARAMETER["standard_parallel_2",30.1166666666667],PARAMETER["latitude_of_origin",29.6666666666667],PARAMETER["central_meridian",-100.333333333333],PARAMETER["false_easting",2296583.333333],PARAMETER["false_northing",9842500.0000000],UNIT["Meter",1],AUTHORITY["EPSG","100002"]] -900913,PROJCS["Google Maps Global Mercator",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Mercator_2SP"],PARAMETER["standard_parallel_1",0],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1],EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"]] diff --git a/bin/gdal_data/datum_shift.csv b/bin/gdal_data/datum_shift.csv deleted file mode 100644 index aa19e2c6..00000000 --- a/bin/gdal_data/datum_shift.csv +++ /dev/null @@ -1,836 +0,0 @@ -"SEQ_KEY","COORD_OP_CODE","SOURCE_CRS_CODE","TARGET_CRS_CODE","REMARKS","COORD_OP_SCOPE","AREA_OF_USE_CODE","AREA_SOUTH_BOUND_LAT","AREA_NORTH_BOUND_LAT","AREA_WEST_BOUND_LON","AREA_EAST_BOUND_LON","SHOW_OPERATION","DEPRECATED","COORD_OP_METHOD_CODE","DX","DY","DZ","RX","RY","RZ","DS","PREFERRED" -1,1825,4611,4326,Published 1st March 2002.,Accuracy to 1m level.,1118,22.13,22.58,113.76,114.51,1,0,9606,-162.619,-276.959,-161.764,0.067753,-2.243649,-1.158827,-1.094246,1 -2,1826,4612,4326,,"Approximation at the +/- 1m level.",1129,17.09,46.05,122.38,157.65,1,0,9603,0,0,0,,,,,1 -3,1838,4613,4326,Datum shift derived through ITRF93.,Oil exploration.,1328,-1.24,0,116.72,117.99,1,0,9603,-404.78,685.68,45.47,,,,,0 -4,1897,4613,4326,Accuracy estimate not available.,For military purposes.,1360,-4.24,4.29,114.55,119.06,1,0,9603,-403,684,41,,,,,1 -5,1898,4613,4326,,Oil exploration.,1359,-4.24,0,114.55,117.99,1,0,9603,-387.06,636.53,46.29,,,,,0 -6,1899,4613,4326,,Oil exploration.,2770,-0.07,4.29,116.96,119.06,1,0,9603,-403.4,681.12,46.56,,,,,0 -7,1840,4614,4326,"Transformation defines QND95. May be approximated to 1m throughout Qatar by geocentric translation transformation with dX=-127.78098m, dY=-283.37477m, dZ=+21.24081m.",Parameter values are defined and therefore exact.,1346,24.55,26.2,50.69,51.68,1,0,9606,-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,3.657065,1 -8,1888,4615,4326,Derived at 2 stations.,For military purposes only. Accuracy 25m in each axis.,1314,32.35,33.15,-17.31,-16.23,1,0,9603,-499,-249,314,,,,,1 -9,1889,4616,4326,Derived at 1 station.,For military purposes only. Accuracy 25m in each axis.,2779,29.98,30.21,-16.11,-15.79,1,1,9603,-289,-124,60,,,,,0 -10,1965,4616,4326,Derived at 1 station.,For military purposes only. Accuracy 25m in each axis.,2779,29.98,30.21,-16.11,-15.79,1,0,9603,-289,-124,60,,,,,1 -11,1842,4617,4326,"For many purposes NAD83(CSRS) can be considered to be coincident with WGS 84.","Approximation at the +/- 1m level assuming that NAD83(CSRS) is equivalent to WGS 84.",1061,40.04,86.46,-141.01,-47.74,1,0,9603,0,0,0,,,,,1 -12,1946,4617,4326,"Approximation derived from tfm code 6864 ignoring time-dependent parameters and assuming ITRF96(1997.0) and WGS 84 can be considered the same within the accuracy of the transformation.",Geodesy.,1061,40.04,86.46,-141.01,-47.74,1,0,9607,-0.991,1.9072,0.5129,-0.02578991,-0.00965010,-0.0116599,0,0 -13,1864,4618,4326,Derived at 84 stations.,"For military purposes only. Accuracy 15m, 6m and 9m in X, Y and Z axes.",4016,-45,12.52,-81.41,-34.74,1,0,9603,-57,1,-41,,,,,0 -14,1865,4618,4326,"Derived at 10 stations. Note: SAD69 not adopted in Argentina: see Campo Inchauspe (CRS code 4221).",For military purposes only. Accuracy 5m in each axis.,3215,-52.43,-21.78,-73.59,-53.65,1,0,9603,-62,-1,-37,,,,,0 -15,1866,4618,4326,"Derived at 4 stations. Note: SAD69 not adopted in Bolivia: see PSAD56 (CRS code 4248).",For military purposes. Accuracy 15m in each axis.,1049,-22.91,-9.67,-69.66,-57.52,1,0,9603,-61,2,-48,,,,,0 -16,1867,4618,4326,Derived at 22 stations.,"For military purposes only. Accuracy 3m, 5m and 5m in X, Y and Z axes.",3887,-33.78,4.43,-60.58,-34.74,1,0,9603,-60,-2,-41,,,,,0 -17,1868,4618,4326,"Derived at 9 stations. Note: SAD69 not adopted in Chile north of 43°30'S. Replaced by SAD69 to WGS 84 (17) to (19) (codes 6974, 6975 and 6976).","For military purposes only. Accuracy 15m, 8m and 11m in X, Y and Z axes.",3227,-45,-17.5,-75.22,-67,1,0,9603,-75,-1,-44,,,,,0 -18,1869,4618,4326,"Derived at 7 stations. Note: SAD69 not adopted in Colombia: see Bogota 1975 (CRS code 4218).","For military purposes only. Accuracy 6m, 6m and 5m in X, Y and Z axes.",3229,-4.23,12.52,-79.1,-66.87,1,0,9603,-44,6,-36,,,,,0 -19,1870,4618,4326,"Derived at 11 stations. Note: SAD69 not adopted in Ecuador: see PSAD56 (CRS code 4248).",For military purposes. Accuracy 3m in each axis.,3241,-5.01,1.45,-81.03,-75.21,1,0,9603,-48,3,-44,,,,,0 -20,1871,4618,4326,"Derived at 1 station. Note: SAD69 not adopted in Ecuador.",For military purposes. Accuracy 25m in each axis.,2356,-1.41,0.18,-91.72,-89.19,1,0,9603,-47,26,-42,,,,,0 -21,1872,4618,4326,"Derived at 5 stations. Note: SAD69 not adopted in Guyana.","For military purposes only. Accuracy 9m, 5m and 5m in X, Y and Z axes.",3259,1.18,8.58,-61.39,-56.47,1,0,9603,-53,3,-47,,,,,0 -22,1873,4618,4326,"Derived at 4 stations. Note: SAD69 not adopted in Paraguay.",For military purposes. Accuracy 15m in each axis.,1188,-27.59,-19.29,-62.65,-54.24,1,0,9603,-61,2,-33,,,,,0 -23,1874,4618,4326,"Derived at 6 stations. Note: SAD69 not adopted in Peru: see PSAD56 (CRS code 4248).",For military purposes. Accuracy 5m in each axis.,3292,-18.35,-0.03,-81.41,-68.67,1,0,9603,-58,0,-44,,,,,0 -24,1875,4618,4326,"Derived at 1 station. Note: SAD69 not adopted in Trinidad and Tobago.",For military purposes only. Accuracy 25m in each axis.,3143,9.99,10.9,-61.97,-60.86,1,0,9603,-45,12,-33,,,,,0 -25,1876,4618,4326,"Derived at 5 stations. Note: SAD69 not adopted in Venezuela: see PSAD56 (CRS code 4248).","For military purposes only. Accuracy 3m, 6m and 3m in X, Y and Z axes.",3327,0.64,12.25,-73.38,-59.8,1,0,9603,-45,8,-33,,,,,0 -26,1877,4618,4326,"Derived by Brazilian Institute of Geography and Statistics (IBGE) in 1989 at Chua origin point. In use by Shell throughout Brazil. For use by Petrobras and ANP, replaced by tfm code 5882 from 1994.",Medium and small scale mapping. Valid for transforming GPS observations conducted in the period 1987 to 1993 inclusive.,1053,-35.71,7.04,-74.01,-25.28,1,0,9603,-66.87,4.37,-38.52,,,,,1 -27,5882,4618,4326,"Parameter values from SAD69 to SIRGAS 2000 (1) (tfm code 15485) assuming that SIRGAS 2000 and WGS 84 are equal within the accuracy of the transformation. Used by ANP and Petrobras throughout Brazil from 1994, replacing use of tfm code 1877.","Accuracy generally better than 1m except in Amazon basin where it degenerates to 5m. Should be used only to transform data obtained independently of the classical geodetic network (GPS observations conducted after 1994).",1053,-35.71,7.04,-74.01,-25.28,1,0,9603,-67.35,3.88,-38.22,,,,,0 -28,6967,4618,4326,"Also used as a transformation from SAD69 to WGS 84 - see code 6974. Note: SAD69 adopted in Chile only south of 43°30'S.",Small and medium scale cartographic mapping.,4232,-32,-17.5,-71.77,-67,1,1,9603,-59,-11,-52,,,,,0 -29,6969,4618,4326,"Also used as a transformation from SAD69 to WGS 84 - see code 6976. Note: SAD69 adopted in Chile only south of 43°30'S.",Small and medium scale cartographic mapping.,4221,-43.5,-35.99,-74.48,-70.39,1,1,9603,-72,10,-32,,,,,0 -30,6974,4618,4326,"Derived at 8 stations. Along with transformations 6975 and 6976, replaces SAD69 to WGS 84 (5) (code 1868). Also used as a transformation from SAD69 to SIRGAS-Chile - see code 7448. Note: SAD69 adopted by Chile authorities only south of 43°30'S.",For military purposes only. Accuracy 2m in each axis.,4232,-32,-17.5,-71.77,-67,1,0,9603,-59,-11,-52,,,,,0 -31,6975,4618,4326,"Derived at 6 stations. Along with transformations 6974 and 6976, replaces SAD69 to WGS 84 (5) (code 1868). Also used as a transformation from SAD69 to SIRGAS-Chile - see code 6968. Note: SAD69 adopted by Chile authorities only south of 43°30'S.",For military purposes only. Accuracy 2m in each axis.,4224,-36,-31.99,-72.87,-69.77,1,0,9603,-64,0,-32,,,,,0 -32,6976,4618,4326,"Derived at 4 stations. Along with transformations 6974 and 6975, replaces SAD69 to WGS 84 (5) (code 1868). Also used as a transformation from SAD69 to SIRGAS-Chile - see code 7449. Note: SAD69 adopted by Chile authorities only south of 43°30'S.",For military purposes only. Accuracy 4m in each axis.,4221,-43.5,-35.99,-74.48,-70.39,1,0,9603,-72,10,-32,,,,,0 -33,6977,4618,4326,"Derived at 6 stations. Also used as a transformation from SAD69 to SIRGAS-Chile - see code 6970. Unlike IGM Chile, NGA extends use of this tfm to all Chile south of 44°S.","For military purposes only. Accuracy 3m, 3m and 4m in X, Y and Z axes.",2805,-55.96,-51.99,-74.83,-66.33,1,0,9603,-79,13,-14,,,,,0 -34,1879,4619,4326,"Parameter values taken from SWEREF to ETRS89 (1) (code 1878) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation.",Geographic Information Systems.,1225,54.96,69.07,10.03,24.17,1,0,9603,0,0,0,,,,,1 -35,1880,4620,4326,Derived at one point in each of Burkina Faso and Niger.,For military purposes. Accuracy 25m in each axis.,2791,11.83,14.23,-4.64,4,1,0,9603,-106,-129,165,,,,,1 -36,1903,4621,4326,,"Accuracy +/- 10 metres.",2828,17.82,18.17,-63.21,-62.73,1,0,9603,137,248,-430,,,,,1 -37,1904,4622,4326,,"Accuracy +/- 10 metres.",2829,15.8,16.55,-61.85,-60.97,1,0,9603,-467,-16,-300,,,,,1 -38,1905,4622,4326,,"Accuracy +/- 0.1 metre.",2829,15.8,16.55,-61.85,-60.97,1,0,9606,-472.29,-5.63,-304.12,0.4362,-0.8374,0.2563,1.8984,0 -39,1906,4623,4326,,"Accuracy +/- 10 metres.",3105,3.43,5.81,-54.45,-51.61,1,0,9603,-186,230,110,,,,,1 -40,1907,4624,4326,,"Accuracy +/- 2 metres.",1097,2.11,8.88,-54.6,-49.46,1,1,9603,2,2,-2,,,,,0 -41,4840,4624,4326,"Replaces RGFG95 to WGS 84 (1) (code 1907) which was not put into official use but issued in error.","Accuracy +/- 2 metres.",1097,2.11,8.88,-54.6,-49.46,1,0,9603,0,0,0,,,,,1 -42,1909,4625,4326,,"Accuracy +/- 10 metres.",3276,14.35,14.93,-61.29,-60.76,1,0,9603,186,482,151,,,,,1 -43,1910,4625,4326,,"Accuracy +/- 0.1 metre.",3276,14.35,14.93,-61.29,-60.76,1,0,9606,126.93,547.94,130.41,-2.7867,5.1612,-0.8584,13.8227,0 -44,1911,4626,4326,Derived at 1 station.,"Accuracy +/- 30 metres.",1196,-25.92,-10.6,37.58,58.27,1,1,9603,94,-948,-1292,,,,,0 -45,15751,4626,4326,Derived at 1 station.,For military purposes. Accuracy 25m in each axis.,3337,-21.42,-20.81,55.16,55.91,1,0,9603,94,-948,-1262,,,,,1 -46,1912,4627,4326,,"Accuracy +/- 1 metre.",3902,-24.72,-18.28,51.83,58.24,1,0,9603,0,0,0,,,,,1 -47,1924,4628,4326,,"Accuracy +/- 10 metres.",2811,-17.93,-17.41,-150,-149.11,1,0,9603,162,117,154,,,,,1 -48,1913,4629,4326,,"Accuracy +/- 10 metres.",2812,-16.96,-16.17,-151.91,-150.89,1,0,9603,65,342,77,,,,,0 -49,15770,4629,4326,"Approximation at the +/- 1m level assuming that RGPF is equivalent to WGS 84. Parameter values taken from Tahaa 54 to RGPF (1) (tfm code 15758).","Accuracy +/- 1 metre.",2812,-16.96,-16.17,-151.91,-150.89,1,0,9607,72.438,345.918,79.486,-1.6045,-0.8823,-0.5565,1.3746,1 -50,1914,4630,4326,,"Accuracy +/- 10 metres.",3129,-9.57,-8.72,-140.31,-139.44,1,0,9603,84,274,65,,,,,1 -51,15775,4630,4326,"Approximation at the +/- 1m level assuming that RGPF is equivalent to WGS 84. Parameter values taken from IGN72 Nuku Hiva to RGPF (1) (tfm code 15763).","Accuracy +/- 1 metre.",2810,-9.01,-8.72,-140.31,-139.96,1,0,9607,165.732,216.72,180.505,-0.6434,-0.4512,-0.0791,7.4204,0 -52,15776,4630,4326,"Approximation at the +/- 1m level assuming that RGPF is equivalent to WGS 84. Parameter values taken from IGN72 Nuku Hiva to RGPF (2) (tfm code 15764).","Accuracy +/- 2 metres.",3127,-9,-8.81,-139.66,-139.44,1,0,9607,1363.785,1362.687,398.811,-4.5322,-6.7579,-1.0574,268.361,0 -53,15777,4630,4326,"Approximation at the +/- 1m level assuming that RGPF is equivalent to WGS 84. Parameter values taken from IGN72 Nuku Hiva to RGPF (2) (tfm code 15765).","Accuracy +/- 1 metre.",3128,-9.57,-9.27,-140.21,-139.95,1,0,9607,259.551,297.612,197.833,1.4866,2.1224,0.4612,27.0249,0 -54,1915,4631,4326,"Also published in US NIMA/NGA TR8350.2 which gives accuracy of +/-25m in each axis and states that derived at one station.","Accuracy +/- 10 metres.",2816,-49.78,-48.6,68.69,70.62,1,1,9603,145,-187,103,,,,,0 -55,1916,4632,4326,,"Accuracy +/- 10 metres.",3340,-13.05,-12.61,44.98,45.35,1,0,9603,-382,-59,-262,,,,,1 -56,1272,4121,4326,,For applications requiring 1m or better accuracy.,3254,34.88,41.75,19.57,28.3,1,0,9603,-199.87,74.79,246.62,,,,,1 -57,1918,4634,4326,,"Accuracy +/- 10 metres.",1174,-26.45,-14.83,156.25,174.28,1,1,9603,-13,-348,292,,,,,0 -58,1929,4634,4326,,"Accuracy better than +/- 1 metre.",2822,-22.45,-20.03,163.92,167.09,1,1,9606,97.295,-263.247,310.882,-1.5999,0.8386,3.1409,13.3259,0 -59,1639,4123,4326,"Parameter values from KKJ to ETRS89 (1) (code 1638). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation. Replaced by KKJ to WGS 84 (2) (code 10099).",For applications to an accuracy of 1 to 2 metres.,3333,59.75,70.09,19.24,31.59,1,0,9606,-90.7,-106.1,-119.2,4.09,0.218,-1.05,1.37,0 -60,10099,4123,4326,"Parameter values from KKJ to ETRS89 (2) (code 10098). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation. Replaces KKJ to WGS 84 (1) (code 1639).",For applications to an accuracy of 1 to 2 metres.,3333,59.75,70.09,19.24,31.59,1,0,9607,-96.062,-82.428,-121.753,-4.801,-0.345,1.376,1.496,1 -61,1680,4124,4326,"Parameter values from RT90 to ETRS89 (1) (code 1437) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. Replaced by RT90 to WGS 84 (2) (code 1896) from 2001.","Approximation at the +/- 1m level.",1225,54.96,69.07,10.03,24.17,1,0,9607,419.3836,99.3335,591.3451,-0.850389,-1.817277,7.862238,-0.99496,0 -62,1788,4124,4326,"Parameter values from RT90 to ETRS89 (1) (code 1787) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. Supersedes RT90 to WGS 84 (1) (code 1680).","Approximation at the +/- 1m level.",1225,54.96,69.07,10.03,24.17,1,1,9607,414.1,41.3,603.1,-0.855,2.141,-7.023,0,0 -63,1896,4124,4326,"Parameter values from RT90 to SWEREF99 (1) (code 1895) assuming that SWEREF99 is equivalent to WGS 84 within the accuracy of the transformation. Replaces RT90 to WGS 84 (1) (code 1680).","Approximation at the +/- 1m level.",1225,54.96,69.07,10.03,24.17,1,0,9607,414.1,41.3,603.1,0.855,-2.141,7.023,0,1 -64,1282,4125,4326,Datum shift derived through ITRF93.,Oil exploration.,1328,-1.24,0,116.72,117.99,1,1,9603,-404.78,685.68,45.47,,,,,0 -65,1923,4638,4326,,"Accuracy +/- 10 metres.",3299,46.69,47.19,-56.48,-56.07,1,0,9603,30,430,368,,,,,1 -66,1683,4127,4326,"Parameter values taken from Tete to Moznet (1) (code 1297) assuming that Moznet is equivalent to WGS 84 within the accuracy of the transformation.",Residuals as high as 30 metres.,3281,-26.87,-10.42,30.21,40.9,1,0,9607,-115.064,-87.39,-101.716,0.058,-4.001,2.062,9.366,0 -67,1684,4127,4326,"Parameter values taken from Tete to Moznet (2) (code 1298) assuming that Moznet is equivalent to WGS 84 within the accuracy of the transformation.",Residuals are generally under 1 metre.,2350,-26.87,-23.91,31.91,34.5,1,0,9607,-82.875,-57.097,-156.768,2.158,-1.524,0.982,-0.359,0 -68,1685,4127,4326,"Parameter values taken from Tete to Moznet (3) (code 1299) assuming that Moznet is equivalent to WGS 84 within the accuracy of the transformation.",Residuals are generally under 4 metres.,2351,-24.91,-19.74,31.29,35.65,1,0,9607,-138.527,-91.999,-114.591,0.14,-3.363,2.217,11.748,0 -69,1686,4127,4326,"Parameter values taken from Tete to Moznet (4) (code 1300) assuming that Moznet is equivalent to WGS 84 within the accuracy of the transformation.",Residuals are generally under 3 metres.,2352,-19.91,-14.01,30.21,39.18,1,0,9607,-73.472,-51.66,-112.482,-0.953,-4.6,2.368,0.586,0 -70,1687,4127,4326,"Parameter values taken from Tete to Moznet (5) (code 1301) assuming that Moznet is equivalent to WGS 84 within the accuracy of the transformation.",Residuals are 5-10 metres.,2353,-16.94,-10.42,34.36,40.9,1,0,9607,219.315,168.975,-166.145,-0.198,-5.926,2.356,-57.104,0 -71,6901,4127,4326,Derived at 4 stations.,For military purposes. Accuracy 10m in each axis.,3281,-26.87,-10.42,30.21,40.9,1,0,9603,-80,-100,-228,,,,,1 -72,1934,4640,4326,RRAF 1991 was defined to be WGS84 at a single point in Martinique during the 1988 Tango mission.,"Accuracy +/- 1 metre.",2824,14.08,18.54,-63.66,-57.52,1,1,9603,0,0,0,,,,,0 -73,1928,4641,4326,Withdrawn by information source and replaced by improved information - see tfm code 15901.,"Accuracy better than +/- 1 metre.",2819,-21.71,-21.32,167.75,168.19,1,0,9606,-408.809,366.856,-412.987,1.8842,-0.5308,2.1655,-121.0993,0 -74,15901,4641,4326,"Parameter values taken from IGN53 Mare to RGNC91-93 (1) ( code 15884) assuming that RGNC91-93 is equivalent to WGS 84 to within the accuracy of the transformation.",Accuracy 2 metres.,2819,-21.71,-21.32,167.75,168.19,1,0,9603,287.58,177.78,-135.41,,,,,1 -75,15783,4641,4326,Withdrawn by information source and replaced by improved information from local authority - see tfm code 15901.,Accuracy 5 metres.,2819,-21.71,-21.32,167.75,168.19,1,0,9603,287,178,-136,,,,,0 -76,1302,4130,4326,,For many purposes Moznet can be considered to be coincident with WGS 84. Accuracy better than 1 metre.,1167,-27.71,-10.09,30.21,43.03,1,0,9607,0,0,0,0,0,0,0,1 -77,1542,4131,4326,Derived at 2 stations.,For military purposes. Accuracy 25m in each axis.,2359,14,18,105.61,109.32,1,0,9603,198,881,317,,,,,1 -78,1543,4131,4326,Derived at 1 station.,For military purposes. Accuracy 25m in each axis.,2360,8.58,8.83,106.49,106.79,1,0,9603,182,915,344,,,,,0 -79,1513,4132,4326,Derived in 1998 in Kangan district by Geoid for Total. Used for South Pars phases 2 and 3.,Oil exploration.,2362,27.3,28.2,51.8,53.01,1,0,9603,-241.54,-163.64,396.06,,,,,1 -80,1854,4132,4326,Derived by Geoid for Elf in 1999. EGM96 geoid used.,Oil Exploration,2782,26.21,26.87,52.49,53.43,1,0,9603,-239.1,-170.02,397.5,,,,,0 -81,1855,4132,4326,Derived by Geoid for Elf in 1999. EGM96 geoid used.,Oil Exploration,2781,29.16,29.39,50.22,50.42,1,0,9603,-244.72,-162.773,400.75,,,,,0 -82,1333,4133,4326,,"?",3246,57.52,59.75,21.74,28.2,1,0,9607,0.055,-0.541,-0.185,-0.0183,0.0003,0.007,-0.014,1 -83,1439,4134,4326,"Replaced PSD93 to WGS 84 (2) (code 8581) in 1997.","Oil exploration. Residuals 0.5m at 67% probability level.",3288,16.59,26.58,51.99,59.91,1,0,9606,-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006,1 -84,1617,4134,4326,Accuracy better than 0.5m in block 4.,Oil exploration.,2404,19.58,21.17,56.5,59.02,1,0,9606,-191.808,-250.512,167.861,-0.792,-1.653,8.558,20.703,0 -85,15824,4135,4326,Derived at 15 satellite stations.,"Military mapping. Accuracy +/- 25m in X axis, +/- 20m in Y and Z axes.",1334,18.87,22.29,-160.3,-154.74,1,0,9603,61,-285,-181,,,,,1 -86,15825,4135,4326,Derived at 2 satellite stations.,"Military mapping. Accuracy +/- 25m in each axis.",1546,18.87,20.33,-156.1,-154.74,1,0,9603,89,-279,-183,,,,,0 -87,15826,4135,4326,Derived at 3 satellite stations.,"Military mapping. Accuracy +/- 20m in each axis.",1549,21.81,22.29,-159.85,-159.23,1,0,9603,45,-290,-172,,,,,0 -88,15827,4135,4326,Derived at 2 satellite stations.,"Military mapping. Accuracy +/- 25m in each axis.",1547,20.45,21.26,-157.36,-155.93,1,0,9603,65,-290,-190,,,,,0 -89,15828,4135,4326,Derived at 8 satellite stations.,"Military mapping only. Accuracy +/- 10m in X axis, +/- 6m in Y and Z axes.",1548,21.2,21.75,-158.33,-157.61,1,0,9603,58,-283,-182,,,,,0 -90,6208,6207,4326,Derived at 11 points.,"Topographic mapping. Accuracy 0.26m (1-sigma).",1171,26.36,30.43,80.05,88.2,1,0,9603,293.17,726.18,245.36,,,,,1 -91,1893,4139,4326,Derived at 11 stations.,For military purposes only. Accuracy 3m in each axis.,1335,17.62,18.78,-67.97,-64.25,1,0,9603,11,72,-101,,,,,1 -92,1473,4140,4326,"For many purposes NAD83(CSRS98) can be considered to be coincident with WGS 84.","Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.",1336,44.61,62.56,-120,-57.1,1,1,9603,0,0,0,,,,,0 -93,1073,4141,4326,For more accurate transformation contact Survey of Israel.,"Accuracy: 2m",2603,29.45,33.28,34.17,35.69,1,0,9603,-48,55,52,,,,,1 -94,1469,4142,4326,,"?",2282,5.15,5.54,-4.22,-3.85,1,0,9603,-125,53,467,,,,,1 -95,1470,4143,4326,"Derived in Abidjan for use in the immediate area, but used by E&P industry more widely onshore and offshore. A similar transformation (tfm code 6872) was used by Western Geophysical for offshore surveys in the 1990s.",Accuracy is submetre in the area around Abidjan but unknown farther afield. There is some evidence of unknown reliability that suggests accuracy of better than 2m throughout offshore.,1075,1.02,10.74,-8.61,-2.48,1,0,9603,-124.76,53,466.79,,,,,1 -96,6872,4143,4326,"Derived and used by Western Geophysical for offshore surveys in the 1990s, but exact provenance uncertain. Used by OMV.",Accuracy uncertain but there is some evidence of unknown reliability that suggests accuracy of better than 2m throughout offshore.,2296,1.02,5.19,-7.55,-3.11,1,0,9603,-123.1,53.2,465.4,,,,,0 -97,1155,4144,4326,Derived at 6 stations.,"For military purposes. Accuracy 10m, 8m and 12m in X, Y and Z axes.",3217,20.52,26.63,88.04,92.67,1,0,9603,282,726,254,,,,,0 -98,1533,4144,4326,,Oil exploration.,2361,9.48,17.87,93.94,99.66,1,0,9603,214,804,268,,,,,1 -99,1247,4145,4326,"Care! DMA ellipsoid is inconsistent with EPSG ellipsoid - transformation parameter values may not be appropriate. No accuracy estimate available.",For military purposes.,3289,23.64,37.07,60.86,77.83,1,0,9603,283,682,231,,,,,1 -100,15701,4145,4326,Derived at Geodetic Survey office in Karachi in 1997.,Oil exploration.,2985,21.05,25.39,64,68.24,1,0,9603,275.57,676.78,229.6,,,,,0 -101,15702,4145,4326,"Derived at station S0001, an approximate offset to Survey of India primary station Kat Baman, in 1992 from 180 single point Transit passes observed in 1991 by Fugro-Geodetic for UTP.",Oil exploration.,2984,24,25.64,67.74,69.87,1,0,9603,278.9,684.39,226.05,,,,,0 -102,15703,4145,4326,Derived at Chitrawala triangulation station by Fugro-Geodetic for UTP.,Oil exploration.,2982,24.69,25.76,66.83,68,1,0,9603,271.905,669.593,231.495,,,,,0 -103,15704,4145,4326,Derived by Western Geophysical for UTP 1996 East Sind 2D survey.,Oil exploration.,2983,24.16,28.61,68.27,71.11,1,0,9606,230.25,632.76,161.03,-1.114,1.115,1.212,12.584,0 -104,15494,4145,4326,Derived by Fugro-Geodetic in 2004 at 6 closely-spaced stations. Used by OMV in all blocks in Pakistan where operator.,Oil exploration.,3589,25.88,27.67,68.24,69.3,1,0,9603,274.164,677.282,226.704,,,,,0 -105,1156,4146,4326,"Care! DMA ellipsoid is inconsistent with EPSG ellipsoid - transformation parameter values may not be appropriate. Also source CRS may not apply to Nepal. Derived at 7 stations.","For military purposes. Accuracy 12m, 10m and 15m in X, Y and Z axes.",2411,8.02,35.51,68.08,97.39,1,0,9603,295,736,257,,,,,1 -106,1544,4147,4326,Derived in Vung Tau area.,Oil exploration.,1494,9.02,11.03,105.49,107.59,1,0,9603,-17.51,-108.32,-62.39,,,,,1 -107,1505,4148,4326,,For many purposes Hartebeesthoek94 datum can be considered to be coincident with WGS 84.,1215,-50.32,-22.13,13.33,42.85,1,0,9603,0,0,0,,,,,1 -108,1508,4149,4326,"Implemented in Bundesamt für Landestopographie programme GRANIT.","?",1286,45.82,47.81,5.96,10.49,1,1,9607,660.077,13.551,369.344,0.80482,0.57769,0.95224,5.66,0 -109,1510,4149,4326,"These parameters are strictly between CH1903+ and CHTRF95 but are used from CH1903 as an approximation which is within the accuracy of the distortions in the CH1903 network.",Accuracy 1.5 metres.,1286,45.82,47.81,5.96,10.49,1,1,9603,674.374,15.056,405.346,,,,,1 -110,1753,4149,4326,"Implemented in Bundesamt für Landestopografie programme GRANIT. Used from 1987 to 1997. Not recommended for current usage - replaced by CH1903 to WGS 84 (2) (code 1766).",Used in programme GRANIT between 1987 and 1997.,1286,45.82,47.81,5.96,10.49,1,0,9607,660.077,13.551,369.344,0.80482,0.57769,0.95224,5.66,0 -111,1766,4149,4326,"Parameters values from CH1903 to ETRS89 (1) (tfm code 1646) assuming ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation. Replaces CH1903 to WGS 84 (1) (code 1753). Replaced by CH1903 to WGS 84 (3) (code 7788).","Parameter values originally from CH1903+ to ETRS89 (tfm code 1647) and are used in tfm code 1646 as an approximation from CH1903 to ETRS89 with a lesser accuracy of 1.5m which equates to the magnitude of distortions in the CH1903 network.",1286,45.82,47.81,5.96,10.49,1,0,9603,674.374,15.056,405.346,,,,,0 -112,1676,4150,4326,"Parameter values are from CH1903+ to CHTRF95 (1) (code 1509) assuming that CHTRF95 is equivalent to WGS 84. That transformation is also given as CH1903+ to ETRS89 (1) (code 1647). CHTRF95 is a realisation of ETRS89.","Approximation at the +/- 1m level.",1286,45.82,47.81,5.96,10.49,1,0,9603,674.374,15.056,405.346,,,,,1 -113,1511,4151,4326,,For many purposes CHTRF95 can be considered to be coincident with WGS 84.,1286,45.82,47.81,5.96,10.49,1,0,9603,0,0,0,,,,,1 -114,1580,4152,4326,"For many purposes NAD83(HARN) can be considered to be coincident with WGS 84.","Approximation at the +/- 1m level assuming that NAD83(HARN) is equivalent to WGS 84.",1337,-14.59,49.38,144.58,-64.51,1,0,9603,0,0,0,,,,,1 -115,1900,4152,4326,"Approximation derived ignoring time-dependent parameters and assuming ITRF94(1996.0) and WGS 84, plus NAD83(CORS94) and NAD83(HARN), can be considered the same within the accuracy of the transformation. Replaced by NAD83(HARN) to WGS 84 (3) (code 1901).",Historical record only - superseded - see remarks.,1323,24.41,49.38,-124.79,-66.91,1,0,9607,-0.9738,1.9453,0.5486,-0.0275508,-0.010049,-0.011359,0,0 -116,1901,4152,4326,"Approximation derived from tfm code 6864 ignoring time-dependent parameters and assuming ITRF96(1997.0) and WGS 84, plus NAD83(CORS96) and NAD83(HARN), can be considered the same within the accuracy of the tfm. In USA only replaces tfm code 1900.","Geodesy. Accuracy with respect to CORS at stations adjusted to HARN network is better than 0.05-0.07m. For locations outside a HARN network (i.e. NAD83), accuracy may be only 1m but will usually be better than 0.5m.",1323,24.41,49.38,-124.79,-66.91,1,0,9607,-0.991,1.9072,0.5129,-0.02578991,-0.00965010,-0.0116599,0,0 -117,15930,4152,4326,"Accuracy 0.1 to 0.2m in California, 0.05-0.11 in Oregon, elsewhere better than 0.05m.",For applications to an accuracy of 0.2 metre.,1323,24.41,49.38,-124.79,-66.91,1,1,9603,0,0,0,,,,,0 -118,1512,4153,4326,"Derived in 1998 at Assaluyeh (Taheri refinery) by Geoid for Total. Used for South Pars phases 2 and 3.",Oil industry engineering survey. Used only for terminal site.,1338,27.39,27.61,52.5,52.71,1,0,9603,-133.63,-157.5,-158.62,,,,,1 -119,1141,4154,4326,"Given by DMA as from ED50. OGP interpret that as ED50(ED77) in Iran. Derived at 27 stations.","For military purposes. Accuracy 9m, 12m and 11m in X, Y and Z axes.",1123,23.34,39.78,44.03,63.34,1,0,9603,-117,-132,-164,,,,,1 -120,1514,4154,4326,"Used for South Pars phases 6, 7 and 8.","Transformation for whole country: accuracy about 1m.",1123,23.34,39.78,44.03,63.34,1,0,9606,-110.33,-97.73,-119.85,0.3423,1.1634,0.2715,0.063,0 -121,1856,4154,4326,Derived in Kangan district by Geoid for Total in 1998. Used for South Pars phases 2 and 3.,Petroleum Exploration and Production.,2783,26.58,26.71,52.07,52.28,1,0,9603,-122.89,-159.08,-168.74,,,,,0 -122,1857,4154,4326,Derived in 1999 on Lavan island by Geoid for Elf.,Petroleum Exploration and Production.,2782,26.21,26.87,52.49,53.43,1,0,9603,-84.78,-107.55,-137.25,,,,,0 -123,1858,4154,4326,Derived by Geoid for Elf in 1999. EGM96 geoid used.,Petroleum Exploration and Production.,2781,29.16,29.39,50.22,50.42,1,0,9603,-123.92,-155.515,-157.721,,,,,0 -124,15745,4154,4326,Derived in Tombak district in March 2005. Used for South Pars phase 11.,Petroleum Exploration and Production.,3140,26.46,26.64,52.22,52.41,1,0,9603,-123.02,-158.95,-168.47,,,,,0 -125,1518,4155,4326,,Accuracy 25m in each axis.,3257,7.19,12.68,-15.13,-7.65,1,0,9603,-83,37,124,,,,,1 -126,1623,4156,4326,"Parameter values from S-JTSK to ETRS89 (1) (code 1622). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation. Replaced by S-JTSK to WGS 84 (5) (code 5239).",For applications to an accuracy of 1 metre.,1079,48.58,51.06,12.09,18.86,1,0,9606,570.8,85.7,462.8,4.998,1.587,5.261,3.56,0 -127,1625,4156,4326,"Parameter values from S-JTSK to ETRS89 (2) (code 1624). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,1211,47.73,49.61,16.84,22.56,1,1,9606,559,68.7,451.5,7.92,4.073,4.251,5.71,0 -128,4828,4156,4326,"Parameter values from S-JTSK to ETRS89 (4) (code 4827). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,1211,47.73,49.61,16.84,22.56,1,1,9606,485,169.5,483.5,7.786,4.398,4.103,0,0 -129,4836,4156,4326,"Parameter values from S-JTSK to ETRS89 (4) (code 4827). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,1211,47.73,49.61,16.84,22.56,1,0,9606,485,169.5,483.8,7.786,4.398,4.103,0,0 -130,5239,4156,4326,"Parameter values from S-JTSK/05 to WGS 84 (1) (code 5227). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation. Replaces tfm code 1622.",For applications to an accuracy of 1 metre.,1079,48.58,51.06,12.09,18.86,1,0,9607,572.213,85.334,461.94,-4.9732,-1.529,-5.2484,3.5378,0 -131,15965,4156,4326,Derived at 6 stations.,"For military purposes. Accuracy 4m, 2m and 3m in X, Y and Z axes.",1306,47.73,51.06,12.09,22.56,1,0,9603,589,76,480,,,,,1 -132,1283,4669,4326,,LKS94 is a realisation of ETRS89 coincident to WGS 84 within 1 metre. This transformation has an accuracy equal to the coincidence figure.,1145,53.89,56.45,19.02,26.82,1,0,9603,0,0,0,,,,,1 -133,1099,4670,4326,"Parameter values taken from IGM95 to ETRS89 (1) (code 1098) assuming that ETRS89 is coincident with WGS 84 within the accuracy of the transformation.",Approximation at the 1m level.,3343,34.76,47.1,5.93,18.99,1,0,9603,0,0,0,,,,,1 -134,1859,4159,4326,"Used by Repsol in Murzuq field, and PetroCanada and previous licence holders in NC177 and 72 (En Naga field). Reliability of connection to ELD79 questionned.",Oil Exploration,2785,27.32,27.67,18.37,18.72,1,0,9603,-69.06,-90.71,-142.56,,,,,0 -135,1860,4159,4326,Derived December 2001 by NAGECO. Connected to ITRF via Remsa 2000 data. Used by TotalFinaElf.,Oil Exploration. 3-dimensional SD at 11 points is 0.5m.,2785,27.32,27.67,18.37,18.72,1,0,9603,-113.997,-97.076,-152.312,,,,,0 -136,1861,4159,4326,Derived by GEOID in 1994 from Transit satellite data. Used by TotalFinaElf.,Oil Exploration,2786,29.61,30.07,17.13,17.51,1,0,9603,-114.5,-96.1,-151.9,,,,,0 -137,1862,4159,4326,"Derived by Geoid in 2000 from ITRF connection by NAGECO for TotalFinaElf. For historic compatibility TFE use the 1994 tfm ELD79 to WGS 84 (3) (code 1861) rather than this transformation.",Oil Exploration,2786,29.61,30.07,17.13,17.51,1,0,9606,-194.513,-63.978,-25.759,-3.4027,3.756,-3.352,-0.9175,0 -138,1863,4159,4326,"Derived for the Great Man-made River Authority (GMRA).",Engineering survey and oil exploration,2786,29.61,30.07,17.13,17.51,1,0,9607,-389.691,64.502,210.209,-0.086,-14.314,6.39,0.9264,0 -139,15923,4159,4326,"Derived by SDL for Total in Cyrenaica blocks 2 & 4.",Oil and gas exploration.,3477,32,32.8,22.49,23,1,0,9603,-117.7,-100.3,-152.4,,,,,0 -140,15707,4159,4326,"Used by Petrocanada and previous licence holders in Amal field, concession 12.",Oil exploration and production,2987,29.1,29.8,20.8,21.4,1,0,9603,-118.996,-111.177,-198.687,,,,,0 -141,15909,4159,4326,Derived at 29 stations throughout Libya in May 2006.,For applications to an accuracy of 5 metres.,3271,19.49,33.23,9.31,25.21,1,0,9603,-115.8543,-99.0583,-152.4616,,,,,1 -142,15778,4159,4326,"Derived by Total at stations SDL 130-03, 04 and 05 in May 2005.",Oil exploration and production.,3142,27.5,28.07,21.25,21.59,1,0,9603,-114.7,-98.5,-150.7,,,,,0 -143,1080,4672,4326,Derived at 4 stations.,For military purposes. Accuracy 15m in each axis.,2889,-44.64,-43.3,-177.25,-175.54,1,0,9603,175,-38,113,,,,,1 -144,1081,4673,4326,Derived at 4 stations using concatenation through WGS72. Parameter vales are also used to transform CI1979 to NZGD2000 - see tfm code 1082.,For applications requiring 2m accuracy.,2889,-44.64,-43.3,-177.25,-175.54,1,0,9607,174.05,-25.49,112.57,0,0,-0.554,0.2263,1 -145,15894,4674,4326,,Accuracy 1m.,3418,-59.87,32.72,-122.19,-25.28,1,0,9603,0,0,0,,,,,1 -146,1070,4675,4326,Derived at 5 stations.,For military purposes only. Accuracy 3m in each axis.,3255,13.18,13.7,144.58,145.01,1,0,9603,-100,-248,259,,,,,1 -147,1682,4164,4326,"Parameter values taken from South Yemen to Yemen NGN96 (1) (code 1539) assuming that NGN96 is equivalent to WGS 84 within the accuracy of the transformation.","Approximation at the +/- 5m level.",1340,12.54,19,43.37,53.14,1,0,9603,-76,-138,67,,,,,1 -148,1547,4165,4326,Derived at 2 stations.,For military purposes only. Accuracy 25m in each axis.,3258,10.87,12.69,-16.77,-13.64,1,0,9603,-173,253,27,,,,,1 -149,1065,4678,4326,Derived at 25 stations.,Accuracy 5m.,1138,13.92,22.5,100.09,107.7,1,0,9603,44.585,-131.212,-39.544,,,,,1 -150,1565,4167,4326,,Assumes NZGD2000 is coincident to WGS 84 to the 1m accuracy level.,1175,-55.95,-25.88,160.6,-171.2,1,0,9603,0,0,0,,,,,1 -151,1569,4168,4326,Derived at 3 common points.,Military survey,1104,1.4,11.16,-3.79,2.1,1,0,9603,-199,32,322,,,,,1 -152,6896,4168,4326,Derived at 4 stations.,"For military purposes. Accuracy 3m, 4m and 3m in X, Y and Z axes.",3252,4.67,11.16,-3.25,1.23,1,0,9603,-170,33,326,,,,,0 -153,15495,4168,4326,Derived via WGS 72BE. Found in use within oil industry erroneously concatenated via WGS 72. See tfm code 8571.,Oil industry.,1505,1.4,6.06,-3.79,2.1,1,0,9606,-171.16,17.29,325.21,0,0,0.814,-0.38,0 -154,1577,4169,4326,Transformation based on observations at 2 stations in 1993.,For military purposes. One sigma uncertainty is 25m in each axis.,3109,-14.43,-14.11,-170.88,-169.38,1,0,9603,-115,118,426,,,,,1 -155,1581,4170,4326,,For military purposes. Accuracy 1m in each axis.,3448,-59.87,16.75,-113.21,-26,1,0,9603,0,0,0,,,,,1 -156,1671,4171,4326,"Parameter values from RGF93 to ETRS89 (1) (code 1591) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation.","Approximation at the +/- 1m level.",1096,41.15,51.56,-9.86,10.38,1,0,9603,0,0,0,,,,,1 -157,1598,4172,4326,,"?",1033,-58.41,-21.78,-73.59,-52.63,1,1,9603,0,0,0,,,,,0 -158,1678,4173,4326,Assumes that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. IRENET95 is a regional realisation of ETRS89.,"Approximation at the +/- 1m level.",1305,51.39,55.43,-10.56,-5.34,1,0,9603,0,0,0,,,,,1 -159,15738,4686,4326,,MAGNA-SIRGAS is a realisation of WGS 84 coincident to within 1 metre. This transformation has an accuracy equal to the coincidence figure.,1070,-4.23,15.51,-84.77,-66.87,1,0,9603,0,0,0,,,,,1 -160,1614,4175,4326,"Determined at 8 stations. Info. source has the source CRS as Sierra Leone 1960. Sierra Leone 1968 is a readjustment of the 1960 network: coordinates changed by less than 3 metres.","Accuracy +/- 15m in each axis.",3306,6.88,10,-13.35,-10.26,1,0,9603,-88,4,101,,,,,1 -161,1890,4176,4326,For many purposes Australian Antarctic can be considered to be coincident with WGS 84.,"Approximation at the +/- 1m level assuming that Australian Antarctic is equivalent to WGS 84.",1278,-90,-60,45,160,1,0,9603,0,0,0,,,,,1 -162,15773,4689,4326,"Approximation at the +/- 1m level assuming that RGPF is equivalent to WGS 84. Parameter values taken from IGN63 Hiva Oa to RGPF (1) (tfm code 15761).","Accuracy +/- 1 metre.",3131,-9.89,-9.64,-139.23,-138.75,1,0,9607,410.721,55.049,80.746,-2.5779,-2.3514,-0.6664,17.3311,1 -163,15774,4689,4326,"Approximation at the +/- 1m level assuming that RGPF is equivalent to WGS 84. Parameter values taken from IGN63 Hiva Oa to RGPF (2) (tfm code 15762).","Accuracy +/- 2 metres.",3132,-10.08,-9.86,-139.19,-138.98,1,0,9607,374.716,-58.407,-0.957,-16.2111,-11.4626,-5.5357,-0.5409,0 -164,1675,4178,4326,"Parameter values from Pulkovo 1942(83) to ETRS89 (1) (code 1674) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation.",Residuals under 2 m.,1343,50.2,54.74,9.92,15.04,1,0,9607,24,-123,-94,-0.02,0.25,0.13,1.1,0 -165,15998,4178,4326,Derived at 6 stations.,"For military purposes only. Accuracy 3m, 3m and 2m in X, Y and Z axes.",1306,47.73,51.06,12.09,22.56,1,0,9603,26,-121,-78,,,,,1 -166,15996,4178,4326,Derived at 5 stations.,For military purposes. Accuracy 2m in each axis.,1119,45.74,48.58,16.11,22.9,1,0,9603,28,-121,-77,,,,,0 -167,1645,4179,4326,"Parameter values from Pulkovo 1942(58) to ETRS89 (1) (code 1644). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,3293,49,54.89,14.14,24.15,1,0,9606,33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84,1 -168,15999,4179,4326,Derived at 7 stations.,For military purposes. Accuracy 3m in each axis.,3212,39.64,42.67,19.22,21.06,1,0,9603,24,-130,-92,,,,,0 -169,15496,4179,4326,,Oil exploration,1197,43.44,48.27,20.26,31.41,1,0,9603,44.107,-116.147,-54.648,,,,,0 -170,15497,4179,4326,Derived at 4 stations.,"For military purposes. Accuracy 3m, 5m and 3m in X, Y and Z axes.",1197,43.44,48.27,20.26,31.41,1,0,9603,28,-121,-77,,,,,0 -171,15995,4179,4326,"Parameter values taken from Pulkovo 1942(58) to ETRS89 (4) (code 15994) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation.","Accuracy of 1.5 to 3 metres horizontal, 3 to 5m vertical.",1197,43.44,48.27,20.26,31.41,1,0,9607,2.329,-147.042,-92.08,0.309,-0.325,-0.497,5.69,0 -172,15997,4179,4326,Derived at 11 stations.,"For military purposes only. Accuracy 4m, 2m and 4m in X, Y and Z axes.",3293,49,54.89,14.14,24.15,1,0,9603,23,-124,-82,,,,,0 -173,1649,4180,4326,"Parameter values taken from EST97 to ETRS89 (1) (code 1648). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,1090,57.52,60,20.37,28.2,1,0,9603,0,0,0,,,,,1 -174,1643,4181,4326,"Parameter values from Luxembourg 1930 to ETRS89 (1) (code 1642). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,1146,49.44,50.19,5.73,6.53,1,0,9606,-193,13.7,-39.3,-0.41,-2.933,2.688,0.43,0 -175,5486,4181,4326,"Parameter values from Luxembourg 1930 to ETRS89 (3) (code 5485) assuming ETRS89 and WGS 84 are coincident within the one metre level. Replaces tfm code 1643. For an equivalent transformation using the Molodensky-Badekas method see code 5484.",For applications to an accuracy of 1 metre.,1146,49.44,50.19,5.73,6.53,1,0,9607,-189.6806,18.3463,-42.7695,0.33746,3.09264,-2.53861,0.4598,1 -176,1210,4694,4326,,POSGAR 94 is a local realisation of WGS 84.,1033,-58.41,-21.78,-73.59,-52.63,1,0,9603,0,0,0,,,,,1 -177,1886,4183,4326,Derived at 5 stations.,For military purposes only. Accuracy 3m in each axis.,1301,38.32,39.14,-28.9,-26.97,1,0,9603,-104,167,-38,,,,,1 -178,1885,4184,4326,Derived at 2 stations.,For military purposes only. Accuracy 25m in each axis.,1345,36.87,37.96,-25.92,-24.62,1,0,9603,-203,141,53,,,,,1 -179,15794,4708,4326,Derived at 1 satellite station.,For military purposes only. Accuracy 25m in each axis.,1069,-12.25,-12.08,96.76,96.92,1,0,9603,-491,-22,435,,,,,1 -180,15850,4698,4326,"Also published in US NIMA/NGA TR8350.2 which gives accuracy of +/-25m in each axis and states that derived at one station.","Accuracy +/- 10 metres.",2816,-49.78,-48.6,68.69,70.62,1,0,9603,145,-187,103,,,,,1 -181,15784,4699,4326,Derived at 17 stations in 1994 by University of East London. Residuals less than 2m.,Accuracy 2m.,3209,-20.57,-19.94,57.25,57.85,1,0,9603,-770.1,158.4,-498.2,,,,,1 -182,1955,4188,4326,"Parameter values from TM75 to ETRS89 (2) (code 1953). Assumes each pair of (i) OSNI 1952 and TM75, and (ii) ETRS89 and WGS 84, can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,2530,53.96,55.36,-8.18,-5.34,1,0,9606,482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15,1 -183,1768,4189,4326,,"Approximation at the +/- 1m level.",1251,0.64,16.75,-73.38,-58.95,1,0,9603,0,0,0,,,,,1 -184,1773,4190,4326,,"Approximation at the +/- 1m level.",1033,-58.41,-21.78,-73.59,-52.63,1,0,9603,0,0,0,,,,,1 -185,15780,4190,4326,,"Approximation at the +/- 1m level.",1033,-58.41,-21.78,-73.59,-52.63,1,1,9603,0,0,0,,,,,0 -186,6964,4191,4326,"Parameter values from Albanian 1987 to ETRS89 (1) (code 6963). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.","Use only for horizontal coordinates; geoid heights must be calculated with ALBGEO3 software.",3212,39.64,42.67,19.22,21.06,1,1,9607,-44.183,-0.58,-38.489,2.3867,2.7072,-3.5196,-8.2703,0 -187,7834,4191,4326,"Parameter values from Albanian 1987 to ETRS89 (1) (code 7833). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.","Use only for horizontal coordinates; geoid heights must be calculated with ALBGEO3 software.",3212,39.64,42.67,19.22,21.06,1,0,9607,-44.183,-0.58,-38.489,-2.3867,-2.7072,3.5196,-8.2703,1 -188,15873,4192,4326,Derived at Manoca tower assuming the pyramid on the tower and the centre of the tower reservoir are co-located. This assumption carries a few metres uncertainty.,Oil exploration.,2555,2.16,4.99,8.45,10.4,1,0,9603,-206.1,-174.7,-87.7,,,,,1 -189,1796,4193,4326,"Derived at two points, checked at a third by Stolt Comex Seaway and Geoid for Elf.",Oil industry,2555,2.16,4.99,8.45,10.4,1,0,9603,-70.9,-151.8,-41.4,,,,,1 -190,1797,4194,4326,Derived at 2 stations.,"For military purposes. Accuracy 25m, 25m and 32m in X, Y and Z axes.",3362,59.74,79,-73.29,-42.52,1,0,9603,164,138,-189,,,,,1 -191,1798,4194,4326,,Topographic mapping.,3362,59.74,79,-73.29,-42.52,1,0,9606,163.511,127.533,-159.789,0,0,0.814,-0.6,0 -192,1799,4195,4326,,Topographic mapping.,2570,68.66,74.58,-29.69,-19.89,1,0,9606,105,326,-102.5,0,0,0.814,-0.6,1 -193,1800,4196,4326,,Topographic mapping.,2571,65.52,65.91,-38.86,-36.81,1,0,9606,-45,417,-3.5,0,0,0.814,-0.6,1 -194,15796,4709,4326,Derived at 1 satellite station.,For military purposes only. Accuracy 25m in each axis.,3200,24.67,24.89,141.2,141.42,1,0,9603,145,75,-272,,,,,1 -195,15798,4710,4326,Derived at 1 satellite station.,For military purposes only. Accuracy 25m in each axis.,3183,-16.08,-15.85,-5.85,-5.58,1,0,9603,-320,550,-494,,,,,1 -196,7894,4710,4326,"Parameter values from Astro DOS 71 to SHGD2015 (1) (tfm code 7893). Assumes SHGD2015 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications requiring an accuracy of better than 1 metre.,3183,-16.08,-15.85,-5.85,-5.58,1,0,9603,-323.65,551.39,-491.22,,,,,0 -197,15799,4711,4326,Derived at 1 satellite station.,For military purposes only. Accuracy 25m in each axis.,1872,24.22,24.35,153.91,154.05,1,0,9603,124,-234,-25,,,,,1 -198,1281,4200,4326,"Derived through concatenation of Pulkovo 1995 to PZ-90 (1) (tfm code 1257) and PZ-90 to WGS 84 (2) (tfm code 1244). Mandated for use in Russia by GOST R 51794-2001, but this has been superseded by GOST R 51794-2008. Replaced by tfm code 5043.",Accuracy 1 metre.,1198,39.87,85.2,18.92,-168.97,1,0,9607,24.82,-131.21,-82.66,0,0,-0.16,-0.12,0 -199,5043,4200,4326,"Derived through concatenation of Pulkovo 1995 to PZ-90.02 to WGS 84. Replaces Pulkovo 1995 to WGS 84 (1), tfm code 1281.",Accuracy 1 metre.,1198,39.87,85.2,18.92,-168.97,1,0,9607,24.47,-130.89,-81.56,0,0,-0.13,-0.22,1 -200,1100,4201,4326,Derived at 22 stations.,For military purposes only. Accuracy 5m in each axis.,1271,3.4,22.24,21.82,47.99,1,0,9603,-166,-15,204,,,,,1 -201,1101,4201,4326,"Derived at 1 station connected to the Adindan (Blue Nile 1958) network through the 1968-69 12th parallel traverse. Note: the Adindan (Blue Nile 1958) CRS is used in Ethiopia and Sudan, not Burkino Faso.",For military purposes. Accuracy 25m in each axis.,1057,9.39,15.09,-5.53,2.4,1,0,9603,-118,-14,218,,,,,0 -202,1102,4201,4326,"Derived at 1 station connected to the Adindan (Blue Nile 1958) network through the 1968-69 12th parallel traverse. Note: the Adindan (Blue Nile 1958) CRS is used in Ethiopia and Sudan, not Cameroon.",For military purposes. Accuracy 25m in each axis.,3226,1.65,13.09,8.45,16.21,1,0,9603,-134,-2,210,,,,,0 -203,1103,4201,4326,Derived at 8 stations.,For military purposes. Accuracy 3m in each axis.,1091,3.4,14.89,32.99,47.99,1,0,9603,-165,-11,206,,,,,0 -204,1104,4201,4326,"Derived at 1 station connected to the Adindan (Blue Nile 1958) network through the 1968-69 12th parallel traverse. Note: the Adindan (Blue Nile 1958) CRS is used in Ethiopia and Sudan, not Mali.",For military purposes. Accuracy 25m in each axis.,1153,10.14,25.01,-12.25,4.26,1,0,9603,-123,-20,220,,,,,0 -205,1105,4201,4326,"Derived at 2 stations connected to the Adindan (Blue Nile 1958) network through the 1968-69 12th parallel traverse. Note: The Adindan (Blue Nile 1958) CRS is used in Ethiopia and Sudan, not Senegal.",For military purposes. Accuracy 25m in each axis.,3304,12.29,16.7,-17.59,-11.36,1,0,9603,-128,-18,224,,,,,0 -206,1106,4201,4326,Derived at 14 stations.,"For military purposes. Accuracy 3m, 5m and 3m in X, Y and Z axes.",3311,3.49,22.24,21.82,38.66,1,0,9603,-161,-14,205,,,,,0 -207,1108,4202,4326,"Derived at 105 stations. Replaced by AGD66 to WGS 84 (20) (code 6905).",For military purposes only. Accuracy 3m in each axis.,2575,-43.7,-9.86,112.85,153.69,1,0,9603,-133,-48,148,,,,,0 -208,1665,4202,4326,"Parameter values from AGD66 to GDA94 (2) (code 1458). Assumes GDA94 and WGS 84 can be considered the same to within the accuracy of the transformation.",Recommended for mid-accuracy use in A.C.T. 1m accuracy.,2283,-35.93,-35.12,148.76,149.4,1,0,9607,-129.193,-41.212,130.73,-0.246,-0.374,-0.329,-2.955,0 -209,1666,4202,4326,"Parameter values from AGD66 to GDA94 (4) (code 1460). Assumes GDA94 and WGS 84 can be considered the same to within the accuracy of the transformation.",Recommended for mid-accuracy use in NSW and Victoria. 1m accuracy.,2286,-39.2,-28.15,140.96,153.69,1,0,9607,-119.353,-48.301,139.484,-0.415,-0.26,-0.437,-0.613,0 -210,1667,4202,4326,"Parameter values from AGD66 to GDA94 (8) (code 1594). Assumes GDA94 and WGS 84 can be considered the same to within the accuracy of the transformation.",Recommended for mid-accuracy use in Tasmania. 1m accuracy.,1282,-43.7,-39.52,143.77,148.55,1,0,9607,-120.271,-64.543,161.632,-0.217,0.067,0.129,2.499,0 -211,1668,4202,4326,"Parameter values from AGD66 to GDA94 (9) (code 1595). Assumes GDA94 and WGS 84 can be considered the same to within the accuracy of the transformation.",Recommended for mid-accuracy use in Northern Territory. 1m accuracy.,2284,-26.01,-10.86,128.99,138,1,0,9607,-124.133,-42.003,137.4,0.008,-0.557,-0.178,-1.854,0 -212,15980,4202,4326,"Parameter values from AGD66 to GDA94 (12) (code 15979). Assumes GDA94 and WGS 84 can be considered the same to within the accuracy of the transformation. Use only offshore: onshore tfms 1665-68 for ACT, NSW/Vic, Tas and NT respectively are more accurate.",3m accuracy.,3559,-47.2,-8.88,109.23,163.2,1,0,9607,-117.808,-51.536,137.784,-0.303,-0.446,-0.234,-0.29,1 -213,5841,4202,4326,Derived at 25 stations in 2007.,"Accuracy 2m in 2007. Due to significant tectonic activity in PNG, AGD66 and WGS 84 are separating by approximately 7cm per year.",4013,-8.28,-5.59,142.24,144.75,1,0,9603,-124,-60,154,,,,,0 -214,6905,4202,4326,"Derived at 161 stations. Replaces AGD66 to WGS 84 (1) (code 1108).",For military purposes only. Accuracy 5m in each axis.,2575,-43.7,-9.86,112.85,153.69,1,0,9603,-128,-52,153,,,,,0 -215,6943,4202,4326,"Parameter values taken from AGD66 to PNG94 (3) (code 6938). Approximation at the +/- 5m level assuming that PNG94 is equivalent to WGS 84 within the accuracy of the transformation.",Low accuracy transformation suitable for mapping and navigation purposes only.,4214,-10.76,-2.53,140.85,150.96,1,0,9603,-129,-58,152,,,,,0 -216,6944,4202,4326,"Parameter values taken from AGD66 to PNG94 (5) (code 6940). Approximation at the +/- 4m level assuming that PNG94 is equivalent to WGS 84 within the accuracy of the transformation.",Low accuracy transformation suitable for mapping and navigation purposes only.,4013,-8.28,-5.59,142.24,144.75,1,0,9603,-131.3,-55.3,151.8,,,,,0 -217,6945,4202,4326,"Parameter values taken from AGD66 to PNG94 (7) (code 6942). Approximation at the +/- 4m level assuming that PNG94 is equivalent to WGS 84 within the accuracy of the transformation.",Low accuracy transformation suitable for mapping and navigation purposes only.,4216,-6.6,-5.05,140.89,141.54,1,0,9603,-137.4,-58.9,150.4,,,,,0 -218,15788,4202,4326,"Parameter values from AGD66 to GDA94 (1) (code 1278). Derived at 162 stations. Assumes GDA94 and WGS 84 can be considered the same to within the accuracy of the transformation.",5m accuracy.,2575,-43.7,-9.86,112.85,153.69,1,0,9603,-127.8,-52.3,152.9,,,,,0 -219,1109,4203,4326,"Derived at 90 stations. Note: AGD84 officially adopted only in Queensland, South Australia and Western Australia.",For military purposes only. Accuracy 2m in each axis.,2575,-43.7,-9.86,112.85,153.69,1,0,9603,-134,-48,149,,,,,1 -220,1236,4203,4326,"""Higgins parameters"". Replaced by AGD84 to GDA94 (2) (code 1280) and AGD84 to WGS 84 (7) (code 1669). Note: AGD84 officially adopted only in Queensland, South Australia and Western Australia.",Preliminary estimate.,2575,-43.7,-9.86,112.85,153.69,1,0,9607,-116,-50.47,141.69,-0.23,-0.39,-0.344,0.0983,0 -221,1669,4203,4326,"Parameter values from AGD84 to GDA94 (2) (code 1280). Assumes GDA94 and WGS 84 can be considered the same to within the accuracy of the transformation. Replaces AGD84 to WGS 84 (2) (code 1236). Note: AGD84 officially adopted only in Qld, SA and WA.",1m accuracy.,2575,-43.7,-9.86,112.85,153.69,1,0,9607,-117.763,-51.51,139.061,-0.292,-0.443,-0.277,-0.191,0 -222,15789,4203,4326,"Parameter values from AGD84 to GDA94 (1) (code 1279). Derived at 327 stations. Assumes GDA94 and WGS 84 can be considered the same to within the accuracy of the tfm. AGD84 officially adopted only in Queensland, South Australia and Western Australia.",5m accuracy.,2575,-43.7,-9.86,112.85,153.69,1,0,9603,-128.5,-53,153.4,,,,,0 -223,1055,4204,4326,Derived at station K1.,1 metre accuracy.,3267,28.53,30.09,46.54,48.48,1,0,9603,-145.7,-249.1,1.5,,,,,0 -224,1056,4204,4326,"Derivation is more precise, but no evidence that accuracy is better than Ain el Abd to WGS 84 (3). OGP recommends using Ain el Abd to WGS 84 (3).",1 metre accuracy.,3267,28.53,30.09,46.54,48.48,1,0,9607,-85.645,-273.077,-79.708,-2.289,1.421,-2.532,3.194,0 -225,1057,4204,4326,.,1 metre accuracy.,2956,29.1,30.09,46.54,48.42,1,0,9607,-202.234,-168.351,-63.51,-3.545,-0.659,1.945,2.1,0 -226,1058,4204,4326,,1 metre accuracy.,2957,28.53,29.45,46.54,48.48,1,0,9607,-18.944,-379.364,-24.063,-0.04,0.764,-6.431,3.657,0 -227,1110,4204,4326,Derived at 2 stations.,For military purposes. Accuracy 25m in each axis.,3943,25.53,26.34,50.39,50.85,1,0,9603,-150,-250,-1,,,,,0 -228,1111,4204,4326,Derived at 9 stations.,For military purposes. Accuracy 10m in each axis.,3303,15.61,32.16,34.51,55.67,1,0,9603,-143,-236,7,,,,,1 -229,1107,4205,4326,Derived at 1 station.,For military purposes. Accuracy 25m in each axis.,3308,-1.71,12.03,40.99,51.47,1,0,9603,-43,-163,45,,,,,1 -230,15846,4706,4326,"Sometime referred to as ""Egypt 1907 to WGS 84"". However, application to WGS 84 coordinates of the reverse of this tfm results in Gulf of Suez S-650 TL, not Egypt 1907, position. Gulf of Suez S-650 TL and Egypt 1907 CRSs differ by some 20 metres.",Used for oil exploration by GUPCO.,2341,27.19,30.01,32.34,34.27,1,0,9603,-146.21,112.63,4.05,,,,,1 -231,1656,4207,4326,"Parameter values from Lisbon to ETRS89 (1) (code 1655). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation. Replaced by Lisbon to WGS 84 (4) (code 1988).",For applications to an accuracy of 3 metres.,1294,36.95,42.16,-9.56,-6.19,1,0,9606,-280.9,-89.8,130.2,-1.721,0.355,-0.371,-5.92,0 -232,1944,4207,4326,"Parameter values from Lisbon to ETRS89 (2) (code 1790). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 2 metres.,1294,36.95,42.16,-9.56,-6.19,1,1,9606,-282.1,-72.2,120,-1.592,0.145,-0.89,-4.46,0 -233,1984,4207,4326,,For low resolution applications.,1294,36.95,42.16,-9.56,-6.19,1,0,9603,-304.046,-60.576,103.64,,,,,1 -234,1988,4207,4326,,For medium resolution applications.,1294,36.95,42.16,-9.56,-6.19,1,0,9607,-288.885,-91.744,126.244,1.691,-0.41,0.211,-4.598,0 -235,6898,4207,4326,Derived at 1 station.,For military purposes only. Accuracy 25m in each axis.,1294,36.95,42.16,-9.56,-6.19,1,0,9603,-306,-62,105,,,,,0 -236,15877,4720,4326,"Suitable for GIS mapping purposes but not rigorous surveying. Very similar results may be obtained through Fiji 1986 to WGS 84 (1) (tfm code 15876).","Horizontal accuracy 2m, vertical accuracy approximately 40 metres..",3398,-19.22,-16.1,176.81,-179.77,1,0,9607,-35.173,136.571,-36.964,1.37,-0.842,-4.718,-1.537,0 -237,15876,4720,4326,"Approximation at the +/- 2m level assuming that Fiji 1986 is equivalent to WGS 72. Parameter values taken from WGS 72 to WGS 84 (1) (tfm code 1237).",tbc,1094,-20.81,-12.42,176.81,-178.15,1,0,9606,0,0,4.5,0,0,0.554,0.2263,1 -238,1113,4209,4326,Derived at 41 stations.,"For military purposes only. Accuracy 20m, 33m and 20m in X, Y and Z axes.",2312,-30.66,-8.19,19.99,35.93,1,0,9603,-143,-90,-294,,,,,1 -239,1114,4209,4326,Derived at 9 stations.,"For military purposes. Accuracy 3m, 5m and 3m in X, Y and Z axes.",1051,-26.88,-17.78,19.99,29.38,1,0,9603,-138,-105,-289,,,,,0 -240,1115,4209,4326,Derived at 3 stations.,For military purposes. Accuracy 20m in each axis.,1058,-4.45,-2.3,28.98,30.86,1,1,9603,-153,-5,-292,,,,,0 -241,1116,4209,4326,Derived at 5 stations.,"For military purposes. Accuracy 3m, 3m and 8m in X, Y and Z axes.",1141,-30.66,-28.57,27.01,29.46,1,0,9603,-125,-108,-295,,,,,0 -242,1117,4209,4326,Derived at 6 stations.,"For military purposes. Accuracy 9m, 24m and 8m in X, Y and Z axes.",1150,-17.14,-9.37,32.68,35.93,1,0,9603,-161,-73,-317,,,,,0 -243,1118,4209,4326,Derived at 4 stations.,For military purposes. Accuracy 15m in each axis.,1224,-27.32,-25.72,30.79,32.14,1,0,9603,-134,-105,-295,,,,,0 -244,1119,4209,4326,Derived at 2 stations.,For military purposes. Accuracy 25m in each axis.,1259,-13.46,5.39,11.79,31.31,1,1,9603,-169,-19,-278,,,,,0 -245,1120,4209,4326,Derived at 5 stations.,"For military purposes. Accuracy 21m, 21m and 27m in X, Y and Z axes.",1260,-18.08,-8.19,21.99,33.71,1,0,9603,-147,-74,-283,,,,,0 -246,1121,4209,4326,"Derived at 10 stations. Replaced by Arc 1950 to WGS 84 (10), tfm code 6906.","For military purposes. Accuracy 5m, 8m and 11m in X, Y and Z axes.",1261,-22.42,-15.61,25.23,33.08,1,0,9603,-142,-96,-293,,,,,0 -247,6904,4209,4326,"Derived at 7 stations. Info source gives source CRS as Arc 1960. From inspection of parameter values, comparison of those from DMA TR8350.2 transformations and geographic applicability of CRS, OGP believes that this should be Arc 1950.","For military purposes only. Accuracy 13m, 25m and 7m in X, Y and Z axes.",1150,-17.14,-9.37,32.68,35.93,1,0,9603,-179,-81,-314,,,,,0 -248,6906,4209,4326,"Derived at 38 stations. Replaces Arc 1950 to WGS 84 (9), tfm code 1121.","For military purposes. Accuracy 10m in each of X, Y and Z axes.",1261,-22.42,-15.61,25.23,33.08,1,0,9603,-145,-97,-292,,,,,0 -249,1122,4210,4326,Derived at 25 stations.,For military purposes only. Accuracy 20m in each axis.,2311,-11.75,4.63,29.34,41.91,1,0,9603,-160,-6,-302,,,,,1 -250,1284,4210,4326,Derived at 24 stations.,"For military purposes. Accuracy 4m, 3m and 3m in X, Y and Z axes.",3264,-4.72,4.63,33.9,41.91,1,0,9603,-157,-2,-299,,,,,0 -251,1285,4210,4326,Derived at 12 stations.,"For military purposes. Accuracy 6m, 9m and 10m in X, Y and Z axes.",3316,-11.75,-0.99,29.34,40.48,1,0,9603,-175,-23,-303,,,,,0 -252,3998,4210,4326,"Derived at 3 stations. From inspection of parameter values and geographic applicability of CRS, OGP believes that the published source CRS (Arc 1950) has been misidentified by information source. Analysis of TR8350.2 contour charts suggest Arc 1960.",For military purposes. Accuracy 20m in each axis.,1058,-4.45,-2.3,28.98,30.86,1,0,9603,-153,-5,-292,,,,,0 -253,1123,4211,4326,"Note: The area of use cited for this transformation (Sumatra) is not consistent with the area of use (Java) for the Batavia (Genuk) coordinate reference system. Derived at 5 stations.",For military purposes. Accuracy 3m in each axis.,1355,-5.99,5.97,95.16,106.13,1,0,9603,-377,681,-50,,,,,1 -254,1813,4211,4326,Used by ARCO offshore NW Java area.,Oil industry operations.,2577,-6.89,-4.07,105.77,110.01,1,0,9603,-378.873,676.002,-46.255,,,,,0 -255,1814,4211,4326,Used by PT Komaritim for Nippon Steel during East Java Gas Pipeline construction.,Oil industry operations.,2588,-8.46,-6.8,112.8,117.01,1,0,9603,-377.7,675.1,-52.2,,,,,0 -256,15793,4212,4326,"Derived at 2 stations (S40 and M1, St Annes Tower) in 2004.",Accuracy 2.5m.,3218,13,13.39,-59.71,-59.37,1,0,9603,31.95,300.99,419.19,,,,,1 -257,15809,4725,4326,"Derived at 2 satellite stations. Note: NGA online html files carry a different dZ value - OGP believe this is an erroneous transcription from the TR8350.2 line above.","Military and topographic mapping. Accuracy +/- 25m in each axis.",3201,16.67,16.79,-169.59,-169.47,1,0,9603,189,-79,-202,,,,,1 -258,15918,4214,4326,Provided by BGP to TOTAL in June 2006.,Geophysical exploration in Ordos basin. Accuracy stated as 1m within basin.,3466,35,39,107,110.01,1,0,9603,12.646,-155.176,-80.863,,,,,0 -259,15920,4214,4326,"Derived via WGS 72BE. Original transformation derived by GSI in 1980-81. The GSI memo incorrectly gave the parameters as from WGS 72 to Beijing 1954, but it has been determined by the OGP that the memo should have stated from Beijing 1954 to WGS 72BE.",Geophysical exploration in South China Sea.,3470,18.31,22.89,110.13,116.76,1,0,9606,31.4,-144.3,-74.8,0,0,0.814,-0.38,0 -260,15921,4214,4326,Provided by BGP to ELF in 1994.,Geophysical exploration in Tarim basin. Accuracy stated as 1m within basin.,3507,37,41.99,77.45,88,1,0,9603,15.8,-154.4,-82.3,,,,,1 -261,15936,4214,4326,Provided by Sinopec to TOTAL in January 2007.,Geophysical exploration in Ordos basin. Accuracy stated as 1m within basin.,3466,35,39,107,110.01,1,0,9603,11.911,-154.833,-80.079,,,,,0 -262,15935,4214,4326,Concatenated via WGS 72BE. Recomputation by Shelltech in 1981 of SSB 1980 observation.,Geophysical exploration in Bei Bu basin. Accuracy stated as 1m within basin.,3561,17.81,21.69,107.15,110.17,1,0,9606,18,-136.8,-73.7,0,0,0.814,-0.38,0 -263,15919,4214,4326,Derived via WGS 72BE. Original transformation derived in 1979 at 4 stations on Yellow Sea coast.,Geophysical exploration in Yellow Sea.,3469,31.23,37.4,119.23,125.06,1,0,9606,15.53,-113.82,-41.38,0,0,0.814,-0.38,0 -264,6907,4713,4326,"Derived at 2 stations. Replaces Ayabelle Lighthouse to WGS 84 (1) (code 15800).",For military purposes only. Accuracy 10m in each axis.,3238,10.94,12.72,41.75,43.48,1,0,9603,-77,-128,142,,,,,1 -265,15800,4713,4326,"Derived at 1 satellite station. Replaced by Ayabelle Lighthouse to WGS 84 (2) (code 6907).",For military purposes only. Accuracy 25m in each axis.,1081,10.94,12.72,41.75,44.15,1,0,9603,-79,-129,145,,,,,0 -266,1124,4216,4326,Derived at 3 stations.,For military purposes. Accuracy 20m in each axis.,3221,32.21,32.43,-64.89,-64.61,1,0,9603,-73,213,296,,,,,1 -267,15970,4216,4326,"Parameter values from Bermuda 1957 to BDA2000 (1) (code 15969). Assumes BDA2000 and WGS 84 can be considered the same to within the accuracy of the transformation.","Accuracy +/- 1 metre.",3221,32.21,32.43,-64.89,-64.61,1,0,9607,-292.295,248.758,429.447,-4.9971,-2.99,-6.6906,1.0289,0 -268,15819,4729,4326,Derived at 1 satellite station.,"Military and topographic mapping. Accuracy +/- 25 m in each axis.",3208,-25.14,-25,-130.16,-130.01,1,0,9603,185,165,42,,,,,1 -269,1125,4218,4326,Derived in 1987 at 7 stations.,"For military purposes. Accuracy 6m, 5m and 6m in X, Y and Z axes.",3686,-4.23,13.68,-79.1,-66.87,1,0,9603,307,304,-318,,,,,1 -270,1597,4218,4326,Derived in 1995 by WGC at first order stations Recreo and Mena via multi-day ties to 4 IGS stations. Residuals under 20cm.,Oil exploration.,2315,4.75,5.68,-73,-72.25,1,0,9603,304.5,306.5,-318.1,,,,,0 -271,15715,4218,4326,"Approximation at the +/- 1m level assuming that MAGNA-SIRGAS is equivalent to WGS 84. Parameter values taken from Bogota 1975 to MAGNA-SIRGAS (1) (tfm code 15714).","Accuracy about 1 part in 10^5 of distance between points, depending on relative tectonic motion.",3082,9.8,12.52,-73,-71.06,1,0,9607,-806.413,-263.5,-622.671,12.414219,-2.9908418,-39.034686,-20.81616,0 -272,15717,4218,4326,"Approximation at the +/- 1m level assuming that MAGNA-SIRGAS is equivalent to WGS 84. Parameter values taken from Bogota 1975 to MAGNA-SIRGAS (2) (tfm code 15716).","Accuracy about 1 part in 10^5 of distance between points, depending on relative tectonic motion.",3083,9.39,11.59,-76.08,-73,1,0,9607,100.783,187.382,-47,-9.2238300,2.4238033,-8.3082783,-13.56561,0 -273,15719,4218,4326,"Approximation at the +/- 1m level assuming that MAGNA-SIRGAS is equivalent to WGS 84. Parameter values taken from Bogota 1975 to MAGNA-SIRGAS (3) (tfm code 15718).","Accuracy about 1 part in 10^5 of distance between points, depending on relative tectonic motion.",3084,8,9.4,-77.48,-74.39,1,0,9607,336.026,348.565,252.978,-17.241289,-6.3064928,1.5620498,-5.771909,0 -274,15721,4218,4326,"Approximation at the +/- 1m level assuming that MAGNA-SIRGAS is equivalent to WGS 84. Parameter values taken from Bogota 1975 to MAGNA-SIRGAS (4) (tfm code 15720).","Accuracy about 1 part in 10^5 of distance between points, depending on relative tectonic motion.",3085,5,9.4,-74.4,-71.99,1,0,9607,963.273,486.386,190.997,-16.485036,-1.6688258,21.692849,-13.89914,0 -275,15723,4218,4326,"Approximation at the +/- 1m level assuming that MAGNA-SIRGAS is equivalent to WGS 84. Parameter values taken from Bogota 1975 to MAGNA-SIRGAS (5) (tfm code 15722).","Accuracy about 1 part in 10^5 of distance between points, depending on relative tectonic motion.",3086,5,8.01,-77.92,-74.39,1,0,9607,-90.29,247.559,-21.989,-8.6968853,-4.1880336,-12.808267,2.181658,0 -276,15725,4218,4326,"Approximation at the +/- 1m level assuming that MAGNA-SIRGAS is equivalent to WGS 84. Parameter values taken from Bogota 1975 to MAGNA-SIRGAS (6) (tfm code 15724).","Accuracy about 1 part in 10^5 of distance between points, depending on relative tectonic motion.",3087,3,5.01,-77.68,-74.39,1,0,9607,-0.562,244.299,-456.938,6.8668710,-8.2526735,-9.2967797,3.74656,0 -277,15727,4218,4326,"Approximation at the +/- 1m level assuming that MAGNA-SIRGAS is equivalent to WGS 84. Parameter values taken from Bogota 1975 to MAGNA-SIRGAS (7) (tfm code 15726).","Accuracy about 1 part in 10^5 of distance between points, depending on relative tectonic motion.",3088,-1.13,3.01,-79.1,-74,1,0,9607,-305.356,222.004,-30.023,-9.6904939,1.0319682,-19.757394,6.325747,0 -278,15729,4218,4326,"Approximation at the +/- 1m level assuming that MAGNA-SIRGAS is equivalent to WGS 84. Parameter values taken from Bogota 1975 to MAGNA-SIRGAS (8) (tfm code 15728).","Accuracy about 1 part in 10^5 of distance between points, depending on relative tectonic motion.",3089,-4.23,7.1,-74.4,-66.87,1,0,9607,221.899,274.136,-397.554,2.8084459,-0.44850859,-2.810172,-2.199943,0 -279,1126,4219,4326,Accuracy estimate not available.,For military purposes.,1287,-3.3,-1.44,105.07,108.35,1,0,9603,-384,664,-48,,,,,1 -280,1318,4220,4326,,Used for oil exploration by Conoco.,2316,-8.59,-7.75,12.58,13.4,1,0,9603,-42.01,-332.21,-229.75,,,,,0 -281,1319,4220,4326,,Used for oil exploration by Texaco.,2317,-7.01,-6.01,12.08,12.84,1,0,9603,-40,-354,-224,,,,,0 -282,1320,4220,4326,"Replaced by Camacupa to WGS 84 (9). Used by Shell prior to 1994.",Oil exploration prior to 1994.,2321,-7.26,-6.03,11.08,12.09,1,0,9606,-37.2,-370.6,-224,0,0,0.554,0.219,0 -283,1321,4220,4326,"Derived as mean of 123 Transit passes at station Cabo Ledo NE base in November 1990. Used by Elf for block 7 up to December 1992 then replaced by Camacupa to WGS 84 (7). Used by Total in block 8, ExxonMobil block 24, Western Geophysical for spec. data.",Oil exploration.,2320,-17.26,-6.01,8.2,13.86,1,0,9603,-41.8,-342.2,-228.2,,,,,0 -284,1322,4220,4326,"Derived at station Djeno during coordination of platform PAL F2 in February 1992. Used by Elf for block 3 up to December 1992 then replaced by Camacupa to WGS 84 (7).",Oil exploration.,2318,-7.34,-6.66,11.74,12.5,1,0,9603,-55.5,-348,-229.2,,,,,0 -285,1323,4220,4326,Derived at Luanda observatory December 1992.,Used for oil exploration by Elf for 1993 block 7 shallow water survey.,2319,-10.09,-9.41,12.66,13.39,1,0,9603,-43,-337,-233,,,,,0 -286,1324,4220,4326,"Derived at platform PAL F2 in December 1992. For use in blocks 3, 7 and 17, replaced by Camacupa to WGS 84 (10) (code 1327).","Used for oil exploration by Elf for blocks 3, 7 and 17 between December 1992 and 1994 then superseded by Camacupa to WGS 84 (10). Used by Exxon for block 15 since 1993.",2322,-10.09,-6.03,10.83,13.39,1,0,9603,-48,-345,-231,,,,,0 -287,1325,4220,4326,"Derived at platform PAL F2 in December 1992. Used by Total for block 2 between December 1992 and 1994 then replaced by Camacupa to WGS 84 (10).",Oil exploration between December 1992 and 1994.,2317,-7.01,-6.01,12.08,12.84,1,0,9603,-48.6,-345.1,-230.8,,,,,0 -288,1326,4220,4326,"Derived by GPS on two Topnav DGPS reference stations at Djeno and Luanda. Replaces Camacupa to WGS 84 (3). In block 18 replaced by BP from 1999 by Camacupa to WGS 84 (10).",Used by Shell since 1994.,2323,-8.34,-6.03,11.08,12.75,1,0,9606,-41.057,-374.564,-226.287,0,0,0.554,0.219,0 -289,1327,4220,4326,Derived at platform PAL F2 in 1994 by Topnav using Doris.,Used for oil exploration by Elf in blocks 3 and 17 since 1994. Used by Total in block 2 since 1994. Adopted by BP-Amoco Elf and Exxon for blocks 18 and 31-33 in 1999.,2324,-8.59,-6.01,10.41,12.84,1,0,9603,-50.9,-347.6,-231,,,,,1 -290,1127,4221,4326,Derived at 20 stations.,For military purposes. Accuracy 5m in each axis.,3843,-54.93,-21.78,-73.59,-53.65,1,0,9603,-148,136,90,,,,,1 -291,1527,4221,4326,"Derived through ties at 2 stations (Cerro Colorado and Chihuido Sur) to 4 IGS stations in February 1995",Oil exploration.,2325,-37.5,-36.14,-70.5,-70.03,1,0,9603,-154.5,150.7,100.4,,,,,0 -292,1128,4222,4326,Derived at 5 stations.,"For military purposes. Accuracy 3m, 6m and 6m in X, Y and Z axes.",3309,-34.88,-22.13,16.45,32.95,1,0,9603,-136,-108,-292,,,,,1 -293,1129,4222,4326,"Parameter values are from Cape to Hartebeesthoek94 (1) (code 1504) assuming that Hartebeesthoek94 and WGS 84 are equivalent within the accuracy of the transformation. Residuals should not exceed 15 metres.",Accuracy 15m.,3309,-34.88,-22.13,16.45,32.95,1,0,9603,-134.73,-110.92,-292.66,,,,,0 -294,1130,4223,4326,Derived at 5 stations.,"For military purposes. Accuracy 6m, 9m and 8m in X, Y and Z axes.",1236,30.23,38.41,7.49,13.67,1,0,9603,-263,6,431,,,,,1 -295,1538,4223,4326,Derived at station Chaffar January 1995.,Oil exploration.,1489,33.22,38.41,7.81,13.67,1,0,9603,-260.1,5.5,432.2,,,,,0 -296,1131,4224,4326,Derived at 6 stations.,"For military purposes. Accuracy 6m, 9m and 5m in X, Y and Z axes.",3675,-22,-19.29,-62.57,-57.81,1,0,9603,-134,229,-29,,,,,0 -297,3972,4224,4326,"Mandatory for SICAD use until 2005. Replaced by Chua to SIRGAS 2000 (tfm code 4069).","Used by governmental agencies in Distrito Federal until adoption of SIRGAS 2000 by Brazil in 2005. Legally mandated for Cartography System of Distrito Federal (SICAD) until 2005.",3619,-15.94,-15.37,-48.1,-47.1,1,0,9603,-143.87,243.37,-33.52,,,,,1 -298,4834,4224,4326,"Parameter values from Chua to SIRGAS 2000 (1) (tfm code 4069) assuming that within the tfm accuracy SIRGAS 2000 is equivalent to WGS 84.","Cartography System of Distrito Federal (SICAD)",3619,-15.94,-15.37,-48.1,-47.1,1,0,9603,-144.35,242.88,-33.2,,,,,0 -299,1132,4225,4326,Derived at 17 stations.,"For military purposes. Accuracy 5m, 3m and 5m in X, Y and Z axes.",1293,-33.78,-2.68,-58.16,-34.74,1,0,9603,-206,172,-6,,,,,0 -300,6192,4225,4326,"Formed by concatenation of tfms codes 6191 and 1877. Used by Petrobras and ANP until February 2005 when replaced by Corrego Alegre 1970-72 to WGS 84 (4) (tfm code 6194).",Medium and small scale mapping.,1293,-33.78,-2.68,-58.16,-34.74,1,0,9603,-205.57,168.77,-4.12,,,,,1 -301,6194,4225,4326,"Parameter values from Corrego Alegre to SIRGAS 2000 (2) (tfm code 6193) assuming that SIRGAS 2000 and WGS 84 are equal within the accuracy of the transformation. Used by ANP and Petrobras from February 2005, replacing use of tfm code 6192.",Medium and small scale mapping.,1293,-33.78,-2.68,-58.16,-34.74,1,0,9603,-206.05,168.28,-3.82,,,,,0 -302,15842,4739,4326,"Derived at 2 satellite stations. Care: does not use Hong Kong 1963 (code 4838) as the source CRS.","Military mapping. Accuracy +/- 1m.",1118,22.13,22.58,113.76,114.51,1,0,9603,-156,-271,-189,,,,,1 -303,1244,4740,4326,"Mandated for use in Russia by GosStandard of Russia Decree #327 of August 9, 2001. Republished but with one significant figure less precision to parameter values in GOST R 51794-2008 of December 18 2008.",Geodetic applications. Accuracy better than 0.5 metre.,1198,39.87,85.2,18.92,-168.97,1,0,9607,-1.08,-0.27,-0.9,0,0,-0.16,-0.12,0 -304,15843,4740,4326,"Derived through Glonass and GPS at 30 stations throughout USSR - Former Soviet Union (FSU).",Geodetic applications. Accuracy better than 1.5 metres.,1262,-90,90,-180,180,1,0,9607,0,0,1.5,0,0,-0.076,0,1 -305,1148,4229,4326,Derived at 14 stations.,"For military purposes. Accuracy 3m, 6m and 8m in X, Y and Z axes.",1086,21.89,33.82,24.7,37.91,1,0,9603,-130,110,-13,,,,,1 -306,1546,4229,4326,,Used for oil exploration by GUPCO.,2341,27.19,30.01,32.34,34.27,1,1,9603,-146.21,112.63,4.05,,,,,0 -307,1075,4230,4326,"Derived in 1987 by Geodetic for TPAO. Used on BP 1991/92 2D seismic surveys in central and eastern Turkish sector of Black Sea. In Turkey, replaced by tfm code 1784. Also adopted for use offshore Israel.",Oil Exploration,2896,31.35,43.45,28.03,41.47,1,0,9603,-89.05,-87.03,-124.56,,,,,0 -308,1087,4230,4326,,Topographic mapping.,1130,29.18,33.38,34.88,39.31,1,0,9603,-112,-110.3,-140.2,,,,,0 -309,1133,4230,4326,Derived at 85 stations. In Germany will be accepted by LBA for minerals management purposes as alternative to tfm 1052 or 1998.,"For military purposes. Accepted for minerals management in Germany. Accuracy 3m, 8m and 5m in X, Y and Z axes.",2420,34.88,71.21,-9.56,31.59,1,0,9603,-87,-98,-121,,,,,1 -310,1134,4230,4326,Derived at 52 stations.,For military purposes only. Accuracy 3m each axis.,2421,42.33,57.8,-4.87,17.17,1,0,9603,-87,-96,-120,,,,,0 -311,1135,4230,4326,Accuracy estimate not available.,For military purposes only.,2345,15.61,37.39,34.17,55.67,1,0,9603,-103,-106,-141,,,,,0 -312,1136,4230,4326,Derived at 4 stations.,For military purposes only. Accuracy 15m in each axis.,1078,32.88,36.21,29.95,35.2,1,0,9603,-104,-101,-140,,,,,0 -313,1137,4230,4326,Derived at 14 stations.,"For military purposes. Accuracy 6m, 8m and 8m in X, Y and Z axes.",2595,25.71,31.68,24.7,30,1,0,9603,-130,-117,-151,,,,,0 -314,1138,4230,4326,Derived at 40 stations.,For military purposes only. Accuracy 3m in each axis.,2343,49.11,60.9,-10.56,1.84,1,0,9603,-86,-96,-120,,,,,0 -315,1139,4230,4326,Derived at 20 stations.,"For military purposes. Accuracy 3m, 5m and 3m in X, Y and Z axes.",2344,57.93,71.21,4.68,31.59,1,0,9603,-87,-95,-120,,,,,0 -316,1140,4230,4326,Derived at 2 stations.,For military purposes only. Accuracy 25m in each axis.,3254,34.88,41.75,19.57,28.3,1,0,9603,-84,-95,-130,,,,,0 -317,1142,4230,4326,Derived at 2 stations.,For military purposes only. Accuracy 25m in each axis.,2339,38.82,41.31,8.08,9.89,1,0,9603,-97,-103,-120,,,,,0 -318,1143,4230,4326,Derived at 3 stations.,For military purposes only. Accuracy 20m in each axis.,2340,36.59,38.35,12.36,15.71,1,0,9603,-97,-88,-135,,,,,0 -319,1144,4230,4326,Derived at 1 station.,For military purposes only. Accuracy 25m in each axis.,3275,35.74,36.05,14.27,14.63,1,0,9603,-107,-88,-149,,,,,0 -320,1145,4230,4326,Derived at 18 stations.,"For military purposes only. Accuracy 5m, 6m and 3m in X, Y and Z axes.",2338,35.26,43.82,-9.56,3.39,1,0,9603,-84,-107,-120,,,,,0 -321,1245,4230,4326,Derived at 4 stations.,For military purposes only. Accuracy 25m in each axis.,1236,30.23,38.41,7.49,13.67,1,0,9603,-112,-77,-145,,,,,0 -322,1275,4230,4326,"These same parameter values are used to transform to ETRS89. See ED50 to ETRS89 (10) (code 1650).",For applications to an accuracy of 2 metres.,1096,41.15,51.56,-9.86,10.38,1,0,9603,-84,-97,-117,,,,,0 -323,1311,4230,4326,"Based on ED50 to WGS72 (precise ephemeris) 6-nations agreement of 1981 to which precise to broadcast and broadcast to WGS 84 transformations have been concatenated.",Recommended transformation for UKCS and IrishCS petroleum purposes.,2342,47.42,63.89,-16.1,10.86,1,0,9606,-89.5,-93.8,-123.1,0,0,-0.156,1.2,0 -324,1440,4230,4326,,Used in oil industry.,3254,34.88,41.75,19.57,28.3,1,0,9603,-86,-92.2,-127.5,,,,,0 -325,1612,4230,4326,"Parameter values are taken from ED50 to ETRS89 (1), code 1588. Adopted for ED50 to WGS84 transformations offshore Norway north of 62N from April 2001 when it replaced code 1590. Included in Statens Kartverk programme wsktrans from v4.0.",Oil industry offshore.,2601,62,84.17,-3.7,39.65,1,0,9606,-116.641,-56.931,-110.559,0.893,0.921,-0.917,-3.52,0 -326,1613,4230,4326,"Approximation to 1 metre of concatenated transformation ED50 to WGS 84 (14), code 8653. 8653 remains the transformation promulgated by Statens Kartverk but 1613 recommended by EPSG for practical oil industry usage.",Approximation to 1 metre for oil industry use.,2334,56.08,62,1.37,11.14,1,0,9606,-90.365,-101.13,-123.384,0.333,0.077,0.894,1.994,0 -327,1627,4230,4326,"Parameter values from ED50 to ETRS89 (4) (code 1626). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,3237,54.51,57.8,8,15.24,1,0,9606,-81.1,-89.4,-115.8,0.485,0.024,0.413,-0.54,0 -328,1629,4230,4326,"Parameter values from ED50 to ETRS89 (5) (code 1628). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,1105,36,36.16,-5.42,-4.89,1,0,9603,-116.8,-106.4,-154.4,,,,,0 -329,1631,4230,4326,"Parameter values from ED50 to ETRS89 (6) (code 1630). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1.5 metres.,2335,38.59,40.11,1.14,4.39,1,0,9606,-181.5,-90.3,-187.2,0.144,0.492,-0.394,17.57,0 -330,1633,4230,4326,"Parameter values from ED50 to ETRS89 (7) (code 1632). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1.5 metres.,2336,35.26,43.56,-7.54,3.39,1,0,9606,-131,-100.3,-163.4,-1.244,-0.02,-1.144,9.39,0 -331,1635,4230,4326,"Parameter values from ED50 to ETRS89 (8) (code 1634). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1.5 metres.,2337,41.5,43.82,-9.37,-4.5,1,0,9606,-178.4,-83.2,-221.3,0.54,-0.532,-0.126,21.2,0 -332,1784,4230,4326,"Parameter values from ED50 to ETRS89 (9) (code 1783). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 2 metres.,1237,34.42,43.45,25.62,44.83,1,0,9606,-84.1,-101.8,-129.7,0,0,0.468,1.05,0 -333,1810,4230,4326,Derived via concatenation through WGS72. The ED50 to WGS72 step is the Sepplin 1974 value for all Europe.,Oil industry exploration and production operations.,2595,25.71,31.68,24.7,30,1,0,9606,-84,-103,-122.5,0,0,0.554,0.2263,0 -334,1853,4230,4326,Derived at a single point in Galway docks.,Used by Enterprise for Corrib.,2961,53.75,55.76,-12.5,-9.49,1,0,9603,-82.31,-95.23,-114.96,,,,,0 -335,1961,4230,4326,"Parameter values taken from ED87 to WGS 84 (2) (tfm code 1960) assuming that ED87 is identical to ED50. Errors caused by this assumption can reach 3m.",Used by NAM for offshore operations.,1630,51.45,55.77,2.53,6.41,1,1,9606,-83.11,-97.38,-117.22,0.005693,-0.04469,0.4428,1.218,0 -336,1985,4230,4326,May be taken as a transformation from ED50 to ETRS89 - see tfm code 5040.,For low resolution applications.,1294,36.95,42.16,-9.56,-6.19,1,0,9603,-87.987,-108.639,-121.593,,,,,0 -337,1989,4230,4326,,For medium resolution applications.,1294,36.95,42.16,-9.56,-6.19,1,0,9607,-74.292,-135.889,-104.967,0.524,0.136,-0.61,-3.761,0 -338,1998,4230,4326,"Approximation to better than 0.5m of transformation adopted in June 2003 (see ED50 to WGS 84 (35), code 1052). Acceptable to Landesbergamt for Lower Saxony and Bundesanstalt für Seeschifffahrt und Hydrographie.",Recommended transformation for Germany North Sea petroleum purposes.,2879,53.6,55.92,3.34,8.88,1,0,9606,-157.89,-17.16,-78.41,2.118,2.697,-1.434,-5.38,0 -339,1999,4230,4326,"Parameter values taken from ED87 to WGS 84 (2) (tfm code 1960) assuming that ED87 is identical to ED50. Errors caused by this assumption can reach 3m.",Used by NAM for offshore operations.,1630,51.45,55.77,2.53,6.41,1,1,9606,-83.11,-97.38,-117.22,0.005693,-0.04469,0.04428,1.218,0 -340,3904,4230,4326,"Parameter values from ED87 to WGS 84 (32) (tfm code 3905), assuming that ED87 is identical to ED50. Errors caused by this assumption can reach 3-5m. Used by NAM for offshore operations until mid 2004, then replaced by tfm code 1311.","E&P operations in the Dutch sector of the North Sea.",1630,51.45,55.77,2.53,6.41,1,0,9606,-83.11,-97.38,-117.22,0.005693,-0.044698,0.044285,0.1218,0 -341,15964,4230,4326,Developed by the Portuguese Hydrographic Institute and used by the Directorate of Energy and Geology.,Hydrography and minerals management offshore Portugal.,3537,34.91,41.88,-13.87,-7.24,1,0,9603,-86.277,-108.879,-120.181,,,,,0 -342,1146,4231,4326,,"?",2330,51.03,62.01,-5.05,11.14,1,0,9606,-82.981,-99.719,-110.709,-0.10470,0.031002,0.080402,-0.3143,0 -343,1960,4231,4326,,Scientific research.,1297,34.88,71.21,-10.56,31.59,1,1,9606,-83.11,-97.38,-117.22,0.005693,-0.04469,0.04428,1.218,0 -344,3905,4231,4326,"Parameter values taken from ED87 to ETRS89 (1) (tfm code 4078) assuming that ETRS89 is coincident with WGS 84 within the accuracy of the transformation. Used as a tfm between ED50 and WGS 84 - see code 3904.",Scientific research.,1297,34.88,71.21,-10.56,31.59,1,0,9606,-83.11,-97.38,-117.22,0.005693,-0.044698,0.044285,0.1218,1 -345,1256,4232,4326,"Derived at 7 stations. Replaced by Fahud to WGS 84 (3) (code 6908).","For military purposes. Accuracy 3m, 3m and 9m in X, Y and Z axes.",4009,16.59,26.42,51.99,59.91,1,0,9603,-346,-1,224,,,,,0 -346,1438,4232,4326,,Oil exploration.,4009,16.59,26.42,51.99,59.91,1,0,9606,-333.102,-11.02,230.69,0,0,0.554,0.219,1 -347,6908,4232,4326,"Derived at 11 stations. Replaces Fahud to WGS 84 (1) (code 1256).","For military purposes. Accuracy 3m, 3m and 6m in X, Y and Z axes.",4009,16.59,26.42,51.99,59.91,1,0,9603,-345,3,223,,,,,0 -348,1894,4233,4326,Derived at 1 station.,For military purposes only. Accuracy 25m in each axis.,1152,-3.47,8.1,69.29,77.08,1,1,9603,-133,-321,50,,,,,0 -349,7033,4744,4326,Derived by concatenation of parameter values published by IGN Paris from Nahrwan 1934 to WGS 72 at the Nahrwan SE Base station near Baghdad with DMA WGS 72 to WGS 84 parameter values. For more accurate transformation away from origin see codes 7008-7032.,Oil exploration.,3625,29.06,37.39,38.79,48.61,1,0,9603,-242.2,-144.9,370.3,,,,,1 -350,15879,4747,4326,"Approximation at the +/- 1m level assuming that GR96 is equivalent to WGS 84 within the accuracy of the transformation.","For applications with an accuracy of +/- 1m.",1107,56.38,87.03,-75,8.12,1,0,9603,0,0,0,,,,,1 -351,1152,4236,4326,Derived at 4 stations.,For military purposes. Accuracy 15m in each axis.,3315,21.87,25.34,119.25,122.06,1,0,9603,-637,-549,-203,,,,,1 -352,1242,4237,4326,"Parameter value error in info source Hungarian text but correct in English summary. Replaces HD72 to WGS 84 (2) (code 1831).",Accuracy at metre level throughout Hungary.,1119,45.74,48.58,16.11,22.9,1,0,9603,52.17,-71.82,-14.9,,,,,1 -353,1448,4237,4326,"Parameter values taken from HD72 to ETRS89 (2) (code 1449) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. Replaces HD72 to WGS 84 (1) (code 1830).","Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.",1119,45.74,48.58,16.11,22.9,1,0,9607,52.684,-71.194,-13.975,0.312,0.1063,0.3729,1.0191,0 -354,1677,4237,4326,"Parameter values taken from HD72 to ETRS89 (1) (code 1273) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation.","Approximation at the +/- 1m level.",1119,45.74,48.58,16.11,22.9,1,1,9607,56,75.77,15.31,-0.37,-0.2,-0.21,-1.01,0 -355,1830,4237,4326,"Parameter values taken from HD72 to ETRS89 (1) (code 1829) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. OGP recommends use of newer MSZ 7222 equivalent (tfm code 1448) in preference to this transformation.","Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.",1119,45.74,48.58,16.11,22.9,1,0,9607,56,-75.77,-15.31,0.37,0.2,0.21,1.01,0 -356,1831,4237,4326,"Derived at fundamental point Szolohegy and tested at 99 stations throughout Hungary. OGP recommends use of newer transformation (tfm code 1242) in preference to this transformation.",Accuracy better than 1m in all three dimensions throughout Hungary.,1119,45.74,48.58,16.11,22.9,1,0,9603,57.01,-69.97,-9.29,,,,,0 -357,1248,4238,4326,Derived at 1 station.,For military purposes. Accuracy 25m in each axis.,4020,-10.98,5.97,95.16,141.01,1,0,9603,-24,-15,5,,,,,1 -358,1832,4238,4326,"Derived via coordinates of 2 Pulse8 stations. Use of ID74 to WGS 84 (3) (code 1833) is recommended.",For oil industry purposes.,4020,-10.98,5.97,95.16,141.01,1,0,9606,2.691,-14.757,4.724,0,0,0.774,-0.6,0 -359,1833,4238,4326,"Parameter values from ID74 to DGN95 (1) (code 15911) assuming that DGN95 is equivalent to WGS 84 within the accuracy of the transformation.","Standard deviations of translations are 1.3, 1.1 and 3.6m, of rotations 0.11, 0.06 and 0.04 sec and ppm 0.18.",4020,-10.98,5.97,95.16,141.01,1,0,9607,-1.977,-13.06,-9.993,-0.364,-0.254,-0.689,-1.037,0 -360,1153,4239,4326,Derived at 11 stations.,"For military purposes. Accuracy 15m, 6m and 12m in X, Y and Z axes.",3317,5.63,20.46,97.34,105.64,1,0,9603,217,823,299,,,,,1 -361,1154,4240,4326,"Derived at 62 stations. Replaced by Indian 1975 to WGS 84 (2) (code 1304).","For military purposes. Accuracy 3m, 2m and 3m in X, Y and Z axes.",3741,5.63,20.46,97.34,105.64,1,0,9603,209,818,290,,,,,0 -362,1304,4240,4326,"Derived at 62 stations. Replaces Indian 1975 to WGS 84 (1) (code 1154).","For military purposes. Accuracy 3m, 2m and 3m in X, Y and Z axes.",3741,5.63,20.46,97.34,105.64,1,0,9603,210,814,289,,,,,1 -363,1537,4240,4326,Derived in 1995 at point RTSD181.,Oil exploration.,2358,6.74,8.16,102.16,103.05,1,0,9603,204.64,834.74,293.8,,,,,0 -364,1812,4240,4326,,Cadastral survey.,3317,5.63,20.46,97.34,105.64,1,0,9606,293,836,318,0.5,1.6,-2.8,2.1,0 -365,1084,4242,4326,Derived via NAD27 and WGS 72. Preliminary values derived by Survey Department but not officially promulgated.,For applications requiring 5m accuracy.,3342,17.64,18.58,-78.43,-76.17,1,0,9603,70,207,389.5,,,,,1 -366,1085,4242,4326,"Derived at 4 stations, tested at a further 9.",For applications requiring 2m accuracy.,3342,17.64,18.58,-78.43,-76.17,1,0,9603,65.334,212.46,387.63,,,,,0 -367,1086,4242,4326,"Derived at 4 stations, tested at a further 9.",For applications requiring 1m accuracy.,3342,17.64,18.58,-78.43,-76.17,1,1,9607,-33.722,153.789,94.959,8.581,4.478,-4.54,-8.95,0 -368,15927,4242,4326,"Derived at 4 stations, tested at a further 9. Also used as tfm to JAD69 to JAD2001 (see code 15926). -Note: Info source paper contains an error in sign of dS, subsequently confirmed by primary author and NLA of Jamaica, and corrected in this record.",For applications requiring 1m accuracy.,3342,17.64,18.58,-78.43,-76.17,1,0,9607,-33.722,153.789,94.959,8.581,4.478,-4.54,8.95,0 -369,1930,4642,4326,,"Accuracy better than +/- 1 metre.",2820,-22.73,-22.49,167.36,167.61,1,1,9606,244.416,85.339,168.114,-8.9353,7.7523,12.5953,14.268,0 -370,15848,4642,4326,,"Accuracy +/- 10 metres.",2820,-22.73,-22.49,167.36,167.61,1,0,9603,-13,-348,292,,,,,1 -371,1157,4244,4326,Derived at 3 stations.,For military purposes. Accuracy 20m in each axis.,3310,5.86,9.88,79.64,81.95,1,0,9603,-97,787,86,,,,,1 -372,1158,4245,4326,Derived at 6 stations.,"For military purposes. Accuracy 10m, 8m and 6m in X, Y and Z axes.",4223,1.13,7.81,99.59,105.82,1,0,9603,-11,851,5,,,,,1 -373,1059,4246,4326,,1 metre accuracy.,3267,28.53,30.09,46.54,48.48,1,0,9603,-294.7,-200.1,525.5,,,,,1 -374,1516,4247,4326,Also used for PSAD56 to WGS 84 transformations.,"Parameter values estimated accuracy: ± 2.0m; ± 2.7m; ± 1.3m respectively.",2363,3.56,10.8,-67.49,-59.8,1,0,9603,-273.5,110.6,-357.9,,,,,1 -375,1201,4248,4326,Derived at 63 stations. DMA also lists Colombia as area of applicability but PSAD56 is not used in that country.,"For military purposes only. Accuracy 17m, 27m and 27m in X, Y and Z axes.",2399,-45,12.52,-81.41,-56.47,1,0,9603,-288,175,-376,,,,,1 -376,1202,4248,4326,Derived at 5 stations.,"For military purposes only. Accuracy 5m, 11m and 14m in X, Y and Z axes.",1049,-22.91,-9.67,-69.66,-57.52,1,0,9603,-270,188,-388,,,,,0 -377,1203,4248,4326,"Derived at 1 station. Replaced by PSAD56 to WGS 84 (15) (code 6971).",For military purposes. Accuracy 25m in each axis.,2402,-21.51,-17.5,-70.49,-68.18,1,0,9603,-270,183,-390,,,,,0 -378,1204,4248,4326,"Derived at 3 stations. Replaced by PSAD56 to WGS 84 (17) (code 6973).",For military purposes. Accuracy 20m in each axis.,2403,-45,-38.99,-75.22,-71.1,1,0,9603,-305,243,-442,,,,,0 -379,1205,4248,4326,"Derived at 4 stations. Note that although the PSAD56 network included Colombia the CRS is not used there: see Bogota 1975 (CRS code 4218).",For military purposes. Accuracy 15m in each axis.,3229,-4.23,12.52,-79.1,-66.87,1,0,9603,-282,169,-371,,,,,0 -380,1206,4248,4326,Derived at 11 stations.,"For military purposes. Accuracy 3m, 5m and 3m in X, Y and Z axes.",3241,-5.01,1.45,-81.03,-75.21,1,0,9603,-278,171,-367,,,,,0 -381,1207,4248,4326,Derived at 9 stations.,"For military purposes. Accuracy 6m, 14m and 5m in X, Y and Z axes.",1114,1.18,10.7,-61.39,-55.77,1,0,9603,-298,159,-369,,,,,0 -382,1208,4248,4326,Derived at 6 stations.,"For military purposes only. Accuracy 6m, 8m and 12m in X, Y and Z axes.",1189,-21.05,-0.03,-84.68,-68.67,1,0,9603,-279,175,-379,,,,,0 -383,1209,4248,4326,Derived at 24 stations.,"For military purposes only. Accuracy 9m, 14m and 15m in X, Y and Z axes.",1251,0.64,16.75,-73.38,-58.95,1,0,9603,-295,173,-371,,,,,0 -384,1582,4248,4326,Derived May 1995 by Geoid for Total. OSU91A geoid model used.,Oil exploration.,2400,-14.43,-13.56,-68.96,-67.79,1,0,9603,-259.73,173.12,-398.27,,,,,0 -385,1583,4248,4326,Derived July 1997 by Geoid from data recorded by UGA for Total. OSU91A geoid model used.,Oil exploration.,2401,-21.71,-21.09,-63.44,-62.95,1,0,9603,-307.7,265.3,-363.5,,,,,0 -386,1811,4248,4326,Used by Petrobras for shelf operations.,Oil industry exploration.,1754,-1.05,5.6,-51.64,-48,1,0,9603,-291.87,106.37,-364.52,,,,,0 -387,3990,4248,4326,"Parameter values from PSAD56 to SIRGAS 1995 (1) (code 3971). Assumes SIRGAS 1995 and WGS 84 can be considered the same to within the accuracy of the transformation.","Suitable for mapping at 1:25,000 scale and smaller.",3241,-5.01,1.45,-81.03,-75.21,1,0,9607,-60.31,245.935,31.008,-12.324,-3.755,7.37,0.447,0 -388,6971,4248,4326,"Derived at 5 stations. Replaces PSAD56 to WGS 84 (3) (code 1203). Also used as a transformation from PSAD56 to SIRGAS-Chile - see code 6949.",For military purposes. Accuracy 10m in each axis.,4231,-26,-17.5,-70.79,-67,1,0,9603,-302,272,-360,,,,,0 -389,6972,4248,4326,Derived at 7 stations. Also used as a transformation from PSAD56 to SIRGAS-Chile - see code 6950.,For military purposes. Accuracy 10m in each axis.,4222,-36,-26,-72.87,-68.28,1,0,9603,-328,340,-329,,,,,0 -390,6973,4248,4326,"Derived at 6 stations. Replaces PSAD56 to WGS 84 (4) (code 1204). Info source gives S limit as 44°S but Chilean IGM states that PSAD56 limit is 43°30'S. Also used as a transformation from PSAD56 to SIRGAS-Chile - see code 6951.",For military purposes. Accuracy 10m in each axis.,4221,-43.5,-35.99,-74.48,-70.39,1,0,9603,-352,403,-287,,,,,0 -391,15967,4761,4326,"Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84. HTRS96 is a regional realisation of ETRS89.","Accuracy +/- 1 metre.",1076,41.62,46.54,13,19.43,1,0,9603,0,0,0,,,,,1 -392,1159,4250,4326,Derived at 8 stations.,"For military purposes. Accuracy 2m, 3m and 2m in X, Y and Z axes.",1104,1.4,11.16,-3.79,2.1,1,0,9603,-130,29,364,,,,,1 -393,1160,4251,4326,Derived at 4 stations.,For military purposes only. Accuracy 15m in each axis.,3270,4.29,8.52,-11.52,-7.36,1,0,9603,-90,40,88,,,,,1 -394,1887,4182,4326,Derived at 3 stations.,For military purposes only. Accuracy 20m in each axis.,1344,39.3,39.77,-31.34,-31.02,1,0,9603,-425,-169,81,,,,,1 -395,1982,4182,4326,Derived at 2 stations in 1999.,For low resolution applications.,1344,39.3,39.77,-31.34,-31.02,1,0,9603,-422.651,-172.995,84.02,,,,,0 -396,1161,4253,4326,Derived at 6 stations.,"For military purposes. Accuracy 8m, 11m and 9m in X, Y and Z axes.",2364,7.75,19.45,116.89,125.88,1,0,9603,-133,-77,-51,,,,,1 -397,1162,4253,4326,Derived at 1 station.,For military purposes. Accuracy 25m in each axis.,2365,4.99,10.52,119.76,126.65,1,0,9603,-133,-79,-72,,,,,0 -398,1529,4254,4326,"Derived through ties at 3 stations (RC03, TOTAL11 and MP12) to 3 IGS stations in November 1995",Oil exploration.,2357,-55.11,-52.59,-68.64,-63.73,1,0,9606,18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0013,0 -399,1892,4254,4326,Derived at 2 stations. As the source CRS was used for the border survey this transformation is probably also applicable to adjacent areas of Argentina.,Accuracy 25m in each axis.,2805,-55.96,-51.99,-74.83,-66.33,1,0,9603,16,196,93,,,,,1 -400,1246,4255,4326,Accuracy estimate not available.,For military purposes only.,1024,29.4,38.48,60.5,74.92,1,0,9603,-333,-222,114,,,,,1 -401,1164,4256,4326,Derived at 1 station.,For military purposes. Accuracy 25m in each axis.,2369,-4.86,-4.5,55.3,55.59,1,0,9603,41,-220,-134,,,,,1 -402,1549,4208,4326,,Oil exploration.,2307,-28.41,-17.59,-48.8,-35.18,1,1,9603,-158,315,-148,,,,,0 -403,1550,4208,4326,"Replaced by Aratu to WGS 84 (18) (tfm code 5061) which Petrobras now recommends for the area.",Oil exploration.,2308,-9.8,-8.39,-39.04,-37.09,1,0,9603,-139.62,290.53,-150.29,,,,,0 -404,1551,4208,4326,"Replaced by Aratu to WGS 84 (18) (tfm code 5061) which Petrobras now recommends for the area.",Oil exploration.,2309,-10.61,-9.79,-39.14,-37.99,1,0,9603,-141.15,293.44,-150.56,,,,,0 -405,1552,4208,4326,"Replaced by Aratu to WGS 84 (18) (tfm code 5061) which Petrobras now recommends for the area.",Oil exploration.,2310,-12.27,-10.6,-39.07,-37.98,1,0,9603,-142.48,296.03,-149.74,,,,,0 -406,10089,4208,4326,"Used by ExxonMobil for block BMS1. See WGS 84 (13) (tfm code 5051) which Petrobras now recommends for the area.",Oil exploration.,2962,-28.41,-22.66,-48.8,-40.2,1,0,9603,-163.466,317.396,-147.538,,,,,0 -407,10090,4208,4326,"Used by ExxonMobil for block BC10. Derived from earlier Shell position vector tfm of dX = -181m, dY = +294m, dZ = -144.5m, rX = rY = 0, rZ = +0.554s, dS = +0.219 ppm. See Aratu to WGS 84 (14) (tfm code 5053) which Petrobras now recommends for the area.",Oil exploration.,2963,-25.91,-20.45,-42.04,-37.11,1,0,9603,-170,305,-145,,,,,0 -408,10091,4208,4326,"Used by ExxonMobil for block BMES1. See Aratu to WGS 84 (15) (tfm code 5055) which Petrobras now recommends for the area.",Oil exploration.,2964,-22.04,-17.59,-40.37,-35.18,1,0,9603,-162.904,312.531,-137.109,,,,,0 -409,10092,4208,4326,"Used by ExxonMobil for block BP1. Also used by BG as part of a concatenated tfm to SAD69 for offshore regional studies. See WGS 84 (13) (tfm code 5051) for transformation Petrobras now recommends for the area.",Oil exploration.,2965,-35.71,-28.11,-53.38,-44.71,1,0,9603,-158,309,-151,,,,,0 -410,10093,4208,4326,"Used by ExxonMobil for offshore regional studies. See Aratu to WGS 84 (13) through (21) (tfm codes 5051-67 [odd numbers only]) which Petrobras now recommends for various areas.",Oil exploration.,2966,-34,-18,-53.38,-35.19,1,0,9603,-161,308,-142,,,,,0 -411,10094,4208,4326,Derived by IGN in 1992 at 7 stations within Nouakchott city.,Oil exploration.,2972,17.89,18.25,-16.11,-15.83,1,1,9603,124.5,-63.5,-281,,,,,0 -412,15710,4208,4326,"Replaced by Aratu to WGS 84 (14) (tfm code 5053) which Petrobras now recommends for the area.",Oil exploration.,2963,-25.91,-20.45,-42.04,-37.11,1,0,9603,-160,315,-142,,,,,0 -413,15711,4208,4326,"Replaced by Aratu to WGS 84 (13) (tfm code 5051) which Petrobras now recommends for the area.",Oil exploration.,2962,-28.41,-22.66,-48.8,-40.2,1,0,9603,-158,309,-147,,,,,0 -414,15712,4208,4326,"Replaced by Aratu to WGS 84 (15) (tfm code 5055) which Petrobras now recommends for the area.",Oil exploration.,2964,-22.04,-17.59,-40.37,-35.18,1,0,9603,-161,310,-145,,,,,0 -415,5051,4208,4326,"Parameters from Aratu to SIRGAS 2000 (1) (tfm code 5050) assuming that SIRGAS 2000 and WGS 84 are equal within the accuracy of the transformation. Petrobras preferred parameters for all purposes in the area. Replaces tfm codes 15711 and 15734.",Oil exploration.,3700,-35.71,-22.66,-53.38,-40.2,1,0,9603,-157.84,308.54,-146.6,,,,,0 -416,5053,4208,4326,"Parameters from Aratu to SIRGAS 2000 (2) (tfm code 5052) assuming that SIRGAS 2000 and WGS 84 are equal within the accuracy of the transformation. Petrobras preferred parameters for all purposes in the area. Replaces tfm codes 15710 and 15754.",Oil exploration.,2963,-25.91,-20.45,-42.04,-37.11,1,0,9603,-160.31,314.82,-142.25,,,,,0 -417,5055,4208,4326,"Parameters from Aratu to SIRGAS 2000 (3) (tfm code 5054) assuming that SIRGAS 2000 and WGS 84 are equal within the accuracy of the transformation. Petrobras preferred parameters for all purposes in the area. Replaces tfms 15712 and 15754.",Oil exploration.,2964,-22.04,-17.59,-40.37,-35.18,1,0,9603,-161.11,310.25,-144.64,,,,,0 -418,5057,4208,4326,"Parameters from Aratu to SIRGAS 2000 (4) (tfm code 5056) assuming that SIRGAS 2000 and WGS 84 are equal within the accuracy of the transformation. Petrobras preferred parameters for all purposes in the area.",Oil exploration.,3699,-17.7,-13.01,-39.22,-34.6,1,0,9603,-160.4,302.29,-144.19,,,,,0 -419,5059,4208,4326,"Parameters from Aratu to SIRGAS 2000 (5) (tfm code 5058) assuming that SIRGAS 2000 and WGS 84 are equal within the accuracy of the transformation. Petrobras preferred parameters for all purposes in the area.",Oil exploration.,3692,-13.57,-11.18,-39.09,-35.31,1,0,9603,-153.54,302.33,-152.37,,,,,0 -420,5061,4208,4326,"Parameters from Aratu to SIRGAS 2000 (6) (tfm code 5060) assuming that SIRGAS 2000 and WGS 84 are equal within the accuracy of the transformation. Petrobras preferred parameters for all purposes in the area. Replaces tfms 1550-1552.",Oil exploration.,3693,-12.27,-8.39,-39.14,-37.09,1,0,9603,-151.5,300.09,-151.15,,,,,0 -421,5063,4208,4326,"Parameters from Aratu to SIRGAS 2000 (7) (tfm code 5062) assuming that SIRGAS 2000 and WGS 84 are equal within the accuracy of the transformation. Petrobras preferred parameters for all purposes in the area.",Oil exploration.,3696,-13.58,-8.73,-37.34,-32.01,1,0,9603,-156.8,298.41,-147.41,,,,,0 -422,5065,4208,4326,"Parameters from Aratu to SIRGAS 2000 (8) (tfm code 5064) assuming that SIRGAS 2000 and WGS 84 are equal within the accuracy of the transformation.Petrobras preferred parameters for all purposes in the area.",Oil exploration.,3697,-10.17,-4.6,-35.1,-29.13,1,0,9603,-157.4,295.05,-150.19,,,,,0 -423,5067,4208,4326,"Parameters from Aratu to SIRGAS 2000 (9) (tfm code 5066) assuming that SIRGAS 2000 and WGS 84 are equal within the accuracy of the transformation. Petrobras preferred parameters for all purposes in the area.",Oil exploration.,3698,-6.5,4.26,-44.79,-26,1,0,9603,-151.99,287.04,-147.45,,,,,1 -424,15754,4208,4326,"Mean for 3 basins. See Aratu to WGS 84 (10) through (12) (codes 15710-12) for transformations for individual basins. Replaced by Aratu to WGS 84 (13) through (15) (tfm codes 5051, 5053 and 5055) which Petrobras now recommends for the areas.",Oil exploration.,2307,-28.41,-17.59,-48.8,-35.18,1,0,9603,-158,315,-148,,,,,0 -425,1149,4258,4326,,ETRS89 and WGS 84 are realisations of ITRS coincident to within 1 metre. This transformation has an accuracy equal to the coincidence figure.,1298,32.88,84.17,-16.1,40.18,1,0,9603,0,0,0,,,,,1 -426,1571,4258,4326,"Dutch sources also quote an equivalent transformation with parameter values dX=+593.032 dY=+26.000 dZ=+478.741m, rX rY rZ and dS as this tfm. These values belong to a different transformation method and cannot be used with the Coordinate Frame method.",Accuracy 0.5m,1172,50.75,55.77,2.53,7.22,1,1,9607,565.04,49.91,465.84,0.409394,-0.359705,1.86849,4.0772,0 -427,1330,4259,4326,"Derived at Station Y in April 1989 using 572 transit satellite passes. Computed value for dZ was -96.42 but -96.38 has been utilised. Replaced Malongo 1987 to WGS 84 (3) (code 15791) in 1989. Replaced by Malongo 1987 to WGS 84 (2) (code 1557) in 1990.",Offshore oil exploration and production between April 1989 and June 1990.,3180,-6.04,-5.05,10.53,12.37,1,0,9603,-252.95,-4.11,-96.38,,,,,0 -428,1557,4259,4326,"Derived at station Y in July 1990 through Transit single point positioning using 187 passes by Geodetic Survey Ltd. Replaces Malongo 1987 to WGS 84 (1) (trf code 1330).",Offshore oil exploration and production from June 1990.,3180,-6.04,-5.05,10.53,12.37,1,0,9603,-254.1,-5.36,-100.29,,,,,1 -429,15791,4259,4326,"Derived via WGS 72BE by Geodetic for Chevron in 1987 by single point Transit translocation at 1 station (Malongo Y). Replaced in 1989 by Malongo 1987 to WGS 84 (1) (code 1330).",Oil industry exploration and production between September 1987 and April 1989.,3180,-6.04,-5.05,10.53,12.37,1,0,9603,-259.99,-5.28,-97.09,,,,,0 -430,1316,4260,4326,,"?",1060,1.65,13.09,8.32,16.21,1,1,9603,-70.9,-151.8,-41.4,,,,,0 -431,1166,4261,4326,Derived at 9 stations.,"For military purposes. Accuracy 5m, 3m and 3m in X, Y and Z axes.",3280,27.66,35.97,-13.24,-1.01,1,0,9603,31,146,47,,,,,1 -432,1165,4262,4326,Derived at 1 station.,For military purposes only. Accuracy 25m in each axis.,1089,12.36,18.1,36.44,43.31,1,0,9603,639,405,60,,,,,1 -433,1067,4263,4326,"Used by Statoil for deep water blocks 210, 213, 217 and 218. Parameter values interpolated from Racal Survey geocentric translation contour charts for each of these four blocks and then meaned.",Oil industry exploration and production.,3817,3.24,5.54,4.41,6.29,1,0,9603,-92.1,-89.9,114.9,,,,,0 -434,1167,4263,4326,"Derived at 2 stations. Note: Minna is used in Nigeria, not Cameroon.",For military purposes only. Accuracy 25m in each axis.,3226,1.65,13.09,8.45,16.21,1,0,9603,-81,-84,115,,,,,0 -435,1168,4263,4326,Derived at 6 stations.,"For military purposes. Accuracy 3m, 6m and 5m in X, Y and Z axes.",1178,1.92,13.9,2.66,14.65,1,0,9603,-92,-93,122,,,,,1 -436,1534,4263,4326,,Oil exploration.,2371,4.22,6.95,4.35,9.45,1,1,9606,-111.92,-87.85,114.5,1.875,0.202,0.219,0.032,0 -437,1754,4263,4326,"Derived at 8 stations across the Niger delta. Used by Shell SPDC throughout southern Nigeria onshore, delta and shallow offshore from 1994 and by Total in OPL246. Sometimes given with parameter values to greater resolution; values here are adequate.",Oil exploration.,2371,4.22,6.95,4.35,9.45,1,0,9606,-111.92,-87.85,114.5,1.875,0.202,0.219,0.032,0 -438,1818,4263,4326,Concatenated via WGS 72BE.,Oil industry operations.,1717,1.92,6.14,2.66,7.82,1,0,9606,-89,-112,125.9,0,0,0.814,-0.38,0 -439,1819,4263,4326,Used by Shell in southern Nigeria and Total in OPL246.,Oil industry operations.,2371,4.22,6.95,4.35,9.45,1,1,9606,-111.92,-87.85,114.5,1.875,0.202,0.219,0.032,0 -440,1820,4263,4326,Derived by Nortech at station L40 Minna using NNPC 1989 GPS network tied to 4 ADOS stations. Used by Conoco in OPLs 219-220 to cm precision and ExxonMobil in OPL 209 to dm precision..,Oil industry operations.,3813,3.25,5.54,4.01,6.96,1,0,9603,-93.2,-93.31,121.156,,,,,0 -441,1821,4263,4326,"Derived by Elf Petroleum Nigeria in 1994 at 3 stations (M101 onshore, offshore platforms XSW06 and XSV39) and used in OMLs 99-102 and OPLs 222-223.",Oil industry operations.,3814,3.25,4.51,7.16,8.25,1,0,9603,-88.98,-83.23,113.55,,,,,0 -442,1822,4263,4326,"Used by Shell SNEPCO for OPLs 209-213 and 316. Derived during 1990 Niger Delta control survey at 4 stations (XSU27, 30 31 and 35).",Oil industry exploration and production.,3815,4.22,6.31,3.83,5.17,1,0,9603,-92.726,-90.304,115.735,,,,,0 -443,1823,4263,4326,"Used by Shell SNEPCO for OPLs 217-223. Derived during 1990 Niger Delta control survey at 4 stations (XSU38, 41, 44 and 45).",Oil industry exploration and production.,3816,3.24,3.86,5.58,8,1,0,9603,-93.134,-86.647,114.196,,,,,0 -444,1824,4263,4326,Used by Shell SNEPCO for Gongola basin.,Oil industry exploration and production.,3824,8.78,11.63,9.41,12.13,1,0,9603,-93,-94,124,,,,,0 -445,15706,4263,4326,Used by Elf in Blocks OPL 222 and OPL 223 and by Mobil in 1994.,Oil industry exploration.,1717,1.92,6.14,2.66,7.82,1,0,9603,-93.6,-83.7,113.8,,,,,0 -446,15705,4263,4326,"Derived via WGS 72(BE). Minna to WGS 72(BE) transformation derived in 1981 for Mobil E&P Nigeria (MEPCON) by Geodetic Survey through Transit translocation at six stations in southern Nigeria. Used by MEPCON in blocks OPL 215 and 221.",Oil industry exploration.,3819,3.25,4.23,5.02,7.31,1,0,9606,-83.13,-104.95,114.63,0,0,0.554,0,0 -447,6196,4263,4326,Used by Addax for OPL 118 and OML 124. Derived in 1999 at 4 stations during extension into OPL 118 of control in Chevron block OML 53.,Oil industry exploration and production.,4127,5.56,5.74,6.72,6.97,1,0,9603,-93.179,-87.124,114.338,,,,,0 -448,15493,4263,4326,"Adopted by MPN for all joint venture operations from 1/1/1996.",Oil industry exploration and production.,3590,3.99,5.01,5.99,8.01,1,0,9603,-94.031,-83.317,116.708,,,,,0 -449,15755,4263,4326,Derived in 1995 at unspecified DMA ADOS stations and Racal stations M101 and ZVS3003. Used by Elf in onshore Block OML 58.,Oil industry exploration and production. Accuracy 0.5m.,3113,5.05,5.36,6.53,6.84,1,0,9603,-90.2,-87.32,114.17,,,,,0 -450,1329,4264,4326,"Superseded in 1990 by trf Malongo 1987 to WGS 84 (2), code 1557. Malongo 1987 is an offshore extension of the Mhast cooordinate system.","Used for oil exploration by Chevron until superseded in 1990 by trf Malongo 1987 to WGS 84 (2), code 1557.",1317,-6.04,-5.05,10.53,12.18,1,1,9603,-252.95,-4.11,-96.38,,,,,0 -451,1088,4265,4326,,Oil exploration and production,2882,43.62,45.73,12.22,13.96,1,0,9603,-223.7,-67.38,1.34,,,,,0 -452,1089,4265,4326,,Oil exploration and production,2883,41.95,44.04,13.61,16.14,1,0,9603,-225.4,-67.7,7.85,,,,,0 -453,1090,4265,4326,,Oil exploration and production,2884,40.72,42.28,15.95,18.63,1,0,9603,-227.1,-68.1,14.4,,,,,0 -454,1091,4265,4326,,Marine navigation,2885,39.77,41.03,17.95,18.99,1,0,9603,-231.61,-68.21,13.93,,,,,0 -455,1092,4265,4326,,Marine navigation,2886,37.67,40.47,16.55,18.93,1,0,9603,-225.06,-67.37,14.61,,,,,0 -456,1093,4265,4326,,Marine navigation,2887,35.22,37.48,13,15.16,1,0,9603,-229.08,-65.73,20.21,,,,,0 -457,1094,4265,4326,,Marine navigation,2888,35.28,38.45,10.68,13.01,1,0,9603,-230.47,-56.08,22.43,,,,,0 -458,1169,4265,4326,Derived at 1 station.,For military purposes. Accuracy 25m in each axis.,2339,38.82,41.31,8.08,9.89,1,0,9603,-225,-65,9,,,,,0 -459,1660,4265,4326,"Parameter values from Monte Mario to ETRS89 (1) (code 1659). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.","Accuracy: 4 metres",2372,37.86,47.1,6.62,18.58,1,0,9606,-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68,1 -460,1662,4265,4326,"Parameter values from Monte Mario to ETRS89 (2) (code 1661). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.","Accuracy: 4 metres",2339,38.82,41.31,8.08,9.89,1,0,9606,-168.6,-34,38.6,-0.374,-0.679,-1.379,-9.48,0 -461,1664,4265,4326,"Parameter values from Monte Mario to ETRS89 (3) (code 1663). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.","Accuracy: 4 metres",2340,36.59,38.35,12.36,15.71,1,0,9606,-50.2,-50.4,84.8,-0.69,-2.012,0.459,-28.08,0 -462,1163,4266,4326,Derived at 1 station.,For military purposes only. Accuracy 25m in each axis.,1100,-6.37,2.32,7.03,14.52,1,0,9603,-74,-130,42,,,,,1 -463,1532,4266,4326,Derived as mean of Doris determinations at 3 stations in Port Gentil area in 1994.,Oil exploration.,1100,-6.37,2.32,7.03,14.52,1,0,9603,-80.7,-132.5,41.1,,,,,0 -464,1170,4267,4326,Derived at 15 stations.,"For military purposes. Accuracy 3m, 9m and 12m in X, Y and Z axes.",2418,13,23.25,-85.01,-59.37,1,0,9603,-3,142,183,,,,,0 -465,1171,4267,4326,Derived at 19 stations.,"For military purposes only. Accuracy 8m, 3m and 5m in X, Y and Z axes.",2419,7.98,18.49,-92.29,-82.53,1,0,9603,0,125,194,,,,,0 -466,1172,4267,4326,Derived at 112 stations.,"For military purposes only. Accuracy 15m, 11m and 6m in X, Y and Z axes.",1061,40.04,86.46,-141.01,-47.74,1,0,9603,-10,158,187,,,,,1 -467,1173,4267,4326,Derived at 405 stations.,"For military purposes only. Accuracy 5m, 5m and 6m in X, Y and Z axes.",1323,24.41,49.38,-124.79,-66.91,1,0,9603,-8,160,176,,,,,0 -468,1174,4267,4326,Derived at 129 stations.,"For military purposes only. Accuracy 5m, 5m and 8m in X, Y and Z axes.",2389,24.41,49.38,-97.22,-66.91,1,0,9603,-9,161,179,,,,,0 -469,1175,4267,4326,Derived at 276 stations.,"For military purposes only. Accuracy 5m, 3m and 3m in X, Y and Z axes.",2390,25.83,49.05,-124.79,-89.64,1,0,9603,-8,159,175,,,,,0 -470,1176,4267,4326,Derived at 47 stations.,"For military purposes only. Accuracy 5m, 9m and 5m in X, Y and Z axes.",2412,54.34,71.4,-168.26,-129.99,1,0,9603,-5,135,172,,,,,0 -471,1177,4267,4326,Derived at 11 stations.,"For military purposes. Accuracy 5m, 3m and 5m in X, Y and Z axes.",2413,20.86,27.29,-79.04,-72.68,1,0,9603,-4,154,178,,,,,0 -472,1178,4267,4326,Derived at 1 station.,For military purposes. Accuracy 25m in each axis.,2414,23.9,24.19,-74.6,-74.37,1,0,9603,1,140,165,,,,,0 -473,1179,4267,4326,Derived at 25 stations.,"For military purposes only. Accuracy 8m, 8m and 6m in X, Y and Z axes.",2384,48.25,60.01,-139.04,-109.98,1,0,9603,-7,162,188,,,,,0 -474,1180,4267,4326,Derived at 25 stations.,"For military purposes only. Accuracy 9m, 5m and 5m in X, Y and Z axes.",2415,41.67,60.01,-102,-74.35,1,0,9603,-9,157,184,,,,,0 -475,1181,4267,4326,Derived at 37 stations.,"For military purposes only. Accuracy 6m, 6m and 3m in X, Y and Z axes.",2416,43.41,62.62,-79.85,-52.54,1,0,9603,-22,160,190,,,,,0 -476,1182,4267,4326,Derived at 17 stations.,"For military purposes only. Accuracy 5m, 5m and 3m in X, Y and Z axes.",2410,49,83.17,-136.46,-60.72,1,0,9603,4,159,188,,,,,0 -477,1183,4267,4326,Derived at 8 stations.,"For military purposes only. Accuracy 5m, 8m and 3m in X, Y and Z axes.",2417,59.99,69.7,-141.01,-123.91,1,0,9603,-7,139,181,,,,,0 -478,1184,4267,4326,Derived at 3 stations.,For military purposes. Accuracy 20m in each axis.,2385,8.82,9.45,-80.07,-79.46,1,0,9603,0,125,201,,,,,0 -479,1185,4267,4326,Derived at 1 station.,For military purposes. Accuracy 25m in each axis.,3235,19.77,23.25,-85.01,-74.07,1,0,9603,-9,152,178,,,,,0 -480,1186,4267,4326,"Derived at 2 stations. Note: NAD27 is not used in Greenland.",For military purposes. Accuracy 25m in each axis.,2386,75.86,79.2,-73.29,-60.98,1,0,9603,11,114,195,,,,,0 -481,1187,4267,4326,Derived at 22 stations.,"For military purposes only. Accuracy 8m, 6m and 6m in X, Y and Z axes.",3278,14.51,32.72,-118.47,-86.68,1,0,9603,-12,130,190,,,,,0 -482,1249,4267,4326,Derived at 6 stations.,"For military purposes only. Accuracy 6m, 8m and 10m in X, Y and Z axes.",2387,51.54,54.34,-178.3,-164.84,1,0,9603,-2,152,149,,,,,0 -483,1250,4267,4326,Derived at 5 stations.,For military purposes. Accuracy 10m in each axis.,2388,51.3,53.07,172.42,179.86,1,0,9603,2,204,105,,,,,0 -484,1530,4267,4326,,Accuracy 3m.,1077,18.83,25.51,-87.01,-73.57,1,0,9603,-4.2,135.4,181.9,,,,,0 -485,15699,4267,4326,"Developed by John E Chance and Associates at 19°44'N, 92°21'W. Geoid height used =-13.34m.","Oil exploration and production. Horizontal transformation accuracy (1 sigma) is considered to be at the +/- 5 meter level.",3462,17.85,20.89,-94.79,-89.75,1,0,9603,-2,124.7,196,,,,,0 -486,15913,4267,4326,"Developed by John E Chance and Associates at 21°33'N, 92°33'W. Geoid height used =-16.7m.","Oil exploration and production. Horizontal transformation accuracy (1 sigma) is considered to be at the +/- 5 meter level.",3461,20.87,23.01,-94.33,-88.67,1,0,9603,0,125,196,,,,,0 -487,15852,4267,4326,"Developed by John E Chance and Associates. Replaced by NAD27 to WGS 84 (79) (tfm code 15851).","Oil exploration and production. Horizontal transformation accuracy (1 sigma) is considered to be at the +/- 5 meter level.",3358,23.82,30.25,-87.25,-81.17,1,0,9603,-3,154,177,,,,,0 -488,15853,4267,4326,"Developed by John E Chance and Associates. Replaced by NAD27 to WGS 84 (79) (tfm code 15851).","Oil exploration and production. Horizontal transformation accuracy (1 sigma) is considered to be at the +/- 5 meter level.",3359,25.61,30.23,-95,-87.25,1,0,9603,-7,151,175,,,,,0 -489,15854,4267,4326,"Developed by John E Chance and Associates. Replaced by NAD27 to WGS 84 (79) (tfm code 15851).","Oil exploration and production. Horizontal transformation accuracy (1 sigma) is considered to be at the +/- 5 meter level.",3360,25.97,28.97,-97.22,-95,1,0,9603,-7,151,178,,,,,0 -490,15855,4267,4326,"Developed by John E Chance and Associates at 21°55'N, 97°20'W. Geoid height used =-17m.","Oil exploration and production. Horizontal transformation accuracy (1 sigma) is considered to be at the +/- 5 meter level.",3361,21.51,22.75,-98.1,-96.89,1,0,9603,-8,125,190,,,,,0 -491,15856,4267,4326,"Developed by EnSoCo Inc. Replaced by NAD27 to WGS 84 (79) (tfm code 15851).",Oil exploration and production. Accuracy 8 metres.,3357,23.82,30.25,-97.22,-81.17,1,0,9603,-7,158,172,,,,,0 -492,7698,4267,4326,"Derived at stations in the provinces of Colón, Panamá, Coclé, Veraguas, -Herrera, Los Santos y Chiriquí. Standard deviation 0.871m in north and 0.531m in east.",Accuracy 1m.,3290,7.15,9.68,-83.04,-77.19,1,0,9607,-32.3841359,180.4090461,120.8442577,2.1545854,0.1498782,-0.5742915,8.1049164,0 -493,15978,4267,4326,,Accuracy 1m.,1077,18.83,25.51,-87.01,-73.57,1,0,9607,2.478,149.752,197.726,-0.526,-0.498,0.501,0.685,0 -494,1188,4269,4326,Derived at 354 stations.,Accuracy 2m in each axis.,1325,23.81,86.46,-172.54,-47.74,1,0,9603,0,0,0,,,,,1 -495,1251,4269,4326,Derived at 4 stations.,"For military purposes only. Accuracy 5m, 2m and 5m in X, Y and Z axes.",2157,51.3,54.34,172.42,-164.84,1,0,9603,-2,0,4,,,,,0 -496,1252,4269,4326,Derived at 6 stations.,For military purposes only. Accuracy 2m in each axis.,3883,15.56,25.58,-163.74,-151.27,1,0,9603,1,1,-1,,,,,0 -497,1308,4269,4326,"Strictly between NAD83 and ITRF94(1996.0). Superseded by NAD83 to WGS 84 (5) (code 1515).",Historical record only - superseded - see remarks.,1323,24.41,49.38,-124.79,-66.91,1,1,9607,-0.9738,1.9453,0.5486,-0.0275508,-0.010049,-0.011359,0,0 -498,1515,4269,4326,"Strictly between NAD83 and ITRF96(1997.0). Supersedes NAD83 to WGS 84 (4) (code 1308).",Geodesy.,1323,24.41,49.38,-124.79,-66.91,1,1,9607,-0.991,1.9072,0.5129,-0.02578991,-0.00965010,-0.0116599,0,0 -499,1189,4270,4326,Derived at 2 stations.,For military purposes. Accuracy 25m in each axis.,2391,20.12,20.74,58.58,59.01,1,0,9603,-247,-148,369,,,,,0 -500,1190,4270,4326,Derived at 3 stations.,For military purposes. Accuracy 20m in each axis.,3968,24.63,28.57,47.95,50.81,1,0,9603,-243,-192,477,,,,,0 -501,1191,4270,4326,Derived at 2 stations.,For military purposes. Accuracy 25m in each axis.,1243,22.63,26.27,51.5,57.13,1,0,9603,-249,-156,381,,,,,1 -502,1531,4270,4326,Parameter values adopted by Total are mean of those derived by Oceonics and Geoid through ties at platform AK1 to 4 IGS stations in March 1995.,Oil exploration.,2392,25.33,25.54,53.03,53.4,1,0,9603,-245,-153.9,382.8,,,,,0 -503,1536,4270,4326,"Derived by Brown & Root in 1992 for Qatar General Petroleum Corporation North Field development. Adopted by QGPC for all offshore Qatar.",Oil exploration.,2406,24.64,27.05,50.55,53.04,1,0,9603,-250.2,-153.09,391.7,,,,,0 -504,15937,4270,4326,Parameter values adopted by Total are mean of those derived by Oceonics and Geoid through ties at station TC58 to 4 IGS stations in March 1995.,Oil exploration.,3509,24,25.64,51.5,54.85,1,0,9603,-245.8,-152.2,382.9,,,,,0 -505,15938,4270,4326,Derived via WGS 72BE from Transit observations at station TC58 in 1976 by BP for ADMA.,Oil exploration.,3509,24,25.64,51.5,54.85,1,0,9606,-225.4,-158.7,380.8,0,0,0.814,-0.38,0 -506,15871,4270,4326,Derived by concatenation of parameter values published by IGN Paris from Nahrwan 1967 to WGS 72 at the Nahrwan SE Base trig station near Baghdad with DMA WGS 72 to WGS 84 parameter values.,Oil exploration.,3625,29.06,37.39,38.79,48.61,1,1,9603,-242.2,-144.9,370.3,,,,,0 -507,6998,4270,4326,Derived via WGS 72 but provenance uncertain. In ADMA replaces tfm code 15938. In ADCO replaced by tfm code 6999 from October 2013.,Oil exploration and production.,4226,22.63,25.64,51.5,56.03,1,0,9607,-233.4,-160.7,381.5,0,0,-0.554,0.2263,0 -508,6999,4270,4326,"Derived in October 2013 at four control points of the ADCO CRF and evaluated at four others. Estimated horizontal accuracy of 0.14 m at the 95% confidence level.","Oil exploration and production horizontal coordinate transformation. Although a 3D transformation, should not be used for vertical dimension.",4225,22.63,24.95,51.56,56.03,1,0,9607,-253.4392,-148.452,386.5267,-0.15605,-0.43,0.1013,-0.0424,0 -509,7002,4270,4326,,Abu Dhabi Municipality GIS.,4229,24.24,24.64,54.2,54.71,1,0,9607,-246.1633,-152.9047,382.6047,-0.0989,-0.1382,-0.0768,2.1e-06,0 -510,7003,4270,4326,,Abu Dhabi Municipality GIS.,1850,22.76,24.32,51.56,54.01,1,0,9607,-242.8907,-149.0671,384.416,-0.19044,-0.24987,-0.13925,0.0001746,0 -511,7004,4270,4326,,Abu Dhabi Municipality GIS.,4227,22.63,24.95,53.99,56.03,1,0,9607,-246.734,-153.4345,382.1477,0.116617,0.165167,0.091327,1.94e-05,0 -512,15952,4270,4326,"Used by DPC for Al Fateh field. Applying this transformation gives same result as Nahrwan 1967 to WGS 84 (8) (code 15938).",Oil exploration and production.,3530,24.94,25.8,54.06,55.3,1,0,9603,-244.2,-149.8,379.3,,,,,0 -513,15953,4270,4326,Used by Dubai Municipality before 1994.,Municipal operations.,3531,24.85,25.34,54.84,55.55,1,0,9603,-250.7,-157.9,380.4,,,,,0 -514,1192,4271,4326,"CAUTION: OGP believes that these parameter values include a blunder and that if NIMA transformation parameters are to be used the 1987 version (EPSG code 1307) be used.",For military purposes only. Accuracy given by NIMA 15m in each axis. EPSG believes there is an 8-10m blunder in dX.,1322,11.09,11.4,-60.9,-60.47,1,0,9603,-10,375,165,,,,,1 -515,1307,4271,4326,"(1) See remarks for tfm code 1192. (2) Naparima 1972 is an extension to Tobago of the Napaima 1955 geographic CRS of Trindad. In Trinidad this transformation may also be considered to use Napaima 1955 (code 4158) as its source CRS: see tfm code 1556.",For military purposes only. Accuracy 15m in each axis.,1322,11.09,11.4,-60.9,-60.47,1,0,9603,-2,374,172,,,,,0 -516,1151,4272,4326,Derived at 14 stations.,"For military purposes only. Accuracy 5m, 3m and 5m in X, Y and Z axes.",3285,-47.65,-33.89,165.87,179.27,1,0,9603,84,-22,209,,,,,0 -517,1564,4272,4326,"These parameter values are taken from NZGD49 to NZGD2000 (2) (code 1701) and assume that NZGD2000 and WGS 84 are coincident to within the accuracy of the transformation. For improved accuracy use NZGD49 to WGS 84 (4) (code 1670).",Transformation accuracy about 4 metres.,3285,-47.65,-33.89,165.87,179.27,1,0,9607,59.47,-5.04,187.44,-0.47,0.1,-1.024,-4.5993,1 -518,15975,4272,4326,"These parameter values are taken from NZGD49 to NZGD2000 (1) (code 1566) and assume that NZGD2000 and WGS 84 are coincident to within the accuracy of the tfm. For better accuracy use NZGD49 to WGS 84 (2) (code 1564) or NZGD49 to WGS 84 (3) (code 1670).",5m accuracy.,3285,-47.65,-33.89,165.87,179.27,1,0,9603,54.4,-20.1,183.1,,,,,0 -519,1654,4273,4326,"Parameter values from NGO 1948 to ETRS89 (1) (code 1653). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 3 metres.,1352,57.93,71.21,4.68,31.22,1,0,9606,278.3,93,474.5,7.889,0.05,-6.61,6.21,1 -520,1658,4274,4326,"Parameter values from Datum 73 to ETRS89 (1) (code 1657). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation. Replaced by Datum 73 to WGS 84 (4) (tfm code 1987).",For applications to an accuracy of 2 metres.,1294,36.95,42.16,-9.56,-6.19,1,0,9606,-238.2,85.2,29.9,0.166,0.046,1.248,2.03,0 -521,1945,4274,4326,"Parameter values from Datum 73 to ETRS89 (2) (code 1792). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,1294,36.95,42.16,-9.56,-6.19,1,1,9606,-231,102.6,29.8,0.615,-0.198,0.881,1.79,0 -522,1983,4274,4326,,For low resolution applications.,1294,36.95,42.16,-9.56,-6.19,1,0,9603,-223.237,110.193,36.649,,,,,1 -523,1987,4274,4326,,For medium resolution applications.,1294,36.95,42.16,-9.56,-6.19,1,0,9607,-239.749,88.181,30.488,-0.263,-0.082,-1.211,2.229,0 -524,1193,4275,4326,"These same parameter values are used to transform to ETRS89. See NTF to ETRS89 (1) (code 1651).",For applications to an accuracy of 2 metres.,3694,41.31,51.14,-4.87,9.63,1,0,9603,-168,-60,320,,,,,1 -525,1195,4277,4326,Derived at 38 stations.,"For military purposes only. Accuracy 10m, 10m and 15m in X, Y and Z axes.",1264,49.79,60.94,-8.82,1.92,1,0,9603,375,-111,431,,,,,0 -526,1196,4277,4326,Derived at 24 stations.,"For military purposes only. Accuracy 5m, 5m and 6m in X, Y and Z axes.",2395,49.81,55.85,-6.5,1.84,1,0,9603,371,-112,434,,,,,0 -527,1197,4277,4326,Derived at 25 stations.,"For military purposes only. Accuracy 10m, 10m and 15m in X, Y and Z axes.",2396,49.81,55.85,-6.5,1.84,1,0,9603,371,-111,434,,,,,0 -528,1198,4277,4326,Derived at 13 stations.,For military purposes only. Accuracy 10m in each axis.,2397,54.57,60.9,-8.74,-0.65,1,0,9603,384,-111,425,,,,,0 -529,1199,4277,4326,Derived at 3 stations.,For military purposes only. Accuracy 20m in each axis.,2398,51.28,53.48,-5.34,-2.65,1,0,9603,370,-108,434,,,,,0 -530,1314,4277,4326,"For a more accurate transformation see OSGB 1936 / British National Grid to ETRS89 (2) (code 1039): contact the Ordnance Survey of Great Britain (http://www.gps.gov.uk/gpssurveying.asp) for details.",Oil exploration. Accuracy better than 4m and generally better than 2m.,1264,49.79,60.94,-8.82,1.92,1,0,9606,446.448,-125.157,542.06,0.15,0.247,0.842,-20.489,1 -531,5622,4277,4326,Derived by CGG for 1994 3D seismic survey.,Oil exploration and production.,3893,50.53,50.8,-2.2,-1.68,1,0,9603,370.936,-108.938,435.682,,,,,0 -532,7898,7881,4326,"Parameter values from Tritan St. Helena to SHGD2015 (1) (tfm code 7897). Assumes Tritan St. Helena and SHGD2015 can be considered the same to within the accuracy of the transformation.",For applications requiring an accuracy of better than 1 metre.,3183,-16.08,-15.85,-5.85,-5.58,1,0,9603,-0.077,0.079,0.086,,,,,1 -533,4560,4558,4326,"Approximation at the +/- 1m level assuming that RRAF91 is equivalent to WGS 84 within the accuracy of the transformation.","Accuracy +/- 1 metre.",2824,14.08,18.54,-63.66,-57.52,1,0,9603,0,0,0,,,,,1 -534,1074,4281,4326,"Not recognised by Survey of Israel. See Palestine 1923 to WGS 84 (2) (code 8650).","Oil Exploration. Accuracy: 1m to north and 5m to south of east-west line through Beersheba (31°15'N).",2603,29.45,33.28,34.17,35.69,1,0,9606,-275.7224,94.7824,340.8944,-8.001,-4.42,-11.821,1,1 -535,1200,4282,4326,Derived at 1 station.,For military purposes only. Accuracy 25m in each axis.,1072,-6.91,3.72,8.84,18.65,1,0,9603,-148,51,-291,,,,,1 -536,1801,4282,4326,"Derived in 1994 by CGG/Topnav using DORIS system on various stations along the coastline.","?",2574,-6.91,-3.55,8.84,12.34,1,0,9603,-145,52.7,-291.6,,,,,0 -537,1802,4282,4326,Derived by Geoid for Elf in May 1995 using GPS and IGS data by tying 4 geodetic points to ITRF93 epoch 1995.4.,Used by Elf since May 1995 for all offshore Congo operations.,2574,-6.91,-3.55,8.84,12.34,1,0,9606,-178.3,-316.7,-131.5,5.278,6.077,10.979,19.166,0 -538,1150,4283,4326,,GDA94 is a realisation of WGS 84 coincident to within 1 metre. This transformation has an accuracy equal to the coincidence figure.,2575,-43.7,-9.86,112.85,153.69,1,0,9603,0,0,0,,,,,1 -539,1254,4284,4326,Accuracy estimate not available.,For military purposes.,1198,39.87,85.2,18.92,-168.97,1,0,9603,28,-130,-95,,,,,0 -540,1267,4284,4326,"Derived through concatenation of Pulkovo 1942 to PZ-90 (1) (tfm code 15844) and PZ-90 to WGS 84 (2) (tfm code 1244. Mandated for use in Russia by GOST R 51794-2001, but this has been superseded by GOST R 51794-2008. Replaced by tfm code 5044.",Accuracy 4 metres.,1198,39.87,85.2,18.92,-168.97,1,0,9607,23.92,-141.27,-80.9,0,-0.35,-0.82,-0.12,1 -541,1287,4284,4326,Derived at 5 stations.,For military purposes. Accuracy 2m in each axis.,1119,45.74,48.58,16.11,22.9,1,1,9603,28,-121,-77,,,,,0 -542,1288,4284,4326,Derived at 11 stations.,"For military purposes only. Accuracy 4m, 2m and 4m in X, Y and Z axes.",1192,49,55.93,14.14,24.15,1,1,9603,23,-124,-82,,,,,0 -543,1289,4284,4326,Derived at 6 stations.,"For military purposes only. Accuracy 3m, 3m and 2m in X, Y and Z axes.",1306,47.73,51.06,12.09,22.56,1,1,9603,26,-121,-78,,,,,0 -544,1290,4284,4326,Derived at 5 stations.,For military purposes. Accuracy 2m in each axis.,1139,55.67,58.09,19.06,28.24,1,0,9603,24,-124,-82,,,,,0 -545,1291,4284,4326,Derived at 2 stations.,For military purposes. Accuracy 25m in each axis.,1131,40.59,55.45,46.49,87.35,1,0,9603,15,-130,-84,,,,,0 -546,1292,4284,4326,Derived at 7 stations.,For military purposes. Accuracy 3m in each axis.,1025,39.63,42.67,18.46,21.06,1,1,9603,24,-130,-92,,,,,0 -547,1293,4284,4326,Derived at 4 stations.,"For military purposes. Accuracy 3m, 5m and 3m in X, Y and Z axes.",1197,43.44,48.27,20.26,31.41,1,1,9603,28,-121,-77,,,,,0 -548,1303,4284,4326,Mean of 13 stations along entire Kazak coastline.,Residuals under 2 m.,2405,41.15,46.97,48.9,53.15,1,0,9606,43.822,-108.842,-119.585,1.455,-0.761,0.737,0.549,0 -549,1334,4284,4326,,"?",3246,57.52,59.75,21.74,28.2,1,0,9607,21.58719,-97.54127,-60.92546,-1.01378,-0.58117,-0.2348,-4.6121,0 -550,1679,4284,4326,"Parameter values taken from Pulkovo 1942 to LKS94(ETRS89) (1) (code 1274) assuming that LKS94(ETRS89) is equivalent to WGS 84 within the accuracy of the transformation.","Approximation at the +/- 9m level.",1145,53.89,56.45,19.02,26.82,1,0,9607,-40.595,-18.55,-69.339,-2.508,-1.832,2.611,-4.299,0 -551,1807,4284,4326,"Derived via WGS72 values taken from SOCAR Magnavox 1502 manual. Used by AIOC 1995-1997 then replaced by the AIOC97 values (tfm code 1808). -Do not confuse with AIOC95 vertical datum as used in southern Caspian Sea and at Sangachal terminal by AIOC.",Oil industry operations by AIOC prior to 1997.,1038,37.89,42.59,44.77,51.73,1,0,9606,27,-135,-84.5,0,0,0.554,0.2263,0 -552,1808,4284,4326,"Mean of 3 stations in western Georgia, 4 stations in eastern Georgia and 4 stations in eastern Azerbaijan. Derived for use on AIOC early oil western export pipeline, but adopted for all AIOC work replacing the 1995 AIOC transformation (code 1807).",Oil industry operations.,2593,37.89,43.59,39.99,51.73,1,0,9606,686.1,-123.5,-574.4,8.045,-23.366,10.791,-2.926,0 -553,1809,4284,4326,Parameter values calculated by Elf Exploration and Production based on geodetic survey carried out by Azerbaijan State Committee for Geodesy and Cartography.,Oil industry operations.,2594,38.31,40.33,48.93,50.4,1,0,9606,926.4,-715.9,-186.4,-10.364,-20.78,26.452,-7.224,0 -554,5044,4284,4326,"Derived through concatenation of Pulkovo 1942 to PZ-90.02 to WGS 84. Replaces Pulkovo 1942 to WGS 84 (17) (code 1267).",Accuracy 3 metres.,1198,39.87,85.2,18.92,-168.97,1,0,9607,23.57,-140.95,-79.8,0,-0.35,-0.79,-0.22,0 -555,15865,4284,4326,"Derived via PZ-90 at 30 stations throughout USSR (Former Soviet Union, FSU) through concatenation of Pulkovo 1942 to PZ-90 (1) (tfm code 15844) and PZ-90 to WGS 84 (1) (tfm code 15843).",Accuracy 4.5 metres.,2423,35.14,81.91,19.57,-168.97,1,0,9607,25,-141,-78.5,0,-0.35,-0.736,0,0 -556,6899,4284,4326,Derived at 19 stations.,"For military purposes. Accuracy 2m, 3m and 3m in X, Y and Z axes.",3246,57.52,59.75,21.74,28.2,1,0,9603,22,-126,-85,,,,,0 -557,1561,4285,4326,Derived at 3 stations.,For military purposes only. Accuracy 20m in each axis.,1346,24.55,26.2,50.69,51.68,1,0,9603,-128,-283,22,,,,,0 -558,1562,4285,4326,"Derived by Brown & Root in 1992 for Qatar General Petroleum Corporation.",Oil exploration.,2406,24.64,27.05,50.55,53.04,1,0,9603,-128.16,-282.42,21.93,,,,,1 -559,1563,4285,4326,"Derived by Qatar Centre for GIS. See Qatar 1974 to WGS 84 (2) (code 1562) for transformation used by QGPC for offshore petroleum industry.",Oil exploration.,1346,24.55,26.2,50.69,51.68,1,0,9603,-128.033,-283.697,21.052,,,,,0 -560,1211,4287,4326,Derived at 2 stations.,"For military purposes. Accuracy 25m, 25m and 32m in X, Y and Z axes.",2407,59.75,72,-55,-40,1,1,9603,164,138,-189,,,,,0 -561,15934,4289,4326,"Parameter values from Amersfoort to ETRS89 (3) (tfm code 15739) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. Replaces Amersfoort to WGS 84 (2) (code 1672). Replaced by Amersfoort to WGS 84 (4) (tfm code 4833).","Approximation at the +/- 1m level.",1275,50.75,53.7,3.2,7.22,1,0,9607,565.2369,50.0087,465.658,0.406857,-0.350733,1.87035,4.0812,1 -562,1112,4289,4326,"Replaced by Amersfoort to WGS 84 (2) (code 1672).","?",1275,50.75,53.7,3.2,7.22,1,0,9606,593.16,26.15,478.54,-1.30440,-0.10330,-1.14450,4.0775,0 -563,1672,4289,4326,"Parameter values from Amersfoort to ETRS89 (1) (code 1751) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. Replaces Amersfoort to WGS 84 (1) (code 1112). Replaced by Amersfoort to WGS 84 (3) (code 15934).","Approximation at the +/- 1m level.",1275,50.75,53.7,3.2,7.22,1,0,9607,565.04,49.91,465.84,0.409394,-0.359705,1.86849,4.0772,0 -564,4833,4289,4326,"Parameter values from Amersfoort to ETRS89 (5) (tfm code 4830) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. Replaces Amersfoort to WGS 84 (3) (code 15934).","Approximation at the +/- 1m level.",1275,50.75,53.7,3.2,7.22,1,0,9607,565.4171,50.3319,465.5524,0.398957,-0.343988,1.87740,4.0725,0 -565,1212,4291,4326,Derived at 84 stations.,"For military purposes only. Accuracy 15m, 6m and 9m in X, Y and Z axes.",1341,-56.15,13,-82,-34,1,1,9603,-57,1,-41,,,,,0 -566,1213,4291,4326,Derived at 10 stations.,For military purposes only. Accuracy 5m in each axis.,1033,-58.41,-21.78,-73.59,-52.63,1,1,9603,-62,-1,-37,,,,,0 -567,1214,4291,4326,Derived at 4 stations.,For military purposes. Accuracy 15m in each axis.,1049,-22.91,-9.67,-69.66,-57.52,1,1,9603,-61,2,-48,,,,,0 -568,1215,4291,4326,Derived at 22 stations.,"For military purposes only. Accuracy 3m, 5m and 5m in X, Y and Z axes.",1053,-35.71,7.04,-74.01,-25.28,1,1,9603,-60,-2,-41,,,,,0 -569,1216,4291,4326,Derived at 9 stations.,"For military purposes only. Accuracy 15m, 8m and 11m in X, Y and Z axes.",1066,-59.87,-17.5,-113.21,-65.72,1,1,9603,-75,-1,-44,,,,,0 -570,1217,4291,4326,Derived at 7 stations.,"For military purposes only. Accuracy 6m, 6m and 5m in X, Y and Z axes.",1070,-4.23,15.51,-84.77,-66.87,1,1,9603,-44,6,-36,,,,,0 -571,1218,4291,4326,Derived at 11 stations.,For military purposes. Accuracy 3m in each axis.,1085,-5.01,5,-95.35,-75.21,1,1,9603,-48,3,-44,,,,,0 -572,1219,4291,4326,Derived at 1 station.,For military purposes. Accuracy 25m in each axis.,2356,-1.41,0.18,-91.72,-89.19,1,1,9603,-47,26,-42,,,,,0 -573,1220,4291,4326,Derived at 5 stations.,"For military purposes only. Accuracy 9m, 5m and 5m in X, Y and Z axes.",1114,1.18,10.7,-61.39,-55.77,1,1,9603,-53,3,-47,,,,,0 -574,1221,4291,4326,Derived at 4 stations.,For military purposes. Accuracy 15m in each axis.,1188,-27.59,-19.29,-62.65,-54.24,1,1,9603,-61,2,-33,,,,,0 -575,1222,4291,4326,Derived at 6 stations.,For military purposes. Accuracy 5m in each axis.,1189,-21.05,-0.03,-84.68,-68.67,1,1,9603,-58,0,-44,,,,,0 -576,1223,4291,4326,Derived at 1 station.,For military purposes only. Accuracy 25m in each axis.,1235,9.83,12.34,-62.09,-57.28,1,1,9603,-45,12,-33,,,,,0 -577,1224,4291,4326,Derived at 5 stations.,"For military purposes only. Accuracy 3m, 6m and 3m in X, Y and Z axes.",1251,0.64,16.75,-73.38,-58.95,1,1,9603,-45,8,-33,,,,,0 -578,1548,4291,4326,"Derived by Brazilean Institute of Geography and Statistics (IGBE) in 1989. Used by ANP.",Medium and small scale mapping.,1053,-35.71,7.04,-74.01,-25.28,1,1,9603,-66.87,4.37,-38.52,,,,,0 -579,1225,4292,4326,Derived at 5 stations.,For military purposes. Accuracy 1m in each axis.,2355,-52.51,-51.16,-59.98,-57.61,1,0,9603,-355,21,72,,,,,1 -580,1226,4293,4326,"Derived at 3 stations. -Beware! Source CRS uses German legal metres, transformation parameter values are in (International) metres. See tfm code 1271 for example.",For military purposes only. Accuracy 20m in each axis.,1169,-30.64,-16.95,8.24,25.27,1,0,9603,616,97,-251,,,,,1 -581,1271,4293,4326,"Beware! Source CRS uses GLM, tfm param in m. Example: Schwarzeck ?=19°35'46.952""S ?=20°41'50.649""E h=1185.99m; X=5623409.386 Y=2124618.003 Z=-2125847.632 GLM; X=5623485.84m Y=2124646.89m Z=-2125876.54m; WGS 84 X=5624101.48m Y=2124748.97m Z=-2126132.35m.","?",1169,-30.64,-16.95,8.24,25.27,1,0,9603,615.64,102.08,-255.81,,,,,0 -582,1286,4294,4326,Accuracy estimate not available.,For military purposes.,2354,-4.24,4.37,108.79,119.06,1,1,9603,-403,684,41,,,,,0 -583,1834,4294,4326,Accuracy estimate not available.,For military purposes.,2354,-4.24,4.37,108.79,119.06,1,1,9603,-403,684,41,,,,,0 -584,1835,4294,4326,,Oil exploration.,1360,-4.24,4.29,114.55,119.06,1,1,9603,-387.06,636.53,46.29,,,,,0 -585,1836,4294,4326,,Oil exploration.,2770,-0.07,4.29,116.96,119.06,1,1,9603,-403.4,681.12,46.56,,,,,0 -586,6900,4129,4326,Derived at 3 stations.,For military purposes. Accuracy 10m in each axis.,1329,-26.87,-19.84,31.29,35.65,1,0,9603,-132,-110,-335,,,,,1 -587,1227,4297,4326,Accuracy estimate not available.,For military purposes.,1149,-26.59,-11.69,42.53,51.03,1,0,9603,-189,-242,-91,,,,,1 -588,6873,4297,4326,Derived at 9 points throughout Madagascar. Adopted by OMV.,For applications with an accuracy of 3m.,1149,-26.59,-11.69,42.53,51.03,1,0,9603,-198.383,-240.517,-107.909,,,,,0 -589,1228,4298,4326,Derived at 8 stations.,"For military purposes. Accuracy 10m, 10m and 12m in X, Y and Z axes.",1362,0.85,7.67,109.31,119.61,1,0,9603,-679,669,-48,,,,,1 -590,1592,4298,4326,"Originally used by BSP offshore only, use extended to onshore in 2010.",Oil exploration and production.,1055,4.01,6.31,112.37,115.37,1,0,9603,-678,670,-48,,,,,0 -591,1615,4298,4326,"CARE! Erroneous GPS data was used in the derivation of these parameters. They produce a coordinate difference of 10m horizontally and 50m vertically compared to Timbalai 1948 to WGS 84 (2) (code 1592).",Topographic and engineering survey onshore.,2349,4.01,5.11,114.09,115.37,1,0,9603,-726.282,703.611,-48.999,,,,,0 -592,1852,4298,4326,"Derived by Racal Survey for SSB at 24 coastal stations (including Timbalai fundamental point and 6 other primary triangulation stations) between in Sabah (Kudat southwards) and Sarawak (Sibu northwards).",Oil exploration.,2780,1.56,7.67,109.31,117.31,1,0,9606,-533.4,669.2,-52.5,0,0,4.28,9.4,0 -593,5248,4298,4326,,Oil exploration.,1055,4.01,6.31,112.37,115.37,1,1,9607,-689.5937,623.84046,-65.93566,0.02331,-1.17094,0.80054,5.88536,0 -594,5249,4298,4326,"Parameter values taken from Timbalai 1948 to GDBD2009 (1) (code 5878) assuming that GDBD2009 is equivalent to WGS 84 within the accuracy of the transformation.",Oil exploration.,1055,4.01,6.31,112.37,115.37,1,0,9607,-689.5937,623.84046,-65.93566,0.02331,-1.17094,0.80054,5.88536,0 -595,6902,4298,4326,Derived at 9 stations.,"For military purposes. Accuracy 1m, 6m and 2m in X, Y and Z axes.",2349,4.01,5.11,114.09,115.37,1,0,9603,-679,667,-49,,,,,0 -596,1229,4299,4326,Derived at 7 stations.,For military purposes only. Accuracy 3m in each axis.,1305,51.39,55.43,-10.56,-5.34,1,1,9603,506,-122,611,,,,,0 -597,1641,4299,4326,"Parameter values from TM75 to ETRS89 (2) (code 1953). Assumes each pair of (i) TM65 and TM75, and (ii) ETRS89 and WGS 84, can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,1305,51.39,55.43,-10.56,-5.34,1,0,9606,482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15,1 -598,1954,4300,4326,"Parameter values taken from TM65 to ETRS89 (2) (code 1953). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,1305,51.39,55.43,-10.56,-5.34,1,0,9606,482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15,1 -599,1956,4300,4326,"Derived at 7 stations. TM75 is based on the geodetic datum of 1965 which should not be confused with the mapping adjustment of 1965 (TM65).",For military purposes only. Accuracy 3m in each axis.,1305,51.39,55.43,-10.56,-5.34,1,0,9603,506,-122,611,,,,,0 -600,1230,4301,4326,Derived at 31 stations.,"For military purposes only. Accuracy 20m, 5m and 20m in X, Y and Z axes.",2409,20.37,45.54,122.83,145.87,1,0,9603,-148,507,685,,,,,0 -601,1231,4301,4326,Derived at 16 stations.,"For military purposes only. Accuracy 8m, 5m and 8m in X, Y and Z axes.",3995,30.18,45.54,128.31,145.87,1,0,9603,-148,507,685,,,,,0 -602,1232,4301,4326,"Derived at 29 stations. Replaced by Tokyo to WGS 84 (5) (code 1305).","For military purposes only. Accuracy 8m, 5m and 8m in X, Y and Z axes.",3266,33.14,38.64,124.53,131.01,1,0,9603,-146,507,687,,,,,0 -603,1233,4301,4326,Derived at 3 stations.,"For military purposes only. Accuracy 20m, 5m and 20m in X, Y and Z axes.",2408,23.98,26.91,122.83,131.38,1,0,9603,-158,507,676,,,,,0 -604,1305,4301,4326,"Derived at 29 stations. Replaces Tokyo to WGS 84 (3) (code 1232).",For military purposes. Accuracy 2m in each axis.,3266,33.14,38.64,124.53,131.01,1,0,9603,-147,506,687,,,,,0 -605,15484,4301,4326,"Parameter values from Tokyo to JGD2000 (1) (code 15483). Assumes JGD2000 and WGS 84 can be considered the same to within the accuracy of the transformation.","Surveying, mapping and civil engineering purposes. Accuracy on main islands 9m.",3957,20.37,45.54,122.83,154.05,1,0,9603,-146.414,507.337,680.507,,,,,1 -606,1296,4302,4326,Derived in 1989 by ONI for Amoco.,Oil exploration.,1339,9.83,11.51,-62.09,-60,1,0,9603,-61.702,284.488,472.052,,,,,1 -607,10085,4302,4326,"Parameter values provided to EOG by Trinidad Ministry of Energy and Energy Industries. Used by EOG offshore Trinidad (including Pelican, Kiskadee and Ibis fields) since 1996.",Oil exploration.,1339,9.83,11.51,-62.09,-60,1,0,9603,-61,285.2,471.6,,,,,0 -608,1932,4644,4326,,"Accuracy better than +/- 1 metre.",2823,-22.37,-22.19,166.35,166.54,1,1,9606,-166.207,-154.777,254.831,-37.5444,7.7011,-10.2025,-30.8598,0 -609,15904,4644,4326,"Parameter values taken from NEA74 Noumea to RGNC91-93 (1) ( code 15886) assuming that RGNC91-93 is equivalent to WGS 84 to within the accuracy of the transformation.",Accuracy 1 metre.,2823,-22.37,-22.19,166.35,166.54,1,0,9603,-10.18,-350.43,291.37,,,,,1 -610,1294,4304,4326,Accuracy estimate not available.,For military purposes.,1365,31.99,37.14,-2.95,9.09,1,0,9603,-73,-247,227,,,,,1 -611,15815,4728,4326,Determined at 1 satellite station.,"Military and topographic mapping. Accuracy +/- 25m in each axis.",3873,27.58,29.3,-18.22,-13.37,1,0,9603,-307,-92,127,,,,,1 -612,1253,4307,4326,Derived at 3 stations.,For military purposes only. Accuracy 25m in each axis.,3213,18.97,37.14,-8.67,11.99,1,0,9603,-186,-93,310,,,,,0 -613,1255,4307,4326,"CAUTION: Source CRS described by DMA as from Voirol 1960. OGP believes that the data used in the derivation of these parameters contains a blunder. We recommend using transformation North Sahara 1959 to WGS84 (1) (code 1253). Derived at 2 stations.",For military purposes only. Accuracy 25m in each axis.,1365,31.99,37.14,-2.95,9.09,1,0,9603,-123,-206,219,,,,,0 -614,1815,4307,4326,Used by BP in District 3 and In Salah Gas.,Oil industry operations.,2598,25,32,1,3.3,1,0,9606,-152.9,43.8,358.3,2.714,1.386,-2.788,-6.743,0 -615,1816,4307,4326,"Derived at astro station central to concession. Significant and varying differences (>100m) at 4 neighbouring astro stations.",Oil industry operations.,2599,27.5,28.3,8.83,9.92,1,0,9603,-95.7,10.2,158.9,,,,,0 -616,1817,4307,4326,Derived at astro station Guerrara.,Oil industry operations.,2600,31.75,32.42,7.16,8,1,0,9603,-165.914,-70.607,305.009,,,,,0 -617,5630,4307,4326,"Derived at 1 station (L38).",Used by Total in Ahnet licence area.,3917,26.06,27.51,1.26,2.92,1,0,9603,-168.52,-72.05,304.3,,,,,0 -618,5660,4307,4326,Derived in 2006 at 45 points in north and central Algeria.,Accuracy at 75 common points better than 1m..,1026,18.97,38.8,-8.67,11.99,1,0,9606,-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547,1 -619,7442,4307,4326,"Derived at 1 astro station central to concession. Significant and varying differences (>100m) known to exist in neighbouring astro stations.",Oil industry operations.,4382,27.4,28.1,7.66,8.27,1,0,9603,-181.7,64.7,247.2,,,,,0 -620,15874,4307,4326,"Derived at 11 stations throughout blocks 317b, 319b, 321b and 322b. Network based on station P4 (horizontal) and benchmark RN51 (vertical) using EGM96 geoid height. Used by Statoil in Hassi Mouina.",Oil exploration and production. Accuracy 5m.,3402,29.25,31,0,1.25,1,0,9603,-169.559,-72.34,303.102,,,,,0 -621,1234,4309,4326,Accuracy estimate not available.,For military purposes.,3326,-35,-30.09,-58.49,-53.09,1,0,9603,-155,171,37,,,,,1 -622,5386,4309,4326,Derived at 11 stations during 1998 densification of Uruguay control based on SIRGAS 1995.,"Accuracy at stations used for derivation: 0.13 to 1.17m.",3326,-35,-30.09,-58.49,-53.09,1,0,9606,-124.45,183.74,44.64,-0.4384,0.5446,-0.9706,-2.1365,0 -623,6903,4310,4326,Derived at 7 stations.,For military purposes only. Accuracy 3m in each axis.,1207,10.64,16.7,-20.22,-11.36,1,0,9603,-30,190,89,,,,,1 -624,1235,4311,4326,Derived at 5 stations.,"For military purposes. Accuracy 5m, 5m and 8m in X, Y and Z axes.",1222,1.83,9.35,-58.08,-52.66,1,0,9603,-265,120,-358,,,,,1 -625,1194,4312,4326,May be taken as approximate transformation MGI to ETRS89 assuming ETRS89 is equivalent to WGS 84 within the accuracy of the transformation - see tfm code 1024. Information source gives scale as -2.388739 ppm.,Provincial GIS and other applications to an accuracy of 0.5 metres.,1543,46.64,47.84,13.58,16.17,1,0,9607,601.705,84.263,485.227,-4.7354,-1.3145,-5.393,-2.3887,0 -626,1306,4312,4326,Accuracy estimate not available.,For military purposes only.,2370,40.85,46.88,13.38,23.04,1,1,9603,682,-203,480,,,,,0 -627,1471,4312,4326,,For applications to an accuracy of 1.5 metres.,1037,46.4,49.02,9.53,17.17,1,1,9606,-577.326,-90.129,-463.919,-5.136599,-1.474,-5.297044,-2.4232,0 -628,1618,4312,4326,"Same transformation parameters used for MGI to ETRS89 (1) (code 1619).",For applications to an accuracy of 1.5 metres.,1037,46.4,49.02,9.53,17.17,1,0,9606,577.326,90.129,463.919,5.137,1.474,5.297,2.4232,1 -629,1621,4312,4326,"Parameter values from MGI to ETRS89 (2) (code 1620). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,1076,41.62,46.54,13,19.43,1,1,9606,551.7,162.9,467.9,6.04,1.96,-11.38,-4.82,0 -630,1786,4312,4326,"Parameter values from MGI to ETRS89 (3) (code 1785). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,1212,45.42,46.88,13.38,16.61,1,1,9606,426.9,142.6,460.1,4.91,4.49,-12.42,17.1,0 -631,1794,4312,4326,"For more accurate transformation see MGI to WGS 84 (7) (code 1795).",Oil industry,3536,41.79,43.56,18.45,20.38,1,1,9603,695.5,-216.6,491.1,,,,,0 -632,15982,4312,4326,"Parameter values from MGI to Slovenia 1996 (1) (code 15981). Assumes Slovenia 1996 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,1212,45.42,46.88,13.38,16.61,1,1,9607,409.545,72.164,486.872,-3.085957,-5.46911,11.020289,17.919665,0 -633,1609,4313,4326,"Scale difference is given by information source as 0.999999. Given in this record in ppm to assist application usage. Very similar parameter values (to slightly less precision) used for BD72 to ETRS89: see code 1652.",For applications to an accuracy of 1 metre.,1347,49.5,51.51,2.5,6.4,1,0,9607,-99.059,53.322,-112.486,-0.419,0.83,-1.885,-1,0 -634,1610,4313,4326,,For applications to an accuracy of 5 metres.,1347,49.5,51.51,2.5,6.4,1,0,9603,-125.8,79.9,-100.5,,,,,0 -635,15929,4313,4326,"Parameter values from BD72 to ETRS89 (2) (code 15928). Scale difference is given by information source as -1.0000012747. Given in this record in ppm to assist application usage.",For applications to an accuracy of 0.5 metre.,1347,49.5,51.51,2.5,6.4,1,0,9607,-106.8686,52.2978,-103.7239,-0.3366,0.457,-1.8422,-1.2747,1 -636,15749,4313,4326,"Parameter values from BD72 to ETRS89 (2) (code 15748). Scale difference is given by information source as 1.0000012747. Given in this record in ppm to assist application usage.",For applications to an accuracy of 0.5 metre.,1044,49.5,51.88,2.23,6.4,1,1,9607,-106.8686,52.2978,-103.7239,-0.3366,0.457,-1.8422,1.2747,0 -637,1673,4314,4326,"Parameter values from DHDN to ETRS89 (1) (code 1309) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. Replaced by DHDN to WGS 84 (2) (tfm code 1777).",For applications with an accuracy at 5 m level.,2326,47.27,55.09,5.87,13.84,1,0,9607,582,105,414,-1.04,-0.35,3.08,8.3,0 -638,1777,4314,4326,"Parameter values from DHDN to ETRS89 (2) (code 1776) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. Replaces DHDN to WGS 84 (1) (tfm code 1673).",For applications with an accuracy at 3 m level,2326,47.27,55.09,5.87,13.84,1,0,9606,598.1,73.7,418.2,0.202,0.045,-2.455,6.7,1 -639,15869,4314,4326,"Parameter values taken from RD/83 to ETRS89 (1) (tfm code 15868) assuming that within the accuracy of the transformation ETRS89 is equivalent to WGS 84 and RD/83 is equivalent to DHDN.",For applications with an accuracy at 2m level,1343,50.2,54.74,9.92,15.04,1,0,9606,612.4,77,440.2,-0.054,0.057,-2.797,2.55,0 -640,1517,4315,4326,,"?",3257,7.19,12.68,-15.13,-7.65,1,0,9603,-23,259,-9,,,,,1 -641,1789,4316,4326,"Parameter values taken from Pulkovo 1942 to WGS 84 (9) (code 1293) assuming that","?",1197,43.44,48.27,20.26,31.41,1,1,9603,103.25,-100.4,-307.19,,,,,0 -642,1995,4316,4326,,Oil exploration,3295,43.62,48.27,20.26,29.74,1,0,9603,103.25,-100.4,-307.19,,,,,1 -643,1097,4317,4326,"Parameter values taken from Pulkovo 1942 to WGS 84 (9) (code 1293) assuming that Pulkovo 1942 in Romania is equivalent to Dealul Piscului 1970.","Accuracy 3m, 5m and 3m in X, Y and Z axes.",1197,43.44,48.27,20.26,31.41,1,1,9603,28,-121,-77,,,,,0 -644,1996,4317,4326,,Oil exploration,1197,43.44,48.27,20.26,31.41,1,1,9603,44.107,-116.147,-54.648,,,,,0 -645,1060,4318,4326,,1 metre accuracy.,3267,28.53,30.09,46.54,48.48,1,0,9603,-3.2,-5.7,2.8,,,,,1 -646,1061,4319,4326,,For applications requiring an accuracy of better than 1 metre.,1310,29.17,29.45,47.78,48.16,1,0,9603,-20.8,11.3,2.4,,,,,1 -647,1062,4319,4326,,For applications requiring an accuracy of better than 1 metre.,1310,29.17,29.45,47.78,48.16,1,0,9607,226.702,-193.337,-35.371,2.229,4.391,-9.238,0.9798,0 -648,6910,6881,4326,Derivation not given.,For military purposes. Accuracy not specified.,1340,12.54,19,43.37,53.14,1,0,9603,-24,-203,268,,,,,1 -649,1237,4322,4326,,For scientific purposes.,1262,-90,90,-180,180,1,0,9606,0,0,4.5,0,0,0.554,0.2263,1 -650,1238,4322,4326,,For scientific purposes.,1262,-90,90,-180,180,1,0,9606,0,0,4.5,0,0,0.554,0.219,0 -651,6912,6883,4326,Derived at 6 stations.,"For military purposes. Accuracy 5m, 17m and 38m in X, Y and Z axes.",4220,3.14,3.82,8.37,9.02,1,0,9603,-235,-110,393,,,,,1 -652,1240,4324,4326,,Geodesy.,2346,-90,90,-180,180,1,0,9606,0,0,1.9,0,0,0.814,-0.38,1 -653,5521,4646,4326,,For military purposes. Accuracy unknown.,2807,-11.99,-11.31,43.16,43.55,1,0,9603,-963,510,-359,,,,,1 -654,15822,4732,4326,Derived at 10 satellite stations.,"For military and topographic mapping. Accuracy +/-3 m in each axis.",3191,8.66,19.38,162.27,167.82,1,0,9603,102,52,-38,,,,,1 -655,5327,5324,4326,For many purposes ISN2004 can be considered to be coincident with WGS 84.,"Approximation at the +/- 1m level assuming that ISN2004 is equivalent to WGS 84.",1120,59.96,69.59,-30.87,-5.55,1,0,9603,0,0,0,,,,,1 -656,3817,3819,4326,Horizontal coordinates of 66 points of the National Geodetic Network were used to compute this transformation.,GIS and topographic survey.,1119,45.74,48.58,16.11,22.9,1,0,9607,595.48,121.69,515.35,-4.115,2.9383,-0.853,-3.408,1 -657,6914,6892,4326,"Derived by UK DOS at 10 stations in 1998, RMS ±0.314m. Also published by NGA in Standard 0036 v1.0.0 of 2014-07-08 and in GeoTrans v3.4 software with parameter values rounded to integer.",Topographic mapping.,4183,-4.86,-3.66,55.15,56.01,1,0,9603,-43.685,-179.785,-267.721,,,,,1 -658,6926,6892,4326,"Derived by UKHO at 13 stations in 1999, RMS ±0.271m.",Hydrographic survey and charting.,4183,-4.86,-3.66,55.15,56.01,1,0,9606,-76.269,-16.683,68.562,-6.275,10.536,-4.286,-13.686,0 -659,1920,4645,4326,,"Accuracy +/- 1 metre.",1174,-26.45,-14.83,156.25,174.28,1,1,9603,0,0,0,,,,,0 -660,6913,6894,4326,Derived at 1 station.,For military purposes only. Accuracy 25m in each axis.,3250,13.05,13.83,-16.88,-13.79,1,0,9603,-63,176,185,,,,,1 -661,15823,4733,4326,Derived at 2 satellite stations.,"For military and topographic mapping. Accuracy +/-25m in each axis.",3190,19.22,19.38,166.55,166.72,1,0,9603,276,-57,149,,,,,1 -662,3830,3824,4326,"Approximation at the +/- 1m level assuming that TWD97 is equivalent to WGS 84.","Accuracy +/- 1m.",1228,17.36,26.96,114.32,123.61,1,0,9603,0,0,0,,,,,1 -663,7443,7373,4326,"Approximation at the +/- 1m level assuming that ONG14 is equivalent to WGS 84. See transformation code 7377 for authoritative values.",Geodesy.,1183,14.33,26.74,51.99,63.38,1,0,9603,0,0,0,,,,,1 -664,5376,5365,4326,,Accuracy 1m.,1074,2.15,11.77,-90.45,-81.43,1,0,9603,0,0,0,,,,,1 -665,15808,4724,4326,Derived at 2 satellite stations.,"Military and topographic mapping. Accuracy +/- 25m in each axis.",3189,-7.49,-7.18,72.3,72.55,1,0,9603,208,-435,-229,,,,,1 -666,5377,5371,4326,,Accuracy 1m.,1186,5,12.51,-84.32,-77.04,1,0,9603,0,0,0,,,,,1 -667,5378,5373,4326,,Accuracy 1m.,1189,-21.05,-0.03,-84.68,-68.67,1,0,9603,0,0,0,,,,,1 -668,15812,4736,4326,,"Scientific mapping. Accuracy +/- 20m in each axis.",3204,-63.08,-62.82,-60.89,-60.35,1,0,9603,260,12,-147,,,,,1 -669,15821,4731,4326,Derived at 1 satellite station.,"For military and topographic mapping. Accuracy +/-25m in each axis.",3195,-18.32,-17.25,177.19,178.75,1,1,9603,51,391,-36,,,,,0 -670,15795,4707,4326,Derived at 1 satellite station. Same transformation parameter values related to same datum area given in original 1987 DMA TR8350.2 edition for Sorol Atoll.,For military purposes only. Accuracy 25m in each axis.,3181,23.69,23.93,-166.36,-166.03,1,0,9603,114,-116,-333,,,,,1 -671,5384,5381,4326,,Accuracy 1m.,1247,-37.77,-30.09,-58.49,-50.01,1,0,9603,0,0,0,,,,,1 -672,15813,4722,4326,Determined from 1 satellite station.,"Military and topographic mapping. Accuracy +/- 25m in each axis.",3529,-54.95,-53.93,-38.08,-35.74,1,0,9603,-794,119,-298,,,,,1 -673,5227,5228,4326,"Parameter values from S-JTSK/05 to ETRS89 (1) (code 5226). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation. Replaces tfm code 1622.",For applications to an accuracy of 1 metre.,1079,48.58,51.06,12.09,18.86,1,0,9607,572.213,85.334,461.94,-4.9732,-1.529,-5.2484,3.5378,1 -674,15771,4692,4326,"Approximation at the +/- 1m level assuming that RGPF is equivalent to WGS 84. Parameter values taken from Maupiti 83 to RGPF (1) (tfm code 15759).","Accuracy +/- 1 metre.",3126,-16.57,-16.34,-152.39,-152.14,1,0,9603,217.037,86.959,23.956,,,,,1 -675,15973,4055,4326,"Executes change of sphere/ellipsoid",Web mapping. Accuracy may be no better than 800 metres.,1262,-90,90,-180,180,1,1,9603,0,0,0,,,,,0 -676,5395,5393,4326,,Accuracy 1m.,1087,9.97,14.44,-91.43,-87.65,1,0,9603,0,0,0,,,,,1 -677,15816,4734,4326,Determined at 1 satellite station.,"Military and topographic mapping. Accuracy +/- 25m in each axis.",3184,-40.42,-37,-12.76,-9.8,1,0,9603,-632,438,-609,,,,,1 -678,1585,4227,4326,,"?",1227,32.31,37.3,34.96,42.38,1,1,9603,-177.5,14.1,237.6,,,,,0 -679,1586,4227,4326,"Derived in 1995 by CGG for Al Furat Petroleum Company. Can be approximated using geocentric translations of dX=-174.3m, dY=+14.1m, dZ=+237.6m.",Oil exploration.,2327,35.33,35.9,39.15,40.41,1,0,9606,-175.09,1.218,238.831,-0.047,0.019,0.808,0.1698,0 -680,1587,4227,4326,Derived at four stations by Topnav in 1997.,Oil exploration.,2328,35.79,36.5,40.5,41.39,1,0,9603,-191.77,15.01,235.07,,,,,0 -681,15741,4227,4326,Derived by Elf in 1991 from tfm code 1584 concatenated with a tfm from WGS72BE to WGS84.,Oil exploration. Accuracy 5m.,2329,34.49,35.9,39.3,40.81,1,0,9603,-187.5,14.1,237.6,,,,,0 -682,15742,4227,4326,Derived for 1998 Omar seismic survey and used in 2000 for El Isba seismic survey.,Oil exploration. Accuracy 5m.,3314,32.31,37.3,35.61,42.38,1,0,9603,-190.421,8.532,238.69,,,,,1 -683,15743,4227,4326,"Derived 2005 at 5 triangulation stations and using (EGM96 geoid model +1.15m). Used by Total/DEZPC for Jafra and Mazraa seismic surveys. Can be approximated using geocentric translations of dX=-190.6m, dY=+8.8m, dZ=+239.6m.",Oil exploration. Accuracy 0.5m.,2329,34.49,35.9,39.3,40.81,1,0,9606,-83.58,-397.54,458.78,-17.595,-2.847,4.256,3.225,0 -684,5261,5252,4326,,"Approximation at the +/- 1m level as both TUREF and WGS 84 are realisations of ITRS.",1237,34.42,43.45,25.62,44.83,1,0,9603,0,0,0,,,,,1 -685,1925,4639,4326,,"Accuracy +/- 10 metres.",2815,-13.41,-13.16,-176.25,-176.07,1,1,9603,252,-132,-125,,,,,0 -686,15847,4639,4326,"Replaces information from 2001 (tfm code 1925).","Accuracy +/- 10 metres.",2815,-13.41,-13.16,-176.25,-176.07,1,0,9603,253,-132,-127,,,,,1 -687,15801,4714,4326,Derived at 3 satellite stations.,"Military and topographic mapping; Accuracy +/- 20 m in each axis",3193,-20.31,-17.37,168.09,169.95,1,0,9603,-127,-769,472,,,,,1 -688,7892,7886,4326,"SHGD2015 is realised by ITRF2008 at epoch 2015.0 and can be considered coincident with WGS 84 at epoch 2015.0 Accuracy 3 cm at 1/1/2015 then degrades by 3 cm/yr from 1/1/2015 depending upon epoch of WGS 84 due to motion of the Nubian Plate",For military purposes only. Accuracy 25m in each axis.,3183,-16.08,-15.85,-5.85,-5.58,1,0,9603,0,0,0,,,,,1 -689,15802,4715,4326,No accuracy estimate available.,Military and scientific mapping.,3205,-77.94,-77.17,165.73,167.43,1,0,9603,-104,-129,239,,,,,1 -690,1994,4657,4326,,Low accuracy applications.,3262,63.34,66.59,-24.66,-13.38,1,0,9603,-28,199,5,,,,,1 -691,5351,5340,4326,,Approximation at the sub meter level.,1033,-58.41,-21.78,-73.59,-52.63,1,0,9603,0,0,0,,,,,1 -692,5078,4743,4326,"Parameter values from Karbala 1979 to IGRS (1) (tfm code 5077) assuming that IGRS is equivalent to WGS 84 within the accuracy of the transformation. Replaces Karbala 1979 to WGS 84 (1) (tfm code 15872).",Accuracy 1m.,3625,29.06,37.39,38.79,48.61,1,0,9603,70.995,-335.916,262.898,,,,,1 -693,15872,4743,4326,"Derived from shifts in UTM rectangular coordinates for one point in Basra area provided by Iraq National Oil Exploration Company. Replaced by Karbala 1979 to WGS 84 (2) (tfm code 5078).",Oil exploration.,3397,29.87,31.09,46.46,48.61,1,0,9603,84.1,-320.1,218.7,,,,,0 -694,1951,4658,4326,"Derived at 6 stations. Replaced by Hjorsey 1955 to WGS 84 (2) (code 6909).","Accuracy 3m, 3m and 5m in X, Y and Z axes.",3262,63.34,66.59,-24.66,-13.38,1,0,9603,-73,46,-86,,,,,0 -695,6909,4658,4326,"Derived at 16 stations. Replaces Hjorsey 1955 to WGS 84 (1) (code 1951).","Accuracy 3m, 3m and 6m in X, Y and Z axes.",3262,63.34,66.59,-24.66,-13.38,1,0,9603,-73,47,-83,,,,,1 -696,6373,6365,4326,,Accuracy 1m.,1160,12.1,32.72,-122.19,-84.64,1,0,9603,0,0,0,,,,,1 -697,3894,3889,4326,"Approximation at the +/- 1m level assuming that IGRS is equivalent to WGS 84 within the accuracy of the transformation.",Accuracy 1m.,1124,29.06,37.39,38.79,48.75,1,0,9603,0,0,0,,,,,1 -698,1952,4659,4326,For many purposes ISN93 can be considered to be coincident with WGS 84.,"Approximation at the +/- 1m level assuming that ISN93 is equivalent to WGS 84.",1120,59.96,69.59,-30.87,-5.55,1,0,9603,0,0,0,,,,,1 -699,1957,4660,4326,Derived at 3 stations. Residuals under 1m.,For applications to an accuracy of 1 metre.,2869,70.75,71.24,-9.17,-7.87,1,0,9606,982.6087,552.753,-540.873,6.6816266,-31.6114924,-19.84816,16.805,1 -700,1958,4661,4326,,LKS92 is a realisation of ETRS89 coincident to WGS84 within 1 metre. This transformation has an accuracy equal to the coincidence figure.,1139,55.67,58.09,19.06,28.24,1,0,9603,0,0,0,,,,,1 -701,15849,4213,4326,"Used by Elf / CGG between December 1991 and March 1992. Probably derived from results of concatenated tfm Beduaram to WGS 84 (1) (code 8634).",Oil exploration.,2771,12.8,16.7,7.81,14.9,1,0,9603,-106,-87,188,,,,,1 -702,15803,4716,4326,Derived at 4 satellite stations.,"Military and topographic mapping. Accuracy +/- 15 m in each axis.",3196,-4.76,-2.68,-174.6,-170.66,1,0,9603,298,-304,-375,,,,,1 -703,3915,3906,4326,"Parameter values from MGI 1901 to ETRS89 (3) (code 3914). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,1212,45.42,46.88,13.38,16.61,1,0,9606,426.9,142.6,460.1,4.91,4.49,-12.42,17.1,0 -704,3917,3906,4326,"Parameter values from MGI 1901 to Slovenia 1996 (1) (code 3916). Assumes Slovenia 1996 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,1212,45.42,46.88,13.38,16.61,1,0,9607,409.545,72.164,486.872,-3.085957,-5.46911,11.020289,17.919665,0 -705,3962,3906,4326,Accuracy estimate not available from information source but established empirically by OGP.,For military purposes only.,2370,40.85,46.88,13.38,23.04,1,0,9603,682,-203,480,,,,,1 -706,3964,3906,4326,"Parameter values from MGI 1901 to ETRS89 (2) (code 3963). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,3234,42.34,46.54,13.43,19.43,1,0,9606,551.7,162.9,467.9,6.04,1.96,-11.38,-4.82,0 -707,3965,3906,4326,,Oil industry,3536,41.79,43.56,18.45,20.38,1,0,9603,695.5,-216.6,491.1,,,,,0 -708,6206,3906,4326,Derived at 13 stations.,"1m accuracy. Residuals generally less than +/- 1m horizontally and vertically.",1148,40.85,42.36,20.45,23.04,1,0,9607,521.748,229.489,590.921,-4.029,-4.488,15.521,-9.78,0 -709,7676,3906,4326,"Parameter values from MGI 1901 to ETRS89 (6) (code 7675). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications with an accuracy of 1m.,3534,41.85,46.19,18.81,23.01,1,0,9607,577.88891,165.22205,391.18289,-4.9145,0.94729,13.05098,7.78664,0 -710,1962,4662,4326,Withdrawn by information source and replaced by improved information from local authority - see tfm code 15903.,"Accuracy +/- 10 metres.",2822,-22.45,-20.03,163.92,167.09,1,0,9603,-13,-348,292,,,,,0 -711,1963,4662,4326,Withdrawn by information source and replaced by improved information - see tfm code 15903.,"Accuracy better than +/- 1 metre.",2822,-22.45,-20.03,163.92,167.09,1,0,9606,97.295,-263.247,310.882,-1.5999,0.8386,3.1409,13.3259,0 -712,15903,4662,4326,"Parameter values taken from IGN72 Grande Terre to RGNC91-93 (1) ( code 15882) assuming that RGNC91-93 is equivalent to WGS 84 to within the accuracy of the transformation.","Accuracy +/- 2 metres.",2822,-22.45,-20.03,163.92,167.09,1,0,9603,-11.64,-348.6,291.98,,,,,1 -713,15878,4748,4326,"Parameter values taken from Viti Levu 1912 to WGS 84 (1) (tfm code 15897). Approximation at the +/- 50m level assuming that CRS 4748 is equivalent to CRS 4752 within the transformation accuracy. Source CRSs 4748 and 4752 are independent but connected.","For applications with an accuracy of +/-50m.",3401,-17.07,-16.1,178.42,-179.77,1,0,9603,51,391,-36,,,,,1 -714,1966,4663,4326,Derived at Forte de Sao Tiago.,For low resolution applications.,2870,32.58,33.15,-17.31,-16.23,1,0,9603,-502.862,-247.438,312.724,,,,,1 -715,1967,4663,4326,,For medium resolution applications.,2870,32.58,33.15,-17.31,-16.23,1,0,9607,-210.502,-66.902,-48.476,-2.094,15.067,5.817,0.485,0 -716,6911,6882,4326,Derivation not given.,For military purposes. Accuracy not specified.,3269,33.06,34.65,35.04,36.63,1,0,9603,-183,-15,273,,,,,1 -717,15880,4749,4326,,"Accuracy +/- 1 metre.",1174,-26.45,-14.83,156.25,174.28,1,0,9603,0,0,0,,,,,1 -718,1968,4664,4326,Calculated in 2001.,For low resolution applications.,2871,37.65,37.96,-25.92,-25.08,1,0,9603,-204.633,140.216,55.199,,,,,0 -719,1969,4664,4326,Calculated in 2001.,For medium resolution applications.,2871,37.65,37.96,-25.92,-25.08,1,0,9607,-211.939,137.626,58.3,0.089,-0.251,-0.079,0.384,0 -720,1970,4664,4326,Mean for all islands in group.,For low resolution applications.,1345,36.87,37.96,-25.92,-24.62,1,0,9603,-204.619,140.176,55.226,,,,,1 -721,1971,4664,4326,Mean for all islands in group.,For medium resolution applications.,1345,36.87,37.96,-25.92,-24.62,1,0,9607,-208.719,129.685,52.092,0.195,0.014,-0.327,0.198,0 -722,15881,4750,4326,"Parameter values taken from ST87 Ouvea to RGNC91-93 (1) ( code 15885) assuming that RGNC91-93 is equivalent to WGS 84 to within the accuracy of the transformation.","Accuracy better than +/- 1 metre.",2813,-20.77,-20.34,166.44,166.71,1,0,9603,-56.263,16.136,-22.856,,,,,1 -723,1972,4665,4326,,For low resolution applications.,2872,38.57,38.86,-27.44,-26.97,1,0,9603,-106.301,166.27,-37.916,,,,,0 -724,1973,4665,4326,,For medium resolution applications.,2872,38.57,38.86,-27.44,-26.97,1,0,9607,-105.854,165.589,-38.312,0.003,0.026,-0.024,-0.048,0 -725,1974,4665,4326,,For low resolution applications.,2873,38.46,38.7,-28.9,-28.54,1,0,9603,-106.248,166.244,-37.845,,,,,0 -726,1975,4665,4326,,For medium resolution applications.,2873,38.46,38.7,-28.9,-28.54,1,0,9607,-104,162.924,-38.882,0.075,0.071,-0.051,-0.338,0 -727,1976,4665,4326,,For low resolution applications.,2874,38.32,38.61,-28.61,-27.98,1,0,9603,-106.044,166.655,-37.876,,,,,0 -728,1977,4665,4326,,For medium resolution applications.,2874,38.32,38.61,-28.61,-27.98,1,0,9607,-95.323,166.098,-69.942,0.215,1.031,-0.047,1.922,0 -729,1978,4665,4326,,For low resolution applications.,2875,38.48,38.8,-28.37,-27.71,1,0,9603,-106.253,166.239,-37.854,,,,,0 -730,1979,4665,4326,,For medium resolution applications.,2875,38.48,38.8,-28.37,-27.71,1,0,9607,-100.306,161.246,-48.761,0.192,0.385,-0.076,0.131,0 -731,1980,4665,4326,Mean for all islands in group.,For low resolution applications.,1301,38.32,39.14,-28.9,-26.97,1,0,9603,-106.226,166.366,-37.893,,,,,1 -732,1981,4665,4326,Mean for all islands in group.,For medium resolution applications.,1301,38.32,39.14,-28.9,-26.97,1,0,9607,-103.088,162.481,-28.276,-0.167,-0.082,-0.168,-1.504,0 -733,1986,4666,4326,May be taken as a transformation from Lisbon 1890 to ETRS89 - see tfm code 5039.,For low resolution applications.,1294,36.95,42.16,-9.56,-6.19,1,0,9603,508.088,-191.042,565.223,,,,,1 -734,1990,4666,4326,,For medium resolution applications.,1294,36.95,42.16,-9.56,-6.19,1,0,9607,631.392,-66.551,481.442,-1.09,4.445,4.487,-4.43,0 -735,15804,4717,4326,Derived at 19 satellite stations.,"US space and military operations. Accuracy +/- 3 m in each axis.",3206,20.86,30.83,-82.33,-72.68,1,0,9603,-2,151,181,,,,,1 -736,5267,5264,4326,DRUKREF 03 and WGS 84 are both realisations of ITRS.,For applications to an accuracy of 1 metre.,1048,26.7,28.33,88.75,92.12,1,0,9603,0,0,0,,,,,1 -737,1993,4667,4326,For all practical purposes this transformation is exact.,Boundary demarcation.,2876,29.06,30.32,46.36,48.61,1,0,9603,0,0,0,,,,,1 -738,6895,4752,4326,"Derived at 9 stations. Replaces Viti Levu 1912 to WGS 84 (1) (code 15897).","For military and topographic mapping. Accuracy +/-3m in each axis.",3195,-18.32,-17.25,177.19,178.75,1,0,9603,98,390,-22,,,,,1 -739,15897,4752,4326,"Derived at 1 satellite station. Replaced by Viti Levu 1912 to WGS 84 (2) (code 6895).","For military and topographic mapping. Accuracy +/-25m in each axis.",3195,-18.32,-17.25,177.19,178.75,1,0,9603,51,391,-36,,,,,0 -740,5470,5451,4326,"Parameter values taken from Ocotepeque to CR05 (1) (tfm code 6890) assuming that CR05 is equivalent to WGS 84 within the accuracy of the transformation.",Topographic mapping.,3232,7.98,11.22,-85.97,-82.53,1,0,9603,213.11,9.37,-74.95,,,,,0 -741,5473,5451,4326,"Rotations in original source given in radians are equivalent to Rx = 2.35"", Ry = -0.06"", Rz = 6.39"".",Topographic mapping.,3232,7.98,11.22,-85.97,-82.53,1,1,9607,213.116,9.358,-74.946,2.351,-0.06147,6.39,-5.22,0 -742,5474,5451,4326,,Topographic mapping.,3876,7.98,17.83,-92.29,-82.53,1,1,9603,205.435,-29.099,292.202,,,,,0 -743,6891,5451,4326,"Concatenation (via NAD27) of transformations 6888 and 1171. Accuracy not given, but accuracy of constituent transformations given as 9m and 10m respectively.",For military purposes.,3876,7.98,17.83,-92.29,-82.53,1,0,9603,205,96,-98,,,,,1 -744,15752,4668,4326,Derived at 22 stations.,For military purposes. Accuracy 3m in each axis.,1297,34.88,71.21,-10.56,31.59,1,0,9603,-86,-98,-119,,,,,1 -745,15810,4735,4326,Derived at 1 satellite station.,"Military and topographic mapping. Accuracy +/- 25m in each axis.",3192,5.21,5.43,162.85,163.1,1,0,9603,647,1777,-1124,,,,,1 -746,15908,4754,4326,Derived at 5 stations throughout Libya used to define LGD2006 in May 2006.,For applications to an accuracy of 0.1 metre.,1143,19.5,35.23,9.31,26.21,1,0,9603,-208.4058,-109.8777,-2.5764,,,,,1 -747,4477,4463,4326,"Approximation at the +/- 1m level assuming that RGSPM06 is equivalent to WGS 84.","Accuracy +/- 1 metre.",1220,43.41,47.37,-57.1,-55.9,1,0,9603,0,0,0,,,,,1 -748,5501,5489,4326,"Approximation at the +/- 1m level assuming that RGAF09 is equivalent to WGS 84 within the accuracy of the transformation.","Accuracy +/- 1 metre.",2824,14.08,18.54,-63.66,-57.52,1,0,9603,0,0,0,,,,,1 -749,15912,4755,4326,"Approximation at the +/- 1m level assuming that DGN95 is equivalent to WGS 84 within the accuracy of the transformation.",Accuracy 1 metre.,1122,-13.95,7.79,92.01,141.46,1,0,9603,0,0,0,,,,,1 -750,1555,4158,4326,Derived in 1989 by ONI for Amoco.,Oil exploration.,3143,9.99,10.9,-61.97,-60.86,1,0,9603,-0.465,372.095,171.736,,,,,1 -751,1556,4158,4326,Described by NIMA as Naparima to WGS 84. In Trinidad the source CRS is better known as Naparima 1955. EPSG has duplicated the tfm using the alternative source CRSs. See also tfm code 1307.,For military purposes only. Accuracy given by NIMA 15m in each axis. EPSG believes there is an 8-10m blunder in dX.,3143,9.99,10.9,-61.97,-60.86,1,0,9603,-2,374,172,,,,,0 -752,4476,4470,4326,"Approximation at the +/- 1m level assuming that RGM04 is equivalent to WGS 84.","Accuracy +/- 1 metre.",1159,-14.49,-11.33,43.68,46.7,1,0,9603,0,0,0,,,,,1 -753,5194,4756,4326,Used by Total in Mekong delta.,Academic research not officially adopted.,3770,9.34,11.03,104.25,107.11,1,0,9607,-192.873,-39.382,-111.202,0.00205,0.0005,-0.00335,0.0188,0 -754,6960,4756,4326,,Academic research not officially adopted.,3328,8.5,23.33,102.14,109.52,1,0,9607,-191.90441429,-39.30318279,-111.45032835,-0.00928836,0.01975479,-0.00427372,0.252906278,1 -755,1931,4643,4326,,"Accuracy better than +/- 1 metre.",2821,-19.85,-19.5,163.54,163.75,1,0,9606,-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002,1 -756,4290,4475,4326,"Parameter values taken from Cadastre 1997 to RGM04 (1) (transformation code 4478) assuming that RGM04 is coincident with WGS 84 within the accuracy of the transformation.","Accuracy +/- 1 metre.",3340,-13.05,-12.61,44.98,45.35,1,0,9603,-381.788,-57.501,-256.673,,,,,1 -757,5374,5354,4326,,Accuracy 1m.,1049,-22.91,-9.67,-69.66,-57.52,1,0,9603,0,0,0,,,,,1 -758,15787,4701,4326,Derived by Topnav in 1991 at station TSH 85.,Oil exploration. Accuracy 5m.,3171,-6.04,-4.28,12.17,16.28,1,0,9603,-79.9,-158,-168.9,,,,,1 -759,4832,4483,4326,,Accuracy 1m.,1160,12.1,32.72,-122.19,-84.64,1,0,9603,0,0,0,,,,,1 -760,1917,4633,4326,Withdrawn by information source and replaced by improved information from local authority - see tfm code 15902.,"Accuracy +/- 10 metres.",2814,-21.24,-20.62,166.98,167.52,1,0,9603,336,223,-231,,,,,0 -761,1927,4633,4326,Withdrawn by information source and replaced by improved information - see tfm code 15902.,"Accuracy better than +/- 1 metre.",2814,-21.24,-20.62,166.98,167.52,1,0,9606,137.092,131.66,91.475,-1.9436,-11.5993,-4.3321,-7.4824,0 -762,15902,4633,4326,"Parameter values taken from IGN56 Lifou to RGNC91-93 (1) ( code 15883) assuming that RGNC91-93 is equivalent to WGS 84 to within the accuracy of the transformation.",Accuracy 1 metre.,2814,-21.24,-20.62,166.98,167.52,1,0,9603,335.47,222.58,-230.94,,,,,1 -763,15925,4758,4326,,For all practical purposes JAD2001 can be considered to be coincident with WGS 84.,1128,14.08,19.36,-80.6,-74.51,1,0,9603,0,0,0,,,,,1 -764,6711,6706,4326,"Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84. RDN2008 is a regional realisation of ETRS89.","Accuracy +/- 1 metre.",1127,34.76,47.1,5.93,18.99,1,0,9603,0,0,0,,,,,1 -765,15845,4161,4326,Transformation parameter precision given to millimetres in information source but due to accuracy rounded to nearest decimetre for EPSG database.,Geodetic surveying within the oil industry. Accuracy 25 m.,1265,-46.7,-45.19,-69.5,-67.1,1,0,9603,27.5,14,186.4,,,,,1 -766,15931,4759,4326,"Approximation at the +/- 1m level assuming that NAD83(NSRS2007) is equivalent to WGS 84 within the accuracy of the transformation.",For applications to an accuracy of 1 metre.,1511,14.92,74.71,167.65,-63.88,1,0,9603,0,0,0,,,,,1 -767,1540,4163,4326,,Accuracy better than 1 metre.,1257,8.95,19,41.08,57.96,1,0,9603,0,0,0,,,,,1 -768,4905,5013,4326,,PTRA08 and WGS 84 are realisations of ITRS coincident to within 1 metre. This transformation has an accuracy equal to the coincidence figure.,3670,29.24,43.07,-35.58,-12.48,1,0,9603,0,0,0,,,,,1 -769,6195,5527,4326,"Parameter values from SAD69(96) to SIRGAS 2000 (2)) (tfm code 5881) assuming that SIRGAS 2000 and WGS 84 are equal within the accuracy of the transformation, based on SAD69 to SIRGAS 2000 (1)) (tfm code 15485). Used by Petrobras and ANP from 1994.","Accuracy generally better than 1m except in Amazon basin where it degenerates to 5m. Should be used only to transform data obtained independently of the classical geodetic network (GPS observations conducted after 1994).",1053,-35.71,7.04,-74.01,-25.28,1,0,9603,-67.35,3.88,-38.22,,,,,1 -770,15806,4719,4326,Derived at 1 satellite station.,"Military and topographic mapping. Accuracy +/- 25m in each axis",3188,-27.25,-27.01,-109.51,-109.16,1,0,9603,211,147,111,,,,,1 -771,15860,4702,4326,Mauritania 1999 can be considered to be the same as WGS 84 within the accuracy of this transformation.,Minerals management. Accuracy 1m.,1157,14.72,27.3,-20.04,-4.8,1,0,9603,0,0,0,,,,,1 -772,15971,4762,4326,"Approximation at the +/- 1m level assuming that BDA2000 is equivalent to WGS 84.","Accuracy +/- 1 metre.",1047,28.91,35.73,-68.83,-60.7,1,0,9603,0,0,0,,,,,1 -773,5375,5360,4326,,Accuracy 1m.,1066,-59.87,-17.5,-113.21,-65.72,1,0,9603,0,0,0,,,,,1 -774,15972,4763,4326,"Approximation at the +/- 1m level assuming that Pitcairn 2006 is equivalent to WGS 84.","Accuracy +/- 1 metre.",3208,-25.14,-25,-130.16,-130.01,1,0,9603,0,0,0,,,,,1 -775,1558,4166,4326,Derived at 5 stations.,For military purposes. Accuracy 1m in each axis.,3266,33.14,38.64,124.53,131.01,1,0,9603,0,0,0,,,,,1 -776,4084,4081,4326,"Approximation at the +/- 1m level assuming that REGCAN95 is equivalent to WGS 84.","Accuracy +/- 1m.",3199,24.6,32.76,-21.93,-11.75,1,0,9603,0,0,0,,,,,1 -777,15974,4764,4326,"Approximation at the +/- 1m level assuming that RSRGD2000 is equivalent to WGS 84.","Accuracy +/- 1 metre.",3558,-90,-59.99,144.99,-144.99,1,0,9603,0,0,0,,,,,1 -778,5553,5546,4326,"Exact in 1994 but due to significant and variable tectonic activity in PNG, in 2011 PNG94 and WGS 84 differ generally by 2m but in areas of significant tectonic activity differences can exceed 9m.",Approximation at the 2-10m level.,1187,-14.75,2.58,139.2,162.81,1,0,9603,0,0,0,,,,,1 -779,15870,4679,4326,Derived at 5 points in 2002.,Hydrographic survey,2967,19.37,21.34,-17.08,-15.88,1,0,9603,-80.01,253.26,291.19,,,,,1 -780,15817,4727,4326,"Derived at 1 satellite station. Information source states ""provided for historical purposes only. These parameter [values] should not be used"". Replaced by Midway 1961 to WGS 84 (2) (tfm code 15818).","Military and topographic mapping. Accuracy +/- 25m in each axis.",3202,28.13,28.28,-177.45,-177.31,1,0,9603,912,-58,1227,,,,,0 -781,15818,4727,4326,"Derived at 1 satellite station. Replaces Midway 1961 to WGS 84 (1) (tfm code 15817).","Military and topographic mapping. Accuracy +/- 25m in each axis.",3202,28.13,28.28,-177.45,-177.31,1,0,9603,403,-81,277,,,,,1 -782,15976,4765,4326,"Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.","Accuracy +/- 1 metre.",1212,45.42,46.88,13.38,16.61,1,0,9603,0,0,0,,,,,1 -783,15820,4730,4326,Derived at 1 satellite station.,For military and topographic mapping. Accuracy 25m in each axis.,3194,-17.32,-14.57,166.47,168.71,1,0,9603,170,42,84,,,,,1 -784,15709,4680,4326,Derived by IGN in 1992 at 7 stations within Nouakchott city.,Oil exploration.,2972,17.89,18.25,-16.11,-15.83,1,0,9603,124.5,-63.5,-281,,,,,1 -785,15805,4718,4326,Derived at 1 satellite station.,"Military and topographic mapping. Accuracy +/- 25m in each axis.",3198,-8.86,-7.52,156.44,158.2,1,0,9603,230,-199,-752,,,,,1 -786,15807,4718,4326,Derived at 1 satellite station.,"Military and topographic mapping. Accuracy +/- 25m in each axis.",3197,-9.98,-9.2,159.55,160.88,1,0,9603,252,-209,-751,,,,,0 -787,5585,4023,4326,"Parameter values from MOLDREF99 to ETRS89 (1) (code 5584). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications with an accuracy of 1m.,1162,45.44,48.47,26.63,30.13,1,0,9603,0,0,0,,,,,1 -788,15831,4737,4326,"Approximation at the +/- 1m level assuming that ITRF2000 is equivalent to WGS 84.","Accuracy +/- 1 metre.",1135,28.6,40.27,122.71,134.28,1,0,9603,0,0,0,,,,,1 -789,5590,5561,4326,"Derived through concatenation of UCS-2000 to S-42 (1) (tfm code 5586 reversed) [an approximation] and S-42 to WGS 84 (16) (tfm code 15865) [derived for whole FSU rather than Ukraine]. Replaced by UCS-2000 to WGS 84 (2) (tfm code 5840).",Accuracy 5 metres.,1242,43.18,52.38,22.15,40.18,1,0,9607,25,-141,-78.5,0,-0.35,-0.736,0,1 -790,5823,5561,4326,"Parameter values taken from Ukraine 2000 to ITRF2005 (1) (code 5822) assuming that ITRS2005 is equivalent to WGS 84 within the accuracy of the transformation.","Approximation at the +/- 1m level assuming that ITRS2005 is equivalent to WGS 84.",1242,43.18,52.38,22.15,40.18,1,1,9603,24,-121,-76,,,,,0 -791,5840,5561,4326,"Rounded parameter values taken from UCS-2000 to ITRF2000 (1) (code 7817) assuming that WGS 84 is equivalent to ITRS2000 within the accuracy of the transformation. Replaces UCS-2000 to WGS 84 (1) (tfm code 5590).","Approximation at the +/- 1m level assuming that WGS 84 is equivalent to ITRS2000.",1242,43.18,52.38,22.15,40.18,1,0,9603,24,-121,-76,,,,,0 -792,6143,4726,4326,"Parameter values are taken from SIGD59 to CIGD11 (1) (code 6137) assuming that CIGD11 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1m.,3186,19.63,19.78,-80.14,-79.69,1,0,9607,8.853,-52.644,180.304,0.393,2.323,-2.96,-24.081,1 -793,15814,4726,4326,Determined from 1 satellite station.,"Military mapping. Accuracy +/- 25m in each axis.",3186,19.63,19.78,-80.14,-79.69,1,0,9603,42,124,147,,,,,0 -794,15829,4726,4326,Determined from 2 satellite stations.,"Topographic survey. Accuracy +/- 1m.",3186,19.63,19.78,-80.14,-79.69,1,0,9603,44.4,109,151.7,,,,,0 -795,15700,4682,4326,Derived at origin station in Dhaka.,Oil exploration.,1041,18.56,26.63,88.04,92.67,1,1,9603,283.8,735.9,261.1,,,,,0 -796,15779,4682,4326,Derived at origin station in Dhaka. Source information given to 3 decimal places but rounded by OGP to be commensurate with stated accuracy.,Oil exploration.,1041,18.56,26.63,88.04,92.67,1,0,9603,283.7,735.9,261.1,,,,,1 -797,1919,4635,4326,,"Accuracy better than +/- 1 metre.",2813,-20.77,-20.34,166.44,166.71,1,1,9606,-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,4.4798,0 -798,15708,4683,4326,Derived during GPS campaign which established PRS92 coordinates at 330 first order stations.,"Accuracy: 1-10 parts per million.",1190,3,22.18,116.04,129.95,1,0,9607,-127.62,-67.24,-47.04,3.068,-4.903,-1.578,-1.06,1 -799,6701,5246,4326,"Approximation at the +/- 1m level assuming that GDBD2009 is equivalent to WGS 84 within the accuracy of the transformation.",Accuracy 1m.,1055,4.01,6.31,112.37,115.37,1,0,9603,0,0,0,,,,,1 -800,1837,4257,4326,,Oil exploration.,1316,-6.54,-1.88,118.71,120.78,1,0,9603,-587.8,519.75,145.76,,,,,1 -801,15713,4684,4326,Derived at 1 station.,For military purposes only. Accuracy 25m in each axis.,3274,-0.69,7.08,72.81,73.69,1,0,9603,-133,-321,50,,,,,1 -802,6177,6135,4326,"Approximation at the +/- 1m level assuming that CIGD11 is equivalent to WGS 84.","Accuracy +/- 1m.",1063,17.58,20.68,-83.6,-78.72,1,0,9603,0,0,0,,,,,1 -803,4064,4046,4326,"Approximation at the +/- 1m level assuming that RGRDC 2005 is equivalent to WGS 84 within the accuracy of the transformation.",Accuracy 1m.,3613,-13.46,-3.41,11.79,29.81,1,0,9603,0,0,0,,,,,1 -804,15875,4721,4326,Derived at 20 stations. Also published by NGA in GeoTrans v3.4 software with parameter values rounded to integer.,"For military purposes. Accuracy 5m, 3m and 2m in X, Y and Z axes.",3398,-19.22,-16.1,176.81,-179.77,1,0,9603,265.025,384.929,-194.046,,,,,1 -805,7445,6311,4326,"Parameter values from CGRS93 to ETRS89 (1) (code 7444). Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.",Small scale hydrographic and aviation mapping.,3236,34.59,35.74,32.2,34.65,1,1,9606,8.846,-4.394,-1.122,0.00237,0.146528,-0.130428,0.783926,0 -806,7721,6311,4326,"Parameter values from CGRS93 to ETRS89 (1) (code 7720). Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.",Small scale hydrographic and aviation mapping.,3236,34.59,35.74,32.2,34.65,1,0,9607,8.846,-4.394,-1.122,0.00237,0.146528,-0.130428,0.783926,1 -807,5599,5593,4326,,Approximation at the 1m level.,3889,54.33,54.83,10.66,12.01,1,0,9603,0,0,0,,,,,1 -808,15832,4687,4326,"Transformation is to original definition of WGS 84. It is consistent with later WGS 84 realisations G730, G873 and G1150 to no better than 1m.","Accuracy +/- 0.5 metre (to original definition of WGS 84 - see remarks).",1098,-31.24,-4.52,-158.13,-131.97,1,0,9607,0.072,-0.507,-0.245,0.0183,-0.0003,0.007,-0.0093,1 -809,15833,4687,4326,"Approximation at the +/- 1m level assuming that RGPF is equivalent to WGS 84.","Accuracy +/- 1 metre.",1098,-31.24,-4.52,-158.13,-131.97,1,0,9603,0,0,0,,,,,0 -810,1921,4636,4326,,"Accuracy +/- 10 metres.",2817,-66.78,-66.1,139.44,141.5,1,0,9603,365,194,166,,,,,1 -811,15772,4688,4326,"Approximation at the +/- 1m level assuming that RGPF is equivalent to WGS 84. Parameter values taken from Fatu Iva 72 to RGPF (1) (tfm code 15760).","Accuracy +/- 2 metres.",3133,-10.6,-10.36,-138.75,-138.54,1,0,9607,347.103,1078.125,2623.922,33.8875,-70.6773,9.3943,186.074,1 -812,5236,5233,4326,Derived at 58 stations.,Accuracy 14m.,3310,5.86,9.88,79.64,81.95,1,0,9607,-0.293,766.95,87.713,-0.195704,-1.695068,-3.473016,-0.039338,1 -813,4077,4075,4326,"Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84. SREF98 is a regional realisation of ETRS89.","Accuracy +/- 1 metre.",3534,41.85,46.19,18.81,23.01,1,0,9603,0,0,0,,,,,1 -814,4835,4690,4326,"Approximation at the +/- 1m level assuming that RGPF is equivalent to WGS 84. Parameter values taken from Tahiti 79 to RGPF (1) (tfm code 15756).","Accuracy +/- 1 metre.",3124,-17.93,-17.44,-149.7,-149.09,1,0,9607,221.525,152.948,176.768,2.3847,1.3896,0.877,11.4741,1 -815,1922,4637,4326,,"Accuracy +/- 10 metres.",2818,-67.13,-65.61,136,142,1,0,9603,325,154,172,,,,,1 -816,15797,4712,4326,Derived at 2 satellite stations.,For military purposes only. Accuracy 25m in each axis.,3182,-8.03,-7.83,-14.46,-14.24,1,0,9603,-205,107,53,,,,,1 -817,15769,4691,4326,"Approximation at the +/- 1m level assuming that RGPF is equivalent to WGS 84. Parameter values taken from Moorea 87 to RGPF (1) (tfm code 15757).","Accuracy +/- 1 metre.",3125,-17.63,-17.41,-150,-149.73,1,0,9607,215.525,149.593,176.229,3.2624,1.692,1.1571,10.4773,1 -818,6142,4723,4326,"Parameter values are taken from GCGD59 to CIGD11 (1) (code 6136) assuming that CIGD11 and WGS 84 can be considered the same to within the accuracy of the transformation.",For applications to an accuracy of 1m.,3185,19.21,19.41,-81.46,-81.04,1,0,9607,-179.483,-69.379,-27.584,7.862,-8.163,-6.042,-13.925,1 -819,15830,4723,4326,Determined from 6 satellite stations.,"Topographic survey. Accuracy +/- 1m.",3185,19.21,19.41,-81.46,-81.04,1,0,9603,67.8,106.1,138.8,,,,,0 -820,4066,4695,4326,"Parameter values taken from Katanga 1955 to RGRDC 2005 (1) (code 4065) assuming that RGRDC 2005 is equivalent to WGS 84 within the accuracy of the transformation.",Accuracy 1.5m.,3614,-12.01,-11.13,26.38,27.75,1,0,9603,-103.746,-9.614,-255.95,,,,,1 -821,15746,4693,4326,Derived in Tombak district in March 2005. Used for South Pars phase 11 and Pars LNG plants.,Petroleum Exploration and Production.,3141,27.63,27.81,52.09,52.26,1,0,9603,0,-0.15,0.68,,,,,1 -822,1441,4601,4326,,"?",1273,16.94,17.22,-61.95,-61.61,1,0,9603,-255,-15,71,,,,,1 -823,15811,4601,4326,Determined from 1 satellite station.,"Military mapping. Accuracy +/- 25m in each axis.",1273,16.94,17.22,-61.95,-61.61,1,0,9603,-270,13,62,,,,,0 -824,1442,4602,4326,,"?",3239,15.14,15.69,-61.55,-61.2,1,0,9603,725,685,536,,,,,1 -825,1443,4603,4326,,"?",3118,11.94,12.29,-61.84,-61.54,1,0,9603,72,213.7,93,,,,,1 -826,1444,4604,4326,Derived at 1 satellite station.,Accuracy 25m in each axis.,3279,16.62,16.87,-62.29,-62.08,1,0,9603,174,359,365,,,,,1 -827,1445,4605,4326,,"?",3297,17.06,17.46,-62.92,-62.5,1,0,9603,9,183,236,,,,,1 -828,15750,4605,4326,Derived at 2 stations.,"For military purposes. Accuracy 25m in each of X, Y and Z axes.",3297,17.06,17.46,-62.92,-62.5,1,0,9603,-7,215,225,,,,,0 -829,1446,4606,4326,,"?",3298,13.66,14.16,-61.13,-60.82,1,0,9603,-149,128,296,,,,,1 -830,6897,4606,4326,Derived at 3 stations.,For military purposes only. Accuracy 1m in each axis.,3298,13.66,14.16,-61.13,-60.82,1,0,9603,-153,153,307,,,,,0 -831,1959,4607,4326,Derived at 4 points.,1m accuracy.,3300,12.54,13.44,-61.52,-61.07,1,0,9603,195.671,332.517,274.607,,,,,1 diff --git a/bin/gdal_data/default.rsc b/bin/gdal_data/default.rsc deleted file mode 100644 index 2fb03e82..00000000 Binary files a/bin/gdal_data/default.rsc and /dev/null differ diff --git a/bin/gdal_data/ecw_cs.wkt b/bin/gdal_data/ecw_cs.wkt deleted file mode 100644 index d3446c29..00000000 --- a/bin/gdal_data/ecw_cs.wkt +++ /dev/null @@ -1,1452 +0,0 @@ -AB_10TM,PROJCS["AB_10TM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-114.9999999999725],PARAMETER["scale_factor",0.9992],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -ACRESLC,PROJCS["ACRESLC",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-18.00000000235031],PARAMETER["standard_parallel_2",-35.99999999897103],PARAMETER["latitude_of_origin",-26.99999999779589],PARAMETER["central_meridian",131.999999998137],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -AEAFRICA,LOCAL_CS["AEAFRICA - (unsupported)"] -AERUSS,LOCAL_CS["AERUSS - (unsupported)"] -ALALASK2,PROJCS["ALALASK2",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",65],PARAMETER["standard_parallel_2",55],PARAMETER["latitude_of_center",0],PARAMETER["longitude_of_center",-153],PARAMETER["false_easting",0],PARAMETER["false_northing",-4943910.68]] -ALALASK3,PROJCS["ALALASK3",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",65],PARAMETER["standard_parallel_2",55],PARAMETER["latitude_of_center",0],PARAMETER["longitude_of_center",-153],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -ALALASKA,PROJCS["ALALASKA",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",65],PARAMETER["standard_parallel_2",55],PARAMETER["latitude_of_center",0],PARAMETER["longitude_of_center",-150],PARAMETER["false_easting",0],PARAMETER["false_northing",-4943910.68]] -ALAUS,PROJCS["ALAUS",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",-10],PARAMETER["standard_parallel_2",-39.99999999999994],PARAMETER["latitude_of_center",-29.99999999999995],PARAMETER["longitude_of_center",135],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -ALBC,PROJCS["ALBC",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",58.5],PARAMETER["standard_parallel_2",50],PARAMETER["latitude_of_center",45],PARAMETER["longitude_of_center",-126],PARAMETER["false_easting",1000000],PARAMETER["false_northing",0]] -ALBERING,PROJCS["ALBERING",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",60],PARAMETER["standard_parallel_2",70],PARAMETER["latitude_of_center",60],PARAMETER["longitude_of_center",170],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -ALCAM,PROJCS["ALCAM",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",30],PARAMETER["standard_parallel_2",10],PARAMETER["latitude_of_center",20],PARAMETER["longitude_of_center",-69.99999999999994],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -ALCANADA,PROJCS["ALCANADA",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",66],PARAMETER["standard_parallel_2",41],PARAMETER["latitude_of_center",55],PARAMETER["longitude_of_center",-89.99999999999994],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -ALCHI,PROJCS["ALCHI",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",45],PARAMETER["standard_parallel_2",20],PARAMETER["latitude_of_center",35],PARAMETER["longitude_of_center",110],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -ALCOLOMB,PROJCS["ALCOLOMB",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",1],PARAMETER["standard_parallel_2",5],PARAMETER["latitude_of_center",0],PARAMETER["longitude_of_center",-72.99999999999994],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -ALDLGAL,PROJCS["ALDLGAL",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",55.00000000000679],PARAMETER["standard_parallel_2",64.99999999998198],PARAMETER["latitude_of_center",49.99999999999055],PARAMETER["longitude_of_center",-153.9999999999846],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -ALDLGHAW,PROJCS["ALDLGHAW",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",8.00000000002599],PARAMETER["standard_parallel_2",18.00000000000118],PARAMETER["latitude_of_center",3.000000000009746],PARAMETER["longitude_of_center",-156.9999999999944],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -ALDLGUSA,PROJCS["ALDLGUSA",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",29.5],PARAMETER["standard_parallel_2",45.5],PARAMETER["latitude_of_center",23],PARAMETER["longitude_of_center",-95.99999999999996],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -ALEUR,PROJCS["ALEUR",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",70],PARAMETER["standard_parallel_2",35],PARAMETER["latitude_of_center",50],PARAMETER["longitude_of_center",12],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -ALEURO,PROJCS["ALEURO",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",40],PARAMETER["standard_parallel_2",60],PARAMETER["latitude_of_center",0],PARAMETER["longitude_of_center",12],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -ALFAR,PROJCS["ALFAR",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",30],PARAMETER["standard_parallel_2",10],PARAMETER["latitude_of_center",20],PARAMETER["longitude_of_center",80],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -ALFGDL,PROJCS["ALFGDL",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",24.00000000122388],PARAMETER["standard_parallel_2",31.50000000124825],PARAMETER["latitude_of_center",24.00000000122388],PARAMETER["longitude_of_center",-84.00000000141881],PARAMETER["false_easting",400000],PARAMETER["false_northing",0]] -ALFLA_GRS80,PROJCS["ALFLA_GRS80",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",24.00000000122388],PARAMETER["standard_parallel_2",31.50000000124825],PARAMETER["latitude_of_center",24.00000000122388],PARAMETER["longitude_of_center",-84.00000000141881],PARAMETER["false_easting",400000],PARAMETER["false_northing",0]] -ALFLA_N27,PROJCS["ALFLA_N27",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",24.00000000122388],PARAMETER["standard_parallel_2",31.50000000124825],PARAMETER["latitude_of_center",24.00000000122388],PARAMETER["longitude_of_center",-84.00000000141881],PARAMETER["false_easting",400000],PARAMETER["false_northing",0]] -ALGMEXIC,PROJCS["ALGMEXIC",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",28],PARAMETER["standard_parallel_2",22],PARAMETER["latitude_of_center",25],PARAMETER["longitude_of_center",-89.99999999999994],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -ALGULFFT,PROJCS["ALGULFFT",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",31],PARAMETER["standard_parallel_2",27],PARAMETER["latitude_of_center",0],PARAMETER["longitude_of_center",-89.99999999999994],PARAMETER["false_easting",3500000],PARAMETER["false_northing",-7624216.25],UNIT["unnamed",0.3048006096]] -ALGULFMT,PROJCS["ALGULFMT",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",45.5],PARAMETER["standard_parallel_2",29.5],PARAMETER["latitude_of_center",23],PARAMETER["longitude_of_center",-89.99999999999994],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -ALMALIN,PROJCS["ALMALIN",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",30],PARAMETER["standard_parallel_2",0.008333299999997507],PARAMETER["latitude_of_center",15],PARAMETER["longitude_of_center",120],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -ALMEA2,PROJCS["ALMEA2",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",25.0000003],PARAMETER["standard_parallel_2",-24.99999999999997],PARAMETER["latitude_of_center",0],PARAMETER["longitude_of_center",20],PARAMETER["false_easting",5000000],PARAMETER["false_northing",5000000]] -ALMENA,PROJCS["ALMENA",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",35],PARAMETER["standard_parallel_2",1],PARAMETER["latitude_of_center",18],PARAMETER["longitude_of_center",20],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -ALNEVADA,PROJCS["ALNEVADA",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",36.00000000000237],PARAMETER["standard_parallel_2",41.0000000000186],PARAMETER["latitude_of_center",38.50000000001049],PARAMETER["longitude_of_center",-116.999999999979],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -ALNSEA,PROJCS["ALNSEA",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",53],PARAMETER["standard_parallel_2",61],PARAMETER["latitude_of_center",0],PARAMETER["longitude_of_center",0],PARAMETER["false_easting",1000000],PARAMETER["false_northing",0]] -ALRUSS,PROJCS["ALRUSS",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",38],PARAMETER["standard_parallel_2",62],PARAMETER["latitude_of_center",0],PARAMETER["longitude_of_center",96],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -ALSAF,PROJCS["ALSAF",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",-0.9999999999999829],PARAMETER["standard_parallel_2",-31],PARAMETER["latitude_of_center",-15.99999999999996],PARAMETER["longitude_of_center",20],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -ALSAM,PROJCS["ALSAM",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",-0.9999999999999829],PARAMETER["standard_parallel_2",-54.99999999999998],PARAMETER["latitude_of_center",-27.99999999999998],PARAMETER["longitude_of_center",-69.99999999999994],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -ALTEALE,PROJCS["ALTEALE",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",34],PARAMETER["standard_parallel_2",40.49999999999996],PARAMETER["latitude_of_center",0],PARAMETER["longitude_of_center",-120],PARAMETER["false_easting",0],PARAMETER["false_northing",-4000000]] -ALTX_TCMS_AEA,PROJCS["ALTX_TCMS_AEA",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",27.49999999997475],PARAMETER["standard_parallel_2",34.99999999999911],PARAMETER["latitude_of_center",18.00000000000118],PARAMETER["longitude_of_center",-99.9999999999811],PARAMETER["false_easting",1500000],PARAMETER["false_northing",6000000]] -ALUSA_FT,PROJCS["ALUSA_FT",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",29.5],PARAMETER["standard_parallel_2",45.5],PARAMETER["latitude_of_center",23],PARAMETER["longitude_of_center",-95.99999999999996],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["unnamed",0.3048006096]] -ALVENEZ,PROJCS["ALVENEZ",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",10],PARAMETER["standard_parallel_2",4],PARAMETER["latitude_of_center",7],PARAMETER["longitude_of_center",-65.99999999999996],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -ALWAUST,PROJCS["ALWAUST",PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",-17.4752127514901],PARAMETER["standard_parallel_2",-31.51267873219527],PARAMETER["latitude_of_center",-29.99999999999995],PARAMETER["longitude_of_center",120.8940947726037],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -BCNAMER,LOCAL_CS["BCNAMER - (unsupported)"] -BCSAMER,LOCAL_CS["BCSAMER - (unsupported)"] -BCSPHERE,LOCAL_CS["BCSPHERE - (unsupported)"] -BONNEPOR,LOCAL_CS["BONNEPOR - (unsupported)"] -BORNEOMT,LOCAL_CS["BORNEOMT - (unsupported)"] -CAISRAEL,PROJCS["CAISRAEL",PROJECTION["Cassini_Soldner"],PARAMETER["latitude_of_origin",31.7340969],PARAMETER["central_meridian",35.2120806],PARAMETER["false_easting",170251.555],PARAMETER["false_northing",1126867.91]] -CAISRMOD,PROJCS["CAISRMOD",PROJECTION["Cassini_Soldner"],PARAMETER["latitude_of_origin",31.7340969],PARAMETER["central_meridian",35.2120806],PARAMETER["false_easting",1170251.55],PARAMETER["false_northing",1126867.91]] -CAPAL,PROJCS["CAPAL",PROJECTION["Cassini_Soldner"],PARAMETER["latitude_of_origin",31.7340969],PARAMETER["central_meridian",35.2120806],PARAMETER["false_easting",170251.555],PARAMETER["false_northing",126867.91]] -CAQATAR,PROJCS["CAQATAR",PROJECTION["Cassini_Soldner"],PARAMETER["latitude_of_origin",25.3823611],PARAMETER["central_meridian",50.7613889],PARAMETER["false_easting",100000],PARAMETER["false_northing",100000]] -CAQATMOD,PROJCS["CAQATMOD",PROJECTION["Cassini_Soldner"],PARAMETER["latitude_of_origin",25.3823611],PARAMETER["central_meridian",50.7613889],PARAMETER["false_easting",100000],PARAMETER["false_northing",1100000]] -CASNGPOR,PROJCS["CASNGPOR",PROJECTION["Cassini_Soldner"],PARAMETER["latitude_of_origin",1.2876466],PARAMETER["central_meridian",103.8530022],PARAMETER["false_easting",30000],PARAMETER["false_northing",30000]] -CATOBAGO,PROJCS["CATOBAGO",PROJECTION["Cassini_Soldner"],PARAMETER["latitude_of_origin",11.2521786],PARAMETER["central_meridian",-60.6860088],PARAMETER["false_easting",187500],PARAMETER["false_northing",180000],UNIT["unnamed",0.201166195]] -CATRINID,PROJCS["CATRINID",PROJECTION["Cassini_Soldner"],PARAMETER["latitude_of_origin",10.4416666],PARAMETER["central_meridian",-61.33333329999998],PARAMETER["false_easting",430000],PARAMETER["false_northing",325000],UNIT["unnamed",0.201166195]] -CAVANUA,PROJCS["CAVANUA",PROJECTION["Cassini_Soldner"],PARAMETER["latitude_of_origin",-16.24999999999996],PARAMETER["central_meridian",179.3333333],PARAMETER["false_easting",12513.32],PARAMETER["false_northing",16628.88],UNIT["unnamed",0.201166195]] -CAVITI,PROJCS["CAVITI",PROJECTION["Cassini_Soldner"],PARAMETER["latitude_of_origin",-17.99999999999998],PARAMETER["central_meridian",178],PARAMETER["false_easting",5440],PARAMETER["false_northing",7040],UNIT["unnamed",0.201166195]] -CE42BUL,LOCAL_CS["CE42BUL - (unsupported)"] -CEAUST,LOCAL_CS["CEAUST - (unsupported)"] -CEBLACK,LOCAL_CS["CEBLACK - (unsupported)"] -CECARP1,LOCAL_CS["CECARP1 - (unsupported)"] -CECASP,LOCAL_CS["CECASP - (unsupported)"] -CECASPAN,LOCAL_CS["CECASPAN - (unsupported)"] -CECISWMC,LOCAL_CS["CECISWMC - (unsupported)"] -CEEUR1,LOCAL_CS["CEEUR1 - (unsupported)"] -CEEUROPE,LOCAL_CS["CEEUROPE - (unsupported)"] -CERUSS,LOCAL_CS["CERUSS - (unsupported)"] -CERUSS1,LOCAL_CS["CERUSS1 - (unsupported)"] -CERUSS2,LOCAL_CS["CERUSS2 - (unsupported)"] -CEYUGO,LOCAL_CS["CEYUGO - (unsupported)"] -DUTCHNEW,LOCAL_CS["DUTCHNEW - (unsupported)"] -DUTCHOLD,LOCAL_CS["DUTCHOLD - (unsupported)"] -EGSA87,PROJCS["EGSA87",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",23.99999882666041],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -FLSPHERE,LOCAL_CS["FLSPHERE - (unsupported)"] -GALCC,PROJCS["GALCC",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-18.00000000235031],PARAMETER["standard_parallel_2",-35.99999999897103],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",134.0000000015812],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -HGRS87,PROJCS["HGRS87",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",23.99999882666041],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -IDTM,PROJCS["IDTM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.99999999999996],PARAMETER["central_meridian",-114],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",100000]] -JAPAN19_01,PROJCS["JAPAN19_01",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",33],PARAMETER["central_meridian",129.5000000000002],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_02,PROJCS["JAPAN19_02",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",33],PARAMETER["central_meridian",131],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_03,PROJCS["JAPAN19_03",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",36],PARAMETER["central_meridian",132.1666666666665],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_04,PROJCS["JAPAN19_04",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",33],PARAMETER["central_meridian",133.5],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_05,PROJCS["JAPAN19_05",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",35.99999999897103],PARAMETER["central_meridian",134.3333333329101],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_06,PROJCS["JAPAN19_06",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",35.99999999897103],PARAMETER["central_meridian",136],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_07,PROJCS["JAPAN19_07",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",36],PARAMETER["central_meridian",137.1666666666667],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_08,PROJCS["JAPAN19_08",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",36],PARAMETER["central_meridian",138.5000000000002],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_09,PROJCS["JAPAN19_09",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",35.99999999897103],PARAMETER["central_meridian",139.8333333333004],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_10,PROJCS["JAPAN19_10",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40],PARAMETER["central_meridian",140.8333333333334],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_11,PROJCS["JAPAN19_11",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",44],PARAMETER["central_meridian",140.25],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_12,PROJCS["JAPAN19_12",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",44],PARAMETER["central_meridian",142.2499999999997],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_13,PROJCS["JAPAN19_13",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",44],PARAMETER["central_meridian",144.25],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_14,PROJCS["JAPAN19_14",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",26],PARAMETER["central_meridian",142],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_15,PROJCS["JAPAN19_15",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",26],PARAMETER["central_meridian",127.5],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_16,PROJCS["JAPAN19_16",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",26],PARAMETER["central_meridian",124],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_17,PROJCS["JAPAN19_17",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",26],PARAMETER["central_meridian",131],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_18,PROJCS["JAPAN19_18",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",20],PARAMETER["central_meridian",136],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -JAPAN19_19,PROJCS["JAPAN19_19",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",26],PARAMETER["central_meridian",154],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -KOREA_25,PROJCS["KOREA_25",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",38.00000000241528],PARAMETER["central_meridian",125.00289027778],PARAMETER["scale_factor",1],PARAMETER["false_easting",200000],PARAMETER["false_northing",500000]] -KOREA_27,PROJCS["KOREA_27",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",38.00000000241528],PARAMETER["central_meridian",127.0028902777799],PARAMETER["scale_factor",1],PARAMETER["false_easting",200000],PARAMETER["false_northing",500000]] -KOREA_29,PROJCS["KOREA_29",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",38.00000000241528],PARAMETER["central_meridian",129.00289027778],PARAMETER["scale_factor",1],PARAMETER["false_easting",200000],PARAMETER["false_northing",500000]] -KOREA_31,PROJCS["KOREA_31",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",38.00000000241528],PARAMETER["central_meridian",131.00289027778],PARAMETER["scale_factor",1],PARAMETER["false_easting",200000],PARAMETER["false_northing",500000]] -KOREA_JJ,PROJCS["KOREA_JJ",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",38.00000000241528],PARAMETER["central_meridian",127.0028902777799],PARAMETER["scale_factor",1],PARAMETER["false_easting",200000],PARAMETER["false_northing",550000]] -L2AFRICA,PROJCS["L2AFRICA",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",20.00000000006498],PARAMETER["standard_parallel_2",-10.00000000003249],PARAMETER["latitude_of_origin",-25.00000000008122],PARAMETER["central_meridian",20.00000000006498],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -L2ALASKA,PROJCS["L2ALASKA",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",60.00000000019492],PARAMETER["standard_parallel_2",70.00000000022742],PARAMETER["latitude_of_origin",65.00000000021116],PARAMETER["central_meridian",-150.0000000004873],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -L2ALS10F,PROJCS["L2ALS10F",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",51.83333333617553],PARAMETER["standard_parallel_2",53.8333333338902],PARAMETER["latitude_of_origin",51.00000002766766],PARAMETER["central_meridian",-176.0000000280737],PARAMETER["false_easting",3000000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2ALS10M,PROJCS["L2ALS10M",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",51.83333333617553],PARAMETER["standard_parallel_2",53.8333333338902],PARAMETER["latitude_of_origin",51.00000002766766],PARAMETER["central_meridian",-176.0000000280737],PARAMETER["false_easting",1000000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2ALSK10F83,PROJCS["L2ALSK10F83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",51.82355506655649],PARAMETER["standard_parallel_2",53.82317782885884],PARAMETER["latitude_of_origin",50.9903789776676],PARAMETER["central_meridian",-175.9667980405784],PARAMETER["false_easting",3280833.333],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2ANT1,PROJCS["L2ANT1",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-82.50000000599761],PARAMETER["standard_parallel_2",-81.49999997849238],PARAMETER["latitude_of_origin",-83.49999997620704],PARAMETER["central_meridian",-105.0000000232594],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -L2ANTDRI,PROJCS["L2ANTDRI",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-79.33333486606217],PARAMETER["standard_parallel_2",-76.6666632368084],PARAMETER["latitude_of_origin",-79.99999990858666],PARAMETER["central_meridian",159.9999998171733],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -L2ARKNF83,PROJCS["L2ARKNF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36.23333329670535],PARAMETER["standard_parallel_2",34.93333331251476],PARAMETER["latitude_of_origin",34.33333328455248],PARAMETER["central_meridian",-92.00000000946621],PARAMETER["false_easting",1312333.333],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2ARKSF83,PROJCS["L2ARKSF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",34.76666670810897],PARAMETER["standard_parallel_2",33.30000000492102],PARAMETER["latitude_of_origin",32.66666672483252],PARAMETER["central_meridian",-92.00000000946621],PARAMETER["false_easting",1312333.333],PARAMETER["false_northing",1312333.333],UNIT["US Foot",0.30480061]] -L2AUST,PROJCS["L2AUST",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-30.00000000009746],PARAMETER["standard_parallel_2",-20.00000000006498],PARAMETER["latitude_of_origin",-25.00000000008122],PARAMETER["central_meridian",135.0000000004386],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -L2CAL1F83,PROJCS["L2CAL1F83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",41.66666668590062],PARAMETER["standard_parallel_2",40.0000000115891],PARAMETER["latitude_of_origin",39.33333330748703],PARAMETER["central_meridian",-121.9999999751862],PARAMETER["false_easting",6561666.665],PARAMETER["false_northing",1640416.666],UNIT["US Foot",0.30480061]] -L2CAL1M,PROJCS["L2CAL1M",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.0000000115891],PARAMETER["standard_parallel_2",41.66666668590062],PARAMETER["latitude_of_origin",39.33333330748703],PARAMETER["central_meridian",-121.9999999751862],PARAMETER["false_easting",2000000],PARAMETER["false_northing",500000],UNIT["unnamed",1]] -L2CAL2F83,PROJCS["L2CAL2F83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39.83333329259175],PARAMETER["standard_parallel_2",38.33333327998181],PARAMETER["latitude_of_origin",37.66666669047129],PARAMETER["central_meridian",-121.9999999751862],PARAMETER["false_easting",6561666.665],PARAMETER["false_northing",1640416.666],UNIT["US Foot",0.30480061]] -L2CAL2M,PROJCS["L2CAL2M",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.33333333727759],PARAMETER["standard_parallel_2",39.83333334988753],PARAMETER["latitude_of_origin",37.66666669047129],PARAMETER["central_meridian",-121.9999999751862],PARAMETER["false_easting",2000000],PARAMETER["false_northing",500000],UNIT["unnamed",1]] -L2CAL3F83,PROJCS["L2CAL3F83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.43333332283937],PARAMETER["standard_parallel_2",37.06666671980479],PARAMETER["latitude_of_origin",36.50000000126449],PARAMETER["central_meridian",-120.500000019872],PARAMETER["false_easting",6561666.665],PARAMETER["false_northing",1640416.666],UNIT["US Foot",0.30480061]] -L2CAL3M,PROJCS["L2CAL3M",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37.066666662509],PARAMETER["standard_parallel_2",38.43333332283937],PARAMETER["latitude_of_origin",36.50000000126449],PARAMETER["central_meridian",-120.500000019872],PARAMETER["false_easting",2000000],PARAMETER["false_northing",500000],UNIT["unnamed",1]] -L2CAL4F83,PROJCS["L2CAL4F83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37.24999997892158],PARAMETER["standard_parallel_2",36.00000001615977],PARAMETER["latitude_of_origin",35.3333333120577],PARAMETER["central_meridian",-119.0000000072621],PARAMETER["false_easting",6561666.665],PARAMETER["false_northing",1640416.666],UNIT["US Foot",0.30480061]] -L2CAL4M,PROJCS["L2CAL4M",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36.00000001615977],PARAMETER["standard_parallel_2",37.24999997892158],PARAMETER["latitude_of_origin",35.3333333120577],PARAMETER["central_meridian",-119.0000000072621],PARAMETER["false_easting",2000000],PARAMETER["false_northing",500000],UNIT["unnamed",1]] -L2CAL5F83,PROJCS["L2CAL5F83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",35.46666672163305],PARAMETER["standard_parallel_2",34.03333332786711],PARAMETER["latitude_of_origin",33.49999997604461],PARAMETER["central_meridian",-117.9999999797569],PARAMETER["false_easting",6561666.665],PARAMETER["false_northing",1640416.666],UNIT["US Foot",0.30480061]] -L2CAL5M,PROJCS["L2CAL5M",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",35.46666672163305],PARAMETER["standard_parallel_2",34.03333332786711],PARAMETER["latitude_of_origin",33.49999997604461],PARAMETER["central_meridian",-117.9999999797569],PARAMETER["false_easting",2000000],PARAMETER["false_northing",500000]] -L2CAL6F83,PROJCS["L2CAL6F83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",33.88333332087654],PARAMETER["standard_parallel_2",32.78333330780953],PARAMETER["latitude_of_origin",32.16666668243202],PARAMETER["central_meridian",-116.2499999745946],PARAMETER["false_easting",6561666.665],PARAMETER["false_northing",1640416.666],UNIT["US Foot",0.30480061]] -L2CAL6M,PROJCS["L2CAL6M",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",32.78333330780953],PARAMETER["standard_parallel_2",33.88333332087654],PARAMETER["latitude_of_origin",32.16666668243202],PARAMETER["central_meridian",-116.2499999745946],PARAMETER["false_easting",2000000],PARAMETER["false_northing",500000],UNIT["unnamed",1]] -L2CAMER,PROJCS["L2CAMER",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",10.00000000003249],PARAMETER["standard_parallel_2",30.00000000009746],PARAMETER["latitude_of_origin",20.00000000006498],PARAMETER["central_meridian",-90.00000000029239],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -L2CAN2K,PROJCS["L2CAN2K",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",76.99999999795831],PARAMETER["standard_parallel_2",49.0000000013051],PARAMETER["latitude_of_origin",63.00000000249651],PARAMETER["central_meridian",-91.99999999800704],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -L2CANADA,PROJCS["L2CANADA",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",50.00000000016244],PARAMETER["standard_parallel_2",60.00000000019492],PARAMETER["latitude_of_origin",55.00000000017868],PARAMETER["central_meridian",-100.0000000003249],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -L2COLCF83,PROJCS["L2COLCF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.45000000001032],PARAMETER["standard_parallel_2",39.75000000001454],PARAMETER["latitude_of_origin",37.83333333332256],PARAMETER["central_meridian",-105.499999999999],PARAMETER["false_easting",3000000],PARAMETER["false_northing",999999.9998],UNIT["US Foot",0.30480061]] -L2COLCM,PROJCS["L2COLCM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.44999997755038],PARAMETER["standard_parallel_2",39.75000001903675],PARAMETER["latitude_of_origin",37.83333335217286],PARAMETER["central_meridian",-105.5000000083642],PARAMETER["false_easting",914401.8289],PARAMETER["false_northing",304800.6096],UNIT["unnamed",1]] -L2COLNF83,PROJCS["L2COLNF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39.71666666664291],PARAMETER["standard_parallel_2",40.78333333333213],PARAMETER["latitude_of_origin",39.33333333332743],PARAMETER["central_meridian",-105.499999999999],PARAMETER["false_easting",3000000],PARAMETER["false_northing",999999.9998],UNIT["US Foot",0.30480061]] -L2COLNM,PROJCS["L2COLNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39.71666665231896],PARAMETER["standard_parallel_2",40.78333335596397],PARAMETER["latitude_of_origin",39.33333330748703],PARAMETER["central_meridian",-105.5000000083642],PARAMETER["false_easting",914401.8289],PARAMETER["false_northing",304800.6096],UNIT["unnamed",1]] -L2COLSF83,PROJCS["L2COLSF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.43333332283937],PARAMETER["standard_parallel_2",37.23333332421058],PARAMETER["latitude_of_origin",36.66666666296607],PARAMETER["central_meridian",-105.5000000083642],PARAMETER["false_easting",3000000],PARAMETER["false_northing",999999.9998],UNIT["US Foot",0.30480061]] -L2COLSM,PROJCS["L2COLSM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37.23333332421058],PARAMETER["standard_parallel_2",38.43333332283937],PARAMETER["latitude_of_origin",36.66666666296607],PARAMETER["central_meridian",-105.5000000083642],PARAMETER["false_easting",914401.8289],PARAMETER["false_northing",304800.6096],UNIT["unnamed",1]] -L2CONNF83,PROJCS["L2CONNF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",41.86666671431998],PARAMETER["standard_parallel_2",41.20000001021791],PARAMETER["latitude_of_origin",40.83333332009697],PARAMETER["central_meridian",-72.75000000997663],PARAMETER["false_easting",1000000.001],PARAMETER["false_northing",499999.9999],UNIT["US Foot",0.30480061]] -L2EUROPE,PROJCS["L2EUROPE",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.00000000012995],PARAMETER["standard_parallel_2",60.00000000019492],PARAMETER["latitude_of_origin",50.00000000016244],PARAMETER["central_meridian",20.00000000006498],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -L2FLANF83,PROJCS["L2FLANF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",30.75000000067286],PARAMETER["standard_parallel_2",29.58333331146606],PARAMETER["latitude_of_origin",28.99999999551055],PARAMETER["central_meridian",-84.50000000371226],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2FLANM,PROJCS["L2FLANM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",29.58333331146606],PARAMETER["standard_parallel_2",30.75000000067286],PARAMETER["latitude_of_origin",28.99999999551055],PARAMETER["central_meridian",-84.50000000371226],PARAMETER["false_easting",600000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2IOWNF83,LOCAL_CS["L2IOWNF83 - (unsupported)"] -L2IOWNM,PROJCS["L2IOWNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42.06666668544356],PARAMETER["standard_parallel_2",43.26666668407236],PARAMETER["latitude_of_origin",41.50000002419905],PARAMETER["central_meridian",-93.50000002207615],PARAMETER["false_easting",1500000],PARAMETER["false_northing",1000000],UNIT["unnamed",1]] -L2IOWSF83,LOCAL_CS["L2IOWSF83 - (unsupported)"] -L2IOWSM,PROJCS["L2IOWSM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.6166666942624],PARAMETER["standard_parallel_2",41.78333332617341],PARAMETER["latitude_of_origin",40.0000000115891],PARAMETER["central_meridian",-93.50000002207615],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2KANNF83,PROJCS["L2KANNF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39.78333332845875],PARAMETER["standard_parallel_2",38.71666668210951],PARAMETER["latitude_of_origin",38.3260985419027],PARAMETER["central_meridian",-98.4814182215737],PARAMETER["false_easting",1312333.333],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2KANSF27,PROJCS["L2KANSF27",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37.26666669092835],PARAMETER["standard_parallel_2",38.56666667511895],PARAMETER["latitude_of_origin",36.66666666296607],PARAMETER["central_meridian",-98.49999998771493],PARAMETER["false_easting",2000000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2KANSF83,PROJCS["L2KANSF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37.25963976464153],PARAMETER["standard_parallel_2",38.55939452289581],PARAMETER["latitude_of_origin",36.65975295313957],PARAMETER["central_meridian",-98.4814182215737],PARAMETER["false_easting",1312333.333],PARAMETER["false_northing",1312333.333],UNIT["US Foot",0.30480061]] -L2KANSM,PROJCS["L2KANSM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37.26666669092835],PARAMETER["standard_parallel_2",38.56666667511895],PARAMETER["latitude_of_origin",36.66666666296607],PARAMETER["central_meridian",-98.49999998771493],PARAMETER["false_easting",400000],PARAMETER["false_northing",400000],UNIT["unnamed",1]] -L2KYF83,PROJCS["L2KYF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.6666666666395],PARAMETER["standard_parallel_2",37.08333333332012],PARAMETER["latitude_of_origin",36.33333333331768],PARAMETER["central_meridian",-85.7499999999921],PARAMETER["false_easting",4921250],PARAMETER["false_northing",3280833.333],UNIT["US Foot",0.30480061]] -L2KYNFT83,PROJCS["L2KYNFT83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37.96666666669451],PARAMETER["standard_parallel_2",38.96666666664047],PARAMETER["latitude_of_origin",37.50000000000723],PARAMETER["central_meridian",-84.24999999998722],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2KYSFT83,PROJCS["L2KYSFT83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36.73333333331897],PARAMETER["standard_parallel_2",37.93333333332288],PARAMETER["latitude_of_origin",36.33333333331768],PARAMETER["central_meridian",-85.7499999999921],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",1640416.666],UNIT["US Foot",0.30480061]] -L2KYSM,PROJCS["L2KYSM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36.73333333910585],PARAMETER["standard_parallel_2",37.93333333773465],PARAMETER["latitude_of_origin",36.33333333956292],PARAMETER["central_meridian",-85.75000002376986],PARAMETER["false_easting",500000],PARAMETER["false_northing",500000],UNIT["unnamed",1]] -L2LANFT83,PROJCS["L2LANFT83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",32.66666672483252],PARAMETER["standard_parallel_2",31.16666671222257],PARAMETER["latitude_of_origin",30.49424625135023],PARAMETER["central_meridian",-92.49999999457094],PARAMETER["false_easting",3280833.333],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2LAOFT83,PROJCS["L2LAOFT83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",26.16666668928801],PARAMETER["standard_parallel_2",27.83333330630376],PARAMETER["latitude_of_origin",25.4951894888338],PARAMETER["central_meridian",-91.33333330536414],PARAMETER["false_easting",3280833.333],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2LASFT83,PROJCS["L2LASFT83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",30.69999997924407],PARAMETER["standard_parallel_2",29.30000000949169],PARAMETER["latitude_of_origin",28.49999999894667],PARAMETER["central_meridian",-91.33333330536414],PARAMETER["false_easting",3280833.333],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2MARYF83,PROJCS["L2MARYF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.30000002785559],PARAMETER["standard_parallel_2",39.4500000050556],PARAMETER["latitude_of_origin",37.66666666669354],PARAMETER["central_meridian",-76.99999999795831],PARAMETER["false_easting",1312333.333],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2MARYM,PROJCS["L2MARYM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.30000002785559],PARAMETER["standard_parallel_2",39.4500000050556],PARAMETER["latitude_of_origin",37.66666669047129],PARAMETER["central_meridian",-76.99999999795831],PARAMETER["false_easting",400000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2MASIF27,PROJCS["L2MASIF27",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",41.2833333],PARAMETER["standard_parallel_2",41.4833333],PARAMETER["latitude_of_origin",41],PARAMETER["central_meridian",-70.49999999999996],PARAMETER["false_easting",800000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2MASIF83,PROJCS["L2MASIF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",41.48333331219226],PARAMETER["standard_parallel_2",41.28333328377291],PARAMETER["latitude_of_origin",40.99226545263474],PARAMETER["central_meridian",-70.5000000197096],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2MASMF83,PROJCS["L2MASMF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",41.71666670732941],PARAMETER["standard_parallel_2",42.68333331082107],PARAMETER["latitude_of_origin",41.0000000000186],PARAMETER["central_meridian",-71.49999998991905],PARAMETER["false_easting",656166.6665],PARAMETER["false_northing",2460625],UNIT["US Foot",0.30480061]] -L2MASMM,PROJCS["L2MASMM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",41.71666665003362],PARAMETER["standard_parallel_2",42.68333331082107],PARAMETER["latitude_of_origin",40.99999998179855],PARAMETER["central_meridian",-71.49999998991905],PARAMETER["false_easting",200000],PARAMETER["false_northing",750000],UNIT["unnamed",1]] -L2MICCF83,PROJCS["L2MICCF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",44.18333332343101],PARAMETER["standard_parallel_2",45.69999999075196],PARAMETER["latitude_of_origin",43.30849844728642],PARAMETER["central_meridian",-84.33333328471491],PARAMETER["false_easting",19685000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2MICCM,PROJCS["L2MICCM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",44.18333332343101],PARAMETER["standard_parallel_2",45.69999999075196],PARAMETER["latitude_of_origin",43.31666664820536],PARAMETER["central_meridian",-84.36666665143269],PARAMETER["false_easting",6000000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2MICNF83,PROJCS["L2MICNF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.48333330762161],PARAMETER["standard_parallel_2",47.08333330579333],PARAMETER["latitude_of_origin",44.77488176554888],PARAMETER["central_meridian",-86.99999998653165],PARAMETER["false_easting",26246666.66],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2MICNM,PROJCS["L2MICNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.48333330762161],PARAMETER["standard_parallel_2",47.08333330579333],PARAMETER["latitude_of_origin",44.7833333513933],PARAMETER["central_meridian",-86.99999998653165],PARAMETER["false_easting",8000000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2MICSF83,PROJCS["L2MICSF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42.09999999486556],PARAMETER["standard_parallel_2",43.66666668361529],PARAMETER["latitude_of_origin",41.49217112888638],PARAMETER["central_meridian",-84.33333328471491],PARAMETER["false_easting",13123333.33],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2MICSM,PROJCS["L2MICSM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42.09999999486556],PARAMETER["standard_parallel_2",43.66666668361529],PARAMETER["latitude_of_origin",41.50000002419905],PARAMETER["central_meridian",-84.36666665143269],PARAMETER["false_easting",4000000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2MINCF83,PROJCS["L2MINCF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.61666671719695],PARAMETER["standard_parallel_2",47.04999999637133],PARAMETER["latitude_of_origin",44.99151086264789],PARAMETER["central_meridian",-94.24999999973323],PARAMETER["false_easting",2624666.666],PARAMETER["false_northing",328083.3333],UNIT["US Foot",0.30480061]] -L2MINCM,PROJCS["L2MINCM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.61666665990117],PARAMETER["standard_parallel_2",47.04999999637133],PARAMETER["latitude_of_origin",44.99999997722788],PARAMETER["central_meridian",-94.24999999973323],PARAMETER["false_easting",800000],PARAMETER["false_northing",100000],UNIT["unnamed",1]] -L2MINNF83,PROJCS["L2MINNF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",47.03333328436455],PARAMETER["standard_parallel_2",48.63333328253628],PARAMETER["latitude_of_origin",46.49122789140281],PARAMETER["central_meridian",-93.10000002253321],PARAMETER["false_easting",2624666.666],PARAMETER["false_northing",328083.3333],UNIT["US Foot",0.30480061]] -L2MINNM,PROJCS["L2MINNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",47.03333334166033],PARAMETER["standard_parallel_2",48.63333333983206],PARAMETER["latitude_of_origin",46.49999998983782],PARAMETER["central_meridian",-93.10000002253321],PARAMETER["false_easting",800000],PARAMETER["false_northing",100000],UNIT["unnamed",1]] -L2MINSF83,PROJCS["L2MINSF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",43.78333332388808],PARAMETER["standard_parallel_2",45.21666666666077],PARAMETER["latitude_of_origin",43.0000000000251],PARAMETER["central_meridian",-94.00000000718087],PARAMETER["false_easting",2624666.666],PARAMETER["false_northing",328083.3333],UNIT["US Foot",0.30480061]] -L2MINSM,PROJCS["L2MINSM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",43.78333332388808],PARAMETER["standard_parallel_2",45.21666666035824],PARAMETER["latitude_of_origin",42.99999997951321],PARAMETER["central_meridian",-94.00000000718087],PARAMETER["false_easting",800000],PARAMETER["false_northing",100000],UNIT["unnamed",1]] -L2MON2,PROJCS["L2MON2",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",41.99999508186673],PARAMETER["standard_parallel_2",49.99999851047217],PARAMETER["latitude_of_origin",45.99999679616945],PARAMETER["central_meridian",104],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -L2MTF83,PROJCS["L2MTF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",48.99999997265721],PARAMETER["standard_parallel_2",44.99999997722788],PARAMETER["latitude_of_origin",44.24165234827042],PARAMETER["central_meridian",-109.5000000037935],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2NCAFT83,PROJCS["L2NCAFT83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",34.33333328455248],PARAMETER["standard_parallel_2",36.16666667786134],PARAMETER["latitude_of_origin",33.7500051825129],PARAMETER["central_meridian",-78.99999999567299],PARAMETER["false_easting",2000000.002],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2NCAM,PROJCS["L2NCAM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",34.33333334184825],PARAMETER["standard_parallel_2",36.16666667786134],PARAMETER["latitude_of_origin",33.75000002589275],PARAMETER["central_meridian",-78.99999999567299],PARAMETER["false_easting",609601.22],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2NDNFT83,PROJCS["L2NDNFT83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",48.73333332539385],PARAMETER["standard_parallel_2",47.43333328390748],PARAMETER["latitude_of_origin",47.00000719421077],PARAMETER["central_meridian",-100.4999999854296],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2NDSFT83,PROJCS["L2NDSFT83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",46.18333332114568],PARAMETER["standard_parallel_2",47.48333330533627],PARAMETER["latitude_of_origin",45.66667699457027],PARAMETER["central_meridian",-100.4999999854296],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2NDSM,PROJCS["L2NDSM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",46.18333332114568],PARAMETER["standard_parallel_2",47.48333330533627],PARAMETER["latitude_of_origin",45.66666668132996],PARAMETER["central_meridian",-100.4999999854296],PARAMETER["false_easting",600000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2NEBF83,PROJCS["L2NEBF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42.99999997951321],PARAMETER["standard_parallel_2",40.0000000115891],PARAMETER["latitude_of_origin",39.83000612667543],PARAMETER["central_meridian",-100.0000000003249],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2NEWYF83,PROJCS["L2NEWYF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.66666671569118],PARAMETER["standard_parallel_2",41.03333329122055],PARAMETER["latitude_of_origin",40.16667618439008],PARAMETER["central_meridian",-73.99999997273844],PARAMETER["false_easting",984249.9998],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2NEWYLIF,PROJCS["L2NEWYLIF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.6666667],PARAMETER["standard_parallel_2",41.0333333],PARAMETER["latitude_of_origin",40.5],PARAMETER["central_meridian",-73.99999999999993],PARAMETER["false_easting",2000000],PARAMETER["false_northing",100000],UNIT["US Foot",0.30480061]] -L2NEWYM,PROJCS["L2NEWYM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.6666666583954],PARAMETER["standard_parallel_2",41.03333334851633],PARAMETER["latitude_of_origin",40.16666667329068],PARAMETER["central_meridian",-73.99999997273844],PARAMETER["false_easting",300000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2NOAMER,PROJCS["L2NOAMER",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",35.00000000011371],PARAMETER["standard_parallel_2",55.00000000017868],PARAMETER["latitude_of_origin",45.00000000014619],PARAMETER["central_meridian",-100.0000000003249],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -L2NSW1,PROJCS["L2NSW1",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-30],PARAMETER["standard_parallel_2",-36],PARAMETER["latitude_of_origin",-36],PARAMETER["central_meridian",147],PARAMETER["false_easting",700000],PARAMETER["false_northing",8200000]] -L2NSW2,PROJCS["L2NSW2",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-32.66666666666664],PARAMETER["standard_parallel_2",-35.33333333333334],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",147],PARAMETER["false_easting",1000000],PARAMETER["false_northing",10000000]] -L2OHINF83,PROJCS["L2OHINF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.43333332055404],PARAMETER["standard_parallel_2",41.69999999532262],PARAMETER["latitude_of_origin",39.66667310531327],PARAMETER["central_meridian",-82.50000000599761],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2OHINM,PROJCS["L2OHINM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.43333332055404],PARAMETER["standard_parallel_2",41.69999999532262],PARAMETER["latitude_of_origin",39.66666668818596],PARAMETER["central_meridian",-82.50000000599761],PARAMETER["false_easting",600000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2OHISF83,PROJCS["L2OHISF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.73333327952474],PARAMETER["standard_parallel_2",40.03333332101111],PARAMETER["latitude_of_origin",38.00000585804395],PARAMETER["central_meridian",-82.50000000599761],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2OHISM,PROJCS["L2OHISM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.73333333682052],PARAMETER["standard_parallel_2",40.03333332101111],PARAMETER["latitude_of_origin",38.00000001387444],PARAMETER["central_meridian",-82.50000000599761],PARAMETER["false_easting",600000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2OKLNF83,PROJCS["L2OKLNF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36.76666670582364],PARAMETER["standard_parallel_2",35.56666670719483],PARAMETER["latitude_of_origin",35.00000537445783],PARAMETER["central_meridian",-98.00000000261021],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2OKLSF83,PROJCS["L2OKLSF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",35.23333332649591],PARAMETER["standard_parallel_2",33.93333328500954],PARAMETER["latitude_of_origin",33.33333509051219],PARAMETER["central_meridian",-98.00000000261021],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2ORENF83,PROJCS["L2ORENF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",44.33333327312581],PARAMETER["standard_parallel_2",46.0000000047331],PARAMETER["latitude_of_origin",43.66667671037671],PARAMETER["central_meridian",-120.500000019872],PARAMETER["false_easting",8202083.332],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2ORENM,PROJCS["L2ORENM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",44.33333333042158],PARAMETER["standard_parallel_2",46.0000000047331],PARAMETER["latitude_of_origin",43.66666668361529],PARAMETER["central_meridian",-120.500000019872],PARAMETER["false_easting",2500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2ORESF83,PROJCS["L2ORESF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42.33333327541114],PARAMETER["standard_parallel_2",44.00000000701844],PARAMETER["latitude_of_origin",41.66667636888736],PARAMETER["central_meridian",-120.500000019872],PARAMETER["false_easting",4921249.999],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2ORESM,PROJCS["L2ORESM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42.33333333270692],PARAMETER["standard_parallel_2",44.00000000701844],PARAMETER["latitude_of_origin",41.66666668590062],PARAMETER["central_meridian",-120.500000019872],PARAMETER["false_easting",1500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2PANFT83,PROJCS["L2PANFT83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.88333328422998],PARAMETER["standard_parallel_2",41.94999998787499],PARAMETER["latitude_of_origin",40.16667280393909],PARAMETER["central_meridian",-77.74999997561541],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2PANM,PROJCS["L2PANM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.88333334152576],PARAMETER["standard_parallel_2",41.94999998787499],PARAMETER["latitude_of_origin",40.16666667329068],PARAMETER["central_meridian",-77.74999997561541],PARAMETER["false_easting",600000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2PASFT83,PROJCS["L2PASFT83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39.93333327815354],PARAMETER["standard_parallel_2",40.80000001067497],PARAMETER["latitude_of_origin",39.33333938083966],PARAMETER["central_meridian",-77.74999997561541],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2PASM,PROJCS["L2PASM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39.93333333544932],PARAMETER["standard_parallel_2",40.96666667237655],PARAMETER["latitude_of_origin",39.33333330748703],PARAMETER["central_meridian",-77.74999997561541],PARAMETER["false_easting",600000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2PRVF83,PROJCS["L2PRVF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",18.43333328839693],PARAMETER["standard_parallel_2",18.033333288854],PARAMETER["latitude_of_origin",17.83333572415316],PARAMETER["central_meridian",-66.4333332908447],PARAMETER["false_easting",656166.6665],PARAMETER["false_northing",656166.6665],UNIT["US Foot",0.30480061]] -L2PRVIM,PROJCS["L2PRVIM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",18.03333334614978],PARAMETER["standard_parallel_2",18.43333334569271],PARAMETER["latitude_of_origin",17.83333331773042],PARAMETER["central_meridian",-66.43333334814049],PARAMETER["false_easting",200000],PARAMETER["false_northing",200000],UNIT["unnamed",1]] -L2SAUST,PROJCS["L2SAUST",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-27.99999999999998],PARAMETER["standard_parallel_2",-36],PARAMETER["latitude_of_origin",-31.99999999999997],PARAMETER["central_meridian",134.9999999999997],PARAMETER["false_easting",1000000],PARAMETER["false_northing",2000000]] -L2SCFT83,PROJCS["L2SCFT83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",32.50000499056798],PARAMETER["standard_parallel_2",34.83333836898157],PARAMETER["latitude_of_origin",31.83333490601491],PARAMETER["central_meridian",-80.99999999338766],PARAMETER["false_easting",1999996],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2SCM,PROJCS["L2SCM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",32.50000000583516],PARAMETER["standard_parallel_2",34.83333332695297],PARAMETER["latitude_of_origin",31.83333335902886],PARAMETER["central_meridian",-80.99999999338766],PARAMETER["false_easting",609600],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2SDNFT83,PROJCS["L2SDNFT83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",44.41666671856815],PARAMETER["standard_parallel_2",45.68333327874517],PARAMETER["latitude_of_origin",43.83334004892307],PARAMETER["central_meridian",-100.0000000003249],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2SDNM,PROJCS["L2SDNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",44.41666666127237],PARAMETER["standard_parallel_2",45.68333333604095],PARAMETER["latitude_of_origin",43.83333334531687],PARAMETER["central_meridian",-100.0000000003249],PARAMETER["false_easting",600000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2SDSFT83,PROJCS["L2SDSFT83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42.83333331781164],PARAMETER["standard_parallel_2",44.40000000656137],PARAMETER["latitude_of_origin",42.33333952065111],PARAMETER["central_meridian",-100.333333323728],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2SDSM,PROJCS["L2SDSM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42.83333331781164],PARAMETER["standard_parallel_2",44.40000000656137],PARAMETER["latitude_of_origin",42.33333333270692],PARAMETER["central_meridian",-100.333333323728],PARAMETER["false_easting",600000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2SOAMER,PROJCS["L2SOAMER",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",0],PARAMETER["standard_parallel_2",-30.00000000009746],PARAMETER["latitude_of_origin",-15.00000000004873],PARAMETER["central_meridian",-60.00000000019492],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -L2TENNF27,PROJCS["L2TENNF27",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",35.24999998120691],PARAMETER["standard_parallel_2",36.41666672770949],PARAMETER["latitude_of_origin",34.66666666525141],PARAMETER["central_meridian",-86.00000001632222],PARAMETER["false_easting",2000000],PARAMETER["false_northing",100000],UNIT["US Foot",0.30480061]] -L2TENNF83,PROJCS["L2TENNF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",35.24999998120691],PARAMETER["standard_parallel_2",36.41666672770949],PARAMETER["latitude_of_origin",34.33333826928529],PARAMETER["central_meridian",-86.00000001632222],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2TENNM,PROJCS["L2TENNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",35.24999998120691],PARAMETER["standard_parallel_2",36.41666667041371],PARAMETER["latitude_of_origin",34.33333334184825],PARAMETER["central_meridian",-86.00000001632222],PARAMETER["false_easting",600000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2TXCF83,PROJCS["L2TXCF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",31.88333332316187],PARAMETER["standard_parallel_2",30.11666672058434],PARAMETER["latitude_of_origin",29.66666664231684],PARAMETER["central_meridian",-100.333333323728],PARAMETER["false_easting",2296583.333],PARAMETER["false_northing",9842499.998],UNIT["US Foot",0.30480061]] -L2TXNCF83,PROJCS["L2TXNCF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",33.96666670902311],PARAMETER["standard_parallel_2",32.13333331571423],PARAMETER["latitude_of_origin",31.66666698380619],PARAMETER["central_meridian",-98.49999998771493],PARAMETER["false_easting",1968500],PARAMETER["false_northing",6561666.665],UNIT["US Foot",0.30480061]] -L2TXNF27,PROJCS["L2TXNF27",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",34.6500000105404],PARAMETER["standard_parallel_2",36.18333333257235],PARAMETER["latitude_of_origin",34.00000001844511],PARAMETER["central_meridian",-101.5000000129348],PARAMETER["false_easting",2000000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2TXNF83,PROJCS["L2TXNF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",34.6500000105404],PARAMETER["standard_parallel_2",36.18333327527657],PARAMETER["latitude_of_origin",34.00000001844511],PARAMETER["central_meridian",-101.5000000129348],PARAMETER["false_easting",656166.6665],PARAMETER["false_northing",3280833.333],UNIT["US Foot",0.30480061]] -L2TXNM,PROJCS["L2TXNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",34.6500000105404],PARAMETER["standard_parallel_2",36.18333333257235],PARAMETER["latitude_of_origin",34.00000001844511],PARAMETER["central_meridian",-101.5000000129348],PARAMETER["false_easting",200000],PARAMETER["false_northing",1000000],UNIT["unnamed",1]] -L2TXSCF83,PROJCS["L2TXSCF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",30.28333332499014],PARAMETER["standard_parallel_2",28.38333331283726],PARAMETER["latitude_of_origin",27.83333330630376],PARAMETER["central_meridian",-98.99999997281965],PARAMETER["false_easting",1968500],PARAMETER["false_northing",13123333.33],UNIT["US Foot",0.30480061]] -L2TXSF83,PROJCS["L2TXSF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",27.83333330630376],PARAMETER["standard_parallel_2",26.16666668928801],PARAMETER["latitude_of_origin",25.66666670418329],PARAMETER["central_meridian",-98.49999998771493],PARAMETER["false_easting",984249.9998],PARAMETER["false_northing",16404166.66],UNIT["US Foot",0.30480061]] -L2TX_SHACK_FT,PROJCS["L2TX_SHACK_FT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",27.41600000001344],PARAMETER["standard_parallel_2",34.91599999998051],PARAMETER["latitude_of_origin",31.15999999997518],PARAMETER["central_meridian",-99.9999999999811],PARAMETER["false_easting",3000000],PARAMETER["false_northing",3000000],UNIT["US Foot",0.30480061]] -L2TX_TCMS_LC,PROJCS["L2TX_TCMS_LC",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",27.49999999997475],PARAMETER["standard_parallel_2",34.99999999999911],PARAMETER["latitude_of_origin",18.00000000000118],PARAMETER["central_meridian",-99.9999999999811],PARAMETER["false_easting",1500000],PARAMETER["false_northing",5000000]] -L2TX_TSMS,PROJCS["L2TX_TSMS",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",27.41600000001344],PARAMETER["standard_parallel_2",34.91599999998051],PARAMETER["latitude_of_origin",31.15999999997518],PARAMETER["central_meridian",-99.9999999999811],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -L2USA48,PROJCS["L2USA48",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",33.00000000239903],PARAMETER["standard_parallel_2",45.00000000014619],PARAMETER["latitude_of_origin",23.00000000236655],PARAMETER["central_meridian",-95.99999999916595],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -L2UTHCF83,PROJCS["L2UTHCF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39.01666669609066],PARAMETER["standard_parallel_2",40.6500000036844],PARAMETER["latitude_of_origin",38.33333299350291],PARAMETER["central_meridian",-111.5000000015082],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",6561666.665],UNIT["US Foot",0.30480061]] -L2UTHCM,PROJCS["L2UTHCM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39.01666663879488],PARAMETER["standard_parallel_2",40.6500000036844],PARAMETER["latitude_of_origin",38.33333333727759],PARAMETER["central_meridian",-111.5000000015082],PARAMETER["false_easting",500000],PARAMETER["false_northing",2000000],UNIT["unnamed",1]] -L2UTHNF83,PROJCS["L2UTHNF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.71666667982419],PARAMETER["standard_parallel_2",41.78333332617341],PARAMETER["latitude_of_origin",40.33333327769648],PARAMETER["central_meridian",-111.5000000015082],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",3280833.333],UNIT["US Foot",0.30480061]] -L2UTHNM,PROJCS["L2UTHNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.71666667982419],PARAMETER["standard_parallel_2",41.78333332617341],PARAMETER["latitude_of_origin",40.33333333499225],PARAMETER["central_meridian",-111.5000000015082],PARAMETER["false_easting",500000],PARAMETER["false_northing",1000000],UNIT["unnamed",1]] -L2UTHSF83,PROJCS["L2UTHSF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37.21666672679535],PARAMETER["standard_parallel_2",38.34999999198859],PARAMETER["latitude_of_origin",36.66666672026184],PARAMETER["central_meridian",-111.5000000015082],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",9842499.998],UNIT["US Foot",0.30480061]] -L2UTHSM,PROJCS["L2UTHSM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37.21666666949957],PARAMETER["standard_parallel_2",38.34999999198859],PARAMETER["latitude_of_origin",36.66666666296607],PARAMETER["central_meridian",-111.5000000015082],PARAMETER["false_easting",500000],PARAMETER["false_northing",3000000],UNIT["unnamed",1]] -L2VIRNF83,PROJCS["L2VIRNF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.03333332329644],PARAMETER["standard_parallel_2",39.20000001250324],PARAMETER["latitude_of_origin",37.66666669047129],PARAMETER["central_meridian",-78.50000001056827],PARAMETER["false_easting",11482916.66],PARAMETER["false_northing",6561666.665],UNIT["US Foot",0.30480061]] -L2VIRNM,PROJCS["L2VIRNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.03333332329644],PARAMETER["standard_parallel_2",39.20000001250324],PARAMETER["latitude_of_origin",37.66666669047129],PARAMETER["central_meridian",-78.50000001056827],PARAMETER["false_easting",3500000],PARAMETER["false_northing",2000000],UNIT["unnamed",1]] -L2VIRSF83,PROJCS["L2VIRSF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36.76666670582364],PARAMETER["standard_parallel_2",37.96666670445244],PARAMETER["latitude_of_origin",36.33333328226714],PARAMETER["central_meridian",-78.50000001056827],PARAMETER["false_easting",11482916.66],PARAMETER["false_northing",3280833.333],UNIT["US Foot",0.30480061]] -L2VIRSM,PROJCS["L2VIRSM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36.76666664852786],PARAMETER["standard_parallel_2",37.96666664715666],PARAMETER["latitude_of_origin",36.33333333956292],PARAMETER["central_meridian",-78.50000001056827],PARAMETER["false_easting",3500000],PARAMETER["false_northing",1000000],UNIT["unnamed",1]] -L2WA_WGS84,PROJCS["L2WA_WGS84",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-83.49999997620704],PARAMETER["standard_parallel_2",-81.49999997849238],PARAMETER["latitude_of_origin",-82.50000000599761],PARAMETER["central_meridian",-105.0000000232594],PARAMETER["false_easting",343122.675],PARAMETER["false_northing",203866.49]] -L2WISCF83,PROJCS["L2WISCF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",44.2499999995708],PARAMETER["standard_parallel_2",45.50000001962838],PARAMETER["latitude_of_origin",43.83333328802108],PARAMETER["central_meridian",-90.00000001175154],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2WISCM,PROJCS["L2WISCM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",44.2499999995708],PARAMETER["standard_parallel_2",45.50000001962838],PARAMETER["latitude_of_origin",43.83333334531687],PARAMETER["central_meridian",-90.00000001175154],PARAMETER["false_easting",600000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2WISNF83,PROJCS["L2WISNF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.56666669576817],PARAMETER["standard_parallel_2",46.76666669439697],PARAMETER["latitude_of_origin",45.16666669622524],PARAMETER["central_meridian",-90.00000001175154],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2WISNM,PROJCS["L2WISNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.56666663847238],PARAMETER["standard_parallel_2",46.76666669439697],PARAMETER["latitude_of_origin",45.16666663892946],PARAMETER["central_meridian",-90.00000001175154],PARAMETER["false_easting",600000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2WISSF83,PROJCS["L2WISSF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42.73333327495407],PARAMETER["standard_parallel_2",44.06666668315822],PARAMETER["latitude_of_origin",42.00000000930377],PARAMETER["central_meridian",-90.00000001175154],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2WISSM,PROJCS["L2WISSM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42.73333333224986],PARAMETER["standard_parallel_2",44.06666668315822],PARAMETER["latitude_of_origin",42.00000000930377],PARAMETER["central_meridian",-90.00000001175154],PARAMETER["false_easting",600000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2WSHNF83,PROJCS["L2WSHNF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",47.50000001734305],PARAMETER["standard_parallel_2",48.73333332539385],PARAMETER["latitude_of_origin",46.99999997494255],PARAMETER["central_meridian",-120.8333332859794],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2WSHNM,PROJCS["L2WSHNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",47.50000001734305],PARAMETER["standard_parallel_2",48.73333332539385],PARAMETER["latitude_of_origin",46.99999997494255],PARAMETER["central_meridian",-120.8333333432752],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2WSHSF83,PROJCS["L2WSHSF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.83333328573575],PARAMETER["standard_parallel_2",47.33333329834569],PARAMETER["latitude_of_origin",45.33333301415213],PARAMETER["central_meridian",-120.500000019872],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2WSHSM,PROJCS["L2WSHSM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.83333334303153],PARAMETER["standard_parallel_2",47.33333335564147],PARAMETER["latitude_of_origin",45.3333333579268],PARAMETER["central_meridian",-120.500000019872],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2WVANF83,PROJCS["L2WVANF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.99999998408389],PARAMETER["standard_parallel_2",40.25000000414146],PARAMETER["latitude_of_origin",38.49999999897916],PARAMETER["central_meridian",-79.4999999807777],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2WVANM,PROJCS["L2WVANM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.99999998408389],PARAMETER["standard_parallel_2",40.25000000414146],PARAMETER["latitude_of_origin",38.49999999897916],PARAMETER["central_meridian",-79.4999999807777],PARAMETER["false_easting",600000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2WVASF83,PROJCS["L2WVASF83",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37.48333331676294],PARAMETER["standard_parallel_2",38.88333328651532],PARAMETER["latitude_of_origin",36.99999998636922],PARAMETER["central_meridian",-80.99999999338766],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -L2WVASM,PROJCS["L2WVASM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37.48333331676294],PARAMETER["standard_parallel_2",38.8833333438111],PARAMETER["latitude_of_origin",36.99999998636922],PARAMETER["central_meridian",-80.99999999338766],PARAMETER["false_easting",600000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -L2_MEX_INEGI,PROJCS["L2_MEX_INEGI",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",17.49999999999956],PARAMETER["standard_parallel_2",29.49999999998125],PARAMETER["latitude_of_origin",23.50000000001905],PARAMETER["central_meridian",-101.9999999999876],PARAMETER["false_easting",2500000],PARAMETER["false_northing",0]] -L2_PLSA,PROJCS["L2_PLSA",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-27.99999999999998],PARAMETER["standard_parallel_2",-36],PARAMETER["latitude_of_origin",-31.99999999999997],PARAMETER["central_meridian",134.9999999999997],PARAMETER["false_easting",1000000],PARAMETER["false_northing",2000000]] -LABORDE,LOCAL_CS["LABORDE - (unsupported)"] -LAMCAN,PROJCS["LAMCAN",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",49],PARAMETER["standard_parallel_2",77],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-91.9999935923389],PARAMETER["false_easting",500000],PARAMETER["false_northing",500000]] -LAMSAFRI,PROJCS["LAMSAFRI",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-3.999999995429332],PARAMETER["standard_parallel_2",-31.00000010781677],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",24.99999982819388],PARAMETER["false_easting",500000],PARAMETER["false_northing",500000]] -LE00N16E,PROJCS["LE00N16E",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",0],PARAMETER["longitude_of_center",16],PARAMETER["false_easting",5000000],PARAMETER["false_northing",5000000]] -LE13S127,PROJCS["LE13S127",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",-12.99999999999995],PARAMETER["longitude_of_center",127],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LE20S60W,PROJCS["LE20S60W",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",-19.99999999999994],PARAMETER["longitude_of_center",-59.99999999999994],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LE35S135,PROJCS["LE35S135",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",-34.99999999999997],PARAMETER["longitude_of_center",135],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LEAFRICA,PROJCS["LEAFRICA",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",0],PARAMETER["longitude_of_center",20],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LEAMERIC,PROJCS["LEAMERIC",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",0],PARAMETER["longitude_of_center",-89.99999999999994],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LEFRAN,PROJCS["LEFRAN",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",47],PARAMETER["longitude_of_center",2],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LEGLOBE,PROJCS["LEGLOBE",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",-39.5],PARAMETER["longitude_of_center",-55.99999999999996],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LELUSAK0,PROJCS["LELUSAK0",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",0],PARAMETER["longitude_of_center",28.3333333],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LELUSAKA,PROJCS["LELUSAKA",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",-15.43333329999995],PARAMETER["longitude_of_center",28.3333333],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LEMONG,PROJCS["LEMONG",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",47],PARAMETER["longitude_of_center",105],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LENAFRIC,PROJCS["LENAFRIC",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",1.25],PARAMETER["longitude_of_center",20],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LENSEA,PROJCS["LENSEA",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",60],PARAMETER["longitude_of_center",1],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LERUSSIA,PROJCS["LERUSSIA",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",60.99999999905226],PARAMETER["longitude_of_center",124.0000000015487],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LESAMER,PROJCS["LESAMER",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",-21.99999999999996],PARAMETER["longitude_of_center",-55.99999999999996],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LESEASIA,PROJCS["LESEASIA",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",20.00000000006498],PARAMETER["longitude_of_center",105.0000000003411],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LESOAMER,PROJCS["LESOAMER",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",0],PARAMETER["longitude_of_center",-60.00000000019492],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LESUR554,PROJCS["LESUR554",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",5],PARAMETER["longitude_of_center",-54],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LEUSA0,PROJCS["LEUSA0",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",44.99999980534054],PARAMETER["longitude_of_center",-100.0000027505223],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LEWEURO,PROJCS["LEWEURO",PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",50],PARAMETER["longitude_of_center",2],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM1ADEN,PROJCS["LM1ADEN",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",15],PARAMETER["central_meridian",45],PARAMETER["scale_factor",0.999365678],PARAMETER["false_easting",1500000],PARAMETER["false_northing",1000000]] -LM1AFNDX,PROJCS["LM1AFNDX",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",10],PARAMETER["central_meridian",30],PARAMETER["scale_factor",0.99],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM1ALGND,PROJCS["LM1ALGND",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",36],PARAMETER["central_meridian",2.7],PARAMETER["scale_factor",0.999625544],PARAMETER["false_easting",500000],PARAMETER["false_northing",300000]] -LM1ALGSD,PROJCS["LM1ALGSD",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",33.3],PARAMETER["central_meridian",2.7],PARAMETER["scale_factor",0.999625769],PARAMETER["false_easting",500000],PARAMETER["false_northing",300000]] -LM1BANG,PROJCS["LM1BANG",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",26],PARAMETER["central_meridian",90],PARAMETER["scale_factor",0.998786408],PARAMETER["false_easting",2743185.69],PARAMETER["false_northing",914395.23]] -LM1BLSEA,PROJCS["LM1BLSEA",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",45],PARAMETER["central_meridian",35],PARAMETER["scale_factor",1],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM1BURMA,PROJCS["LM1BURMA",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",19],PARAMETER["central_meridian",100],PARAMETER["scale_factor",0.9987864],PARAMETER["false_easting",914398.8],PARAMETER["false_northing",2743196.4]] -LM1CARIB,PROJCS["LM1CARIB",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",22.35],PARAMETER["central_meridian",-81],PARAMETER["scale_factor",0.999936],PARAMETER["false_easting",500000],PARAMETER["false_northing",280296]] -LM1CAUC,PROJCS["LM1CAUC",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",39.5],PARAMETER["central_meridian",45],PARAMETER["scale_factor",0.998461538],PARAMETER["false_easting",2155500],PARAMETER["false_northing",675000]] -LM1COLC,PROJCS["LM1COLC",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",7],PARAMETER["central_meridian",-73.49999999999997],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM1CORSE,PROJCS["LM1CORSE",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",42.165],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.99994471],PARAMETER["false_easting",600000],PARAMETER["false_northing",200000]] -LM1FRA1D,PROJCS["LM1FRA1D",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",49.5],PARAMETER["central_meridian",2.337229166666664],PARAMETER["scale_factor",0.999877341],PARAMETER["false_easting",600000],PARAMETER["false_northing",1200000]] -LM1FRA1G,PROJCS["LM1FRA1G",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",49.5],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.999877341],PARAMETER["false_easting",600000],PARAMETER["false_northing",1200000]] -LM1FRA2D,PROJCS["LM1FRA2D",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",46.8],PARAMETER["central_meridian",2.337229166666664],PARAMETER["scale_factor",0.99987742],PARAMETER["false_easting",600000],PARAMETER["false_northing",2200000]] -LM1FRA2G,PROJCS["LM1FRA2G",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",46.8],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.99987742],PARAMETER["false_easting",600000],PARAMETER["false_northing",2200000]] -LM1FRA3D,PROJCS["LM1FRA3D",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",44.1],PARAMETER["central_meridian",2.337229166666664],PARAMETER["scale_factor",0.999877499],PARAMETER["false_easting",600000],PARAMETER["false_northing",3200000]] -LM1FRA3G,PROJCS["LM1FRA3G",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",44.1],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.999877499],PARAMETER["false_easting",600000],PARAMETER["false_northing",3200000]] -LM1FRA4D,PROJCS["LM1FRA4D",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",42.165],PARAMETER["central_meridian",2.337229166666664],PARAMETER["scale_factor",0.99994471],PARAMETER["false_easting",234.36],PARAMETER["false_northing",4185861.37]] -LM1FRA4G,PROJCS["LM1FRA4G",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",42.165],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.99994471],PARAMETER["false_easting",234.36],PARAMETER["false_northing",4185861.37]] -LM1FRAND,PROJCS["LM1FRAND",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",49.5],PARAMETER["central_meridian",7.7372083],PARAMETER["scale_factor",0.99950908],PARAMETER["false_easting",500000],PARAMETER["false_northing",300000]] -LM1FRE1D,PROJCS["LM1FRE1D",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",49.5],PARAMETER["central_meridian",2.337229166666664],PARAMETER["scale_factor",0.999877341],PARAMETER["false_easting",600000],PARAMETER["false_northing",200000]] -LM1FRE1G,PROJCS["LM1FRE1G",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",49.5],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.999877341],PARAMETER["false_easting",600000],PARAMETER["false_northing",200000]] -LM1FRE2D,PROJCS["LM1FRE2D",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",46.8],PARAMETER["central_meridian",2.337229166666664],PARAMETER["scale_factor",0.99987742],PARAMETER["false_easting",600000],PARAMETER["false_northing",200000]] -LM1FRE2G,PROJCS["LM1FRE2G",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",46.8],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.99987742],PARAMETER["false_easting",600000],PARAMETER["false_northing",200000]] -LM1FRE3D,PROJCS["LM1FRE3D",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",44.1],PARAMETER["central_meridian",2.337229166666664],PARAMETER["scale_factor",0.999877499],PARAMETER["false_easting",600000],PARAMETER["false_northing",200000]] -LM1FRE3G,PROJCS["LM1FRE3G",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",44.1],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.999877499],PARAMETER["false_easting",600000],PARAMETER["false_northing",200000]] -LM1FRE4D,PROJCS["LM1FRE4D",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",42.165],PARAMETER["central_meridian",2.337229166666664],PARAMETER["scale_factor",0.99994471],PARAMETER["false_easting",234.36],PARAMETER["false_northing",185861.37]] -LM1FRE4G,PROJCS["LM1FRE4G",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",42.165],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.99994471],PARAMETER["false_easting",234.36],PARAMETER["false_northing",185861.37]] -LM1GREN1,PROJCS["LM1GREN1",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",67.5],PARAMETER["central_meridian",-51.99999999999996],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",250000]] -LM1GRNOR,PROJCS["LM1GRNOR",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",78.75],PARAMETER["central_meridian",-58.99999999999997],PARAMETER["scale_factor",0.997],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -LM1GRSUD,PROJCS["LM1GRSUD",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",66.5],PARAMETER["central_meridian",-58.99999999999997],PARAMETER["scale_factor",0.997],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -LM1IND1,PROJCS["LM1IND1",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",32.5],PARAMETER["central_meridian",68],PARAMETER["scale_factor",0.998786408],PARAMETER["false_easting",2743196.4],PARAMETER["false_northing",914398.8]] -LM1IND4A,PROJCS["LM1IND4A",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",12],PARAMETER["central_meridian",80],PARAMETER["scale_factor",0.9987864],PARAMETER["false_easting",3000000],PARAMETER["false_northing",1000000]] -LM1IRAN,PROJCS["LM1IRAN",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",32.5],PARAMETER["central_meridian",45],PARAMETER["scale_factor",0.998786408],PARAMETER["false_easting",1500000],PARAMETER["false_northing",1166200]] -LM1IRAQ,PROJCS["LM1IRAQ",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",32.5],PARAMETER["central_meridian",45],PARAMETER["scale_factor",0.998786408],PARAMETER["false_easting",1500000],PARAMETER["false_northing",1166200]] -LM1JAFT,PROJCS["LM1JAFT",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",18],PARAMETER["central_meridian",-76.99999999999994],PARAMETER["scale_factor",1],PARAMETER["false_easting",550000],PARAMETER["false_northing",400000],UNIT["unnamed",0.304799472]] -LM1JAMTR,PROJCS["LM1JAMTR",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",18],PARAMETER["central_meridian",-76.99999999999994],PARAMETER["scale_factor",1],PARAMETER["false_easting",250000],PARAMETER["false_northing",150000]] -LM1KANG,PROJCS["LM1KANG",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",110],PARAMETER["scale_factor",0.997],PARAMETER["false_easting",3900000],PARAMETER["false_northing",900000]] -LM1LEVD,PROJCS["LM1LEVD",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",34.65],PARAMETER["central_meridian",37.35],PARAMETER["scale_factor",0.9996256],PARAMETER["false_easting",300000],PARAMETER["false_northing",300000]] -LM1LEVG,PROJCS["LM1LEVG",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",34.65],PARAMETER["central_meridian",37.35],PARAMETER["scale_factor",0.9996256],PARAMETER["false_easting",300000],PARAMETER["false_northing",300000]] -LM1LIBS,PROJCS["LM1LIBS",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",23],PARAMETER["central_meridian",18],PARAMETER["scale_factor",0.99907],PARAMETER["false_easting",800000],PARAMETER["false_northing",600000]] -LM1LIBYA,PROJCS["LM1LIBYA",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",31],PARAMETER["central_meridian",18],PARAMETER["scale_factor",0.99938949],PARAMETER["false_easting",1000000],PARAMETER["false_northing",550000]] -LM1MORND,PROJCS["LM1MORND",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",33.3],PARAMETER["central_meridian",-5.399999999999953],PARAMETER["scale_factor",0.999625769],PARAMETER["false_easting",500000],PARAMETER["false_northing",300000]] -LM1MORSD,PROJCS["LM1MORSD",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",29.7],PARAMETER["central_meridian",-5.399999999999953],PARAMETER["scale_factor",0.999615596],PARAMETER["false_easting",500000],PARAMETER["false_northing",300000]] -LM1NEP1,PROJCS["LM1NEP1",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",32.5],PARAMETER["central_meridian",68],PARAMETER["scale_factor",0.998786408],PARAMETER["false_easting",3000000],PARAMETER["false_northing",1000000],UNIT["unnamed",0.9143988]] -LM1NEP2A,PROJCS["LM1NEP2A",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",26],PARAMETER["central_meridian",74],PARAMETER["scale_factor",1],PARAMETER["false_easting",3000000],PARAMETER["false_northing",1000000],UNIT["unnamed",0.9143988]] -LM1NEP2B,PROJCS["LM1NEP2B",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",26],PARAMETER["central_meridian",90],PARAMETER["scale_factor",1],PARAMETER["false_easting",3000000],PARAMETER["false_northing",1000000],UNIT["unnamed",0.9143988]] -LM1NPG,PROJCS["LM1NPG",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",-7.999999999999978],PARAMETER["central_meridian",150],PARAMETER["scale_factor",0.9997],PARAMETER["false_easting",300000],PARAMETER["false_northing",100000]] -LM1PA2B,PROJCS["LM1PA2B",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",26],PARAMETER["central_meridian",90],PARAMETER["scale_factor",0.998786408],PARAMETER["false_easting",2743196.4],PARAMETER["false_northing",914398.8]] -LM1PA2BY,PROJCS["LM1PA2BY",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",26],PARAMETER["central_meridian",90],PARAMETER["scale_factor",0.998786408],PARAMETER["false_easting",3000000],PARAMETER["false_northing",1000000],UNIT["unnamed",0.9143988]] -LM1PAK1,PROJCS["LM1PAK1",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",32.5],PARAMETER["central_meridian",68],PARAMETER["scale_factor",0.998786408],PARAMETER["false_easting",2743196.4],PARAMETER["false_northing",914398.8]] -LM1PAK1Y,PROJCS["LM1PAK1Y",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",32.5],PARAMETER["central_meridian",68],PARAMETER["scale_factor",0.998786408],PARAMETER["false_easting",3000000],PARAMETER["false_northing",1000000],UNIT["unnamed",0.9143988]] -LM1PAK2,PROJCS["LM1PAK2",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",26],PARAMETER["central_meridian",74],PARAMETER["scale_factor",0.9987864077],PARAMETER["false_easting",2743196.4],PARAMETER["false_northing",914398.8]] -LM1PAK2Y,PROJCS["LM1PAK2Y",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",26],PARAMETER["central_meridian",74],PARAMETER["scale_factor",0.998786408],PARAMETER["false_easting",3000000],PARAMETER["false_northing",1000000],UNIT["unnamed",0.9143988]] -LM1PB1D,PROJCS["LM1PB1D",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",49.5],PARAMETER["central_meridian",2.3372083],PARAMETER["scale_factor",0.999877341],PARAMETER["false_easting",600000],PARAMETER["false_northing",1200000]] -LM1PB1G,PROJCS["LM1PB1G",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",49.5],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.999877341],PARAMETER["false_easting",600000],PARAMETER["false_northing",1200000]] -LM1POL,PROJCS["LM1POL",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",52],PARAMETER["central_meridian",19],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",500000]] -LM1ROM,PROJCS["LM1ROM",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",44.7916667],PARAMETER["central_meridian",9.000000000000002],PARAMETER["scale_factor",1],PARAMETER["false_easting",2000000],PARAMETER["false_northing",2000000]] -LM1SHAB,PROJCS["LM1SHAB",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",15.4],PARAMETER["central_meridian",47.0355556],PARAMETER["scale_factor",1],PARAMETER["false_easting",1704346.3],PARAMETER["false_northing",8718549.7]] -LM1SPAIN,PROJCS["LM1SPAIN",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",40],PARAMETER["central_meridian",-3.687373899999992],PARAMETER["scale_factor",0.9988085293],PARAMETER["false_easting",600000],PARAMETER["false_northing",600000]] -LM1SPANM,PROJCS["LM1SPANM",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",40],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.998808529],PARAMETER["false_easting",600000],PARAMETER["false_northing",600000]] -LM1SYRSD,PROJCS["LM1SYRSD",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",33.3],PARAMETER["central_meridian",36],PARAMETER["scale_factor",0.999625769],PARAMETER["false_easting",500000],PARAMETER["false_northing",300000]] -LM1SYRSG,PROJCS["LM1SYRSG",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",33.3],PARAMETER["central_meridian",36],PARAMETER["scale_factor",0.999625769],PARAMETER["false_easting",500000],PARAMETER["false_northing",300000]] -LM1TUNND,PROJCS["LM1TUNND",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",36],PARAMETER["central_meridian",9.899999999999995],PARAMETER["scale_factor",0.999625544],PARAMETER["false_easting",500000],PARAMETER["false_northing",300000]] -LM1TUNSD,PROJCS["LM1TUNSD",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",33.3],PARAMETER["central_meridian",9.899999999999995],PARAMETER["scale_factor",0.999625769],PARAMETER["false_easting",500000],PARAMETER["false_northing",300000]] -LM1TURK,PROJCS["LM1TURK",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",40],PARAMETER["central_meridian",27.4],PARAMETER["scale_factor",1],PARAMETER["false_easting",2000000],PARAMETER["false_northing",2000000]] -LM1USSR,PROJCS["LM1USSR",PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["latitude_of_origin",44],PARAMETER["central_meridian",38],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2AF113,PROJCS["LM2AF113",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",4],PARAMETER["standard_parallel_2",21],PARAMETER["latitude_of_origin",12.5482083],PARAMETER["central_meridian",9.000000000000002],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2AF114,PROJCS["LM2AF114",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",4],PARAMETER["standard_parallel_2",21],PARAMETER["latitude_of_origin",12.5482083],PARAMETER["central_meridian",27],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2AF72,PROJCS["LM2AF72",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",32],PARAMETER["standard_parallel_2",64],PARAMETER["latitude_of_origin",48.8942353],PARAMETER["central_meridian",-8.999999999999959],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2AF92,PROJCS["LM2AF92",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",4],PARAMETER["standard_parallel_2",21],PARAMETER["latitude_of_origin",12.5482083],PARAMETER["central_meridian",-8.999999999999959],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2AF93,PROJCS["LM2AF93",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",4],PARAMETER["standard_parallel_2",21],PARAMETER["latitude_of_origin",12.5482083],PARAMETER["central_meridian",9.000000000000002],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2AF94,PROJCS["LM2AF94",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",4],PARAMETER["standard_parallel_2",21],PARAMETER["latitude_of_origin",12.5482083],PARAMETER["central_meridian",27],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2AF95,PROJCS["LM2AF95",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",4],PARAMETER["standard_parallel_2",21],PARAMETER["latitude_of_origin",12.5482083],PARAMETER["central_meridian",45],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2AFE,PROJCS["LM2AFE",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40],PARAMETER["standard_parallel_2",-10],PARAMETER["latitude_of_origin",15.5397257],PARAMETER["central_meridian",100],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2AFSH,PROJCS["LM2AFSH",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-10],PARAMETER["standard_parallel_2",-29.99999999999995],PARAMETER["latitude_of_origin",-20.10980229999997],PARAMETER["central_meridian",30],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2ALG,PROJCS["LM2ALG",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",22],PARAMETER["standard_parallel_2",34],PARAMETER["latitude_of_origin",28.0571556],PARAMETER["central_meridian",0],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2ANT1,PROJCS["LM2ANT1",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-82.50000000599761],PARAMETER["standard_parallel_2",-81.49999997849238],PARAMETER["latitude_of_origin",-83.49999997620704],PARAMETER["central_meridian",-105.0000000232594],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2ARAB,PROJCS["LM2ARAB",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",33],PARAMETER["standard_parallel_2",17],PARAMETER["latitude_of_origin",25.0895279],PARAMETER["central_meridian",47],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2ARAB2,LOCAL_CS["LM2ARAB2 - (unsupported)"] -LM2AREA1,PROJCS["LM2AREA1",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40],PARAMETER["standard_parallel_2",24],PARAMETER["latitude_of_origin",32.1197536],PARAMETER["central_meridian",117],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -LM2AREA2,PROJCS["LM2AREA2",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",24],PARAMETER["standard_parallel_2",4],PARAMETER["latitude_of_origin",14.0752451],PARAMETER["central_meridian",110],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -LM2AREA3,PROJCS["LM2AREA3",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",4],PARAMETER["standard_parallel_2",-15.99999999999996],PARAMETER["latitude_of_origin",-6.031738599999985],PARAMETER["central_meridian",115],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -LM2ARKNF,PROJCS["LM2ARKNF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36.2333333],PARAMETER["standard_parallel_2",34.9333333],PARAMETER["latitude_of_origin",35.5842285],PARAMETER["central_meridian",-91.99999999999997],PARAMETER["false_easting",2000000],PARAMETER["false_northing",455289.01],UNIT["US Foot",0.30480061]] -LM2ARKNM,PROJCS["LM2ARKNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36.2333333],PARAMETER["standard_parallel_2",34.9333333],PARAMETER["latitude_of_origin",35.5842283],PARAMETER["central_meridian",-91.99999999999997],PARAMETER["false_easting",400000],PARAMETER["false_northing",138776.13]] -LM2ARKSF,PROJCS["LM2ARKSF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",34.7666667],PARAMETER["standard_parallel_2",33.3],PARAMETER["latitude_of_origin",34.0344096],PARAMETER["central_meridian",-91.99999999999997],PARAMETER["false_easting",2000000],PARAMETER["false_northing",497685.06],UNIT["US Foot",0.30480061]] -LM2ARKSM,PROJCS["LM2ARKSM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",34.7666667],PARAMETER["standard_parallel_2",33.3],PARAMETER["latitude_of_origin",34.0344094],PARAMETER["central_meridian",-91.99999999999997],PARAMETER["false_easting",400000],PARAMETER["false_northing",551699.26]] -LM2ASEAN,PROJCS["LM2ASEAN",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",8],PARAMETER["standard_parallel_2",22],PARAMETER["latitude_of_origin",15.0393768],PARAMETER["central_meridian",110],PARAMETER["false_easting",5000000],PARAMETER["false_northing",5000000]] -LM2ASIA,PROJCS["LM2ASIA",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",65],PARAMETER["standard_parallel_2",37],PARAMETER["latitude_of_origin",51.7530074],PARAMETER["central_meridian",100],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2AUST,PROJCS["LM2AUST",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-10],PARAMETER["standard_parallel_2",-39.99999999999994],PARAMETER["latitude_of_origin",-25.32172549999997],PARAMETER["central_meridian",140],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2AZERB,PROJCS["LM2AZERB",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39],PARAMETER["standard_parallel_2",41],PARAMETER["latitude_of_origin",40.0024798],PARAMETER["central_meridian",48],PARAMETER["false_easting",5000000],PARAMETER["false_northing",5000000]] -LM2BAREN,PROJCS["LM2BAREN",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",70],PARAMETER["standard_parallel_2",80],PARAMETER["latitude_of_origin",75.2834933],PARAMETER["central_meridian",20],PARAMETER["false_easting",2000000],PARAMETER["false_northing",1000000]] -LM2BELG,PROJCS["LM2BELG",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",51.1666667],PARAMETER["standard_parallel_2",49.8333333],PARAMETER["latitude_of_origin",50.5015857],PARAMETER["central_meridian",4.3569397],PARAMETER["false_easting",150000],PARAMETER["false_northing",132159.2]] -LM2BELG72,PROJCS["LM2BELG72",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",51.16666723333334],PARAMETER["standard_parallel_2",49.8333339],PARAMETER["latitude_of_origin",90],PARAMETER["central_meridian",4.367486666666665],PARAMETER["false_easting",150000.013],PARAMETER["false_northing",5400088.438]] -LM2BKSEA,PROJCS["LM2BKSEA",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45],PARAMETER["standard_parallel_2",41],PARAMETER["latitude_of_origin",43.0110159],PARAMETER["central_meridian",35],PARAMETER["false_easting",2000000],PARAMETER["false_northing",1000000]] -LM2BLACK,PROJCS["LM2BLACK",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37],PARAMETER["standard_parallel_2",65],PARAMETER["latitude_of_origin",51.7530393],PARAMETER["central_meridian",39],PARAMETER["false_easting",5000000],PARAMETER["false_northing",5000000]] -LM2BLCKS,PROJCS["LM2BLCKS",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42],PARAMETER["standard_parallel_2",44],PARAMETER["latitude_of_origin",43.0027521],PARAMETER["central_meridian",36],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -LM2BLKSE,PROJCS["LM2BLKSE",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",41.3333333],PARAMETER["standard_parallel_2",46.6666667],PARAMETER["latitude_of_origin",44.020285],PARAMETER["central_meridian",35],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2BNOR,PROJCS["LM2BNOR",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",69],PARAMETER["standard_parallel_2",60],PARAMETER["latitude_of_origin",64.6256029],PARAMETER["central_meridian",11.5],PARAMETER["false_easting",0],PARAMETER["false_northing",13960.37]] -LM2BOF,PROJCS["LM2BOF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36],PARAMETER["standard_parallel_2",52.8],PARAMETER["latitude_of_origin",44.6069094],PARAMETER["central_meridian",4.499999999999997],PARAMETER["false_easting",200000],PARAMETER["false_northing",0]] -LM2BURMA,PROJCS["LM2BURMA",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",11.5],PARAMETER["standard_parallel_2",24],PARAMETER["latitude_of_origin",17.7874284],PARAMETER["central_meridian",96],PARAMETER["false_easting",2000000],PARAMETER["false_northing",3004117.66]] -LM2CAL1F,PROJCS["LM2CAL1F",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",41.6666667],PARAMETER["standard_parallel_2",40],PARAMETER["latitude_of_origin",40.8351064],PARAMETER["central_meridian",-122],PARAMETER["false_easting",2000000],PARAMETER["false_northing",547077.92],UNIT["US Foot",0.30480061]] -LM2CAL2F,PROJCS["LM2CAL2F",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39.8333333],PARAMETER["standard_parallel_2",38.3333333],PARAMETER["latitude_of_origin",39.0846842],PARAMETER["central_meridian",-122],PARAMETER["false_easting",2000000],PARAMETER["false_northing",516417.19],UNIT["US Foot",0.30480061]] -LM2CAL3F,PROJCS["LM2CAL3F",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.4333333],PARAMETER["standard_parallel_2",37.0666667],PARAMETER["latitude_of_origin",37.7510696],PARAMETER["central_meridian",-120.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",455516.16],UNIT["US Foot",0.30480061]] -LM2CAL4F,PROJCS["LM2CAL4F",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37.25],PARAMETER["standard_parallel_2",36],PARAMETER["latitude_of_origin",36.6258595],PARAMETER["central_meridian",-119],PARAMETER["false_easting",2000000],PARAMETER["false_northing",470526.84],UNIT["US Foot",0.30480061]] -LM2CAL4M,PROJCS["LM2CAL4M",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37.25],PARAMETER["standard_parallel_2",36],PARAMETER["latitude_of_origin",36.6258593],PARAMETER["central_meridian",-119],PARAMETER["false_easting",2000000],PARAMETER["false_northing",643420.49]] -LM2CAL5F,PROJCS["LM2CAL5F",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",35.4666667],PARAMETER["standard_parallel_2",34.0333333],PARAMETER["latitude_of_origin",34.7510555],PARAMETER["central_meridian",-118],PARAMETER["false_easting",2000000],PARAMETER["false_northing",455278.16],UNIT["US Foot",0.30480061]] -LM2CAL5M,PROJCS["LM2CAL5M",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",35.4666667],PARAMETER["standard_parallel_2",34.0333333],PARAMETER["latitude_of_origin",34.7510553],PARAMETER["central_meridian",-118],PARAMETER["false_easting",2000000],PARAMETER["false_northing",638773.03]] -LM2CAL6F,PROJCS["LM2CAL6F",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",33.8833333],PARAMETER["standard_parallel_2",32.7833333],PARAMETER["latitude_of_origin",33.3339231],PARAMETER["central_meridian",-116.25],PARAMETER["false_easting",2000000],PARAMETER["false_northing",424696.28],UNIT["US Foot",0.30480061]] -LM2CAL7F,PROJCS["LM2CAL7F",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",34.4166667],PARAMETER["standard_parallel_2",33.8666667],PARAMETER["latitude_of_origin",34.1418186],PARAMETER["central_meridian",-118.3333333],PARAMETER["false_easting",4186692.58],PARAMETER["false_northing",4164014.63],UNIT["US Foot",0.30480061]] -LM2CAMER,PROJCS["LM2CAMER",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",25],PARAMETER["standard_parallel_2",5],PARAMETER["latitude_of_origin",15.0808559],PARAMETER["central_meridian",-89.99999999999994],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2CAN,PROJCS["LM2CAN",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",77],PARAMETER["standard_parallel_2",49],PARAMETER["latitude_of_origin",64.2621819],PARAMETER["central_meridian",-99.99999999999996],PARAMETER["false_easting",2500000],PARAMETER["false_northing",2500000]] -LM2CAN60,PROJCS["LM2CAN60",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",77],PARAMETER["standard_parallel_2",49],PARAMETER["latitude_of_origin",64.2621819],PARAMETER["central_meridian",-59.99999999999994],PARAMETER["false_easting",2500000],PARAMETER["false_northing",2500000]] -LM2CAN78,PROJCS["LM2CAN78",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",64.26218189999996],PARAMETER["standard_parallel_2",77],PARAMETER["latitude_of_origin",49.00000000000002],PARAMETER["central_meridian",-77.99999999999997],PARAMETER["false_easting",0],PARAMETER["false_northing",8250000]] -LM2CBRAZ,PROJCS["LM2CBRAZ",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-4.999999999999972],PARAMETER["standard_parallel_2",-18.99999999999996],PARAMETER["latitude_of_origin",-12.03125459999998],PARAMETER["central_meridian",-54.99999999999998],PARAMETER["false_easting",0],PARAMETER["false_northing",-3431.9]] -LM2CEGYP,PROJCS["LM2CEGYP",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",29.25],PARAMETER["standard_parallel_2",31.75],PARAMETER["latitude_of_origin",30.5027312],PARAMETER["central_meridian",29.5],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2CFRAN,PROJCS["LM2CFRAN",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45],PARAMETER["standard_parallel_2",49],PARAMETER["latitude_of_origin",47.012648],PARAMETER["central_meridian",0],PARAMETER["false_easting",0],PARAMETER["false_northing",1405.23]] -LM2CHBON,PROJCS["LM2CHBON",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38],PARAMETER["standard_parallel_2",41],PARAMETER["latitude_of_origin",39.5054838],PARAMETER["central_meridian",121],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2CHECS,PROJCS["LM2CHECS",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",27],PARAMETER["standard_parallel_2",31],PARAMETER["latitude_of_origin",29.0065858],PARAMETER["central_meridian",123.5],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2CHEOF,PROJCS["LM2CHEOF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",25],PARAMETER["standard_parallel_2",37],PARAMETER["latitude_of_origin",31.0645115],PARAMETER["central_meridian",122.5],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2CHIN,PROJCS["LM2CHIN",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",35],PARAMETER["standard_parallel_2",20],PARAMETER["latitude_of_origin",27.5876688],PARAMETER["central_meridian",105],PARAMETER["false_easting",2500000],PARAMETER["false_northing",2509632.22]] -LM2CHINA,PROJCS["LM2CHINA",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",35],PARAMETER["standard_parallel_2",-4.999999999999972],PARAMETER["latitude_of_origin",15.3356381],PARAMETER["central_meridian",125],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2CHRUS,PROJCS["LM2CHRUS",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",74],PARAMETER["standard_parallel_2",42],PARAMETER["latitude_of_origin",59.3395467],PARAMETER["central_meridian",130],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2CHYS,PROJCS["LM2CHYS",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",33],PARAMETER["standard_parallel_2",36],PARAMETER["latitude_of_origin",34.5045819],PARAMETER["central_meridian",122],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2CM693,PROJCS["LM2CM693",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",77],PARAMETER["standard_parallel_2",49],PARAMETER["latitude_of_origin",64.2621819],PARAMETER["central_meridian",-69.49999999220437],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2COLCF,PROJCS["LM2COLCF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39.75],PARAMETER["standard_parallel_2",38.45],PARAMETER["latitude_of_origin",39.1010152],PARAMETER["central_meridian",-105.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",461675.32],UNIT["US Foot",0.30480061]] -LM2COLNF,PROJCS["LM2COLNF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39.7166667],PARAMETER["standard_parallel_2",40.7833333],PARAMETER["latitude_of_origin",40.2507116],PARAMETER["central_meridian",-105.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",334169.85],UNIT["US Foot",0.30480061]] -LM2COLSF,PROJCS["LM2COLSF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.4333333],PARAMETER["standard_parallel_2",37.2333333],PARAMETER["latitude_of_origin",37.8341604],PARAMETER["central_meridian",-105.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",425097.72],UNIT["US Foot",0.30480061]] -LM2COLUM,PROJCS["LM2COLUM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",6.6666667],PARAMETER["standard_parallel_2",1.3333333],PARAMETER["latitude_of_origin",4.001486399999998],PARAMETER["central_meridian",-72.99999999999994],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2COMAN,PROJCS["LM2COMAN",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",19],PARAMETER["standard_parallel_2",25],PARAMETER["latitude_of_origin",22.0108377],PARAMETER["central_meridian",56],PARAMETER["false_easting",0],PARAMETER["false_northing",1198.34]] -LM2CONNF,PROJCS["LM2CONNF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",41.8666667],PARAMETER["standard_parallel_2",41.2],PARAMETER["latitude_of_origin",41.533624],PARAMETER["central_meridian",-72.74999999999994],PARAMETER["false_easting",600000],PARAMETER["false_northing",255156.68],UNIT["US Foot",0.30480061]] -LM2CONNM,PROJCS["LM2CONNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",41.8666667],PARAMETER["standard_parallel_2",41.2],PARAMETER["latitude_of_origin",41.5336239],PARAMETER["central_meridian",-72.74999999999994],PARAMETER["false_easting",304800.61],PARAMETER["false_northing",230173.41]] -LM2CSPN,PROJCS["LM2CSPN",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38],PARAMETER["standard_parallel_2",42.5],PARAMETER["latitude_of_origin",40.2626746],PARAMETER["central_meridian",-2.999999999999949],PARAMETER["false_easting",0],PARAMETER["false_northing",29145.17]] -LM2EE,PROJCS["LM2EE",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36],PARAMETER["standard_parallel_2",43],PARAMETER["latitude_of_origin",39.5299114],PARAMETER["central_meridian",66],PARAMETER["false_easting",2000000],PARAMETER["false_northing",1502329.69]] -LM2EGYPT,PROJCS["LM2EGYPT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",23.6666667],PARAMETER["standard_parallel_2",30.6666667],PARAMETER["latitude_of_origin",27.1853739],PARAMETER["central_meridian",31],PARAMETER["false_easting",620681.47],PARAMETER["false_northing",559230.78]] -LM2EUNDX,PROJCS["LM2EUNDX",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",52],PARAMETER["standard_parallel_2",36],PARAMETER["latitude_of_origin",44.1848032],PARAMETER["central_meridian",12],PARAMETER["false_easting",3000000],PARAMETER["false_northing",2000000]] -LM2EURO,PROJCS["LM2EURO",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37],PARAMETER["standard_parallel_2",65],PARAMETER["latitude_of_origin",51.7530393],PARAMETER["central_meridian",28],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2FKLDS,PROJCS["LM2FKLDS",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-34.99999999999997],PARAMETER["standard_parallel_2",-54.99999999999998],PARAMETER["latitude_of_origin",-45.30145409999996],PARAMETER["central_meridian",-49.99999999999994],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2FLANF,PROJCS["LM2FLANF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",30.75],PARAMETER["standard_parallel_2",29.5833333],PARAMETER["latitude_of_origin",30.1672537],PARAMETER["central_meridian",-84.49999999999996],PARAMETER["false_easting",2000000],PARAMETER["false_northing",424481.59],UNIT["US Foot",0.30480061]] -LM2FRANC,PROJCS["LM2FRANC",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.89891888888889],PARAMETER["standard_parallel_2",47.69601444444444],PARAMETER["latitude_of_origin",46.80000000000000],PARAMETER["central_meridian",2.337229169999754],PARAMETER["false_easting",600000],PARAMETER["false_northing",2200000]] -LM2GULF,PROJCS["LM2GULF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",31],PARAMETER["standard_parallel_2",27],PARAMETER["latitude_of_origin",29.0065873],PARAMETER["central_meridian",-89.99999999999994],PARAMETER["false_easting",3500000],PARAMETER["false_northing",2551152.36],UNIT["US Foot",0.30480061]] -LM2H6,PROJCS["LM2H6",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",25.3333333],PARAMETER["standard_parallel_2",30.6666667],PARAMETER["latitude_of_origin",28.0112409],PARAMETER["central_meridian",47],PARAMETER["false_easting",0],PARAMETER["false_northing",1244.39]] -LM2IND76,PROJCS["LM2IND76",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",32],PARAMETER["standard_parallel_2",64],PARAMETER["latitude_of_origin",48.8939963],PARAMETER["central_meridian",63],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2IND77,PROJCS["LM2IND77",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",32],PARAMETER["standard_parallel_2",64],PARAMETER["latitude_of_origin",48.8939963],PARAMETER["central_meridian",81],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2IND78,PROJCS["LM2IND78",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",32],PARAMETER["standard_parallel_2",64],PARAMETER["latitude_of_origin",48.8939963],PARAMETER["central_meridian",98.99999999999997],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2IND96,PROJCS["LM2IND96",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",4],PARAMETER["standard_parallel_2",21],PARAMETER["latitude_of_origin",12.548179],PARAMETER["central_meridian",63],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2IND97,PROJCS["LM2IND97",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",4],PARAMETER["standard_parallel_2",21],PARAMETER["latitude_of_origin",12.548179],PARAMETER["central_meridian",81],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2IND98,PROJCS["LM2IND98",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",4],PARAMETER["standard_parallel_2",21],PARAMETER["latitude_of_origin",12.548179],PARAMETER["central_meridian",98.99999999999997],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2INDIA,PROJCS["LM2INDIA",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",25],PARAMETER["standard_parallel_2",1],PARAMETER["latitude_of_origin",13.1008489],PARAMETER["central_meridian",60],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2IOWNF,PROJCS["LM2IOWNF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",43.2666667],PARAMETER["standard_parallel_2",42.0666667],PARAMETER["latitude_of_origin",42.6676461],PARAMETER["central_meridian",-93.49999999999997],PARAMETER["false_easting",2000000],PARAMETER["false_northing",425511.73],UNIT["US Foot",0.30480061]] -LM2IOWSF,PROJCS["LM2IOWSF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",41.7833333],PARAMETER["standard_parallel_2",40.6166667],PARAMETER["latitude_of_origin",41.2008799],PARAMETER["central_meridian",-93.49999999999997],PARAMETER["false_easting",2000000],PARAMETER["false_northing",437511.38],UNIT["US Foot",0.30480061]] -LM2IRAN,PROJCS["LM2IRAN",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",26],PARAMETER["standard_parallel_2",37],PARAMETER["latitude_of_origin",31.5552453],PARAMETER["central_meridian",54],PARAMETER["false_easting",2000000],PARAMETER["false_northing",2000000]] -LM2JEBCO,PROJCS["LM2JEBCO",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",60],PARAMETER["standard_parallel_2",62.1666667],PARAMETER["latitude_of_origin",61.0895556],PARAMETER["central_meridian",97],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2JUNGB,PROJCS["LM2JUNGB",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",44],PARAMETER["standard_parallel_2",48],PARAMETER["latitude_of_origin",46.0122162],PARAMETER["central_meridian",86.99999999999997],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2KALIM,PROJCS["LM2KALIM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",1.3333333],PARAMETER["standard_parallel_2",6.6666667],PARAMETER["latitude_of_origin",4.0014861],PARAMETER["central_meridian",117],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000164.14]] -LM2KANNF,PROJCS["LM2KANNF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39.7833333],PARAMETER["standard_parallel_2",38.7166667],PARAMETER["latitude_of_origin",39.2506871],PARAMETER["central_meridian",-97.99999999999997],PARAMETER["false_easting",2000000],PARAMETER["false_northing",334102.73],UNIT["US Foot",0.30480061]] -LM2KANNM,PROJCS["LM2KANNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39.7833333],PARAMETER["standard_parallel_2",38.7166667],PARAMETER["latitude_of_origin",39.2506869],PARAMETER["central_meridian",-97.99999999999997],PARAMETER["false_easting",400000],PARAMETER["false_northing",101836.74]] -LM2KYNFT,PROJCS["LM2KYNFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37.9666667],PARAMETER["standard_parallel_2",38.9666667],PARAMETER["latitude_of_origin",38.4672541],PARAMETER["central_meridian",-84.24999999999994],PARAMETER["false_easting",2000000],PARAMETER["false_northing",352230.83],UNIT["US Foot",0.30480061]] -LM2KYNM,PROJCS["LM2KYNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.9666667],PARAMETER["standard_parallel_2",37.9666667],PARAMETER["latitude_of_origin",38.467254],PARAMETER["central_meridian",-84.24999999999994],PARAMETER["false_easting",500000],PARAMETER["false_northing",107362.48]] -LM2KYSFT,PROJCS["LM2KYSFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36.7333333],PARAMETER["standard_parallel_2",37.9333333],PARAMETER["latitude_of_origin",37.3341458],PARAMETER["central_meridian",-85.74999999999996],PARAMETER["false_easting",2000000],PARAMETER["false_northing",364374.61],UNIT["US Foot",0.30480061]] -LM2LANDS,PROJCS["LM2LANDS",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37],PARAMETER["standard_parallel_2",65],PARAMETER["latitude_of_origin",51.7530393],PARAMETER["central_meridian",30],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2LANFT,PROJCS["LM2LANFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",31.1666667],PARAMETER["standard_parallel_2",32.6666667],PARAMETER["latitude_of_origin",31.9177058],PARAMETER["central_meridian",-92.49999999999994],PARAMETER["false_easting",2000000],PARAMETER["false_northing",455060.71],UNIT["US Foot",0.30480061]] -LM2LANM,PROJCS["LM2LANM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",32.6666667],PARAMETER["standard_parallel_2",31.1666667],PARAMETER["latitude_of_origin",31.9177056],PARAMETER["central_meridian",-92.49999999999994],PARAMETER["false_easting",1000000],PARAMETER["false_northing",157187.89]] -LM2LAOFT,PROJCS["LM2LAOFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",26.1666667],PARAMETER["standard_parallel_2",27.8333333],PARAMETER["latitude_of_origin",27.0010515],PARAMETER["central_meridian",-91.33333329999992],PARAMETER["false_easting",2000000],PARAMETER["false_northing",485012.86],UNIT["US Foot",0.30480061]] -LM2LASFT,PROJCS["LM2LASFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",29.3],PARAMETER["standard_parallel_2",30.7],PARAMETER["latitude_of_origin",30.0008397],PARAMETER["central_meridian",-91.33333329999992],PARAMETER["false_easting",2000000],PARAMETER["false_northing",485164],UNIT["US Foot",0.30480061]] -LM2LASM,PROJCS["LM2LASM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",30.7],PARAMETER["standard_parallel_2",29.3],PARAMETER["latitude_of_origin",30.0008395],PARAMETER["central_meridian",-91.33333329999992],PARAMETER["false_easting",1000000],PARAMETER["false_northing",166359.47]] -LM2MARYF,PROJCS["LM2MARYF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.3],PARAMETER["standard_parallel_2",39.45],PARAMETER["latitude_of_origin",38.8757881],PARAMETER["central_meridian",-76.99999999999994],PARAMETER["false_easting",800000],PARAMETER["false_northing",379638.15],UNIT["US Foot",0.30480061]] -LM2MASIM,PROJCS["LM2MASIM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",41.4833333],PARAMETER["standard_parallel_2",41.2833333],PARAMETER["latitude_of_origin",41.3833594],PARAMETER["central_meridian",-70.49999999999996],PARAMETER["false_easting",500000],PARAMETER["false_northing",42575.23]] -LM2MASMF,PROJCS["LM2MASMF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",41.7166667],PARAMETER["standard_parallel_2",42.6833333],PARAMETER["latitude_of_origin",42.2006254],PARAMETER["central_meridian",-71.49999999999996],PARAMETER["false_easting",600000],PARAMETER["false_northing",437502.72],UNIT["US Foot",0.30480061]] -LM2ME,PROJCS["LM2ME",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36],PARAMETER["standard_parallel_2",20],PARAMETER["latitude_of_origin",28.102018],PARAMETER["central_meridian",50],PARAMETER["false_easting",3000000],PARAMETER["false_northing",2011195.53]] -LM2ME1,PROJCS["LM2ME1",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",35],PARAMETER["standard_parallel_2",15],PARAMETER["latitude_of_origin",25.1405776],PARAMETER["central_meridian",50],PARAMETER["false_easting",3000000],PARAMETER["false_northing",2011195.53]] -LM2MEDIT,PROJCS["LM2MEDIT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42.5],PARAMETER["standard_parallel_2",32.5],PARAMETER["latitude_of_origin",37.5569977],PARAMETER["central_meridian",15],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2MICCF,PROJCS["LM2MICCF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",44.1833333],PARAMETER["standard_parallel_2",45.7],PARAMETER["latitude_of_origin",44.943359],PARAMETER["central_meridian",-84.33333329999994],PARAMETER["false_easting",2000000],PARAMETER["false_northing",593030.52],UNIT["US Foot",0.30480061]] -LM2MICNF,PROJCS["LM2MICNF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.4833333],PARAMETER["standard_parallel_2",47.0833333],PARAMETER["latitude_of_origin",46.2853059],PARAMETER["central_meridian",-86.99999999999994],PARAMETER["false_easting",2000000],PARAMETER["false_northing",547682.99],UNIT["US Foot",0.30480061]] -LM2MICSF,PROJCS["LM2MICSF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42.1],PARAMETER["standard_parallel_2",43.6666667],PARAMETER["latitude_of_origin",42.8850154],PARAMETER["central_meridian",-84.33333329999994],PARAMETER["false_easting",2000000],PARAMETER["false_northing",504729.43],UNIT["US Foot",0.30480061]] -LM2MINCF,PROJCS["LM2MINCF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.6166667],PARAMETER["standard_parallel_2",47.05],PARAMETER["latitude_of_origin",46.334919],PARAMETER["central_meridian",-94.24999999999994],PARAMETER["false_easting",2000000],PARAMETER["false_northing",486777.48],UNIT["US Foot",0.30480061]] -LM2MINNF,PROJCS["LM2MINNF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",47.0333333],PARAMETER["standard_parallel_2",48.6333333],PARAMETER["latitude_of_origin",47.8354144],PARAMETER["central_meridian",-93.09999999999994],PARAMETER["false_easting",2000000],PARAMETER["false_northing",487078.53],UNIT["US Foot",0.30480061]] -LM2MINSF,PROJCS["LM2MINSF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",43.7833333],PARAMETER["standard_parallel_2",45.2166667],PARAMETER["latitude_of_origin",44.5014886],PARAMETER["central_meridian",-93.99999999999993],PARAMETER["false_easting",2000000],PARAMETER["false_northing",547343.48],UNIT["US Foot",0.30480061]] -LM2MOCFT,PROJCS["LM2MOCFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",46.45],PARAMETER["standard_parallel_2",47.8833333],PARAMETER["latitude_of_origin",47.1682986],PARAMETER["central_meridian",-109.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",486866.43],UNIT["US Foot",0.30480061]] -LM2MON,PROJCS["LM2MON",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",48],PARAMETER["standard_parallel_2",44],PARAMETER["latitude_of_origin",46.0122162],PARAMETER["central_meridian",104],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2MONFT,PROJCS["LM2MONFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",47.85],PARAMETER["standard_parallel_2",48.7166667],PARAMETER["latitude_of_origin",48.2839534],PARAMETER["central_meridian",-109.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",468377.04],UNIT["US Foot",0.30480061]] -LM2MOSFT,PROJCS["LM2MOSFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",44.8666667],PARAMETER["standard_parallel_2",46.4],PARAMETER["latitude_of_origin",45.6351048],PARAMETER["central_meridian",-109.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",596169.89],UNIT["US Foot",0.30480061]] -LM2MTCFT,PROJCS["LM2MTCFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",47.8833333],PARAMETER["standard_parallel_2",46.45],PARAMETER["latitude_of_origin",47.1682986],PARAMETER["central_meridian",-109.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",486866.43],UNIT["US Foot",0.30480061]] -LM2MTM,PROJCS["LM2MTM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",49],PARAMETER["standard_parallel_2",45],PARAMETER["latitude_of_origin",47.0126454],PARAMETER["central_meridian",-109.5],PARAMETER["false_easting",600000],PARAMETER["false_northing",306982.36]] -LM2MTNFT,PROJCS["LM2MTNFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",48.7166667],PARAMETER["standard_parallel_2",47.85],PARAMETER["latitude_of_origin",48.2839534],PARAMETER["central_meridian",-109.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",468377.04],UNIT["US Foot",0.30480061]] -LM2MTSFT,PROJCS["LM2MTSFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",46.4],PARAMETER["standard_parallel_2",44.8666667],PARAMETER["latitude_of_origin",45.6351048],PARAMETER["central_meridian",-109.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",596169.89],UNIT["US Foot",0.30480061]] -LM2NBRUN,PROJCS["LM2NBRUN",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45],PARAMETER["standard_parallel_2",33],PARAMETER["latitude_of_origin",39.0867598],PARAMETER["central_meridian",-66.5],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2NBSEA,PROJCS["LM2NBSEA",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",41.3333333],PARAMETER["standard_parallel_2",46.6666667],PARAMETER["latitude_of_origin",44.0202838],PARAMETER["central_meridian",38],PARAMETER["false_easting",5000000],PARAMETER["false_northing",5000000]] -LM2NCAFT,PROJCS["LM2NCAFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",34.3333333],PARAMETER["standard_parallel_2",36.1666667],PARAMETER["latitude_of_origin",35.2517589],PARAMETER["central_meridian",-78.99999999999997],PARAMETER["false_easting",2000000],PARAMETER["false_northing",546538.78],UNIT["US Foot",0.30480061]] -LM2NDNFT,PROJCS["LM2NDNFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",47.4333333],PARAMETER["standard_parallel_2",48.7333333],PARAMETER["latitude_of_origin",48.084719],PARAMETER["central_meridian",-100.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",395667.3],UNIT["US Foot",0.30480061]] -LM2NDNM,PROJCS["LM2NDNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",48.7333333],PARAMETER["standard_parallel_2",47.4333333],PARAMETER["latitude_of_origin",48.0847188],PARAMETER["central_meridian",-100.5],PARAMETER["false_easting",600000],PARAMETER["false_northing",120599.98]] -LM2NDSFT,PROJCS["LM2NDSFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",46.1833333],PARAMETER["standard_parallel_2",47.4833333],PARAMETER["latitude_of_origin",46.8346604],PARAMETER["central_meridian",-100.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",425949.37],UNIT["US Foot",0.30480061]] -LM2NEBM,PROJCS["LM2NEBM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",43],PARAMETER["standard_parallel_2",40],PARAMETER["latitude_of_origin",41.5058803],PARAMETER["central_meridian",-99.99999999999996],PARAMETER["false_easting",500000],PARAMETER["false_northing",185694.92]] -LM2NEBNF,PROJCS["LM2NEBNF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",41.85],PARAMETER["standard_parallel_2",42.8166667],PARAMETER["latitude_of_origin",42.3339616],PARAMETER["central_meridian",-99.99999999999996],PARAMETER["false_easting",2000000],PARAMETER["false_northing",364631.59],UNIT["US Foot",0.30480061]] -LM2NEBSF,PROJCS["LM2NEBSF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.2833333],PARAMETER["standard_parallel_2",41.7166667],PARAMETER["latitude_of_origin",41.001319],PARAMETER["central_meridian",-99.49999999999993],PARAMETER["false_easting",2000000],PARAMETER["false_northing",486220.86],UNIT["US Foot",0.30480061]] -LM2NEPAL,PROJCS["LM2NEPAL",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",30],PARAMETER["standard_parallel_2",27],PARAMETER["latitude_of_origin",28.5036278],PARAMETER["central_meridian",84],PARAMETER["false_easting",2000000],PARAMETER["false_northing",10000000]] -LM2NFA,PROJCS["LM2NFA",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",43],PARAMETER["standard_parallel_2",49],PARAMETER["latitude_of_origin",46.0275217],PARAMETER["central_meridian",-45.99999999999996],PARAMETER["false_easting",500000],PARAMETER["false_northing",500000]] -LM2NFB,PROJCS["LM2NFB",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",43],PARAMETER["standard_parallel_2",49],PARAMETER["latitude_of_origin",46.0275217],PARAMETER["central_meridian",-51],PARAMETER["false_easting",500000],PARAMETER["false_northing",500000]] -LM2NHEM,PROJCS["LM2NHEM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",60],PARAMETER["standard_parallel_2",30],PARAMETER["latitude_of_origin",45.6982614],PARAMETER["central_meridian",20],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2NSEA,PROJCS["LM2NSEA",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",58.8333333],PARAMETER["standard_parallel_2",54.1666667],PARAMETER["latitude_of_origin",56.52417129999998],PARAMETER["central_meridian",0],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2NSW1,PROJCS["LM2NSW1",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-30],PARAMETER["standard_parallel_2",-36],PARAMETER["latitude_of_origin",-36],PARAMETER["central_meridian",147],PARAMETER["false_easting",700000],PARAMETER["false_northing",8200000]] -LM2NSW2,PROJCS["LM2NSW2",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-32.66666666666664],PARAMETER["standard_parallel_2",-35.33333333333334],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",147],PARAMETER["false_easting",1000000],PARAMETER["false_northing",10000000]] -LM2NZN,PROJCS["LM2NZN",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-33.33333329999995],PARAMETER["standard_parallel_2",-38.66666669999996],PARAMETER["latitude_of_origin",-36.01531539999996],PARAMETER["central_meridian",175],PARAMETER["false_easting",0],PARAMETER["false_northing",-1697.5]] -LM2NZS,PROJCS["LM2NZS",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-41.3333333],PARAMETER["standard_parallel_2",-46.66666669999994],PARAMETER["latitude_of_origin",-44.02028839999996],PARAMETER["central_meridian",171],PARAMETER["false_easting",0],PARAMETER["false_northing",-2251.83]] -LM2OHINF,PROJCS["LM2OHINF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.4333333],PARAMETER["standard_parallel_2",41.7],PARAMETER["latitude_of_origin",41.0676991],PARAMETER["central_meridian",-82.49999999999994],PARAMETER["false_easting",2000000],PARAMETER["false_northing",510419.83],UNIT["US Foot",0.30480061]] -LM2OHISF,PROJCS["LM2OHISF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.7333333],PARAMETER["standard_parallel_2",40.0333333],PARAMETER["latitude_of_origin",39.3843587],PARAMETER["central_meridian",-82.49999999999994],PARAMETER["false_easting",2000000],PARAMETER["false_northing",504195.18],UNIT["US Foot",0.30480061]] -LM2OKLNF,PROJCS["LM2OKLNF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",35.5666667],PARAMETER["standard_parallel_2",36.7666667],PARAMETER["latitude_of_origin",36.1674458],PARAMETER["central_meridian",-97.99999999999997],PARAMETER["false_easting",2000000],PARAMETER["false_northing",424960.05],UNIT["US Foot",0.30480061]] -LM2OKLNM,PROJCS["LM2OKLNM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36.7666667],PARAMETER["standard_parallel_2",35.5666667],PARAMETER["latitude_of_origin",36.1674456],PARAMETER["central_meridian",-97.99999999999997],PARAMETER["false_easting",600000],PARAMETER["false_northing",129531.44]] -LM2OKLSF,PROJCS["LM2OKLSF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",33.9333333],PARAMETER["standard_parallel_2",35.2333333],PARAMETER["latitude_of_origin",34.5841963],PARAMETER["central_meridian",-97.99999999999997],PARAMETER["false_easting",2000000],PARAMETER["false_northing",455201.85],UNIT["US Foot",0.30480061]] -LM2OKLSM,PROJCS["LM2OKLSM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",35.2333333],PARAMETER["standard_parallel_2",33.9333333],PARAMETER["latitude_of_origin",34.5841961],PARAMETER["central_meridian",-97.99999999999997],PARAMETER["false_easting",600000],PARAMETER["false_northing",138749.82]] -LM2ONH25,PROJCS["LM2ONH25",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",25.3333333],PARAMETER["standard_parallel_2",30.6666667],PARAMETER["latitude_of_origin",28.0112409],PARAMETER["central_meridian",-78.99999999999997],PARAMETER["false_easting",2000000],PARAMETER["false_northing",2889214.55]] -LM2ORENF,PROJCS["LM2ORENF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",44.3333333],PARAMETER["standard_parallel_2",46],PARAMETER["latitude_of_origin",45.1687263],PARAMETER["central_meridian",-120.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",547601.51],UNIT["US Foot",0.30480061]] -LM2ORESF,PROJCS["LM2ORESF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42.3333333],PARAMETER["standard_parallel_2",44],PARAMETER["latitude_of_origin",43.1685891],PARAMETER["central_meridian",-120.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",547357.21],UNIT["US Foot",0.30480061]] -LM2OSTER,PROJCS["LM2OSTER",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",46],PARAMETER["standard_parallel_2",49],PARAMETER["latitude_of_origin",47.5072345],PARAMETER["central_meridian",14],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2PAK,PROJCS["LM2PAK",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",27.49999998290061],PARAMETER["standard_parallel_2",26.00000002758644],PARAMETER["latitude_of_origin",28.99999999551055],PARAMETER["central_meridian",63.00000001395566],PARAMETER["false_easting",500000],PARAMETER["false_northing",1000000]] -LM2PANFT,PROJCS["LM2PANFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.8833333],PARAMETER["standard_parallel_2",41.95],PARAMETER["latitude_of_origin",41.4174077],PARAMETER["central_meridian",-77.74999999999997],PARAMETER["false_easting",2000000],PARAMETER["false_northing",455699.08],UNIT["US Foot",0.30480061]] -LM2PASFT,PROJCS["LM2PASFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39.9333333],PARAMETER["standard_parallel_2",40.8],PARAMETER["latitude_of_origin",40.3671383],PARAMETER["central_meridian",-77.74999999999997],PARAMETER["false_easting",2000000],PARAMETER["false_northing",376593.83],UNIT["US Foot",0.30480061]] -LM2PRMB,PROJCS["LM2PRMB",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",24],PARAMETER["standard_parallel_2",18],PARAMETER["latitude_of_origin",21.0102961],PARAMETER["central_meridian",114],PARAMETER["false_easting",500000],PARAMETER["false_northing",501138.4]] -LM2PRV1F,PROJCS["LM2PRV1F",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",18.4333333],PARAMETER["standard_parallel_2",18.0333333],PARAMETER["latitude_of_origin",18.2333726],PARAMETER["central_meridian",-66.43333329999994],PARAMETER["false_easting",500000],PARAMETER["false_northing",145256.89],UNIT["US Foot",0.30480061]] -LM2PRV2F,PROJCS["LM2PRV2F",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",18.4333333],PARAMETER["standard_parallel_2",18.0333333],PARAMETER["latitude_of_origin",18.2333726],PARAMETER["central_meridian",-66.43333329999994],PARAMETER["false_easting",500000],PARAMETER["false_northing",245256.89],UNIT["US Foot",0.30480061]] -LM2RUSS,PROJCS["LM2RUSS",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",66],PARAMETER["standard_parallel_2",44],PARAMETER["latitude_of_origin",55.5285841],PARAMETER["central_meridian",96],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2RUSS1,PROJCS["LM2RUSS1",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",54.6666667],PARAMETER["standard_parallel_2",49.3333333],PARAMETER["latitude_of_origin",52.0268006],PARAMETER["central_meridian",116],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2RUSS2,PROJCS["LM2RUSS2",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",54.6666667],PARAMETER["standard_parallel_2",49.3333333],PARAMETER["latitude_of_origin",52.0268006],PARAMETER["central_meridian",96],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2RUSS3,PROJCS["LM2RUSS3",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",46.6666667],PARAMETER["standard_parallel_2",41.3333333],PARAMETER["latitude_of_origin",44.0202838],PARAMETER["central_meridian",107],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2RUSS4,PROJCS["LM2RUSS4",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",46.6666667],PARAMETER["standard_parallel_2",41.3333333],PARAMETER["latitude_of_origin",44.0202838],PARAMETER["central_meridian",123],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2RUSS5,PROJCS["LM2RUSS5",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",46.6666667],PARAMETER["standard_parallel_2",41.3333333],PARAMETER["latitude_of_origin",44.0202838],PARAMETER["central_meridian",91],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2RUSS6,PROJCS["LM2RUSS6",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",64],PARAMETER["standard_parallel_2",32],PARAMETER["latitude_of_origin",48.8940765],PARAMETER["central_meridian",56],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -LM2SCHIN,PROJCS["LM2SCHIN",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",18],PARAMETER["standard_parallel_2",24],PARAMETER["latitude_of_origin",21.0102961],PARAMETER["central_meridian",114],PARAMETER["false_easting",500000],PARAMETER["false_northing",501138.4]] -LM2SCHNS,PROJCS["LM2SCHNS",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",10],PARAMETER["standard_parallel_2",18],PARAMETER["latitude_of_origin",14.0119194],PARAMETER["central_meridian",115],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2SCNFT,PROJCS["LM2SCNFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",33.7666667],PARAMETER["standard_parallel_2",34.9666667],PARAMETER["latitude_of_origin",34.3673961],PARAMETER["central_meridian",-81],PARAMETER["false_easting",2000000],PARAMETER["false_northing",497599.34],UNIT["US Foot",0.30480061]] -LM2SCSFT,PROJCS["LM2SCSFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",32.3333333],PARAMETER["standard_parallel_2",33.6666667],PARAMETER["latitude_of_origin",33.0008557],PARAMETER["central_meridian",-81],PARAMETER["false_easting",2000000],PARAMETER["false_northing",424761.1],UNIT["US Foot",0.30480061]] -LM2SDNFT,PROJCS["LM2SDNFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",44.4166667],PARAMETER["standard_parallel_2",45.6833333],PARAMETER["latitude_of_origin",45.0511848],PARAMETER["central_meridian",-99.99999999999996],PARAMETER["false_easting",2000000],PARAMETER["false_northing",443993.06],UNIT["US Foot",0.30480061]] -LM2SDSFT,PROJCS["LM2SDSFT",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42.8333333],PARAMETER["standard_parallel_2",44.4],PARAMETER["latitude_of_origin",43.6183918],PARAMETER["central_meridian",-100.3333333],PARAMETER["false_easting",2000000],PARAMETER["false_northing",468361.68],UNIT["US Foot",0.30480061]] -LM2SEYCH,PROJCS["LM2SEYCH",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-1.999999999999966],PARAMETER["standard_parallel_2",-10.99999999999998],PARAMETER["latitude_of_origin",-6.50690739999996],PARAMETER["central_meridian",51],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -LM2SHAW,PROJCS["LM2SHAW",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",7],PARAMETER["standard_parallel_2",10],PARAMETER["latitude_of_origin",8.501003999999996],PARAMETER["central_meridian",106],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -LM2SYRIA,PROJCS["LM2SYRIA",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",17],PARAMETER["standard_parallel_2",33],PARAMETER["latitude_of_origin",25.0895049],PARAMETER["central_meridian",48],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2TAIW,PROJCS["LM2TAIW",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",22.25],PARAMETER["standard_parallel_2",24.75],PARAMETER["latitude_of_origin",23.5020212],PARAMETER["central_meridian",120.5],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2TARIM,PROJCS["LM2TARIM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36.5],PARAMETER["standard_parallel_2",41.6666667],PARAMETER["latitude_of_origin",39.0993748],PARAMETER["central_meridian",84],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2TIBET,PROJCS["LM2TIBET",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",31.99999999781213],PARAMETER["standard_parallel_2",24.99999982819388],PARAMETER["latitude_of_origin",45.00000000014619],PARAMETER["central_meridian",84.999999988817],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2TIMAN,PROJCS["LM2TIMAN",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",65.6666667],PARAMETER["standard_parallel_2",68.3333333],PARAMETER["latitude_of_origin",67.0122484],PARAMETER["central_meridian",56.5],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -LM2TURK,PROJCS["LM2TURK",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.6666667],PARAMETER["standard_parallel_2",43.3333333],PARAMETER["latitude_of_origin",42.0047273],PARAMETER["central_meridian",28.9809583],PARAMETER["false_easting",0],PARAMETER["false_northing",524.95]] -LM2TURKG,PROJCS["LM2TURKG",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40],PARAMETER["standard_parallel_2",38],PARAMETER["latitude_of_origin",39.0023944],PARAMETER["central_meridian",35],PARAMETER["false_easting",1000000],PARAMETER["false_northing",0]] -LM2TURKY,PROJCS["LM2TURKY",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42],PARAMETER["standard_parallel_2",36],PARAMETER["latitude_of_origin",39.0215807],PARAMETER["central_meridian",35],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1003455.28]] -LM2TXCF,PROJCS["LM2TXCF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",30.1166667],PARAMETER["standard_parallel_2",31.8833333],PARAMETER["latitude_of_origin",31.0013911],PARAMETER["central_meridian",-100.3333333],PARAMETER["false_easting",2000000],PARAMETER["false_northing",485417.56],UNIT["US Foot",0.30480061]] -LM2TXCM,PROJCS["LM2TXCM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",31.8833333],PARAMETER["standard_parallel_2",30.1166667],PARAMETER["latitude_of_origin",31.0013908],PARAMETER["central_meridian",-100.3333333],PARAMETER["false_easting",700000],PARAMETER["false_northing",3147960.78]] -LM2TXNCF,PROJCS["LM2TXNCF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",32.1333333],PARAMETER["standard_parallel_2",33.9666667],PARAMETER["latitude_of_origin",33.0516209],PARAMETER["central_meridian",-97.49999999999996],PARAMETER["false_easting",2000000],PARAMETER["false_northing",503845.05],UNIT["US Foot",0.30480061]] -LM2TXNCM,PROJCS["LM2TXNCM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",33.9666667],PARAMETER["standard_parallel_2",32.1333333],PARAMETER["latitude_of_origin",33.0516206],PARAMETER["central_meridian",-98.49999999999994],PARAMETER["false_easting",600000],PARAMETER["false_northing",2153577.14]] -LM2TXSCF,PROJCS["LM2TXSCF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",28.3833333],PARAMETER["standard_parallel_2",30.2833333],PARAMETER["latitude_of_origin",29.3348392],PARAMETER["central_meridian",-98.99999999999997],PARAMETER["false_easting",2000000],PARAMETER["false_northing",545930.94],UNIT["US Foot",0.30480061]] -LM2TXSCM,PROJCS["LM2TXSCM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",30.2833333],PARAMETER["standard_parallel_2",28.3833333],PARAMETER["latitude_of_origin",29.3348388],PARAMETER["central_meridian",-98.99999999999997],PARAMETER["false_easting",600000],PARAMETER["false_northing",4166406.43]] -LM2TXSF,PROJCS["LM2TXSF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",26.1666667],PARAMETER["standard_parallel_2",27.8333333],PARAMETER["latitude_of_origin",27.0010515],PARAMETER["central_meridian",-98.49999999999994],PARAMETER["false_easting",2000000],PARAMETER["false_northing",485012.86],UNIT["US Foot",0.30480061]] -LM2TXSM,PROJCS["LM2TXSM",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",27.8333333],PARAMETER["standard_parallel_2",26.1666667],PARAMETER["latitude_of_origin",27.0010513],PARAMETER["central_meridian",-98.49999999999994],PARAMETER["false_easting",300000],PARAMETER["false_northing",5147838.39]] -LM2UKN,PROJCS["LM2UKN",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",52],PARAMETER["standard_parallel_2",57],PARAMETER["latitude_of_origin",54.5257722],PARAMETER["central_meridian",0],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2USSR,PROJCS["LM2USSR",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",74],PARAMETER["standard_parallel_2",42],PARAMETER["latitude_of_origin",59.3395467],PARAMETER["central_meridian",105],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -LM2USSR1,PROJCS["LM2USSR1",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.5],PARAMETER["standard_parallel_2",51.5],PARAMETER["latitude_of_origin",48.5300074],PARAMETER["central_meridian",52],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -LM2USSR2,PROJCS["LM2USSR2",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36],PARAMETER["standard_parallel_2",44],PARAMETER["latitude_of_origin",40.039788],PARAMETER["central_meridian",63],PARAMETER["false_easting",2000000],PARAMETER["false_northing",2000000]] -LM2UTHCF,PROJCS["LM2UTHCF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39.0166667],PARAMETER["standard_parallel_2",40.65],PARAMETER["latitude_of_origin",39.8349778],PARAMETER["central_meridian",-111.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",546937.88],UNIT["US Foot",0.30480061]] -LM2UTHNF,PROJCS["LM2UTHNF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",40.7166667],PARAMETER["standard_parallel_2",41.7833333],PARAMETER["latitude_of_origin",41.2507368],PARAMETER["central_meridian",-111.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",334237.62],UNIT["US Foot",0.30480061]] -LM2UTHSF,PROJCS["LM2UTHSF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37.2166667],PARAMETER["standard_parallel_2",38.35],PARAMETER["latitude_of_origin",37.7840698],PARAMETER["central_meridian",-111.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",406857.45],UNIT["US Foot",0.30480061]] -LM2VEN,PROJCS["LM2VEN",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",7],PARAMETER["standard_parallel_2",13],PARAMETER["latitude_of_origin",10.0047415],PARAMETER["central_meridian",-65.99999999999996],PARAMETER["false_easting",1111539.44],PARAMETER["false_northing",536590.41]] -LM2VENCN,PROJCS["LM2VENCN",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",3],PARAMETER["standard_parallel_2",9.000000000000002],PARAMETER["latitude_of_origin",6.002827699999997],PARAMETER["central_meridian",-65.99999999999996],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1664090.82]] -LM2VENPC,PROJCS["LM2VENPC",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",12],PARAMETER["standard_parallel_2",6],PARAMETER["latitude_of_origin",9.0042597],PARAMETER["central_meridian",-69.99999999999994],PARAMETER["false_easting",1444072.44],PARAMETER["false_northing",1440169.11]] -LM2VIET,PROJCS["LM2VIET",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",9.000000000000002],PARAMETER["standard_parallel_2",7],PARAMETER["latitude_of_origin",8.000419599999997],PARAMETER["central_meridian",108],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2VIRNF,PROJCS["LM2VIRNF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.0333333],PARAMETER["standard_parallel_2",39.2],PARAMETER["latitude_of_origin",38.6174705],PARAMETER["central_meridian",-78.49999999999994],PARAMETER["false_easting",2000000],PARAMETER["false_northing",346244.54],UNIT["US Foot",0.30480061]] -LM2VIRSF,PROJCS["LM2VIRSF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",36.7666667],PARAMETER["standard_parallel_2",37.9666667],PARAMETER["latitude_of_origin",37.3674801],PARAMETER["central_meridian",-78.49999999999994],PARAMETER["false_easting",2000000],PARAMETER["false_northing",376513.28],UNIT["US Foot",0.30480061]] -LM2WAUST,PROJCS["LM2WAUST",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-32.65859432245691],PARAMETER["standard_parallel_2",-35.35149595957179],PARAMETER["latitude_of_origin",-25.32172549999997],PARAMETER["central_meridian",120.8940947726037],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -LM2WISCF,PROJCS["LM2WISCF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",44.25],PARAMETER["standard_parallel_2",45.5],PARAMETER["latitude_of_origin",44.8761469],PARAMETER["central_meridian",-89.99999999999994],PARAMETER["false_easting",2000000],PARAMETER["false_northing",380166.49],UNIT["US Foot",0.30480061]] -LM2WISNF,PROJCS["LM2WISNF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.5666667],PARAMETER["standard_parallel_2",46.7666667],PARAMETER["latitude_of_origin",46.1677717],PARAMETER["central_meridian",-89.99999999999994],PARAMETER["false_easting",2000000],PARAMETER["false_northing",365046.6],UNIT["US Foot",0.30480061]] -LM2WISSF,PROJCS["LM2WISSF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",42.7333333],PARAMETER["standard_parallel_2",44.0666667],PARAMETER["latitude_of_origin",43.4012402],PARAMETER["central_meridian",-89.99999999999994],PARAMETER["false_easting",2000000],PARAMETER["false_northing",510702.31],UNIT["US Foot",0.30480061]] -LM2WSHNF,PROJCS["LM2WSHNF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",47.5],PARAMETER["standard_parallel_2",48.7333333],PARAMETER["latitude_of_origin",48.1179153],PARAMETER["central_meridian",-120.8333333],PARAMETER["false_easting",2000000],PARAMETER["false_northing",407781.44],UNIT["US Foot",0.30480061]] -LM2WSHSF,PROJCS["LM2WSHSF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.8333333],PARAMETER["standard_parallel_2",47.3333333],PARAMETER["latitude_of_origin",46.585085],PARAMETER["central_meridian",-120.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",456465.91],UNIT["US Foot",0.30480061]] -LM2WVANF,PROJCS["LM2WVANF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",39],PARAMETER["standard_parallel_2",40.25],PARAMETER["latitude_of_origin",39.6259561],PARAMETER["central_meridian",-79.5],PARAMETER["false_easting",2000000],PARAMETER["false_northing",410097.76],UNIT["US Foot",0.30480061]] -LM2WVASF,PROJCS["LM2WVASF",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",37.4833333],PARAMETER["standard_parallel_2",38.8833333],PARAMETER["latitude_of_origin",38.1844732],PARAMETER["central_meridian",-81],PARAMETER["false_easting",2000000],PARAMETER["false_northing",431297.77],UNIT["US Foot",0.30480061]] -LM2_WA_WGS84,PROJCS["LM2_WA_WGS84",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-83.49999997620704],PARAMETER["standard_parallel_2",-81.49999997849238],PARAMETER["latitude_of_origin",-82.50000000599761],PARAMETER["central_meridian",-105.0000000232594],PARAMETER["false_easting",343122.675],PARAMETER["false_northing",203866.49]] -LMFRAN93,PROJCS["LMFRAN93",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",44],PARAMETER["standard_parallel_2",49],PARAMETER["latitude_of_origin",46.5],PARAMETER["central_meridian",3],PARAMETER["false_easting",700000],PARAMETER["false_northing",6600000],UNIT["unnamed",1]] -LOCAL,LOCAL_CS["LOCAL - (unsupported)"] -LOE7330,PROJCS["LOE7330",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.99999999900352],PARAMETER["standard_parallel_2",48.99999999557553],PARAMETER["latitude_of_origin",47.50000000000002],PARAMETER["central_meridian",13],PARAMETER["false_easting",300000],PARAMETER["false_northing",200000]] -LOE7332,PROJCS["LOE7332",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.99999999900352],PARAMETER["standard_parallel_2",48.99999999557553],PARAMETER["latitude_of_origin",47.50000000000002],PARAMETER["central_meridian",13.33333333333331],PARAMETER["false_easting",400000],PARAMETER["false_northing",400000]] -LOE8032,PROJCS["LOE8032",PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",45.99999999900352],PARAMETER["standard_parallel_2",48.99999999557553],PARAMETER["latitude_of_origin",47.99999999999998],PARAMETER["central_meridian",13.33333333333331],PARAMETER["false_easting",400000],PARAMETER["false_northing",400000]] -MALAYA,LOCAL_CS["MALAYA - (unsupported)"] -MALRSOE,LOCAL_CS["MALRSOE - (unsupported)"] -MALRSOW,LOCAL_CS["MALRSOW - (unsupported)"] -MGA48,PROJCS["MGA48",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",105],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -MGA49,PROJCS["MGA49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",111],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -MGA50,PROJCS["MGA50",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",117],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -MGA51,PROJCS["MGA51",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",123],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -MGA52,PROJCS["MGA52",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",129],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -MGA53,PROJCS["MGA53",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",135],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -MGA54,PROJCS["MGA54",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",141],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -MGA55,PROJCS["MGA55",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",147],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -MGA56,PROJCS["MGA56",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",153],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -MGA57,PROJCS["MGA57",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",159],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -MGA58,PROJCS["MGA58",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",165],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -MICH_GEOREF,LOCAL_CS["MICH_GEOREF - (unsupported)"] -MPCALIF,LOCAL_CS["MPCALIF - (unsupported)"] -MR1630N,PROJCS["MR1630N",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",16.5],PARAMETER["central_meridian",39.6666667],PARAMETER["scale_factor",0.9590787188081463],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -MR21N,PROJCS["MR21N",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",21],PARAMETER["central_meridian",40],PARAMETER["scale_factor",0.933982001373389],PARAMETER["false_easting",100000],PARAMETER["false_northing",800000]] -MR36N,PROJCS["MR36N",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",36],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.8099581558643186],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -MR38N,PROJCS["MR38N",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",38],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.7890166629883195],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -MR43N,PROJCS["MR43N",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",43],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.7324998104788255],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -MR65N,PROJCS["MR65N",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",65],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.4237899569845271],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -MR7S,PROJCS["MR7S",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",-6.999999999999995],PARAMETER["central_meridian",115],PARAMETER["scale_factor",0.9925953501989099],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -MRAFRICA,PROJCS["MRAFRICA",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -MRANS,PROJCS["MRANS",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -MRBLACKS,PROJCS["MRBLACKS",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",34],PARAMETER["scale_factor",1],PARAMETER["false_easting",2000000],PARAMETER["false_northing",0]] -MRCAMER,PROJCS["MRCAMER",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -MRCARIB,PROJCS["MRCARIB",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",19],PARAMETER["central_meridian",-79.99999999999994],PARAMETER["scale_factor",0.9458579352767946],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -MRCONGO,PROJCS["MRCONGO",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",-4.999999999999972],PARAMETER["central_meridian",11],PARAMETER["scale_factor",0.9962204409159013],PARAMETER["false_easting",200000],PARAMETER["false_northing",1051440.8]] -MREV,PROJCS["MREV",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",90],PARAMETER["scale_factor",1],PARAMETER["false_easting",20000000],PARAMETER["false_northing",0]] -MRGOM,PROJCS["MRGOM",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",25],PARAMETER["central_meridian",-89.99999999999994],PARAMETER["scale_factor",0.9068561129815975],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -MRINDO,PROJCS["MRINDO",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0.5386389000000007],PARAMETER["central_meridian",101.4418306],PARAMETER["scale_factor",0.9999561056335834],PARAMETER["false_easting",400000],PARAMETER["false_northing",100000]] -MRINDON,PROJCS["MRINDON",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0.539165300000001],PARAMETER["central_meridian",101.4417703],PARAMETER["scale_factor",0.9999560198000614],PARAMETER["false_easting",400000],PARAMETER["false_northing",100000]] -MRLCC,PROJCS["MRLCC",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",365392607.481532],PARAMETER["central_meridian",109.9999999888982],PARAMETER["scale_factor",0.997],PARAMETER["false_easting",3900000],PARAMETER["false_northing",900000]] -MRMALAY,PROJCS["MRMALAY",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",4.85],PARAMETER["central_meridian",109],PARAMETER["scale_factor",0.9964432276572127],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -MRNAM,PROJCS["MRNAM",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",15],PARAMETER["central_meridian",108],PARAMETER["scale_factor",0.9661424762736215],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -MRNEIEZ,PROJCS["MRNEIEZ",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",110],PARAMETER["scale_factor",0.997],PARAMETER["false_easting",3900000],PARAMETER["false_northing",900000]] -MRNEWFND,PROJCS["MRNEWFND",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",46],PARAMETER["central_meridian",-45.5],PARAMETER["scale_factor",0.6958780751155514],PARAMETER["false_easting",500000],PARAMETER["false_northing",1000000]] -MRNSEA,PROJCS["MRNSEA",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",57.8129472],PARAMETER["central_meridian",-1.999999999999966],PARAMETER["scale_factor",0.5339721600128644],PARAMETER["false_easting",2000000],PARAMETER["false_northing",0]] -MRNWL10D,PROJCS["MRNWL10D",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",20000000],PARAMETER["false_northing",10000000]] -MRVENZ,PROJCS["MRVENZ",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-64.99999999999997],PARAMETER["scale_factor",1],PARAMETER["false_easting",3500000],PARAMETER["false_northing",0]] -MRVIET,PROJCS["MRVIET",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",18],PARAMETER["central_meridian",106],PARAMETER["scale_factor",0.9513606030407835],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -MRWORLD,PROJCS["MRWORLD",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",20000000],PARAMETER["false_northing",0]] -MRWORLD1,PROJCS["MRWORLD1",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",10000000],PARAMETER["false_northing",0]] -MRWORLD2,PROJCS["MRWORLD2",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -MRWSOUTH,PROJCS["MRWSOUTH",PROJECTION["Mercator_1SP"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",20000000],PARAMETER["false_northing",20000000]] -MSAFRICA,LOCAL_CS["MSAFRICA - (unsupported)"] -MW180E,LOCAL_CS["MW180E - (unsupported)"] -MW90EAST,LOCAL_CS["MW90EAST - (unsupported)"] -MW90WEST,LOCAL_CS["MW90WEST - (unsupported)"] -MWSPHERE,LOCAL_CS["MWSPHERE - (unsupported)"] -NTM51,PROJCS["NTM51",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",123],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -NTM52,PROJCS["NTM52",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",129],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -NTM53,PROJCS["NTM53",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",135],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -NTM54,PROJCS["NTM54",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",141],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -NTM55,PROJCS["NTM55",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",147],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -NTM56,PROJCS["NTM56",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",153],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -NUTM01,PROJCS["NUTM01",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-177],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM01_FT,PROJCS["NUTM01_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-177.0000000000003],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM02,PROJCS["NUTM02",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-171],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM02_FT,PROJCS["NUTM02_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-171.0000000000003],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM03,PROJCS["NUTM03",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-165],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM03_FT,PROJCS["NUTM03_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-165.0000000000003],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM04,PROJCS["NUTM04",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-159],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM04_FT,PROJCS["NUTM04_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-159.0000000000003],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM05,PROJCS["NUTM05",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-153],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM05_FT,PROJCS["NUTM05_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-153.0000000000003],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM06,PROJCS["NUTM06",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-147],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM06_FT,PROJCS["NUTM06_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-147.0000000000003],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM07,PROJCS["NUTM07",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-141],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM07_FT,PROJCS["NUTM07_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-141.0000000000003],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM08,PROJCS["NUTM08",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-135],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM08_FT,PROJCS["NUTM08_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-135.0000000000003],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM09,PROJCS["NUTM09",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-129],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM09_FT,PROJCS["NUTM09_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-129.0000000000003],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM10,PROJCS["NUTM10",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-123],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM10_FT,PROJCS["NUTM10_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-123.0000000000002],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM11,PROJCS["NUTM11",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-117],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM11_FT,PROJCS["NUTM11_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-117.0000000000002],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM12,PROJCS["NUTM12",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-111],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM12_FT,PROJCS["NUTM12_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-111.0000000000002],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM13,PROJCS["NUTM13",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-105],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM13_FT,PROJCS["NUTM13_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-105.0000000000002],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM14,PROJCS["NUTM14",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-99],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM14_FT,PROJCS["NUTM14_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-99.0000000000002],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM15,PROJCS["NUTM15",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-93],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM15_FT,PROJCS["NUTM15_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-92.99999999999996],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM16,PROJCS["NUTM16",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM16_FT,PROJCS["NUTM16_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-86.99999999999994],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM17,PROJCS["NUTM17",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-81],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM17_FT,PROJCS["NUTM17_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-81],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM18,PROJCS["NUTM18",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-75],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM18_FT,PROJCS["NUTM18_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-75.00000000000016],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM19,PROJCS["NUTM19",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-69],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM19_FT,PROJCS["NUTM19_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-69.00000000000013],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM20,PROJCS["NUTM20",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-63],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM20_FT,PROJCS["NUTM20_FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-63.00000000000013],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["unnamed",0.30480060966]] -NUTM21,PROJCS["NUTM21",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-57],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM22,PROJCS["NUTM22",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-51],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM23,PROJCS["NUTM23",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-45],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM24,PROJCS["NUTM24",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-39],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM25,PROJCS["NUTM25",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-33],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM26,PROJCS["NUTM26",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-27],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM27,PROJCS["NUTM27",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-21],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM28,PROJCS["NUTM28",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-15],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM29,PROJCS["NUTM29",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-9],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM30,PROJCS["NUTM30",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-3],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM31,PROJCS["NUTM31",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",3],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM32,PROJCS["NUTM32",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",9],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM33,PROJCS["NUTM33",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",15],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM34,PROJCS["NUTM34",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",21],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM35,PROJCS["NUTM35",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",27],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM36,PROJCS["NUTM36",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",33],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM37,PROJCS["NUTM37",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",39],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM38,PROJCS["NUTM38",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",45],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM39,PROJCS["NUTM39",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",51],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM40,PROJCS["NUTM40",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",57],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM41,PROJCS["NUTM41",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",63],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM42,PROJCS["NUTM42",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",69],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM43,PROJCS["NUTM43",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",75],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM44,PROJCS["NUTM44",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",81],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM45,PROJCS["NUTM45",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM46,PROJCS["NUTM46",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",93],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM47,PROJCS["NUTM47",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",99],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM48,PROJCS["NUTM48",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",105],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM49,PROJCS["NUTM49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",111],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM50,PROJCS["NUTM50",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",117],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM51,PROJCS["NUTM51",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",123],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM52,PROJCS["NUTM52",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",129],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM53,PROJCS["NUTM53",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",135],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM54,PROJCS["NUTM54",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",141],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM55,PROJCS["NUTM55",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",147],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM56,PROJCS["NUTM56",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",153],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM57,PROJCS["NUTM57",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",159],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM58,PROJCS["NUTM58",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",165],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM59,PROJCS["NUTM59",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",171],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NUTM60,PROJCS["NUTM60",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",177],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]] -NZAMUR49,PROJCS["NZAMUR49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-42.68911658055557],PARAMETER["central_meridian",173.0101333888891],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZBLUF49,PROJCS["NZBLUF49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-46.60000961111109],PARAMETER["central_meridian",168.342872],PARAMETER["scale_factor",1],PARAMETER["false_easting",300002.66],PARAMETER["false_northing",699999.58],UNIT["unnamed",1]] -NZBULL49,PROJCS["NZBULL49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-41.81080286111109],PARAMETER["central_meridian",171.5812600611113],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZBYPL49,PROJCS["NZBYPL49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-37.76124981111111],PARAMETER["central_meridian",176.4661972499998],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZCOLL49,PROJCS["NZCOLL49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-40.7147590611111],PARAMETER["central_meridian",172.6720465],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZGAWL49,PROJCS["NZGAWL49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-43.74871156111108],PARAMETER["central_meridian",171.3607484694444],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZGREY49,PROJCS["NZGREY49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-42.33369428055552],PARAMETER["central_meridian",171.5497713111112],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZHAWK49,PROJCS["NZHAWK49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-39.65092931111111],PARAMETER["central_meridian",176.6736805305557],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZHOKI49,PROJCS["NZHOKI49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-42.88632236111108],PARAMETER["central_meridian",170.9799934999998],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZJACK49,PROJCS["NZJACK49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-43.97780288888887],PARAMETER["central_meridian",168.606267],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZKARA49,PROJCS["NZKARA49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-41.28991153055556],PARAMETER["central_meridian",172.1090281888886],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZLIND49,PROJCS["NZLIND49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-44.73526796944446],PARAMETER["central_meridian",169.4677550805554],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZMARL49,PROJCS["NZMARL49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-41.54448666944445],PARAMETER["central_meridian",173.8020741111113],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZMG,LOCAL_CS["NZMG - (unsupported)"] -NZMTED49,PROJCS["NZMTED49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-36.87986528055556],PARAMETER["central_meridian",174.764339361111],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZMTNI49,PROJCS["NZMTNI49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-45.13290258055557],PARAMETER["central_meridian",168.3986411888889],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZMTPL49,PROJCS["NZMTPL49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-43.59063758055553],PARAMETER["central_meridian",172.7271935805556],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZMTYO49,PROJCS["NZMTYO49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-45.56372616944442],PARAMETER["central_meridian",167.7388617805554],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZNELS49,PROJCS["NZNELS49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-41.27454471944445],PARAMETER["central_meridian",173.2993168111111],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZNTAI49,PROJCS["NZNTAI49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-45.8615133611111],PARAMETER["central_meridian",170.2825891111109],PARAMETER["scale_factor",0.99996],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZOBSE49,PROJCS["NZOBSE49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-45.81619661111111],PARAMETER["central_meridian",170.6285951694446],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZOKAR49,PROJCS["NZOKAR49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-43.11012813888885],PARAMETER["central_meridian",170.2609258305558],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZPOVE49,PROJCS["NZPOVE49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-38.62470278055553],PARAMETER["central_meridian",177.8856362805553],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZTARA49,PROJCS["NZTARA49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-39.13575831111109],PARAMETER["central_meridian",174.2280117500001],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZTIMA49,PROJCS["NZTIMA49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-44.40222036111108],PARAMETER["central_meridian",171.0572508305555],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZTM,PROJCS["NZTM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",173],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1600000],PARAMETER["false_northing",10000000]] -NZTUHI49,PROJCS["NZTUHI49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-39.51247038888886],PARAMETER["central_meridian",175.6400368111111],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZWAIR49,PROJCS["NZWAIR49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-40.9255326388889],PARAMETER["central_meridian",175.6473496694445],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZWANG49,PROJCS["NZWANG49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-40.24194713888888],PARAMETER["central_meridian",175.4880996111111],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -NZWELL49,PROJCS["NZWELL49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-41.30131963888891],PARAMETER["central_meridian",174.7766231111108],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",700000],UNIT["unnamed",1]] -OG45N45E,LOCAL_CS["OG45N45E - (unsupported)"] -OG55N80E,LOCAL_CS["OG55N80E - (unsupported)"] -OGEQU90W,LOCAL_CS["OGEQU90W - (unsupported)"] -OGNPOLE,LOCAL_CS["OGNPOLE - (unsupported)"] -OMALSK1F,LOCAL_CS["OMALSK1F - (unsupported)"] -OMALSK1M,LOCAL_CS["OMALSK1M - (unsupported)"] -OSASIA,LOCAL_CS["OSASIA - (unsupported)"] -OSNAMER,LOCAL_CS["OSNAMER - (unsupported)"] -OSSYRIA,LOCAL_CS["OSSYRIA - (unsupported)"] -PCALASKA,LOCAL_CS["PCALASKA - (unsupported)"] -PCALBERT,LOCAL_CS["PCALBERT - (unsupported)"] -PCG94,PROJCS["PCG94",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",115.8166666666661],PARAMETER["scale_factor",0.99999906],PARAMETER["false_easting",50000],PARAMETER["false_northing",3800000]] -PCNSLOPE,LOCAL_CS["PCNSLOPE - (unsupported)"] -PCNWT,LOCAL_CS["PCNWT - (unsupported)"] -PCTRUSFT,LOCAL_CS["PCTRUSFT - (unsupported)"] -PCWORLD,LOCAL_CS["PCWORLD - (unsupported)"] -PSCANADA,LOCAL_CS["PSCANADA - (unsupported)"] -PSFALK,LOCAL_CS["PSFALK - (unsupported)"] -PSGREEN,LOCAL_CS["PSGREEN - (unsupported)"] -PSN150W,LOCAL_CS["PSN150W - (unsupported)"] -PSNORTH,LOCAL_CS["PSNORTH - (unsupported)"] -PSNORWAY,LOCAL_CS["PSNORWAY - (unsupported)"] -PSNTH000,LOCAL_CS["PSNTH000 - (unsupported)"] -PSNTH045,LOCAL_CS["PSNTH045 - (unsupported)"] -PSNTH180,LOCAL_CS["PSNTH180 - (unsupported)"] -PSSOUTH,LOCAL_CS["PSSOUTH - (unsupported)"] -PSSTH000,LOCAL_CS["PSSTH000 - (unsupported)"] -PS_WGS84,LOCAL_CS["PS_WGS84 - (unsupported)"] -PUW1992,PROJCS["PUW1992",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",19],PARAMETER["scale_factor",0.9993],PARAMETER["false_easting",500000],PARAMETER["false_northing",-5300000]] -PUWG1992,PROJCS["PUWG1992",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",19],PARAMETER["scale_factor",0.9993],PARAMETER["false_easting",500000],PARAMETER["false_northing",-5300000]] -QC_MTM05,PROJCS["QC_MTM05",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-64.49999999999996],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",304800],PARAMETER["false_northing",0]] -QC_MTM06,PROJCS["QC_MTM06",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-67.49999999999996],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",304800],PARAMETER["false_northing",0]] -QC_MTM07,PROJCS["QC_MTM07",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-70.49999999999996],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",304800],PARAMETER["false_northing",0]] -QC_MTM08,PROJCS["QC_MTM08",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-73.49999999999997],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",304800],PARAMETER["false_northing",0]] -QC_MTM09,PROJCS["QC_MTM09",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-76.5],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",304800],PARAMETER["false_northing",0]] -QC_MTM10,PROJCS["QC_MTM10",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-79.5],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",304800],PARAMETER["false_northing",0]] -RO90E,LOCAL_CS["RO90E - (unsupported)"] -RO90W,LOCAL_CS["RO90W - (unsupported)"] -ROBINSON,LOCAL_CS["ROBINSON - (unsupported)"] -ROS4270,LOCAL_CS["ROS4270 - (unsupported)"] -RPBRA,LOCAL_CS["RPBRA - (unsupported)"] -RPMON,LOCAL_CS["RPMON - (unsupported)"] -RPNAM,LOCAL_CS["RPNAM - (unsupported)"] -RPSIB,LOCAL_CS["RPSIB - (unsupported)"] -RPUSSR,LOCAL_CS["RPUSSR - (unsupported)"] -S34JFRX,LOCAL_CS["S34JFRX - (unsupported)"] -S34SRX,LOCAL_CS["S34SRX - (unsupported)"] -S45BRX,LOCAL_CS["S45BRX - (unsupported)"] -SNSPHERE,LOCAL_CS["SNSPHERE - (unsupported)"] -SNWORLD,LOCAL_CS["SNWORLD - (unsupported)"] -STME24,PROJCS["STME24",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",24],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",5000000],PARAMETER["false_northing",10000000]] -STMLO11,LOCAL_CS["STMLO11 - (unsupported)"] -STMLO13,LOCAL_CS["STMLO13 - (unsupported)"] -STMLO15,LOCAL_CS["STMLO15 - (unsupported)"] -STMLO17,LOCAL_CS["STMLO17 - (unsupported)"] -STMLO19,LOCAL_CS["STMLO19 - (unsupported)"] -STMLO21,LOCAL_CS["STMLO21 - (unsupported)"] -STMLO23,LOCAL_CS["STMLO23 - (unsupported)"] -STMLO25,LOCAL_CS["STMLO25 - (unsupported)"] -STMLO25F,LOCAL_CS["STMLO25F - (unsupported)"] -STMLO27,LOCAL_CS["STMLO27 - (unsupported)"] -STMLO27F,LOCAL_CS["STMLO27F - (unsupported)"] -STMLO29,LOCAL_CS["STMLO29 - (unsupported)"] -STMLO31,LOCAL_CS["STMLO31 - (unsupported)"] -STMLO33,LOCAL_CS["STMLO33 - (unsupported)"] -STMLO35,LOCAL_CS["STMLO35 - (unsupported)"] -STMLO37,LOCAL_CS["STMLO37 - (unsupported)"] -STMLO39,LOCAL_CS["STMLO39 - (unsupported)"] -STMLO41,LOCAL_CS["STMLO41 - (unsupported)"] -STMLO43,LOCAL_CS["STMLO43 - (unsupported)"] -STMLO9,LOCAL_CS["STMLO9 - (unsupported)"] -SUTM01,PROJCS["SUTM01",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-177],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM02,PROJCS["SUTM02",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-171],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM03,PROJCS["SUTM03",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-165],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM04,PROJCS["SUTM04",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-159],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM05,PROJCS["SUTM05",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-153],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM06,PROJCS["SUTM06",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-147],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM07,PROJCS["SUTM07",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-141],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM08,PROJCS["SUTM08",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-135],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM09,PROJCS["SUTM09",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-129],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM10,PROJCS["SUTM10",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-123],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM11,PROJCS["SUTM11",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-117],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM12,PROJCS["SUTM12",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-111],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM13,PROJCS["SUTM13",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-105],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM14,PROJCS["SUTM14",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-99],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM15,PROJCS["SUTM15",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-93],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM16,PROJCS["SUTM16",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM17,PROJCS["SUTM17",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-81],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM18,PROJCS["SUTM18",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-75],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM19,PROJCS["SUTM19",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-69],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM20,PROJCS["SUTM20",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-63],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM21,PROJCS["SUTM21",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-57],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM22,PROJCS["SUTM22",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-51],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM23,PROJCS["SUTM23",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-45],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM24,PROJCS["SUTM24",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-39],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM25,PROJCS["SUTM25",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-33],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM26,PROJCS["SUTM26",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-27],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM27,PROJCS["SUTM27",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-21],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM28,PROJCS["SUTM28",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-15],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM29,PROJCS["SUTM29",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-9],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM30,PROJCS["SUTM30",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-3],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM31,PROJCS["SUTM31",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",3],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM32,PROJCS["SUTM32",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",9],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM33,PROJCS["SUTM33",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",15],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM34,PROJCS["SUTM34",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",21],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM35,PROJCS["SUTM35",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",27],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM36,PROJCS["SUTM36",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",33],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM37,PROJCS["SUTM37",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",39],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM38,PROJCS["SUTM38",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",45],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM39,PROJCS["SUTM39",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",51],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM40,PROJCS["SUTM40",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",57],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM41,PROJCS["SUTM41",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",63],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM42,PROJCS["SUTM42",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",69],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM43,PROJCS["SUTM43",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",75],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM44,PROJCS["SUTM44",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",81],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM45,PROJCS["SUTM45",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM46,PROJCS["SUTM46",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",93],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM47,PROJCS["SUTM47",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",99],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM48,PROJCS["SUTM48",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",105],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM49,PROJCS["SUTM49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",111],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM50,PROJCS["SUTM50",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",117],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM51,PROJCS["SUTM51",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",123],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM52,PROJCS["SUTM52",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",129],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM53,PROJCS["SUTM53",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",135],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM54,PROJCS["SUTM54",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",141],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM55,PROJCS["SUTM55",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",147],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM56,PROJCS["SUTM56",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",153],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM57,PROJCS["SUTM57",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",159],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM58,PROJCS["SUTM58",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",165],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM59,PROJCS["SUTM59",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",171],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SUTM60,PROJCS["SUTM60",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",177],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]] -SWISSNEW,LOCAL_CS["SWISSNEW - (unsupported)"] -SWISSOLD,LOCAL_CS["SWISSOLD - (unsupported)"] -TAIWAN,PROJCS["TAIWAN",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",120.9995190069077],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",250000],PARAMETER["false_northing",0]] -TM103_30,PROJCS["TM103_30",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",103.5],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TM16E,PROJCS["TM16E",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",16],PARAMETER["scale_factor",0.95],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TM36,PROJCS["TM36",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",36],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TM36E,PROJCS["TM36E",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",36],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TM42E,PROJCS["TM42E",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",42],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TM54E,PROJCS["TM54E",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",54],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TM54WCM,PROJCS["TM54WCM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-54],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TM6W,PROJCS["TM6W",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-5.999999999999955],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMAFRICA,PROJCS["TMAFRICA",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",15],PARAMETER["scale_factor",0.99],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -TMAFT15,PROJCS["TMAFT15",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-92.99999999999996],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.5],PARAMETER["false_northing",0],UNIT["unnamed",0.304800641]] -TMAFT16,PROJCS["TMAFT16",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-86.99999999999994],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.5],PARAMETER["false_northing",0],UNIT["unnamed",0.304800641]] -TMAFT17,PROJCS["TMAFT17",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-81],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.5],PARAMETER["false_northing",0],UNIT["unnamed",0.304800641]] -TMALABEF,PROJCS["TMALABEF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30.5],PARAMETER["central_meridian",-85.83333329999994],PARAMETER["scale_factor",0.99996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALABEF83,PROJCS["TMALABEF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30.50000000812049],PARAMETER["central_meridian",-85.83333329732486],PARAMETER["scale_factor",0.99996],PARAMETER["false_easting",656166.6665],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALABEM,PROJCS["TMALABEM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30.50000000812049],PARAMETER["central_meridian",-85.83333335462063],PARAMETER["scale_factor",0.99996],PARAMETER["false_easting",200000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMALABWF,PROJCS["TMALABWF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30],PARAMETER["central_meridian",-87.49999999999996],PARAMETER["scale_factor",0.999933333],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALABWF83,PROJCS["TMALABWF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30.00000002301578],PARAMETER["central_meridian",-87.49999997163637],PARAMETER["scale_factor",0.999933333],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALABWM,PROJCS["TMALABWM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30],PARAMETER["central_meridian",-87.49999999999996],PARAMETER["scale_factor",0.9999333333],PARAMETER["false_easting",600000],PARAMETER["false_northing",0]] -TMALSK2F,PROJCS["TMALSK2F",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",54],PARAMETER["central_meridian",-142],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALSK2F83,PROJCS["TMALSK2F83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",53.99999999559177],PARAMETER["central_meridian",-142.0000000096286],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALSK2M,PROJCS["TMALSK2M",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",54],PARAMETER["central_meridian",-142],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMALSK3F,PROJCS["TMALSK3F",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",54],PARAMETER["central_meridian",-146],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALSK3F83,PROJCS["TMALSK3F83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",53.99999999559177],PARAMETER["central_meridian",-146.000000005058],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALSK3M,PROJCS["TMALSK3M",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",54],PARAMETER["central_meridian",-146],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMALSK4F,PROJCS["TMALSK4F",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",54],PARAMETER["central_meridian",-150],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALSK4F83,PROJCS["TMALSK4F83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",53.99999999559177],PARAMETER["central_meridian",-150.0000000004873],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALSK4M,PROJCS["TMALSK4M",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",54],PARAMETER["central_meridian",-150],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMALSK5F,PROJCS["TMALSK5F",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",54],PARAMETER["central_meridian",-154],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALSK5F83,PROJCS["TMALSK5F83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",53.99999999559177],PARAMETER["central_meridian",-153.9999999959166],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALSK5M,PROJCS["TMALSK5M",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",54],PARAMETER["central_meridian",-154],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMALSK6F,PROJCS["TMALSK6F",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",54],PARAMETER["central_meridian",-158],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALSK6F83,PROJCS["TMALSK6F83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",53.99999999559177],PARAMETER["central_meridian",-157.999999991346],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALSK6M,PROJCS["TMALSK6M",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",54],PARAMETER["central_meridian",-158],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMALSK7F,PROJCS["TMALSK7F",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",54],PARAMETER["central_meridian",-162],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALSK7F83,PROJCS["TMALSK7F83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",53.99999999559177],PARAMETER["central_meridian",-161.9999999867753],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALSK7M,PROJCS["TMALSK7M",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",54],PARAMETER["central_meridian",-162],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMALSK8F,PROJCS["TMALSK8F",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",54],PARAMETER["central_meridian",-166],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALSK8F83,PROJCS["TMALSK8F83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",53.99999999559177],PARAMETER["central_meridian",-165.9999999822046],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALSK8M,PROJCS["TMALSK8M",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",54],PARAMETER["central_meridian",-166],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMALSK9F,PROJCS["TMALSK9F",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",54],PARAMETER["central_meridian",-170],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALSK9F83,PROJCS["TMALSK9F83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",53.99999999559177],PARAMETER["central_meridian",-169.999999977634],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMALSK9M,PROJCS["TMALSK9M",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",54],PARAMETER["central_meridian",-170],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMAMG48,PROJCS["TMAMG48",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",105],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMAMG49,PROJCS["TMAMG49",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",111],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMAMG50,PROJCS["TMAMG50",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",117],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMAMG51,PROJCS["TMAMG51",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",123],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMAMG52,PROJCS["TMAMG52",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",129],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMAMG53,PROJCS["TMAMG53",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",135],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMAMG54,PROJCS["TMAMG54",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",141],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMAMG55,PROJCS["TMAMG55",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",147],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMAMG56,PROJCS["TMAMG56",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",153],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMAMG57,PROJCS["TMAMG57",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",159],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMAMG58,PROJCS["TMAMG58",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",165],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMARG1,PROJCS["TMARG1",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-89.99999999999994],PARAMETER["central_meridian",-71.99999999999997],PARAMETER["scale_factor",1],PARAMETER["false_easting",1500000],PARAMETER["false_northing",0]] -TMARG2,PROJCS["TMARG2",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-89.99999999999994],PARAMETER["central_meridian",-68.99999999999997],PARAMETER["scale_factor",1],PARAMETER["false_easting",2500000],PARAMETER["false_northing",0]] -TMARG3,PROJCS["TMARG3",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-89.99999999999994],PARAMETER["central_meridian",-65.99999999999996],PARAMETER["scale_factor",1],PARAMETER["false_easting",3500000],PARAMETER["false_northing",0]] -TMARG4,PROJCS["TMARG4",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-89.99999999999994],PARAMETER["central_meridian",-62.99999999999995],PARAMETER["scale_factor",1],PARAMETER["false_easting",4500000],PARAMETER["false_northing",0]] -TMARG5,PROJCS["TMARG5",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-89.99999999999994],PARAMETER["central_meridian",-59.99999999999994],PARAMETER["scale_factor",1],PARAMETER["false_easting",5500000],PARAMETER["false_northing",0]] -TMARG54,PROJCS["TMARG54",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-71.99999999999997],PARAMETER["scale_factor",1],PARAMETER["false_easting",7500000],PARAMETER["false_northing",10002288.2999]] -TMARG57,PROJCS["TMARG57",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-68.99999999999997],PARAMETER["scale_factor",1],PARAMETER["false_easting",6500000],PARAMETER["false_northing",10002288.2999]] -TMARG6,PROJCS["TMARG6",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-89.99999999999994],PARAMETER["central_meridian",-56.99999999999994],PARAMETER["scale_factor",1],PARAMETER["false_easting",6500000],PARAMETER["false_northing",0]] -TMARG60,PROJCS["TMARG60",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-65.99999999999996],PARAMETER["scale_factor",1],PARAMETER["false_easting",5500000],PARAMETER["false_northing",10002288.2999]] -TMARG63,PROJCS["TMARG63",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-62.99999999999995],PARAMETER["scale_factor",1],PARAMETER["false_easting",4500000],PARAMETER["false_northing",10002288.2999]] -TMARG66,PROJCS["TMARG66",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-59.99999999999994],PARAMETER["scale_factor",1],PARAMETER["false_easting",3500000],PARAMETER["false_northing",10002288.2999]] -TMARG69,PROJCS["TMARG69",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-56.99999999999994],PARAMETER["scale_factor",1],PARAMETER["false_easting",2500000],PARAMETER["false_northing",10002288.2999]] -TMARG7,PROJCS["TMARG7",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-89.99999999999994],PARAMETER["central_meridian",-54],PARAMETER["scale_factor",1],PARAMETER["false_easting",7500000],PARAMETER["false_northing",0]] -TMARG72,PROJCS["TMARG72",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-54],PARAMETER["scale_factor",1],PARAMETER["false_easting",1500000],PARAMETER["false_northing",10002288.2999]] -TMARG8,PROJCS["TMARG8",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-68.99999999999997],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",2500000],PARAMETER["false_northing",10000000]] -TMARG9,PROJCS["TMARG9",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-56.99999999999994],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",2500000],PARAMETER["false_northing",10000000]] -TMARIZCF,PROJCS["TMARIZCF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",31],PARAMETER["central_meridian",-111.9166667],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMARIZCF83,PROJCS["TMARIZCF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",31],PARAMETER["central_meridian",-111.9166667],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",700000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMARIZEF,PROJCS["TMARIZEF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",31],PARAMETER["central_meridian",-110.1666667],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMARIZEF83,PROJCS["TMARIZEF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",31],PARAMETER["central_meridian",-110.1666667],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",700000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMARIZWF,PROJCS["TMARIZWF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",31],PARAMETER["central_meridian",-113.75],PARAMETER["scale_factor",0.999933333],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMARIZWF83,PROJCS["TMARIZWF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",31],PARAMETER["central_meridian",-113.75],PARAMETER["scale_factor",0.999933333],PARAMETER["false_easting",700000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMARUBA,PROJCS["TMARUBA",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",12.5200894],PARAMETER["central_meridian",-69.99294669999993],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",10000],PARAMETER["false_northing",15000]] -TMAUSC,PROJCS["TMAUSC",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",13.3333333],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -TMAUSE,PROJCS["TMAUSE",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",16.3333333],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -TMAUSW,PROJCS["TMAUSW",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",10.3333333],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -TMAUSYD1,PROJCS["TMAUSYD1",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-34],PARAMETER["central_meridian",116],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",0.914391796]] -TMAUSYD2,PROJCS["TMAUSYD2",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-34],PARAMETER["central_meridian",121],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",0.914391796]] -TMAUSYD3,PROJCS["TMAUSYD3",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-34],PARAMETER["central_meridian",126],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",0.914391796]] -TMAUSYD4,PROJCS["TMAUSYD4",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-34],PARAMETER["central_meridian",131],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",0.914391796]] -TMAUSYD5,PROJCS["TMAUSYD5",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-34],PARAMETER["central_meridian",136],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",0.914391796]] -TMAUSYD6,PROJCS["TMAUSYD6",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-34],PARAMETER["central_meridian",141],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",0.914391796]] -TMAUSYD7,PROJCS["TMAUSYD7",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-34],PARAMETER["central_meridian",146],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",0.914391796]] -TMAUSYD8,PROJCS["TMAUSYD8",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-34],PARAMETER["central_meridian",151],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",0.914391796]] -TMBAHR,PROJCS["TMBAHR",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",51],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMBOAG1R,PROJCS["TMBOAG1R",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-3.452333299999991],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1500000],PARAMETER["false_northing",0]] -TMBOAG2R,PROJCS["TMBOAG2R",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",2.547666699999998],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",2520000],PARAMETER["false_northing",0]] -TMBOAGA1,PROJCS["TMBOAGA1",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",9.000000000000002],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1500000],PARAMETER["false_northing",0]] -TMBOAGA2,PROJCS["TMBOAGA2",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",15],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",2520000],PARAMETER["false_northing",0]] -TMBOGEQ,PROJCS["TMBOGEQ",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-74.08091659999998],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -TMBOH,PROJCS["TMBOH",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",117],PARAMETER["scale_factor",1],PARAMETER["false_easting",20500000],PARAMETER["false_northing",0]] -TMBOL1,PROJCS["TMBOL1",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-65.99999999999996],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMBONAIR,PROJCS["TMBONAIR",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",12.1797141],PARAMETER["central_meridian",-68.25184439999994],PARAMETER["scale_factor",1],PARAMETER["false_easting",23000],PARAMETER["false_northing",20980.49]] -TMBUCHAN,PROJCS["TMBUCHAN",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",3],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMBURMA,PROJCS["TMBURMA",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",96],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMCM116,PROJCS["TMCM116",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",116],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMCM126,PROJCS["TMCM126",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",126],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMCM133E,PROJCS["TMCM133E",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",133],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMCM157E,PROJCS["TMCM157E",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",157],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMCOLB,PROJCS["TMCOLB",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",4.5990472],PARAMETER["central_meridian",-74.08091669999996],PARAMETER["scale_factor",1],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -TMCOLE,PROJCS["TMCOLE",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",4.5990472],PARAMETER["central_meridian",-68.08091669999996],PARAMETER["scale_factor",1],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -TMCOLEC,PROJCS["TMCOLEC",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",4.5990472],PARAMETER["central_meridian",-71.08091669999996],PARAMETER["scale_factor",1],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -TMCOLW,PROJCS["TMCOLW",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",4.5990472],PARAMETER["central_meridian",-77.08091669999996],PARAMETER["scale_factor",1],PARAMETER["false_easting",1000000],PARAMETER["false_northing",1000000]] -TMCONGO,PROJCS["TMCONGO",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",11],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMCORONA,PROJCS["TMCORONA",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",33.76446202777643],PARAMETER["central_meridian",-117.4745428888658],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -TMDELWRF,PROJCS["TMDELWRF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",38],PARAMETER["central_meridian",-75.41666669999995],PARAMETER["scale_factor",0.999995],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMDELWRF83,PROJCS["TMDELWRF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",38.00000001387444],PARAMETER["central_meridian",-75.41666671179337],PARAMETER["scale_factor",0.999995],PARAMETER["false_easting",656166.6665],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMDELWRM,PROJCS["TMDELWRM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",38.00000001387444],PARAMETER["central_meridian",-75.41666665449759],PARAMETER["scale_factor",0.999995],PARAMETER["false_easting",200000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMEG24P,PROJCS["TMEG24P",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",34.5],PARAMETER["scale_factor",1],PARAMETER["false_easting",200000],PARAMETER["false_northing",0]] -TMEGEPTU,PROJCS["TMEGEPTU",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",11],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMEGMFBP,PROJCS["TMEGMFBP",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",34.5],PARAMETER["scale_factor",1],PARAMETER["false_easting",200000],PARAMETER["false_northing",0]] -TMEGSA87,PROJCS["TMEGSA87",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",23.99999882666041],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMEGYPTB,PROJCS["TMEGYPTB",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30],PARAMETER["central_meridian",35],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",1100000]] -TMEGYPTG,PROJCS["TMEGYPTG",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30],PARAMETER["central_meridian",35],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",1100000]] -TMEGYPTP,PROJCS["TMEGYPTP",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30],PARAMETER["central_meridian",27],PARAMETER["scale_factor",1],PARAMETER["false_easting",700000],PARAMETER["false_northing",200000]] -TMEGYPTR,PROJCS["TMEGYPTR",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30],PARAMETER["central_meridian",31],PARAMETER["scale_factor",1],PARAMETER["false_easting",615000],PARAMETER["false_northing",810000]] -TMEGYPTS,PROJCS["TMEGYPTS",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30],PARAMETER["central_meridian",27],PARAMETER["scale_factor",1],PARAMETER["false_easting",700000],PARAMETER["false_northing",1200000]] -TMEGYPTW,PROJCS["TMEGYPTW",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",28],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMETHIOP,PROJCS["TMETHIOP",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",40],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMFIN0,PROJCS["TMFIN0",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",17.99999625520633],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMFIN1,PROJCS["TMFIN1",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",20.99999754093336],PARAMETER["scale_factor",1],PARAMETER["false_easting",1500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMFIN2,PROJCS["TMFIN2",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",23.99999882666041],PARAMETER["scale_factor",1],PARAMETER["false_easting",2500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMFIN3,PROJCS["TMFIN3",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",27.00000011238744],PARAMETER["scale_factor",1],PARAMETER["false_easting",3500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMFIN4,PROJCS["TMFIN4",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",29.99999566853653],PARAMETER["scale_factor",1],PARAMETER["false_easting",4500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMFIN5,PROJCS["TMFIN5",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",32.99999695426357],PARAMETER["scale_factor",1],PARAMETER["false_easting",5500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMFLRAEF,PROJCS["TMFLRAEF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",24.3333333],PARAMETER["central_meridian",-81],PARAMETER["scale_factor",0.999941177],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMFLRAEF83,PROJCS["TMFLRAEF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",24.33333329597914],PARAMETER["central_meridian",-80.99999999338766],PARAMETER["scale_factor",0.999941177],PARAMETER["false_easting",656166.6665],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMFLRAEM,PROJCS["TMFLRAEM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",24.33333335327492],PARAMETER["central_meridian",-80.99999999338766],PARAMETER["scale_factor",0.99994118],PARAMETER["false_easting",200000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMFLRAWF,PROJCS["TMFLRAWF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",24.3333333],PARAMETER["central_meridian",-81.99999999999997],PARAMETER["scale_factor",0.999941177],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMFLRAWF83,PROJCS["TMFLRAWF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",24.3333333],PARAMETER["central_meridian",-82.00000002089288],PARAMETER["scale_factor",0.999941177],PARAMETER["false_easting",656166.6665],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMFLRAWM,PROJCS["TMFLRAWM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",24.33333335327492],PARAMETER["central_meridian",-82.00000002089288],PARAMETER["scale_factor",0.99994118],PARAMETER["false_easting",200000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMGCWEG2,PROJCS["TMGCWEG2",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-90.64999999999993],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",1640416.67],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMGEOREF,PROJCS["TMGEOREF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30],PARAMETER["central_meridian",-82.16666669999994],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMGEOREF83,PROJCS["TMGEOREF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30.00000002301578],PARAMETER["central_meridian",-82.16666668259445],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",656166.6665],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMGEOREM,PROJCS["TMGEOREM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30.00000002301578],PARAMETER["central_meridian",-82.16666668259445],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",200000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMGEORWF,PROJCS["TMGEORWF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30],PARAMETER["central_meridian",-84.16666669999995],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMGEORWF83,PROJCS["TMGEORWF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30.00000002301578],PARAMETER["central_meridian",-84.16666668030912],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",2296583.333],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMGEORWM,PROJCS["TMGEORWM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30.00000002301578],PARAMETER["central_meridian",-84.16666668030912],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",700000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMGER1,PROJCS["TMGER1",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",3],PARAMETER["scale_factor",1],PARAMETER["false_easting",1500000],PARAMETER["false_northing",0]] -TMGER2,PROJCS["TMGER2",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",6],PARAMETER["scale_factor",1],PARAMETER["false_easting",2500000],PARAMETER["false_northing",0]] -TMGER3,PROJCS["TMGER3",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",9.000000000000002],PARAMETER["scale_factor",1],PARAMETER["false_easting",3500000],PARAMETER["false_northing",0]] -TMGER4,PROJCS["TMGER4",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",12],PARAMETER["scale_factor",1],PARAMETER["false_easting",4500000],PARAMETER["false_northing",0]] -TMGER5,PROJCS["TMGER5",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",15],PARAMETER["scale_factor",1],PARAMETER["false_easting",5500000],PARAMETER["false_northing",0]] -TMGHANA,PROJCS["TMGHANA",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",4.666666599999998],PARAMETER["central_meridian",-0.9999999999999829],PARAMETER["scale_factor",0.99975],PARAMETER["false_easting",274319.51],PARAMETER["false_northing",0]] -TMGHANAF,PROJCS["TMGHANAF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",4.6666667],PARAMETER["central_meridian",-0.9999999999999829],PARAMETER["scale_factor",0.99975],PARAMETER["false_easting",900000],PARAMETER["false_northing",0],UNIT["unnamed",0.304799472]] -TMGHANAY,PROJCS["TMGHANAY",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",4.6666667],PARAMETER["central_meridian",-0.9999999999999829],PARAMETER["scale_factor",0.99975],PARAMETER["false_easting",300000],PARAMETER["false_northing",0],UNIT["unnamed",0.91439841462]] -TMGK20E,PROJCS["TMGK20E",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",120],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN05,PROJCS["TMGKN05",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",27],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN06,PROJCS["TMGKN06",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",33],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN07,PROJCS["TMGKN07",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",39],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN10,PROJCS["TMGKN10",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",57],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN11,PROJCS["TMGKN11",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",63],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN12,PROJCS["TMGKN12",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",69],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN13,PROJCS["TMGKN13",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",75],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN14,PROJCS["TMGKN14",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",81],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN15,PROJCS["TMGKN15",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",86.99999999999997],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN16,PROJCS["TMGKN16",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",93],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN17,PROJCS["TMGKN17",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",98.99999999999997],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN18,PROJCS["TMGKN18",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",105],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN19,PROJCS["TMGKN19",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",111],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN20,PROJCS["TMGKN20",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",117],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN20W,PROJCS["TMGKN20W",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",117],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN21,PROJCS["TMGKN21",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",123],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN21W,PROJCS["TMGKN21W",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",123],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN22,PROJCS["TMGKN22",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",129],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN23,PROJCS["TMGKN23",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",135],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN8,PROJCS["TMGKN8",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",45],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMGKN9,PROJCS["TMGKN9",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",51],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMHAWI1F,PROJCS["TMHAWI1F",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",18.8333333],PARAMETER["central_meridian",-155.5],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMHAWI1F83,PROJCS["TMHAWI1F83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",18.83333328793987],PARAMETER["central_meridian",-155.5000000085266],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMHAWI1M,PROJCS["TMHAWI1M",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",18.83333334523564],PARAMETER["central_meridian",-155.5000000085266],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMHAWI2F,PROJCS["TMHAWI2F",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",20.3333333],PARAMETER["central_meridian",-156.6666666],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMHAWI2F83,PROJCS["TMHAWI2F83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",20.33333330054981],PARAMETER["central_meridian",-156.6666665831418],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMHAWI2M,PROJCS["TMHAWI2M",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",20.33333335784559],PARAMETER["central_meridian",-156.6666666404376],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMHAWI3F,PROJCS["TMHAWI3F",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",21.1666666],PARAMETER["central_meridian",-158],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMHAWI3F83,PROJCS["TMHAWI3F83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",21.16666660905768],PARAMETER["central_meridian",-157.999999991346],PARAMETER["scale_factor",1],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMHAWI3M,PROJCS["TMHAWI3M",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",21.16666666635346],PARAMETER["central_meridian",-157.999999991346],PARAMETER["scale_factor",0.99999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMHAWI4F,PROJCS["TMHAWI4F",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",21.8333333],PARAMETER["central_meridian",-159.5],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMHAWI4F83,PROJCS["TMHAWI4F83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",21.83333331315976],PARAMETER["central_meridian",-159.5000000039559],PARAMETER["scale_factor",1],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMHAWI4M,PROJCS["TMHAWI4M",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",21.83333331315976],PARAMETER["central_meridian",-159.5000000039559],PARAMETER["scale_factor",0.99999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMHAWI5F,PROJCS["TMHAWI5F",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",21.6666667],PARAMETER["central_meridian",-160.1666667],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMHAWI5F83,PROJCS["TMHAWI5F83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",21.66666670875396],PARAMETER["central_meridian",-160.166666708058],PARAMETER["scale_factor",1],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMHAWI5M,PROJCS["TMHAWI5M",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",21.66666665145818],PARAMETER["central_meridian",-160.1666666507622],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMHK80,PROJCS["TMHK80",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",22.31213277122482],PARAMETER["central_meridian",114.1785550046161],PARAMETER["scale_factor",1],PARAMETER["false_easting",836694.05],PARAMETER["false_northing",819069.8]] -TMHNT170,PROJCS["TMHNT170",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-44],PARAMETER["central_meridian",170],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",500000],UNIT["unnamed",0.914398415]] -TMI,PROJCS["TMI",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",31.68438845381803],PARAMETER["central_meridian",35.20449790765302],PARAMETER["scale_factor",1.0000067],PARAMETER["false_easting",219529.584],PARAMETER["false_northing",626907.39]] -TMIDACFT,PROJCS["TMIDACFT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.6666667],PARAMETER["central_meridian",-114],PARAMETER["scale_factor",0.999947368],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMIDACFT83,PROJCS["TMIDACFT83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.66666668590062],PARAMETER["central_meridian",-113.9999999843275],PARAMETER["scale_factor",0.999947368],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMIDACM,PROJCS["TMIDACM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.66666668590062],PARAMETER["central_meridian",-113.9999999843275],PARAMETER["scale_factor",0.99994737],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMIDAEFT,PROJCS["TMIDAEFT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.6666667],PARAMETER["central_meridian",-112.1666667],PARAMETER["scale_factor",0.999947368],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMIDAEFT83,PROJCS["TMIDAEFT83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.66666668590062],PARAMETER["central_meridian",-112.1666667056102],PARAMETER["scale_factor",0.999947368],PARAMETER["false_easting",656166.6665],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMIDAEM,PROJCS["TMIDAEM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.66666668590062],PARAMETER["central_meridian",-112.1666666483144],PARAMETER["scale_factor",0.99994737],PARAMETER["false_easting",200000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMIDAWFT,PROJCS["TMIDAWFT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.6666667],PARAMETER["central_meridian",-115.75],PARAMETER["scale_factor",0.999933333],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMIDAWFT83,PROJCS["TMIDAWFT83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.66666668590062],PARAMETER["central_meridian",-115.7499999894899],PARAMETER["scale_factor",0.999933333],PARAMETER["false_easting",2624666.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMIDAWM,PROJCS["TMIDAWM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.66666668590062],PARAMETER["central_meridian",-115.7499999894899],PARAMETER["scale_factor",0.99993333],PARAMETER["false_easting",800000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMILLEFT,PROJCS["TMILLEFT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",36.6666667],PARAMETER["central_meridian",-88.3333333],PARAMETER["scale_factor",0.999975],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMILLEFT83,PROJCS["TMILLEFT83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",36.66666672026184],PARAMETER["central_meridian",-88.33333328014425],PARAMETER["scale_factor",0.999975],PARAMETER["false_easting",984249.9998],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMILLEM,PROJCS["TMILLEM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",36.66666666296607],PARAMETER["central_meridian",-88.33333333744002],PARAMETER["scale_factor",0.999975],PARAMETER["false_easting",300000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMILLWFT,PROJCS["TMILLWFT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",36.6666667],PARAMETER["central_meridian",-90.16666669999996],PARAMETER["scale_factor",0.999941177],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMILLWFT83,PROJCS["TMILLWFT83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",36.66666672026184],PARAMETER["central_meridian",-90.16666667345312],PARAMETER["scale_factor",0.999941177],PARAMETER["false_easting",2296583.333],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMILLWM,PROJCS["TMILLWM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",36.66666666296607],PARAMETER["central_meridian",-90.16666667345312],PARAMETER["scale_factor",0.99994118],PARAMETER["false_easting",700000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMIND114,PROJCS["TMIND114",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",114],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMINDEFT,PROJCS["TMINDEFT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",37.5],PARAMETER["central_meridian",-85.66666669999996],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMINDEFT83,PROJCS["TMINDEFT83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",37.49999997147393],PARAMETER["central_meridian",-85.66666669291907],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",820208.3332],PARAMETER["false_northing",328083.3333],UNIT["US Foot",0.30480061]] -TMINDEM,PROJCS["TMINDEM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",37.49999997147393],PARAMETER["central_meridian",-85.66666669291907],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",100000],PARAMETER["false_northing",250000],UNIT["unnamed",1]] -TMINDWFT,PROJCS["TMINDWFT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",37.5],PARAMETER["central_meridian",-87.08333329999992],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMINDWFT83,PROJCS["TMINDWFT83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",37.49999997147393],PARAMETER["central_meridian",-87.08333331738244],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",820208.3332],PARAMETER["false_northing",2952749.999],UNIT["US Foot",0.30480061]] -TMINDWM,PROJCS["TMINDWM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",37.49999997147393],PARAMETER["central_meridian",-87.08333331738244],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",900000],PARAMETER["false_northing",250000],UNIT["unnamed",1]] -TMIRAQ,PROJCS["TMIRAQ",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",29.0262683],PARAMETER["central_meridian",46.5],PARAMETER["scale_factor",0.9994],PARAMETER["false_easting",800000],PARAMETER["false_northing",0]] -TMIRAQC,PROJCS["TMIRAQC",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",43],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMISG541,PROJCS["TMISG541",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",139],PARAMETER["scale_factor",0.99994],PARAMETER["false_easting",300000],PARAMETER["false_northing",5000000]] -TMISG542,PROJCS["TMISG542",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",141],PARAMETER["scale_factor",0.99994],PARAMETER["false_easting",300000],PARAMETER["false_northing",5000000]] -TMISG543,PROJCS["TMISG543",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",143],PARAMETER["scale_factor",0.99994],PARAMETER["false_easting",300000],PARAMETER["false_northing",5000000]] -TMISG551,PROJCS["TMISG551",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",145],PARAMETER["scale_factor",0.99994],PARAMETER["false_easting",300000],PARAMETER["false_northing",5000000]] -TMISG552,PROJCS["TMISG552",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",147],PARAMETER["scale_factor",0.99994],PARAMETER["false_easting",300000],PARAMETER["false_northing",5000000]] -TMISG553,PROJCS["TMISG553",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",149],PARAMETER["scale_factor",0.99994],PARAMETER["false_easting",300000],PARAMETER["false_northing",5000000]] -TMISG561,PROJCS["TMISG561",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",151],PARAMETER["scale_factor",0.99994],PARAMETER["false_easting",300000],PARAMETER["false_northing",5000000]] -TMISG562,PROJCS["TMISG562",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",153],PARAMETER["scale_factor",0.99994],PARAMETER["false_easting",300000],PARAMETER["false_northing",5000000]] -TMISG563,PROJCS["TMISG563",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",155],PARAMETER["scale_factor",0.99994],PARAMETER["false_easting",300000],PARAMETER["false_northing",5000000]] -TMISRAEL,PROJCS["TMISRAEL",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",35.20451694444443],PARAMETER["central_meridian",57.29616339480504],PARAMETER["scale_factor",529.584],PARAMETER["false_easting",219],PARAMETER["false_northing",626907.39]] -TMJORDAN,PROJCS["TMJORDAN",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",31.7340969],PARAMETER["central_meridian",35.2120806],PARAMETER["scale_factor",1],PARAMETER["false_easting",170251.56],PARAMETER["false_northing",126867.91]] -TMKOREA,PROJCS["TMKOREA",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",127],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMMAINEF,PROJCS["TMMAINEF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",43.8333333],PARAMETER["central_meridian",-68.49999999999994],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMMAINEF83,PROJCS["TMMAINEF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",43.66988819611419],PARAMETER["central_meridian",-68.50000002199494],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",984249.9998],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMMAINEM,PROJCS["TMMAINEM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",43.66666666666665],PARAMETER["central_meridian",-68.49999999999994],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",300000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMMAINWF,PROJCS["TMMAINWF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",42.8333333],PARAMETER["central_meridian",-70.16666669999996],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMMAINWF83,PROJCS["TMMAINWF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",42.83333331781164],PARAMETER["central_meridian",-70.16666669630645],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",2952749.999],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMMAINWM,PROJCS["TMMAINWM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",42.83333331781164],PARAMETER["central_meridian",-70.16666663901067],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",900000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMMCBO4,PROJCS["TMMCBO4",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",10.6449092],PARAMETER["central_meridian",-71.60515809999998],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -TMMICHCF,PROJCS["TMMICHCF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.5],PARAMETER["central_meridian",-85.74999999999996],PARAMETER["scale_factor",0.999909091],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["unnamed",0.304788967]] -TMMICHEF,PROJCS["TMMICHEF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.5],PARAMETER["central_meridian",-83.66666669999994],PARAMETER["scale_factor",0.999942857],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["unnamed",0.304788967]] -TMMICHWF,PROJCS["TMMICHWF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.5],PARAMETER["central_meridian",-88.74999999999996],PARAMETER["scale_factor",0.999909091],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["unnamed",0.304788967]] -TMMISOCF,PROJCS["TMMISOCF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",35.8333333],PARAMETER["central_meridian",-92.49999999999994],PARAMETER["scale_factor",0.999933333],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMMISOCF83,PROJCS["TMMISOCF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",35.83333329716242],PARAMETER["central_meridian",-92.49999999457094],PARAMETER["scale_factor",0.999933333],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMMISOCM,PROJCS["TMMISOCM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",35.8333333544582],PARAMETER["central_meridian",-92.49999999457094],PARAMETER["scale_factor",0.99993333],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMMISOEF,PROJCS["TMMISOEF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",35.8333333],PARAMETER["central_meridian",-90.5],PARAMETER["scale_factor",0.999933333],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMMISOEF83,PROJCS["TMMISOEF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",35.83333329716242],PARAMETER["central_meridian",-90.49999999685626],PARAMETER["scale_factor",0.999933333],PARAMETER["false_easting",820208.3332],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMMISOEM,PROJCS["TMMISOEM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",35.8333333544582],PARAMETER["central_meridian",-90.49999999685626],PARAMETER["scale_factor",0.99993333],PARAMETER["false_easting",250000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMMISOWF,PROJCS["TMMISOWF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",36.1666667],PARAMETER["central_meridian",-94.49999999999996],PARAMETER["scale_factor",0.999941177],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMMISOWF83,PROJCS["TMMISOWF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",36.16666667786134],PARAMETER["central_meridian",-94.49999999228559],PARAMETER["scale_factor",0.999941177],PARAMETER["false_easting",2788708.333],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMMISOWM,PROJCS["TMMISOWM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",36.16666667786134],PARAMETER["central_meridian",-94.49999999228559],PARAMETER["scale_factor",0.99994118],PARAMETER["false_easting",850000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMMISSEF,PROJCS["TMMISSEF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",29.6666667],PARAMETER["central_meridian",-88.83333329999995],PARAMETER["scale_factor",0.99996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMMISSEF83,PROJCS["TMMISSEF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",29.49999998061527],PARAMETER["central_meridian",-88.83333332254475],PARAMETER["scale_factor",0.99995],PARAMETER["false_easting",984249.9998],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMMISSEM,PROJCS["TMMISSEM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",29.5],PARAMETER["central_meridian",-88.83333329999995],PARAMETER["scale_factor",0.99995],PARAMETER["false_easting",300000],PARAMETER["false_northing",0]] -TMMISSWF,PROJCS["TMMISSWF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30.5],PARAMETER["central_meridian",-90.33333329999995],PARAMETER["scale_factor",0.999941177],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMMISSWF83,PROJCS["TMMISSWF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",29.49999998061527],PARAMETER["central_meridian",-90.33333327785891],PARAMETER["scale_factor",0.99995],PARAMETER["false_easting",2296583.333],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMMISSWM,PROJCS["TMMISSWM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",29.5],PARAMETER["central_meridian",-90.33333329999995],PARAMETER["scale_factor",0.99995],PARAMETER["false_easting",700000],PARAMETER["false_northing",0]] -TMMON087,PROJCS["TMMON087",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",86.99999999999997],PARAMETER["scale_factor",1],PARAMETER["false_easting",15500000],PARAMETER["false_northing",0]] -TMMON093,PROJCS["TMMON093",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",93],PARAMETER["scale_factor",1],PARAMETER["false_easting",16500000],PARAMETER["false_northing",0]] -TMMON099,PROJCS["TMMON099",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",98.99999999999997],PARAMETER["scale_factor",1],PARAMETER["false_easting",17500000],PARAMETER["false_northing",0]] -TMMON105,PROJCS["TMMON105",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",105],PARAMETER["scale_factor",1],PARAMETER["false_easting",18500000],PARAMETER["false_northing",0]] -TMMON111,PROJCS["TMMON111",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",111],PARAMETER["scale_factor",1],PARAMETER["false_easting",19500000],PARAMETER["false_northing",0]] -TMMON117,PROJCS["TMMON117",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",117],PARAMETER["scale_factor",1],PARAMETER["false_easting",20500000],PARAMETER["false_northing",0]] -TMMRD,PROJCS["TMMRD",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -TMNAMIBIAM13,PROJCS["TMNAMIBIAM13",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-21.99999997486133],PARAMETER["central_meridian",12.99999995649744],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -TMNAMIBIAM17,PROJCS["TMNAMIBIAM17",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-21.99999997486133],PARAMETER["central_meridian",16.99999995192677],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -TMNAMIBIAM19,PROJCS["TMNAMIBIAM19",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-21.99999997486133],PARAMETER["central_meridian",18.99999994964144],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -TMNEVACF,PROJCS["TMNEVACF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",34.75],PARAMETER["central_meridian",-116.6666667],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEVACF83,PROJCS["TMNEVACF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",34.74999999610218],PARAMETER["central_meridian",-116.6666666861443],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",19685000],UNIT["US Foot",0.30480061]] -TMNEVACM,PROJCS["TMNEVACM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",34.75],PARAMETER["central_meridian",-116.6666667],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",6000000]] -TMNEVAEF,PROJCS["TMNEVAEF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",34.75],PARAMETER["central_meridian",-115.5833333],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEVAEF83,PROJCS["TMNEVAEF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",34.74999999610218],PARAMETER["central_meridian",-115.5833333277883],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",656166.6665],PARAMETER["false_northing",26246666.66],UNIT["US Foot",0.30480061]] -TMNEVAEM,PROJCS["TMNEVAEM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",34.75],PARAMETER["central_meridian",-115.5833333],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",200000],PARAMETER["false_northing",8000000]] -TMNEVAWF,PROJCS["TMNEVAWF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",34.75],PARAMETER["central_meridian",-118.5833333],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEVAWF83,PROJCS["TMNEVAWF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",34.74999999610218],PARAMETER["central_meridian",-118.5833332957124],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",2624666.666],PARAMETER["false_northing",13123333.33],UNIT["US Foot",0.30480061]] -TMNEVAWM,PROJCS["TMNEVAWM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",34.75],PARAMETER["central_meridian",-118.5833333],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",800000],PARAMETER["false_northing",4000000]] -TMNEWHFT,PROJCS["TMNEWHFT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",42.5],PARAMETER["central_meridian",-71.66666669999998],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEWHFT83,PROJCS["TMNEWHFT83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",42.4999999944085],PARAMETER["central_meridian",-71.6666667089164],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",984249.9998],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEWHM,PROJCS["TMNEWHM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",42.4999999944085],PARAMETER["central_meridian",-71.66666665162062],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",300000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMNEWJFT,PROJCS["TMNEWJFT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",38.8333333],PARAMETER["central_meridian",-74.66666669999998],PARAMETER["scale_factor",0.999975],PARAMETER["false_easting",2000000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEWJFT83,PROJCS["TMNEWJFT83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",38.83333332238231],PARAMETER["central_meridian",-74.49999999999996],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",492124.9999],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEWJM,PROJCS["TMNEWJM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",38.83333332238231],PARAMETER["central_meridian",-74.50000001513894],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",150000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMNEWMCF,PROJCS["TMNEWMCF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",31],PARAMETER["central_meridian",-106.25],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEWMCF83,PROJCS["TMNEWMCF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30.99999999322522],PARAMETER["central_meridian",-106.2499999860212],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEWMCM,PROJCS["TMNEWMCM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30.99999999322522],PARAMETER["central_meridian",-106.2499999860212],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMNEWMEF,PROJCS["TMNEWMEF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",31],PARAMETER["central_meridian",-104.3333333],PARAMETER["scale_factor",0.999909091],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEWMEF83,PROJCS["TMNEWMEF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30.99999999322522],PARAMETER["central_meridian",-104.3333333191573],PARAMETER["scale_factor",0.999909091],PARAMETER["false_easting",541337.4999],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEWMEM,PROJCS["TMNEWMEM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",31],PARAMETER["central_meridian",-104.3333333],PARAMETER["scale_factor",0.999909091],PARAMETER["false_easting",165000],PARAMETER["false_northing",0]] -TMNEWMWF,PROJCS["TMNEWMWF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",31],PARAMETER["central_meridian",-107.8333333],PARAMETER["scale_factor",0.999916667],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEWMWF83,PROJCS["TMNEWMWF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30.99999999322522],PARAMETER["central_meridian",-107.8333332721862],PARAMETER["scale_factor",0.999916667],PARAMETER["false_easting",2723091.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEWMWM,PROJCS["TMNEWMWM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30.99999999322522],PARAMETER["central_meridian",-107.833333329482],PARAMETER["scale_factor",0.999916667],PARAMETER["false_easting",830000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMNEWYCF,PROJCS["TMNEWYCF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40],PARAMETER["central_meridian",-76.58333329999996],PARAMETER["scale_factor",0.9999375],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEWYCF83,PROJCS["TMNEWYCF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40.0000000115891],PARAMETER["central_meridian",-76.5833332864086],PARAMETER["scale_factor",0.9999375],PARAMETER["false_easting",820208.3332],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEWYCM,PROJCS["TMNEWYCM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40.0000000115891],PARAMETER["central_meridian",-76.5833333437044],PARAMETER["scale_factor",0.9999375],PARAMETER["false_easting",250000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMNEWYEF,PROJCS["TMNEWYEF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40],PARAMETER["central_meridian",-74.33333329999998],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEWYEF83,PROJCS["TMNEWYEF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",38.83333332238231],PARAMETER["central_meridian",-74.4999999979502],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",492124.9999],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEWYEM,PROJCS["TMNEWYEM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",38.83333332238231],PARAMETER["central_meridian",-74.50000001513894],PARAMETER["scale_factor",0.999966667],PARAMETER["false_easting",150000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMNEWYWF,PROJCS["TMNEWYWF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40],PARAMETER["central_meridian",-78.58333329999994],PARAMETER["scale_factor",0.9999375],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEWYWF83,PROJCS["TMNEWYWF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40.0000000115891],PARAMETER["central_meridian",-78.58333328412327],PARAMETER["scale_factor",0.9999375],PARAMETER["false_easting",1148291.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMNEWYWM,PROJCS["TMNEWYWM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40.0000000115891],PARAMETER["central_meridian",-78.58333334141905],PARAMETER["scale_factor",0.9999375],PARAMETER["false_easting",350000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMNIGE,PROJCS["TMNIGE",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",4],PARAMETER["central_meridian",12.5],PARAMETER["scale_factor",0.99975],PARAMETER["false_easting",1110369.7],PARAMETER["false_northing",0]] -TMNIGM,PROJCS["TMNIGM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",4],PARAMETER["central_meridian",8.499999999999998],PARAMETER["scale_factor",0.99975],PARAMETER["false_easting",670553.98],PARAMETER["false_northing",0]] -TMNIGW,PROJCS["TMNIGW",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",4],PARAMETER["central_meridian",4.499999999999997],PARAMETER["scale_factor",0.99975],PARAMETER["false_easting",230738.26],PARAMETER["false_northing",0]] -TMNORAND,PROJCS["TMNORAND",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-79.5],PARAMETER["scale_factor",0.999861],PARAMETER["false_easting",304800],PARAMETER["false_northing",0]] -TMNSEA,PROJCS["TMNSEA",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMNYEMEN,PROJCS["TMNYEMEN",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",42],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMNZAMUR,PROJCS["TMNZAMUR",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-42.68888888888888],PARAMETER["central_meridian",173.01],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZBLUF,PROJCS["TMNZBLUF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-46.60000000000002],PARAMETER["central_meridian",168.342777777778],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZBULL,PROJCS["TMNZBULL",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-41.81055555555552],PARAMETER["central_meridian",171.5811111111108],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZBYPL,PROJCS["TMNZBYPL",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-37.76111111111108],PARAMETER["central_meridian",176.4661111111112],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZCOLL,PROJCS["TMNZCOLL",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-40.71472222222221],PARAMETER["central_meridian",172.6719444444446],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZGAWL,PROJCS["TMNZGAWL",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-43.74861111111112],PARAMETER["central_meridian",171.3605555555558],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZGREY,PROJCS["TMNZGREY",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-42.33361111111111],PARAMETER["central_meridian",171.5497222222221],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZHAWK,PROJCS["TMNZHAWK",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-39.65083333333333],PARAMETER["central_meridian",176.6736111111113],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZHOKI,PROJCS["TMNZHOKI",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-42.88611111111113],PARAMETER["central_meridian",170.979722222222],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZJACK,PROJCS["TMNZJACK",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-43.97777777777775],PARAMETER["central_meridian",168.6061111111109],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZKARA,PROJCS["TMNZKARA",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-41.28972222222218],PARAMETER["central_meridian",172.1088888888891],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZLIND,PROJCS["TMNZLIND",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-44.73499999999998],PARAMETER["central_meridian",169.4675],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZMARL,PROJCS["TMNZMARL",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-41.54444444444444],PARAMETER["central_meridian",173.8019444444443],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZMTED,PROJCS["TMNZMTED",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-36.87972222222223],PARAMETER["central_meridian",174.7641666666668],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZMTNI,PROJCS["TMNZMTNI",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-45.13277777777778],PARAMETER["central_meridian",168.3986111111113],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZMTPL,PROJCS["TMNZMTPL",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-43.59055555555558],PARAMETER["central_meridian",172.7269444444442],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZMTYO,PROJCS["TMNZMTYO",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-45.56361111111111],PARAMETER["central_meridian",167.7386111111109],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZNELS,PROJCS["TMNZNELS",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-41.27444444444441],PARAMETER["central_meridian",173.2991666666666],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZNI,PROJCS["TMNZNI",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-38.99999999999996],PARAMETER["central_meridian",175.5],PARAMETER["scale_factor",1],PARAMETER["false_easting",300000],PARAMETER["false_northing",400000],UNIT["unnamed",0.914398415]] -TMNZNTAI,PROJCS["TMNZNTAI",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-45.86138888888888],PARAMETER["central_meridian",170.2824999999997],PARAMETER["scale_factor",0.99996],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZOBSE,PROJCS["TMNZOBSE",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-45.81611111111108],PARAMETER["central_meridian",170.6283333333334],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZOKAR,PROJCS["TMNZOKAR",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-43.11000000000002],PARAMETER["central_meridian",170.2608333333334],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZPOVE,PROJCS["TMNZPOVE",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-38.62444444444446],PARAMETER["central_meridian",177.8855555555558],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZSI,PROJCS["TMNZSI",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-44],PARAMETER["central_meridian",171.5],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",500000],UNIT["unnamed",0.914398415]] -TMNZTARA,PROJCS["TMNZTARA",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-39.13555555555555],PARAMETER["central_meridian",174.2277777777776],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZTIMA,PROJCS["TMNZTIMA",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-44.40194444444444],PARAMETER["central_meridian",171.0572222222222],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZTUHI,PROJCS["TMNZTUHI",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-39.51222222222219],PARAMETER["central_meridian",175.64],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZWAIR,PROJCS["TMNZWAIR",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-40.92527777777774],PARAMETER["central_meridian",175.6472222222223],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZWANG,PROJCS["TMNZWANG",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-40.24194444444444],PARAMETER["central_meridian",175.4880555555555],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMNZWELL,PROJCS["TMNZWELL",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-41.30111111111108],PARAMETER["central_meridian",174.7763888888886],PARAMETER["scale_factor",1],PARAMETER["false_easting",400000],PARAMETER["false_northing",800000],UNIT["unnamed",1]] -TMOGADEN,PROJCS["TMOGADEN",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",43],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMOMAN,PROJCS["TMOMAN",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",54],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMOSGB,PROJCS["TMOSGB",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",49],PARAMETER["central_meridian",-1.999999999999966],PARAMETER["scale_factor",0.999601272],PARAMETER["false_easting",400000],PARAMETER["false_northing",-100000]] -TMOSIRL,PROJCS["TMOSIRL",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",53.5],PARAMETER["central_meridian",-7.999999999999978],PARAMETER["scale_factor",1.000035],PARAMETER["false_easting",200000],PARAMETER["false_northing",250000]] -TMPARAG1,PROJCS["TMPARAG1",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-62.99999999999995],PARAMETER["scale_factor",1],PARAMETER["false_easting",4500000],PARAMETER["false_northing",10002288.3]] -TMPARAG2,PROJCS["TMPARAG2",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-59.99999999999994],PARAMETER["scale_factor",1],PARAMETER["false_easting",5500000],PARAMETER["false_northing",10002288.3]] -TMPARAG3,PROJCS["TMPARAG3",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-56.99999999999994],PARAMETER["scale_factor",1],PARAMETER["false_easting",6500000],PARAMETER["false_northing",10002288.3]] -TMPARAG4,PROJCS["TMPARAG4",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-54],PARAMETER["scale_factor",1],PARAMETER["false_easting",7500000],PARAMETER["false_northing",10002288.3]] -TMPERUBE,PROJCS["TMPERUBE",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-4.670833299999996],PARAMETER["central_meridian",-81.33497219999994],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -TMPERUC,PROJCS["TMPERUC",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-9.49999999999998],PARAMETER["central_meridian",-75.99999999999996],PARAMETER["scale_factor",0.99933],PARAMETER["false_easting",720000],PARAMETER["false_northing",1039979.16]] -TMPERUE,PROJCS["TMPERUE",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-9.49999999999998],PARAMETER["central_meridian",-70.49999999999996],PARAMETER["scale_factor",0.9995299],PARAMETER["false_easting",1324000],PARAMETER["false_northing",1040084.56]] -TMPERUW,PROJCS["TMPERUW",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-5.999999999999955],PARAMETER["central_meridian",-80.49999999999996],PARAMETER["scale_factor",0.9998301],PARAMETER["false_easting",222000],PARAMETER["false_northing",1426834.74]] -TMPHIL1,PROJCS["TMPHIL1",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",117],PARAMETER["scale_factor",0.99995],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMPHIL2,PROJCS["TMPHIL2",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",119],PARAMETER["scale_factor",0.99995],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMPHIL3,PROJCS["TMPHIL3",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",121],PARAMETER["scale_factor",0.99995],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMPHIL4,PROJCS["TMPHIL4",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",123],PARAMETER["scale_factor",0.99995],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMPHIL5,PROJCS["TMPHIL5",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",125],PARAMETER["scale_factor",0.99995],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMPHIL6,PROJCS["TMPHIL6",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",127],PARAMETER["scale_factor",0.99995],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMPNG55S,PROJCS["TMPNG55S",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",147],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMPOLAND,PROJCS["TMPOLAND",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",18],PARAMETER["scale_factor",0.999923],PARAMETER["false_easting",6500000],PARAMETER["false_northing",0]] -TMPORT,PROJCS["TMPORT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",39.66666666666666],PARAMETER["central_meridian",-8.13190611111111],PARAMETER["scale_factor",1],PARAMETER["false_easting",200000],PARAMETER["false_northing",300000]] -TMPORTL,PROJCS["TMPORTL",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",39.66666666666666],PARAMETER["central_meridian",1],PARAMETER["scale_factor",1],PARAMETER["false_easting",200000],PARAMETER["false_northing",300000]] -TMPORT_SHG73,PROJCS["TMPORT_SHG73",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",39.66666666666666],PARAMETER["central_meridian",-8.13190611111111],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -TMQATAR,PROJCS["TMQATAR",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",24.45],PARAMETER["central_meridian",51.2166666],PARAMETER["scale_factor",1],PARAMETER["false_easting",200000],PARAMETER["false_northing",300000]] -TMRHODIF,PROJCS["TMRHODIF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.0833333],PARAMETER["central_meridian",-71.49999999999996],PARAMETER["scale_factor",0.9999938],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMRHODIF83,PROJCS["TMRHODIF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.08333331264934],PARAMETER["central_meridian",-71.49999998991905],PARAMETER["scale_factor",0.99999375],PARAMETER["false_easting",328083.3333],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMRHODIM,PROJCS["TMRHODIM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.0833333],PARAMETER["central_meridian",-71.49999999999996],PARAMETER["scale_factor",0.99999375],PARAMETER["false_easting",100000],PARAMETER["false_northing",0]] -TMRT90,PROJCS["TMRT90",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",15.80827799022624],PARAMETER["scale_factor",1],PARAMETER["false_easting",1500000],PARAMETER["false_northing",0]] -TMS114E,PROJCS["TMS114E",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",114],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMS116E,PROJCS["TMS116E",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",116],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMSAM19S,PROJCS["TMSAM19S",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-69.00000000709966],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMSAM20S,PROJCS["TMSAM20S",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",-19.99999998860582],PARAMETER["central_meridian",-59.99999998873577],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -TMSAMER,PROJCS["TMSAMER",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-59.99999999999994],PARAMETER["scale_factor",0.99],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -TMSAMERA,PROJCS["TMSAMERA",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-54],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -TMSHABWA,PROJCS["TMSHABWA",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",45],PARAMETER["scale_factor",1],PARAMETER["false_easting",8500000],PARAMETER["false_northing",0]] -TMSHK167,PROJCS["TMSHK167",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",167],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMSHLCNS,PROJCS["TMSHLCNS",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMSHLHOL,PROJCS["TMSHLHOL",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",5],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMSHLYEM,PROJCS["TMSHLYEM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",42],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMSLO,PROJCS["TMSLO",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",15],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",500000],PARAMETER["false_northing",-5000000]] -TMSUDAN,PROJCS["TMSUDAN",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",30],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMSURNAM,PROJCS["TMSURNAM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-54],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMSVIET,PROJCS["TMSVIET",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",106],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMSVNM,PROJCS["TMSVNM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",106],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMTIBU,PROJCS["TMTIBU",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",8.3847502],PARAMETER["central_meridian",-72.42263859999996],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",500000]] -TMTRUCST,PROJCS["TMTRUCST",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",55],PARAMETER["scale_factor",1],PARAMETER["false_easting",1200000],PARAMETER["false_northing",0]] -TMTUNIS,PROJCS["TMTUNIS",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",11],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMTURK,PROJCS["TMTURK",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",33],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMTYRRE,PROJCS["TMTYRRE",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",14],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMTYRRW,PROJCS["TMTYRRW",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",11],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMUNZ170,PROJCS["TMUNZ170",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",170],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMVERMTF,PROJCS["TMVERMTF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",42.5],PARAMETER["central_meridian",-72.5],PARAMETER["scale_factor",0.999964286],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMVERMTF83,PROJCS["TMVERMTF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",42.4999999944085],PARAMETER["central_meridian",-72.50000001742427],PARAMETER["scale_factor",0.999964286],PARAMETER["false_easting",1640416.666],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMVERMTM,PROJCS["TMVERMTM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",42.4999999944085],PARAMETER["central_meridian",-72.50000001742427],PARAMETER["scale_factor",0.999964286],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["unnamed",1]] -TMVICMAP,PROJCS["TMVICMAP",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",145],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000]] -TMVIETS,PROJCS["TMVIETS",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",106],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMWTOECF83,LOCAL_CS["TMWTOECF83 - (unsupported)"] -TMWYO1FT,PROJCS["TMWYO1FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40.6666667],PARAMETER["central_meridian",-105.1666667],PARAMETER["scale_factor",0.999941177],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMWYO2FT,PROJCS["TMWYO2FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40.6666667],PARAMETER["central_meridian",-107.3333333],PARAMETER["scale_factor",0.999941177],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMWYO3FT,PROJCS["TMWYO3FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40.6666667],PARAMETER["central_meridian",-108.75],PARAMETER["scale_factor",0.999941177],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMWYO4FT,PROJCS["TMWYO4FT",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40.6666667],PARAMETER["central_meridian",-110.0833333],PARAMETER["scale_factor",0.999941177],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMWYOE83,LOCAL_CS["TMWYOE83 - (unsupported)"] -TMWYOECM,PROJCS["TMWYOECM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40.5],PARAMETER["central_meridian",-107.3333333],PARAMETER["scale_factor",0.9999375],PARAMETER["false_easting",400000],PARAMETER["false_northing",100000]] -TMWYOEM,PROJCS["TMWYOEM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40.5],PARAMETER["central_meridian",-105.1666667],PARAMETER["scale_factor",0.9999375],PARAMETER["false_easting",200000],PARAMETER["false_northing",0]] -TMWYOWCF83,PROJCS["TMWYOWCF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40.49999999669383],PARAMETER["central_meridian",-108.7500000261364],PARAMETER["scale_factor",0.9999375],PARAMETER["false_easting",1968500],PARAMETER["false_northing",0],UNIT["US Foot",0.30480061]] -TMWYOWCM,PROJCS["TMWYOWCM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40.5],PARAMETER["central_meridian",-108.75],PARAMETER["scale_factor",0.9999375],PARAMETER["false_easting",600000],PARAMETER["false_northing",0]] -TMWYOWF83,PROJCS["TMWYOWF83",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40.49999999669383],PARAMETER["central_meridian",-110.083333319749],PARAMETER["scale_factor",0.9999375],PARAMETER["false_easting",2624666.666],PARAMETER["false_northing",328083.3333],UNIT["US Foot",0.30480061]] -TMWYOWM,PROJCS["TMWYOWM",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",40.49999999669383],PARAMETER["central_meridian",-110.083333319749],PARAMETER["scale_factor",0.9999375],PARAMETER["false_easting",800000],PARAMETER["false_northing",100000],UNIT["unnamed",1]] -TMYEMEN,PROJCS["TMYEMEN",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",42],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0]] -TMYUG5,PROJCS["TMYUG5",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",15],PARAMETER["scale_factor",1],PARAMETER["false_easting",5500000],PARAMETER["false_northing",0]] -TMYUG5SF,PROJCS["TMYUG5SF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",15],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",5500000],PARAMETER["false_northing",0]] -TMYUG6,PROJCS["TMYUG6",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",18],PARAMETER["scale_factor",1],PARAMETER["false_easting",6500000],PARAMETER["false_northing",0]] -TMYUG6SF,PROJCS["TMYUG6SF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",18],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",6500000],PARAMETER["false_northing",0]] -TMYUG7,PROJCS["TMYUG7",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",21],PARAMETER["scale_factor",1],PARAMETER["false_easting",7500000],PARAMETER["false_northing",0]] -TMYUG7SF,PROJCS["TMYUG7SF",PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",21],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",7500000],PARAMETER["false_northing",0]] -VG120E,PROJCS["VG120E",PROJECTION["VanDerGrinten"],PARAMETER["central_meridian",120],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -VG120W,PROJCS["VG120W",PROJECTION["VanDerGrinten"],PARAMETER["central_meridian",-120],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -VG150E,PROJCS["VG150E",PROJECTION["VanDerGrinten"],PARAMETER["central_meridian",150],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -VG150W,PROJCS["VG150W",PROJECTION["VanDerGrinten"],PARAMETER["central_meridian",-150],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -VG180E,PROJCS["VG180E",PROJECTION["VanDerGrinten"],PARAMETER["central_meridian",180],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -VG30E,PROJCS["VG30E",PROJECTION["VanDerGrinten"],PARAMETER["central_meridian",30],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -VG30W,PROJCS["VG30W",PROJECTION["VanDerGrinten"],PARAMETER["central_meridian",-29.99999999999995],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -VG60E,PROJCS["VG60E",PROJECTION["VanDerGrinten"],PARAMETER["central_meridian",60],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -VG60W,PROJCS["VG60W",PROJECTION["VanDerGrinten"],PARAMETER["central_meridian",-59.99999999999994],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -VG90E,PROJCS["VG90E",PROJECTION["VanDerGrinten"],PARAMETER["central_meridian",90],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -VG90EAST,PROJCS["VG90EAST",PROJECTION["VanDerGrinten"],PARAMETER["central_meridian",90],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -VG90W,PROJCS["VG90W",PROJECTION["VanDerGrinten"],PARAMETER["central_meridian",-89.99999999999994],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -VG90WEST,PROJCS["VG90WEST",PROJECTION["VanDerGrinten"],PARAMETER["central_meridian",-89.99999999999994],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -VGSPHERE,PROJCS["VGSPHERE",PROJECTION["VanDerGrinten"],PARAMETER["central_meridian",0],PARAMETER["false_easting",0],PARAMETER["false_northing",0]] -VGWORLD,PROJCS["VGWORLD",PROJECTION["VanDerGrinten"],PARAMETER["central_meridian",0],PARAMETER["false_easting",20000000],PARAMETER["false_northing",20000000]] -W3SPHERE,LOCAL_CS["W3SPHERE - (unsupported)"] -ACCRA,GEOGCS["ACCRA",DATUM["ACCRA",SPHEROID["WAROFFFT",20926201,296]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -ADINDAN,GEOGCS["ADINDAN",DATUM["ADINDAN",SPHEROID["CLA80MOD",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -AGD66,GEOGCS["AUSTRALIAN GEODETIC",DATUM["AGD66",SPHEROID["ANS",6378160,298.25]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -AGD66NTV,GEOGCS["AUSTRALIAN GEODETIC",DATUM["AGD66NTV",SPHEROID["ANS",6378160,298.25]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -AGD84,GEOGCS["AUSTRALIAN GEODETIC",DATUM["AGD84",SPHEROID["ANS",6378160,298.25]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -AINABD70,GEOGCS["AIN EL ABD (1970)",DATUM["AINABD70",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -ARATU,GEOGCS["ARATU",DATUM["ARATU",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -ARC1950,GEOGCS["NEW ARC 1950",DATUM["ARC1950",SPHEROID["CLA80RSA",6378249.145,293.4663077]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -ARC1960,GEOGCS["NEW ARC 1960",DATUM["ARC1960",SPHEROID["CLA80MOD",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -BAHRAIN,GEOGCS["BAHRAIN (AIN EL ABD)",DATUM["BAHRAIN",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -BATAVIA,GEOGCS["BATAVIA(JAKARTA)",DATUM["BATAVIA",SPHEROID["BESS1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -BEDUARAM,GEOGCS["BEDUARAM",DATUM["BEDUARAM",SPHEROID["CLA80IGN",6378249.2,293.4660213]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -BEIJING,GEOGCS["BEIJING 1954",DATUM["BEIJING",SPHEROID["KRAS1940",6378245,298.3]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -BELG50,GEOGCS["BELGIUM 1950",DATUM["BELG50",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -BERNNEW,GEOGCS["BERN",DATUM["BERNNEW",SPHEROID["BESS1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -BOGOTA,GEOGCS["BOGOTA",DATUM["BOGOTA",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -CAMACUPA,GEOGCS["CAMACUPA",DATUM["CAMACUPA",SPHEROID["CLA80MOD",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -CAPE,GEOGCS["CAPE DATUM",DATUM["CAPE",SPHEROID["CLA80MOD",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -CARTHAGE,GEOGCS["CARTHAGE",DATUM["CARTHAGE",SPHEROID["CLA80IGN",6378249.2,293.4660213]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -CHUA,GEOGCS["CHUA ASTRONOMIC",DATUM["CHUA",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -CLRK1866,GEOGCS["NORTH AMERICAN 1927",DATUM["CLRK1866",SPHEROID["CLA66MTR",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -CMPOINCH,GEOGCS["CAMPO INCHAUSPE",DATUM["CMPOINCH",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -CORRALEG,GEOGCS["CORREGO ALEGRE",DATUM["CORRALEG",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -DEIR,GEOGCS["DEIR EZ ZOR",DATUM["DEIR",SPHEROID["CLA80IGN",6378249.2,293.4660213]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -ED50,GEOGCS["EUROPEAN DATUM 1950",DATUM["ED50",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -ED50EGYT,GEOGCS["EUROPEAN DATUM 1950",DATUM["ED50EGYT",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -ED50SVAL,GEOGCS["ED50 (SVALBARD)",DATUM["ED50SVAL",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -EDMCE75,GEOGCS["EUROPEAN [ED(MCE)75]",DATUM["EDMCE75",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -EGSA87,GEOGCS["GREEK DATUM (1989)",DATUM["EGSA87",SPHEROID["GRS80",6378137,298.2572236]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -EGYPT07,GEOGCS["EGYPT 1907",DATUM["EGYPT07",SPHEROID["HELM1906",6378200,298.3]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -EGYPT24,GEOGCS["NEW EGYPT 1930",DATUM["EGYPT24",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -EVVIETNM,GEOGCS["EVEREST-VIETNAM",DATUM["EVVIETNM",SPHEROID["EV37ADJ",6377276.345,300.8017]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -FAHUD,GEOGCS["FAHUD",DATUM["FAHUD",SPHEROID["CLA80MOD",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -FINKKJ,GEOGCS["FINKKJ (Finland)",DATUM["FINKKJ",SPHEROID["HAYF1910",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -GDA94,GEOGCS["GEOCENTRIC DATUM of AUSTRALIA",DATUM["GDA94",SPHEROID["GRS80",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -GEM6,GEOGCS["GEM6",DATUM["GEM6",SPHEROID[,6378144,298.257]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -HGRS87,GEOGCS["GREEK DATUM (1989)",DATUM["HGRS87",SPHEROID["GRS80",6378137,298.2572236]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -HK80,GEOGCS["HONG KONG 1980",DATUM["HK80",SPHEROID["HAYF1910",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -IND74,GEOGCS["INDONESIAN 1974",DATUM["IND74",SPHEROID["INDNAT",6378160,298.247]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -INDIAN54,GEOGCS["INDIAN 1954",DATUM["INDIAN54",SPHEROID["EV37ADJ",6377276.345,300.8017]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -INDIAN60,GEOGCS["INDIAN 1960",DATUM["INDIAN60",SPHEROID["EVERST1830",6377276.345,300.8017]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -INDIAN75,GEOGCS["INDIAN 1975",DATUM["INDIAN75",SPHEROID["EV37ADJ",6377276.345,300.8017]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -ISRLURIM,GEOGCS["ISRAEL URIM",DATUM["ISRLURIM",SPHEROID["CLA80BEN",6378300.79,293.4663696]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -JA1875,GEOGCS["JAMAICA 1875",DATUM["JA1875",SPHEROID["CLA80IFT",20926202,293.4663077]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -JAD69,GEOGCS["JAMAICA 1969",DATUM["JAD69",SPHEROID["CLA66MTR",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -KKJ,GEOGCS["KKJ (Finland)",DATUM["KKJ",SPHEROID["HAYF1910",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -KALIANPR,GEOGCS["KALIANPUR",DATUM["KALIANPR",SPHEROID["EVINDMTR",6377301.243,300.8017255]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -KARBALA,GEOGCS["KARBALA",DATUM["KARBALA",SPHEROID["CLA80MOD",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -KERTAU,GEOGCS["KERTAU",DATUM["KERTAU",SPHEROID["EVMODMAL",6377304.063,300.8017]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -KOC,GEOGCS["KUWAIT OIL COMPANY",DATUM["KOC",SPHEROID["CLA80MOD",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -KOREA,GEOGCS["KOREA TM",DATUM["KOREA",SPHEROID["BESS1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -LACANOA,GEOGCS["LA CANOA",DATUM["LACANOA",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -LEIGON,GEOGCS["LEIGON",DATUM["LEIGON",SPHEROID["CLA80MOD",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -LISBOA,GEOGCS["LISBOA (LISBON)",DATUM["LISBOA",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -LISBON,GEOGCS["LISBON (LISBOA)",DATUM["LISBON",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -LISBONBESSEL,GEOGCS["LISBON (LISBOA)BESSEL",DATUM["LISBONBESSEL",SPHEROID["BESSELPORT",6377397.155,297.15281285]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -LUZON11,GEOGCS["LUZON 1911",DATUM["LUZON11",SPHEROID["CLA66MTR",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -MAHE71,GEOGCS["MAHE 1971",DATUM["MAHE71",SPHEROID["CLA80MOD",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -MAKASSAR,GEOGCS["MAKASSAR",DATUM["MAKASSAR",SPHEROID["BESS1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -MALONG79,GEOGCS["MALONGO 1979",DATUM["MALONG79",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -MALONG90,GEOGCS["MALONGO 1990",DATUM["MALONG90",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -MANOKA,GEOGCS["MANOKA",DATUM["MANOKA",SPHEROID["CLA80MOD",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -MELRICA,GEOGCS["MELRICA (PORTUGAL)",DATUM["MELRICA",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -MGIBESS,GEOGCS["MGIBESS",DATUM["MGIBESS",SPHEROID["BESS1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -MINAA,GEOGCS["MINAA",DATUM["MINAA",SPHEROID["CLA80MOD",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -MONTEMAR,GEOGCS["MONTE MARIO",DATUM["MONTEMAR",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -MONTROME,GEOGCS["MONTE MARIO",DATUM["MONTROME",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -MPORO,GEOGCS["M'PORALOKO",DATUM["MPORO",SPHEROID["CLA80IGN",6378249.2,293.4660213]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -NAD27,GEOGCS["NAD27",DATUM["North_American_Datum_1927",SPHEROID["Clarke 1866",6378206.4,294.978698213898,AUTHORITY["EPSG","7008"]],TOWGS84[-3,142,183,0,0,0,0],AUTHORITY["EPSG","6267"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9108"]],AXIS["Lat",NORTH],AXIS["Long",EAST],AUTHORITY["EPSG","4267"]] -NAD27A74,GEOGCS["NORTH AMERICAN 1927 (Adjusted 1974)",DATUM["NAD27A74",SPHEROID["CLA66MTR",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -NAD27A76,GEOGCS["NORTH AMERICAN 1927 (Adjusted 1976)",DATUM["NAD27A76",SPHEROID["CLA66MTR",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -NAD27AFT,GEOGCS["NORTH AMERICAN 1927",DATUM["NAD27AFT",SPHEROID["CLA66AFT",20925832.16,294.9786982]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -NAD27MOD,GEOGCS["NORTH AMERICAN 1927",DATUM["NAD27MOD",SPHEROID["CLA66MOD",20926631.53,294.9786982]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -NAD27MTR,GEOGCS["NORTH AMERICAN 1927",DATUM["NAD27MTR",SPHEROID["CLA66MTR",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -NAD83,GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6269"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9108"]],AXIS["Lat",NORTH],AXIS["Long",EAST],AUTHORITY["EPSG","4269"]] -NAHRWAN,GEOGCS["NAHRWAN 1967",DATUM["NAHRWAN",SPHEROID["CLA80MOD",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -NAMIBIA,GEOGCS["NAMIBIA",DATUM["NAMIBIA",SPHEROID["BESS1841",6377483.865,299.1528128]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -NTF,GEOGCS["N.T.F.",DATUM["NTF",SPHEROID["CLA80IGN",6378249.2,293.4660213],TOWGS84[-168,-60,320,0,0,0,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -NTFPARG,GEOGCS["N.T.F",DATUM["NTFPARG",SPHEROID["CLA80IGN",6378249.2,293.4660213],TOWGS84[-168,-60,320,0,0,0,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -NTFPARIS,GEOGCS["N.T.F",DATUM["NTFPARIS",SPHEROID["CLA80IGN",6378249.2,293.4660213],TOWGS84[-168,-60,320,0,0,0,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -NWL9D,GEOGCS["NWL-9D",DATUM["NWL9D",SPHEROID["NWL9D",6378145,298.25]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -NZGD49,GEOGCS["NEW ZEALAND 1949",DATUM["NZGD49",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -NZGD2000,GEOGCS["NEW ZEALAND 2000",DATUM["NZGD2000",SPHEROID["GRS80",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -OSGB36,GEOGCS["ORDNANCE SURVEY 1936",DATUM["OSGB36",SPHEROID["AIRY",6377563.396,299.3249646]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -OSGB70,GEOGCS["OSGB 1970 (SN)",DATUM["OSGB70",SPHEROID["AIRY",6377563.396,299.3249646]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -OSSN80,GEOGCS["OS (SN) 1980",DATUM["OSSN80",SPHEROID["AIRY",6377563.396,299.3249646]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -PADANG,GEOGCS["PADANG 1884",DATUM["PADANG",SPHEROID["BESS1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -PALEST23,GEOGCS["PALESTINE 1923",DATUM["PALEST23",SPHEROID["CLA80BEN",6378300.79,293.4663696]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -PLESSIS,GEOGCS["FRANCE 1822",DATUM["PLESSIS",SPHEROID["PLES1822",6376523,308.64]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -POTSDAM,GEOGCS["POTSDAM",DATUM["POTSDAM",SPHEROID["BESS1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -PRS92,GEOGCS["PHILIPPINES REFERENCE SYSTEM 1992",DATUM["PRS92",SPHEROID["CLA66MTR",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -PSAD56,GEOGCS["PSAD 1956",DATUM["PSAD56",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -PTNOIRE,GEOGCS["POINT NOIRE (ASTRO)",DATUM["PTNOIRE",SPHEROID["CLA80IGN",6378249.2,293.4660213]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -PULKOVO,GEOGCS["PULKOVO 1942",DATUM["PULKOVO",SPHEROID["KRAS1940",6378245,298.3]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -QATAR,GEOGCS["QATAR",DATUM["QATAR",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -QATAR51,GEOGCS["QATAR GRID 1948",DATUM["QATAR51",SPHEROID["HELM1906",6378200,298.3]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -QORNOQ,GEOGCS["QORNOQ",DATUM["QORNOQ",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -RD,GEOGCS["RIJKDRIEHOEKSMETING",DATUM["RD",SPHEROID["BESS1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -RGF93,GEOGCS["RESEAU GEODESIQUE FRANCAIS 1993",DATUM["RESEAU GEODESIQUE FRANCAIS 1993",SPHEROID["IAG GRS 1980",6378137.0000,298.2572221010000,AUTHORITY["IGNF","ELG037"]],TOWGS84[0.0000,0.0000,0.0000,0,0,0,0],AUTHORITY["IGNF","REG024"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","RGF93G"]] -SAD69,GEOGCS["SOUTH AMERICAN 1969",DATUM["SAD69",SPHEROID["INT67",6378160,298.25]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -SECLV,GEOGCS["QASCO",DATUM["SECLV",SPHEROID["ANS",6378160,298.25]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -SLOVENIA,GEOGCS["SLOVENIAN DATUM",DATUM["SLOVENIA",SPHEROID["BESS1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -SPHERE,GEOGCS["NOT SPECIFIED",DATUM["SPHERE",SPHEROID["SPHERE",6371000,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -SPHERE2,GEOGCS["NOT SPECIFIED",DATUM["SPHERE2",SPHEROID["SPHERE",6370997,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -SUDAN,GEOGCS["SUDAN DATUM",DATUM["SUDAN",SPHEROID["CLA80IGN",6378249.2,293.4660213]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -TANANAR,GEOGCS["TANANARIVE 1925",DATUM["TANANAR",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -TANANPAR,GEOGCS["TANANARIVE 1925",DATUM["TANANPAR",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -TIMBALAI,GEOGCS["TIMBALAI",DATUM["TIMBALAI",SPHEROID["EVERST67",6377298.556,300.8017]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -TIMBALFT,GEOGCS["TIMBALAI",DATUM["TIMBALFT",SPHEROID["EVIMPFT",20922931.8,300.8017]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -TM65,GEOGCS["TM65",DATUM["TM65",SPHEROID["AIRYMOD",6377340.189,299.3249646]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -TM75,GEOGCS["TM75",DATUM["TM75",SPHEROID["AIRYMOD",6377340.189,299.3249646]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -TOKYO,GEOGCS["TOKYO",DATUM["TOKYO",SPHEROID["BESS1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -TRUCIAL,GEOGCS["TRUCIAL COAST 1948",DATUM["TRUCIAL",SPHEROID["HELM1906",6378200,298.3]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USAIRMOD,GEOGCS["NOT SPECIFIED",DATUM["USAIRMOD",SPHEROID["AIRYMOD",6377340.189,299.3249646]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USAIRY,GEOGCS["NOT SPECIFIED",DATUM["USAIRY",SPHEROID["AIRY",6377563.396,299.3249646]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USANS,GEOGCS["NOT SPECIFIED",DATUM["USANS",SPHEROID["ANS",6378160,298.25]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USBESMOD,GEOGCS["NOT SPECIFIED",DATUM["USBESMOD",SPHEROID["BESSMOD",6377492.018,299.1528128]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USBESS,GEOGCS["NOT SPECIFIED",DATUM["USBESS",SPHEROID["BESS1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USC58MTR,GEOGCS["NOT SPECIFIED",DATUM["USC58MTR",SPHEROID["CLA58MTR",6378293.645,294.2606764]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USC66AFT,GEOGCS["NOT SPECIFIED",DATUM["USC66AFT",SPHEROID["CLA66AFT",20925832.16,294.9786982]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USC66MTR,GEOGCS["NOT SPECIFIED",DATUM["USC66MTR",SPHEROID["CLA66MTR",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USC80IGN,GEOGCS["NOT SPECIFIED",DATUM["USC80IGN",SPHEROID["CLA80IGN",6378249.2,293.4660213]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USC80MOD,GEOGCS["NOT SPECIFIED",DATUM["USC80MOD",SPHEROID["CLA80MOD",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USC80RSA,GEOGCS["NOT SPECIFIED",DATUM["USC80RSA",SPHEROID["CLA80RSA",6378249.145,293.4663077]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USEV37AD,GEOGCS["NOT SPECIFIED",DATUM["USEV37AD",SPHEROID["EV37ADJ",6377276.345,300.8017]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USEV67,GEOGCS["NOT SPECIFIED",DATUM["USEV67",SPHEROID["EVERST67",6377298.556,300.8017]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USGRS67,GEOGCS["NOT SPECIFIED",DATUM["USGRS67",SPHEROID["GRS67",6378160,298.2471674]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USGRS80,GEOGCS["NOT SPECIFIED",DATUM["USGRS80",SPHEROID["GRS80",6378137,298.2572221]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USHAYF10,GEOGCS["NOT SPECIFIED",DATUM["USHAYF10",SPHEROID["HAYF1910",6378388,296.9592625]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USHELM,GEOGCS["NOT SPECIFIED",DATUM["USHELM",SPHEROID["HELM1906",6378200,298.3]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USINT24,GEOGCS["NOT SPECIFIED",DATUM["USINT24",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USINT67,GEOGCS["NOT SPECIFIED",DATUM["USINT67",SPHEROID["INT67",6378160,298.25]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USKRAS40,GEOGCS["NOT SPECIFIED",DATUM["USKRAS40",SPHEROID["KRAS1940",6378245,298.3]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USNWL10D,GEOGCS["NOT SPECIFIED",DATUM["USNWL10D",SPHEROID["NWL10D",6378135,298.26]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USNWL9D,GEOGCS["NOT SPECIFIED",DATUM["USNWL9D",SPHEROID["NWL9D",6378145,298.25]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -USSPHERE,GEOGCS["NOT SPECIFIED",DATUM["USSPHERE",SPHEROID["SPHERE",6371000,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -WGS72BE,GEOGCS["BROADCAST EPHEMERIS",DATUM["WGS72BE",SPHEROID["NWL10D",6378135,298.26]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -WGS72DOD,GEOGCS["WGS 72 (DoD)",DATUM["WGS72DOD",SPHEROID["NWL10D",6378135,298.26]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -WGS84,GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9108"]],AXIS["Lat",NORTH],AXIS["Long",EAST],AUTHORITY["EPSG","4326"]] -XIAN80,GEOGCS["XIAN 1980",DATUM["XIAN80",SPHEROID["GRS80",6378137,298.2572221]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -YEMHSL,GEOGCS["YEMEN HSL (LOCAL)",DATUM["YEMHSL",SPHEROID["INT24",6378388,297]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -YOFF2000,GEOGCS["YOFF2000",DATUM["YOFF2000",SPHEROID["CLA80IGN",6378249.2,293.4660213]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -VENUS,GEOGCS["VENUS MGN",DATUM["VENUS",SPHEROID["VENUS",6051920,1]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] -PLESSIS,GEOGCS["ANCIENNE TRIANGULATION DES INGENIEURS",DATUM["ANCIENNE TRIANGULATION DES INGENIEURS GEOGRAPHES",SPHEROID["PLESSIS 1817",6376523.0000,308.6400000000000,AUTHORITY["IGNF","ELG017"]],TOWGS84[1127.0000,22.0000,57.0000,0,0,0,0],AUTHORITY["IGNF","REG008"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","ATIGEO"]] -CSG67,GEOGCS["GUYANE CSG67",DATUM["CSG 1967",SPHEROID["International-Hayford 1909",6378388.0000,297.0000000000000,AUTHORITY["IGNF","ELG001"]],TOWGS84[-193.0660,236.9930,105.4470,0.4814,-0.8074,0.1276,1.564900],AUTHORITY["IGNF","REG407"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","CSG67GEO"]] -ED50FRA,GEOGCS["ED50 FRANCE",DATUM["ED50 FRANCE",SPHEROID["International-Hayford 1909",6378388.0000,297.0000000000000,AUTHORITY["IGNF","ELG001"]],TOWGS84[-84.0000,-97.0000,-117.0000,0,0,0,0],AUTHORITY["IGNF","REG101"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","ED50G"]] -GUAD48,GEOGCS["GUADELOUPE STE ANNE",DATUM["GUADELOUPE STE ANNE",SPHEROID["International-Hayford 1909",6378388.0000,297.0000000000000,AUTHORITY["IGNF","ELG001"]],TOWGS84[-472.2900,-5.6300,-304.1200,0.4362,-0.8374,0.2563,1.898400],AUTHORITY["IGNF","REG425"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","GUAD48GEO"]] -STMART,GEOGCS["GUADELOUPE FORT MARIGOT",DATUM["GUADELOUPE FORT MARIGOT",SPHEROID["International-Hayford 1909",6378388.0000,297.0000000000000,AUTHORITY["IGNF","ELG001"]],TOWGS84[136.5960,248.1480,-429.7890,0,0,0,0],AUTHORITY["IGNF","REG426"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","GUADFM49GEO"]] -IGN72,GEOGCS["IGN 1972 GRANDE-TERRE / ILE DES PINS",DATUM["IGN72 GRANDE-TERRE / ILE DES PINS",SPHEROID["International-Hayford 1909",6378388.0000,297.0000000000000,AUTHORITY["IGNF","ELG001"]],TOWGS84[-11.6400,-348.6000,291.6800,0,0,0,0],AUTHORITY["IGNF","REG548"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","IGN72GEO"]] -MART38,GEOGCS["MARTINIQUE FORT-DESAIX",DATUM["MARTINIQUE FOT-DESAIX",SPHEROID["International-Hayford 1909",6378388.0000,297.0000000000000,AUTHORITY["IGNF","ELG001"]],TOWGS84[126.9260,547.9390,130.4090,-2.7867,5.1612,-0.8584,13.822650],AUTHORITY["IGNF","REG424"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","MART38GEO"]] -MCBN50,GEOGCS["MAYOTTE COMBANI",DATUM["Combani",SPHEROID["International-Hayford 1909",6378388.0000,297.0000000000000,AUTHORITY["IGNF","ELG001"]],TOWGS84[-599.9280,-275.5520,-195.6650,-0.0835,-0.4715,0.0602,49.281400],AUTHORITY["IGNF","REG318"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","MAYO50GEO"]] -REUN47,GEOGCS["REUNION 1947",DATUM["REUNION-PITON-DES-NEIGES",SPHEROID["International-Hayford 1909",6378388.0000,297.0000000000000,AUTHORITY["IGNF","ELG001"]],TOWGS84[789.5240,-626.4860,-89.9040,0.6006,76.7946,-10.5788,-32.324100],AUTHORITY["IGNF","REG317"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","REUN47GEO"]] -RGFG95,GEOGCS["RESEAU GEODESIQUE FRANCAIS DE GUYANE 1995",DATUM["RESEAU GEODESIQUE FRANCAIS DE GUYANE 1995",SPHEROID["IAG GRS 1980",6378137.0000,298.2572221010000,AUTHORITY["IGNF","ELG037"]],TOWGS84[0.0000,0.0000,0.0000,0,0,0,0],AUTHORITY["IGNF","REG486"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","RGFG95GEO"]] -RGM04,GEOGCS["RGM04 (RESEAU GEODESIQUE DE MAYOTTE 2004)",DATUM["RGM04 (RESEAU GEODESIQUE DE MAYOTTE 2004)",SPHEROID["IAG GRS 1980",6378137.0000,298.2572221010000,AUTHORITY["IGNF","ELG037"]],TOWGS84[0.0000,0.0000,0.0000,0,0,0,0],AUTHORITY["IGNF","REG702"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","RGM04GEO"]] -RGNC,GEOGCS["RESEAU GEODESIQUE DE NOUVELLE-CALEDONIE",DATUM["RESEAU GEODESIQUE DE NOUVELLE-CALEDONIE (RGNC 1991)",SPHEROID["IAG GRS 1980",6378137.0000,298.2572221010000,AUTHORITY["IGNF","ELG037"]],TOWGS84[0.0000,0.0000,0.0000,0,0,0,0],AUTHORITY["IGNF","REG547"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","RGNCGEO"]] -RGPF,GEOGCS["RGPF (RESEAU GEODESIQUE DE POLYNESIE FRANCAISE)",DATUM["RGPF (RESEAU GEODESIQUE DE POLYNESIE FRANCAISE)",SPHEROID["IAG GRS 1980",6378137.0000,298.2572221010000,AUTHORITY["IGNF","ELG037"]],TOWGS84[0.0000,0.0000,0.0000,0,0,0,0],AUTHORITY["IGNF","REG032"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","RGPFGEO"]] -RGR92,GEOGCS["RESEAU GEODESIQUE DE LA REUNION 1992",DATUM["RESEAU GEODESIQUE DE LA REUNION 1992 (RGR92)",SPHEROID["IAG GRS 1980",6378137.0000,298.2572221010000,AUTHORITY["IGNF","ELG037"]],TOWGS84[0.0000,0.0000,0.0000,0,0,0,0],AUTHORITY["IGNF","REG700"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","RGR92GEO"]] -RGSPM06,GEOGCS["SAINT-PIERRE-ET-MIQUELON (2006)",DATUM["ST PIERRE ET MIQUELON 2006",SPHEROID["IAG GRS 1980",6378137.0000,298.2572221010000,AUTHORITY["IGNF","ELG037"]],TOWGS84[0.0000,0.0000,0.0000,0,0,0,0],AUTHORITY["IGNF","REG706"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","RGSPM06GEO"]] -RGTAAF07,GEOGCS["RESEAU GEODESIQUE DES TAAF (2007)",DATUM["RESEAU GEODESIQUE DES TERRES AUSTRALES ET ANTARCTIQUES FRANCAISES 2007",SPHEROID["IAG GRS 1980",6378137.0000,298.2572221010000,AUTHORITY["IGNF","ELG037"]],TOWGS84[0.0000,0.0000,0.0000,0,0,0,0],AUTHORITY["IGNF","REG036"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","RGTAAF07"]]',' -RRAF,GEOGCS["RESEAU DE REFERENCE DES ANTILLES FRANCAISES (1988-1991)",DATUM["RESEAU DE REFERENCE DES ANTILLES FRANCAISES (1988-1991)",SPHEROID["IAG GRS 1980",6378137.0000,298.2572221010000,AUTHORITY["IGNF","ELG037"]],TOWGS84[0.0000,0.0000,0.0000,0,0,0,0],AUTHORITY["IGNF","REG495"]],PRIMEM["Greenwich",0.000000000,AUTHORITY["IGNF","LGO01"]],UNIT["degree",0.01745329251994330],AXIS["Longitude",EAST],AXIS["Latitude",NORTH],AUTHORITY["IGNF","WGS84RRAFGEO"]] -GEOPORTALANF,PROJCS["GEOPORTAIL - ANTILLES FRANCAISES",PROJECTION["Equirectangular",AUTHORITY["IGNF","PRC9002"]],PARAMETER["latitude_of_origin",0.000000000],PARAMETER["central_meridian",0.000000000],PARAMETER["standard_parallel_1",15.000000000],PARAMETER["false_easting",0.000],PARAMETER["false_northing",0.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","GEOPORTALANF"]] -GEOPORTALASP,PROJCS["GEOPORTAIL - AMSTERDAM ET SAINT-PAUL",PROJECTION["Equirectangular",AUTHORITY["IGNF","PRC9012"]],PARAMETER["latitude_of_origin",0.000000000],PARAMETER["central_meridian",0.000000000],PARAMETER["standard_parallel_1",-38.000000000],PARAMETER["false_easting",0.000],PARAMETER["false_northing",0.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","GEOPORTALASP"]] -GEOPORTALCRZ,PROJCS["GEOPORTAIL - CROZET",PROJECTION["Equirectangular",AUTHORITY["IGNF","PRC9011"]],PARAMETER["latitude_of_origin",0.000000000],PARAMETER["central_meridian",0.000000000],PARAMETER["standard_parallel_1",-46.000000000],PARAMETER["false_easting",0.000],PARAMETER["false_northing",0.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","GEOPORTALCRZ"]] -GEOPORTALFXX,PROJCS["GEOPORTAIL - FRANCE METROPOLITAINE",PROJECTION["Equirectangular",AUTHORITY["IGNF","PRC9001"]],PARAMETER["latitude_of_origin",0.000000000],PARAMETER["central_meridian",0.000000000],PARAMETER["standard_parallel_1",46.500000000],PARAMETER["false_easting",0.000],PARAMETER["false_northing",0.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","GEOPORTALFXX"]] -GEOPORTALGUF,PROJCS["GEOPORTAIL - GUYANE",PROJECTION["Equirectangular",AUTHORITY["IGNF","PRC9003"]],PARAMETER["latitude_of_origin",0.000000000],PARAMETER["central_meridian",0.000000000],PARAMETER["standard_parallel_1",4.000000000],PARAMETER["false_easting",0.000],PARAMETER["false_northing",0.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","GEOPORTALGUF"]] -GEOPORTALKER,PROJCS["GEOPORTAIL - KERGUELEN",PROJECTION["Equirectangular",AUTHORITY["IGNF","PRC9010"]],PARAMETER["latitude_of_origin",0.000000000],PARAMETER["central_meridian",0.000000000],PARAMETER["standard_parallel_1",-49.500000000],PARAMETER["false_easting",0.000],PARAMETER["false_northing",0.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","GEOPORTALKER"]] -GEOPORTALMYT,PROJCS["GEOPORTAIL - MAYOTTE",PROJECTION["Equirectangular",AUTHORITY["IGNF","PRC9005"]],PARAMETER["latitude_of_origin",0.000000000],PARAMETER["central_meridian",0.000000000],PARAMETER["standard_parallel_1",-12.000000000],PARAMETER["false_easting",0.000],PARAMETER["false_northing",0.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","GEOPORTALMYT"]] -GEOPORTALNCL,PROJCS["GEOPORTAIL - NOUVELLE-CALEDONIE",PROJECTION["Equirectangular",AUTHORITY["IGNF","PRC9007"]],PARAMETER["latitude_of_origin",0.000000000],PARAMETER["central_meridian",0.000000000],PARAMETER["standard_parallel_1",-22.000000000],PARAMETER["false_easting",0.000],PARAMETER["false_northing",0.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","GEOPORTALNCL"]] -GEOPORTALPYF,PROJCS["GEOPORTAIL - POLYNESIE FRANCAISE",PROJECTION["Equirectangular",AUTHORITY["IGNF","PRC9009"]],PARAMETER["latitude_of_origin",0.000000000],PARAMETER["central_meridian",0.000000000],PARAMETER["standard_parallel_1",-15.000000000],PARAMETER["false_easting",0.000],PARAMETER["false_northing",0.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","GEOPORTALPYF"]] -GEOPORTALREU,PROJCS["GEOPORTAIL - REUNION ET DEPENDANCES",PROJECTION["Equirectangular",AUTHORITY["IGNF","PRC9004"]],PARAMETER["latitude_of_origin",0.000000000],PARAMETER["central_meridian",0.000000000],PARAMETER["standard_parallel_1",-21.000000000],PARAMETER["false_easting",0.000],PARAMETER["false_northing",0.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","GEOPORTALREU"]] -GEOPORTALSPM,PROJCS["GEOPORTAIL - SAINT-PIERRE ET MIQUELON",PROJECTION["Equirectangular",AUTHORITY["IGNF","PRC9006"]],PARAMETER["latitude_of_origin",0.000000000],PARAMETER["central_meridian",0.000000000],PARAMETER["standard_parallel_1",47.000000000],PARAMETER["false_easting",0.000],PARAMETER["false_northing",0.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","GEOPORTALSPM"]] -GEOPORTALWLF,PROJCS["GEOPORTAIL - WALLIS ET FUTUNA",PROJECTION["Equirectangular",AUTHORITY["IGNF","PRC9008"]],PARAMETER["latitude_of_origin",0.000000000],PARAMETER["central_meridian",0.000000000],PARAMETER["standard_parallel_1",-14.000000000],PARAMETER["false_easting",0.000],PARAMETER["false_northing",0.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","GEOPORTALWLF"]] -MILLER,PROJCS["GEOPORTAIL - MONDE",PROJECTION["Miller_Cylindrical",AUTHORITY["IGNF","PRC9901"]],PARAMETER["central_meridian",0.000000000],PARAMETER["false_easting",0.000],PARAMETER["false_northing",0.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","MILLER"]] -GLABREUN,PROJCS["REUNION GAUSS LABORDE",PROJECTION["Gauss_Schreiber_Transverse_Mercator",AUTHORITY["IGNF","PRC0508"]],PARAMETER["latitude_of_origin",-21.116666667],PARAMETER["central_meridian",55.533333333],PARAMETER["scale_factor",1.00000000],PARAMETER["false_easting",160000.000],PARAMETER["false_northing",50000.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","REUN47GAUSSL"]] -LAMBERTNC,PROJCS["LAMBERT NOUVELLE CALEDONIE",PROJECTION["Lambert_Conformal_Conic_2SP",AUTHORITY["IGNF","PRC0149"]],PARAMETER["latitude_of_origin",-21.500000000],PARAMETER["central_meridian",166.000000000],PARAMETER["standard_parallel_1",-20.666666667],PARAMETER["standard_parallel_2",-22.333333333],PARAMETER["false_easting",400000.000],PARAMETER["false_northing",300000.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","RGNCLAM"]] -LMCC42Z1,PROJCS["Projection conique conforme Zone 1",PROJECTION["Lambert_Conformal_Conic_2SP",AUTHORITY["IGNF","PRC8142"]],PARAMETER["latitude_of_origin",42.000000000],PARAMETER["central_meridian",3.000000000],PARAMETER["standard_parallel_1",41.250000000],PARAMETER["standard_parallel_2",42.750000000],PARAMETER["false_easting",1700000.000],PARAMETER["false_northing",1200000.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","RGF93CC42"]] -LMCC43Z2,PROJCS["Projection conique conforme Zone 2",PROJECTION["Lambert_Conformal_Conic_2SP",AUTHORITY["IGNF","PRC8143"]],PARAMETER["latitude_of_origin",43.000000000],PARAMETER["central_meridian",3.000000000],PARAMETER["standard_parallel_1",42.250000000],PARAMETER["standard_parallel_2",43.750000000],PARAMETER["false_easting",1700000.000],PARAMETER["false_northing",2200000.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","RGF93CC43"]] -LMCC44Z3,PROJCS["Projection conique conforme Zone 3",PROJECTION["Lambert_Conformal_Conic_2SP",AUTHORITY["IGNF","PRC8144"]],PARAMETER["latitude_of_origin",44.000000000],PARAMETER["central_meridian",3.000000000],PARAMETER["standard_parallel_1",43.250000000],PARAMETER["standard_parallel_2",44.750000000],PARAMETER["false_easting",1700000.000],PARAMETER["false_northing",3200000.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","RGF93CC44"]] -LMCC45Z4,PROJCS["Projection conique conforme Zone 4",PROJECTION["Lambert_Conformal_Conic_2SP",AUTHORITY["IGNF","PRC8145"]],PARAMETER["latitude_of_origin",45.000000000],PARAMETER["central_meridian",3.000000000],PARAMETER["standard_parallel_1",44.250000000],PARAMETER["standard_parallel_2",45.750000000],PARAMETER["false_easting",1700000.000],PARAMETER["false_northing",4200000.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","RGF93CC45"]] -LMCC46Z5,PROJCS["Projection conique conforme Zone 5",PROJECTION["Lambert_Conformal_Conic_2SP",AUTHORITY["IGNF","PRC8146"]],PARAMETER["latitude_of_origin",46.000000000],PARAMETER["central_meridian",3.000000000],PARAMETER["standard_parallel_1",45.250000000],PARAMETER["standard_parallel_2",46.750000000],PARAMETER["false_easting",1700000.000],PARAMETER["false_northing",5200000.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","RGF93CC46"]] -LMCC47Z6,PROJCS["Projection conique conforme Zone 6",PROJECTION["Lambert_Conformal_Conic_2SP",AUTHORITY["IGNF","PRC8147"]],PARAMETER["latitude_of_origin",47.000000000],PARAMETER["central_meridian",3.000000000],PARAMETER["standard_parallel_1",46.250000000],PARAMETER["standard_parallel_2",47.750000000],PARAMETER["false_easting",1700000.000],PARAMETER["false_northing",6200000.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","RGF93CC47"]] -LMCC48Z7,PROJCS["Projection conique conforme Zone 7",PROJECTION["Lambert_Conformal_Conic_2SP",AUTHORITY["IGNF","PRC8148"]],PARAMETER["latitude_of_origin",48.000000000],PARAMETER["central_meridian",3.000000000],PARAMETER["standard_parallel_1",47.250000000],PARAMETER["standard_parallel_2",48.750000000],PARAMETER["false_easting",1700000.000],PARAMETER["false_northing",7200000.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","RGF93CC48"]] -LMCC49Z8,PROJCS["Projection conique conforme Zone 8",PROJECTION["Lambert_Conformal_Conic_2SP",AUTHORITY["IGNF","PRC8149"]],PARAMETER["latitude_of_origin",49.000000000],PARAMETER["central_meridian",3.000000000],PARAMETER["standard_parallel_1",48.250000000],PARAMETER["standard_parallel_2",49.750000000],PARAMETER["false_easting",1700000.000],PARAMETER["false_northing",8200000.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","RGF93CC49"]] -LMCC50Z9,PROJCS["Projection conique conforme Zone 9",PROJECTION["Lambert_Conformal_Conic_2SP",AUTHORITY["IGNF","PRC8150"]],PARAMETER["latitude_of_origin",50.000000000],PARAMETER["central_meridian",3.000000000],PARAMETER["standard_parallel_1",49.250000000],PARAMETER["standard_parallel_2",50.750000000],PARAMETER["false_easting",1700000.000],PARAMETER["false_northing",9200000.000],UNIT["metre",1],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["IGNF","RGF93CC50"]] -ETRS89,GEOGCS["ETRS89",DATUM["European_Terrestrial_Reference_System_1989",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6258"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4258"]] diff --git a/bin/gdal_data/ellipsoid.csv b/bin/gdal_data/ellipsoid.csv deleted file mode 100644 index 0e0bb9da..00000000 --- a/bin/gdal_data/ellipsoid.csv +++ /dev/null @@ -1,55 +0,0 @@ -ellipsoid_code,ellipsoid_name,semi_major_axis,uom_code,inv_flattening,semi_minor_axis,ellipsoid_shape,remarks,information_source,data_source,revision_date,change_id,deprecated -1024,CGCS2000,6378137,9001,298.257222101,,1,"Defining parameters semi-major axis, flattening and angular velocity are same as for GRS 1980 (ellipsoid code 7019); GM = 3986004.4e8 m*m*m/s/s (from NASA 1986 Lageos determination).",Chinese Academy of Surveying and Mapping.,OGP,2009/11/12,2009.084,0 -1025,GSK-2011,6378136.5,9001,298.2564151,,1,,"Parametry Zemli 1990 Reference Document, Military Topgraphic Department (VTU) of the General Staff of Armed Forces of the Russian Federation.",IOGP,2016/01/25,2015.055,0 -7001,Airy 1830,6377563.396,9001,299.3249646,,1,"Original definition is a=20923713, b=20853810 feet of 1796. 1/f is given to 7 decimal places. For the 1936 retriangulation OSGB defines the relationship of 10 feet of 1796 to the International metre through ([10^0.48401603]/10) exactly = 0.3048007491...",Ordnance Survey of Great Britain.,OGP,2006/11/27,1998.321 1998.340 2006.932,0 -7002,Airy Modified 1849,6377340.189,9001,299.3249646,,1,OSGB Airy 1830 figure (ellipsoid code 7001) rescaled by 0.999965 to best fit the scale of the 19th century primary triangulation of Ireland.,"""The Irish Grid - A Description of the Co-ordinate Reference System"" published by Ordnance Survey of Ireland, Dublin and Ordnance Survey of Northern Ireland, Belfast.",OGP,2003/06/27,1998.321 2002.622,0 -7003,Australian National Spheroid,6378160,9001,298.25,,1,Based on the GRS 1967 figure but with 1/f taken to 2 decimal places exactly. The dimensions are also used as the GRS 1967 Modified ellipsoid (see code 7050).,"""Australian Map Grid Technical Manual""; National Mapping Council of Australia Special Publication #7; 1972",OGP,2008/08/11,2002.500 2008.017,0 -7004,Bessel 1841,6377397.155,9001,299.1528128,,1,"Original Bessel definition is a=3272077.14 and b=3261139.33 toise. This used a weighted mean of values from several authors but did not account for differences in the length of the various toise: the ""Bessel toise"" is therefore of uncertain length.","US Army Map Service Technical Manual; 1943.",OGP,1999/04/22,1998.321 1998.340,0 -7005,Bessel Modified,6377492.018,9001,299.1528128,,1,Used in Norway and also in Sweden with a 1mm increase in semi-major axis.,,OGP,1999/04/22,1998.321,0 -7006,Bessel Namibia,6377483.865,9001,299.1528128,,1,a = 6377397.155 German legal metres. This is the same value as the Bessel 1841 figure (code 7004) but in different units. Used in Namibia.,"Chief Directorate: Surveys and Mapping, Mowbray, South Africa.",OGP,1999/04/22,1997.160,1 -7007,Clarke 1858,20926348,9005,,20855233,1,"Clarke's 1858/II solution. Derived parameters: a = 6378293.645m using his 1865 ratio of 0.3047972654 feet per metre; 1/f = 294.26068… In Australia and Amoco Trinidad 1/f taken to two decimal places (294.26 exactly); elsewhere a and b used to derive 1/f.","""Ellipsoidisch Parameter der Erdfigur (1800-1950)"" by Georg Strasser.",OGP,2005/08/14,1999.700 2005.370,0 -7008,Clarke 1866,6378206.4,9001,,6356583.8,1,Original definition a=20926062 and b=20855121 (British) feet. Uses Clarke's 1865 inch-metre ratio of 39.370432 to obtain metres. (Metric value then converted to US survey feet for use in the US and international feet for use in Cayman Islands).,"US Army Map Service Technical Manual No. 7; 1943.",OGP,2013/01/17,1998.340 2012.095,0 -7009,Clarke 1866 Michigan,20926631.531,9003,,20855688.674,1,"Used for Michigan NAD27 State Plane zones. Radius = ellipsoid radius + 800 feet; this approximates the average elevation of the state. Derived parameter: 1/f = 294.97870",USGS Professional Paper #1395.,OGP,1995/06/02,1998.220 2013.020,1 -7010,Clarke 1880 (Benoit),6378300.789,9001,,6356566.435,1,Adopts Clarke's values for a and b. Uses Benoit's 1895 ratio of 0.9143992 metres per yard to convert to metres.,,OGP,1995/06/02,,0 -7011,Clarke 1880 (IGN),6378249.2,9001,,6356515,1,Adopts Clarke's values for a and b using his 1865 ratio of 39.370432 inches per metre to convert axes to metres.,,OGP,1998/04/16,1998.120,0 -7012,Clarke 1880 (RGS),6378249.145,9001,293.465,,1,Adopts Clarke's values for a and 1/f. Adopts his 1865 ratio of 39.370432 inches per metre to convert semi-major axis to metres. Also known as Clarke Modified 1880.,"Empire Survey Review #32; 1939.",OGP,1995/06/02,,0 -7013,Clarke 1880 (Arc),6378249.145,9001,293.4663077,,1,Adopts Clarke's value for a with derived 1/f. Uses his 1865 ratio of 39.370432 inch per metre to convert semi-major axis to metres.,"Chief Directorate: Surveys and Mapping, Mowbray, South Africa.",OGP,2001/06/05,2001.052,0 -7014,Clarke 1880 (SGA 1922),6378249.2,9001,293.46598,,1,Used in Old French Triangulation (ATF). Uses Clarke's 1865 inch-metre ratio of 39.370432 to convert axes to metres.,,OGP,1995/06/02,,0 -7015,Everest 1830 (1937 Adjustment),6377276.345,9001,300.8017,,1,Used for the 1937 readjustment of Indian triangulation. Clarke's 1865 Indian-British foot ratio (0.99999566) and Benoit's 1898 British inch-metre ratio (39.370113) rounded as 0.30479841 exactly and applied to Everest's 1830 definition taken as a and 1/f,"Survey of India professional paper #28; 1939",OGP,1996/10/18,1996.200,0 -7016,Everest 1830 (1967 Definition),6377298.556,9001,300.8017,,1,Adopted 1967 for use in East Malaysia. Applies Sears 1922 inch-metre ratio of 39.370147 to Everest 1830 original definition of a and 1/f but with a taken to be in British rather than Indian feet.,,OGP,1995/06/02,,0 -7018,Everest 1830 Modified,6377304.063,9001,300.8017,,1,Adopted 1967 for use in West Malaysia. Applies Benoit 1898 inch-metre ratio of 39.370113 to Everest 1830 original definition of a and 1/f but with a taken to be in British rather than Indian feet.,,OGP,1995/06/02,,0 -7019,GRS 1980,6378137,9001,298.257222101,,1,"Adopted by IUGG 1979 Canberra. Inverse flattening is derived from geocentric gravitational constant GM = 3986005e8 m*m*m/s/s; dynamic form factor J2 = 108263e-8 and Earth's angular velocity = 7292115e-11 rad/s.","""Geodetic Reference System 1980"" by H. Moritz; Bulletin Geodesique",OGP,2013/08/23,1998.110 1998.320 2013.043,0 -7020,Helmert 1906,6378200,9001,298.3,,1,Helmert 1906/III solution.,"""Ellipsoidisch Parameter der Erdfigur (1800-1950)"" by Georg Strasser",OGP,1995/06/02,,0 -7021,Indonesian National Spheroid,6378160,9001,298.247,,1,Based on the GRS 1967 figure but with 1/f taken to 3 decimal places exactly.,Rais paper.,OGP,1995/06/02,,0 -7022,International 1924,6378388,9001,297,,1,Adopted by IUGG 1924 in Madrid. Based on Hayford 1909/1910 figures. ,,OGP,1995/06/02,,0 -7024,Krassowsky 1940,6378245,9001,298.3,,1,,,OGP,1995/06/02,,0 -7025,NWL 9D,6378145,9001,298.25,,1,Used by Transit Precise Ephemeris between October 1971 and January 1987.,,OGP,1995/06/02,,0 -7027,Plessis 1817,6376523,9001,308.64,,1,Rescaling of Delambre 1810 figure (a=6376985 m) to make meridional arc from equator to pole equal to 10000000 metres exactly. (Ref: Strasser).,"IGN Paris ""Constants d'Ellipsoides"" February 1972.",OGP,1995/06/02,,0 -7028,Struve 1860,6378298.3,9001,294.73,,1,"Original definition of semi-major axis given as 3272539 toise. In ""Ellipsoidisch Parameter der Erdfigur (1800-1950)"" , Strasser suggests a conversion factor of 1.94903631 which gives a=6378297.337 metres.","""Geodesia y Cartografia Matematica"" by Fernando Martin Asin; ISBN 84-398-0248-X.",OGP,1998/11/11,1998.070 1998.340,0 -7029,War Office,6378300,9001,296,,1,"In non-metric form, a=20926201 Gold Coast feet. DMA Technical Manual 8358.1 and data derived from this quotes value for semi-major axis as 6378300.58m: OGP recommends use of defined value 6378300m exactly.","Tables for the use of the Gold Coast Survey Department, 1935.",OGP,2009/10/29,2009.075,0 -7030,WGS 84,6378137,9001,298.257223563,,1,"1/f derived from four defining parameters semi-major axis; C20 = -484.16685*10e-6; earth's angular velocity ? = 7292115e-11 rad/sec; gravitational constant GM = 3986005e8 m*m*m/s/s. In 1994 new GM = 3986004.418e8 m*m*m/s/s but a and 1/f retained.",DMA Technical Manual 8350.2-B,IOGP,2015/11/25,1998.320 2015.047,0 -7031,GEM 10C,6378137,9001,298.257223563,,1,Used for GEM 10C Gravity Potential Model.,,OGP,1995/06/02,1998.320,0 -7032,OSU86F,6378136.2,9001,298.257223563,,1,Used for OSU86 gravity potential (geoidal) model.,,OGP,1995/06/02,1998.320,0 -7033,OSU91A,6378136.3,9001,298.257223563,,1,Used for OSU91 gravity potential (geoidal) model.,,OGP,1995/06/02,1998.320,0 -7034,Clarke 1880,20926202,9005,,20854895,1,Clarke gave a and b and also 1/f=293.465 (to 3 decimal places exactly). In the 19th century b was normally given as the second defining parameter.,"""Ellipsoidisch Parameter der Erdfigur (1800-1950)"" by Georg Strasser.",OGP,2008/06/26,2008.057,0 -7035,Sphere,6371000,9001,,6371000,0,Authalic sphere. 1/f is infinite. Superseded by GRS 1980 authalic sphere (code 7047).,,OGP,1995/06/02,,1 -7036,GRS 1967,6378160,9001,298.247167427,,1,"Adopted by IUGG 1967 Lucerne. 1/f given is derived from geocentric gravitational constant (GM)= 398603e9 m*m*m/s/s; dynamic form factor (J2) = 0.0010827 and Earth's angular velocity w = 7.2921151467e-5 rad/s. See also GRS 1967 Modified (code 7050).","""Geodetic Reference System 1967""; International Association of Geodesy special publication number 3; August 1971.",OGP,2011/02/25,1996.090 1997.252 1998.320 2002.500 2011.016,0 -7041,Average Terrestrial System 1977,6378135,9001,298.257,,1,,New Brunswick Geographic Information Corporation land and water information standards manual,OGP,1997/07/22,1998.321,0 -7042,Everest (1830 Definition),20922931.8,9080,,20853374.58,1,Everest gave a and b to 2 decimal places and also 1/f=300.8017 (to 4 decimal places exactly). In the 19th century b was normally given as the second defining parameter.,"""Ellipsoidisch Parameter der Erdfigur (1800-1950)"" by Georg Strasser",OGP,2008/06/26,1997.231 2008.057,0 -7043,WGS 72,6378135,9001,298.26,,1,,,OGP,1999/04/22,1999.030,0 -7044,Everest 1830 (1962 Definition),6377301.243,9001,300.8017255,,1,Used by Pakistan since metrication. Clarke's 1865 Indian foot-British foot ratio (0.99999566) and his 1865 British inch-metre ratio (39.369971) rounded with slight error as 1 Ind ft = 0.3047995m exactly and applied to Everest's 1830 definition of a & b.,,OGP,1999/10/20,,0 -7045,Everest 1830 (1975 Definition),6377299.151,9001,300.8017255,,1,Used by India since metrication. Clarke's 1865 Indian foot-British foot ratio (0.99999566) and his 1865 British inch-metre ratio (39.369971) rounded as 1 Ind ft = 0.3047995m exactly applied to Everest's 1830 original definition taken as a and b.,,OGP,1999/10/20,,0 -7046,Bessel Namibia (GLM),6377397.155,9031,299.1528128,,1,The semi-major axis has the same value as the Bessel 1841 ellipsoid (code 7004) but is in different units - German Legal Metres rather than International metres - hence a different size. a = 6377483.865 International metres. Used in Namibia.,"Chief Directorate: Surveys and Mapping, Mowbray, South Africa.",OGP,2007/09/21,2007.091,0 -7047,GRS 1980 Authalic Sphere,6370997,9001,,6370997,0,"Authalic sphere derived from Clarke 1866 ellipsoid (code 7008). Deprecated as name and parameter values do not match; replaced by 7048.",OGP,OGP,2001/06/05,,1 -7048,GRS 1980 Authalic Sphere,6371007,9001,,6371007,0,Authalic sphere derived from GRS 1980 ellipsoid (code 7019). (An authalic sphere is one with a surface area equal to the surface area of the ellipsoid). 1/f is infinite.,OGP,OGP,2001/06/25,,0 -7049,IAG 1975,6378140,9001,298.257,,1,,"Chinese Sceience Bulletin, 2009, 54:2714-2721.",OGP,2009/11/24,2009.084,0 -7050,GRS 1967 Modified,6378160,9001,298.25,,1,Based on the GRS 1967 figure (code 7036) but with 1/f taken to 2 decimal places exactly. Used with SAD69 and TWD67 datums. The dimensions are also used as the Australian National Spheroid (code 7003).,"""Geodetic Reference System 1967""; International Association of Geodesy special publication number 3; August 1971.",OGP,2008/08/11,2008.017,0 -7051,Danish 1876,6377019.27,9001,300,,1,Semi-major axis originally given as 3271883.25 toise. Uses toise to French metre ratio of 1.94903631 to two decimal place precision. An alternative ratio with the German legal metre of 1.9490622 giving 6377104m has not been used in Danish work.,"Kort og Matrikelstyrelsen (KMS), Copenhagen.",OGP,2003/06/27,,0 -7052,Clarke 1866 Authalic Sphere,6370997,9001,,6370997,0,Authalic sphere derived from Clarke 1866 ellipsoid (code 7008).,OGP,OGP,2004/04/27,,0 -7053,Hough 1960,6378270,9001,297,,1,,DMA / NIMA / NGA TR8350.2,OGP,2006/01/26,,0 -7054,PZ-90,6378136,9001,298.257839303,,1,"Earth's angular velocity ? = 7.292115e-5 rad/sec; gravitational constant GM = 3986004.418e8 m*m*m/s/s.","Parametry Zemli 1990 Reference Document, Military Topgraphic Department (VTU) of the General Staff of Armed Forces of the Russian Federation.",IOGP,2016/12/15,2015.055,0 -7055,Clarke 1880 (international foot),20926202,9002,,20854895,1,Clark'es 1880 definition in feet assumed for the purposes of metric conversion to be international foot. a = 6378306.370…metres. 1/f derived from a and b = 293.4663077… Used in Fiji.,"Department of Lands and Survey, Fiji.",OGP,2006/07/14,,0 -7056,Everest 1830 (RSO 1969),6377295.664,9001,300.8017,,1,Adopted for 1969 metrication of peninsula Malaysia RSO grid. Uses Sears 1922 yard-metre ratio truncated to 6 significant figures applied to Everest 1830 original definition of a and 1/f but with a taken to be in British rather than Indian feet.,Defence Geographic Centre,OGP,2006/07/24,,0 -7057,International 1924 Authalic Sphere,6371228,9001,,6371228,0,Authalic sphere derived from International 1924 ellipsoid (code 7022).,OGP,OGP,2006/09/22,,0 -7058,Hughes 1980,6378273,9001,,6356889.449,1,Used in US DMSP SSM/I microwave sensor processing software. Semi-minor axis derived from eccentricity=0.081816153. Semi-major axis (a) sometimes given as 3443.992nm which OGP suspects is a derived approximation. OGP conversion assumes 1nm=1852m exactly.,US National Snow and Ice Data Center,OGP,2006/09/22,,0 -7059,Popular Visualisation Sphere,6378137,9001,,6378137,0,Sphere with radius equal to the semi-major axis of the GRS80 and WGS 84 ellipsoids. Used only for Web approximate mapping and visualisation. Not recognised by geodetic authorities.,Microsoft.,OGP,2008/03/14,2008.114,1 diff --git a/bin/gdal_data/epsg.wkt b/bin/gdal_data/epsg.wkt deleted file mode 100644 index 036698b3..00000000 --- a/bin/gdal_data/epsg.wkt +++ /dev/null @@ -1,2 +0,0 @@ -include esri_extra.wkt -include cubewerx_extra.wkt diff --git a/bin/gdal_data/esri_StatePlane_extra.wkt b/bin/gdal_data/esri_StatePlane_extra.wkt deleted file mode 100644 index a04102eb..00000000 --- a/bin/gdal_data/esri_StatePlane_extra.wkt +++ /dev/null @@ -1,631 +0,0 @@ -1010,PROJCS["NAD_1983_HARN_StatePlane_Alabama_East_FIPS_0101",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-85.83333333333333],PARAMETER["Scale_Factor",0.99996],PARAMETER["Latitude_Of_Origin",30.5],UNIT["Meter",1]] -1011,PROJCS["NAD_1983_StatePlane_Alabama_East_FIPS_0101",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-85.83333333333333],PARAMETER["Scale_Factor",0.99996],PARAMETER["Latitude_Of_Origin",30.5],UNIT["Meter",1]] -1012,PROJCS["NAD_1983_StatePlane_Alabama_East_FIPS_0101_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-85.83333333333333],PARAMETER["Scale_Factor",0.99996],PARAMETER["Latitude_Of_Origin",30.5],UNIT["Foot_US",0.304800609601219241]] -1014,PROJCS["NAD_1927_StatePlane_Alabama_East_FIPS_0101",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-85.83333333333333],PARAMETER["Scale_Factor",0.99996],PARAMETER["Latitude_Of_Origin",30.5],UNIT["Foot_US",0.304800609601219241]] -1020,PROJCS["NAD_1983_HARN_StatePlane_Alabama_West_FIPS_0102",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-87.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",30],UNIT["Meter",1]] -1021,PROJCS["NAD_1983_StatePlane_Alabama_West_FIPS_0102",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-87.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",30],UNIT["Meter",1]] -1022,PROJCS["NAD_1983_StatePlane_Alabama_West_FIPS_0102_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-87.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",30],UNIT["Foot_US",0.304800609601219241]] -1024,PROJCS["NAD_1927_StatePlane_Alabama_West_FIPS_0102",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-87.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",30],UNIT["Foot_US",0.304800609601219241]] -2010,PROJCS["NAD_1983_HARN_StatePlane_Arizona_East_FIPS_0201",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",213360],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-110.1666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1]] -2011,PROJCS["NAD_1983_StatePlane_Arizona_East_FIPS_0201",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",213360],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-110.1666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1]] -2012,PROJCS["NAD_1983_StatePlane_Arizona_East_FIPS_0201_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",699998.5999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-110.1666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.304800609601219241]] -2013,PROJCS["NAD_1983_HARN_StatePlane_Arizona_East_FIPS_0201_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-110.1666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31.0],UNIT["Foot",0.3048]] -2014,PROJCS["NAD_1927_StatePlane_Arizona_East_FIPS_0201",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-110.1666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.304800609601219241]] -2015,PROJCS["NAD_1983_HARN_StatePlane_Arizona_East_FIPS_0201_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-110.1666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31.0],UNIT["Foot",0.3048]] -2016,PROJCS["NAD_1983_StatePlane_Arizona_East_FIPS_0201_Feet_Intl",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-110.1666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31.0],UNIT["Foot",0.3048]] -2020,PROJCS["NAD_1983_HARN_StatePlane_Arizona_Central_FIPS_0202",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",213360],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-111.9166666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1]] -2021,PROJCS["NAD_1983_StatePlane_Arizona_Central_FIPS_0202",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",213360],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-111.9166666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1]] -2022,PROJCS["NAD_1983_StatePlane_Arizona_Central_FIPS_0202_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",699998.5999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-111.9166666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.304800609601219241]] -2023,PROJCS["NAD_1983_HARN_StatePlane_Arizona_Central_FIPS_0202_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-111.9166666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31.0],UNIT["Foot",0.3048]] -2024,PROJCS["NAD_1927_StatePlane_Arizona_Central_FIPS_0202",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-111.9166666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.304800609601219241]] -2025,PROJCS["NAD_1983_HARN_StatePlane_Arizona_Central_FIPS_0202_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-111.9166666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31.0],UNIT["Foot",0.3048]] -2026,PROJCS["NAD_1983_StatePlane_Arizona_Central_FIPS_0202_Feet_Intl",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-111.9166666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31.0],UNIT["Foot",0.3048]] -2030,PROJCS["NAD_1983_HARN_StatePlane_Arizona_West_FIPS_0203",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",213360],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-113.75],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1]] -2031,PROJCS["NAD_1983_StatePlane_Arizona_West_FIPS_0203",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",213360],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-113.75],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1]] -2032,PROJCS["NAD_1983_StatePlane_Arizona_West_FIPS_0203_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",699998.5999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-113.75],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.304800609601219241]] -2033,PROJCS["NAD_1983_HARN_StatePlane_Arizona_West_FIPS_0203_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-113.75],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",31.0],UNIT["Foot",0.3048]] -2034,PROJCS["NAD_1927_StatePlane_Arizona_West_FIPS_0203",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-113.75],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.304800609601219241]] -2035,PROJCS["NAD_1983_HARN_StatePlane_Arizona_West_FIPS_0203_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-113.75],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",31.0],UNIT["Foot",0.3048]] -2036,PROJCS["NAD_1983_StatePlane_Arizona_West_FIPS_0203_Feet_Intl",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-113.75],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",31.0],UNIT["Foot",0.3048]] -3010,PROJCS["NAD_1983_HARN_StatePlane_Arkansas_North_FIPS_0301",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",400000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-92.0],PARAMETER["Standard_Parallel_1",34.93333333333333],PARAMETER["Standard_Parallel_2",36.23333333333333],PARAMETER["Latitude_Of_Origin",34.33333333333334],UNIT["Meter",1.0]] -3011,PROJCS["NAD_1983_StatePlane_Arkansas_North_FIPS_0301",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92],PARAMETER["Standard_Parallel_1",34.93333333333333],PARAMETER["Standard_Parallel_2",36.23333333333333],PARAMETER["Latitude_Of_Origin",34.33333333333334],UNIT["Meter",1]] -3012,PROJCS["NAD_1983_StatePlane_Arkansas_North_FIPS_0301_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92],PARAMETER["Standard_Parallel_1",34.93333333333333],PARAMETER["Standard_Parallel_2",36.23333333333333],PARAMETER["Latitude_Of_Origin",34.33333333333334],UNIT["Foot_US",0.304800609601219241]] -3013,PROJCS["NAD_1983_HARN_StatePlane_Arkansas_North_FIPS_0301_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-92.0],PARAMETER["Standard_Parallel_1",34.93333333333333],PARAMETER["Standard_Parallel_2",36.23333333333333],PARAMETER["Latitude_Of_Origin",34.33333333333334],UNIT["Foot_US",0.3048006096012192]] -3014,PROJCS["NAD_1927_StatePlane_Arkansas_North_FIPS_0301",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92],PARAMETER["Standard_Parallel_1",34.93333333333333],PARAMETER["Standard_Parallel_2",36.23333333333333],PARAMETER["Latitude_Of_Origin",34.33333333333334],UNIT["Foot_US",0.304800609601219241]] -3020,PROJCS["NAD_1983_HARN_StatePlane_Arkansas_South_FIPS_0302",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",400000.0],PARAMETER["False_Northing",400000.0],PARAMETER["Central_Meridian",-92.0],PARAMETER["Standard_Parallel_1",33.3],PARAMETER["Standard_Parallel_2",34.76666666666667],PARAMETER["Latitude_Of_Origin",32.66666666666666],UNIT["Meter",1.0]] -3021,PROJCS["NAD_1983_StatePlane_Arkansas_South_FIPS_0302",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",400000],PARAMETER["Central_Meridian",-92],PARAMETER["Standard_Parallel_1",33.3],PARAMETER["Standard_Parallel_2",34.76666666666667],PARAMETER["Latitude_Of_Origin",32.66666666666666],UNIT["Meter",1]] -3022,PROJCS["NAD_1983_StatePlane_Arkansas_South_FIPS_0302_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",1312333.333333333],PARAMETER["Central_Meridian",-92],PARAMETER["Standard_Parallel_1",33.3],PARAMETER["Standard_Parallel_2",34.76666666666667],PARAMETER["Latitude_Of_Origin",32.66666666666666],UNIT["Foot_US",0.304800609601219241]] -3023,PROJCS["NAD_1983_HARN_StatePlane_Arkansas_South_FIPS_0302_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",1312333.333333333],PARAMETER["Central_Meridian",-92.0],PARAMETER["Standard_Parallel_1",33.3],PARAMETER["Standard_Parallel_2",34.76666666666667],PARAMETER["Latitude_Of_Origin",32.66666666666666],UNIT["Foot_US",0.3048006096012192]] -3024,PROJCS["NAD_1927_StatePlane_Arkansas_South_FIPS_0302",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92],PARAMETER["Standard_Parallel_1",33.3],PARAMETER["Standard_Parallel_2",34.76666666666667],PARAMETER["Latitude_Of_Origin",32.66666666666666],UNIT["Foot_US",0.304800609601219241]] -4010,PROJCS["NAD_1983_HARN_StatePlane_California_I_FIPS_0401",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-122],PARAMETER["Standard_Parallel_1",40],PARAMETER["Standard_Parallel_2",41.66666666666666],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Meter",1]] -4011,PROJCS["NAD_1983_StatePlane_California_I_FIPS_0401",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-122],PARAMETER["Standard_Parallel_1",40],PARAMETER["Standard_Parallel_2",41.66666666666666],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Meter",1]] -4012,PROJCS["NAD_1983_StatePlane_California_I_FIPS_0401_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-122],PARAMETER["Standard_Parallel_1",40],PARAMETER["Standard_Parallel_2",41.66666666666666],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Foot_US",0.304800609601219241]] -4013,PROJCS["NAD_1983_HARN_StatePlane_California_I_FIPS_0401_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-122.0],PARAMETER["Standard_Parallel_1",40.0],PARAMETER["Standard_Parallel_2",41.66666666666666],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Foot_US",0.3048006096012192]] -4014,PROJCS["NAD_1927_StatePlane_California_I_FIPS_0401",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-122],PARAMETER["Standard_Parallel_1",40],PARAMETER["Standard_Parallel_2",41.66666666666666],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Foot_US",0.304800609601219241]] -4020,PROJCS["NAD_1983_HARN_StatePlane_California_II_FIPS_0402",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-122],PARAMETER["Standard_Parallel_1",38.33333333333334],PARAMETER["Standard_Parallel_2",39.83333333333334],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Meter",1]] -4021,PROJCS["NAD_1983_StatePlane_California_II_FIPS_0402",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-122],PARAMETER["Standard_Parallel_1",38.33333333333334],PARAMETER["Standard_Parallel_2",39.83333333333334],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Meter",1]] -4022,PROJCS["NAD_1983_StatePlane_California_II_FIPS_0402_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-122],PARAMETER["Standard_Parallel_1",38.33333333333334],PARAMETER["Standard_Parallel_2",39.83333333333334],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Foot_US",0.304800609601219241]] -4023,PROJCS["NAD_1983_HARN_StatePlane_California_II_FIPS_0402_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-122.0],PARAMETER["Standard_Parallel_1",38.33333333333334],PARAMETER["Standard_Parallel_2",39.83333333333334],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Foot_US",0.3048006096012192]] -4024,PROJCS["NAD_1927_StatePlane_California_II_FIPS_0402",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-122],PARAMETER["Standard_Parallel_1",38.33333333333334],PARAMETER["Standard_Parallel_2",39.83333333333334],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Foot_US",0.304800609601219241]] -4030,PROJCS["NAD_1983_HARN_StatePlane_California_III_FIPS_0403",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",37.06666666666667],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.5],UNIT["Meter",1]] -4031,PROJCS["NAD_1983_StatePlane_California_III_FIPS_0403",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",37.06666666666667],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.5],UNIT["Meter",1]] -4032,PROJCS["NAD_1983_StatePlane_California_III_FIPS_0403_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",37.06666666666667],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.5],UNIT["Foot_US",0.304800609601219241]] -4033,PROJCS["NAD_1983_HARN_StatePlane_California_III_FIPS_0403_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",37.06666666666667],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.5],UNIT["Foot_US",0.3048006096012192]] -4034,PROJCS["NAD_1927_StatePlane_California_III_FIPS_0403",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",37.06666666666667],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.5],UNIT["Foot_US",0.304800609601219241]] -4040,PROJCS["NAD_1983_HARN_StatePlane_California_IV_FIPS_0404",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-119],PARAMETER["Standard_Parallel_1",36],PARAMETER["Standard_Parallel_2",37.25],PARAMETER["Latitude_Of_Origin",35.33333333333334],UNIT["Meter",1]] -4041,PROJCS["NAD_1983_StatePlane_California_IV_FIPS_0404",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-119],PARAMETER["Standard_Parallel_1",36],PARAMETER["Standard_Parallel_2",37.25],PARAMETER["Latitude_Of_Origin",35.33333333333334],UNIT["Meter",1]] -4042,PROJCS["NAD_1983_StatePlane_California_IV_FIPS_0404_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-119],PARAMETER["Standard_Parallel_1",36],PARAMETER["Standard_Parallel_2",37.25],PARAMETER["Latitude_Of_Origin",35.33333333333334],UNIT["Foot_US",0.304800609601219241]] -4043,PROJCS["NAD_1983_HARN_StatePlane_California_IV_FIPS_0404_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-119.0],PARAMETER["Standard_Parallel_1",36.0],PARAMETER["Standard_Parallel_2",37.25],PARAMETER["Latitude_Of_Origin",35.33333333333334],UNIT["Foot_US",0.3048006096012192]] -4044,PROJCS["NAD_1927_StatePlane_California_IV_FIPS_0404",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-119],PARAMETER["Standard_Parallel_1",36],PARAMETER["Standard_Parallel_2",37.25],PARAMETER["Latitude_Of_Origin",35.33333333333334],UNIT["Foot_US",0.304800609601219241]] -4050,PROJCS["NAD_1983_HARN_StatePlane_California_V_FIPS_0405",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-118],PARAMETER["Standard_Parallel_1",34.03333333333333],PARAMETER["Standard_Parallel_2",35.46666666666667],PARAMETER["Latitude_Of_Origin",33.5],UNIT["Meter",1]] -4051,PROJCS["NAD_1983_StatePlane_California_V_FIPS_0405",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-118],PARAMETER["Standard_Parallel_1",34.03333333333333],PARAMETER["Standard_Parallel_2",35.46666666666667],PARAMETER["Latitude_Of_Origin",33.5],UNIT["Meter",1]] -4052,PROJCS["NAD_1983_StatePlane_California_V_FIPS_0405_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-118],PARAMETER["Standard_Parallel_1",34.03333333333333],PARAMETER["Standard_Parallel_2",35.46666666666667],PARAMETER["Latitude_Of_Origin",33.5],UNIT["Foot_US",0.304800609601219241]] -4053,PROJCS["NAD_1983_HARN_StatePlane_California_V_FIPS_0405_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-118.0],PARAMETER["Standard_Parallel_1",34.03333333333333],PARAMETER["Standard_Parallel_2",35.46666666666667],PARAMETER["Latitude_Of_Origin",33.5],UNIT["Foot_US",0.3048006096012192]] -4054,PROJCS["NAD_1927_StatePlane_California_V_FIPS_0405",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-118],PARAMETER["Standard_Parallel_1",34.03333333333333],PARAMETER["Standard_Parallel_2",35.46666666666667],PARAMETER["Latitude_Of_Origin",33.5],UNIT["Foot_US",0.304800609601219241]] -4060,PROJCS["NAD_1983_HARN_StatePlane_California_VI_FIPS_0406",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-116.25],PARAMETER["Standard_Parallel_1",32.78333333333333],PARAMETER["Standard_Parallel_2",33.88333333333333],PARAMETER["Latitude_Of_Origin",32.16666666666666],UNIT["Meter",1]] -4061,PROJCS["NAD_1983_StatePlane_California_VI_FIPS_0406",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-116.25],PARAMETER["Standard_Parallel_1",32.78333333333333],PARAMETER["Standard_Parallel_2",33.88333333333333],PARAMETER["Latitude_Of_Origin",32.16666666666666],UNIT["Meter",1]] -4062,PROJCS["NAD_1983_StatePlane_California_VI_FIPS_0406_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-116.25],PARAMETER["Standard_Parallel_1",32.78333333333333],PARAMETER["Standard_Parallel_2",33.88333333333333],PARAMETER["Latitude_Of_Origin",32.16666666666666],UNIT["Foot_US",0.304800609601219241]] -4063,PROJCS["NAD_1983_HARN_StatePlane_California_VI_FIPS_0406_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-116.25],PARAMETER["Standard_Parallel_1",32.78333333333333],PARAMETER["Standard_Parallel_2",33.88333333333333],PARAMETER["Latitude_Of_Origin",32.16666666666666],UNIT["Foot_US",0.3048006096012192]] -4064,PROJCS["NAD_1927_StatePlane_California_VI_FIPS_0406",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-116.25],PARAMETER["Standard_Parallel_1",32.78333333333333],PARAMETER["Standard_Parallel_2",33.88333333333333],PARAMETER["Latitude_Of_Origin",32.16666666666666],UNIT["Foot_US",0.304800609601219241]] -4074,PROJCS["NAD_1927_StatePlane_California_VII_FIPS_0407",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",4186692.58],PARAMETER["False_Northing",4160926.74],PARAMETER["Central_Meridian",-118.3333333333333],PARAMETER["Standard_Parallel_1",33.86666666666667],PARAMETER["Standard_Parallel_2",34.41666666666666],PARAMETER["Latitude_Of_Origin",34.13333333333333],UNIT["Foot_US",0.304800609601219241]] -5010,PROJCS["NAD_1983_HARN_StatePlane_Colorado_North_FIPS_0501",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",914401.8289],PARAMETER["False_Northing",304800.6096],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",39.71666666666667],PARAMETER["Standard_Parallel_2",40.78333333333333],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Meter",1]] -5011,PROJCS["NAD_1983_StatePlane_Colorado_North_FIPS_0501",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",914401.8289],PARAMETER["False_Northing",304800.6096],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",39.71666666666667],PARAMETER["Standard_Parallel_2",40.78333333333333],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Meter",1]] -5012,PROJCS["NAD_1983_StatePlane_Colorado_North_FIPS_0501_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3000000.000316083],PARAMETER["False_Northing",999999.999996],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",39.71666666666667],PARAMETER["Standard_Parallel_2",40.78333333333333],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Foot_US",0.304800609601219241]] -5013,PROJCS["NAD_1983_HARN_StatePlane_Colorado_North_FIPS_0501_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3000000.000316083],PARAMETER["False_Northing",999999.999996],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",39.71666666666667],PARAMETER["Standard_Parallel_2",40.78333333333333],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Foot_US",0.3048006096012192]] -5014,PROJCS["NAD_1927_StatePlane_Colorado_North_FIPS_0501",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",39.71666666666667],PARAMETER["Standard_Parallel_2",40.78333333333333],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Foot_US",0.304800609601219241]] -5020,PROJCS["NAD_1983_HARN_StatePlane_Colorado_Central_FIPS_0502",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",914401.8289],PARAMETER["False_Northing",304800.6096],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",38.45],PARAMETER["Standard_Parallel_2",39.75],PARAMETER["Latitude_Of_Origin",37.83333333333334],UNIT["Meter",1]] -5021,PROJCS["NAD_1983_StatePlane_Colorado_Central_FIPS_0502",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",914401.8289],PARAMETER["False_Northing",304800.6096],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",38.45],PARAMETER["Standard_Parallel_2",39.75],PARAMETER["Latitude_Of_Origin",37.83333333333334],UNIT["Meter",1]] -5022,PROJCS["NAD_1983_StatePlane_Colorado_Central_FIPS_0502_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3000000.000316083],PARAMETER["False_Northing",999999.999996],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",38.45],PARAMETER["Standard_Parallel_2",39.75],PARAMETER["Latitude_Of_Origin",37.83333333333334],UNIT["Foot_US",0.304800609601219241]] -5023,PROJCS["NAD_1983_HARN_StatePlane_Colorado_Central_FIPS_0502_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3000000.000316083],PARAMETER["False_Northing",999999.999996],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",38.45],PARAMETER["Standard_Parallel_2",39.75],PARAMETER["Latitude_Of_Origin",37.83333333333334],UNIT["Foot_US",0.3048006096012192]] -5024,PROJCS["NAD_1927_StatePlane_Colorado_Central_FIPS_0502",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",38.45],PARAMETER["Standard_Parallel_2",39.75],PARAMETER["Latitude_Of_Origin",37.83333333333334],UNIT["Foot_US",0.304800609601219241]] -5030,PROJCS["NAD_1983_HARN_StatePlane_Colorado_South_FIPS_0503",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",914401.8289],PARAMETER["False_Northing",304800.6096],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",37.23333333333333],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Meter",1]] -5031,PROJCS["NAD_1983_StatePlane_Colorado_South_FIPS_0503",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",914401.8289],PARAMETER["False_Northing",304800.6096],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",37.23333333333333],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Meter",1]] -5032,PROJCS["NAD_1983_StatePlane_Colorado_South_FIPS_0503_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3000000.000316083],PARAMETER["False_Northing",999999.999996],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",37.23333333333333],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.304800609601219241]] -5033,PROJCS["NAD_1983_HARN_StatePlane_Colorado_South_FIPS_0503_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3000000.000316083],PARAMETER["False_Northing",999999.999996],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",37.23333333333333],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.3048006096012192]] -5034,PROJCS["NAD_1927_StatePlane_Colorado_South_FIPS_0503",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",37.23333333333333],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.304800609601219241]] -6000,PROJCS["NAD_1983_HARN_StatePlane_Connecticut_FIPS_0600",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",304800.6096],PARAMETER["False_Northing",152400.3048],PARAMETER["Central_Meridian",-72.75],PARAMETER["Standard_Parallel_1",41.2],PARAMETER["Standard_Parallel_2",41.86666666666667],PARAMETER["Latitude_Of_Origin",40.83333333333334],UNIT["Meter",1]] -6001,PROJCS["NAD_1983_StatePlane_Connecticut_FIPS_0600",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",304800.6096],PARAMETER["False_Northing",152400.3048],PARAMETER["Central_Meridian",-72.75],PARAMETER["Standard_Parallel_1",41.2],PARAMETER["Standard_Parallel_2",41.86666666666667],PARAMETER["Latitude_Of_Origin",40.83333333333334],UNIT["Meter",1]] -6002,PROJCS["NAD_1983_StatePlane_Connecticut_FIPS_0600_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",999999.999996],PARAMETER["False_Northing",499999.999998],PARAMETER["Central_Meridian",-72.75],PARAMETER["Standard_Parallel_1",41.2],PARAMETER["Standard_Parallel_2",41.86666666666667],PARAMETER["Latitude_Of_Origin",40.83333333333334],UNIT["Foot_US",0.304800609601219241]] -6003,PROJCS["NAD_1983_HARN_StatePlane_Connecticut_FIPS_0600_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",999999.999996],PARAMETER["False_Northing",499999.999998],PARAMETER["Central_Meridian",-72.75],PARAMETER["Standard_Parallel_1",41.2],PARAMETER["Standard_Parallel_2",41.86666666666667],PARAMETER["Latitude_Of_Origin",40.83333333333334],UNIT["Foot_US",0.3048006096012192]] -6004,PROJCS["NAD_1927_StatePlane_Connecticut_FIPS_0600",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-72.75],PARAMETER["Standard_Parallel_1",41.2],PARAMETER["Standard_Parallel_2",41.86666666666667],PARAMETER["Latitude_Of_Origin",40.83333333333334],UNIT["Foot_US",0.304800609601219241]] -7000,PROJCS["NAD_1983_HARN_StatePlane_Delaware_FIPS_0700",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-75.41666666666667],PARAMETER["Scale_Factor",0.999995],PARAMETER["Latitude_Of_Origin",38],UNIT["Meter",1]] -7001,PROJCS["NAD_1983_StatePlane_Delaware_FIPS_0700",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-75.41666666666667],PARAMETER["Scale_Factor",0.999995],PARAMETER["Latitude_Of_Origin",38],UNIT["Meter",1]] -7002,PROJCS["NAD_1983_StatePlane_Delaware_FIPS_0700_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-75.41666666666667],PARAMETER["Scale_Factor",0.999995],PARAMETER["Latitude_Of_Origin",38],UNIT["Foot_US",0.304800609601219241]] -7003,PROJCS["NAD_1983_HARN_StatePlane_Delaware_FIPS_0700_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-75.41666666666667],PARAMETER["Scale_Factor",0.999995],PARAMETER["Latitude_Of_Origin",38.0],UNIT["Foot_US",0.3048006096012192]] -7004,PROJCS["NAD_1927_StatePlane_Delaware_FIPS_0700",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-75.41666666666667],PARAMETER["Scale_Factor",0.999995],PARAMETER["Latitude_Of_Origin",38],UNIT["Foot_US",0.304800609601219241]] -9010,PROJCS["NAD_1983_HARN_StatePlane_Florida_East_FIPS_0901",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",24.33333333333333],UNIT["Meter",1]] -9011,PROJCS["NAD_1983_StatePlane_Florida_East_FIPS_0901",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",24.33333333333333],UNIT["Meter",1]] -9012,PROJCS["NAD_1983_StatePlane_Florida_East_FIPS_0901_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",24.33333333333333],UNIT["Foot_US",0.304800609601219241]] -9013,PROJCS["NAD_1983_HARN_StatePlane_Florida_East_FIPS_0901_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-81.0],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",24.33333333333333],UNIT["Foot_US",0.3048006096012192]] -9014,PROJCS["NAD_1927_StatePlane_Florida_East_FIPS_0901",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",24.33333333333333],UNIT["Foot_US",0.304800609601219241]] -9020,PROJCS["NAD_1983_HARN_StatePlane_Florida_West_FIPS_0902",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",24.33333333333333],UNIT["Meter",1]] -9021,PROJCS["NAD_1983_StatePlane_Florida_West_FIPS_0902",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",24.33333333333333],UNIT["Meter",1]] -9022,PROJCS["NAD_1983_StatePlane_Florida_West_FIPS_0902_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",24.33333333333333],UNIT["Foot_US",0.304800609601219241]] -9023,PROJCS["NAD_1983_HARN_StatePlane_Florida_West_FIPS_0902_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-82.0],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",24.33333333333333],UNIT["Foot_US",0.3048006096012192]] -9024,PROJCS["NAD_1927_StatePlane_Florida_West_FIPS_0902",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",24.33333333333333],UNIT["Foot_US",0.304800609601219241]] -9030,PROJCS["NAD_1983_HARN_StatePlane_Florida_North_FIPS_0903",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.5],PARAMETER["Standard_Parallel_1",29.58333333333333],PARAMETER["Standard_Parallel_2",30.75],PARAMETER["Latitude_Of_Origin",29],UNIT["Meter",1]] -9031,PROJCS["NAD_1983_StatePlane_Florida_North_FIPS_0903",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.5],PARAMETER["Standard_Parallel_1",29.58333333333333],PARAMETER["Standard_Parallel_2",30.75],PARAMETER["Latitude_Of_Origin",29],UNIT["Meter",1]] -9032,PROJCS["NAD_1983_StatePlane_Florida_North_FIPS_0903_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.5],PARAMETER["Standard_Parallel_1",29.58333333333333],PARAMETER["Standard_Parallel_2",30.75],PARAMETER["Latitude_Of_Origin",29],UNIT["Foot_US",0.304800609601219241]] -9033,PROJCS["NAD_1983_HARN_StatePlane_Florida_North_FIPS_0903_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-84.5],PARAMETER["Standard_Parallel_1",29.58333333333333],PARAMETER["Standard_Parallel_2",30.75],PARAMETER["Latitude_Of_Origin",29.0],UNIT["Foot_US",0.3048006096012192]] -9034,PROJCS["NAD_1927_StatePlane_Florida_North_FIPS_0903",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.5],PARAMETER["Standard_Parallel_1",29.58333333333333],PARAMETER["Standard_Parallel_2",30.75],PARAMETER["Latitude_Of_Origin",29],UNIT["Foot_US",0.304800609601219241]] -10010,PROJCS["NAD_1983_HARN_StatePlane_Georgia_East_FIPS_1001",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.16666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",30],UNIT["Meter",1]] -10011,PROJCS["NAD_1983_StatePlane_Georgia_East_FIPS_1001",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.16666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",30],UNIT["Meter",1]] -10012,PROJCS["NAD_1983_StatePlane_Georgia_East_FIPS_1001_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.16666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",30],UNIT["Foot_US",0.304800609601219241]] -10013,PROJCS["NAD_1983_HARN_StatePlane_Georgia_East_FIPS_1001_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-82.16666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",30.0],UNIT["Foot_US",0.3048006096012192]] -10014,PROJCS["NAD_1927_StatePlane_Georgia_East_FIPS_1001",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.16666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",30],UNIT["Foot_US",0.304800609601219241]] -10020,PROJCS["NAD_1983_HARN_StatePlane_Georgia_West_FIPS_1002",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.16666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",30],UNIT["Meter",1]] -10021,PROJCS["NAD_1983_StatePlane_Georgia_West_FIPS_1002",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.16666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",30],UNIT["Meter",1]] -10022,PROJCS["NAD_1983_StatePlane_Georgia_West_FIPS_1002_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2296583.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.16666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",30],UNIT["Foot_US",0.304800609601219241]] -10023,PROJCS["NAD_1983_HARN_StatePlane_Georgia_West_FIPS_1002_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2296583.333333333],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-84.16666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",30.0],UNIT["Foot_US",0.3048006096012192]] -10024,PROJCS["NAD_1927_StatePlane_Georgia_West_FIPS_1002",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.16666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",30],UNIT["Foot_US",0.304800609601219241]] -11010,PROJCS["NAD_1983_HARN_StatePlane_Idaho_East_FIPS_1101",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-112.1666666666667],PARAMETER["Scale_Factor",0.9999473684210526],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Meter",1]] -11011,PROJCS["NAD_1983_StatePlane_Idaho_East_FIPS_1101",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-112.1666666666667],PARAMETER["Scale_Factor",0.9999473684210526],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Meter",1]] -11012,PROJCS["NAD_1983_StatePlane_Idaho_East_FIPS_1101_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-112.1666666666667],PARAMETER["Scale_Factor",0.9999473684210526],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot_US",0.304800609601219241]] -11013,PROJCS["NAD_1983_HARN_StatePlane_Idaho_East_FIPS_1101_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-112.1666666666667],PARAMETER["Scale_Factor",0.9999473684210526],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot_US",0.3048006096012192]] -11014,PROJCS["NAD_1927_StatePlane_Idaho_East_FIPS_1101",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-112.1666666666667],PARAMETER["Scale_Factor",0.9999473684210526],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot_US",0.304800609601219241]] -11020,PROJCS["NAD_1983_HARN_StatePlane_Idaho_Central_FIPS_1102",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-114],PARAMETER["Scale_Factor",0.9999473684210526],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Meter",1]] -11021,PROJCS["NAD_1983_StatePlane_Idaho_Central_FIPS_1102",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-114],PARAMETER["Scale_Factor",0.9999473684210526],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Meter",1]] -11022,PROJCS["NAD_1983_StatePlane_Idaho_Central_FIPS_1102_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-114],PARAMETER["Scale_Factor",0.9999473684210526],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot_US",0.304800609601219241]] -11023,PROJCS["NAD_1983_HARN_StatePlane_Idaho_Central_FIPS_1102_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-114.0],PARAMETER["Scale_Factor",0.9999473684210526],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot_US",0.3048006096012192]] -11024,PROJCS["NAD_1927_StatePlane_Idaho_Central_FIPS_1102",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-114],PARAMETER["Scale_Factor",0.9999473684210526],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot_US",0.304800609601219241]] -11030,PROJCS["NAD_1983_HARN_StatePlane_Idaho_West_FIPS_1103",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",800000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-115.75],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Meter",1]] -11031,PROJCS["NAD_1983_StatePlane_Idaho_West_FIPS_1103",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",800000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-115.75],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Meter",1]] -11032,PROJCS["NAD_1983_StatePlane_Idaho_West_FIPS_1103_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-115.75],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot_US",0.304800609601219241]] -11033,PROJCS["NAD_1983_HARN_StatePlane_Idaho_West_FIPS_1103_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-115.75],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot_US",0.3048006096012192]] -11034,PROJCS["NAD_1927_StatePlane_Idaho_West_FIPS_1103",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-115.75],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot_US",0.304800609601219241]] -12010,PROJCS["NAD_1983_HARN_StatePlane_Illinois_East_FIPS_1201",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-88.33333333333333],PARAMETER["Scale_Factor",0.9999749999999999],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Meter",1]] -12011,PROJCS["NAD_1983_StatePlane_Illinois_East_FIPS_1201",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-88.33333333333333],PARAMETER["Scale_Factor",0.9999749999999999],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Meter",1]] -12012,PROJCS["NAD_1983_StatePlane_Illinois_East_FIPS_1201_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",984249.9999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-88.33333333333333],PARAMETER["Scale_Factor",0.9999749999999999],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.304800609601219241]] -12013,PROJCS["NAD_1983_HARN_StatePlane_Illinois_East_FIPS_1201_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",984250.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-88.33333333333333],PARAMETER["Scale_Factor",0.999975],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.3048006096012192]] -12014,PROJCS["NAD_1927_StatePlane_Illinois_East_FIPS_1201",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-88.33333333333333],PARAMETER["Scale_Factor",0.9999749999999999],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.304800609601219241]] -12020,PROJCS["NAD_1983_HARN_StatePlane_Illinois_West_FIPS_1202",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.16666666666667],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Meter",1]] -12021,PROJCS["NAD_1983_StatePlane_Illinois_West_FIPS_1202",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.16666666666667],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Meter",1]] -12022,PROJCS["NAD_1983_StatePlane_Illinois_West_FIPS_1202_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2296583.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.16666666666667],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.304800609601219241]] -12023,PROJCS["NAD_1983_HARN_StatePlane_Illinois_West_FIPS_1202_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2296583.333333333],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-90.16666666666667],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.3048006096012192]] -12024,PROJCS["NAD_1927_StatePlane_Illinois_West_FIPS_1202",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.16666666666667],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.304800609601219241]] -13010,PROJCS["NAD_1983_HARN_StatePlane_Indiana_East_FIPS_1301",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",100000],PARAMETER["False_Northing",250000],PARAMETER["Central_Meridian",-85.66666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Meter",1]] -13011,PROJCS["NAD_1983_StatePlane_Indiana_East_FIPS_1301",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",100000],PARAMETER["False_Northing",250000],PARAMETER["Central_Meridian",-85.66666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Meter",1]] -13012,PROJCS["NAD_1983_StatePlane_Indiana_East_FIPS_1301_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",328083.3333333333],PARAMETER["False_Northing",820208.3333333333],PARAMETER["Central_Meridian",-85.66666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Foot_US",0.304800609601219241]] -13013,PROJCS["NAD_1983_HARN_StatePlane_Indiana_East_FIPS_1301_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",328083.3333333333],PARAMETER["False_Northing",820208.3333333333],PARAMETER["Central_Meridian",-85.66666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Foot_US",0.3048006096012192]] -13014,PROJCS["NAD_1927_StatePlane_Indiana_East_FIPS_1301",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-85.66666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Foot_US",0.304800609601219241]] -13020,PROJCS["NAD_1983_HARN_StatePlane_Indiana_West_FIPS_1302",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",900000],PARAMETER["False_Northing",250000],PARAMETER["Central_Meridian",-87.08333333333333],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Meter",1]] -13021,PROJCS["NAD_1983_StatePlane_Indiana_West_FIPS_1302",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",900000],PARAMETER["False_Northing",250000],PARAMETER["Central_Meridian",-87.08333333333333],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Meter",1]] -13022,PROJCS["NAD_1983_StatePlane_Indiana_West_FIPS_1302_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2952750],PARAMETER["False_Northing",820208.3333333333],PARAMETER["Central_Meridian",-87.08333333333333],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Foot_US",0.304800609601219241]] -13023,PROJCS["NAD_1983_HARN_StatePlane_Indiana_West_FIPS_1302_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2952750.0],PARAMETER["False_Northing",820208.3333333333],PARAMETER["Central_Meridian",-87.08333333333333],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Foot_US",0.3048006096012192]] -13024,PROJCS["NAD_1927_StatePlane_Indiana_West_FIPS_1302",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-87.08333333333333],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Foot_US",0.304800609601219241]] -14010,PROJCS["NAD_1983_HARN_StatePlane_Iowa_North_FIPS_1401",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1500000.0],PARAMETER["False_Northing",1000000.0],PARAMETER["Central_Meridian",-93.5],PARAMETER["Standard_Parallel_1",42.06666666666667],PARAMETER["Standard_Parallel_2",43.26666666666667],PARAMETER["Latitude_Of_Origin",41.5],UNIT["Meter",1.0]] -14011,PROJCS["NAD_1983_StatePlane_Iowa_North_FIPS_1401",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1500000],PARAMETER["False_Northing",1000000],PARAMETER["Central_Meridian",-93.5],PARAMETER["Standard_Parallel_1",42.06666666666667],PARAMETER["Standard_Parallel_2",43.26666666666667],PARAMETER["Latitude_Of_Origin",41.5],UNIT["Meter",1]] -14012,PROJCS["NAD_1983_StatePlane_Iowa_North_FIPS_1401_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",4921249.999999999],PARAMETER["False_Northing",3280833.333333333],PARAMETER["Central_Meridian",-93.5],PARAMETER["Standard_Parallel_1",42.06666666666667],PARAMETER["Standard_Parallel_2",43.26666666666667],PARAMETER["Latitude_Of_Origin",41.5],UNIT["Foot_US",0.304800609601219241]] -14013,PROJCS["NAD_1983_HARN_StatePlane_Iowa_North_FIPS_1401_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",4921250.0],PARAMETER["False_Northing",3280833.333333333],PARAMETER["Central_Meridian",-93.5],PARAMETER["Standard_Parallel_1",42.06666666666667],PARAMETER["Standard_Parallel_2",43.26666666666667],PARAMETER["Latitude_Of_Origin",41.5],UNIT["Foot_US",0.3048006096012192]] -14014,PROJCS["NAD_1927_StatePlane_Iowa_North_FIPS_1401",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-93.5],PARAMETER["Standard_Parallel_1",42.06666666666667],PARAMETER["Standard_Parallel_2",43.26666666666667],PARAMETER["Latitude_Of_Origin",41.5],UNIT["Foot_US",0.304800609601219241]] -14020,PROJCS["NAD_1983_HARN_StatePlane_Iowa_South_FIPS_1402",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-93.5],PARAMETER["Standard_Parallel_1",40.61666666666667],PARAMETER["Standard_Parallel_2",41.78333333333333],PARAMETER["Latitude_Of_Origin",40.0],UNIT["Meter",1.0]] -14021,PROJCS["NAD_1983_StatePlane_Iowa_South_FIPS_1402",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-93.5],PARAMETER["Standard_Parallel_1",40.61666666666667],PARAMETER["Standard_Parallel_2",41.78333333333333],PARAMETER["Latitude_Of_Origin",40],UNIT["Meter",1]] -14022,PROJCS["NAD_1983_StatePlane_Iowa_South_FIPS_1402_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-93.5],PARAMETER["Standard_Parallel_1",40.61666666666667],PARAMETER["Standard_Parallel_2",41.78333333333333],PARAMETER["Latitude_Of_Origin",40],UNIT["Foot_US",0.304800609601219241]] -14023,PROJCS["NAD_1983_HARN_StatePlane_Iowa_South_FIPS_1402_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-93.5],PARAMETER["Standard_Parallel_1",40.61666666666667],PARAMETER["Standard_Parallel_2",41.78333333333333],PARAMETER["Latitude_Of_Origin",40.0],UNIT["Foot_US",0.3048006096012192]] -14024,PROJCS["NAD_1927_StatePlane_Iowa_South_FIPS_1402",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-93.5],PARAMETER["Standard_Parallel_1",40.61666666666667],PARAMETER["Standard_Parallel_2",41.78333333333333],PARAMETER["Latitude_Of_Origin",40],UNIT["Foot_US",0.304800609601219241]] -15010,PROJCS["NAD_1983_HARN_StatePlane_Kansas_North_FIPS_1501",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",38.71666666666667],PARAMETER["Standard_Parallel_2",39.78333333333333],PARAMETER["Latitude_Of_Origin",38.33333333333334],UNIT["Meter",1]] -15011,PROJCS["NAD_1983_StatePlane_Kansas_North_FIPS_1501",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",38.71666666666667],PARAMETER["Standard_Parallel_2",39.78333333333333],PARAMETER["Latitude_Of_Origin",38.33333333333334],UNIT["Meter",1]] -15012,PROJCS["NAD_1983_StatePlane_Kansas_North_FIPS_1501_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",38.71666666666667],PARAMETER["Standard_Parallel_2",39.78333333333333],PARAMETER["Latitude_Of_Origin",38.33333333333334],UNIT["Foot_US",0.304800609601219241]] -15013,PROJCS["NAD_1983_HARN_StatePlane_Kansas_North_FIPS_1501_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-98.0],PARAMETER["Standard_Parallel_1",38.71666666666667],PARAMETER["Standard_Parallel_2",39.78333333333333],PARAMETER["Latitude_Of_Origin",38.33333333333334],UNIT["Foot_US",0.3048006096012192]] -15014,PROJCS["NAD_1927_StatePlane_Kansas_North_FIPS_1501",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",38.71666666666667],PARAMETER["Standard_Parallel_2",39.78333333333333],PARAMETER["Latitude_Of_Origin",38.33333333333334],UNIT["Foot_US",0.304800609601219241]] -15020,PROJCS["NAD_1983_HARN_StatePlane_Kansas_South_FIPS_1502",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",400000],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",37.26666666666667],PARAMETER["Standard_Parallel_2",38.56666666666667],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Meter",1]] -15021,PROJCS["NAD_1983_StatePlane_Kansas_South_FIPS_1502",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",400000],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",37.26666666666667],PARAMETER["Standard_Parallel_2",38.56666666666667],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Meter",1]] -15022,PROJCS["NAD_1983_StatePlane_Kansas_South_FIPS_1502_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",1312333.333333333],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",37.26666666666667],PARAMETER["Standard_Parallel_2",38.56666666666667],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.304800609601219241]] -15023,PROJCS["NAD_1983_HARN_StatePlane_Kansas_South_FIPS_1502_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",1312333.333333333],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",37.26666666666667],PARAMETER["Standard_Parallel_2",38.56666666666667],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.3048006096012192]] -15024,PROJCS["NAD_1927_StatePlane_Kansas_South_FIPS_1502",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",37.26666666666667],PARAMETER["Standard_Parallel_2",38.56666666666667],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.304800609601219241]] -16000,PROJCS["NAD_1983_HARN_StatePlane_Kentucky_FIPS_1600",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1500000.0],PARAMETER["False_Northing",1000000.0],PARAMETER["Central_Meridian",-85.75],PARAMETER["Standard_Parallel_1",37.08333333333334],PARAMETER["Standard_Parallel_2",38.66666666666666],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Meter",1.0]] -16001,PROJCS["NAD_1983_StatePlane_Kentucky_FIPS_1600",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1500000.0],PARAMETER["False_Northing",1000000.0],PARAMETER["Central_Meridian",-85.75],PARAMETER["Standard_Parallel_1",37.08333333333334],PARAMETER["Standard_Parallel_2",38.66666666666666],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Meter",1.0]] -16002,PROJCS["NAD_1983_StatePlane_Kentucky_FIPS_1600_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",4921250.0],PARAMETER["False_Northing",3280833.333333333],PARAMETER["Central_Meridian",-85.75],PARAMETER["Standard_Parallel_1",37.08333333333334],PARAMETER["Standard_Parallel_2",38.66666666666666],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Foot_US",0.3048006096012192]] -16003,PROJCS["NAD_1983_HARN_StatePlane_Kentucky_FIPS_1600_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",4921250.0],PARAMETER["False_Northing",3280833.333333333],PARAMETER["Central_Meridian",-85.75],PARAMETER["Standard_Parallel_1",37.08333333333334],PARAMETER["Standard_Parallel_2",38.66666666666666],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Foot_US",0.3048006096012192]] -16010,PROJCS["NAD_1983_HARN_StatePlane_Kentucky_North_FIPS_1601",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.25],PARAMETER["Standard_Parallel_1",37.96666666666667],PARAMETER["Standard_Parallel_2",38.96666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Meter",1]] -16011,PROJCS["NAD_1983_StatePlane_Kentucky_North_FIPS_1601",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.25],PARAMETER["Standard_Parallel_1",37.96666666666667],PARAMETER["Standard_Parallel_2",38.96666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Meter",1]] -16012,PROJCS["NAD_1983_StatePlane_Kentucky_North_FIPS_1601_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.25],PARAMETER["Standard_Parallel_1",37.96666666666667],PARAMETER["Standard_Parallel_2",38.96666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Foot_US",0.304800609601219241]] -16013,PROJCS["NAD_1983_HARN_StatePlane_Kentucky_North_FIPS_1601_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-84.25],PARAMETER["Standard_Parallel_1",37.96666666666667],PARAMETER["Standard_Parallel_2",38.96666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Foot_US",0.3048006096012192]] -16014,PROJCS["NAD_1927_StatePlane_Kentucky_North_FIPS_1601",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.25],PARAMETER["Standard_Parallel_1",37.96666666666667],PARAMETER["Standard_Parallel_2",38.96666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Foot_US",0.304800609601219241]] -16020,PROJCS["NAD_1983_HARN_StatePlane_Kentucky_South_FIPS_1602",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-85.75],PARAMETER["Standard_Parallel_1",36.73333333333333],PARAMETER["Standard_Parallel_2",37.93333333333333],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Meter",1]] -16021,PROJCS["NAD_1983_StatePlane_Kentucky_South_FIPS_1602",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-85.75],PARAMETER["Standard_Parallel_1",36.73333333333333],PARAMETER["Standard_Parallel_2",37.93333333333333],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Meter",1]] -16022,PROJCS["NAD_1983_StatePlane_Kentucky_South_FIPS_1602_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-85.75],PARAMETER["Standard_Parallel_1",36.73333333333333],PARAMETER["Standard_Parallel_2",37.93333333333333],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Foot_US",0.304800609601219241]] -16023,PROJCS["NAD_1983_HARN_StatePlane_Kentucky_South_FIPS_1602_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-85.75],PARAMETER["Standard_Parallel_1",36.73333333333333],PARAMETER["Standard_Parallel_2",37.93333333333333],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Foot_US",0.3048006096012192]] -16024,PROJCS["NAD_1927_StatePlane_Kentucky_South_FIPS_1602",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-85.75],PARAMETER["Standard_Parallel_1",36.73333333333333],PARAMETER["Standard_Parallel_2",37.93333333333333],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Foot_US",0.304800609601219241]] -17010,PROJCS["NAD_1983_HARN_StatePlane_Louisiana_North_FIPS_1701",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92.5],PARAMETER["Standard_Parallel_1",31.16666666666667],PARAMETER["Standard_Parallel_2",32.66666666666666],PARAMETER["Latitude_Of_Origin",30.5],UNIT["Meter",1]] -17011,PROJCS["NAD_1983_StatePlane_Louisiana_North_FIPS_1701",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92.5],PARAMETER["Standard_Parallel_1",31.16666666666667],PARAMETER["Standard_Parallel_2",32.66666666666666],PARAMETER["Latitude_Of_Origin",30.5],UNIT["Meter",1]] -17012,PROJCS["NAD_1983_StatePlane_Louisiana_North_FIPS_1701_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3280833.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92.5],PARAMETER["Standard_Parallel_1",31.16666666666667],PARAMETER["Standard_Parallel_2",32.66666666666666],PARAMETER["Latitude_Of_Origin",30.5],UNIT["Foot_US",0.304800609601219241]] -17013,PROJCS["NAD_1983_HARN_StatePlane_Louisiana_North_FIPS_1701_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3280833.333333333],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-92.5],PARAMETER["Standard_Parallel_1",31.16666666666667],PARAMETER["Standard_Parallel_2",32.66666666666666],PARAMETER["Latitude_Of_Origin",30.5],UNIT["Foot_US",0.3048006096012192]] -17014,PROJCS["NAD_1927_StatePlane_Louisiana_North_FIPS_1701",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92.5],PARAMETER["Standard_Parallel_1",31.16666666666667],PARAMETER["Standard_Parallel_2",32.66666666666666],PARAMETER["Latitude_Of_Origin",30.66666666666667],UNIT["Foot_US",0.304800609601219241]] -17020,PROJCS["NAD_1983_HARN_StatePlane_Louisiana_South_FIPS_1702",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-91.33333333333333],PARAMETER["Standard_Parallel_1",29.3],PARAMETER["Standard_Parallel_2",30.7],PARAMETER["Latitude_Of_Origin",28.5],UNIT["Meter",1]] -17021,PROJCS["NAD_1983_StatePlane_Louisiana_South_FIPS_1702",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-91.33333333333333],PARAMETER["Standard_Parallel_1",29.3],PARAMETER["Standard_Parallel_2",30.7],PARAMETER["Latitude_Of_Origin",28.5],UNIT["Meter",1]] -17022,PROJCS["NAD_1983_StatePlane_Louisiana_South_FIPS_1702_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3280833.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-91.33333333333333],PARAMETER["Standard_Parallel_1",29.3],PARAMETER["Standard_Parallel_2",30.7],PARAMETER["Latitude_Of_Origin",28.5],UNIT["Foot_US",0.304800609601219241]] -17023,PROJCS["NAD_1983_HARN_StatePlane_Louisiana_South_FIPS_1702_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3280833.333333333],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-91.33333333333333],PARAMETER["Standard_Parallel_1",29.3],PARAMETER["Standard_Parallel_2",30.7],PARAMETER["Latitude_Of_Origin",28.5],UNIT["Foot_US",0.3048006096012192]] -17024,PROJCS["NAD_1927_StatePlane_Louisiana_South_FIPS_1702",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-91.33333333333333],PARAMETER["Standard_Parallel_1",29.3],PARAMETER["Standard_Parallel_2",30.7],PARAMETER["Latitude_Of_Origin",28.66666666666667],UNIT["Foot_US",0.304800609601219241]] -17031,PROJCS["NAD_1983_StatePlane_Louisiana_Offshore_FIPS_1703",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1000000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-91.33333333333333],PARAMETER["Standard_Parallel_1",26.16666666666667],PARAMETER["Standard_Parallel_2",27.83333333333333],PARAMETER["Latitude_Of_Origin",25.5],UNIT["Meter",1.0]] -17032,PROJCS["NAD_1983_StatePlane_Louisiana_Offshore_FIPS_1703_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3280833.333333333],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-91.33333333333333],PARAMETER["Standard_Parallel_1",26.16666666666667],PARAMETER["Standard_Parallel_2",27.83333333333333],PARAMETER["Latitude_Of_Origin",25.5],UNIT["Foot_US",0.3048006096012192]] -17034,PROJCS["NAD_1927_StatePlane_Louisiana_Offshore_FIPS_1703",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-91.33333333333333],PARAMETER["Standard_Parallel_1",26.16666666666667],PARAMETER["Standard_Parallel_2",27.83333333333333],PARAMETER["Latitude_Of_Origin",25.66666666666667],UNIT["Foot_US",0.3048006096012192]] -18010,PROJCS["NAD_1983_HARN_StatePlane_Maine_East_FIPS_1801",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-68.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",43.66666666666666],UNIT["Meter",1]] -18011,PROJCS["NAD_1983_StatePlane_Maine_East_FIPS_1801",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-68.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",43.66666666666666],UNIT["Meter",1]] -18012,PROJCS["NAD_1983_StatePlane_Maine_East_FIPS_1801_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",984249.9999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-68.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",43.66666666666666],UNIT["Foot_US",0.304800609601219241]] -18014,PROJCS["NAD_1927_StatePlane_Maine_East_FIPS_1801",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-68.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",43.83333333333334],UNIT["Foot_US",0.304800609601219241]] -18020,PROJCS["NAD_1983_HARN_StatePlane_Maine_West_FIPS_1802",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",900000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-70.16666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",42.83333333333334],UNIT["Meter",1]] -18021,PROJCS["NAD_1983_StatePlane_Maine_West_FIPS_1802",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",900000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-70.16666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",42.83333333333334],UNIT["Meter",1]] -18022,PROJCS["NAD_1983_StatePlane_Maine_West_FIPS_1802_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2952750],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-70.16666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",42.83333333333334],UNIT["Foot_US",0.304800609601219241]] -18024,PROJCS["NAD_1927_StatePlane_Maine_West_FIPS_1802",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-70.16666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",42.83333333333334],UNIT["Foot_US",0.304800609601219241]] -19000,PROJCS["NAD_1983_HARN_StatePlane_Maryland_FIPS_1900",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-77],PARAMETER["Standard_Parallel_1",38.3],PARAMETER["Standard_Parallel_2",39.45],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Meter",1]] -19001,PROJCS["NAD_1983_StatePlane_Maryland_FIPS_1900",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-77],PARAMETER["Standard_Parallel_1",38.3],PARAMETER["Standard_Parallel_2",39.45],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Meter",1]] -19002,PROJCS["NAD_1983_StatePlane_Maryland_FIPS_1900_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-77],PARAMETER["Standard_Parallel_1",38.3],PARAMETER["Standard_Parallel_2",39.45],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Foot_US",0.304800609601219241]] -19003,PROJCS["NAD_1983_HARN_StatePlane_Maryland_FIPS_1900_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-77.0],PARAMETER["Standard_Parallel_1",38.3],PARAMETER["Standard_Parallel_2",39.45],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Foot_US",0.3048006096012192]] -19004,PROJCS["NAD_1927_StatePlane_Maryland_FIPS_1900",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",800000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-77],PARAMETER["Standard_Parallel_1",38.3],PARAMETER["Standard_Parallel_2",39.45],PARAMETER["Latitude_Of_Origin",37.83333333333334],UNIT["Foot_US",0.304800609601219241]] -20010,PROJCS["NAD_1983_HARN_StatePlane_Massachusetts_Mainland_FIPS_2001",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",750000],PARAMETER["Central_Meridian",-71.5],PARAMETER["Standard_Parallel_1",41.71666666666667],PARAMETER["Standard_Parallel_2",42.68333333333333],PARAMETER["Latitude_Of_Origin",41],UNIT["Meter",1]] -20011,PROJCS["NAD_1983_StatePlane_Massachusetts_Mainland_FIPS_2001",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",750000],PARAMETER["Central_Meridian",-71.5],PARAMETER["Standard_Parallel_1",41.71666666666667],PARAMETER["Standard_Parallel_2",42.68333333333333],PARAMETER["Latitude_Of_Origin",41],UNIT["Meter",1]] -20012,PROJCS["NAD_1983_StatePlane_Massachusetts_Mainland_FIPS_2001_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",2460625],PARAMETER["Central_Meridian",-71.5],PARAMETER["Standard_Parallel_1",41.71666666666667],PARAMETER["Standard_Parallel_2",42.68333333333333],PARAMETER["Latitude_Of_Origin",41],UNIT["Foot_US",0.304800609601219241]] -20013,PROJCS["NAD_1983_HARN_StatePlane_Massachusetts_Mainland_FIPS_2001_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",2460625.0],PARAMETER["Central_Meridian",-71.5],PARAMETER["Standard_Parallel_1",41.71666666666667],PARAMETER["Standard_Parallel_2",42.68333333333333],PARAMETER["Latitude_Of_Origin",41.0],UNIT["Foot_US",0.3048006096012192]] -20014,PROJCS["NAD_1927_StatePlane_Massachusetts_Mainland_FIPS_2001",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-71.5],PARAMETER["Standard_Parallel_1",41.71666666666667],PARAMETER["Standard_Parallel_2",42.68333333333333],PARAMETER["Latitude_Of_Origin",41],UNIT["Foot_US",0.304800609601219241]] -20020,PROJCS["NAD_1983_HARN_StatePlane_Massachusetts_Island_FIPS_2002",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-70.5],PARAMETER["Standard_Parallel_1",41.28333333333333],PARAMETER["Standard_Parallel_2",41.48333333333333],PARAMETER["Latitude_Of_Origin",41],UNIT["Meter",1]] -20021,PROJCS["NAD_1983_StatePlane_Massachusetts_Island_FIPS_2002",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-70.5],PARAMETER["Standard_Parallel_1",41.28333333333333],PARAMETER["Standard_Parallel_2",41.48333333333333],PARAMETER["Latitude_Of_Origin",41],UNIT["Meter",1]] -20022,PROJCS["NAD_1983_StatePlane_Massachusetts_Island_FIPS_2002_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-70.5],PARAMETER["Standard_Parallel_1",41.28333333333333],PARAMETER["Standard_Parallel_2",41.48333333333333],PARAMETER["Latitude_Of_Origin",41],UNIT["Foot_US",0.304800609601219241]] -20023,PROJCS["NAD_1983_HARN_StatePlane_Massachusetts_Island_FIPS_2002_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-70.5],PARAMETER["Standard_Parallel_1",41.28333333333333],PARAMETER["Standard_Parallel_2",41.48333333333333],PARAMETER["Latitude_Of_Origin",41.0],UNIT["Foot_US",0.3048006096012192]] -20024,PROJCS["NAD_1927_StatePlane_Massachusetts_Island_FIPS_2002",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-70.5],PARAMETER["Standard_Parallel_1",41.28333333333333],PARAMETER["Standard_Parallel_2",41.48333333333333],PARAMETER["Latitude_Of_Origin",41],UNIT["Foot_US",0.304800609601219241]] -21110,PROJCS["NAD_1983_HARN_StatePlane_Michigan_North_FIPS_2111",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",8000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-87],PARAMETER["Standard_Parallel_1",45.48333333333333],PARAMETER["Standard_Parallel_2",47.08333333333334],PARAMETER["Latitude_Of_Origin",44.78333333333333],UNIT["Meter",1]] -21111,PROJCS["NAD_1983_StatePlane_Michigan_North_FIPS_2111",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",8000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-87],PARAMETER["Standard_Parallel_1",45.48333333333333],PARAMETER["Standard_Parallel_2",47.08333333333334],PARAMETER["Latitude_Of_Origin",44.78333333333333],UNIT["Meter",1]] -21112,PROJCS["NAD_1983_StatePlane_Michigan_North_FIPS_2111_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",26246666.66666666],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-87],PARAMETER["Standard_Parallel_1",45.48333333333333],PARAMETER["Standard_Parallel_2",47.08333333333334],PARAMETER["Latitude_Of_Origin",44.78333333333333],UNIT["Foot_US",0.304800609601219241]] -21113,PROJCS["NAD_1983_HARN_StatePlane_Michigan_North_FIPS_2111_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",26246719.16010498],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-87.0],PARAMETER["Standard_Parallel_1",45.48333333333333],PARAMETER["Standard_Parallel_2",47.08333333333334],PARAMETER["Latitude_Of_Origin",44.78333333333333],UNIT["Foot",0.3048]] -21114,PROJCS["NAD_1927_StatePlane_Michigan_North_FIPS_2111",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-87],PARAMETER["Standard_Parallel_1",45.48333333333333],PARAMETER["Standard_Parallel_2",47.08333333333334],PARAMETER["Latitude_Of_Origin",44.78333333333333],UNIT["Foot_US",0.304800609601219241]] -21115,PROJCS["NAD_1983_HARN_StatePlane_Michigan_North_FIPS_2111_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",26246719.16010498],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-87.0],PARAMETER["Standard_Parallel_1",45.48333333333333],PARAMETER["Standard_Parallel_2",47.08333333333334],PARAMETER["Latitude_Of_Origin",44.78333333333333],UNIT["Foot",0.3048]] -21116,PROJCS["NAD_1983_StatePlane_Michigan_North_FIPS_2111_Feet_Intl",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",26246719.16010498],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-87.0],PARAMETER["Standard_Parallel_1",45.48333333333333],PARAMETER["Standard_Parallel_2",47.08333333333334],PARAMETER["Latitude_Of_Origin",44.78333333333333],UNIT["Foot",0.3048]] -21120,PROJCS["NAD_1983_HARN_StatePlane_Michigan_Central_FIPS_2112",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.36666666666666],PARAMETER["Standard_Parallel_1",44.18333333333333],PARAMETER["Standard_Parallel_2",45.7],PARAMETER["Latitude_Of_Origin",43.31666666666667],UNIT["Meter",1]] -21121,PROJCS["NAD_1983_StatePlane_Michigan_Central_FIPS_2112",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.36666666666666],PARAMETER["Standard_Parallel_1",44.18333333333333],PARAMETER["Standard_Parallel_2",45.7],PARAMETER["Latitude_Of_Origin",43.31666666666667],UNIT["Meter",1]] -21122,PROJCS["NAD_1983_StatePlane_Michigan_Central_FIPS_2112_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",19685000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.36666666666666],PARAMETER["Standard_Parallel_1",44.18333333333333],PARAMETER["Standard_Parallel_2",45.7],PARAMETER["Latitude_Of_Origin",43.31666666666667],UNIT["Foot_US",0.304800609601219241]] -21123,PROJCS["NAD_1983_HARN_StatePlane_Michigan_Central_FIPS_2112_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",19685039.37007874],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-84.36666666666666],PARAMETER["Standard_Parallel_1",44.18333333333333],PARAMETER["Standard_Parallel_2",45.7],PARAMETER["Latitude_Of_Origin",43.31666666666667],UNIT["Foot",0.3048]] -21124,PROJCS["NAD_1927_StatePlane_Michigan_Central_FIPS_2112",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.33333333333333],PARAMETER["Standard_Parallel_1",44.18333333333333],PARAMETER["Standard_Parallel_2",45.7],PARAMETER["Latitude_Of_Origin",43.31666666666667],UNIT["Foot_US",0.304800609601219241]] -21125,PROJCS["NAD_1983_HARN_StatePlane_Michigan_Central_FIPS_2112_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",19685039.37007874],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-84.36666666666666],PARAMETER["Standard_Parallel_1",44.18333333333333],PARAMETER["Standard_Parallel_2",45.7],PARAMETER["Latitude_Of_Origin",43.31666666666667],UNIT["Foot",0.3048]] -21126,PROJCS["NAD_1983_StatePlane_Michigan_Central_FIPS_2112_Feet_Intl",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",19685039.37007874],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-84.36666666666666],PARAMETER["Standard_Parallel_1",44.18333333333333],PARAMETER["Standard_Parallel_2",45.7],PARAMETER["Latitude_Of_Origin",43.31666666666667],UNIT["Foot",0.3048]] -21130,PROJCS["NAD_1983_HARN_StatePlane_Michigan_South_FIPS_2113",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",4000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.36666666666666],PARAMETER["Standard_Parallel_1",42.1],PARAMETER["Standard_Parallel_2",43.66666666666666],PARAMETER["Latitude_Of_Origin",41.5],UNIT["Meter",1]] -21131,PROJCS["NAD_1983_StatePlane_Michigan_South_FIPS_2113",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",4000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.36666666666666],PARAMETER["Standard_Parallel_1",42.1],PARAMETER["Standard_Parallel_2",43.66666666666666],PARAMETER["Latitude_Of_Origin",41.5],UNIT["Meter",1]] -21132,PROJCS["NAD_1983_StatePlane_Michigan_South_FIPS_2113_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",13123333.33333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.36666666666666],PARAMETER["Standard_Parallel_1",42.1],PARAMETER["Standard_Parallel_2",43.66666666666666],PARAMETER["Latitude_Of_Origin",41.5],UNIT["Foot_US",0.304800609601219241]] -21133,PROJCS["NAD_1983_HARN_StatePlane_Michigan_South_FIPS_2113_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",13123359.58005249],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-84.36666666666666],PARAMETER["Standard_Parallel_1",42.1],PARAMETER["Standard_Parallel_2",43.66666666666666],PARAMETER["Latitude_Of_Origin",41.5],UNIT["Foot",0.3048]] -21134,PROJCS["NAD_1927_StatePlane_Michigan_South_FIPS_2113",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.33333333333333],PARAMETER["Standard_Parallel_1",42.1],PARAMETER["Standard_Parallel_2",43.66666666666666],PARAMETER["Latitude_Of_Origin",41.5],UNIT["Foot_US",0.304800609601219241]] -21135,PROJCS["NAD_1983_HARN_StatePlane_Michigan_South_FIPS_2113_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",13123359.58005249],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-84.36666666666666],PARAMETER["Standard_Parallel_1",42.1],PARAMETER["Standard_Parallel_2",43.66666666666666],PARAMETER["Latitude_Of_Origin",41.5],UNIT["Foot",0.3048]] -21136,PROJCS["NAD_1983_StatePlane_Michigan_South_FIPS_2113_Feet_Intl",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",13123359.58005249],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-84.36666666666666],PARAMETER["Standard_Parallel_1",42.1],PARAMETER["Standard_Parallel_2",43.66666666666666],PARAMETER["Latitude_Of_Origin",41.5],UNIT["Foot",0.3048]] -22010,PROJCS["NAD_1983_HARN_StatePlane_Minnesota_North_FIPS_2201",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",800000.0],PARAMETER["False_Northing",100000.0],PARAMETER["Central_Meridian",-93.1],PARAMETER["Standard_Parallel_1",47.03333333333333],PARAMETER["Standard_Parallel_2",48.63333333333333],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]] -22011,PROJCS["NAD_1983_StatePlane_Minnesota_North_FIPS_2201",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",800000],PARAMETER["False_Northing",100000],PARAMETER["Central_Meridian",-93.09999999999999],PARAMETER["Standard_Parallel_1",47.03333333333333],PARAMETER["Standard_Parallel_2",48.63333333333333],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1]] -22012,PROJCS["NAD_1983_StatePlane_Minnesota_North_FIPS_2201_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",328083.3333333333],PARAMETER["Central_Meridian",-93.09999999999999],PARAMETER["Standard_Parallel_1",47.03333333333333],PARAMETER["Standard_Parallel_2",48.63333333333333],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Foot_US",0.304800609601219241]] -22013,PROJCS["NAD_1983_HARN_StatePlane_Minnesota_North_FIPS_2201_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",328083.3333333333],PARAMETER["Central_Meridian",-93.1],PARAMETER["Standard_Parallel_1",47.03333333333333],PARAMETER["Standard_Parallel_2",48.63333333333333],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Foot_US",0.3048006096012192]] -22014,PROJCS["NAD_1927_StatePlane_Minnesota_North_FIPS_2201",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-93.09999999999999],PARAMETER["Standard_Parallel_1",47.03333333333333],PARAMETER["Standard_Parallel_2",48.63333333333333],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Foot_US",0.304800609601219241]] -22020,PROJCS["NAD_1983_HARN_StatePlane_Minnesota_Central_FIPS_2202",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",800000.0],PARAMETER["False_Northing",100000.0],PARAMETER["Central_Meridian",-94.25],PARAMETER["Standard_Parallel_1",45.61666666666667],PARAMETER["Standard_Parallel_2",47.05],PARAMETER["Latitude_Of_Origin",45.0],UNIT["Meter",1.0]] -22021,PROJCS["NAD_1983_StatePlane_Minnesota_Central_FIPS_2202",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",800000],PARAMETER["False_Northing",100000],PARAMETER["Central_Meridian",-94.25],PARAMETER["Standard_Parallel_1",45.61666666666667],PARAMETER["Standard_Parallel_2",47.05],PARAMETER["Latitude_Of_Origin",45],UNIT["Meter",1]] -22022,PROJCS["NAD_1983_StatePlane_Minnesota_Central_FIPS_2202_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",328083.3333333333],PARAMETER["Central_Meridian",-94.25],PARAMETER["Standard_Parallel_1",45.61666666666667],PARAMETER["Standard_Parallel_2",47.05],PARAMETER["Latitude_Of_Origin",45],UNIT["Foot_US",0.304800609601219241]] -22023,PROJCS["NAD_1983_HARN_StatePlane_Minnesota_Central_FIPS_2202_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",328083.3333333333],PARAMETER["Central_Meridian",-94.25],PARAMETER["Standard_Parallel_1",45.61666666666667],PARAMETER["Standard_Parallel_2",47.05],PARAMETER["Latitude_Of_Origin",45.0],UNIT["Foot_US",0.3048006096012192]] -22024,PROJCS["NAD_1927_StatePlane_Minnesota_Central_FIPS_2202",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-94.25],PARAMETER["Standard_Parallel_1",45.61666666666667],PARAMETER["Standard_Parallel_2",47.05],PARAMETER["Latitude_Of_Origin",45],UNIT["Foot_US",0.304800609601219241]] -22030,PROJCS["NAD_1983_HARN_StatePlane_Minnesota_South_FIPS_2203",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",800000.0],PARAMETER["False_Northing",100000.0],PARAMETER["Central_Meridian",-94.0],PARAMETER["Standard_Parallel_1",43.78333333333333],PARAMETER["Standard_Parallel_2",45.21666666666667],PARAMETER["Latitude_Of_Origin",43.0],UNIT["Meter",1.0]] -22031,PROJCS["NAD_1983_StatePlane_Minnesota_South_FIPS_2203",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",800000],PARAMETER["False_Northing",100000],PARAMETER["Central_Meridian",-94],PARAMETER["Standard_Parallel_1",43.78333333333333],PARAMETER["Standard_Parallel_2",45.21666666666667],PARAMETER["Latitude_Of_Origin",43],UNIT["Meter",1]] -22032,PROJCS["NAD_1983_StatePlane_Minnesota_South_FIPS_2203_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",328083.3333333333],PARAMETER["Central_Meridian",-94],PARAMETER["Standard_Parallel_1",43.78333333333333],PARAMETER["Standard_Parallel_2",45.21666666666667],PARAMETER["Latitude_Of_Origin",43],UNIT["Foot_US",0.304800609601219241]] -22033,PROJCS["NAD_1983_HARN_StatePlane_Minnesota_South_FIPS_2203_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",328083.3333333333],PARAMETER["Central_Meridian",-94.0],PARAMETER["Standard_Parallel_1",43.78333333333333],PARAMETER["Standard_Parallel_2",45.21666666666667],PARAMETER["Latitude_Of_Origin",43.0],UNIT["Foot_US",0.3048006096012192]] -22034,PROJCS["NAD_1927_StatePlane_Minnesota_South_FIPS_2203",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-94],PARAMETER["Standard_Parallel_1",43.78333333333333],PARAMETER["Standard_Parallel_2",45.21666666666667],PARAMETER["Latitude_Of_Origin",43],UNIT["Foot_US",0.304800609601219241]] -23010,PROJCS["NAD_1983_HARN_StatePlane_Mississippi_East_FIPS_2301",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-88.83333333333333],PARAMETER["Scale_Factor",0.99995],PARAMETER["Latitude_Of_Origin",29.5],UNIT["Meter",1]] -23011,PROJCS["NAD_1983_StatePlane_Mississippi_East_FIPS_2301",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-88.83333333333333],PARAMETER["Scale_Factor",0.99995],PARAMETER["Latitude_Of_Origin",29.5],UNIT["Meter",1]] -23012,PROJCS["NAD_1983_StatePlane_Mississippi_East_FIPS_2301_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",984249.9999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-88.83333333333333],PARAMETER["Scale_Factor",0.99995],PARAMETER["Latitude_Of_Origin",29.5],UNIT["Foot_US",0.304800609601219241]] -23013,PROJCS["NAD_1983_HARN_StatePlane_Mississippi_East_FIPS_2301_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",984250.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-88.83333333333333],PARAMETER["Scale_Factor",0.99995],PARAMETER["Latitude_Of_Origin",29.5],UNIT["Foot_US",0.3048006096012192]] -23014,PROJCS["NAD_1927_StatePlane_Mississippi_East_FIPS_2301",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-88.83333333333333],PARAMETER["Scale_Factor",0.99996],PARAMETER["Latitude_Of_Origin",29.66666666666667],UNIT["Foot_US",0.304800609601219241]] -23020,PROJCS["NAD_1983_HARN_StatePlane_Mississippi_West_FIPS_2302",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.33333333333333],PARAMETER["Scale_Factor",0.99995],PARAMETER["Latitude_Of_Origin",29.5],UNIT["Meter",1]] -23021,PROJCS["NAD_1983_StatePlane_Mississippi_West_FIPS_2302",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.33333333333333],PARAMETER["Scale_Factor",0.99995],PARAMETER["Latitude_Of_Origin",29.5],UNIT["Meter",1]] -23022,PROJCS["NAD_1983_StatePlane_Mississippi_West_FIPS_2302_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2296583.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.33333333333333],PARAMETER["Scale_Factor",0.99995],PARAMETER["Latitude_Of_Origin",29.5],UNIT["Foot_US",0.304800609601219241]] -23023,PROJCS["NAD_1983_HARN_StatePlane_Mississippi_West_FIPS_2302_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2296583.333333333],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-90.33333333333333],PARAMETER["Scale_Factor",0.99995],PARAMETER["Latitude_Of_Origin",29.5],UNIT["Foot_US",0.3048006096012192]] -23024,PROJCS["NAD_1927_StatePlane_Mississippi_West_FIPS_2302",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.33333333333333],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",30.5],UNIT["Foot_US",0.304800609601219241]] -24010,PROJCS["NAD_1983_HARN_StatePlane_Missouri_East_FIPS_2401",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",250000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-90.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",35.83333333333334],UNIT["Meter",1.0]] -24011,PROJCS["NAD_1983_StatePlane_Missouri_East_FIPS_2401",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",250000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",35.83333333333334],UNIT["Meter",1]] -24012,PROJCS["NAD_1983_StatePlane_Missouri_East_FIPS_2401_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",820208.3333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",35.83333333333334],UNIT["Foot_US",0.304800609601219241]] -24014,PROJCS["NAD_1927_StatePlane_Missouri_East_FIPS_2401",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",35.83333333333334],UNIT["Foot_US",0.304800609601219241]] -24020,PROJCS["NAD_1983_HARN_StatePlane_Missouri_Central_FIPS_2402",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-92.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",35.83333333333334],UNIT["Meter",1.0]] -24021,PROJCS["NAD_1983_StatePlane_Missouri_Central_FIPS_2402",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",35.83333333333334],UNIT["Meter",1]] -24022,PROJCS["NAD_1983_StatePlane_Missouri_Central_FIPS_2402_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",35.83333333333334],UNIT["Foot_US",0.304800609601219241]] -24024,PROJCS["NAD_1927_StatePlane_Missouri_Central_FIPS_2402",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",35.83333333333334],UNIT["Foot_US",0.304800609601219241]] -24030,PROJCS["NAD_1983_HARN_StatePlane_Missouri_West_FIPS_2403",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",850000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-94.5],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",36.16666666666666],UNIT["Meter",1.0]] -24031,PROJCS["NAD_1983_StatePlane_Missouri_West_FIPS_2403",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",850000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-94.5],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",36.16666666666666],UNIT["Meter",1]] -24032,PROJCS["NAD_1983_StatePlane_Missouri_West_FIPS_2403_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2788708.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-94.5],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",36.16666666666666],UNIT["Foot_US",0.304800609601219241]] -24034,PROJCS["NAD_1927_StatePlane_Missouri_West_FIPS_2403",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-94.5],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",36.16666666666666],UNIT["Foot_US",0.304800609601219241]] -25000,PROJCS["NAD_1983_HARN_StatePlane_Montana_FIPS_2500",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-109.5],PARAMETER["Standard_Parallel_1",45],PARAMETER["Standard_Parallel_2",49],PARAMETER["Latitude_Of_Origin",44.25],UNIT["Meter",1]] -25001,PROJCS["NAD_1983_StatePlane_Montana_FIPS_2500",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-109.5],PARAMETER["Standard_Parallel_1",45],PARAMETER["Standard_Parallel_2",49],PARAMETER["Latitude_Of_Origin",44.25],UNIT["Meter",1]] -25002,PROJCS["NAD_1983_StatePlane_Montana_FIPS_2500_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-109.5],PARAMETER["Standard_Parallel_1",45],PARAMETER["Standard_Parallel_2",49],PARAMETER["Latitude_Of_Origin",44.25],UNIT["Foot_US",0.304800609601219241]] -25003,PROJCS["NAD_1983_HARN_StatePlane_Montana_FIPS_2500_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968503.937007874],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-109.5],PARAMETER["Standard_Parallel_1",45.0],PARAMETER["Standard_Parallel_2",49.0],PARAMETER["Latitude_Of_Origin",44.25],UNIT["Foot",0.3048]] -25005,PROJCS["NAD_1983_HARN_StatePlane_Montana_FIPS_2500_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968503.937007874],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-109.5],PARAMETER["Standard_Parallel_1",45.0],PARAMETER["Standard_Parallel_2",49.0],PARAMETER["Latitude_Of_Origin",44.25],UNIT["Foot",0.3048]] -25006,PROJCS["NAD_1983_StatePlane_Montana_FIPS_2500_Feet_Intl",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968503.937007874],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-109.5],PARAMETER["Standard_Parallel_1",45.0],PARAMETER["Standard_Parallel_2",49.0],PARAMETER["Latitude_Of_Origin",44.25],UNIT["Foot",0.3048]] -25014,PROJCS["NAD_1927_StatePlane_Montana_North_FIPS_2501",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-109.5],PARAMETER["Standard_Parallel_1",47.85],PARAMETER["Standard_Parallel_2",48.71666666666667],PARAMETER["Latitude_Of_Origin",47],UNIT["Foot_US",0.304800609601219241]] -25024,PROJCS["NAD_1927_StatePlane_Montana_Central_FIPS_2502",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-109.5],PARAMETER["Standard_Parallel_1",46.45],PARAMETER["Standard_Parallel_2",47.88333333333333],PARAMETER["Latitude_Of_Origin",45.83333333333334],UNIT["Foot_US",0.304800609601219241]] -25034,PROJCS["NAD_1927_StatePlane_Montana_South_FIPS_2503",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-109.5],PARAMETER["Standard_Parallel_1",44.86666666666667],PARAMETER["Standard_Parallel_2",46.4],PARAMETER["Latitude_Of_Origin",44],UNIT["Foot_US",0.304800609601219241]] -26000,PROJCS["NAD_1983_HARN_StatePlane_Nebraska_FIPS_2600",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100],PARAMETER["Standard_Parallel_1",40],PARAMETER["Standard_Parallel_2",43],PARAMETER["Latitude_Of_Origin",39.83333333333334],UNIT["Meter",1]] -26001,PROJCS["NAD_1983_StatePlane_Nebraska_FIPS_2600",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100],PARAMETER["Standard_Parallel_1",40],PARAMETER["Standard_Parallel_2",43],PARAMETER["Latitude_Of_Origin",39.83333333333334],UNIT["Meter",1]] -26002,PROJCS["NAD_1983_StatePlane_Nebraska_FIPS_2600_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100],PARAMETER["Standard_Parallel_1",40],PARAMETER["Standard_Parallel_2",43],PARAMETER["Latitude_Of_Origin",39.83333333333334],UNIT["Foot_US",0.304800609601219241]] -26014,PROJCS["NAD_1927_StatePlane_Nebraska_North_FIPS_2601",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100],PARAMETER["Standard_Parallel_1",41.85],PARAMETER["Standard_Parallel_2",42.81666666666667],PARAMETER["Latitude_Of_Origin",41.33333333333334],UNIT["Foot_US",0.304800609601219241]] -26024,PROJCS["NAD_1927_StatePlane_Nebraska_South_FIPS_2602",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-99.5],PARAMETER["Standard_Parallel_1",40.28333333333333],PARAMETER["Standard_Parallel_2",41.71666666666667],PARAMETER["Latitude_Of_Origin",39.66666666666666],UNIT["Foot_US",0.304800609601219241]] -27010,PROJCS["NAD_1983_HARN_StatePlane_Nevada_East_FIPS_2701",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",8000000],PARAMETER["Central_Meridian",-115.5833333333333],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Meter",1]] -27011,PROJCS["NAD_1983_StatePlane_Nevada_East_FIPS_2701",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",8000000],PARAMETER["Central_Meridian",-115.5833333333333],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Meter",1]] -27012,PROJCS["NAD_1983_StatePlane_Nevada_East_FIPS_2701_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",26246666.66666666],PARAMETER["Central_Meridian",-115.5833333333333],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Foot_US",0.304800609601219241]] -27013,PROJCS["NAD_1983_HARN_StatePlane_Nevada_East_FIPS_2701_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",26246666.66666666],PARAMETER["Central_Meridian",-115.5833333333333],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Foot_US",0.3048006096012192]] -27014,PROJCS["NAD_1927_StatePlane_Nevada_East_FIPS_2701",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-115.5833333333333],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Foot_US",0.304800609601219241]] -27020,PROJCS["NAD_1983_HARN_StatePlane_Nevada_Central_FIPS_2702",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",6000000],PARAMETER["Central_Meridian",-116.6666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Meter",1]] -27021,PROJCS["NAD_1983_StatePlane_Nevada_Central_FIPS_2702",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",6000000],PARAMETER["Central_Meridian",-116.6666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Meter",1]] -27022,PROJCS["NAD_1983_StatePlane_Nevada_Central_FIPS_2702_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",19685000],PARAMETER["Central_Meridian",-116.6666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Foot_US",0.304800609601219241]] -27023,PROJCS["NAD_1983_HARN_StatePlane_Nevada_Central_FIPS_2702_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",19685000.0],PARAMETER["Central_Meridian",-116.6666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Foot_US",0.3048006096012192]] -27024,PROJCS["NAD_1927_StatePlane_Nevada_Central_FIPS_2702",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-116.6666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Foot_US",0.304800609601219241]] -27030,PROJCS["NAD_1983_HARN_StatePlane_Nevada_West_FIPS_2703",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",800000],PARAMETER["False_Northing",4000000],PARAMETER["Central_Meridian",-118.5833333333333],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Meter",1]] -27031,PROJCS["NAD_1983_StatePlane_Nevada_West_FIPS_2703",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",800000],PARAMETER["False_Northing",4000000],PARAMETER["Central_Meridian",-118.5833333333333],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Meter",1]] -27032,PROJCS["NAD_1983_StatePlane_Nevada_West_FIPS_2703_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",13123333.33333333],PARAMETER["Central_Meridian",-118.5833333333333],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Foot_US",0.304800609601219241]] -27033,PROJCS["NAD_1983_HARN_StatePlane_Nevada_West_FIPS_2703_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",13123333.33333333],PARAMETER["Central_Meridian",-118.5833333333333],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Foot_US",0.3048006096012192]] -27034,PROJCS["NAD_1927_StatePlane_Nevada_West_FIPS_2703",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-118.5833333333333],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Foot_US",0.304800609601219241]] -28000,PROJCS["NAD_1983_HARN_StatePlane_New_Hampshire_FIPS_2800",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-71.66666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",42.5],UNIT["Meter",1]] -28001,PROJCS["NAD_1983_StatePlane_New_Hampshire_FIPS_2800",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-71.66666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",42.5],UNIT["Meter",1]] -28002,PROJCS["NAD_1983_StatePlane_New_Hampshire_FIPS_2800_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",984249.9999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-71.66666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",42.5],UNIT["Foot_US",0.304800609601219241]] -28003,PROJCS["NAD_1983_HARN_StatePlane_New_Hampshire_FIPS_2800_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",984250.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-71.66666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",42.5],UNIT["Foot_US",0.3048006096012192]] -28004,PROJCS["NAD_1927_StatePlane_New_Hampshire_FIPS_2800",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-71.66666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",42.5],UNIT["Foot_US",0.304800609601219241]] -29000,PROJCS["NAD_1983_HARN_StatePlane_New_Jersey_FIPS_2900",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",150000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",38.83333333333334],UNIT["Meter",1]] -29001,PROJCS["NAD_1983_StatePlane_New_Jersey_FIPS_2900",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",150000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",38.83333333333334],UNIT["Meter",1]] -29002,PROJCS["NAD_1983_StatePlane_New_Jersey_FIPS_2900_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",492124.9999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",38.83333333333334],UNIT["Foot_US",0.304800609601219241]] -29003,PROJCS["NAD_1983_HARN_StatePlane_New_Jersey_FIPS_2900_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",492125.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-74.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",38.83333333333334],UNIT["Foot_US",0.3048006096012192]] -29004,PROJCS["NAD_1927_StatePlane_New_Jersey_FIPS_2900",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74.66666666666667],PARAMETER["Scale_Factor",0.9999749999999999],PARAMETER["Latitude_Of_Origin",38.83333333333334],UNIT["Foot_US",0.304800609601219241]] -30010,PROJCS["NAD_1983_HARN_StatePlane_New_Mexico_East_FIPS_3001",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",165000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-104.3333333333333],PARAMETER["Scale_Factor",0.9999090909090909],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1]] -30011,PROJCS["NAD_1983_StatePlane_New_Mexico_East_FIPS_3001",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",165000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-104.3333333333333],PARAMETER["Scale_Factor",0.9999090909090909],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1]] -30012,PROJCS["NAD_1983_StatePlane_New_Mexico_East_FIPS_3001_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",541337.4999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-104.3333333333333],PARAMETER["Scale_Factor",0.9999090909090909],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.304800609601219241]] -30013,PROJCS["NAD_1983_HARN_StatePlane_New_Mexico_East_FIPS_3001_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",541337.5],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-104.3333333333333],PARAMETER["Scale_Factor",0.9999090909090909],PARAMETER["Latitude_Of_Origin",31.0],UNIT["Foot_US",0.3048006096012192]] -30014,PROJCS["NAD_1927_StatePlane_New_Mexico_East_FIPS_3001",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-104.3333333333333],PARAMETER["Scale_Factor",0.9999090909090909],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.304800609601219241]] -30020,PROJCS["NAD_1983_HARN_StatePlane_New_Mexico_Central_FIPS_3002",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-106.25],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1]] -30021,PROJCS["NAD_1983_StatePlane_New_Mexico_Central_FIPS_3002",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-106.25],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1]] -30022,PROJCS["NAD_1983_StatePlane_New_Mexico_Central_FIPS_3002_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-106.25],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.304800609601219241]] -30023,PROJCS["NAD_1983_HARN_StatePlane_New_Mexico_Central_FIPS_3002_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-106.25],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31.0],UNIT["Foot_US",0.3048006096012192]] -30024,PROJCS["NAD_1927_StatePlane_New_Mexico_Central_FIPS_3002",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-106.25],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.304800609601219241]] -30030,PROJCS["NAD_1983_HARN_StatePlane_New_Mexico_West_FIPS_3003",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",830000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-107.8333333333333],PARAMETER["Scale_Factor",0.9999166666666667],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1]] -30031,PROJCS["NAD_1983_StatePlane_New_Mexico_West_FIPS_3003",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",830000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-107.8333333333333],PARAMETER["Scale_Factor",0.9999166666666667],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1]] -30032,PROJCS["NAD_1983_StatePlane_New_Mexico_West_FIPS_3003_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2723091.666666666],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-107.8333333333333],PARAMETER["Scale_Factor",0.9999166666666667],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.304800609601219241]] -30033,PROJCS["NAD_1983_HARN_StatePlane_New_Mexico_West_FIPS_3003_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2723091.666666666],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-107.8333333333333],PARAMETER["Scale_Factor",0.9999166666666667],PARAMETER["Latitude_Of_Origin",31.0],UNIT["Foot_US",0.3048006096012192]] -30034,PROJCS["NAD_1927_StatePlane_New_Mexico_West_FIPS_3003",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-107.8333333333333],PARAMETER["Scale_Factor",0.9999166666666667],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.304800609601219241]] -31010,PROJCS["NAD_1983_HARN_StatePlane_New_York_East_FIPS_3101",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",150000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",38.83333333333334],UNIT["Meter",1]] -31011,PROJCS["NAD_1983_StatePlane_New_York_East_FIPS_3101",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",150000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",38.83333333333334],UNIT["Meter",1]] -31012,PROJCS["NAD_1983_StatePlane_New_York_East_FIPS_3101_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",492124.9999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",38.83333333333334],UNIT["Foot_US",0.304800609601219241]] -31013,PROJCS["NAD_1983_HARN_StatePlane_New_York_East_FIPS_3101_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",492125.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-74.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",38.83333333333334],UNIT["Foot_US",0.3048006096012192]] -31014,PROJCS["NAD_1927_StatePlane_New_York_East_FIPS_3101",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74.33333333333333],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",40],UNIT["Foot_US",0.304800609601219241]] -31020,PROJCS["NAD_1983_HARN_StatePlane_New_York_Central_FIPS_3102",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",250000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-76.58333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40],UNIT["Meter",1]] -31021,PROJCS["NAD_1983_StatePlane_New_York_Central_FIPS_3102",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",250000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-76.58333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40],UNIT["Meter",1]] -31022,PROJCS["NAD_1983_StatePlane_New_York_Central_FIPS_3102_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",820208.3333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-76.58333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40],UNIT["Foot_US",0.304800609601219241]] -31023,PROJCS["NAD_1983_HARN_StatePlane_New_York_Central_FIPS_3102_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",820208.3333333333],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-76.58333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.0],UNIT["Foot_US",0.3048006096012192]] -31024,PROJCS["NAD_1927_StatePlane_New_York_Central_FIPS_3102",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-76.58333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40],UNIT["Foot_US",0.304800609601219241]] -31030,PROJCS["NAD_1983_HARN_StatePlane_New_York_West_FIPS_3103",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",350000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-78.58333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40],UNIT["Meter",1]] -31031,PROJCS["NAD_1983_StatePlane_New_York_West_FIPS_3103",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",350000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-78.58333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40],UNIT["Meter",1]] -31032,PROJCS["NAD_1983_StatePlane_New_York_West_FIPS_3103_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1148291.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-78.58333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40],UNIT["Foot_US",0.304800609601219241]] -31033,PROJCS["NAD_1983_HARN_StatePlane_New_York_West_FIPS_3103_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1148291.666666667],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-78.58333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.0],UNIT["Foot_US",0.3048006096012192]] -31034,PROJCS["NAD_1927_StatePlane_New_York_West_FIPS_3103",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-78.58333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40],UNIT["Foot_US",0.304800609601219241]] -31040,PROJCS["NAD_1983_HARN_StatePlane_New_York_Long_Island_FIPS_3104",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74],PARAMETER["Standard_Parallel_1",40.66666666666666],PARAMETER["Standard_Parallel_2",41.03333333333333],PARAMETER["Latitude_Of_Origin",40.16666666666666],UNIT["Meter",1]] -31041,PROJCS["NAD_1983_StatePlane_New_York_Long_Island_FIPS_3104",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74],PARAMETER["Standard_Parallel_1",40.66666666666666],PARAMETER["Standard_Parallel_2",41.03333333333333],PARAMETER["Latitude_Of_Origin",40.16666666666666],UNIT["Meter",1]] -31042,PROJCS["NAD_1983_StatePlane_New_York_Long_Island_FIPS_3104_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",984249.9999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74],PARAMETER["Standard_Parallel_1",40.66666666666666],PARAMETER["Standard_Parallel_2",41.03333333333333],PARAMETER["Latitude_Of_Origin",40.16666666666666],UNIT["Foot_US",0.304800609601219241]] -31043,PROJCS["NAD_1983_HARN_StatePlane_New_York_Long_Island_FIPS_3104_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",984250.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-74.0],PARAMETER["Standard_Parallel_1",40.66666666666666],PARAMETER["Standard_Parallel_2",41.03333333333333],PARAMETER["Latitude_Of_Origin",40.16666666666666],UNIT["Foot_US",0.3048006096012192]] -31044,PROJCS["NAD_1927_StatePlane_New_York_Long_Island_FIPS_3104",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",100000],PARAMETER["Central_Meridian",-74],PARAMETER["Standard_Parallel_1",40.66666666666666],PARAMETER["Standard_Parallel_2",41.03333333333333],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Foot_US",0.304800609601219241]] -32000,PROJCS["NAD_1983_HARN_StatePlane_North_Carolina_FIPS_3200",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",609601.2192024384],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-79.0],PARAMETER["Standard_Parallel_1",34.33333333333334],PARAMETER["Standard_Parallel_2",36.16666666666666],PARAMETER["Latitude_Of_Origin",33.75],UNIT["Meter",1.0]] -32001,PROJCS["NAD_1983_StatePlane_North_Carolina_FIPS_3200",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",609601.22],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-79],PARAMETER["Standard_Parallel_1",34.33333333333334],PARAMETER["Standard_Parallel_2",36.16666666666666],PARAMETER["Latitude_Of_Origin",33.75],UNIT["Meter",1]] -32002,PROJCS["NAD_1983_StatePlane_North_Carolina_FIPS_3200_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000.002616666],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-79],PARAMETER["Standard_Parallel_1",34.33333333333334],PARAMETER["Standard_Parallel_2",36.16666666666666],PARAMETER["Latitude_Of_Origin",33.75],UNIT["Foot_US",0.304800609601219241]] -32003,PROJCS["NAD_1983_HARN_StatePlane_North_Carolina_FIPS_3200_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-79.0],PARAMETER["Standard_Parallel_1",34.33333333333334],PARAMETER["Standard_Parallel_2",36.16666666666666],PARAMETER["Latitude_Of_Origin",33.75],UNIT["Foot_US",0.3048006096012192]] -32004,PROJCS["NAD_1927_StatePlane_North_Carolina_FIPS_3200",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-79],PARAMETER["Standard_Parallel_1",34.33333333333334],PARAMETER["Standard_Parallel_2",36.16666666666666],PARAMETER["Latitude_Of_Origin",33.75],UNIT["Foot_US",0.304800609601219241]] -33010,PROJCS["NAD_1983_HARN_StatePlane_North_Dakota_North_FIPS_3301",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",47.43333333333333],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47],UNIT["Meter",1]] -33011,PROJCS["NAD_1983_StatePlane_North_Dakota_North_FIPS_3301",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",47.43333333333333],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47],UNIT["Meter",1]] -33012,PROJCS["NAD_1983_StatePlane_North_Dakota_North_FIPS_3301_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",47.43333333333333],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47],UNIT["Foot_US",0.304800609601219241]] -33013,PROJCS["NAD_1983_HARN_StatePlane_North_Dakota_North_FIPS_3301_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968503.937007874],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",47.43333333333333],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47.0],UNIT["Foot",0.3048]] -33014,PROJCS["NAD_1927_StatePlane_North_Dakota_North_FIPS_3301",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",47.43333333333333],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47],UNIT["Foot_US",0.304800609601219241]] -33015,PROJCS["NAD_1983_HARN_StatePlane_North_Dakota_North_FIPS_3301_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968503.937007874],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",47.43333333333333],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47.0],UNIT["Foot",0.3048]] -33016,PROJCS["NAD_1983_StatePlane_North_Dakota_North_FIPS_3301_Feet_Intl",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968503.937007874],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",47.43333333333333],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47.0],UNIT["Foot",0.3048]] -33020,PROJCS["NAD_1983_HARN_StatePlane_North_Dakota_South_FIPS_3302",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",46.18333333333333],PARAMETER["Standard_Parallel_2",47.48333333333333],PARAMETER["Latitude_Of_Origin",45.66666666666666],UNIT["Meter",1]] -33021,PROJCS["NAD_1983_StatePlane_North_Dakota_South_FIPS_3302",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",46.18333333333333],PARAMETER["Standard_Parallel_2",47.48333333333333],PARAMETER["Latitude_Of_Origin",45.66666666666666],UNIT["Meter",1]] -33022,PROJCS["NAD_1983_StatePlane_North_Dakota_South_FIPS_3302_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",46.18333333333333],PARAMETER["Standard_Parallel_2",47.48333333333333],PARAMETER["Latitude_Of_Origin",45.66666666666666],UNIT["Foot_US",0.304800609601219241]] -33023,PROJCS["NAD_1983_HARN_StatePlane_North_Dakota_South_FIPS_3302_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968503.937007874],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",46.18333333333333],PARAMETER["Standard_Parallel_2",47.48333333333333],PARAMETER["Latitude_Of_Origin",45.66666666666666],UNIT["Foot",0.3048]] -33024,PROJCS["NAD_1927_StatePlane_North_Dakota_South_FIPS_3302",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",46.18333333333333],PARAMETER["Standard_Parallel_2",47.48333333333333],PARAMETER["Latitude_Of_Origin",45.66666666666666],UNIT["Foot_US",0.304800609601219241]] -33025,PROJCS["NAD_1983_HARN_StatePlane_North_Dakota_South_FIPS_3302_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968503.937007874],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",46.18333333333333],PARAMETER["Standard_Parallel_2",47.48333333333333],PARAMETER["Latitude_Of_Origin",45.66666666666666],UNIT["Foot",0.3048]] -33026,PROJCS["NAD_1983_StatePlane_North_Dakota_South_FIPS_3302_Feet_Intl",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968503.937007874],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",46.18333333333333],PARAMETER["Standard_Parallel_2",47.48333333333333],PARAMETER["Latitude_Of_Origin",45.66666666666666],UNIT["Foot",0.3048]] -34004,PROJCS["NAD_1927_StatePlane_Vermont_FIPS_3400",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-72.5],PARAMETER["Scale_Factor",0.9999642857142857],PARAMETER["Latitude_Of_Origin",42.5],UNIT["Foot_US",0.304800609601219241]] -34010,PROJCS["NAD_1983_HARN_StatePlane_Ohio_North_FIPS_3401",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.5],PARAMETER["Standard_Parallel_1",40.43333333333333],PARAMETER["Standard_Parallel_2",41.7],PARAMETER["Latitude_Of_Origin",39.66666666666666],UNIT["Meter",1]] -34011,PROJCS["NAD_1983_StatePlane_Ohio_North_FIPS_3401",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.5],PARAMETER["Standard_Parallel_1",40.43333333333333],PARAMETER["Standard_Parallel_2",41.7],PARAMETER["Latitude_Of_Origin",39.66666666666666],UNIT["Meter",1]] -34012,PROJCS["NAD_1983_StatePlane_Ohio_North_FIPS_3401_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.5],PARAMETER["Standard_Parallel_1",40.43333333333333],PARAMETER["Standard_Parallel_2",41.7],PARAMETER["Latitude_Of_Origin",39.66666666666666],UNIT["Foot_US",0.304800609601219241]] -34013,PROJCS["NAD_1983_HARN_StatePlane_Ohio_North_FIPS_3401_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-82.5],PARAMETER["Standard_Parallel_1",40.43333333333333],PARAMETER["Standard_Parallel_2",41.7],PARAMETER["Latitude_Of_Origin",39.66666666666666],UNIT["Foot_US",0.3048006096012192]] -34014,PROJCS["NAD_1927_StatePlane_Ohio_North_FIPS_3401",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.5],PARAMETER["Standard_Parallel_1",40.43333333333333],PARAMETER["Standard_Parallel_2",41.7],PARAMETER["Latitude_Of_Origin",39.66666666666666],UNIT["Foot_US",0.304800609601219241]] -34020,PROJCS["NAD_1983_HARN_StatePlane_Ohio_South_FIPS_3402",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.5],PARAMETER["Standard_Parallel_1",38.73333333333333],PARAMETER["Standard_Parallel_2",40.03333333333333],PARAMETER["Latitude_Of_Origin",38],UNIT["Meter",1]] -34021,PROJCS["NAD_1983_StatePlane_Ohio_South_FIPS_3402",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.5],PARAMETER["Standard_Parallel_1",38.73333333333333],PARAMETER["Standard_Parallel_2",40.03333333333333],PARAMETER["Latitude_Of_Origin",38],UNIT["Meter",1]] -34022,PROJCS["NAD_1983_StatePlane_Ohio_South_FIPS_3402_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.5],PARAMETER["Standard_Parallel_1",38.73333333333333],PARAMETER["Standard_Parallel_2",40.03333333333333],PARAMETER["Latitude_Of_Origin",38],UNIT["Foot_US",0.304800609601219241]] -34023,PROJCS["NAD_1983_HARN_StatePlane_Ohio_South_FIPS_3402_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-82.5],PARAMETER["Standard_Parallel_1",38.73333333333333],PARAMETER["Standard_Parallel_2",40.03333333333333],PARAMETER["Latitude_Of_Origin",38.0],UNIT["Foot_US",0.3048006096012192]] -34024,PROJCS["NAD_1927_StatePlane_Ohio_South_FIPS_3402",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.5],PARAMETER["Standard_Parallel_1",38.73333333333333],PARAMETER["Standard_Parallel_2",40.03333333333333],PARAMETER["Latitude_Of_Origin",38],UNIT["Foot_US",0.304800609601219241]] -35010,PROJCS["NAD_1983_HARN_StatePlane_Oklahoma_North_FIPS_3501",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",35.56666666666667],PARAMETER["Standard_Parallel_2",36.76666666666667],PARAMETER["Latitude_Of_Origin",35],UNIT["Meter",1]] -35011,PROJCS["NAD_1983_StatePlane_Oklahoma_North_FIPS_3501",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",35.56666666666667],PARAMETER["Standard_Parallel_2",36.76666666666667],PARAMETER["Latitude_Of_Origin",35],UNIT["Meter",1]] -35012,PROJCS["NAD_1983_StatePlane_Oklahoma_North_FIPS_3501_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",35.56666666666667],PARAMETER["Standard_Parallel_2",36.76666666666667],PARAMETER["Latitude_Of_Origin",35],UNIT["Foot_US",0.304800609601219241]] -35013,PROJCS["NAD_1983_HARN_StatePlane_Oklahoma_North_FIPS_3501_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-98.0],PARAMETER["Standard_Parallel_1",35.56666666666667],PARAMETER["Standard_Parallel_2",36.76666666666667],PARAMETER["Latitude_Of_Origin",35.0],UNIT["Foot_US",0.3048006096012192]] -35014,PROJCS["NAD_1927_StatePlane_Oklahoma_North_FIPS_3501",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",35.56666666666667],PARAMETER["Standard_Parallel_2",36.76666666666667],PARAMETER["Latitude_Of_Origin",35],UNIT["Foot_US",0.304800609601219241]] -35020,PROJCS["NAD_1983_HARN_StatePlane_Oklahoma_South_FIPS_3502",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",33.93333333333333],PARAMETER["Standard_Parallel_2",35.23333333333333],PARAMETER["Latitude_Of_Origin",33.33333333333334],UNIT["Meter",1]] -35021,PROJCS["NAD_1983_StatePlane_Oklahoma_South_FIPS_3502",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",33.93333333333333],PARAMETER["Standard_Parallel_2",35.23333333333333],PARAMETER["Latitude_Of_Origin",33.33333333333334],UNIT["Meter",1]] -35022,PROJCS["NAD_1983_StatePlane_Oklahoma_South_FIPS_3502_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",33.93333333333333],PARAMETER["Standard_Parallel_2",35.23333333333333],PARAMETER["Latitude_Of_Origin",33.33333333333334],UNIT["Foot_US",0.304800609601219241]] -35023,PROJCS["NAD_1983_HARN_StatePlane_Oklahoma_South_FIPS_3502_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-98.0],PARAMETER["Standard_Parallel_1",33.93333333333333],PARAMETER["Standard_Parallel_2",35.23333333333333],PARAMETER["Latitude_Of_Origin",33.33333333333334],UNIT["Foot_US",0.3048006096012192]] -35024,PROJCS["NAD_1927_StatePlane_Oklahoma_South_FIPS_3502",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",33.93333333333333],PARAMETER["Standard_Parallel_2",35.23333333333333],PARAMETER["Latitude_Of_Origin",33.33333333333334],UNIT["Foot_US",0.304800609601219241]] -36010,PROJCS["NAD_1983_HARN_StatePlane_Oregon_North_FIPS_3601",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",44.33333333333334],PARAMETER["Standard_Parallel_2",46],PARAMETER["Latitude_Of_Origin",43.66666666666666],UNIT["Meter",1]] -36011,PROJCS["NAD_1983_StatePlane_Oregon_North_FIPS_3601",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",44.33333333333334],PARAMETER["Standard_Parallel_2",46],PARAMETER["Latitude_Of_Origin",43.66666666666666],UNIT["Meter",1]] -36012,PROJCS["NAD_1983_StatePlane_Oregon_North_FIPS_3601_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",8202083.333333332],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",44.33333333333334],PARAMETER["Standard_Parallel_2",46],PARAMETER["Latitude_Of_Origin",43.66666666666666],UNIT["Foot_US",0.304800609601219241]] -36013,PROJCS["NAD_1983_HARN_StatePlane_Oregon_North_FIPS_3601_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",8202099.737532808],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",44.33333333333334],PARAMETER["Standard_Parallel_2",46.0],PARAMETER["Latitude_Of_Origin",43.66666666666666],UNIT["Foot",0.3048]] -36014,PROJCS["NAD_1927_StatePlane_Oregon_North_FIPS_3601",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",44.33333333333334],PARAMETER["Standard_Parallel_2",46],PARAMETER["Latitude_Of_Origin",43.66666666666666],UNIT["Foot_US",0.304800609601219241]] -36015,PROJCS["NAD_1983_HARN_StatePlane_Oregon_North_FIPS_3601_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",8202099.737532808],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",44.33333333333334],PARAMETER["Standard_Parallel_2",46.0],PARAMETER["Latitude_Of_Origin",43.66666666666666],UNIT["Foot",0.3048]] -36016,PROJCS["NAD_1983_StatePlane_Oregon_North_FIPS_3601_Feet_Intl",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",8202099.737532808],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",44.33333333333334],PARAMETER["Standard_Parallel_2",46.0],PARAMETER["Latitude_Of_Origin",43.66666666666666],UNIT["Foot",0.3048]] -36020,PROJCS["NAD_1983_HARN_StatePlane_Oregon_South_FIPS_3602",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",42.33333333333334],PARAMETER["Standard_Parallel_2",44],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Meter",1]] -36021,PROJCS["NAD_1983_StatePlane_Oregon_South_FIPS_3602",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",42.33333333333334],PARAMETER["Standard_Parallel_2",44],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Meter",1]] -36022,PROJCS["NAD_1983_StatePlane_Oregon_South_FIPS_3602_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",4921249.999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",42.33333333333334],PARAMETER["Standard_Parallel_2",44],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot_US",0.304800609601219241]] -36023,PROJCS["NAD_1983_HARN_StatePlane_Oregon_South_FIPS_3602_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",4921259.842519685],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",42.33333333333334],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot",0.3048]] -36024,PROJCS["NAD_1927_StatePlane_Oregon_South_FIPS_3602",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",42.33333333333334],PARAMETER["Standard_Parallel_2",44],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot_US",0.304800609601219241]] -36025,PROJCS["NAD_1983_HARN_StatePlane_Oregon_South_FIPS_3602_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",4921259.842519685],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",42.33333333333334],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot",0.3048]] -36026,PROJCS["NAD_1983_StatePlane_Oregon_South_FIPS_3602_Feet_Intl",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",4921259.842519685],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",42.33333333333334],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot",0.3048]] -37010,PROJCS["NAD_1983_HARN_StatePlane_Pennsylvania_North_FIPS_3701",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-77.75],PARAMETER["Standard_Parallel_1",40.88333333333333],PARAMETER["Standard_Parallel_2",41.95],PARAMETER["Latitude_Of_Origin",40.16666666666666],UNIT["Meter",1.0]] -37011,PROJCS["NAD_1983_StatePlane_Pennsylvania_North_FIPS_3701",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-77.75],PARAMETER["Standard_Parallel_1",40.88333333333333],PARAMETER["Standard_Parallel_2",41.95],PARAMETER["Latitude_Of_Origin",40.16666666666666],UNIT["Meter",1]] -37012,PROJCS["NAD_1983_StatePlane_Pennsylvania_North_FIPS_3701_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-77.75],PARAMETER["Standard_Parallel_1",40.88333333333333],PARAMETER["Standard_Parallel_2",41.95],PARAMETER["Latitude_Of_Origin",40.16666666666666],UNIT["Foot_US",0.304800609601219241]] -37013,PROJCS["NAD_1983_HARN_StatePlane_Pennsylvania_North_FIPS_3701_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-77.75],PARAMETER["Standard_Parallel_1",40.88333333333333],PARAMETER["Standard_Parallel_2",41.95],PARAMETER["Latitude_Of_Origin",40.16666666666666],UNIT["Foot_US",0.3048006096012192]] -37014,PROJCS["NAD_1927_StatePlane_Pennsylvania_North_FIPS_3701",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-77.75],PARAMETER["Standard_Parallel_1",40.88333333333333],PARAMETER["Standard_Parallel_2",41.95],PARAMETER["Latitude_Of_Origin",40.16666666666666],UNIT["Foot_US",0.304800609601219241]] -37020,PROJCS["NAD_1983_HARN_StatePlane_Pennsylvania_South_FIPS_3702",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-77.75],PARAMETER["Standard_Parallel_1",39.93333333333333],PARAMETER["Standard_Parallel_2",40.96666666666667],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Meter",1.0]] -37021,PROJCS["NAD_1983_StatePlane_Pennsylvania_South_FIPS_3702",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-77.75],PARAMETER["Standard_Parallel_1",39.93333333333333],PARAMETER["Standard_Parallel_2",40.96666666666667],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Meter",1]] -37022,PROJCS["NAD_1983_StatePlane_Pennsylvania_South_FIPS_3702_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-77.75],PARAMETER["Standard_Parallel_1",39.93333333333333],PARAMETER["Standard_Parallel_2",40.96666666666667],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Foot_US",0.304800609601219241]] -37023,PROJCS["NAD_1983_HARN_StatePlane_Pennsylvania_South_FIPS_3702_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-77.75],PARAMETER["Standard_Parallel_1",39.93333333333333],PARAMETER["Standard_Parallel_2",40.96666666666667],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Foot_US",0.3048006096012192]] -37024,PROJCS["NAD_1927_StatePlane_Pennsylvania_South_FIPS_3702",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-77.75],PARAMETER["Standard_Parallel_1",39.93333333333333],PARAMETER["Standard_Parallel_2",40.96666666666667],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Foot_US",0.304800609601219241]] -38000,PROJCS["NAD_1983_HARN_StatePlane_Rhode_Island_FIPS_3800",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",100000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-71.5],PARAMETER["Scale_Factor",0.99999375],PARAMETER["Latitude_Of_Origin",41.08333333333334],UNIT["Meter",1]] -38001,PROJCS["NAD_1983_StatePlane_Rhode_Island_FIPS_3800",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",100000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-71.5],PARAMETER["Scale_Factor",0.99999375],PARAMETER["Latitude_Of_Origin",41.08333333333334],UNIT["Meter",1]] -38002,PROJCS["NAD_1983_StatePlane_Rhode_Island_FIPS_3800_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",328083.3333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-71.5],PARAMETER["Scale_Factor",0.99999375],PARAMETER["Latitude_Of_Origin",41.08333333333334],UNIT["Foot_US",0.304800609601219241]] -38003,PROJCS["NAD_1983_HARN_StatePlane_Rhode_Island_FIPS_3800_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",328083.3333333333],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-71.5],PARAMETER["Scale_Factor",0.99999375],PARAMETER["Latitude_Of_Origin",41.08333333333334],UNIT["Foot_US",0.3048006096012192]] -38004,PROJCS["NAD_1927_StatePlane_Rhode_Island_FIPS_3800",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-71.5],PARAMETER["Scale_Factor",0.99999375],PARAMETER["Latitude_Of_Origin",41.08333333333334],UNIT["Foot_US",0.304800609601219241]] -39000,PROJCS["NAD_1983_HARN_StatePlane_South_Carolina_FIPS_3900",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",609600.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-81.0],PARAMETER["Standard_Parallel_1",32.5],PARAMETER["Standard_Parallel_2",34.83333333333334],PARAMETER["Latitude_Of_Origin",31.83333333333333],UNIT["Meter",1.0]] -39001,PROJCS["NAD_1983_StatePlane_South_Carolina_FIPS_3900",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",609600],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Standard_Parallel_1",32.5],PARAMETER["Standard_Parallel_2",34.83333333333334],PARAMETER["Latitude_Of_Origin",31.83333333333333],UNIT["Meter",1]] -39002,PROJCS["NAD_1983_StatePlane_South_Carolina_FIPS_3900_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1999996],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Standard_Parallel_1",32.5],PARAMETER["Standard_Parallel_2",34.83333333333334],PARAMETER["Latitude_Of_Origin",31.83333333333333],UNIT["Foot_US",0.304800609601219241]] -39003,PROJCS["NAD_1983_HARN_StatePlane_South_Carolina_FIPS_3900_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-81.0],PARAMETER["Standard_Parallel_1",32.5],PARAMETER["Standard_Parallel_2",34.83333333333334],PARAMETER["Latitude_Of_Origin",31.83333333333333],UNIT["Foot",0.3048]] -39005,PROJCS["NAD_1983_HARN_StatePlane_South_Carolina_FIPS_3900_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-81.0],PARAMETER["Standard_Parallel_1",32.5],PARAMETER["Standard_Parallel_2",34.83333333333334],PARAMETER["Latitude_Of_Origin",31.83333333333333],UNIT["Foot",0.3048]] -39006,PROJCS["NAD_1983_StatePlane_South_Carolina_FIPS_3900_Feet_Intl",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-81.0],PARAMETER["Standard_Parallel_1",32.5],PARAMETER["Standard_Parallel_2",34.83333333333334],PARAMETER["Latitude_Of_Origin",31.83333333333333],UNIT["Foot",0.3048]] -39014,PROJCS["NAD_1927_StatePlane_South_Carolina_North_FIPS_3901",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Standard_Parallel_1",33.76666666666667],PARAMETER["Standard_Parallel_2",34.96666666666667],PARAMETER["Latitude_Of_Origin",33],UNIT["Foot_US",0.304800609601219241]] -39024,PROJCS["NAD_1927_StatePlane_South_Carolina_South_FIPS_3902",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Standard_Parallel_1",32.33333333333334],PARAMETER["Standard_Parallel_2",33.66666666666666],PARAMETER["Latitude_Of_Origin",31.83333333333333],UNIT["Foot_US",0.304800609601219241]] -40010,PROJCS["NAD_1983_HARN_StatePlane_South_Dakota_North_FIPS_4001",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100],PARAMETER["Standard_Parallel_1",44.41666666666666],PARAMETER["Standard_Parallel_2",45.68333333333333],PARAMETER["Latitude_Of_Origin",43.83333333333334],UNIT["Meter",1]] -40011,PROJCS["NAD_1983_StatePlane_South_Dakota_North_FIPS_4001",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100],PARAMETER["Standard_Parallel_1",44.41666666666666],PARAMETER["Standard_Parallel_2",45.68333333333333],PARAMETER["Latitude_Of_Origin",43.83333333333334],UNIT["Meter",1]] -40012,PROJCS["NAD_1983_StatePlane_South_Dakota_North_FIPS_4001_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100],PARAMETER["Standard_Parallel_1",44.41666666666666],PARAMETER["Standard_Parallel_2",45.68333333333333],PARAMETER["Latitude_Of_Origin",43.83333333333334],UNIT["Foot_US",0.304800609601219241]] -40013,PROJCS["NAD_1983_HARN_StatePlane_South_Dakota_North_FIPS_4001_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-100.0],PARAMETER["Standard_Parallel_1",44.41666666666666],PARAMETER["Standard_Parallel_2",45.68333333333333],PARAMETER["Latitude_Of_Origin",43.83333333333334],UNIT["Foot_US",0.3048006096012192]] -40014,PROJCS["NAD_1927_StatePlane_South_Dakota_North_FIPS_4001",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100],PARAMETER["Standard_Parallel_1",44.41666666666666],PARAMETER["Standard_Parallel_2",45.68333333333333],PARAMETER["Latitude_Of_Origin",43.83333333333334],UNIT["Foot_US",0.304800609601219241]] -40020,PROJCS["NAD_1983_HARN_StatePlane_South_Dakota_South_FIPS_4002",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.3333333333333],PARAMETER["Standard_Parallel_1",42.83333333333334],PARAMETER["Standard_Parallel_2",44.4],PARAMETER["Latitude_Of_Origin",42.33333333333334],UNIT["Meter",1]] -40021,PROJCS["NAD_1983_StatePlane_South_Dakota_South_FIPS_4002",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.3333333333333],PARAMETER["Standard_Parallel_1",42.83333333333334],PARAMETER["Standard_Parallel_2",44.4],PARAMETER["Latitude_Of_Origin",42.33333333333334],UNIT["Meter",1]] -40022,PROJCS["NAD_1983_StatePlane_South_Dakota_South_FIPS_4002_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.3333333333333],PARAMETER["Standard_Parallel_1",42.83333333333334],PARAMETER["Standard_Parallel_2",44.4],PARAMETER["Latitude_Of_Origin",42.33333333333334],UNIT["Foot_US",0.304800609601219241]] -40023,PROJCS["NAD_1983_HARN_StatePlane_South_Dakota_South_FIPS_4002_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-100.3333333333333],PARAMETER["Standard_Parallel_1",42.83333333333334],PARAMETER["Standard_Parallel_2",44.4],PARAMETER["Latitude_Of_Origin",42.33333333333334],UNIT["Foot_US",0.3048006096012192]] -40024,PROJCS["NAD_1927_StatePlane_South_Dakota_South_FIPS_4002",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.3333333333333],PARAMETER["Standard_Parallel_1",42.83333333333334],PARAMETER["Standard_Parallel_2",44.4],PARAMETER["Latitude_Of_Origin",42.33333333333334],UNIT["Foot_US",0.304800609601219241]] -41000,PROJCS["NAD_1983_HARN_StatePlane_Tennessee_FIPS_4100",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-86],PARAMETER["Standard_Parallel_1",35.25],PARAMETER["Standard_Parallel_2",36.41666666666666],PARAMETER["Latitude_Of_Origin",34.33333333333334],UNIT["Meter",1]] -41001,PROJCS["NAD_1983_StatePlane_Tennessee_FIPS_4100",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-86],PARAMETER["Standard_Parallel_1",35.25],PARAMETER["Standard_Parallel_2",36.41666666666666],PARAMETER["Latitude_Of_Origin",34.33333333333334],UNIT["Meter",1]] -41002,PROJCS["NAD_1983_StatePlane_Tennessee_FIPS_4100_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-86],PARAMETER["Standard_Parallel_1",35.25],PARAMETER["Standard_Parallel_2",36.41666666666666],PARAMETER["Latitude_Of_Origin",34.33333333333334],UNIT["Foot_US",0.304800609601219241]] -41003,PROJCS["NAD_1983_HARN_StatePlane_Tennessee_FIPS_4100_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-86.0],PARAMETER["Standard_Parallel_1",35.25],PARAMETER["Standard_Parallel_2",36.41666666666666],PARAMETER["Latitude_Of_Origin",34.33333333333334],UNIT["Foot_US",0.3048006096012192]] -41004,PROJCS["NAD_1927_StatePlane_Tennessee_FIPS_4100",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",100000],PARAMETER["Central_Meridian",-86],PARAMETER["Standard_Parallel_1",35.25],PARAMETER["Standard_Parallel_2",36.41666666666666],PARAMETER["Latitude_Of_Origin",34.66666666666666],UNIT["Foot_US",0.304800609601219241]] -42010,PROJCS["NAD_1983_HARN_StatePlane_Texas_North_FIPS_4201",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",1000000],PARAMETER["Central_Meridian",-101.5],PARAMETER["Standard_Parallel_1",34.65],PARAMETER["Standard_Parallel_2",36.18333333333333],PARAMETER["Latitude_Of_Origin",34],UNIT["Meter",1]] -42011,PROJCS["NAD_1983_StatePlane_Texas_North_FIPS_4201",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",1000000],PARAMETER["Central_Meridian",-101.5],PARAMETER["Standard_Parallel_1",34.65],PARAMETER["Standard_Parallel_2",36.18333333333333],PARAMETER["Latitude_Of_Origin",34],UNIT["Meter",1]] -42012,PROJCS["NAD_1983_StatePlane_Texas_North_FIPS_4201_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",3280833.333333333],PARAMETER["Central_Meridian",-101.5],PARAMETER["Standard_Parallel_1",34.65],PARAMETER["Standard_Parallel_2",36.18333333333333],PARAMETER["Latitude_Of_Origin",34],UNIT["Foot_US",0.304800609601219241]] -42013,PROJCS["NAD_1983_HARN_StatePlane_Texas_North_FIPS_4201_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",3280833.333333333],PARAMETER["Central_Meridian",-101.5],PARAMETER["Standard_Parallel_1",34.65],PARAMETER["Standard_Parallel_2",36.18333333333333],PARAMETER["Latitude_Of_Origin",34.0],UNIT["Foot_US",0.3048006096012192]] -42014,PROJCS["NAD_1927_StatePlane_Texas_North_FIPS_4201",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-101.5],PARAMETER["Standard_Parallel_1",34.65],PARAMETER["Standard_Parallel_2",36.18333333333333],PARAMETER["Latitude_Of_Origin",34],UNIT["Foot_US",0.304800609601219241]] -42020,PROJCS["NAD_1983_HARN_StatePlane_Texas_North_Central_FIPS_4202",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",2000000],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",32.13333333333333],PARAMETER["Standard_Parallel_2",33.96666666666667],PARAMETER["Latitude_Of_Origin",31.66666666666667],UNIT["Meter",1]] -42021,PROJCS["NAD_1983_StatePlane_Texas_North_Central_FIPS_4202",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",2000000],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",32.13333333333333],PARAMETER["Standard_Parallel_2",33.96666666666667],PARAMETER["Latitude_Of_Origin",31.66666666666667],UNIT["Meter",1]] -42022,PROJCS["NAD_1983_StatePlane_Texas_North_Central_FIPS_4202_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",6561666.666666666],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",32.13333333333333],PARAMETER["Standard_Parallel_2",33.96666666666667],PARAMETER["Latitude_Of_Origin",31.66666666666667],UNIT["Foot_US",0.304800609601219241]] -42023,PROJCS["NAD_1983_HARN_StatePlane_Texas_North_Central_FIPS_4202_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",6561666.666666666],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",32.13333333333333],PARAMETER["Standard_Parallel_2",33.96666666666667],PARAMETER["Latitude_Of_Origin",31.66666666666667],UNIT["Foot_US",0.3048006096012192]] -42024,PROJCS["NAD_1927_StatePlane_Texas_North_Central_FIPS_4202",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-97.5],PARAMETER["Standard_Parallel_1",32.13333333333333],PARAMETER["Standard_Parallel_2",33.96666666666667],PARAMETER["Latitude_Of_Origin",31.66666666666667],UNIT["Foot_US",0.304800609601219241]] -42030,PROJCS["NAD_1983_HARN_StatePlane_Texas_Central_FIPS_4203",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000],PARAMETER["False_Northing",3000000],PARAMETER["Central_Meridian",-100.3333333333333],PARAMETER["Standard_Parallel_1",30.11666666666667],PARAMETER["Standard_Parallel_2",31.88333333333333],PARAMETER["Latitude_Of_Origin",29.66666666666667],UNIT["Meter",1]] -42031,PROJCS["NAD_1983_StatePlane_Texas_Central_FIPS_4203",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000],PARAMETER["False_Northing",3000000],PARAMETER["Central_Meridian",-100.3333333333333],PARAMETER["Standard_Parallel_1",30.11666666666667],PARAMETER["Standard_Parallel_2",31.88333333333333],PARAMETER["Latitude_Of_Origin",29.66666666666667],UNIT["Meter",1]] -42032,PROJCS["NAD_1983_StatePlane_Texas_Central_FIPS_4203_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2296583.333333333],PARAMETER["False_Northing",9842499.999999998],PARAMETER["Central_Meridian",-100.3333333333333],PARAMETER["Standard_Parallel_1",30.11666666666667],PARAMETER["Standard_Parallel_2",31.88333333333333],PARAMETER["Latitude_Of_Origin",29.66666666666667],UNIT["Foot_US",0.304800609601219241]] -42033,PROJCS["NAD_1983_HARN_StatePlane_Texas_Central_FIPS_4203_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2296583.333333333],PARAMETER["False_Northing",9842500.0],PARAMETER["Central_Meridian",-100.3333333333333],PARAMETER["Standard_Parallel_1",30.11666666666667],PARAMETER["Standard_Parallel_2",31.88333333333333],PARAMETER["Latitude_Of_Origin",29.66666666666667],UNIT["Foot_US",0.3048006096012192]] -42034,PROJCS["NAD_1927_StatePlane_Texas_Central_FIPS_4203",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.3333333333333],PARAMETER["Standard_Parallel_1",30.11666666666667],PARAMETER["Standard_Parallel_2",31.88333333333333],PARAMETER["Latitude_Of_Origin",29.66666666666667],UNIT["Foot_US",0.304800609601219241]] -42040,PROJCS["NAD_1983_HARN_StatePlane_Texas_South_Central_FIPS_4204",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",4000000],PARAMETER["Central_Meridian",-99],PARAMETER["Standard_Parallel_1",28.38333333333333],PARAMETER["Standard_Parallel_2",30.28333333333333],PARAMETER["Latitude_Of_Origin",27.83333333333333],UNIT["Meter",1]] -42041,PROJCS["NAD_1983_StatePlane_Texas_South_Central_FIPS_4204",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",4000000],PARAMETER["Central_Meridian",-99],PARAMETER["Standard_Parallel_1",28.38333333333333],PARAMETER["Standard_Parallel_2",30.28333333333333],PARAMETER["Latitude_Of_Origin",27.83333333333333],UNIT["Meter",1]] -42042,PROJCS["NAD_1983_StatePlane_Texas_South_Central_FIPS_4204_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",13123333.33333333],PARAMETER["Central_Meridian",-99],PARAMETER["Standard_Parallel_1",28.38333333333333],PARAMETER["Standard_Parallel_2",30.28333333333333],PARAMETER["Latitude_Of_Origin",27.83333333333333],UNIT["Foot_US",0.304800609601219241]] -42043,PROJCS["NAD_1983_HARN_StatePlane_Texas_South_Central_FIPS_4204_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",13123333.33333333],PARAMETER["Central_Meridian",-99.0],PARAMETER["Standard_Parallel_1",28.38333333333333],PARAMETER["Standard_Parallel_2",30.28333333333333],PARAMETER["Latitude_Of_Origin",27.83333333333333],UNIT["Foot_US",0.3048006096012192]] -42044,PROJCS["NAD_1927_StatePlane_Texas_South_Central_FIPS_4204",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-99],PARAMETER["Standard_Parallel_1",28.38333333333333],PARAMETER["Standard_Parallel_2",30.28333333333333],PARAMETER["Latitude_Of_Origin",27.83333333333333],UNIT["Foot_US",0.304800609601219241]] -42050,PROJCS["NAD_1983_HARN_StatePlane_Texas_South_FIPS_4205",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",5000000],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",26.16666666666667],PARAMETER["Standard_Parallel_2",27.83333333333333],PARAMETER["Latitude_Of_Origin",25.66666666666667],UNIT["Meter",1]] -42051,PROJCS["NAD_1983_StatePlane_Texas_South_FIPS_4205",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",5000000],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",26.16666666666667],PARAMETER["Standard_Parallel_2",27.83333333333333],PARAMETER["Latitude_Of_Origin",25.66666666666667],UNIT["Meter",1]] -42052,PROJCS["NAD_1983_StatePlane_Texas_South_FIPS_4205_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",984249.9999999999],PARAMETER["False_Northing",16404166.66666666],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",26.16666666666667],PARAMETER["Standard_Parallel_2",27.83333333333333],PARAMETER["Latitude_Of_Origin",25.66666666666667],UNIT["Foot_US",0.304800609601219241]] -42053,PROJCS["NAD_1983_HARN_StatePlane_Texas_South_FIPS_4205_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",984250.0],PARAMETER["False_Northing",16404166.66666666],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",26.16666666666667],PARAMETER["Standard_Parallel_2",27.83333333333333],PARAMETER["Latitude_Of_Origin",25.66666666666667],UNIT["Foot_US",0.3048006096012192]] -42054,PROJCS["NAD_1927_StatePlane_Texas_South_FIPS_4205",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",26.16666666666667],PARAMETER["Standard_Parallel_2",27.83333333333333],PARAMETER["Latitude_Of_Origin",25.66666666666667],UNIT["Foot_US",0.304800609601219241]] -43010,PROJCS["NAD_1983_HARN_StatePlane_Utah_North_FIPS_4301",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",1000000],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",40.71666666666667],PARAMETER["Standard_Parallel_2",41.78333333333333],PARAMETER["Latitude_Of_Origin",40.33333333333334],UNIT["Meter",1]] -43011,PROJCS["NAD_1983_StatePlane_Utah_North_FIPS_4301",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",1000000],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",40.71666666666667],PARAMETER["Standard_Parallel_2",41.78333333333333],PARAMETER["Latitude_Of_Origin",40.33333333333334],UNIT["Meter",1]] -43012,PROJCS["NAD_1983_StatePlane_Utah_North_FIPS_4301_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",3280833.333333333],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",40.71666666666667],PARAMETER["Standard_Parallel_2",41.78333333333333],PARAMETER["Latitude_Of_Origin",40.33333333333334],UNIT["Foot_US",0.304800609601219241]] -43013,PROJCS["NAD_1983_HARN_StatePlane_Utah_North_FIPS_4301_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",3280833.333333333],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",40.71666666666667],PARAMETER["Standard_Parallel_2",41.78333333333333],PARAMETER["Latitude_Of_Origin",40.33333333333334],UNIT["Foot_US",0.3048006096012192]] -43014,PROJCS["NAD_1927_StatePlane_Utah_North_FIPS_4301",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",40.71666666666667],PARAMETER["Standard_Parallel_2",41.78333333333333],PARAMETER["Latitude_Of_Origin",40.33333333333334],UNIT["Foot_US",0.304800609601219241]] -43015,PROJCS["NAD_1983_HARN_StatePlane_Utah_North_FIPS_4301_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640419.947506561],PARAMETER["False_Northing",3280839.895013123],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",40.71666666666667],PARAMETER["Standard_Parallel_2",41.78333333333333],PARAMETER["Latitude_Of_Origin",40.33333333333334],UNIT["Foot",0.3048]] -43016,PROJCS["NAD_1983_StatePlane_Utah_North_FIPS_4301_Feet_Intl",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640419.947506561],PARAMETER["False_Northing",3280839.895013123],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",40.71666666666667],PARAMETER["Standard_Parallel_2",41.78333333333333],PARAMETER["Latitude_Of_Origin",40.33333333333334],UNIT["Foot",0.3048]] -43020,PROJCS["NAD_1983_HARN_StatePlane_Utah_Central_FIPS_4302",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",2000000],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",39.01666666666667],PARAMETER["Standard_Parallel_2",40.65],PARAMETER["Latitude_Of_Origin",38.33333333333334],UNIT["Meter",1]] -43021,PROJCS["NAD_1983_StatePlane_Utah_Central_FIPS_4302",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",2000000],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",39.01666666666667],PARAMETER["Standard_Parallel_2",40.65],PARAMETER["Latitude_Of_Origin",38.33333333333334],UNIT["Meter",1]] -43022,PROJCS["NAD_1983_StatePlane_Utah_Central_FIPS_4302_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",6561666.666666666],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",39.01666666666667],PARAMETER["Standard_Parallel_2",40.65],PARAMETER["Latitude_Of_Origin",38.33333333333334],UNIT["Foot_US",0.304800609601219241]] -43023,PROJCS["NAD_1983_HARN_StatePlane_Utah_Central_FIPS_4302_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",6561666.666666666],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",39.01666666666667],PARAMETER["Standard_Parallel_2",40.65],PARAMETER["Latitude_Of_Origin",38.33333333333334],UNIT["Foot_US",0.3048006096012192]] -43024,PROJCS["NAD_1927_StatePlane_Utah_Central_FIPS_4302",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",39.01666666666667],PARAMETER["Standard_Parallel_2",40.65],PARAMETER["Latitude_Of_Origin",38.33333333333334],UNIT["Foot_US",0.304800609601219241]] -43025,PROJCS["NAD_1983_HARN_StatePlane_Utah_Central_FIPS_4302_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640419.947506561],PARAMETER["False_Northing",6561679.790026246],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",39.01666666666667],PARAMETER["Standard_Parallel_2",40.65],PARAMETER["Latitude_Of_Origin",38.33333333333334],UNIT["Foot",0.3048]] -43026,PROJCS["NAD_1983_StatePlane_Utah_Central_FIPS_4302_Feet_Intl",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640419.947506561],PARAMETER["False_Northing",6561679.790026246],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",39.01666666666667],PARAMETER["Standard_Parallel_2",40.65],PARAMETER["Latitude_Of_Origin",38.33333333333334],UNIT["Foot",0.3048]] -43030,PROJCS["NAD_1983_HARN_StatePlane_Utah_South_FIPS_4303",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",3000000],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",37.21666666666667],PARAMETER["Standard_Parallel_2",38.35],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Meter",1]] -43031,PROJCS["NAD_1983_StatePlane_Utah_South_FIPS_4303",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",3000000],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",37.21666666666667],PARAMETER["Standard_Parallel_2",38.35],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Meter",1]] -43032,PROJCS["NAD_1983_StatePlane_Utah_South_FIPS_4303_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",9842499.999999998],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",37.21666666666667],PARAMETER["Standard_Parallel_2",38.35],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.304800609601219241]] -43033,PROJCS["NAD_1983_HARN_StatePlane_Utah_South_FIPS_4303_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",9842500.0],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",37.21666666666667],PARAMETER["Standard_Parallel_2",38.35],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.3048006096012192]] -43034,PROJCS["NAD_1927_StatePlane_Utah_South_FIPS_4303",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",37.21666666666667],PARAMETER["Standard_Parallel_2",38.35],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.304800609601219241]] -43035,PROJCS["NAD_1983_HARN_StatePlane_Utah_South_FIPS_4303_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640419.947506561],PARAMETER["False_Northing",9842519.685039369],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",37.21666666666667],PARAMETER["Standard_Parallel_2",38.35],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot",0.3048]] -43036,PROJCS["NAD_1983_StatePlane_Utah_South_FIPS_4303_Feet_Intl",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640419.947506561],PARAMETER["False_Northing",9842519.685039369],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",37.21666666666667],PARAMETER["Standard_Parallel_2",38.35],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot",0.3048]] -44000,PROJCS["NAD_1983_HARN_StatePlane_Vermont_FIPS_4400",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-72.5],PARAMETER["Scale_Factor",0.9999642857142857],PARAMETER["Latitude_Of_Origin",42.5],UNIT["Meter",1]] -44001,PROJCS["NAD_1983_StatePlane_Vermont_FIPS_4400",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-72.5],PARAMETER["Scale_Factor",0.9999642857142857],PARAMETER["Latitude_Of_Origin",42.5],UNIT["Meter",1]] -44002,PROJCS["NAD_1983_StatePlane_Vermont_FIPS_4400_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-72.5],PARAMETER["Scale_Factor",0.9999642857142857],PARAMETER["Latitude_Of_Origin",42.5],UNIT["Foot_US",0.304800609601219241]] -45010,PROJCS["NAD_1983_HARN_StatePlane_Virginia_North_FIPS_4501",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3500000],PARAMETER["False_Northing",2000000],PARAMETER["Central_Meridian",-78.5],PARAMETER["Standard_Parallel_1",38.03333333333333],PARAMETER["Standard_Parallel_2",39.2],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Meter",1]] -45011,PROJCS["NAD_1983_StatePlane_Virginia_North_FIPS_4501",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3500000],PARAMETER["False_Northing",2000000],PARAMETER["Central_Meridian",-78.5],PARAMETER["Standard_Parallel_1",38.03333333333333],PARAMETER["Standard_Parallel_2",39.2],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Meter",1]] -45012,PROJCS["NAD_1983_StatePlane_Virginia_North_FIPS_4501_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",11482916.66666666],PARAMETER["False_Northing",6561666.666666666],PARAMETER["Central_Meridian",-78.5],PARAMETER["Standard_Parallel_1",38.03333333333333],PARAMETER["Standard_Parallel_2",39.2],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Foot_US",0.304800609601219241]] -45013,PROJCS["NAD_1983_HARN_StatePlane_Virginia_North_FIPS_4501_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",11482916.66666666],PARAMETER["False_Northing",6561666.666666666],PARAMETER["Central_Meridian",-78.5],PARAMETER["Standard_Parallel_1",38.03333333333333],PARAMETER["Standard_Parallel_2",39.2],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Foot_US",0.3048006096012192]] -45014,PROJCS["NAD_1927_StatePlane_Virginia_North_FIPS_4501",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-78.5],PARAMETER["Standard_Parallel_1",38.03333333333333],PARAMETER["Standard_Parallel_2",39.2],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Foot_US",0.304800609601219241]] -45020,PROJCS["NAD_1983_HARN_StatePlane_Virginia_South_FIPS_4502",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3500000],PARAMETER["False_Northing",1000000],PARAMETER["Central_Meridian",-78.5],PARAMETER["Standard_Parallel_1",36.76666666666667],PARAMETER["Standard_Parallel_2",37.96666666666667],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Meter",1]] -45021,PROJCS["NAD_1983_StatePlane_Virginia_South_FIPS_4502",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3500000],PARAMETER["False_Northing",1000000],PARAMETER["Central_Meridian",-78.5],PARAMETER["Standard_Parallel_1",36.76666666666667],PARAMETER["Standard_Parallel_2",37.96666666666667],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Meter",1]] -45022,PROJCS["NAD_1983_StatePlane_Virginia_South_FIPS_4502_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",11482916.66666666],PARAMETER["False_Northing",3280833.333333333],PARAMETER["Central_Meridian",-78.5],PARAMETER["Standard_Parallel_1",36.76666666666667],PARAMETER["Standard_Parallel_2",37.96666666666667],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Foot_US",0.304800609601219241]] -45023,PROJCS["NAD_1983_HARN_StatePlane_Virginia_South_FIPS_4502_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",11482916.66666666],PARAMETER["False_Northing",3280833.333333333],PARAMETER["Central_Meridian",-78.5],PARAMETER["Standard_Parallel_1",36.76666666666667],PARAMETER["Standard_Parallel_2",37.96666666666667],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Foot_US",0.3048006096012192]] -45024,PROJCS["NAD_1927_StatePlane_Virginia_South_FIPS_4502",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-78.5],PARAMETER["Standard_Parallel_1",36.76666666666667],PARAMETER["Standard_Parallel_2",37.96666666666667],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Foot_US",0.304800609601219241]] -46010,PROJCS["NAD_1983_HARN_StatePlane_Washington_North_FIPS_4601",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.8333333333333],PARAMETER["Standard_Parallel_1",47.5],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47],UNIT["Meter",1]] -46011,PROJCS["NAD_1983_StatePlane_Washington_North_FIPS_4601",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.8333333333333],PARAMETER["Standard_Parallel_1",47.5],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47],UNIT["Meter",1]] -46012,PROJCS["NAD_1983_StatePlane_Washington_North_FIPS_4601_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.8333333333333],PARAMETER["Standard_Parallel_1",47.5],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47],UNIT["Foot_US",0.304800609601219241]] -46013,PROJCS["NAD_1983_HARN_StatePlane_Washington_North_FIPS_4601_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-120.8333333333333],PARAMETER["Standard_Parallel_1",47.5],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47.0],UNIT["Foot_US",0.3048006096012192]] -46014,PROJCS["NAD_1927_StatePlane_Washington_North_FIPS_4601",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.8333333333333],PARAMETER["Standard_Parallel_1",47.5],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47],UNIT["Foot_US",0.304800609601219241]] -46020,PROJCS["NAD_1983_HARN_StatePlane_Washington_South_FIPS_4602",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",45.83333333333334],PARAMETER["Standard_Parallel_2",47.33333333333334],PARAMETER["Latitude_Of_Origin",45.33333333333334],UNIT["Meter",1]] -46021,PROJCS["NAD_1983_StatePlane_Washington_South_FIPS_4602",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",45.83333333333334],PARAMETER["Standard_Parallel_2",47.33333333333334],PARAMETER["Latitude_Of_Origin",45.33333333333334],UNIT["Meter",1]] -46022,PROJCS["NAD_1983_StatePlane_Washington_South_FIPS_4602_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",45.83333333333334],PARAMETER["Standard_Parallel_2",47.33333333333334],PARAMETER["Latitude_Of_Origin",45.33333333333334],UNIT["Foot_US",0.304800609601219241]] -46023,PROJCS["NAD_1983_HARN_StatePlane_Washington_South_FIPS_4602_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",45.83333333333334],PARAMETER["Standard_Parallel_2",47.33333333333334],PARAMETER["Latitude_Of_Origin",45.33333333333334],UNIT["Foot_US",0.3048006096012192]] -46024,PROJCS["NAD_1927_StatePlane_Washington_South_FIPS_4602",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",45.83333333333334],PARAMETER["Standard_Parallel_2",47.33333333333334],PARAMETER["Latitude_Of_Origin",45.33333333333334],UNIT["Foot_US",0.304800609601219241]] -47010,PROJCS["NAD_1983_HARN_StatePlane_West_Virginia_North_FIPS_4701",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-79.5],PARAMETER["Standard_Parallel_1",39],PARAMETER["Standard_Parallel_2",40.25],PARAMETER["Latitude_Of_Origin",38.5],UNIT["Meter",1]] -47011,PROJCS["NAD_1983_StatePlane_West_Virginia_North_FIPS_4701",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-79.5],PARAMETER["Standard_Parallel_1",39],PARAMETER["Standard_Parallel_2",40.25],PARAMETER["Latitude_Of_Origin",38.5],UNIT["Meter",1]] -47012,PROJCS["NAD_1983_StatePlane_West_Virginia_North_FIPS_4701_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-79.5],PARAMETER["Standard_Parallel_1",39],PARAMETER["Standard_Parallel_2",40.25],PARAMETER["Latitude_Of_Origin",38.5],UNIT["Foot_US",0.304800609601219241]] -47014,PROJCS["NAD_1927_StatePlane_West_Virginia_North_FIPS_4701",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-79.5],PARAMETER["Standard_Parallel_1",39],PARAMETER["Standard_Parallel_2",40.25],PARAMETER["Latitude_Of_Origin",38.5],UNIT["Foot_US",0.304800609601219241]] -47020,PROJCS["NAD_1983_HARN_StatePlane_West_Virginia_South_FIPS_4702",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Standard_Parallel_1",37.48333333333333],PARAMETER["Standard_Parallel_2",38.88333333333333],PARAMETER["Latitude_Of_Origin",37],UNIT["Meter",1]] -47021,PROJCS["NAD_1983_StatePlane_West_Virginia_South_FIPS_4702",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Standard_Parallel_1",37.48333333333333],PARAMETER["Standard_Parallel_2",38.88333333333333],PARAMETER["Latitude_Of_Origin",37],UNIT["Meter",1]] -47022,PROJCS["NAD_1983_StatePlane_West_Virginia_South_FIPS_4702_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Standard_Parallel_1",37.48333333333333],PARAMETER["Standard_Parallel_2",38.88333333333333],PARAMETER["Latitude_Of_Origin",37],UNIT["Foot_US",0.304800609601219241]] -47024,PROJCS["NAD_1927_StatePlane_West_Virginia_South_FIPS_4702",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Standard_Parallel_1",37.48333333333333],PARAMETER["Standard_Parallel_2",38.88333333333333],PARAMETER["Latitude_Of_Origin",37],UNIT["Foot_US",0.304800609601219241]] -48010,PROJCS["NAD_1983_HARN_StatePlane_Wisconsin_North_FIPS_4801",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",45.56666666666667],PARAMETER["Standard_Parallel_2",46.76666666666667],PARAMETER["Latitude_Of_Origin",45.16666666666666],UNIT["Meter",1]] -48011,PROJCS["NAD_1983_StatePlane_Wisconsin_North_FIPS_4801",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",45.56666666666667],PARAMETER["Standard_Parallel_2",46.76666666666667],PARAMETER["Latitude_Of_Origin",45.16666666666666],UNIT["Meter",1]] -48012,PROJCS["NAD_1983_StatePlane_Wisconsin_North_FIPS_4801_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",45.56666666666667],PARAMETER["Standard_Parallel_2",46.76666666666667],PARAMETER["Latitude_Of_Origin",45.16666666666666],UNIT["Foot_US",0.304800609601219241]] -48013,PROJCS["NAD_1983_HARN_StatePlane_Wisconsin_North_FIPS_4801_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-90.0],PARAMETER["Standard_Parallel_1",45.56666666666667],PARAMETER["Standard_Parallel_2",46.76666666666667],PARAMETER["Latitude_Of_Origin",45.16666666666666],UNIT["Foot_US",0.3048006096012192]] -48014,PROJCS["NAD_1927_StatePlane_Wisconsin_North_FIPS_4801",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",45.56666666666667],PARAMETER["Standard_Parallel_2",46.76666666666667],PARAMETER["Latitude_Of_Origin",45.16666666666666],UNIT["Foot_US",0.304800609601219241]] -48020,PROJCS["NAD_1983_HARN_StatePlane_Wisconsin_Central_FIPS_4802",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",44.25],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",43.83333333333334],UNIT["Meter",1]] -48021,PROJCS["NAD_1983_StatePlane_Wisconsin_Central_FIPS_4802",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",44.25],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",43.83333333333334],UNIT["Meter",1]] -48022,PROJCS["NAD_1983_StatePlane_Wisconsin_Central_FIPS_4802_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",44.25],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",43.83333333333334],UNIT["Foot_US",0.304800609601219241]] -48023,PROJCS["NAD_1983_HARN_StatePlane_Wisconsin_Central_FIPS_4802_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-90.0],PARAMETER["Standard_Parallel_1",44.25],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",43.83333333333334],UNIT["Foot_US",0.3048006096012192]] -48024,PROJCS["NAD_1927_StatePlane_Wisconsin_Central_FIPS_4802",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",44.25],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",43.83333333333334],UNIT["Foot_US",0.304800609601219241]] -48030,PROJCS["NAD_1983_HARN_StatePlane_Wisconsin_South_FIPS_4803",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",42.73333333333333],PARAMETER["Standard_Parallel_2",44.06666666666667],PARAMETER["Latitude_Of_Origin",42],UNIT["Meter",1]] -48031,PROJCS["NAD_1983_StatePlane_Wisconsin_South_FIPS_4803",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",42.73333333333333],PARAMETER["Standard_Parallel_2",44.06666666666667],PARAMETER["Latitude_Of_Origin",42],UNIT["Meter",1]] -48032,PROJCS["NAD_1983_StatePlane_Wisconsin_South_FIPS_4803_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",42.73333333333333],PARAMETER["Standard_Parallel_2",44.06666666666667],PARAMETER["Latitude_Of_Origin",42],UNIT["Foot_US",0.304800609601219241]] -48033,PROJCS["NAD_1983_HARN_StatePlane_Wisconsin_South_FIPS_4803_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-90.0],PARAMETER["Standard_Parallel_1",42.73333333333333],PARAMETER["Standard_Parallel_2",44.06666666666667],PARAMETER["Latitude_Of_Origin",42.0],UNIT["Foot_US",0.3048006096012192]] -48034,PROJCS["NAD_1927_StatePlane_Wisconsin_South_FIPS_4803",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",42.73333333333333],PARAMETER["Standard_Parallel_2",44.06666666666667],PARAMETER["Latitude_Of_Origin",42],UNIT["Foot_US",0.304800609601219241]] -49010,PROJCS["NAD_1983_HARN_StatePlane_Wyoming_East_FIPS_4901",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-105.1666666666667],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Meter",1]] -49011,PROJCS["NAD_1983_StatePlane_Wyoming_East_FIPS_4901",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-105.1666666666667],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Meter",1]] -49012,PROJCS["NAD_1983_StatePlane_Wyoming_East_FIPS_4901_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-105.1666666666667],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Foot_US",0.304800609601219241]] -49013,PROJCS["NAD_1983_HARN_StatePlane_Wyoming_East_FIPS_4901_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-105.1666666666667],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Foot_US",0.3048006096012192]] -49014,PROJCS["NAD_1927_StatePlane_Wyoming_East_FIPS_4901",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-105.1666666666667],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",40.66666666666666],UNIT["Foot_US",0.304800609601219241]] -49020,PROJCS["NAD_1983_HARN_StatePlane_Wyoming_East_Central_FIPS_4902",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",100000],PARAMETER["Central_Meridian",-107.3333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Meter",1]] -49021,PROJCS["NAD_1983_StatePlane_Wyoming_East_Central_FIPS_4902",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",100000],PARAMETER["Central_Meridian",-107.3333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Meter",1]] -49022,PROJCS["NAD_1983_StatePlane_Wyoming_East_Central_FIPS_4902_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",328083.3333333333],PARAMETER["Central_Meridian",-107.3333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Foot_US",0.304800609601219241]] -49023,PROJCS["NAD_1983_HARN_StatePlane_Wyoming_East_Central_FIPS_4902_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",328083.3333333333],PARAMETER["Central_Meridian",-107.3333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Foot_US",0.3048006096012192]] -49024,PROJCS["NAD_1927_StatePlane_Wyoming_East_Central_FIPS_4902",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-107.3333333333333],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",40.66666666666666],UNIT["Foot_US",0.304800609601219241]] -49030,PROJCS["NAD_1983_HARN_StatePlane_Wyoming_West_Central_FIPS_4903",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-108.75],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Meter",1]] -49031,PROJCS["NAD_1983_StatePlane_Wyoming_West_Central_FIPS_4903",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-108.75],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Meter",1]] -49032,PROJCS["NAD_1983_StatePlane_Wyoming_West_Central_FIPS_4903_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-108.75],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Foot_US",0.304800609601219241]] -49033,PROJCS["NAD_1983_HARN_StatePlane_Wyoming_West_Central_FIPS_4903_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-108.75],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Foot_US",0.3048006096012192]] -49034,PROJCS["NAD_1927_StatePlane_Wyoming_West_Central_FIPS_4903",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-108.75],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",40.66666666666666],UNIT["Foot_US",0.304800609601219241]] -49040,PROJCS["NAD_1983_HARN_StatePlane_Wyoming_West_FIPS_4904",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",800000],PARAMETER["False_Northing",100000],PARAMETER["Central_Meridian",-110.0833333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Meter",1]] -49041,PROJCS["NAD_1983_StatePlane_Wyoming_West_FIPS_4904",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",800000],PARAMETER["False_Northing",100000],PARAMETER["Central_Meridian",-110.0833333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Meter",1]] -49042,PROJCS["NAD_1983_StatePlane_Wyoming_West_FIPS_4904_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",328083.3333333333],PARAMETER["Central_Meridian",-110.0833333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Foot_US",0.304800609601219241]] -49043,PROJCS["NAD_1983_HARN_StatePlane_Wyoming_West_FIPS_4904_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",328083.3333333333],PARAMETER["Central_Meridian",-110.0833333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Foot_US",0.3048006096012192]] -49044,PROJCS["NAD_1927_StatePlane_Wyoming_West_FIPS_4904",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-110.0833333333333],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",40.66666666666666],UNIT["Foot_US",0.304800609601219241]] -50011,PROJCS["NAD_1983_StatePlane_Alaska_1_FIPS_5001",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Hotine_Oblique_Mercator_Azimuth_Natural_Origin"],PARAMETER["False_Easting",5000000],PARAMETER["False_Northing",-5000000],PARAMETER["Scale_Factor",0.9999],PARAMETER["Azimuth",-36.86989764583333],PARAMETER["Longitude_Of_Center",-133.6666666666667],PARAMETER["Latitude_Of_Center",57],UNIT["Meter",1]] -50012,PROJCS["NAD_1983_StatePlane_Alaska_1_FIPS_5001_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Hotine_Oblique_Mercator_Azimuth_Natural_Origin"],PARAMETER["False_Easting",16404166.66666666],PARAMETER["False_Northing",-16404166.66666666],PARAMETER["Scale_Factor",0.9999],PARAMETER["Azimuth",-36.86989764583333],PARAMETER["Longitude_Of_Center",-133.6666666666667],PARAMETER["Latitude_Of_Center",57],UNIT["Foot_US",0.304800609601219241]] -50014,PROJCS["NAD_1927_StatePlane_Alaska_1_FIPS_5001",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Hotine_Oblique_Mercator_Azimuth_Natural_Origin"],PARAMETER["False_Easting",16404166.666667],PARAMETER["False_Northing",-16404166.666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Azimuth",-36.86989764583333],PARAMETER["Longitude_Of_Center",-133.6666666666667],PARAMETER["Latitude_Of_Center",57],UNIT["Foot_US",0.304800609601219241]] -50021,PROJCS["NAD_1983_StatePlane_Alaska_2_FIPS_5002",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-142],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Meter",1]] -50022,PROJCS["NAD_1983_StatePlane_Alaska_2_FIPS_5002_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-142],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.304800609601219241]] -50024,PROJCS["NAD_1927_StatePlane_Alaska_2_FIPS_5002",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-142],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.304800609601219241]] -50031,PROJCS["NAD_1983_StatePlane_Alaska_3_FIPS_5003",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-146],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Meter",1]] -50032,PROJCS["NAD_1983_StatePlane_Alaska_3_FIPS_5003_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-146],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.304800609601219241]] -50034,PROJCS["NAD_1927_StatePlane_Alaska_3_FIPS_5003",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-146],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.304800609601219241]] -50041,PROJCS["NAD_1983_StatePlane_Alaska_4_FIPS_5004",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-150],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Meter",1]] -50042,PROJCS["NAD_1983_StatePlane_Alaska_4_FIPS_5004_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-150],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.304800609601219241]] -50044,PROJCS["NAD_1927_StatePlane_Alaska_4_FIPS_5004",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-150],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.304800609601219241]] -50051,PROJCS["NAD_1983_StatePlane_Alaska_5_FIPS_5005",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-154],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Meter",1]] -50052,PROJCS["NAD_1983_StatePlane_Alaska_5_FIPS_5005_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-154],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.304800609601219241]] -50054,PROJCS["NAD_1927_StatePlane_Alaska_5_FIPS_5005",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-154],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.304800609601219241]] -50061,PROJCS["NAD_1983_StatePlane_Alaska_6_FIPS_5006",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-158],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Meter",1]] -50062,PROJCS["NAD_1983_StatePlane_Alaska_6_FIPS_5006_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-158],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.304800609601219241]] -50064,PROJCS["NAD_1927_StatePlane_Alaska_6_FIPS_5006",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-158],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.304800609601219241]] -50071,PROJCS["NAD_1983_StatePlane_Alaska_7_FIPS_5007",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-162],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Meter",1]] -50072,PROJCS["NAD_1983_StatePlane_Alaska_7_FIPS_5007_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-162],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.304800609601219241]] -50074,PROJCS["NAD_1927_StatePlane_Alaska_7_FIPS_5007",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-162],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.304800609601219241]] -50081,PROJCS["NAD_1983_StatePlane_Alaska_8_FIPS_5008",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-166],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Meter",1]] -50082,PROJCS["NAD_1983_StatePlane_Alaska_8_FIPS_5008_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-166],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.304800609601219241]] -50084,PROJCS["NAD_1927_StatePlane_Alaska_8_FIPS_5008",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-166],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.304800609601219241]] -50091,PROJCS["NAD_1983_StatePlane_Alaska_9_FIPS_5009",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-170],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Meter",1]] -50092,PROJCS["NAD_1983_StatePlane_Alaska_9_FIPS_5009_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-170],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.304800609601219241]] -50094,PROJCS["NAD_1927_StatePlane_Alaska_9_FIPS_5009",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-170],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.304800609601219241]] -50101,PROJCS["NAD_1983_StatePlane_Alaska_10_FIPS_5010",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-176],PARAMETER["Standard_Parallel_1",51.83333333333334],PARAMETER["Standard_Parallel_2",53.83333333333334],PARAMETER["Latitude_Of_Origin",51],UNIT["Meter",1]] -50102,PROJCS["NAD_1983_StatePlane_Alaska_10_FIPS_5010_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3280833.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-176],PARAMETER["Standard_Parallel_1",51.83333333333334],PARAMETER["Standard_Parallel_2",53.83333333333334],PARAMETER["Latitude_Of_Origin",51],UNIT["Foot_US",0.304800609601219241]] -50104,PROJCS["NAD_1927_StatePlane_Alaska_10_FIPS_5010",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-176],PARAMETER["Standard_Parallel_1",51.83333333333334],PARAMETER["Standard_Parallel_2",53.83333333333334],PARAMETER["Latitude_Of_Origin",51],UNIT["Foot_US",0.304800609601219241]] -51010,PROJCS["NAD_1983_HARN_StatePlane_Hawaii_1_FIPS_5101",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-155.5],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",18.83333333333333],UNIT["Meter",1]] -51011,PROJCS["NAD_1983_StatePlane_Hawaii_1_FIPS_5101",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-155.5],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",18.83333333333333],UNIT["Meter",1]] -51012,PROJCS["NAD_1983_StatePlane_Hawaii_1_FIPS_5101_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-155.5],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",18.83333333333333],UNIT["Foot_US",0.304800609601219241]] -51013,PROJCS["NAD_1983_HARN_StatePlane_Hawaii_1_FIPS_5101_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-155.5],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",18.83333333333333],UNIT["Foot_US",0.3048006096012192]] -51014,PROJCS["Old_Hawaiian_StatePlane_Hawaii_1_FIPS_5101",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-155.5],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",18.83333333333333],UNIT["Foot_US",0.304800609601219241]] -51020,PROJCS["NAD_1983_HARN_StatePlane_Hawaii_2_FIPS_5102",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-156.6666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",20.33333333333333],UNIT["Meter",1]] -51021,PROJCS["NAD_1983_StatePlane_Hawaii_2_FIPS_5102",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-156.6666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",20.33333333333333],UNIT["Meter",1]] -51022,PROJCS["NAD_1983_StatePlane_Hawaii_2_FIPS_5102_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-156.6666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",20.33333333333333],UNIT["Foot_US",0.304800609601219241]] -51023,PROJCS["NAD_1983_HARN_StatePlane_Hawaii_2_FIPS_5102_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-156.6666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",20.33333333333333],UNIT["Foot_US",0.3048006096012192]] -51024,PROJCS["Old_Hawaiian_StatePlane_Hawaii_2_FIPS_5102",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-156.6666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",20.33333333333333],UNIT["Foot_US",0.304800609601219241]] -51030,PROJCS["NAD_1983_HARN_StatePlane_Hawaii_3_FIPS_5103",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-158],PARAMETER["Scale_Factor",0.99999],PARAMETER["Latitude_Of_Origin",21.16666666666667],UNIT["Meter",1]] -51031,PROJCS["NAD_1983_StatePlane_Hawaii_3_FIPS_5103",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-158],PARAMETER["Scale_Factor",0.99999],PARAMETER["Latitude_Of_Origin",21.16666666666667],UNIT["Meter",1]] -51032,PROJCS["NAD_1983_StatePlane_Hawaii_3_FIPS_5103_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-158],PARAMETER["Scale_Factor",0.99999],PARAMETER["Latitude_Of_Origin",21.16666666666667],UNIT["Foot_US",0.304800609601219241]] -51033,PROJCS["NAD_1983_HARN_StatePlane_Hawaii_3_FIPS_5103_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-158.0],PARAMETER["Scale_Factor",0.99999],PARAMETER["Latitude_Of_Origin",21.16666666666667],UNIT["Foot_US",0.3048006096012192]] -51034,PROJCS["Old_Hawaiian_StatePlane_Hawaii_3_FIPS_5103",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-158],PARAMETER["Scale_Factor",0.99999],PARAMETER["Latitude_Of_Origin",21.16666666666667],UNIT["Foot_US",0.304800609601219241]] -51040,PROJCS["NAD_1983_HARN_StatePlane_Hawaii_4_FIPS_5104",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-159.5],PARAMETER["Scale_Factor",0.99999],PARAMETER["Latitude_Of_Origin",21.83333333333333],UNIT["Meter",1]] -51041,PROJCS["NAD_1983_StatePlane_Hawaii_4_FIPS_5104",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-159.5],PARAMETER["Scale_Factor",0.99999],PARAMETER["Latitude_Of_Origin",21.83333333333333],UNIT["Meter",1]] -51042,PROJCS["NAD_1983_StatePlane_Hawaii_4_FIPS_5104_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-159.5],PARAMETER["Scale_Factor",0.99999],PARAMETER["Latitude_Of_Origin",21.83333333333333],UNIT["Foot_US",0.304800609601219241]] -51043,PROJCS["NAD_1983_HARN_StatePlane_Hawaii_4_FIPS_5104_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-159.5],PARAMETER["Scale_Factor",0.99999],PARAMETER["Latitude_Of_Origin",21.83333333333333],UNIT["Foot_US",0.3048006096012192]] -51044,PROJCS["Old_Hawaiian_StatePlane_Hawaii_4_FIPS_5104",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-159.5],PARAMETER["Scale_Factor",0.99999],PARAMETER["Latitude_Of_Origin",21.83333333333333],UNIT["Foot_US",0.304800609601219241]] -51050,PROJCS["NAD_1983_HARN_StatePlane_Hawaii_5_FIPS_5105",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-160.1666666666667],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",21.66666666666667],UNIT["Meter",1]] -51051,PROJCS["NAD_1983_StatePlane_Hawaii_5_FIPS_5105",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-160.1666666666667],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",21.66666666666667],UNIT["Meter",1]] -51052,PROJCS["NAD_1983_StatePlane_Hawaii_5_FIPS_5105_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-160.1666666666667],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",21.66666666666667],UNIT["Foot_US",0.304800609601219241]] -51053,PROJCS["NAD_1983_HARN_StatePlane_Hawaii_5_FIPS_5105_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-160.1666666666667],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",21.66666666666667],UNIT["Foot_US",0.3048006096012192]] -51054,PROJCS["Old_Hawaiian_StatePlane_Hawaii_5_FIPS_5105",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-160.1666666666667],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",21.66666666666667],UNIT["Foot_US",0.304800609601219241]] -52000,PROJCS["NAD_1983_HARN_StatePlane_Puerto_Rico_Virgin_Islands_FIPS_5200",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",200000],PARAMETER["Central_Meridian",-66.43333333333334],PARAMETER["Standard_Parallel_1",18.03333333333333],PARAMETER["Standard_Parallel_2",18.43333333333333],PARAMETER["Latitude_Of_Origin",17.83333333333333],UNIT["Meter",1]] -52001,PROJCS["NAD_1983_StatePlane_Puerto_Rico_Virgin_Islands_FIPS_5200",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",200000],PARAMETER["Central_Meridian",-66.43333333333334],PARAMETER["Standard_Parallel_1",18.03333333333333],PARAMETER["Standard_Parallel_2",18.43333333333333],PARAMETER["Latitude_Of_Origin",17.83333333333333],UNIT["Meter",1]] -52002,PROJCS["NAD_1983_StatePlane_Puerto_Rico_Virgin_Islands_FIPS_5200_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",656166.6666666665],PARAMETER["Central_Meridian",-66.43333333333334],PARAMETER["Standard_Parallel_1",18.03333333333333],PARAMETER["Standard_Parallel_2",18.43333333333333],PARAMETER["Latitude_Of_Origin",17.83333333333333],UNIT["Foot_US",0.3048006096012192]] -52014,PROJCS["NAD_1927_StatePlane_Puerto_Rico_FIPS_5201",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-66.43333333333334],PARAMETER["Standard_Parallel_1",18.03333333333333],PARAMETER["Standard_Parallel_2",18.43333333333333],PARAMETER["Latitude_Of_Origin",17.83333333333333],UNIT["Foot_US",0.304800609601219241]] -52020,PROJCS["Puerto_Rico_StatePlane_Virgin_Islands_St_Croix_FIPS_5202",GEOGCS["GCS_Puerto_Rico",DATUM["D_Puerto_Rico",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",100000],PARAMETER["Central_Meridian",-66.43333333333334],PARAMETER["Standard_Parallel_1",18.03333333333333],PARAMETER["Standard_Parallel_2",18.43333333333333],PARAMETER["Latitude_Of_Origin",17.83333333333333],UNIT["Foot_US",0.304800609601219241]] -52024,PROJCS["Puerto_Rico_StatePlane_Virgin_Islands_St_Croix_FIPS_5202",GEOGCS["GCS_Puerto_Rico",DATUM["D_Puerto_Rico",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",100000],PARAMETER["Central_Meridian",-66.43333333333334],PARAMETER["Standard_Parallel_1",18.03333333333333],PARAMETER["Standard_Parallel_2",18.43333333333333],PARAMETER["Latitude_Of_Origin",17.83333333333333],UNIT["Foot_US",0.304800609601219241]] -54000,PROJCS["NAD_1983_StatePlane_Guam_FIPS_5400",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Polyconic"],PARAMETER["False_Easting",50000],PARAMETER["False_Northing",50000],PARAMETER["Central_Meridian",144.7487507055556],PARAMETER["Latitude_Of_Origin",13.47246635277778],UNIT["Meter",1]] -54001,PROJCS["NAD_1983_StatePlane_Guam_FIPS_5400",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Polyconic"],PARAMETER["False_Easting",50000],PARAMETER["False_Northing",50000],PARAMETER["Central_Meridian",144.7487507055556],PARAMETER["Latitude_Of_Origin",13.47246635277778],UNIT["Meter",1]] -54002,PROJCS["NAD_1983_StatePlane_Guam_FIPS_5400_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Polyconic"],PARAMETER["False_Easting",164041.6666666666],PARAMETER["False_Northing",164041.6666666666],PARAMETER["Central_Meridian",144.7487507055556],PARAMETER["Latitude_Of_Origin",13.47246635277778],UNIT["Foot_US",0.304800609601219241]] -54004,PROJCS["NAD_1927_StatePlane_Guam_FIPS_5400",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199432955]],PROJECTION["Polyconic"],PARAMETER["False_Easting",164041.6666666667],PARAMETER["False_Northing",164041.6666666667],PARAMETER["Central_Meridian",144.7487507055556],PARAMETER["Latitude_Of_Origin",13.47246635277778],UNIT["Foot_US",0.304800609601219241]] -102964,PROJCS["NAD_1927_Alaska_Albers_Feet",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-154.0],PARAMETER["Standard_Parallel_1",55.0],PARAMETER["Standard_Parallel_2",65.0],PARAMETER["Latitude_Of_Origin",50.0],UNIT["Foot_US",0.3048006096012192]] -102991,PROJCS["NAD_1983_Oregon_Statewide_Lambert",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",400000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",43.0],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",41.75],UNIT["Meter",1.0]] -102993,PROJCS["NAD_1983_HARN_Oregon_Statewide_Lambert",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",400000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",43.0],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",41.75],UNIT["Meter",1.0]] -102994,PROJCS["NAD_1983_HARN_Oregon_Statewide_Lambert_Feet_Intl",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1312335.958005249],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",43.0],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",41.75],UNIT["Foot",0.3048]] -102996,PROJCS["NAD_1983_Oregon_Statewide_Lambert_Feet_Intl",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1312335.958005249],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",43.0],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",41.75],UNIT["Foot",0.3048]] diff --git a/bin/gdal_data/esri_Wisconsin_extra.wkt b/bin/gdal_data/esri_Wisconsin_extra.wkt deleted file mode 100644 index cab02eb3..00000000 --- a/bin/gdal_data/esri_Wisconsin_extra.wkt +++ /dev/null @@ -1,144 +0,0 @@ -103300,PROJCS["NAD_1983_HARN_WISCRS_Adams_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",147218.6942],PARAMETER["False_Northing",0.0037],PARAMETER["Central_Meridian",-90.0],PARAMETER["Scale_Factor",1.0000365285],PARAMETER["Latitude_Of_Origin",43.36666666666667],UNIT["Meter",1.0]] -103301,PROJCS["NAD_1983_HARN_WISCRS_Ashland_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",172821.9461],PARAMETER["False_Northing",0.0017],PARAMETER["Central_Meridian",-90.62222222222222],PARAMETER["Scale_Factor",1.0000495683],PARAMETER["Latitude_Of_Origin",45.70611111111111],UNIT["Meter",1.0]] -103302,PROJCS["NAD_1983_HARN_WISCRS_Barron_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",93150.0],PARAMETER["False_Northing",0.0029],PARAMETER["Central_Meridian",-91.85],PARAMETER["Scale_Factor",1.0000486665],PARAMETER["Latitude_Of_Origin",45.13333333333333],UNIT["Meter",1.0]] -103303,PROJCS["NAD_1983_HARN_WISCRS_Bayfield_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",228600.4575],PARAMETER["False_Northing",148551.4837],PARAMETER["Central_Meridian",-91.15277777777779],PARAMETER["Standard_Parallel_1",46.66964837722222],PARAMETER["Scale_Factor",1.0000331195],PARAMETER["Latitude_Of_Origin",46.66964837722222],UNIT["Meter",1.0]] -103304,PROJCS["NAD_1983_HARN_WISCRS_Brown_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",31600.0],PARAMETER["False_Northing",4600.0],PARAMETER["Central_Meridian",-88.0],PARAMETER["Scale_Factor",1.00002],PARAMETER["Latitude_Of_Origin",43.0],UNIT["Meter",1.0]] -103305,PROJCS["NAD_1983_HARN_WISCRS_Buffalo_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",175260.3502],PARAMETER["False_Northing",0.0048],PARAMETER["Central_Meridian",-91.79722222222222],PARAMETER["Scale_Factor",1.0000382778],PARAMETER["Latitude_Of_Origin",43.48138888888889],UNIT["Meter",1.0]] -103306,PROJCS["NAD_1983_HARN_WISCRS_Burnett_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",64008.1276],PARAMETER["False_Northing",59445.9043],PARAMETER["Central_Meridian",-92.45777777777778],PARAMETER["Standard_Parallel_1",45.89871486583333],PARAMETER["Scale_Factor",1.0000383841],PARAMETER["Latitude_Of_Origin",45.89871486583333],UNIT["Meter",1.0]] -103307,PROJCS["NAD_1983_HARN_WISCRS_Calumet_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",244754.8893],PARAMETER["False_Northing",0.0049],PARAMETER["Central_Meridian",-88.5],PARAMETER["Scale_Factor",1.0000286569],PARAMETER["Latitude_Of_Origin",42.71944444444445],UNIT["Meter",1.0]] -103308,PROJCS["NAD_1983_HARN_WISCRS_Chippewa_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",60045.72],PARAMETER["False_Northing",44091.4346],PARAMETER["Central_Meridian",-91.29444444444444],PARAMETER["Standard_Parallel_1",44.97785689861112],PARAMETER["Scale_Factor",1.0000391127],PARAMETER["Latitude_Of_Origin",44.97785689861112],UNIT["Meter",1.0]] -103309,PROJCS["NAD_1983_HARN_WISCRS_Clark_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",199949.1989],PARAMETER["False_Northing",0.0086],PARAMETER["Central_Meridian",-90.70833333333334],PARAMETER["Scale_Factor",1.0000463003],PARAMETER["Latitude_Of_Origin",43.6],UNIT["Meter",1.0]] -103310,PROJCS["NAD_1983_HARN_WISCRS_Columbia_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",169164.3381],PARAMETER["False_Northing",111569.6134],PARAMETER["Central_Meridian",-89.39444444444445],PARAMETER["Standard_Parallel_1",43.46254664583333],PARAMETER["Scale_Factor",1.00003498],PARAMETER["Latitude_Of_Origin",43.46254664583333],UNIT["Meter",1.0]] -103311,PROJCS["NAD_1983_HARN_WISCRS_Crawford_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",113690.6274],PARAMETER["False_Northing",53703.1201],PARAMETER["Central_Meridian",-90.9388888888889],PARAMETER["Standard_Parallel_1",43.200055605],PARAMETER["Scale_Factor",1.0000349151],PARAMETER["Latitude_Of_Origin",43.200055605],UNIT["Meter",1.0]] -103312,PROJCS["NAD_1983_HARN_WISCRS_Dane_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",247193.2944],PARAMETER["False_Northing",146591.9896],PARAMETER["Central_Meridian",-89.42222222222223],PARAMETER["Standard_Parallel_1",43.0695160375],PARAMETER["Scale_Factor",1.0000384786],PARAMETER["Latitude_Of_Origin",43.0695160375],UNIT["Meter",1.0]] -103313,PROJCS["NAD_1983_HARN_WISCRS_Dodge_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",263347.7263],PARAMETER["False_Northing",0.0076],PARAMETER["Central_Meridian",-88.775],PARAMETER["Scale_Factor",1.0000346418],PARAMETER["Latitude_Of_Origin",41.47222222222222],UNIT["Meter",1.0]] -103314,PROJCS["NAD_1983_HARN_WISCRS_Door_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",158801.1176],PARAMETER["False_Northing",0.0023],PARAMETER["Central_Meridian",-87.27222222222223],PARAMETER["Scale_Factor",1.0000187521],PARAMETER["Latitude_Of_Origin",44.4],UNIT["Meter",1.0]] -103315,PROJCS["NAD_1983_HARN_WISCRS_Douglas_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",59131.3183],PARAMETER["False_Northing",0.0041],PARAMETER["Central_Meridian",-91.91666666666667],PARAMETER["Scale_Factor",1.0000385418],PARAMETER["Latitude_Of_Origin",45.88333333333333],UNIT["Meter",1.0]] -103316,PROJCS["NAD_1983_HARN_WISCRS_Dunn_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",51816.104],PARAMETER["False_Northing",0.003],PARAMETER["Central_Meridian",-91.89444444444445],PARAMETER["Scale_Factor",1.0000410324],PARAMETER["Latitude_Of_Origin",44.40833333333333],UNIT["Meter",1.0]] -103317,PROJCS["NAD_1983_HARN_WISCRS_EauClaire_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",120091.4402],PARAMETER["False_Northing",91687.9239],PARAMETER["Central_Meridian",-91.28888888888889],PARAMETER["Standard_Parallel_1",45.87228112638889],PARAMETER["Scale_Factor",1.000035079],PARAMETER["Latitude_Of_Origin",45.87228112638889],UNIT["Meter",1.0]] -103318,PROJCS["NAD_1983_HARN_WISCRS_Florence_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",133502.6683],PARAMETER["False_Northing",0.0063],PARAMETER["Central_Meridian",-88.14166666666668],PARAMETER["Scale_Factor",1.0000552095],PARAMETER["Latitude_Of_Origin",45.43888888888888],UNIT["Meter",1.0]] -103319,PROJCS["NAD_1983_HARN_WISCRS_Fond_du_Lac_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",244754.8893],PARAMETER["False_Northing",0.0049],PARAMETER["Central_Meridian",-88.5],PARAMETER["Scale_Factor",1.0000286569],PARAMETER["Latitude_Of_Origin",42.71944444444445],UNIT["Meter",1.0]] -103320,PROJCS["NAD_1983_HARN_WISCRS_Forest_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",275844.5533],PARAMETER["False_Northing",0.0157],PARAMETER["Central_Meridian",-88.63333333333334],PARAMETER["Scale_Factor",1.0000673004],PARAMETER["Latitude_Of_Origin",44.00555555555555],UNIT["Meter",1.0]] -103321,PROJCS["NAD_1983_HARN_WISCRS_Grant_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",242316.4841],PARAMETER["False_Northing",0.01],PARAMETER["Central_Meridian",-90.8],PARAMETER["Scale_Factor",1.0000349452],PARAMETER["Latitude_Of_Origin",41.41111111111111],UNIT["Meter",1.0]] -103322,PROJCS["NAD_1983_HARN_WISCRS_Green_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",170078.7403],PARAMETER["False_Northing",45830.2947],PARAMETER["Central_Meridian",-89.83888888888889],PARAMETER["Standard_Parallel_1",42.63756227694444],PARAMETER["Scale_Factor",1.0000390487],PARAMETER["Latitude_Of_Origin",42.63756227694444],UNIT["Meter",1.0]] -103323,PROJCS["NAD_1983_HARN_WISCRS_GreenLake_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",150876.3018],PARAMETER["False_Northing",79170.7795],PARAMETER["Central_Meridian",-89.24166666666667],PARAMETER["Standard_Parallel_1",43.80700011777778],PARAMETER["Scale_Factor",1.0000344057],PARAMETER["Latitude_Of_Origin",43.80700011777778],UNIT["Meter",1.0]] -103324,PROJCS["NAD_1983_HARN_WISCRS_Iowa_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",113081.0261],PARAMETER["False_Northing",0.0045],PARAMETER["Central_Meridian",-90.16111111111111],PARAMETER["Scale_Factor",1.0000394961],PARAMETER["Latitude_Of_Origin",42.53888888888888],UNIT["Meter",1.0]] -103325,PROJCS["NAD_1983_HARN_WISCRS_Iron_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",220980.4419],PARAMETER["False_Northing",0.0085],PARAMETER["Central_Meridian",-90.25555555555556],PARAMETER["Scale_Factor",1.0000677153],PARAMETER["Latitude_Of_Origin",45.43333333333333],UNIT["Meter",1.0]] -103326,PROJCS["NAD_1983_HARN_WISCRS_Jackson_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",27000.0],PARAMETER["False_Northing",25000.0],PARAMETER["Central_Meridian",-90.84429651944444],PARAMETER["Scale_Factor",1.0000353],PARAMETER["Latitude_Of_Origin",44.25333512777778],UNIT["Meter",1.0]] -103327,PROJCS["NAD_1983_HARN_WISCRS_Jefferson_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",263347.7263],PARAMETER["False_Northing",0.0076],PARAMETER["Central_Meridian",-88.775],PARAMETER["Scale_Factor",1.0000346418],PARAMETER["Latitude_Of_Origin",41.47222222222222],UNIT["Meter",1.0]] -103328,PROJCS["NAD_1983_HARN_WISCRS_Juneau_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",147218.6942],PARAMETER["False_Northing",0.0037],PARAMETER["Central_Meridian",-90.0],PARAMETER["Scale_Factor",1.0000365285],PARAMETER["Latitude_Of_Origin",43.36666666666667],UNIT["Meter",1.0]] -103329,PROJCS["NAD_1983_HARN_WISCRS_Kenosha_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",185928.3728],PARAMETER["False_Northing",0.0009],PARAMETER["Central_Meridian",-87.89444444444445],PARAMETER["Scale_Factor",1.0000260649],PARAMETER["Latitude_Of_Origin",42.21666666666667],UNIT["Meter",1.0]] -103330,PROJCS["NAD_1983_HARN_WISCRS_Kewaunee_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",79857.7614],PARAMETER["False_Northing",0.0012],PARAMETER["Central_Meridian",-87.55],PARAMETER["Scale_Factor",1.0000233704],PARAMETER["Latitude_Of_Origin",43.26666666666667],UNIT["Meter",1.0]] -103331,PROJCS["NAD_1983_HARN_WISCRS_LaCrosse_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",130454.6598],PARAMETER["False_Northing",0.0033],PARAMETER["Central_Meridian",-91.31666666666666],PARAMETER["Scale_Factor",1.0000319985],PARAMETER["Latitude_Of_Origin",43.45111111111111],UNIT["Meter",1.0]] -103332,PROJCS["NAD_1983_HARN_WISCRS_Lafayette_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",170078.7403],PARAMETER["False_Northing",45830.2947],PARAMETER["Central_Meridian",-89.83888888888889],PARAMETER["Standard_Parallel_1",42.63756227694444],PARAMETER["Scale_Factor",1.0000390487],PARAMETER["Latitude_Of_Origin",42.63756227694444],UNIT["Meter",1.0]] -103333,PROJCS["NAD_1983_HARN_WISCRS_Langlade_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",198425.197],PARAMETER["False_Northing",105279.7829],PARAMETER["Central_Meridian",-89.03333333333333],PARAMETER["Standard_Parallel_1",45.15423710527778],PARAMETER["Scale_Factor",1.0000627024],PARAMETER["Latitude_Of_Origin",45.15423710527778],UNIT["Meter",1.0]] -103334,PROJCS["NAD_1983_HARN_WISCRS_Lincoln_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",116129.0323],PARAMETER["False_Northing",0.0058],PARAMETER["Central_Meridian",-89.73333333333333],PARAMETER["Scale_Factor",1.0000599003],PARAMETER["Latitude_Of_Origin",44.84444444444445],UNIT["Meter",1.0]] -103335,PROJCS["NAD_1983_HARN_WISCRS_Manitowoc_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",79857.7614],PARAMETER["False_Northing",0.0012],PARAMETER["Central_Meridian",-87.55],PARAMETER["Scale_Factor",1.0000233704],PARAMETER["Latitude_Of_Origin",43.26666666666667],UNIT["Meter",1.0]] -103336,PROJCS["NAD_1983_HARN_WISCRS_Marathon_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",74676.1493],PARAMETER["False_Northing",55049.2669],PARAMETER["Central_Meridian",-89.77],PARAMETER["Standard_Parallel_1",44.90090442361111],PARAMETER["Scale_Factor",1.000053289],PARAMETER["Latitude_Of_Origin",44.90090442361111],UNIT["Meter",1.0]] -103337,PROJCS["NAD_1983_HARN_WISCRS_Marinette_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",238658.8794],PARAMETER["False_Northing",0.0032],PARAMETER["Central_Meridian",-87.71111111111111],PARAMETER["Scale_Factor",1.0000234982],PARAMETER["Latitude_Of_Origin",44.69166666666666],UNIT["Meter",1.0]] -103338,PROJCS["NAD_1983_HARN_WISCRS_Marquette_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",150876.3018],PARAMETER["False_Northing",79170.7795],PARAMETER["Central_Meridian",-89.24166666666667],PARAMETER["Standard_Parallel_1",43.80700011777778],PARAMETER["Scale_Factor",1.0000344057],PARAMETER["Latitude_Of_Origin",43.80700011777778],UNIT["Meter",1.0]] -103339,PROJCS["NAD_1983_HARN_WISCRS_Menominee_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",105461.0121],PARAMETER["False_Northing",0.0029],PARAMETER["Central_Meridian",-88.41666666666667],PARAMETER["Scale_Factor",1.0000362499],PARAMETER["Latitude_Of_Origin",44.71666666666667],UNIT["Meter",1.0]] -103340,PROJCS["NAD_1983_HARN_WISCRS_Milwaukee_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",185928.3728],PARAMETER["False_Northing",0.0009],PARAMETER["Central_Meridian",-87.89444444444445],PARAMETER["Scale_Factor",1.0000260649],PARAMETER["Latitude_Of_Origin",42.21666666666667],UNIT["Meter",1.0]] -103341,PROJCS["NAD_1983_HARN_WISCRS_Monroe_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",204521.209],PARAMETER["False_Northing",121923.9861],PARAMETER["Central_Meridian",-90.64166666666668],PARAMETER["Standard_Parallel_1",44.00007392861111],PARAMETER["Scale_Factor",1.0000434122],PARAMETER["Latitude_Of_Origin",44.00007392861111],UNIT["Meter",1.0]] -103342,PROJCS["NAD_1983_HARN_WISCRS_Oconto_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",182880.3676],PARAMETER["False_Northing",0.0033],PARAMETER["Central_Meridian",-87.90833333333335],PARAMETER["Scale_Factor",1.0000236869],PARAMETER["Latitude_Of_Origin",44.39722222222222],UNIT["Meter",1.0]] -103343,PROJCS["NAD_1983_HARN_WISCRS_Oneida_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",70104.1401],PARAMETER["False_Northing",57588.0346],PARAMETER["Central_Meridian",-89.54444444444444],PARAMETER["Standard_Parallel_1",45.70422377027778],PARAMETER["Scale_Factor",1.0000686968],PARAMETER["Latitude_Of_Origin",45.70422377027778],UNIT["Meter",1.0]] -103344,PROJCS["NAD_1983_HARN_WISCRS_Outagamie_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",244754.8893],PARAMETER["False_Northing",0.0049],PARAMETER["Central_Meridian",-88.5],PARAMETER["Scale_Factor",1.0000286569],PARAMETER["Latitude_Of_Origin",42.71944444444445],UNIT["Meter",1.0]] -103345,PROJCS["NAD_1983_HARN_WISCRS_Ozaukee_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",185928.3728],PARAMETER["False_Northing",0.0009],PARAMETER["Central_Meridian",-87.89444444444445],PARAMETER["Scale_Factor",1.0000260649],PARAMETER["Latitude_Of_Origin",42.21666666666667],UNIT["Meter",1.0]] -103346,PROJCS["NAD_1983_HARN_WISCRS_Pepin_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",167640.3354],PARAMETER["False_Northing",86033.0876],PARAMETER["Central_Meridian",-92.22777777777777],PARAMETER["Standard_Parallel_1",44.63614887194444],PARAMETER["Scale_Factor",1.0000362977],PARAMETER["Latitude_Of_Origin",44.63614887194444],UNIT["Meter",1.0]] -103347,PROJCS["NAD_1983_HARN_WISCRS_Pierce_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",167640.3354],PARAMETER["False_Northing",86033.0876],PARAMETER["Central_Meridian",-92.22777777777777],PARAMETER["Standard_Parallel_1",44.63614887194444],PARAMETER["Scale_Factor",1.0000362977],PARAMETER["Latitude_Of_Origin",44.63614887194444],UNIT["Meter",1.0]] -103348,PROJCS["NAD_1983_HARN_WISCRS_Polk_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",141732.2823],PARAMETER["False_Northing",0.0059],PARAMETER["Central_Meridian",-92.63333333333334],PARAMETER["Scale_Factor",1.0000433849],PARAMETER["Latitude_Of_Origin",44.66111111111111],UNIT["Meter",1.0]] -103349,PROJCS["NAD_1983_HARN_WISCRS_Portage_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",56388.1128],PARAMETER["False_Northing",50022.1874],PARAMETER["Central_Meridian",-89.5],PARAMETER["Standard_Parallel_1",44.41682397527777],PARAMETER["Scale_Factor",1.000039936],PARAMETER["Latitude_Of_Origin",44.41682397527777],UNIT["Meter",1.0]] -103350,PROJCS["NAD_1983_HARN_WISCRS_Price_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",227990.8546],PARAMETER["False_Northing",0.0109],PARAMETER["Central_Meridian",-90.48888888888889],PARAMETER["Scale_Factor",1.0000649554],PARAMETER["Latitude_Of_Origin",44.55555555555555],UNIT["Meter",1.0]] -103351,PROJCS["NAD_1983_HARN_WISCRS_Racine_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",185928.3728],PARAMETER["False_Northing",0.0009],PARAMETER["Central_Meridian",-87.89444444444445],PARAMETER["Scale_Factor",1.0000260649],PARAMETER["Latitude_Of_Origin",42.21666666666667],UNIT["Meter",1.0]] -103352,PROJCS["NAD_1983_HARN_WISCRS_Richland_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",202387.6048],PARAMETER["False_Northing",134255.4253],PARAMETER["Central_Meridian",-90.43055555555556],PARAMETER["Standard_Parallel_1",43.3223129275],PARAMETER["Scale_Factor",1.0000375653],PARAMETER["Latitude_Of_Origin",43.3223129275],UNIT["Meter",1.0]] -103353,PROJCS["NAD_1983_HARN_WISCRS_Rock_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",146304.2926],PARAMETER["False_Northing",0.0068],PARAMETER["Central_Meridian",-89.07222222222222],PARAMETER["Scale_Factor",1.0000337311],PARAMETER["Latitude_Of_Origin",41.94444444444444],UNIT["Meter",1.0]] -103354,PROJCS["NAD_1983_HARN_WISCRS_Rusk_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",250546.1013],PARAMETER["False_Northing",0.0234],PARAMETER["Central_Meridian",-91.06666666666666],PARAMETER["Scale_Factor",1.0000495976],PARAMETER["Latitude_Of_Origin",43.91944444444444],UNIT["Meter",1.0]] -103355,PROJCS["NAD_1983_HARN_WISCRS_Sauk_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",185623.5716],PARAMETER["False_Northing",0.0051],PARAMETER["Central_Meridian",-89.9],PARAMETER["Scale_Factor",1.0000373868],PARAMETER["Latitude_Of_Origin",42.81944444444445],UNIT["Meter",1.0]] -103356,PROJCS["NAD_1983_HARN_WISCRS_Sawyer_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",216713.2336],PARAMETER["False_Northing",120734.1631],PARAMETER["Central_Meridian",-91.11666666666666],PARAMETER["Standard_Parallel_1",45.90009913138888],PARAMETER["Scale_Factor",1.0000573461],PARAMETER["Latitude_Of_Origin",45.90009913138888],UNIT["Meter",1.0]] -103357,PROJCS["NAD_1983_HARN_WISCRS_Shawano_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",262433.3253],PARAMETER["False_Northing",0.0096],PARAMETER["Central_Meridian",-88.60555555555555],PARAMETER["Scale_Factor",1.000032144],PARAMETER["Latitude_Of_Origin",44.03611111111111],UNIT["Meter",1.0]] -103358,PROJCS["NAD_1983_HARN_WISCRS_Sheboygan_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",79857.7614],PARAMETER["False_Northing",0.0012],PARAMETER["Central_Meridian",-87.55],PARAMETER["Scale_Factor",1.0000233704],PARAMETER["Latitude_Of_Origin",43.26666666666667],UNIT["Meter",1.0]] -103359,PROJCS["NAD_1983_HARN_WISCRS_St_Croix_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",165506.7302],PARAMETER["False_Northing",0.0103],PARAMETER["Central_Meridian",-92.63333333333334],PARAMETER["Scale_Factor",1.0000381803],PARAMETER["Latitude_Of_Origin",44.03611111111111],UNIT["Meter",1.0]] -103360,PROJCS["NAD_1983_HARN_WISCRS_Taylor_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",187147.5744],PARAMETER["False_Northing",107746.7522],PARAMETER["Central_Meridian",-90.48333333333333],PARAMETER["Standard_Parallel_1",45.17782208583333],PARAMETER["Scale_Factor",1.0000597566],PARAMETER["Latitude_Of_Origin",45.17782208583333],UNIT["Meter",1.0]] -103361,PROJCS["NAD_1983_HARN_WISCRS_Trempealeau_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",256946.9138],PARAMETER["False_Northing",0.0041],PARAMETER["Central_Meridian",-91.36666666666666],PARAMETER["Scale_Factor",1.0000361538],PARAMETER["Latitude_Of_Origin",43.16111111111111],UNIT["Meter",1.0]] -103362,PROJCS["NAD_1983_HARN_WISCRS_Vernon_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",222504.4451],PARAMETER["False_Northing",47532.0602],PARAMETER["Central_Meridian",-90.78333333333333],PARAMETER["Standard_Parallel_1",43.57503293972223],PARAMETER["Scale_Factor",1.0000408158],PARAMETER["Latitude_Of_Origin",43.57503293972223],UNIT["Meter",1.0]] -103363,PROJCS["NAD_1983_HARN_WISCRS_Vilas_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",134417.0689],PARAMETER["False_Northing",50337.1092],PARAMETER["Central_Meridian",-89.48888888888889],PARAMETER["Standard_Parallel_1",46.07784409055556],PARAMETER["Scale_Factor",1.0000730142],PARAMETER["Latitude_Of_Origin",46.07784409055556],UNIT["Meter",1.0]] -103364,PROJCS["NAD_1983_HARN_WISCRS_Walworth_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",232562.8651],PARAMETER["False_Northing",111088.2224],PARAMETER["Central_Meridian",-88.54166666666667],PARAMETER["Standard_Parallel_1",42.66946209694444],PARAMETER["Scale_Factor",1.0000367192],PARAMETER["Latitude_Of_Origin",42.66946209694444],UNIT["Meter",1.0]] -103365,PROJCS["NAD_1983_HARN_WISCRS_Washburn_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",234086.8682],PARAMETER["False_Northing",188358.6058],PARAMETER["Central_Meridian",-91.78333333333333],PARAMETER["Standard_Parallel_1",45.96121983333334],PARAMETER["Scale_Factor",1.0000475376],PARAMETER["Latitude_Of_Origin",45.96121983333334],UNIT["Meter",1.0]] -103366,PROJCS["NAD_1983_HARN_WISCRS_Washington_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",120091.4415],PARAMETER["False_Northing",0.003],PARAMETER["Central_Meridian",-88.06388888888888],PARAMETER["Scale_Factor",1.00003738],PARAMETER["Latitude_Of_Origin",42.91805555555555],UNIT["Meter",1.0]] -103367,PROJCS["NAD_1983_HARN_WISCRS_Waukesha_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",208788.418],PARAMETER["False_Northing",0.0034],PARAMETER["Central_Meridian",-88.225],PARAMETER["Scale_Factor",1.0000346179],PARAMETER["Latitude_Of_Origin",42.56944444444445],UNIT["Meter",1.0]] -103368,PROJCS["NAD_1983_HARN_WISCRS_Waupaca_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",185013.9709],PARAMETER["False_Northing",0.007],PARAMETER["Central_Meridian",-88.81666666666666],PARAMETER["Scale_Factor",1.0000333645],PARAMETER["Latitude_Of_Origin",43.42027777777778],UNIT["Meter",1.0]] -103369,PROJCS["NAD_1983_HARN_WISCRS_Waushara_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",120091.4402],PARAMETER["False_Northing",45069.7587],PARAMETER["Central_Meridian",-89.24166666666667],PARAMETER["Standard_Parallel_1",44.11394404583334],PARAMETER["Scale_Factor",1.0000392096],PARAMETER["Latitude_Of_Origin",44.11394404583334],UNIT["Meter",1.0]] -103370,PROJCS["NAD_1983_HARN_WISCRS_Winnebago_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",244754.8893],PARAMETER["False_Northing",0.0049],PARAMETER["Central_Meridian",-88.5],PARAMETER["Scale_Factor",1.0000286569],PARAMETER["Latitude_Of_Origin",42.71944444444445],UNIT["Meter",1.0]] -103371,PROJCS["NAD_1983_HARN_WISCRS_Wood_County_Meters",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",208483.6173],PARAMETER["False_Northing",134589.754],PARAMETER["Central_Meridian",-90.0],PARAMETER["Standard_Parallel_1",44.36259546944444],PARAMETER["Scale_Factor",1.0000421209],PARAMETER["Latitude_Of_Origin",44.36259546944444],UNIT["Meter",1.0]] -103400,PROJCS["NAD_1983_HARN_WISCRS_Adams_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",482999.999],PARAMETER["False_Northing",0.012],PARAMETER["Central_Meridian",-90.0],PARAMETER["Scale_Factor",1.0000365285],PARAMETER["Latitude_Of_Origin",43.36666666666667],UNIT["Foot_US",0.3048006096012192]] -103401,PROJCS["NAD_1983_HARN_WISCRS_Ashland_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",567000.001],PARAMETER["False_Northing",0.006],PARAMETER["Central_Meridian",-90.62222222222222],PARAMETER["Scale_Factor",1.0000495683],PARAMETER["Latitude_Of_Origin",45.70611111111111],UNIT["Foot_US",0.3048006096012192]] -103402,PROJCS["NAD_1983_HARN_WISCRS_Barron_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",305609.625],PARAMETER["False_Northing",0.01],PARAMETER["Central_Meridian",-91.85],PARAMETER["Scale_Factor",1.0000486665],PARAMETER["Latitude_Of_Origin",45.13333333333333],UNIT["Foot_US",0.3048006096012192]] -103403,PROJCS["NAD_1983_HARN_WISCRS_Bayfield_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",750000.001],PARAMETER["False_Northing",487372.659],PARAMETER["Central_Meridian",-91.15277777777779],PARAMETER["Standard_Parallel_1",46.66964837722222],PARAMETER["Scale_Factor",1.0000331195],PARAMETER["Latitude_Of_Origin",46.66964837722222],UNIT["Foot_US",0.3048006096012192]] -103404,PROJCS["NAD_1983_HARN_WISCRS_Brown_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",103674.333],PARAMETER["False_Northing",15091.833],PARAMETER["Central_Meridian",-88.0],PARAMETER["Scale_Factor",1.00002],PARAMETER["Latitude_Of_Origin",43.0],UNIT["Foot_US",0.3048006096012192]] -103405,PROJCS["NAD_1983_HARN_WISCRS_Buffalo_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",574999.999],PARAMETER["False_Northing",0.016],PARAMETER["Central_Meridian",-91.79722222222222],PARAMETER["Scale_Factor",1.0000382778],PARAMETER["Latitude_Of_Origin",43.48138888888889],UNIT["Foot_US",0.3048006096012192]] -103406,PROJCS["NAD_1983_HARN_WISCRS_Burnett_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",209999.999],PARAMETER["False_Northing",195032.104],PARAMETER["Central_Meridian",-92.45777777777778],PARAMETER["Standard_Parallel_1",45.89871486583333],PARAMETER["Scale_Factor",1.0000383841],PARAMETER["Latitude_Of_Origin",45.89871486583333],UNIT["Foot_US",0.3048006096012192]] -103407,PROJCS["NAD_1983_HARN_WISCRS_Calumet_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",802999.999],PARAMETER["False_Northing",0.016],PARAMETER["Central_Meridian",-88.5],PARAMETER["Scale_Factor",1.0000286569],PARAMETER["Latitude_Of_Origin",42.71944444444445],UNIT["Foot_US",0.3048006096012192]] -103408,PROJCS["NAD_1983_HARN_WISCRS_Chippewa_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",197000.0],PARAMETER["False_Northing",144656.648],PARAMETER["Central_Meridian",-91.29444444444444],PARAMETER["Standard_Parallel_1",44.97785689861112],PARAMETER["Scale_Factor",1.0000391127],PARAMETER["Latitude_Of_Origin",44.97785689861112],UNIT["Foot_US",0.3048006096012192]] -103409,PROJCS["NAD_1983_HARN_WISCRS_Clark_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",655999.997],PARAMETER["False_Northing",0.028],PARAMETER["Central_Meridian",-90.70833333333334],PARAMETER["Scale_Factor",1.0000463003],PARAMETER["Latitude_Of_Origin",43.6],UNIT["Foot_US",0.3048006096012192]] -103410,PROJCS["NAD_1983_HARN_WISCRS_Columbia_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",554999.999],PARAMETER["False_Northing",366041.307],PARAMETER["Central_Meridian",-89.39444444444445],PARAMETER["Standard_Parallel_1",43.46254664583333],PARAMETER["Scale_Factor",1.00003498],PARAMETER["Latitude_Of_Origin",43.46254664583333],UNIT["Foot_US",0.3048006096012192]] -103411,PROJCS["NAD_1983_HARN_WISCRS_Crawford_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",373000.0],PARAMETER["False_Northing",176190.987],PARAMETER["Central_Meridian",-90.9388888888889],PARAMETER["Standard_Parallel_1",43.200055605],PARAMETER["Scale_Factor",1.0000349151],PARAMETER["Latitude_Of_Origin",43.200055605],UNIT["Foot_US",0.3048006096012192]] -103412,PROJCS["NAD_1983_HARN_WISCRS_Dane_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",811000.0],PARAMETER["False_Northing",480943.886],PARAMETER["Central_Meridian",-89.42222222222223],PARAMETER["Standard_Parallel_1",43.0695160375],PARAMETER["Scale_Factor",1.0000384786],PARAMETER["Latitude_Of_Origin",43.0695160375],UNIT["Foot_US",0.3048006096012192]] -103413,PROJCS["NAD_1983_HARN_WISCRS_Dodge_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",863999.999],PARAMETER["False_Northing",0.025],PARAMETER["Central_Meridian",-88.775],PARAMETER["Scale_Factor",1.0000346418],PARAMETER["Latitude_Of_Origin",41.47222222222222],UNIT["Foot_US",0.3048006096012192]] -103414,PROJCS["NAD_1983_HARN_WISCRS_Door_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",521000.0],PARAMETER["False_Northing",0.008],PARAMETER["Central_Meridian",-87.27222222222223],PARAMETER["Scale_Factor",1.0000187521],PARAMETER["Latitude_Of_Origin",44.4],UNIT["Foot_US",0.3048006096012192]] -103415,PROJCS["NAD_1983_HARN_WISCRS_Douglas_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",194000.0],PARAMETER["False_Northing",0.013],PARAMETER["Central_Meridian",-91.91666666666667],PARAMETER["Scale_Factor",1.0000385418],PARAMETER["Latitude_Of_Origin",45.88333333333333],UNIT["Foot_US",0.3048006096012192]] -103416,PROJCS["NAD_1983_HARN_WISCRS_Dunn_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",170000.001],PARAMETER["False_Northing",0.01],PARAMETER["Central_Meridian",-91.89444444444445],PARAMETER["Scale_Factor",1.0000410324],PARAMETER["Latitude_Of_Origin",44.40833333333333],UNIT["Foot_US",0.3048006096012192]] -103417,PROJCS["NAD_1983_HARN_WISCRS_EauClaire_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",394000.0],PARAMETER["False_Northing",300812.797],PARAMETER["Central_Meridian",-91.28888888888889],PARAMETER["Standard_Parallel_1",45.87228112638889],PARAMETER["Scale_Factor",1.000035079],PARAMETER["Latitude_Of_Origin",45.87228112638889],UNIT["Foot_US",0.3048006096012192]] -103418,PROJCS["NAD_1983_HARN_WISCRS_Florence_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",438000.004],PARAMETER["False_Northing",0.021],PARAMETER["Central_Meridian",-88.14166666666668],PARAMETER["Scale_Factor",1.0000552095],PARAMETER["Latitude_Of_Origin",45.43888888888888],UNIT["Foot_US",0.3048006096012192]] -103419,PROJCS["NAD_1983_HARN_WISCRS_Fond_du_Lac_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",802999.999],PARAMETER["False_Northing",0.016],PARAMETER["Central_Meridian",-88.5],PARAMETER["Scale_Factor",1.0000286569],PARAMETER["Latitude_Of_Origin",42.71944444444445],UNIT["Foot_US",0.3048006096012192]] -103420,PROJCS["NAD_1983_HARN_WISCRS_Forest_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",905000.005],PARAMETER["False_Northing",0.052],PARAMETER["Central_Meridian",-88.63333333333334],PARAMETER["Scale_Factor",1.0000673004],PARAMETER["Latitude_Of_Origin",44.00555555555555],UNIT["Foot_US",0.3048006096012192]] -103421,PROJCS["NAD_1983_HARN_WISCRS_Grant_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",794999.998],PARAMETER["False_Northing",0.033],PARAMETER["Central_Meridian",-90.8],PARAMETER["Scale_Factor",1.0000349452],PARAMETER["Latitude_Of_Origin",41.41111111111111],UNIT["Foot_US",0.3048006096012192]] -103422,PROJCS["NAD_1983_HARN_WISCRS_Green_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",558000.0],PARAMETER["False_Northing",150361.559],PARAMETER["Central_Meridian",-89.83888888888889],PARAMETER["Standard_Parallel_1",42.63756227694444],PARAMETER["Scale_Factor",1.0000390487],PARAMETER["Latitude_Of_Origin",42.63756227694444],UNIT["Foot_US",0.3048006096012192]] -103423,PROJCS["NAD_1983_HARN_WISCRS_GreenLake_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",495000.0],PARAMETER["False_Northing",259746.132],PARAMETER["Central_Meridian",-89.24166666666667],PARAMETER["Standard_Parallel_1",43.80700011777778],PARAMETER["Scale_Factor",1.0000344057],PARAMETER["Latitude_Of_Origin",43.80700011777778],UNIT["Foot_US",0.3048006096012192]] -103424,PROJCS["NAD_1983_HARN_WISCRS_Iowa_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",371000.0],PARAMETER["False_Northing",0.015],PARAMETER["Central_Meridian",-90.16111111111111],PARAMETER["Scale_Factor",1.0000394961],PARAMETER["Latitude_Of_Origin",42.53888888888888],UNIT["Foot_US",0.3048006096012192]] -103425,PROJCS["NAD_1983_HARN_WISCRS_Iron_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",725000.0],PARAMETER["False_Northing",0.028],PARAMETER["Central_Meridian",-90.25555555555556],PARAMETER["Scale_Factor",1.0000677153],PARAMETER["Latitude_Of_Origin",45.43333333333333],UNIT["Foot_US",0.3048006096012192]] -103426,PROJCS["NAD_1983_HARN_WISCRS_Jackson_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",88582.5],PARAMETER["False_Northing",82020.833],PARAMETER["Central_Meridian",-90.84429651944444],PARAMETER["Scale_Factor",1.0000353],PARAMETER["Latitude_Of_Origin",44.25333512777778],UNIT["Foot_US",0.3048006096012192]] -103427,PROJCS["NAD_1983_HARN_WISCRS_Jefferson_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",863999.999],PARAMETER["False_Northing",0.025],PARAMETER["Central_Meridian",-88.775],PARAMETER["Scale_Factor",1.0000346418],PARAMETER["Latitude_Of_Origin",41.47222222222222],UNIT["Foot_US",0.3048006096012192]] -103428,PROJCS["NAD_1983_HARN_WISCRS_Juneau_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",482999.999],PARAMETER["False_Northing",0.012],PARAMETER["Central_Meridian",-90.0],PARAMETER["Scale_Factor",1.0000365285],PARAMETER["Latitude_Of_Origin",43.36666666666667],UNIT["Foot_US",0.3048006096012192]] -103429,PROJCS["NAD_1983_HARN_WISCRS_Kenosha_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",610000.003],PARAMETER["False_Northing",0.003],PARAMETER["Central_Meridian",-87.89444444444445],PARAMETER["Scale_Factor",1.0000260649],PARAMETER["Latitude_Of_Origin",42.21666666666667],UNIT["Foot_US",0.3048006096012192]] -103430,PROJCS["NAD_1983_HARN_WISCRS_Kewaunee_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",262000.006],PARAMETER["False_Northing",0.004],PARAMETER["Central_Meridian",-87.55],PARAMETER["Scale_Factor",1.0000233704],PARAMETER["Latitude_Of_Origin",43.26666666666667],UNIT["Foot_US",0.3048006096012192]] -103431,PROJCS["NAD_1983_HARN_WISCRS_LaCrosse_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",427999.996],PARAMETER["False_Northing",0.011],PARAMETER["Central_Meridian",-91.31666666666666],PARAMETER["Scale_Factor",1.0000319985],PARAMETER["Latitude_Of_Origin",43.45111111111111],UNIT["Foot_US",0.3048006096012192]] -103432,PROJCS["NAD_1983_HARN_WISCRS_Lafayette_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",558000.0],PARAMETER["False_Northing",150361.559],PARAMETER["Central_Meridian",-89.83888888888889],PARAMETER["Standard_Parallel_1",42.63756227694444],PARAMETER["Scale_Factor",1.0000390487],PARAMETER["Latitude_Of_Origin",42.63756227694444],UNIT["Foot_US",0.3048006096012192]] -103433,PROJCS["NAD_1983_HARN_WISCRS_Langlade_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",651000.0],PARAMETER["False_Northing",345405.421],PARAMETER["Central_Meridian",-89.03333333333333],PARAMETER["Standard_Parallel_1",45.15423710527778],PARAMETER["Scale_Factor",1.0000627024],PARAMETER["Latitude_Of_Origin",45.15423710527778],UNIT["Foot_US",0.3048006096012192]] -103434,PROJCS["NAD_1983_HARN_WISCRS_Lincoln_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",381000.0],PARAMETER["False_Northing",0.019],PARAMETER["Central_Meridian",-89.73333333333333],PARAMETER["Scale_Factor",1.0000599003],PARAMETER["Latitude_Of_Origin",44.84444444444445],UNIT["Foot_US",0.3048006096012192]] -103435,PROJCS["NAD_1983_HARN_WISCRS_Manitowoc_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",262000.006],PARAMETER["False_Northing",0.004],PARAMETER["Central_Meridian",-87.55],PARAMETER["Scale_Factor",1.0000233704],PARAMETER["Latitude_Of_Origin",43.26666666666667],UNIT["Foot_US",0.3048006096012192]] -103436,PROJCS["NAD_1983_HARN_WISCRS_Marathon_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",245000.0],PARAMETER["False_Northing",180607.47],PARAMETER["Central_Meridian",-89.77],PARAMETER["Standard_Parallel_1",44.90090442361111],PARAMETER["Scale_Factor",1.000053289],PARAMETER["Latitude_Of_Origin",44.90090442361111],UNIT["Foot_US",0.3048006096012192]] -103437,PROJCS["NAD_1983_HARN_WISCRS_Marinette_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",783000.007],PARAMETER["False_Northing",0.01],PARAMETER["Central_Meridian",-87.71111111111111],PARAMETER["Scale_Factor",1.0000234982],PARAMETER["Latitude_Of_Origin",44.69166666666666],UNIT["Foot_US",0.3048006096012192]] -103438,PROJCS["NAD_1983_HARN_WISCRS_Marquette_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",495000.0],PARAMETER["False_Northing",259746.132],PARAMETER["Central_Meridian",-89.24166666666667],PARAMETER["Standard_Parallel_1",43.80700011777778],PARAMETER["Scale_Factor",1.0000344057],PARAMETER["Latitude_Of_Origin",43.80700011777778],UNIT["Foot_US",0.3048006096012192]] -103439,PROJCS["NAD_1983_HARN_WISCRS_Menominee_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",346000.004],PARAMETER["False_Northing",0.01],PARAMETER["Central_Meridian",-88.41666666666667],PARAMETER["Scale_Factor",1.0000362499],PARAMETER["Latitude_Of_Origin",44.71666666666667],UNIT["Foot_US",0.3048006096012192]] -103440,PROJCS["NAD_1983_HARN_WISCRS_Milwaukee_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",610000.003],PARAMETER["False_Northing",0.003],PARAMETER["Central_Meridian",-87.89444444444445],PARAMETER["Scale_Factor",1.0000260649],PARAMETER["Latitude_Of_Origin",42.21666666666667],UNIT["Foot_US",0.3048006096012192]] -103441,PROJCS["NAD_1983_HARN_WISCRS_Monroe_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",671000.0],PARAMETER["False_Northing",400012.278],PARAMETER["Central_Meridian",-90.64166666666668],PARAMETER["Standard_Parallel_1",44.00007392861111],PARAMETER["Scale_Factor",1.0000434122],PARAMETER["Latitude_Of_Origin",44.00007392861111],UNIT["Foot_US",0.3048006096012192]] -103442,PROJCS["NAD_1983_HARN_WISCRS_Oconto_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",600000.006],PARAMETER["False_Northing",0.011],PARAMETER["Central_Meridian",-87.90833333333335],PARAMETER["Scale_Factor",1.0000236869],PARAMETER["Latitude_Of_Origin",44.39722222222222],UNIT["Foot_US",0.3048006096012192]] -103443,PROJCS["NAD_1983_HARN_WISCRS_Oneida_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",230000.0],PARAMETER["False_Northing",188936.744],PARAMETER["Central_Meridian",-89.54444444444444],PARAMETER["Standard_Parallel_1",45.70422377027778],PARAMETER["Scale_Factor",1.0000686968],PARAMETER["Latitude_Of_Origin",45.70422377027778],UNIT["Foot_US",0.3048006096012192]] -103444,PROJCS["NAD_1983_HARN_WISCRS_Outagamie_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",802999.999],PARAMETER["False_Northing",0.016],PARAMETER["Central_Meridian",-88.5],PARAMETER["Scale_Factor",1.0000286569],PARAMETER["Latitude_Of_Origin",42.71944444444445],UNIT["Foot_US",0.3048006096012192]] -103445,PROJCS["NAD_1983_HARN_WISCRS_Ozaukee_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",610000.003],PARAMETER["False_Northing",0.003],PARAMETER["Central_Meridian",-87.89444444444445],PARAMETER["Scale_Factor",1.0000260649],PARAMETER["Latitude_Of_Origin",42.21666666666667],UNIT["Foot_US",0.3048006096012192]] -103446,PROJCS["NAD_1983_HARN_WISCRS_Pepin_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",550000.0],PARAMETER["False_Northing",282260.222],PARAMETER["Central_Meridian",-92.22777777777777],PARAMETER["Standard_Parallel_1",44.63614887194444],PARAMETER["Scale_Factor",1.0000362977],PARAMETER["Latitude_Of_Origin",44.63614887194444],UNIT["Foot_US",0.3048006096012192]] -103447,PROJCS["NAD_1983_HARN_WISCRS_Pierce_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",550000.0],PARAMETER["False_Northing",282260.222],PARAMETER["Central_Meridian",-92.22777777777777],PARAMETER["Standard_Parallel_1",44.63614887194444],PARAMETER["Scale_Factor",1.0000362977],PARAMETER["Latitude_Of_Origin",44.63614887194444],UNIT["Foot_US",0.3048006096012192]] -103448,PROJCS["NAD_1983_HARN_WISCRS_Polk_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",464999.996],PARAMETER["False_Northing",0.019],PARAMETER["Central_Meridian",-92.63333333333334],PARAMETER["Scale_Factor",1.0000433849],PARAMETER["Latitude_Of_Origin",44.66111111111111],UNIT["Foot_US",0.3048006096012192]] -103449,PROJCS["NAD_1983_HARN_WISCRS_Portage_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",185000.0],PARAMETER["False_Northing",164114.46],PARAMETER["Central_Meridian",-89.5],PARAMETER["Standard_Parallel_1",44.41682397527777],PARAMETER["Scale_Factor",1.000039936],PARAMETER["Latitude_Of_Origin",44.41682397527777],UNIT["Foot_US",0.3048006096012192]] -103450,PROJCS["NAD_1983_HARN_WISCRS_Price_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",747999.995],PARAMETER["False_Northing",0.036],PARAMETER["Central_Meridian",-90.48888888888889],PARAMETER["Scale_Factor",1.0000649554],PARAMETER["Latitude_Of_Origin",44.55555555555555],UNIT["Foot_US",0.3048006096012192]] -103451,PROJCS["NAD_1983_HARN_WISCRS_Racine_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",610000.003],PARAMETER["False_Northing",0.003],PARAMETER["Central_Meridian",-87.89444444444445],PARAMETER["Scale_Factor",1.0000260649],PARAMETER["Latitude_Of_Origin",42.21666666666667],UNIT["Foot_US",0.3048006096012192]] -103452,PROJCS["NAD_1983_HARN_WISCRS_Richland_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",664000.0],PARAMETER["False_Northing",440469.675],PARAMETER["Central_Meridian",-90.43055555555556],PARAMETER["Standard_Parallel_1",43.3223129275],PARAMETER["Scale_Factor",1.0000375653],PARAMETER["Latitude_Of_Origin",43.3223129275],UNIT["Foot_US",0.3048006096012192]] -103453,PROJCS["NAD_1983_HARN_WISCRS_Rock_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",480000.0],PARAMETER["False_Northing",0.022],PARAMETER["Central_Meridian",-89.07222222222222],PARAMETER["Scale_Factor",1.0000337311],PARAMETER["Latitude_Of_Origin",41.94444444444444],UNIT["Foot_US",0.3048006096012192]] -103454,PROJCS["NAD_1983_HARN_WISCRS_Rusk_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",822000.001],PARAMETER["False_Northing",0.077],PARAMETER["Central_Meridian",-91.06666666666666],PARAMETER["Scale_Factor",1.0000495976],PARAMETER["Latitude_Of_Origin",43.91944444444444],UNIT["Foot_US",0.3048006096012192]] -103455,PROJCS["NAD_1983_HARN_WISCRS_Sauk_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",609000.001],PARAMETER["False_Northing",0.017],PARAMETER["Central_Meridian",-89.9],PARAMETER["Scale_Factor",1.0000373868],PARAMETER["Latitude_Of_Origin",42.81944444444445],UNIT["Foot_US",0.3048006096012192]] -103456,PROJCS["NAD_1983_HARN_WISCRS_Sawyer_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",711000.001],PARAMETER["False_Northing",396108.667],PARAMETER["Central_Meridian",-91.11666666666666],PARAMETER["Standard_Parallel_1",45.90009913138888],PARAMETER["Scale_Factor",1.0000573461],PARAMETER["Latitude_Of_Origin",45.90009913138888],UNIT["Foot_US",0.3048006096012192]] -103457,PROJCS["NAD_1983_HARN_WISCRS_Shawano_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",861000.001],PARAMETER["False_Northing",0.031],PARAMETER["Central_Meridian",-88.60555555555555],PARAMETER["Scale_Factor",1.000032144],PARAMETER["Latitude_Of_Origin",44.03611111111111],UNIT["Foot_US",0.3048006096012192]] -103458,PROJCS["NAD_1983_HARN_WISCRS_Sheboygan_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",262000.006],PARAMETER["False_Northing",0.004],PARAMETER["Central_Meridian",-87.55],PARAMETER["Scale_Factor",1.0000233704],PARAMETER["Latitude_Of_Origin",43.26666666666667],UNIT["Foot_US",0.3048006096012192]] -103459,PROJCS["NAD_1983_HARN_WISCRS_St_Croix_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",542999.997],PARAMETER["False_Northing",0.034],PARAMETER["Central_Meridian",-92.63333333333334],PARAMETER["Scale_Factor",1.0000381803],PARAMETER["Latitude_Of_Origin",44.03611111111111],UNIT["Foot_US",0.3048006096012192]] -103460,PROJCS["NAD_1983_HARN_WISCRS_Taylor_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",614000.0],PARAMETER["False_Northing",353499.136],PARAMETER["Central_Meridian",-90.48333333333333],PARAMETER["Standard_Parallel_1",45.17782208583333],PARAMETER["Scale_Factor",1.0000597566],PARAMETER["Latitude_Of_Origin",45.17782208583333],UNIT["Foot_US",0.3048006096012192]] -103461,PROJCS["NAD_1983_HARN_WISCRS_Trempealeau_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",843000.0],PARAMETER["False_Northing",0.013],PARAMETER["Central_Meridian",-91.36666666666666],PARAMETER["Scale_Factor",1.0000361538],PARAMETER["Latitude_Of_Origin",43.16111111111111],UNIT["Foot_US",0.3048006096012192]] -103462,PROJCS["NAD_1983_HARN_WISCRS_Vernon_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",730000.0],PARAMETER["False_Northing",155944.768],PARAMETER["Central_Meridian",-90.78333333333333],PARAMETER["Standard_Parallel_1",43.57503293972223],PARAMETER["Scale_Factor",1.0000408158],PARAMETER["Latitude_Of_Origin",43.57503293972223],UNIT["Foot_US",0.3048006096012192]] -103463,PROJCS["NAD_1983_HARN_WISCRS_Vilas_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",441000.0],PARAMETER["False_Northing",165147.666],PARAMETER["Central_Meridian",-89.48888888888889],PARAMETER["Standard_Parallel_1",46.07784409055556],PARAMETER["Scale_Factor",1.0000730142],PARAMETER["Latitude_Of_Origin",46.07784409055556],UNIT["Foot_US",0.3048006096012192]] -103464,PROJCS["NAD_1983_HARN_WISCRS_Walworth_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",763000.0],PARAMETER["False_Northing",364461.943],PARAMETER["Central_Meridian",-88.54166666666667],PARAMETER["Standard_Parallel_1",42.66946209694444],PARAMETER["Scale_Factor",1.0000367192],PARAMETER["Latitude_Of_Origin",42.66946209694444],UNIT["Foot_US",0.3048006096012192]] -103465,PROJCS["NAD_1983_HARN_WISCRS_Washburn_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",768000.0],PARAMETER["False_Northing",617973.193],PARAMETER["Central_Meridian",-91.78333333333333],PARAMETER["Standard_Parallel_1",45.96121983333334],PARAMETER["Scale_Factor",1.0000475376],PARAMETER["Latitude_Of_Origin",45.96121983333334],UNIT["Foot_US",0.3048006096012192]] -103466,PROJCS["NAD_1983_HARN_WISCRS_Washington_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",394000.004],PARAMETER["False_Northing",0.01],PARAMETER["Central_Meridian",-88.06388888888888],PARAMETER["Scale_Factor",1.00003738],PARAMETER["Latitude_Of_Origin",42.91805555555555],UNIT["Foot_US",0.3048006096012192]] -103467,PROJCS["NAD_1983_HARN_WISCRS_Waukesha_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",685000.001],PARAMETER["False_Northing",0.011],PARAMETER["Central_Meridian",-88.225],PARAMETER["Scale_Factor",1.0000346179],PARAMETER["Latitude_Of_Origin",42.56944444444445],UNIT["Foot_US",0.3048006096012192]] -103468,PROJCS["NAD_1983_HARN_WISCRS_Waupaca_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",607000.003],PARAMETER["False_Northing",0.023],PARAMETER["Central_Meridian",-88.81666666666666],PARAMETER["Scale_Factor",1.0000333645],PARAMETER["Latitude_Of_Origin",43.42027777777778],UNIT["Foot_US",0.3048006096012192]] -103469,PROJCS["NAD_1983_HARN_WISCRS_Waushara_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",394000.0],PARAMETER["False_Northing",147866.367],PARAMETER["Central_Meridian",-89.24166666666667],PARAMETER["Standard_Parallel_1",44.11394404583334],PARAMETER["Scale_Factor",1.0000392096],PARAMETER["Latitude_Of_Origin",44.11394404583334],UNIT["Foot_US",0.3048006096012192]] -103470,PROJCS["NAD_1983_HARN_WISCRS_Winnebago_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",802999.999],PARAMETER["False_Northing",0.016],PARAMETER["Central_Meridian",-88.5],PARAMETER["Scale_Factor",1.0000286569],PARAMETER["Latitude_Of_Origin",42.71944444444445],UNIT["Foot_US",0.3048006096012192]] -103471,PROJCS["NAD_1983_HARN_WISCRS_Wood_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",684000.001],PARAMETER["False_Northing",441566.551],PARAMETER["Central_Meridian",-90.0],PARAMETER["Standard_Parallel_1",44.36259546944444],PARAMETER["Scale_Factor",1.0000421209],PARAMETER["Latitude_Of_Origin",44.36259546944444],UNIT["Foot_US",0.3048006096012192]] diff --git a/bin/gdal_data/esri_extra.wkt b/bin/gdal_data/esri_extra.wkt deleted file mode 100644 index b377b7ff..00000000 --- a/bin/gdal_data/esri_extra.wkt +++ /dev/null @@ -1,465 +0,0 @@ -# -# This file derived from a subset of definitions from the "epsg" directory -# distributed with ArcGIS. This file only contains definitions that aren't -# real EPSG definitions. The definitions were "morphed" into OGR WKT format, -# and the authority clause added during processing. -# -# NOTE: I'm not too clear on what version of ArcGIS these definitions were -# derived from. -# -31491,PROJCS["Germany_Zone_1",GEOGCS["GCS_Deutsches_Hauptdreiecksnetz",DATUM["D_Deutsches_Hauptdreiecksnetz",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0],AUTHORITY["EPSG","31491"]] -31492,PROJCS["Germany_Zone_2",GEOGCS["GCS_Deutsches_Hauptdreiecksnetz",DATUM["D_Deutsches_Hauptdreiecksnetz",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",6.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0],AUTHORITY["EPSG","31492"]] -31493,PROJCS["Germany_Zone_3",GEOGCS["GCS_Deutsches_Hauptdreiecksnetz",DATUM["D_Deutsches_Hauptdreiecksnetz",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",3500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0],AUTHORITY["EPSG","31493"]] -31494,PROJCS["Germany_Zone_4",GEOGCS["GCS_Deutsches_Hauptdreiecksnetz",DATUM["D_Deutsches_Hauptdreiecksnetz",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",4500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",12.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0],AUTHORITY["EPSG","31494"]] -31495,PROJCS["Germany_Zone_5",GEOGCS["GCS_Deutsches_Hauptdreiecksnetz",DATUM["D_Deutsches_Hauptdreiecksnetz",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",5500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",15.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0],AUTHORITY["EPSG","31495"]] -37001,GEOGCS["GCS_WGS_1966",DATUM["WGS_1966",SPHEROID["WGS_1966",6378145,298.25]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37001"]] -37002,GEOGCS["GCS_Fischer_1960",DATUM["Fischer_1960",SPHEROID["Fischer_1960",6378166,298.3]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37002"]] -37003,GEOGCS["GCS_Fischer_1968",DATUM["Fischer_1968",SPHEROID["Fischer_1968",6378150,298.3]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37003"]] -37004,GEOGCS["GCS_Fischer_Modified",DATUM["Fischer_Modified",SPHEROID["Fischer_Modified",6378155,298.3]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37004"]] -37005,GEOGCS["GCS_Hough_1960",DATUM["Hough_1960",SPHEROID["Hough_1960",6378270,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37005"]] -37006,GEOGCS["GCS_Everest_Modified_1969",DATUM["Everest_Modified_1969",SPHEROID["Everest_Modified_1969",6377295.664,300.8017]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37006"]] -37007,GEOGCS["GCS_Walbeck",DATUM["Walbeck",SPHEROID["Walbeck",6376896,302.78]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37007"]] -37008,GEOGCS["GCS_Sphere_ARC_INFO",DATUM["Sphere_ARC_INFO",SPHEROID["Sphere_ARC_INFO",6370997,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37008"]] -37201,GEOGCS["GCS_European_1979",DATUM["European_1979",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37201"]] -37202,GEOGCS["GCS_Everest_Bangladesh",DATUM["Everest_Bangladesh",SPHEROID["Everest_Adjustment_1937",6377276.345,300.8017]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37202"]] -37203,GEOGCS["GCS_Everest_India_Nepal",DATUM["Everest_India_Nepal",SPHEROID["Everest_Definition_1962",6377301.243,300.8017255]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37203"]] -37204,GEOGCS["GCS_Hjorsey_1955",DATUM["Hjorsey_1955",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37204"]] -37205,GEOGCS["GCS_Hong_Kong_1963",DATUM["Hong_Kong_1963",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37205"]] -37206,GEOGCS["GCS_Oman",DATUM["Oman",SPHEROID["Clarke_1880_RGS",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37206"]] -37207,GEOGCS["GCS_South_Asia_Singapore",DATUM["South_Asia_Singapore",SPHEROID["Fischer_Modified",6378155,298.3]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37207"]] -37208,GEOGCS["GCS_Ayabelle",DATUM["Ayabelle",SPHEROID["Clarke_1880_RGS",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37208"]] -37211,GEOGCS["GCS_Point_58",DATUM["Point_58",SPHEROID["Clarke_1880_RGS",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37211"]] -37212,GEOGCS["GCS_Beacon_E_1945",DATUM["Beacon_E_1945",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37212"]] -37213,GEOGCS["GCS_Tern_Island_1961",DATUM["Tern_Island_1961",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37213"]] -37214,GEOGCS["GCS_Astro_1952",DATUM["Astro_1952",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37214"]] -37215,GEOGCS["GCS_Bellevue_IGN",DATUM["Bellevue_IGN",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37215"]] -37216,GEOGCS["GCS_Canton_1966",DATUM["Canton_1966",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37216"]] -37217,GEOGCS["GCS_Chatham_Island_1971",DATUM["Chatham_Island_1971",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37217"]] -37218,GEOGCS["GCS_DOS_1968",DATUM["DOS_1968",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37218"]] -37219,GEOGCS["GCS_Easter_Island_1967",DATUM["Easter_Island_1967",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37219"]] -37220,GEOGCS["GCS_Guam_1963",DATUM["Guam_1963",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37220"]] -37221,GEOGCS["GCS_GUX_1",DATUM["GUX_1",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37221"]] -37222,GEOGCS["GCS_Johnston_Island_1961",DATUM["Johnston_Island_1961",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37222"]] -37223,GEOGCS["GCS_Carthage_Degree",DATUM["Carthage",SPHEROID["Clarke_1880_IGN",6378249.2,293.46602]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37223"]] -37224,GEOGCS["GCS_Midway_1961",DATUM["Midway_1961",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37224"]] -37226,GEOGCS["GCS_Pitcairn_1967",DATUM["Pitcairn_1967",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37226"]] -37227,GEOGCS["GCS_Santo_DOS_1965",DATUM["Santo_DOS_1965",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37227"]] -37228,GEOGCS["GCS_Viti_Levu_1916",DATUM["Viti_Levu_1916",SPHEROID["Clarke_1880_RGS",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37228"]] -37229,GEOGCS["GCS_Wake_Eniwetok_1960",DATUM["Wake_Eniwetok_1960",SPHEROID["Hough_1960",6378270,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37229"]] -37230,GEOGCS["GCS_Wake_Island_1952",DATUM["Wake_Island_1952",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37230"]] -37231,GEOGCS["GCS_Anna_1_1965",DATUM["Anna_1_1965",SPHEROID["Australian",6378160,298.25]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37231"]] -37232,GEOGCS["GCS_Gan_1970",DATUM["Gan_1970",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37232"]] -37233,GEOGCS["GCS_ISTS_073_1969",DATUM["ISTS_073_1969",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37233"]] -37234,GEOGCS["GCS_Kerguelen_Island_1949",DATUM["Kerguelen_Island_1949",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37234"]] -37235,GEOGCS["GCS_Reunion",DATUM["Reunion",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37235"]] -37237,GEOGCS["GCS_Ascension_Island_1958",DATUM["Ascension_Island_1958",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37237"]] -37238,GEOGCS["GCS_DOS_71_4",DATUM["DOS_71_4",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37238"]] -37239,GEOGCS["GCS_Cape_Canaveral",DATUM["Cape_Canaveral",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37239"]] -37240,GEOGCS["GCS_Fort_Thomas_1955",DATUM["Fort_Thomas_1955",SPHEROID["Clarke_1880_RGS",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37240"]] -37241,GEOGCS["GCS_Graciosa_Base_SW_1948",DATUM["Graciosa_Base_SW_1948",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37241"]] -37242,GEOGCS["GCS_ISTS_061_1968",DATUM["ISTS_061_1968",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37242"]] -37243,GEOGCS["GCS_LC5_1961",DATUM["LC5_1961",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37243"]] -37245,GEOGCS["GCS_Observ_Meteorologico_1939",DATUM["Observ_Meteorologico_1939",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37245"]] -37246,GEOGCS["GCS_Pico_de_Las_Nieves",DATUM["Pico_de_Las_Nieves",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37246"]] -37247,GEOGCS["GCS_Porto_Santo_1936",DATUM["Porto_Santo_1936",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37247"]] -37249,GEOGCS["GCS_Sao_Braz",DATUM["Sao_Braz",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37249"]] -37250,GEOGCS["GCS_Selvagem_Grande_1938",DATUM["Selvagem_Grande_1938",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37250"]] -37251,GEOGCS["GCS_Tristan_1968",DATUM["Tristan_1968",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37251"]] -37252,GEOGCS["GCS_Samoa_1962",DATUM["Samoa_1962",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37252"]] -37253,GEOGCS["GCS_Camp_Area",DATUM["Camp_Area",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37253"]] -37254,GEOGCS["GCS_Deception_Island",DATUM["Deception_Island",SPHEROID["Clarke_1880_RGS",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37254"]] -37255,GEOGCS["GCS_Gunung_Segara",DATUM["Gunung_Segara",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37255"]] -37257,GEOGCS["GCS_S42_Hungary",DATUM["S42_Hungary",SPHEROID["Krasovsky_1940",6378245,298.3]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37257"]] -37259,GEOGCS["GCS_Kusaie_1951",DATUM["Kusaie_1951",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37259"]] -37260,GEOGCS["GCS_Alaskan_Islands",DATUM["Alaskan_Islands",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","37260"]] -53001,PROJCS["Sphere_Plate_Carree",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Plate_Carree"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","53001"]] -53002,PROJCS["Sphere_Equidistant_Cylindrical",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Equirectangular"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Standard_Parallel_1",60],UNIT["Meter",1],AUTHORITY["EPSG","53002"]] -53003,PROJCS["Sphere_Miller_Cylindrical",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Miller_Cylindrical"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","53003"]] -53004,PROJCS["Sphere_Mercator",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Mercator_1SP"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Standard_Parallel_1",0],UNIT["Meter",1],AUTHORITY["EPSG","53004"]] -53008,PROJCS["Sphere_Sinusoidal",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Sinusoidal"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","53008"]] -53009,PROJCS["Sphere_Mollweide",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Mollweide"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","53009"]] -53010,PROJCS["Sphere_Eckert_VI",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Eckert_VI"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","53010"]] -53011,PROJCS["Sphere_Eckert_V",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Eckert_V"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","53011"]] -53012,PROJCS["Sphere_Eckert_IV",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Eckert_IV"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","53012"]] -53013,PROJCS["Sphere_Eckert_III",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Eckert_III"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","53013"]] -53014,PROJCS["Sphere_Eckert_II",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Eckert_II"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","53014"]] -53015,PROJCS["Sphere_Eckert_I",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Eckert_I"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","53015"]] -53016,PROJCS["Sphere_Gall_Stereographic",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Gall_Stereographic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","53016"]] -53017,PROJCS["Sphere_Behrmann",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Behrmann"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","53017"]] -53018,PROJCS["Sphere_Winkel_I",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Winkel_I"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Standard_Parallel_1",50.45977625218981],UNIT["Meter",1],AUTHORITY["EPSG","53018"]] -53019,PROJCS["Sphere_Winkel_II",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Winkel_II"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Standard_Parallel_1",50.45977625218981],UNIT["Meter",1],AUTHORITY["EPSG","53019"]] -53021,PROJCS["Sphere_Polyconic",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Polyconic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","53021"]] -53022,PROJCS["Sphere_Quartic_Authalic",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Quartic_Authalic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","53022"]] -53023,PROJCS["Sphere_Loximuthal",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Loximuthal"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Central_Parallel",40],UNIT["Meter",1],AUTHORITY["EPSG","53023"]] -53024,PROJCS["Sphere_Bonne",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Bonne"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Standard_Parallel_1",60],UNIT["Meter",1],AUTHORITY["EPSG","53024"]] -53025,PROJCS["Sphere_Hotine",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Hotine_Oblique_Mercator_Two_Point_Natural_Origin"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Latitude_Of_Point_1",0],PARAMETER["Latitude_Of_Point_2",60],PARAMETER["Scale_Factor",1],PARAMETER["Longitude_Of_Point_1",0],PARAMETER["Longitude_Of_Point_2",60],PARAMETER["Latitude_Of_Center",40],UNIT["Meter",1],AUTHORITY["EPSG","53025"]] -53026,PROJCS["Sphere_Stereographic",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Stereographic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","53026"]] -53027,PROJCS["Sphere_Equidistant_Conic",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Equidistant_Conic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Longitude_Of_Center",0],PARAMETER["Standard_Parallel_1",60],PARAMETER["Standard_Parallel_2",60],PARAMETER["Latitude_Of_Center",0],UNIT["Meter",1],AUTHORITY["EPSG","53027"]] -53028,PROJCS["Sphere_Cassini",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Cassini_Soldner"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","53028"]] -53029,PROJCS["Sphere_Van_der_Grinten_I",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["VanDerGrinten"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","53029"]] -53030,PROJCS["Sphere_Robinson",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Robinson"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","53030"]] -53031,PROJCS["Sphere_Two_Point_Equidistant",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Two_Point_Equidistant"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Latitude_Of_1st_Point",0],PARAMETER["Latitude_Of_2nd_Point",60],PARAMETER["Longitude_Of_1st_Point",0],PARAMETER["Longitude_Of_2nd_Point",60],UNIT["Meter",1],AUTHORITY["EPSG","53031"]] -53032,PROJCS["Sphere_Azimuthal_Equidistant",GEOGCS["GCS_Sphere",DATUM["Not_specified_based_on_Authalic_Sphere",SPHEROID["Sphere",6371000,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Azimuthal_Equidistant"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","53032"]] -54001,PROJCS["World_Plate_Carree",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Plate_Carree"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","54001"]] -54002,PROJCS["World_Equidistant_Cylindrical",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Equirectangular"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Standard_Parallel_1",60],UNIT["Meter",1],AUTHORITY["EPSG","54002"]] -54003,PROJCS["World_Miller_Cylindrical",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Miller_Cylindrical"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","54003"]] -54004,PROJCS["World_Mercator",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Mercator_1SP"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Standard_Parallel_1",0],UNIT["Meter",1],AUTHORITY["EPSG","54004"]] -54008,PROJCS["World_Sinusoidal",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Sinusoidal"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","54008"]] -54009,PROJCS["World_Mollweide",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Mollweide"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","54009"]] -54010,PROJCS["World_Eckert_VI",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Eckert_VI"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","54010"]] -54011,PROJCS["World_Eckert_V",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Eckert_V"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","54011"]] -54012,PROJCS["World_Eckert_IV",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Eckert_IV"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","54012"]] -54013,PROJCS["World_Eckert_III",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Eckert_III"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","54013"]] -54014,PROJCS["World_Eckert_II",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Eckert_II"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","54014"]] -54015,PROJCS["World_Eckert_I",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Eckert_I"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","54015"]] -54016,PROJCS["World_Gall_Stereographic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Gall_Stereographic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","54016"]] -54017,PROJCS["World_Behrmann",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Behrmann"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","54017"]] -54018,PROJCS["World_Winkel_I",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Winkel_I"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Standard_Parallel_1",50.45977625218981],UNIT["Meter",1],AUTHORITY["EPSG","54018"]] -54019,PROJCS["World_Winkel_II",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Winkel_II"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Standard_Parallel_1",50.45977625218981],UNIT["Meter",1],AUTHORITY["EPSG","54019"]] -54021,PROJCS["World_Polyconic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Polyconic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","54021"]] -54022,PROJCS["World_Quartic_Authalic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Quartic_Authalic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","54022"]] -54023,PROJCS["World_Loximuthal",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Loximuthal"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Central_Parallel",40],UNIT["Meter",1],AUTHORITY["EPSG","54023"]] -54024,PROJCS["World_Bonne",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Bonne"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Standard_Parallel_1",60],UNIT["Meter",1],AUTHORITY["EPSG","54024"]] -54025,PROJCS["World_Hotine",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Hotine_Oblique_Mercator_Two_Point_Natural_Origin"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Latitude_Of_Point_1",0],PARAMETER["Latitude_Of_Point_2",60],PARAMETER["Scale_Factor",1],PARAMETER["Longitude_Of_Point_1",0],PARAMETER["Longitude_Of_Point_2",60],PARAMETER["Latitude_Of_Center",40],UNIT["Meter",1],AUTHORITY["EPSG","54025"]] -54026,PROJCS["World_Stereographic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Stereographic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","54026"]] -54027,PROJCS["World_Equidistant_Conic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Equidistant_Conic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Longitude_Of_Center",0],PARAMETER["Standard_Parallel_1",60],PARAMETER["Standard_Parallel_2",60],PARAMETER["Latitude_Of_Center",0],UNIT["Meter",1],AUTHORITY["EPSG","54027"]] -54028,PROJCS["World_Cassini",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Cassini_Soldner"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","54028"]] -54029,PROJCS["World_Van_der_Grinten_I",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["VanDerGrinten"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","54029"]] -54030,PROJCS["World_Robinson",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Robinson"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1],AUTHORITY["EPSG","54030"]] -54031,PROJCS["World_Two_Point_Equidistant",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Two_Point_Equidistant"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Latitude_Of_1st_Point",0],PARAMETER["Latitude_Of_2nd_Point",60],PARAMETER["Longitude_Of_1st_Point",0],PARAMETER["Longitude_Of_2nd_Point",60],UNIT["Meter",1],AUTHORITY["EPSG","54031"]] -54032,PROJCS["World_Azimuthal_Equidistant",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Azimuthal_Equidistant"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","54032"]] -65061,PROJCS["NAD_1927_StatePlane_Guam_FIPS_5400",GEOGCS["GCS_North_American_1927",DATUM["North_American_Datum_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Polyconic"],PARAMETER["False_Easting",164041.6666666667],PARAMETER["False_Northing",164041.6666666667],PARAMETER["Central_Meridian",-144.7487507055556],PARAMETER["Latitude_Of_Origin",13.47246635277778],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","65061"]] -65161,PROJCS["NAD_1983_StatePlane_Guam_FIPS_5400",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Polyconic"],PARAMETER["False_Easting",50000],PARAMETER["False_Northing",50000],PARAMETER["Central_Meridian",-144.7487507055556],PARAMETER["Latitude_Of_Origin",13.47246635277778],UNIT["Meter",1],AUTHORITY["EPSG","65161"]] -102001,PROJCS["Canada_Albers_Equal_Area_Conic",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["longitude_of_center",-96],PARAMETER["Standard_Parallel_1",50],PARAMETER["Standard_Parallel_2",70],PARAMETER["latitude_of_center",40],UNIT["Meter",1],AUTHORITY["EPSG","102001"]] -102002,PROJCS["Canada_Lambert_Conformal_Conic",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-96],PARAMETER["Standard_Parallel_1",50],PARAMETER["Standard_Parallel_2",70],PARAMETER["Latitude_Of_Origin",40],UNIT["Meter",1],AUTHORITY["EPSG","102002"]] -102003,PROJCS["USA_Contiguous_Albers_Equal_Area_Conic",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["longitude_of_center",-96],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["latitude_of_center",37.5],UNIT["Meter",1],AUTHORITY["EPSG","102003"]] -102004,PROJCS["USA_Contiguous_Lambert_Conformal_Conic",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-96],PARAMETER["Standard_Parallel_1",33],PARAMETER["Standard_Parallel_2",45],PARAMETER["Latitude_Of_Origin",39],UNIT["Meter",1],AUTHORITY["EPSG","102004"]] -102005,PROJCS["USA_Contiguous_Equidistant_Conic",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Equidistant_Conic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Longitude_Of_Center",-96],PARAMETER["Standard_Parallel_1",33],PARAMETER["Standard_Parallel_2",45],PARAMETER["Latitude_Of_Center",39],UNIT["Meter",1],AUTHORITY["EPSG","102005"]] -102006,PROJCS["Alaska_Albers_Equal_Area_Conic",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["longitude_of_center",-154],PARAMETER["Standard_Parallel_1",55],PARAMETER["Standard_Parallel_2",65],PARAMETER["latitude_of_center",50],UNIT["Meter",1],AUTHORITY["EPSG","102006"]] -102007,PROJCS["Hawaii_Albers_Equal_Area_Conic",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["longitude_of_center",-157],PARAMETER["Standard_Parallel_1",8],PARAMETER["Standard_Parallel_2",18],PARAMETER["latitude_of_center",13],UNIT["Meter",1],AUTHORITY["EPSG","102007"]] -102008,PROJCS["North_America_Albers_Equal_Area_Conic",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["longitude_of_center",-96],PARAMETER["Standard_Parallel_1",20],PARAMETER["Standard_Parallel_2",60],PARAMETER["latitude_of_center",40],UNIT["Meter",1],AUTHORITY["EPSG","102008"]] -102009,PROJCS["North_America_Lambert_Conformal_Conic",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-96],PARAMETER["Standard_Parallel_1",20],PARAMETER["Standard_Parallel_2",60],PARAMETER["Latitude_Of_Origin",40],UNIT["Meter",1],AUTHORITY["EPSG","102009"]] -102010,PROJCS["North_America_Equidistant_Conic",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Equidistant_Conic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Longitude_Of_Center",-96],PARAMETER["Standard_Parallel_1",20],PARAMETER["Standard_Parallel_2",60],PARAMETER["Latitude_Of_Center",40],UNIT["Meter",1],AUTHORITY["EPSG","102010"]] -102011,PROJCS["Africa_Sinusoidal",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Sinusoidal"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",15],UNIT["Meter",1],AUTHORITY["EPSG","102011"]] -102012,PROJCS["Asia_Lambert_Conformal_Conic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",105],PARAMETER["Standard_Parallel_1",30],PARAMETER["Standard_Parallel_2",62],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102012"]] -102013,PROJCS["Europe_Albers_Equal_Area_Conic",GEOGCS["GCS_European_1950",DATUM["European_Datum_1950",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["longitude_of_center",10],PARAMETER["Standard_Parallel_1",43],PARAMETER["Standard_Parallel_2",62],PARAMETER["latitude_of_center",30],UNIT["Meter",1],AUTHORITY["EPSG","102013"]] -102014,PROJCS["Europe_Lambert_Conformal_Conic",GEOGCS["GCS_European_1950",DATUM["European_Datum_1950",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",10],PARAMETER["Standard_Parallel_1",43],PARAMETER["Standard_Parallel_2",62],PARAMETER["Latitude_Of_Origin",30],UNIT["Meter",1],AUTHORITY["EPSG","102014"]] -102015,PROJCS["South_America_Lambert_Conformal_Conic",GEOGCS["GCS_South_American_1969",DATUM["South_American_Datum_1969",SPHEROID["GRS_1967_Truncated",6378160,298.25]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-60],PARAMETER["Standard_Parallel_1",-5],PARAMETER["Standard_Parallel_2",-42],PARAMETER["Latitude_Of_Origin",-32],UNIT["Meter",1],AUTHORITY["EPSG","102015"]] -102016,PROJCS["North_Pole_Azimuthal_Equidistant",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Azimuthal_Equidistant"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Latitude_Of_Origin",90],UNIT["Meter",1],AUTHORITY["EPSG","102016"]] -102017,PROJCS["North_Pole_Lambert_Azimuthal_Equal_Area",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Latitude_Of_Origin",90],UNIT["Meter",1],AUTHORITY["EPSG","102017"]] -102018,PROJCS["North_Pole_Stereographic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Stereographic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",90],UNIT["Meter",1],AUTHORITY["EPSG","102018"]] -102019,PROJCS["South_Pole_Azimuthal_Equidistant",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Azimuthal_Equidistant"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Latitude_Of_Origin",-90],UNIT["Meter",1],AUTHORITY["EPSG","102019"]] -102020,PROJCS["South_Pole_Lambert_Azimuthal_Equal_Area",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Latitude_Of_Origin",-90],UNIT["Meter",1],AUTHORITY["EPSG","102020"]] -102021,PROJCS["South_Pole_Stereographic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Stereographic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",-90],UNIT["Meter",1],AUTHORITY["EPSG","102021"]] -102022,PROJCS["Africa_Albers_Equal_Area_Conic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["longitude_of_center",25],PARAMETER["Standard_Parallel_1",20],PARAMETER["Standard_Parallel_2",-23],PARAMETER["latitude_of_center",0],UNIT["Meter",1],AUTHORITY["EPSG","102022"]] -102023,PROJCS["Africa_Equidistant_Conic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Equidistant_Conic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Longitude_Of_Center",25],PARAMETER["Standard_Parallel_1",20],PARAMETER["Standard_Parallel_2",-23],PARAMETER["Latitude_Of_Center",0],UNIT["Meter",1],AUTHORITY["EPSG","102023"]] -102024,PROJCS["Africa_Lambert_Conformal_Conic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",25],PARAMETER["Standard_Parallel_1",20],PARAMETER["Standard_Parallel_2",-23],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102024"]] -102025,PROJCS["Asia_North_Albers_Equal_Area_Conic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["longitude_of_center",95],PARAMETER["Standard_Parallel_1",15],PARAMETER["Standard_Parallel_2",65],PARAMETER["latitude_of_center",30],UNIT["Meter",1],AUTHORITY["EPSG","102025"]] -102026,PROJCS["Asia_North_Equidistant_Conic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Equidistant_Conic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Longitude_Of_Center",95],PARAMETER["Standard_Parallel_1",15],PARAMETER["Standard_Parallel_2",65],PARAMETER["Latitude_Of_Center",30],UNIT["Meter",1],AUTHORITY["EPSG","102026"]] -102027,PROJCS["Asia_North_Lambert_Conformal_Conic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",95],PARAMETER["Standard_Parallel_1",15],PARAMETER["Standard_Parallel_2",65],PARAMETER["Latitude_Of_Origin",30],UNIT["Meter",1],AUTHORITY["EPSG","102027"]] -102028,PROJCS["Asia_South_Albers_Equal_Area_Conic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["longitude_of_center",125],PARAMETER["Standard_Parallel_1",7],PARAMETER["Standard_Parallel_2",-32],PARAMETER["latitude_of_center",-15],UNIT["Meter",1],AUTHORITY["EPSG","102028"]] -102029,PROJCS["Asia_South_Equidistant_Conic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Equidistant_Conic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Longitude_Of_Center",125],PARAMETER["Standard_Parallel_1",7],PARAMETER["Standard_Parallel_2",-32],PARAMETER["Latitude_Of_Center",-15],UNIT["Meter",1],AUTHORITY["EPSG","102029"]] -102030,PROJCS["Asia_South_Lambert_Conformal_Conic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",125],PARAMETER["Standard_Parallel_1",7],PARAMETER["Standard_Parallel_2",-32],PARAMETER["Latitude_Of_Origin",-15],UNIT["Meter",1],AUTHORITY["EPSG","102030"]] -102031,PROJCS["Europe_Equidistant_Conic",GEOGCS["GCS_European_1950",DATUM["European_Datum_1950",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Equidistant_Conic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Longitude_Of_Center",10],PARAMETER["Standard_Parallel_1",43],PARAMETER["Standard_Parallel_2",62],PARAMETER["Latitude_Of_Center",30],UNIT["Meter",1],AUTHORITY["EPSG","102031"]] -102032,PROJCS["South_America_Equidistant_Conic",GEOGCS["GCS_South_American_1969",DATUM["South_American_Datum_1969",SPHEROID["GRS_1967_Truncated",6378160,298.25]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Equidistant_Conic"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Longitude_Of_Center",-60],PARAMETER["Standard_Parallel_1",-5],PARAMETER["Standard_Parallel_2",-42],PARAMETER["Latitude_Of_Center",-32],UNIT["Meter",1],AUTHORITY["EPSG","102032"]] -102033,PROJCS["South_America_Albers_Equal_Area_Conic",GEOGCS["GCS_South_American_1969",DATUM["South_American_Datum_1969",SPHEROID["GRS_1967_Truncated",6378160,298.25]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["longitude_of_center",-60],PARAMETER["Standard_Parallel_1",-5],PARAMETER["Standard_Parallel_2",-42],PARAMETER["latitude_of_center",-32],UNIT["Meter",1],AUTHORITY["EPSG","102033"]] -102065,PROJCS["S-JTSK_Krovak",GEOGCS["GCS_S_JTSK",DATUM["Jednotne_Trigonometricke_Site_Katastralni",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Krovak"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Pseudo_Standard_Parallel_1",78.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Azimuth",30.28813975277778],PARAMETER["Longitude_Of_Center",24.83333333333333],PARAMETER["Latitude_Of_Center",49.5],PARAMETER["X_Scale",1],PARAMETER["Y_Scale",1],PARAMETER["XY_Plane_Rotation",0],UNIT["Meter",1],AUTHORITY["EPSG","102065"]] -102066,PROJCS["S-JTSK_Ferro_Krovak_East_North",GEOGCS["GCS_S_JTSK_Ferro",DATUM["Jednotne_Trigonometricke_Site_Katastralni",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Ferro",-17.66666666666667],UNIT["Degree",0.017453292519943295]],PROJECTION["Krovak"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Pseudo_Standard_Parallel_1",78.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Azimuth",30.28813975277778],PARAMETER["Longitude_Of_Center",42.5],PARAMETER["Latitude_Of_Center",49.5],PARAMETER["X_Scale",-1],PARAMETER["Y_Scale",1],PARAMETER["XY_Plane_Rotation",90],UNIT["Meter",1],AUTHORITY["EPSG","102066"]] -102067,PROJCS["S-JTSK_Krovak_East_North",GEOGCS["GCS_S_JTSK",DATUM["Jednotne_Trigonometricke_Site_Katastralni",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Krovak"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Pseudo_Standard_Parallel_1",78.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Azimuth",30.28813975277778],PARAMETER["Longitude_Of_Center",24.83333333333333],PARAMETER["Latitude_Of_Center",49.5],PARAMETER["X_Scale",-1],PARAMETER["Y_Scale",1],PARAMETER["XY_Plane_Rotation",90],UNIT["Meter",1],AUTHORITY["EPSG","102067"]] -102091,PROJCS["Monte_Mario_Italy_1",GEOGCS["GCS_Monte_Mario",DATUM["Monte_Mario",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",9],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102091"]] -102092,PROJCS["Monte_Mario_Italy_2",GEOGCS["GCS_Monte_Mario",DATUM["Monte_Mario",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2520000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",15],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102092"]] -102101,PROJCS["NGO_1948_Norway_Zone_1",GEOGCS["GCS_NGO_1948",DATUM["NGO_1948",SPHEROID["Bessel_Modified",6377492.018,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",6.05625],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",58],UNIT["Meter",1],AUTHORITY["EPSG","102101"]] -102102,PROJCS["NGO_1948_Norway_Zone_2",GEOGCS["GCS_NGO_1948",DATUM["NGO_1948",SPHEROID["Bessel_Modified",6377492.018,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",8.389583333333333],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",58],UNIT["Meter",1],AUTHORITY["EPSG","102102"]] -102103,PROJCS["NGO_1948_Norway_Zone_3",GEOGCS["GCS_NGO_1948",DATUM["NGO_1948",SPHEROID["Bessel_Modified",6377492.018,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",10.72291666666667],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",58],UNIT["Meter",1],AUTHORITY["EPSG","102103"]] -102104,PROJCS["NGO_1948_Norway_Zone_4",GEOGCS["GCS_NGO_1948",DATUM["NGO_1948",SPHEROID["Bessel_Modified",6377492.018,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",13.22291666666667],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",58],UNIT["Meter",1],AUTHORITY["EPSG","102104"]] -102105,PROJCS["NGO_1948_Norway_Zone_5",GEOGCS["GCS_NGO_1948",DATUM["NGO_1948",SPHEROID["Bessel_Modified",6377492.018,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",16.88958333333333],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",58],UNIT["Meter",1],AUTHORITY["EPSG","102105"]] -102106,PROJCS["NGO_1948_Norway_Zone_6",GEOGCS["GCS_NGO_1948",DATUM["NGO_1948",SPHEROID["Bessel_Modified",6377492.018,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",20.88958333333333],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",58],UNIT["Meter",1],AUTHORITY["EPSG","102106"]] -102107,PROJCS["NGO_1948_Norway_Zone_7",GEOGCS["GCS_NGO_1948",DATUM["NGO_1948",SPHEROID["Bessel_Modified",6377492.018,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",24.88958333333333],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",58],UNIT["Meter",1],AUTHORITY["EPSG","102107"]] -102108,PROJCS["NGO_1948_Norway_Zone_8",GEOGCS["GCS_NGO_1948",DATUM["NGO_1948",SPHEROID["Bessel_Modified",6377492.018,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",29.05625],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",58],UNIT["Meter",1],AUTHORITY["EPSG","102108"]] -102110,PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["RGF_1993",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",700000],PARAMETER["False_Northing",6600000],PARAMETER["Central_Meridian",3],PARAMETER["Standard_Parallel_1",44],PARAMETER["Standard_Parallel_2",49],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1],AUTHORITY["EPSG","102110"]] -102114,PROJCS["Old_Hawaiian_UTM_Zone_4N",GEOGCS["GCS_Old_Hawaiian",DATUM["Old_Hawaiian",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-159],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102114"]] -102115,PROJCS["Old_Hawaiian_UTM_Zone_5N",GEOGCS["GCS_Old_Hawaiian",DATUM["Old_Hawaiian",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-153],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102115"]] -102120,PROJCS["NAD_1927_Michigan_GeoRef_Feet_US",GEOGCS["GCS_North_American_1927",DATUM["North_American_Datum_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Hotine_Oblique_Mercator"],PARAMETER["False_Easting",8355401.583],PARAMETER["False_Northing",-14284780.538],PARAMETER["Scale_Factor",0.9996],PARAMETER["Azimuth",337.255555555556],PARAMETER["Longitude_Of_Center",-86],PARAMETER["Latitude_Of_Center",45.30916666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102120"]] -102121,PROJCS["NAD_1983_Michigan_GeoRef_Feet_US",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Hotine_Oblique_Mercator"],PARAMETER["False_Easting",8355401.583],PARAMETER["False_Northing",-14284780.538],PARAMETER["Scale_Factor",0.9996],PARAMETER["Azimuth",337.255555555556],PARAMETER["Longitude_Of_Center",-86],PARAMETER["Latitude_Of_Center",45.30916666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102121"]] -102122,PROJCS["NAD_1927_Michigan_GeoRef_Meters",GEOGCS["GCS_North_American_1927",DATUM["North_American_Datum_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Hotine_Oblique_Mercator"],PARAMETER["False_Easting",2546731.496],PARAMETER["False_Northing",-4354009.816],PARAMETER["Scale_Factor",0.9996],PARAMETER["Azimuth",337.255555555556],PARAMETER["Longitude_Of_Center",-86],PARAMETER["Latitude_Of_Center",45.30916666666666],UNIT["Meter",1],AUTHORITY["EPSG","102122"]] -102123,PROJCS["NAD_1983_Michigan_GeoRef_Meters",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Hotine_Oblique_Mercator"],PARAMETER["False_Easting",2546731.496],PARAMETER["False_Northing",-4354009.816],PARAMETER["Scale_Factor",0.9996],PARAMETER["Azimuth",337.255555555556],PARAMETER["Longitude_Of_Center",-86],PARAMETER["Latitude_Of_Center",45.30916666666666],UNIT["Meter",1],AUTHORITY["EPSG","102123"]] -102132,PROJCS["NGO_1948_UTM_Zone_32N",GEOGCS["GCS_NGO_1948",DATUM["NGO_1948",SPHEROID["Bessel_Modified",6377492.018,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",9],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102132"]] -102133,PROJCS["NGO_1948_UTM_Zone_33N",GEOGCS["GCS_NGO_1948",DATUM["NGO_1948",SPHEROID["Bessel_Modified",6377492.018,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",15],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102133"]] -102134,PROJCS["NGO_1948_UTM_Zone_34N",GEOGCS["GCS_NGO_1948",DATUM["NGO_1948",SPHEROID["Bessel_Modified",6377492.018,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",21],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102134"]] -102135,PROJCS["NGO_1948_UTM_Zone_35N",GEOGCS["GCS_NGO_1948",DATUM["NGO_1948",SPHEROID["Bessel_Modified",6377492.018,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",27],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102135"]] -102140,PROJCS["Hong_Kong_1980_Grid",GEOGCS["GCS_Hong_Kong_1980",DATUM["Hong_Kong_1980",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",836694.0500000001],PARAMETER["False_Northing",819069.8000000001],PARAMETER["Central_Meridian",114.1785555555556],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",22.31213333333334],UNIT["Meter",1],AUTHORITY["EPSG","102140"]] -102141,PROJCS["Hong_Kong_1980_UTM_Zone_49N",GEOGCS["GCS_Hong_Kong_1980",DATUM["Hong_Kong_1980",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",111],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102141"]] -102142,PROJCS["Hong_Kong_1980_UTM_Zone_50N",GEOGCS["GCS_Hong_Kong_1980",DATUM["Hong_Kong_1980",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",117],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102142"]] -102151,PROJCS["Tokyo_UTM_Zone_51N",GEOGCS["GCS_Tokyo",DATUM["Tokyo",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",123],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102151"]] -102152,PROJCS["Tokyo_UTM_Zone_52N",GEOGCS["GCS_Tokyo",DATUM["Tokyo",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",129],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102152"]] -102153,PROJCS["Tokyo_UTM_Zone_53N",GEOGCS["GCS_Tokyo",DATUM["Tokyo",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",135],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102153"]] -102154,PROJCS["Tokyo_UTM_Zone_54N",GEOGCS["GCS_Tokyo",DATUM["Tokyo",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",141],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102154"]] -102155,PROJCS["Tokyo_UTM_Zone_55N",GEOGCS["GCS_Tokyo",DATUM["Tokyo",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",147],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102155"]] -102156,PROJCS["Tokyo_UTM_Zone_56N",GEOGCS["GCS_Tokyo",DATUM["Tokyo",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",153],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102156"]] -102160,PROJCS["Datum_73_Hayford_Gauss_IGeoE",GEOGCS["GCS_Datum_73",DATUM["Datum_73",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200180.598],PARAMETER["False_Northing",299913.01],PARAMETER["Central_Meridian",-8.131906111111112],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",39.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102160"]] -102161,PROJCS["Datum_73_Hayford_Gauss_IPCC",GEOGCS["GCS_Datum_73",DATUM["Datum_73",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",180.598],PARAMETER["False_Northing",-86.99],PARAMETER["Central_Meridian",-8.131906111111112],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",39.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102161"]] -102162,PROJCS["Graciosa_Base_SW_1948_UTM_Zone_26N",GEOGCS["GCS_Graciosa_Base_SW_1948",DATUM["Graciosa_Base_SW_1948",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-27],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102162"]] -102163,PROJCS["Lisboa_Bessel_Bonne",GEOGCS["GCS_Datum_Lisboa_Bessel",DATUM["Datum_Lisboa_Bessel",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Bonne"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-8.131906111111112],PARAMETER["Standard_Parallel_1",39.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102163"]] -102164,PROJCS["Lisboa_Hayford_Gauss_IGeoE",GEOGCS["GCS_Datum_Lisboa_Hayford",DATUM["Datum_Lisboa_Hayford",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",300000],PARAMETER["Central_Meridian",-8.131906111111112],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",39.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102164"]] -102165,PROJCS["Lisboa_Hayford_Gauss_IPCC",GEOGCS["GCS_Datum_Lisboa_Hayford",DATUM["Datum_Lisboa_Hayford",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-8.131906111111112],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",39.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102165"]] -102166,PROJCS["Observ_Meteorologico_1939_UTM_Zone_25N",GEOGCS["GCS_Observ_Meteorologico_1939",DATUM["Observ_Meteorologico_1939",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-33],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102166"]] -102167,PROJCS["Porto_Santo_1936_UTM_Zone_28N",GEOGCS["GCS_Porto_Santo_1936",DATUM["Porto_Santo_1936",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-15],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102167"]] -102168,PROJCS["Sao_Braz_UTM_Zone_26N",GEOGCS["GCS_Sao_Braz",DATUM["Sao_Braz",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-27],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102168"]] -102169,PROJCS["Selvagem_Grande_1938_UTM_Zone_28N",GEOGCS["GCS_Selvagem_Grande_1938",DATUM["Selvagem_Grande_1938",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-15],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1],AUTHORITY["EPSG","102169"]] -102191,PROJCS["Nord_Maroc_Degree",GEOGCS["GCS_Merchich_Degree",DATUM["Merchich",SPHEROID["Clarke_1880_IGN",6378249.2,293.46602]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",300000],PARAMETER["Central_Meridian",-5.4],PARAMETER["Standard_Parallel_1",33.3],PARAMETER["Scale_Factor",0.999625769],PARAMETER["Latitude_Of_Origin",33.3],UNIT["Meter",1],AUTHORITY["EPSG","102191"]] -102192,PROJCS["Sud_Maroc_Degree",GEOGCS["GCS_Merchich_Degree",DATUM["Merchich",SPHEROID["Clarke_1880_IGN",6378249.2,293.46602]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",300000],PARAMETER["Central_Meridian",-5.4],PARAMETER["Standard_Parallel_1",29.7],PARAMETER["Scale_Factor",0.9996155960000001],PARAMETER["Latitude_Of_Origin",29.7],UNIT["Meter",1],AUTHORITY["EPSG","102192"]] -102193,PROJCS["Sahara_Degree",GEOGCS["GCS_Merchich_Degree",DATUM["Merchich",SPHEROID["Clarke_1880_IGN",6378249.2,293.46602]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",1200000],PARAMETER["False_Northing",400000],PARAMETER["Central_Meridian",-5.4],PARAMETER["Standard_Parallel_1",26.1],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",26.1],UNIT["Meter",1],AUTHORITY["EPSG","102193"]] -102229,PROJCS["NAD_1983_HARN_StatePlane_Alabama_East_FIPS_0101",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-85.83333333333333],PARAMETER["Scale_Factor",0.99996],PARAMETER["Latitude_Of_Origin",30.5],UNIT["Meter",1],AUTHORITY["EPSG","102229"]] -102230,PROJCS["NAD_1983_HARN_StatePlane_Alabama_West_FIPS_0102",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-87.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",30],UNIT["Meter",1],AUTHORITY["EPSG","102230"]] -102241,PROJCS["NAD_1983_HARN_StatePlane_California_I_FIPS_0401",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-122],PARAMETER["Standard_Parallel_1",40],PARAMETER["Standard_Parallel_2",41.66666666666666],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102241"]] -102242,PROJCS["NAD_1983_HARN_StatePlane_California_II_FIPS_0402",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-122],PARAMETER["Standard_Parallel_1",38.33333333333334],PARAMETER["Standard_Parallel_2",39.83333333333334],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102242"]] -102243,PROJCS["NAD_1983_HARN_StatePlane_California_III_FIPS_0403",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",37.06666666666667],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.5],UNIT["Meter",1],AUTHORITY["EPSG","102243"]] -102244,PROJCS["NAD_1983_HARN_StatePlane_California_IV_FIPS_0404",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-119],PARAMETER["Standard_Parallel_1",36],PARAMETER["Standard_Parallel_2",37.25],PARAMETER["Latitude_Of_Origin",35.33333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102244"]] -102245,PROJCS["NAD_1983_HARN_StatePlane_California_V_FIPS_0405",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-118],PARAMETER["Standard_Parallel_1",34.03333333333333],PARAMETER["Standard_Parallel_2",35.46666666666667],PARAMETER["Latitude_Of_Origin",33.5],UNIT["Meter",1],AUTHORITY["EPSG","102245"]] -102246,PROJCS["NAD_1983_HARN_StatePlane_California_VI_FIPS_0406",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",2000000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-116.25],PARAMETER["Standard_Parallel_1",32.78333333333333],PARAMETER["Standard_Parallel_2",33.88333333333333],PARAMETER["Latitude_Of_Origin",32.16666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102246"]] -102248,PROJCS["NAD_1983_HARN_StatePlane_Arizona_East_FIPS_0201",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",213360],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-110.1666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1],AUTHORITY["EPSG","102248"]] -102249,PROJCS["NAD_1983_HARN_StatePlane_Arizona_Central_FIPS_0202",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",213360],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-111.9166666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1],AUTHORITY["EPSG","102249"]] -102250,PROJCS["NAD_1983_HARN_StatePlane_Arizona_West_FIPS_0203",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",213360],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-113.75],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1],AUTHORITY["EPSG","102250"]] -102251,PROJCS["NAD_1983_HARN_StatePlane_Arkansas_North_FIPS_0301",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92],PARAMETER["Standard_Parallel_1",34.93333333333333],PARAMETER["Standard_Parallel_2",36.23333333333333],PARAMETER["Latitude_Of_Origin",34.33333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102251"]] -102252,PROJCS["NAD_1983_HARN_StatePlane_Arkansas_South_FIPS_0302",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",400000],PARAMETER["Central_Meridian",-92],PARAMETER["Standard_Parallel_1",33.3],PARAMETER["Standard_Parallel_2",34.76666666666667],PARAMETER["Latitude_Of_Origin",32.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102252"]] -102253,PROJCS["NAD_1983_HARN_StatePlane_Colorado_North_FIPS_0501",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",914401.8289],PARAMETER["False_Northing",304800.6096],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",39.71666666666667],PARAMETER["Standard_Parallel_2",40.78333333333333],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102253"]] -102254,PROJCS["NAD_1983_HARN_StatePlane_Colorado_Central_FIPS_0502",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",914401.8289],PARAMETER["False_Northing",304800.6096],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",38.45],PARAMETER["Standard_Parallel_2",39.75],PARAMETER["Latitude_Of_Origin",37.83333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102254"]] -102255,PROJCS["NAD_1983_HARN_StatePlane_Colorado_South_FIPS_0503",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",914401.8289],PARAMETER["False_Northing",304800.6096],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",37.23333333333333],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102255"]] -102256,PROJCS["NAD_1983_HARN_StatePlane_Connecticut_FIPS_0600",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",304800.6096],PARAMETER["False_Northing",152400.3048],PARAMETER["Central_Meridian",-72.75],PARAMETER["Standard_Parallel_1",41.2],PARAMETER["Standard_Parallel_2",41.86666666666667],PARAMETER["Latitude_Of_Origin",40.83333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102256"]] -102257,PROJCS["NAD_1983_HARN_StatePlane_Delaware_FIPS_0700",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-75.41666666666667],PARAMETER["Scale_Factor",0.999995],PARAMETER["Latitude_Of_Origin",38],UNIT["Meter",1],AUTHORITY["EPSG","102257"]] -102258,PROJCS["NAD_1983_HARN_StatePlane_Florida_East_FIPS_0901",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",24.33333333333333],UNIT["Meter",1],AUTHORITY["EPSG","102258"]] -102259,PROJCS["NAD_1983_HARN_StatePlane_Florida_West_FIPS_0902",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",24.33333333333333],UNIT["Meter",1],AUTHORITY["EPSG","102259"]] -102260,PROJCS["NAD_1983_HARN_StatePlane_Florida_North_FIPS_0903",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.5],PARAMETER["Standard_Parallel_1",29.58333333333333],PARAMETER["Standard_Parallel_2",30.75],PARAMETER["Latitude_Of_Origin",29],UNIT["Meter",1],AUTHORITY["EPSG","102260"]] -102261,PROJCS["NAD_1983_HARN_StatePlane_Hawaii_1_FIPS_5101",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-155.5],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",18.83333333333333],UNIT["Meter",1],AUTHORITY["EPSG","102261"]] -102262,PROJCS["NAD_1983_HARN_StatePlane_Hawaii_2_FIPS_5102",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-156.6666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",20.33333333333333],UNIT["Meter",1],AUTHORITY["EPSG","102262"]] -102263,PROJCS["NAD_1983_HARN_StatePlane_Hawaii_3_FIPS_5103",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-158],PARAMETER["Scale_Factor",0.9999900000000001],PARAMETER["Latitude_Of_Origin",21.16666666666667],UNIT["Meter",1],AUTHORITY["EPSG","102263"]] -102264,PROJCS["NAD_1983_HARN_StatePlane_Hawaii_4_FIPS_5104",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-159.5],PARAMETER["Scale_Factor",0.9999900000000001],PARAMETER["Latitude_Of_Origin",21.83333333333333],UNIT["Meter",1],AUTHORITY["EPSG","102264"]] -102265,PROJCS["NAD_1983_HARN_StatePlane_Hawaii_5_FIPS_5105",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-160.1666666666667],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",21.66666666666667],UNIT["Meter",1],AUTHORITY["EPSG","102265"]] -102266,PROJCS["NAD_1983_HARN_StatePlane_Georgia_East_FIPS_1001",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.16666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",30],UNIT["Meter",1],AUTHORITY["EPSG","102266"]] -102267,PROJCS["NAD_1983_HARN_StatePlane_Georgia_West_FIPS_1002",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.16666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",30],UNIT["Meter",1],AUTHORITY["EPSG","102267"]] -102268,PROJCS["NAD_1983_HARN_StatePlane_Idaho_East_FIPS_1101",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-112.1666666666667],PARAMETER["Scale_Factor",0.9999473684210526],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102268"]] -102269,PROJCS["NAD_1983_HARN_StatePlane_Idaho_Central_FIPS_1102",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-114],PARAMETER["Scale_Factor",0.9999473684210526],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102269"]] -102270,PROJCS["NAD_1983_HARN_StatePlane_Idaho_West_FIPS_1103",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",800000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-115.75],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102270"]] -102271,PROJCS["NAD_1983_HARN_StatePlane_Illinois_East_FIPS_1201",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-88.33333333333333],PARAMETER["Scale_Factor",0.999975],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102271"]] -102272,PROJCS["NAD_1983_HARN_StatePlane_Illinois_West_FIPS_1202",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.16666666666667],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102272"]] -102273,PROJCS["NAD_1983_HARN_StatePlane_Indiana_East_FIPS_1301",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",100000],PARAMETER["False_Northing",250000],PARAMETER["Central_Meridian",-85.66666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Meter",1],AUTHORITY["EPSG","102273"]] -102274,PROJCS["NAD_1983_HARN_StatePlane_Indiana_West_FIPS_1302",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",900000],PARAMETER["False_Northing",250000],PARAMETER["Central_Meridian",-87.08333333333333],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Meter",1],AUTHORITY["EPSG","102274"]] -102277,PROJCS["NAD_1983_HARN_StatePlane_Kansas_North_FIPS_1501",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",38.71666666666667],PARAMETER["Standard_Parallel_2",39.78333333333333],PARAMETER["Latitude_Of_Origin",38.33333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102277"]] -102278,PROJCS["NAD_1983_HARN_StatePlane_Kansas_South_FIPS_1502",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",400000],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",37.26666666666667],PARAMETER["Standard_Parallel_2",38.56666666666667],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102278"]] -102279,PROJCS["NAD_1983_HARN_StatePlane_Kentucky_North_FIPS_1601",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.25],PARAMETER["Standard_Parallel_1",37.96666666666667],PARAMETER["Standard_Parallel_2",38.96666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Meter",1],AUTHORITY["EPSG","102279"]] -102280,PROJCS["NAD_1983_HARN_StatePlane_Kentucky_South_FIPS_1602",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",500000],PARAMETER["Central_Meridian",-85.75],PARAMETER["Standard_Parallel_1",36.73333333333333],PARAMETER["Standard_Parallel_2",37.93333333333333],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102280"]] -102281,PROJCS["NAD_1983_HARN_StatePlane_Louisiana_North_FIPS_1701",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92.5],PARAMETER["Standard_Parallel_1",31.16666666666667],PARAMETER["Standard_Parallel_2",32.66666666666666],PARAMETER["Latitude_Of_Origin",30.5],UNIT["Meter",1],AUTHORITY["EPSG","102281"]] -102282,PROJCS["NAD_1983_HARN_StatePlane_Louisiana_South_FIPS_1702",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-91.33333333333333],PARAMETER["Standard_Parallel_1",29.3],PARAMETER["Standard_Parallel_2",30.7],PARAMETER["Latitude_Of_Origin",28.5],UNIT["Meter",1],AUTHORITY["EPSG","102282"]] -102283,PROJCS["NAD_1983_HARN_StatePlane_Maine_East_FIPS_1801",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-68.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",43.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102283"]] -102284,PROJCS["NAD_1983_HARN_StatePlane_Maine_West_FIPS_1802",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",900000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-70.16666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",42.83333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102284"]] -102285,PROJCS["NAD_1983_HARN_StatePlane_Maryland_FIPS_1900",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-77],PARAMETER["Standard_Parallel_1",38.3],PARAMETER["Standard_Parallel_2",39.45],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102285"]] -102286,PROJCS["NAD_1983_HARN_StatePlane_Massachusetts_Mainland_FIPS_2001",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",750000],PARAMETER["Central_Meridian",-71.5],PARAMETER["Standard_Parallel_1",41.71666666666667],PARAMETER["Standard_Parallel_2",42.68333333333333],PARAMETER["Latitude_Of_Origin",41],UNIT["Meter",1],AUTHORITY["EPSG","102286"]] -102287,PROJCS["NAD_1983_HARN_StatePlane_Massachusetts_Island_FIPS_2002",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-70.5],PARAMETER["Standard_Parallel_1",41.28333333333333],PARAMETER["Standard_Parallel_2",41.48333333333333],PARAMETER["Latitude_Of_Origin",41],UNIT["Meter",1],AUTHORITY["EPSG","102287"]] -102288,PROJCS["NAD_1983_HARN_StatePlane_Michigan_North_FIPS_2111",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",8000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-87],PARAMETER["Standard_Parallel_1",45.48333333333333],PARAMETER["Standard_Parallel_2",47.08333333333334],PARAMETER["Latitude_Of_Origin",44.78333333333333],UNIT["Meter",1],AUTHORITY["EPSG","102288"]] -102289,PROJCS["NAD_1983_HARN_StatePlane_Michigan_Central_FIPS_2112",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",6000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.36666666666666],PARAMETER["Standard_Parallel_1",44.18333333333333],PARAMETER["Standard_Parallel_2",45.7],PARAMETER["Latitude_Of_Origin",43.31666666666667],UNIT["Meter",1],AUTHORITY["EPSG","102289"]] -102290,PROJCS["NAD_1983_HARN_StatePlane_Michigan_South_FIPS_2113",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",4000000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.36666666666666],PARAMETER["Standard_Parallel_1",42.1],PARAMETER["Standard_Parallel_2",43.66666666666666],PARAMETER["Latitude_Of_Origin",41.5],UNIT["Meter",1],AUTHORITY["EPSG","102290"]] -102291,PROJCS["NAD_1983_HARN_StatePlane_Minnesota_North_FIPS_2201",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",800000],PARAMETER["False_Northing",100000],PARAMETER["Central_Meridian",-93.09999999999999],PARAMETER["Standard_Parallel_1",47.03333333333333],PARAMETER["Standard_Parallel_2",48.63333333333333],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1],AUTHORITY["EPSG","102291"]] -102292,PROJCS["NAD_1983_HARN_StatePlane_Minnesota_Central_FIPS_2202",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",800000],PARAMETER["False_Northing",100000],PARAMETER["Central_Meridian",-94.25],PARAMETER["Standard_Parallel_1",45.61666666666667],PARAMETER["Standard_Parallel_2",47.05],PARAMETER["Latitude_Of_Origin",45],UNIT["Meter",1],AUTHORITY["EPSG","102292"]] -102293,PROJCS["NAD_1983_HARN_StatePlane_Minnesota_South_FIPS_2203",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",800000],PARAMETER["False_Northing",100000],PARAMETER["Central_Meridian",-94],PARAMETER["Standard_Parallel_1",43.78333333333333],PARAMETER["Standard_Parallel_2",45.21666666666667],PARAMETER["Latitude_Of_Origin",43],UNIT["Meter",1],AUTHORITY["EPSG","102293"]] -102294,PROJCS["NAD_1983_HARN_StatePlane_Mississippi_East_FIPS_2301",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-88.83333333333333],PARAMETER["Scale_Factor",0.99995],PARAMETER["Latitude_Of_Origin",29.5],UNIT["Meter",1],AUTHORITY["EPSG","102294"]] -102295,PROJCS["NAD_1983_HARN_StatePlane_Mississippi_West_FIPS_2302",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",700000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.33333333333333],PARAMETER["Scale_Factor",0.99995],PARAMETER["Latitude_Of_Origin",29.5],UNIT["Meter",1],AUTHORITY["EPSG","102295"]] -102296,PROJCS["NAD_1983_HARN_StatePlane_Missouri_East_FIPS_2401",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",250000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",35.83333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102296"]] -102297,PROJCS["NAD_1983_HARN_StatePlane_Missouri_Central_FIPS_2402",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",35.83333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102297"]] -102298,PROJCS["NAD_1983_HARN_StatePlane_Missouri_West_FIPS_2403",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",850000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-94.5],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",36.16666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102298"]] -102300,PROJCS["NAD_1983_HARN_StatePlane_Montana_FIPS_2500",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-109.5],PARAMETER["Standard_Parallel_1",45],PARAMETER["Standard_Parallel_2",49],PARAMETER["Latitude_Of_Origin",44.25],UNIT["Meter",1],AUTHORITY["EPSG","102300"]] -102304,PROJCS["NAD_1983_HARN_StatePlane_Nebraska_FIPS_2600",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100],PARAMETER["Standard_Parallel_1",40],PARAMETER["Standard_Parallel_2",43],PARAMETER["Latitude_Of_Origin",39.83333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102304"]] -102307,PROJCS["NAD_1983_HARN_StatePlane_Nevada_East_FIPS_2701",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",8000000],PARAMETER["Central_Meridian",-115.5833333333333],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Meter",1],AUTHORITY["EPSG","102307"]] -102308,PROJCS["NAD_1983_HARN_StatePlane_Nevada_Central_FIPS_2702",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",6000000],PARAMETER["Central_Meridian",-116.6666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Meter",1],AUTHORITY["EPSG","102308"]] -102309,PROJCS["NAD_1983_HARN_StatePlane_Nevada_West_FIPS_2703",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",800000],PARAMETER["False_Northing",4000000],PARAMETER["Central_Meridian",-118.5833333333333],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Meter",1],AUTHORITY["EPSG","102309"]] -102310,PROJCS["NAD_1983_HARN_StatePlane_New_Hampshire_FIPS_2800",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-71.66666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",42.5],UNIT["Meter",1],AUTHORITY["EPSG","102310"]] -102311,PROJCS["NAD_1983_HARN_StatePlane_New_Jersey_FIPS_2900",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",150000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",38.83333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102311"]] -102312,PROJCS["NAD_1983_HARN_StatePlane_New_Mexico_East_FIPS_3001",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",165000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-104.3333333333333],PARAMETER["Scale_Factor",0.9999090909090909],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1],AUTHORITY["EPSG","102312"]] -102313,PROJCS["NAD_1983_HARN_StatePlane_New_Mexico_Central_FIPS_3002",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-106.25],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1],AUTHORITY["EPSG","102313"]] -102314,PROJCS["NAD_1983_HARN_StatePlane_New_Mexico_West_FIPS_3003",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",830000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-107.8333333333333],PARAMETER["Scale_Factor",0.9999166666666667],PARAMETER["Latitude_Of_Origin",31],UNIT["Meter",1],AUTHORITY["EPSG","102314"]] -102315,PROJCS["NAD_1983_HARN_StatePlane_New_York_East_FIPS_3101",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",150000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",38.83333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102315"]] -102316,PROJCS["NAD_1983_HARN_StatePlane_New_York_Central_FIPS_3102",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",250000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-76.58333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40],UNIT["Meter",1],AUTHORITY["EPSG","102316"]] -102317,PROJCS["NAD_1983_HARN_StatePlane_New_York_West_FIPS_3103",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",350000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-78.58333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40],UNIT["Meter",1],AUTHORITY["EPSG","102317"]] -102318,PROJCS["NAD_1983_HARN_StatePlane_New_York_Long_Island_FIPS_3104",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74],PARAMETER["Standard_Parallel_1",40.66666666666666],PARAMETER["Standard_Parallel_2",41.03333333333333],PARAMETER["Latitude_Of_Origin",40.16666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102318"]] -102320,PROJCS["NAD_1983_HARN_StatePlane_North_Dakota_North_FIPS_3301",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",47.43333333333333],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47],UNIT["Meter",1],AUTHORITY["EPSG","102320"]] -102321,PROJCS["NAD_1983_HARN_StatePlane_North_Dakota_South_FIPS_3302",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",46.18333333333333],PARAMETER["Standard_Parallel_2",47.48333333333333],PARAMETER["Latitude_Of_Origin",45.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102321"]] -102322,PROJCS["NAD_1983_HARN_StatePlane_Ohio_North_FIPS_3401",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.5],PARAMETER["Standard_Parallel_1",40.43333333333333],PARAMETER["Standard_Parallel_2",41.7],PARAMETER["Latitude_Of_Origin",39.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102322"]] -102323,PROJCS["NAD_1983_HARN_StatePlane_Ohio_South_FIPS_3402",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.5],PARAMETER["Standard_Parallel_1",38.73333333333333],PARAMETER["Standard_Parallel_2",40.03333333333333],PARAMETER["Latitude_Of_Origin",38],UNIT["Meter",1],AUTHORITY["EPSG","102323"]] -102324,PROJCS["NAD_1983_HARN_StatePlane_Oklahoma_North_FIPS_3501",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",35.56666666666667],PARAMETER["Standard_Parallel_2",36.76666666666667],PARAMETER["Latitude_Of_Origin",35],UNIT["Meter",1],AUTHORITY["EPSG","102324"]] -102325,PROJCS["NAD_1983_HARN_StatePlane_Oklahoma_South_FIPS_3502",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",33.93333333333333],PARAMETER["Standard_Parallel_2",35.23333333333333],PARAMETER["Latitude_Of_Origin",33.33333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102325"]] -102326,PROJCS["NAD_1983_HARN_StatePlane_Oregon_North_FIPS_3601",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",2500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",44.33333333333334],PARAMETER["Standard_Parallel_2",46],PARAMETER["Latitude_Of_Origin",43.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102326"]] -102327,PROJCS["NAD_1983_HARN_StatePlane_Oregon_South_FIPS_3602",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",42.33333333333334],PARAMETER["Standard_Parallel_2",44],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102327"]] -102330,PROJCS["NAD_1983_HARN_StatePlane_Rhode_Island_FIPS_3800",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",100000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-71.5],PARAMETER["Scale_Factor",0.99999375],PARAMETER["Latitude_Of_Origin",41.08333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102330"]] -102334,PROJCS["NAD_1983_HARN_StatePlane_South_Dakota_North_FIPS_4001",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100],PARAMETER["Standard_Parallel_1",44.41666666666666],PARAMETER["Standard_Parallel_2",45.68333333333333],PARAMETER["Latitude_Of_Origin",43.83333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102334"]] -102335,PROJCS["NAD_1983_HARN_StatePlane_South_Dakota_South_FIPS_4002",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.3333333333333],PARAMETER["Standard_Parallel_1",42.83333333333334],PARAMETER["Standard_Parallel_2",44.4],PARAMETER["Latitude_Of_Origin",42.33333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102335"]] -102336,PROJCS["NAD_1983_HARN_StatePlane_Tennessee_FIPS_4100",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-86],PARAMETER["Standard_Parallel_1",35.25],PARAMETER["Standard_Parallel_2",36.41666666666666],PARAMETER["Latitude_Of_Origin",34.33333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102336"]] -102337,PROJCS["NAD_1983_HARN_StatePlane_Texas_North_FIPS_4201",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",1000000],PARAMETER["Central_Meridian",-101.5],PARAMETER["Standard_Parallel_1",34.65],PARAMETER["Standard_Parallel_2",36.18333333333333],PARAMETER["Latitude_Of_Origin",34],UNIT["Meter",1],AUTHORITY["EPSG","102337"]] -102338,PROJCS["NAD_1983_HARN_StatePlane_Texas_North_Central_FIPS_4202",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",2000000],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",32.13333333333333],PARAMETER["Standard_Parallel_2",33.96666666666667],PARAMETER["Latitude_Of_Origin",31.66666666666667],UNIT["Meter",1],AUTHORITY["EPSG","102338"]] -102339,PROJCS["NAD_1983_HARN_StatePlane_Texas_Central_FIPS_4203",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",700000],PARAMETER["False_Northing",3000000],PARAMETER["Central_Meridian",-100.3333333333333],PARAMETER["Standard_Parallel_1",30.11666666666667],PARAMETER["Standard_Parallel_2",31.88333333333333],PARAMETER["Latitude_Of_Origin",29.66666666666667],UNIT["Meter",1],AUTHORITY["EPSG","102339"]] -102340,PROJCS["NAD_1983_HARN_StatePlane_Texas_South_Central_FIPS_4204",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",4000000],PARAMETER["Central_Meridian",-99],PARAMETER["Standard_Parallel_1",28.38333333333333],PARAMETER["Standard_Parallel_2",30.28333333333334],PARAMETER["Latitude_Of_Origin",27.83333333333333],UNIT["Meter",1],AUTHORITY["EPSG","102340"]] -102341,PROJCS["NAD_1983_HARN_StatePlane_Texas_South_FIPS_4205",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",300000],PARAMETER["False_Northing",5000000],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",26.16666666666667],PARAMETER["Standard_Parallel_2",27.83333333333333],PARAMETER["Latitude_Of_Origin",25.66666666666667],UNIT["Meter",1],AUTHORITY["EPSG","102341"]] -102342,PROJCS["NAD_1983_HARN_StatePlane_Utah_North_FIPS_4301",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",1000000],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",40.71666666666667],PARAMETER["Standard_Parallel_2",41.78333333333333],PARAMETER["Latitude_Of_Origin",40.33333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102342"]] -102343,PROJCS["NAD_1983_HARN_StatePlane_Utah_Central_FIPS_4302",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",2000000],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",39.01666666666667],PARAMETER["Standard_Parallel_2",40.65],PARAMETER["Latitude_Of_Origin",38.33333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102343"]] -102344,PROJCS["NAD_1983_HARN_StatePlane_Utah_South_FIPS_4303",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",3000000],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",37.21666666666667],PARAMETER["Standard_Parallel_2",38.35],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102344"]] -102345,PROJCS["NAD_1983_HARN_StatePlane_Vermont_FIPS_4400",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-72.5],PARAMETER["Scale_Factor",0.9999642857142858],PARAMETER["Latitude_Of_Origin",42.5],UNIT["Meter",1],AUTHORITY["EPSG","102345"]] -102346,PROJCS["NAD_1983_HARN_StatePlane_Virginia_North_FIPS_4501",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",3500000],PARAMETER["False_Northing",2000000],PARAMETER["Central_Meridian",-78.5],PARAMETER["Standard_Parallel_1",38.03333333333333],PARAMETER["Standard_Parallel_2",39.2],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102346"]] -102347,PROJCS["NAD_1983_HARN_StatePlane_Virginia_South_FIPS_4502",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",3500000],PARAMETER["False_Northing",1000000],PARAMETER["Central_Meridian",-78.5],PARAMETER["Standard_Parallel_1",36.76666666666667],PARAMETER["Standard_Parallel_2",37.96666666666667],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102347"]] -102348,PROJCS["NAD_1983_HARN_StatePlane_Washington_North_FIPS_4601",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.8333333333333],PARAMETER["Standard_Parallel_1",47.5],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47],UNIT["Meter",1],AUTHORITY["EPSG","102348"]] -102349,PROJCS["NAD_1983_HARN_StatePlane_Washington_South_FIPS_4602",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",45.83333333333334],PARAMETER["Standard_Parallel_2",47.33333333333334],PARAMETER["Latitude_Of_Origin",45.33333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102349"]] -102350,PROJCS["NAD_1983_HARN_StatePlane_West_Virginia_North_FIPS_4701",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-79.5],PARAMETER["Standard_Parallel_1",39],PARAMETER["Standard_Parallel_2",40.25],PARAMETER["Latitude_Of_Origin",38.5],UNIT["Meter",1],AUTHORITY["EPSG","102350"]] -102351,PROJCS["NAD_1983_HARN_StatePlane_West_Virginia_South_FIPS_4702",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Standard_Parallel_1",37.48333333333333],PARAMETER["Standard_Parallel_2",38.88333333333333],PARAMETER["Latitude_Of_Origin",37],UNIT["Meter",1],AUTHORITY["EPSG","102351"]] -102352,PROJCS["NAD_1983_HARN_StatePlane_Wisconsin_North_FIPS_4801",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",45.56666666666667],PARAMETER["Standard_Parallel_2",46.76666666666667],PARAMETER["Latitude_Of_Origin",45.16666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102352"]] -102353,PROJCS["NAD_1983_HARN_StatePlane_Wisconsin_Central_FIPS_4802",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",44.25],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",43.83333333333334],UNIT["Meter",1],AUTHORITY["EPSG","102353"]] -102354,PROJCS["NAD_1983_HARN_StatePlane_Wisconsin_South_FIPS_4803",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",42.73333333333333],PARAMETER["Standard_Parallel_2",44.06666666666667],PARAMETER["Latitude_Of_Origin",42],UNIT["Meter",1],AUTHORITY["EPSG","102354"]] -102355,PROJCS["NAD_1983_HARN_StatePlane_Wyoming_East_FIPS_4901",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-105.1666666666667],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Meter",1],AUTHORITY["EPSG","102355"]] -102356,PROJCS["NAD_1983_HARN_StatePlane_Wyoming_East_Central_FIPS_4902",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",100000],PARAMETER["Central_Meridian",-107.3333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Meter",1],AUTHORITY["EPSG","102356"]] -102357,PROJCS["NAD_1983_HARN_StatePlane_Wyoming_West_Central_FIPS_4903",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-108.75],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Meter",1],AUTHORITY["EPSG","102357"]] -102358,PROJCS["NAD_1983_HARN_StatePlane_Wyoming_West_FIPS_4904",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",800000],PARAMETER["False_Northing",100000],PARAMETER["Central_Meridian",-110.0833333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Meter",1],AUTHORITY["EPSG","102358"]] -102361,PROJCS["NAD_1983_HARN_StatePlane_Puerto_Rico_Virgin_Islands_FIPS_5200",GEOGCS["GCS_North_American_1983_HARN",DATUM["NAD83_High_Accuracy_Regional_Network",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",200000],PARAMETER["False_Northing",200000],PARAMETER["Central_Meridian",-66.43333333333334],PARAMETER["Standard_Parallel_1",18.03333333333334],PARAMETER["Standard_Parallel_2",18.43333333333333],PARAMETER["Latitude_Of_Origin",17.83333333333333],UNIT["Meter",1],AUTHORITY["EPSG","102361"]] -102491,PROJCS["Nord_Algerie_Ancienne_Degree",GEOGCS["GCS_Voirol_1875_Degree",DATUM["Voirol_1875",SPHEROID["Clarke_1880_IGN",6378249.2,293.46602]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",300000],PARAMETER["Central_Meridian",2.7],PARAMETER["Standard_Parallel_1",36],PARAMETER["Scale_Factor",0.999625544],PARAMETER["Latitude_Of_Origin",36],UNIT["Meter",1],AUTHORITY["EPSG","102491"]] -102492,PROJCS["Sud_Algerie_Ancienne_Degree",GEOGCS["GCS_Voirol_1875_Degree",DATUM["Voirol_1875",SPHEROID["Clarke_1880_IGN",6378249.2,293.46602]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",300000],PARAMETER["Central_Meridian",2.7],PARAMETER["Standard_Parallel_1",33.3],PARAMETER["Scale_Factor",0.999625769],PARAMETER["Latitude_Of_Origin",33.3],UNIT["Meter",1],AUTHORITY["EPSG","102492"]] -102581,PROJCS["NTF_France_I_degrees",GEOGCS["GCS_NTF",DATUM["Nouvelle_Triangulation_Francaise",SPHEROID["Clarke_1880_IGN",6378249.2,293.46602]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",1200000],PARAMETER["Central_Meridian",2.337229166666667],PARAMETER["Standard_Parallel_1",49.5],PARAMETER["Scale_Factor",0.999877341],PARAMETER["Latitude_Of_Origin",49.5],UNIT["Meter",1],AUTHORITY["EPSG","102581"]] -102582,PROJCS["NTF_France_II_degrees",GEOGCS["GCS_NTF",DATUM["Nouvelle_Triangulation_Francaise",SPHEROID["Clarke_1880_IGN",6378249.2,293.46602]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",2200000],PARAMETER["Central_Meridian",2.337229166666667],PARAMETER["Standard_Parallel_1",46.8],PARAMETER["Scale_Factor",0.99987742],PARAMETER["Latitude_Of_Origin",46.8],UNIT["Meter",1],AUTHORITY["EPSG","102582"]] -102583,PROJCS["NTF_France_III_degrees",GEOGCS["GCS_NTF",DATUM["Nouvelle_Triangulation_Francaise",SPHEROID["Clarke_1880_IGN",6378249.2,293.46602]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",600000],PARAMETER["False_Northing",3200000],PARAMETER["Central_Meridian",2.337229166666667],PARAMETER["Standard_Parallel_1",44.1],PARAMETER["Scale_Factor",0.999877499],PARAMETER["Latitude_Of_Origin",44.1],UNIT["Meter",1],AUTHORITY["EPSG","102583"]] -102584,PROJCS["NTF_France_IV_degrees",GEOGCS["GCS_NTF",DATUM["Nouvelle_Triangulation_Francaise",SPHEROID["Clarke_1880_IGN",6378249.2,293.46602]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",234.358],PARAMETER["False_Northing",4185861.369],PARAMETER["Central_Meridian",2.337229166666667],PARAMETER["Standard_Parallel_1",42.165],PARAMETER["Scale_Factor",0.99994471],PARAMETER["Latitude_Of_Origin",42.165],UNIT["Meter",1],AUTHORITY["EPSG","102584"]] -102591,PROJCS["Nord_Algerie_Degree",GEOGCS["GCS_Voirol_Unifie_1960_Degree",DATUM["Voirol_Unifie_1960",SPHEROID["Clarke_1880_RGS",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",500135],PARAMETER["False_Northing",300090],PARAMETER["Central_Meridian",2.7],PARAMETER["Standard_Parallel_1",36],PARAMETER["Scale_Factor",0.999625544],PARAMETER["Latitude_Of_Origin",36],UNIT["Meter",1],AUTHORITY["EPSG","102591"]] -102592,PROJCS["Sud_Algerie_Degree",GEOGCS["GCS_Voirol_Unifie_1960_Degree",DATUM["Voirol_Unifie_1960",SPHEROID["Clarke_1880_RGS",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",500135],PARAMETER["False_Northing",300090],PARAMETER["Central_Meridian",2.7],PARAMETER["Standard_Parallel_1",33.3],PARAMETER["Scale_Factor",0.999625769],PARAMETER["Latitude_Of_Origin",33.3],UNIT["Meter",1],AUTHORITY["EPSG","102592"]] -102629,PROJCS["NAD_1983_StatePlane_Alabama_East_FIPS_0101_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-85.83333333333333],PARAMETER["Scale_Factor",0.99996],PARAMETER["Latitude_Of_Origin",30.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102629"]] -102630,PROJCS["NAD_1983_StatePlane_Alabama_West_FIPS_0102_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-87.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",30],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102630"]] -102631,PROJCS["NAD_1983_StatePlane_Alaska_1_FIPS_5001_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Hotine_Oblique_Mercator"],PARAMETER["False_Easting",16404166.66666666],PARAMETER["False_Northing",-16404166.66666666],PARAMETER["Scale_Factor",0.9999],PARAMETER["Azimuth",-36.86989764583333],PARAMETER["Longitude_Of_Center",-133.6666666666667],PARAMETER["Latitude_Of_Center",57],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102631"]] -102632,PROJCS["NAD_1983_StatePlane_Alaska_2_FIPS_5002_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-142],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102632"]] -102633,PROJCS["NAD_1983_StatePlane_Alaska_3_FIPS_5003_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-146],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102633"]] -102634,PROJCS["NAD_1983_StatePlane_Alaska_4_FIPS_5004_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-150],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102634"]] -102635,PROJCS["NAD_1983_StatePlane_Alaska_5_FIPS_5005_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-154],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102635"]] -102636,PROJCS["NAD_1983_StatePlane_Alaska_6_FIPS_5006_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-158],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102636"]] -102637,PROJCS["NAD_1983_StatePlane_Alaska_7_FIPS_5007_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-162],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102637"]] -102638,PROJCS["NAD_1983_StatePlane_Alaska_8_FIPS_5008_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-166],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102638"]] -102639,PROJCS["NAD_1983_StatePlane_Alaska_9_FIPS_5009_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-170],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",54],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102639"]] -102640,PROJCS["NAD_1983_StatePlane_Alaska_10_FIPS_5010_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",3280833.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-176],PARAMETER["Standard_Parallel_1",51.83333333333334],PARAMETER["Standard_Parallel_2",53.83333333333334],PARAMETER["Latitude_Of_Origin",51],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102640"]] -102641,PROJCS["NAD_1983_StatePlane_California_I_FIPS_0401_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-122],PARAMETER["Standard_Parallel_1",40],PARAMETER["Standard_Parallel_2",41.66666666666666],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102641"]] -102642,PROJCS["NAD_1983_StatePlane_California_II_FIPS_0402_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-122],PARAMETER["Standard_Parallel_1",38.33333333333334],PARAMETER["Standard_Parallel_2",39.83333333333334],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102642"]] -102643,PROJCS["NAD_1983_StatePlane_California_III_FIPS_0403_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",37.06666666666667],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102643"]] -102644,PROJCS["NAD_1983_StatePlane_California_IV_FIPS_0404_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-119],PARAMETER["Standard_Parallel_1",36],PARAMETER["Standard_Parallel_2",37.25],PARAMETER["Latitude_Of_Origin",35.33333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102644"]] -102645,PROJCS["NAD_1983_StatePlane_California_V_FIPS_0405_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-118],PARAMETER["Standard_Parallel_1",34.03333333333333],PARAMETER["Standard_Parallel_2",35.46666666666667],PARAMETER["Latitude_Of_Origin",33.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102645"]] -102646,PROJCS["NAD_1983_StatePlane_California_VI_FIPS_0406_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-116.25],PARAMETER["Standard_Parallel_1",32.78333333333333],PARAMETER["Standard_Parallel_2",33.88333333333333],PARAMETER["Latitude_Of_Origin",32.16666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102646"]] -102648,PROJCS["NAD_1983_StatePlane_Arizona_East_FIPS_0201_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",699998.5999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-110.1666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102648"]] -102649,PROJCS["NAD_1983_StatePlane_Arizona_Central_FIPS_0202_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",699998.5999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-111.9166666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102649"]] -102650,PROJCS["NAD_1983_StatePlane_Arizona_West_FIPS_0203_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",699998.5999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-113.75],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102650"]] -102651,PROJCS["NAD_1983_StatePlane_Arkansas_North_FIPS_0301_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92],PARAMETER["Standard_Parallel_1",34.93333333333333],PARAMETER["Standard_Parallel_2",36.23333333333333],PARAMETER["Latitude_Of_Origin",34.33333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102651"]] -102652,PROJCS["NAD_1983_StatePlane_Arkansas_South_FIPS_0302_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",1312333.333333333],PARAMETER["Central_Meridian",-92],PARAMETER["Standard_Parallel_1",33.3],PARAMETER["Standard_Parallel_2",34.76666666666667],PARAMETER["Latitude_Of_Origin",32.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102652"]] -102653,PROJCS["NAD_1983_StatePlane_Colorado_North_FIPS_0501_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",3000000.000316083],PARAMETER["False_Northing",999999.999996],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",39.71666666666667],PARAMETER["Standard_Parallel_2",40.78333333333333],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102653"]] -102654,PROJCS["NAD_1983_StatePlane_Colorado_Central_FIPS_0502_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",3000000.000316083],PARAMETER["False_Northing",999999.999996],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",38.45],PARAMETER["Standard_Parallel_2",39.75],PARAMETER["Latitude_Of_Origin",37.83333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102654"]] -102655,PROJCS["NAD_1983_StatePlane_Colorado_South_FIPS_0503_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",3000000.000316083],PARAMETER["False_Northing",999999.999996],PARAMETER["Central_Meridian",-105.5],PARAMETER["Standard_Parallel_1",37.23333333333333],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102655"]] -102656,PROJCS["NAD_1983_StatePlane_Connecticut_FIPS_0600_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",999999.999996],PARAMETER["False_Northing",499999.999998],PARAMETER["Central_Meridian",-72.75],PARAMETER["Standard_Parallel_1",41.2],PARAMETER["Standard_Parallel_2",41.86666666666667],PARAMETER["Latitude_Of_Origin",40.83333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102656"]] -102657,PROJCS["NAD_1983_StatePlane_Delaware_FIPS_0700_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-75.41666666666667],PARAMETER["Scale_Factor",0.999995],PARAMETER["Latitude_Of_Origin",38],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102657"]] -102658,PROJCS["NAD_1983_StatePlane_Florida_East_FIPS_0901_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",24.33333333333333],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102658"]] -102659,PROJCS["NAD_1983_StatePlane_Florida_West_FIPS_0902_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",24.33333333333333],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102659"]] -102660,PROJCS["NAD_1983_StatePlane_Florida_North_FIPS_0903_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.5],PARAMETER["Standard_Parallel_1",29.58333333333333],PARAMETER["Standard_Parallel_2",30.75],PARAMETER["Latitude_Of_Origin",29],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102660"]] -102661,PROJCS["NAD_1983_StatePlane_Hawaii_1_FIPS_5101_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-155.5],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",18.83333333333333],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102661"]] -102662,PROJCS["NAD_1983_StatePlane_Hawaii_2_FIPS_5102_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-156.6666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",20.33333333333333],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102662"]] -102663,PROJCS["NAD_1983_StatePlane_Hawaii_3_FIPS_5103_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-158],PARAMETER["Scale_Factor",0.9999900000000001],PARAMETER["Latitude_Of_Origin",21.16666666666667],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102663"]] -102664,PROJCS["NAD_1983_StatePlane_Hawaii_4_FIPS_5104_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-159.5],PARAMETER["Scale_Factor",0.9999900000000001],PARAMETER["Latitude_Of_Origin",21.83333333333333],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102664"]] -102665,PROJCS["NAD_1983_StatePlane_Hawaii_5_FIPS_5105_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-160.1666666666667],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",21.66666666666667],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102665"]] -102666,PROJCS["NAD_1983_StatePlane_Georgia_East_FIPS_1001_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.16666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",30],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102666"]] -102667,PROJCS["NAD_1983_StatePlane_Georgia_West_FIPS_1002_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2296583.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.16666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",30],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102667"]] -102668,PROJCS["NAD_1983_StatePlane_Idaho_East_FIPS_1101_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-112.1666666666667],PARAMETER["Scale_Factor",0.9999473684210526],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102668"]] -102669,PROJCS["NAD_1983_StatePlane_Idaho_Central_FIPS_1102_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-114],PARAMETER["Scale_Factor",0.9999473684210526],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102669"]] -102670,PROJCS["NAD_1983_StatePlane_Idaho_West_FIPS_1103_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-115.75],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102670"]] -102671,PROJCS["NAD_1983_StatePlane_Illinois_East_FIPS_1201_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",984249.9999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-88.33333333333333],PARAMETER["Scale_Factor",0.999975],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102671"]] -102672,PROJCS["NAD_1983_StatePlane_Illinois_West_FIPS_1202_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2296583.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.16666666666667],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102672"]] -102673,PROJCS["NAD_1983_StatePlane_Indiana_East_FIPS_1301_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",328083.3333333333],PARAMETER["False_Northing",820208.3333333333],PARAMETER["Central_Meridian",-85.66666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102673"]] -102674,PROJCS["NAD_1983_StatePlane_Indiana_West_FIPS_1302_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2952750],PARAMETER["False_Northing",820208.3333333333],PARAMETER["Central_Meridian",-87.08333333333333],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102674"]] -102675,PROJCS["NAD_1983_StatePlane_Iowa_North_FIPS_1401_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",4921249.999999999],PARAMETER["False_Northing",3280833.333333333],PARAMETER["Central_Meridian",-93.5],PARAMETER["Standard_Parallel_1",42.06666666666667],PARAMETER["Standard_Parallel_2",43.26666666666667],PARAMETER["Latitude_Of_Origin",41.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102675"]] -102676,PROJCS["NAD_1983_StatePlane_Iowa_South_FIPS_1402_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-93.5],PARAMETER["Standard_Parallel_1",40.61666666666667],PARAMETER["Standard_Parallel_2",41.78333333333333],PARAMETER["Latitude_Of_Origin",40],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102676"]] -102677,PROJCS["NAD_1983_StatePlane_Kansas_North_FIPS_1501_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",38.71666666666667],PARAMETER["Standard_Parallel_2",39.78333333333333],PARAMETER["Latitude_Of_Origin",38.33333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102677"]] -102678,PROJCS["NAD_1983_StatePlane_Kansas_South_FIPS_1502_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",1312333.333333333],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",37.26666666666667],PARAMETER["Standard_Parallel_2",38.56666666666667],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102678"]] -102679,PROJCS["NAD_1983_StatePlane_Kentucky_North_FIPS_1601_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.25],PARAMETER["Standard_Parallel_1",37.96666666666667],PARAMETER["Standard_Parallel_2",38.96666666666667],PARAMETER["Latitude_Of_Origin",37.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102679"]] -102680,PROJCS["NAD_1983_StatePlane_Kentucky_South_FIPS_1602_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-85.75],PARAMETER["Standard_Parallel_1",36.73333333333333],PARAMETER["Standard_Parallel_2",37.93333333333333],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102680"]] -102681,PROJCS["NAD_1983_StatePlane_Louisiana_North_FIPS_1701_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",3280833.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92.5],PARAMETER["Standard_Parallel_1",31.16666666666667],PARAMETER["Standard_Parallel_2",32.66666666666666],PARAMETER["Latitude_Of_Origin",30.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102681"]] -102682,PROJCS["NAD_1983_StatePlane_Louisiana_South_FIPS_1702_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",3280833.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-91.33333333333333],PARAMETER["Standard_Parallel_1",29.3],PARAMETER["Standard_Parallel_2",30.7],PARAMETER["Latitude_Of_Origin",28.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102682"]] -102683,PROJCS["NAD_1983_StatePlane_Maine_East_FIPS_1801_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",984249.9999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-68.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",43.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102683"]] -102684,PROJCS["NAD_1983_StatePlane_Maine_West_FIPS_1802_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2952750],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-70.16666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",42.83333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102684"]] -102685,PROJCS["NAD_1983_StatePlane_Maryland_FIPS_1900_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-77],PARAMETER["Standard_Parallel_1",38.3],PARAMETER["Standard_Parallel_2",39.45],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102685"]] -102686,PROJCS["NAD_1983_StatePlane_Massachusetts_Mainland_FIPS_2001_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",2460625],PARAMETER["Central_Meridian",-71.5],PARAMETER["Standard_Parallel_1",41.71666666666667],PARAMETER["Standard_Parallel_2",42.68333333333333],PARAMETER["Latitude_Of_Origin",41],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102686"]] -102687,PROJCS["NAD_1983_StatePlane_Massachusetts_Island_FIPS_2002_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-70.5],PARAMETER["Standard_Parallel_1",41.28333333333333],PARAMETER["Standard_Parallel_2",41.48333333333333],PARAMETER["Latitude_Of_Origin",41],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102687"]] -102688,PROJCS["NAD_1983_StatePlane_Michigan_North_FIPS_2111_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",26246666.66666666],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-87],PARAMETER["Standard_Parallel_1",45.48333333333333],PARAMETER["Standard_Parallel_2",47.08333333333334],PARAMETER["Latitude_Of_Origin",44.78333333333333],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102688"]] -102689,PROJCS["NAD_1983_StatePlane_Michigan_Central_FIPS_2112_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",19685000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.36666666666666],PARAMETER["Standard_Parallel_1",44.18333333333333],PARAMETER["Standard_Parallel_2",45.7],PARAMETER["Latitude_Of_Origin",43.31666666666667],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102689"]] -102690,PROJCS["NAD_1983_StatePlane_Michigan_South_FIPS_2113_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",13123333.33333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-84.36666666666666],PARAMETER["Standard_Parallel_1",42.1],PARAMETER["Standard_Parallel_2",43.66666666666666],PARAMETER["Latitude_Of_Origin",41.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102690"]] -102691,PROJCS["NAD_1983_StatePlane_Minnesota_North_FIPS_2201_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",328083.3333333333],PARAMETER["Central_Meridian",-93.09999999999999],PARAMETER["Standard_Parallel_1",47.03333333333333],PARAMETER["Standard_Parallel_2",48.63333333333333],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102691"]] -102692,PROJCS["NAD_1983_StatePlane_Minnesota_Central_FIPS_2202_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",328083.3333333333],PARAMETER["Central_Meridian",-94.25],PARAMETER["Standard_Parallel_1",45.61666666666667],PARAMETER["Standard_Parallel_2",47.05],PARAMETER["Latitude_Of_Origin",45],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102692"]] -102693,PROJCS["NAD_1983_StatePlane_Minnesota_South_FIPS_2203_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",328083.3333333333],PARAMETER["Central_Meridian",-94],PARAMETER["Standard_Parallel_1",43.78333333333333],PARAMETER["Standard_Parallel_2",45.21666666666667],PARAMETER["Latitude_Of_Origin",43],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102693"]] -102694,PROJCS["NAD_1983_StatePlane_Mississippi_East_FIPS_2301_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",984249.9999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-88.83333333333333],PARAMETER["Scale_Factor",0.99995],PARAMETER["Latitude_Of_Origin",29.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102694"]] -102695,PROJCS["NAD_1983_StatePlane_Mississippi_West_FIPS_2302_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2296583.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.33333333333333],PARAMETER["Scale_Factor",0.99995],PARAMETER["Latitude_Of_Origin",29.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102695"]] -102696,PROJCS["NAD_1983_StatePlane_Missouri_East_FIPS_2401_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",820208.3333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",35.83333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102696"]] -102697,PROJCS["NAD_1983_StatePlane_Missouri_Central_FIPS_2402_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-92.5],PARAMETER["Scale_Factor",0.9999333333333333],PARAMETER["Latitude_Of_Origin",35.83333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102697"]] -102698,PROJCS["NAD_1983_StatePlane_Missouri_West_FIPS_2403_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2788708.333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-94.5],PARAMETER["Scale_Factor",0.9999411764705882],PARAMETER["Latitude_Of_Origin",36.16666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102698"]] -102700,PROJCS["NAD_1983_StatePlane_Montana_FIPS_2500_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-109.5],PARAMETER["Standard_Parallel_1",45],PARAMETER["Standard_Parallel_2",49],PARAMETER["Latitude_Of_Origin",44.25],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102700"]] -102704,PROJCS["NAD_1983_StatePlane_Nebraska_FIPS_2600_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100],PARAMETER["Standard_Parallel_1",40],PARAMETER["Standard_Parallel_2",43],PARAMETER["Latitude_Of_Origin",39.83333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102704"]] -102707,PROJCS["NAD_1983_StatePlane_Nevada_East_FIPS_2701_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",26246666.66666666],PARAMETER["Central_Meridian",-115.5833333333333],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102707"]] -102708,PROJCS["NAD_1983_StatePlane_Nevada_Central_FIPS_2702_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",19685000],PARAMETER["Central_Meridian",-116.6666666666667],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102708"]] -102709,PROJCS["NAD_1983_StatePlane_Nevada_West_FIPS_2703_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",13123333.33333333],PARAMETER["Central_Meridian",-118.5833333333333],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",34.75],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102709"]] -102710,PROJCS["NAD_1983_StatePlane_New_Hampshire_FIPS_2800_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",984249.9999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-71.66666666666667],PARAMETER["Scale_Factor",0.9999666666666667],PARAMETER["Latitude_Of_Origin",42.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102710"]] -102711,PROJCS["NAD_1983_StatePlane_New_Jersey_FIPS_2900_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",492124.9999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",38.83333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102711"]] -102712,PROJCS["NAD_1983_StatePlane_New_Mexico_East_FIPS_3001_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",541337.4999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-104.3333333333333],PARAMETER["Scale_Factor",0.9999090909090909],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102712"]] -102713,PROJCS["NAD_1983_StatePlane_New_Mexico_Central_FIPS_3002_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-106.25],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102713"]] -102714,PROJCS["NAD_1983_StatePlane_New_Mexico_West_FIPS_3003_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2723091.666666666],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-107.8333333333333],PARAMETER["Scale_Factor",0.9999166666666667],PARAMETER["Latitude_Of_Origin",31],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102714"]] -102715,PROJCS["NAD_1983_StatePlane_New_York_East_FIPS_3101_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",492124.9999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Latitude_Of_Origin",38.83333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102715"]] -102716,PROJCS["NAD_1983_StatePlane_New_York_Central_FIPS_3102_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",820208.3333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-76.58333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102716"]] -102717,PROJCS["NAD_1983_StatePlane_New_York_West_FIPS_3103_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1148291.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-78.58333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102717"]] -102718,PROJCS["NAD_1983_StatePlane_New_York_Long_Island_FIPS_3104_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",984249.9999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-74],PARAMETER["Standard_Parallel_1",40.66666666666666],PARAMETER["Standard_Parallel_2",41.03333333333333],PARAMETER["Latitude_Of_Origin",40.16666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102718"]] -102719,PROJCS["NAD_1983_StatePlane_North_Carolina_FIPS_3200_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",2000000.002616666],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-79],PARAMETER["Standard_Parallel_1",34.33333333333334],PARAMETER["Standard_Parallel_2",36.16666666666666],PARAMETER["Latitude_Of_Origin",33.75],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102719"]] -102720,PROJCS["NAD_1983_StatePlane_North_Dakota_North_FIPS_3301_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",47.43333333333333],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102720"]] -102721,PROJCS["NAD_1983_StatePlane_North_Dakota_South_FIPS_3302_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.5],PARAMETER["Standard_Parallel_1",46.18333333333333],PARAMETER["Standard_Parallel_2",47.48333333333333],PARAMETER["Latitude_Of_Origin",45.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102721"]] -102722,PROJCS["NAD_1983_StatePlane_Ohio_North_FIPS_3401_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.5],PARAMETER["Standard_Parallel_1",40.43333333333333],PARAMETER["Standard_Parallel_2",41.7],PARAMETER["Latitude_Of_Origin",39.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102722"]] -102723,PROJCS["NAD_1983_StatePlane_Ohio_South_FIPS_3402_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-82.5],PARAMETER["Standard_Parallel_1",38.73333333333333],PARAMETER["Standard_Parallel_2",40.03333333333333],PARAMETER["Latitude_Of_Origin",38],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102723"]] -102724,PROJCS["NAD_1983_StatePlane_Oklahoma_North_FIPS_3501_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",35.56666666666667],PARAMETER["Standard_Parallel_2",36.76666666666667],PARAMETER["Latitude_Of_Origin",35],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102724"]] -102725,PROJCS["NAD_1983_StatePlane_Oklahoma_South_FIPS_3502_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-98],PARAMETER["Standard_Parallel_1",33.93333333333333],PARAMETER["Standard_Parallel_2",35.23333333333333],PARAMETER["Latitude_Of_Origin",33.33333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102725"]] -102726,PROJCS["NAD_1983_StatePlane_Oregon_North_FIPS_3601_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",8202083.333333332],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",44.33333333333334],PARAMETER["Standard_Parallel_2",46],PARAMETER["Latitude_Of_Origin",43.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102726"]] -102727,PROJCS["NAD_1983_StatePlane_Oregon_South_FIPS_3602_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",4921249.999999999],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",42.33333333333334],PARAMETER["Standard_Parallel_2",44],PARAMETER["Latitude_Of_Origin",41.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102727"]] -102728,PROJCS["NAD_1983_StatePlane_Pennsylvania_North_FIPS_3701_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-77.75],PARAMETER["Standard_Parallel_1",40.88333333333333],PARAMETER["Standard_Parallel_2",41.95],PARAMETER["Latitude_Of_Origin",40.16666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102728"]] -102729,PROJCS["NAD_1983_StatePlane_Pennsylvania_South_FIPS_3702_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-77.75],PARAMETER["Standard_Parallel_1",39.93333333333333],PARAMETER["Standard_Parallel_2",40.96666666666667],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102729"]] -102730,PROJCS["NAD_1983_StatePlane_Rhode_Island_FIPS_3800_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",328083.3333333333],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-71.5],PARAMETER["Scale_Factor",0.99999375],PARAMETER["Latitude_Of_Origin",41.08333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102730"]] -102733,PROJCS["NAD_1983_StatePlane_South_Carolina_FIPS_3900_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1999996],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Standard_Parallel_1",32.5],PARAMETER["Standard_Parallel_2",34.83333333333334],PARAMETER["Latitude_Of_Origin",31.83333333333333],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102733"]] -102734,PROJCS["NAD_1983_StatePlane_South_Dakota_North_FIPS_4001_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100],PARAMETER["Standard_Parallel_1",44.41666666666666],PARAMETER["Standard_Parallel_2",45.68333333333333],PARAMETER["Latitude_Of_Origin",43.83333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102734"]] -102735,PROJCS["NAD_1983_StatePlane_South_Dakota_South_FIPS_4002_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-100.3333333333333],PARAMETER["Standard_Parallel_1",42.83333333333334],PARAMETER["Standard_Parallel_2",44.4],PARAMETER["Latitude_Of_Origin",42.33333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102735"]] -102736,PROJCS["NAD_1983_StatePlane_Tennessee_FIPS_4100_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-86],PARAMETER["Standard_Parallel_1",35.25],PARAMETER["Standard_Parallel_2",36.41666666666666],PARAMETER["Latitude_Of_Origin",34.33333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102736"]] -102737,PROJCS["NAD_1983_StatePlane_Texas_North_FIPS_4201_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",3280833.333333333],PARAMETER["Central_Meridian",-101.5],PARAMETER["Standard_Parallel_1",34.65],PARAMETER["Standard_Parallel_2",36.18333333333333],PARAMETER["Latitude_Of_Origin",34],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102737"]] -102738,PROJCS["NAD_1983_StatePlane_Texas_North_Central_FIPS_4202_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",6561666.666666666],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",32.13333333333333],PARAMETER["Standard_Parallel_2",33.96666666666667],PARAMETER["Latitude_Of_Origin",31.66666666666667],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102738"]] -102739,PROJCS["NAD_1983_StatePlane_Texas_Central_FIPS_4203_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",2296583.333333333],PARAMETER["False_Northing",9842499.999999998],PARAMETER["Central_Meridian",-100.3333333333333],PARAMETER["Standard_Parallel_1",30.11666666666667],PARAMETER["Standard_Parallel_2",31.88333333333333],PARAMETER["Latitude_Of_Origin",29.66666666666667],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102739"]] -102740,PROJCS["NAD_1983_StatePlane_Texas_South_Central_FIPS_4204_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",13123333.33333333],PARAMETER["Central_Meridian",-99],PARAMETER["Standard_Parallel_1",28.38333333333333],PARAMETER["Standard_Parallel_2",30.28333333333334],PARAMETER["Latitude_Of_Origin",27.83333333333333],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102740"]] -102741,PROJCS["NAD_1983_StatePlane_Texas_South_FIPS_4205_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",984249.9999999999],PARAMETER["False_Northing",16404166.66666666],PARAMETER["Central_Meridian",-98.5],PARAMETER["Standard_Parallel_1",26.16666666666667],PARAMETER["Standard_Parallel_2",27.83333333333333],PARAMETER["Latitude_Of_Origin",25.66666666666667],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102741"]] -102742,PROJCS["NAD_1983_StatePlane_Utah_North_FIPS_4301_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",3280833.333333333],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",40.71666666666667],PARAMETER["Standard_Parallel_2",41.78333333333333],PARAMETER["Latitude_Of_Origin",40.33333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102742"]] -102743,PROJCS["NAD_1983_StatePlane_Utah_Central_FIPS_4302_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",6561666.666666666],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",39.01666666666667],PARAMETER["Standard_Parallel_2",40.65],PARAMETER["Latitude_Of_Origin",38.33333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102743"]] -102744,PROJCS["NAD_1983_StatePlane_Utah_South_FIPS_4303_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",9842499.999999998],PARAMETER["Central_Meridian",-111.5],PARAMETER["Standard_Parallel_1",37.21666666666667],PARAMETER["Standard_Parallel_2",38.35],PARAMETER["Latitude_Of_Origin",36.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102744"]] -102745,PROJCS["NAD_1983_StatePlane_Vermont_FIPS_4400_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-72.5],PARAMETER["Scale_Factor",0.9999642857142858],PARAMETER["Latitude_Of_Origin",42.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102745"]] -102746,PROJCS["NAD_1983_StatePlane_Virginia_North_FIPS_4501_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",11482916.66666666],PARAMETER["False_Northing",6561666.666666666],PARAMETER["Central_Meridian",-78.5],PARAMETER["Standard_Parallel_1",38.03333333333333],PARAMETER["Standard_Parallel_2",39.2],PARAMETER["Latitude_Of_Origin",37.66666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102746"]] -102747,PROJCS["NAD_1983_StatePlane_Virginia_South_FIPS_4502_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",11482916.66666666],PARAMETER["False_Northing",3280833.333333333],PARAMETER["Central_Meridian",-78.5],PARAMETER["Standard_Parallel_1",36.76666666666667],PARAMETER["Standard_Parallel_2",37.96666666666667],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102747"]] -102748,PROJCS["NAD_1983_StatePlane_Washington_North_FIPS_4601_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.8333333333333],PARAMETER["Standard_Parallel_1",47.5],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102748"]] -102749,PROJCS["NAD_1983_StatePlane_Washington_South_FIPS_4602_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1640416.666666667],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",45.83333333333334],PARAMETER["Standard_Parallel_2",47.33333333333334],PARAMETER["Latitude_Of_Origin",45.33333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102749"]] -102750,PROJCS["NAD_1983_StatePlane_West_Virginia_North_FIPS_4701_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-79.5],PARAMETER["Standard_Parallel_1",39],PARAMETER["Standard_Parallel_2",40.25],PARAMETER["Latitude_Of_Origin",38.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102750"]] -102751,PROJCS["NAD_1983_StatePlane_West_Virginia_South_FIPS_4702_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-81],PARAMETER["Standard_Parallel_1",37.48333333333333],PARAMETER["Standard_Parallel_2",38.88333333333333],PARAMETER["Latitude_Of_Origin",37],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102751"]] -102752,PROJCS["NAD_1983_StatePlane_Wisconsin_North_FIPS_4801_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",45.56666666666667],PARAMETER["Standard_Parallel_2",46.76666666666667],PARAMETER["Latitude_Of_Origin",45.16666666666666],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102752"]] -102753,PROJCS["NAD_1983_StatePlane_Wisconsin_Central_FIPS_4802_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",44.25],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",43.83333333333334],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102753"]] -102754,PROJCS["NAD_1983_StatePlane_Wisconsin_South_FIPS_4803_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-90],PARAMETER["Standard_Parallel_1",42.73333333333333],PARAMETER["Standard_Parallel_2",44.06666666666667],PARAMETER["Latitude_Of_Origin",42],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102754"]] -102755,PROJCS["NAD_1983_StatePlane_Wyoming_East_FIPS_4901_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-105.1666666666667],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102755"]] -102756,PROJCS["NAD_1983_StatePlane_Wyoming_East_Central_FIPS_4902_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1312333.333333333],PARAMETER["False_Northing",328083.3333333333],PARAMETER["Central_Meridian",-107.3333333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102756"]] -102757,PROJCS["NAD_1983_StatePlane_Wyoming_West_Central_FIPS_4903_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-108.75],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102757"]] -102758,PROJCS["NAD_1983_StatePlane_Wyoming_West_FIPS_4904_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",2624666.666666666],PARAMETER["False_Northing",328083.3333333333],PARAMETER["Central_Meridian",-110.0833333333333],PARAMETER["Scale_Factor",0.9999375],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102758"]] -102761,PROJCS["NAD_1983_StatePlane_Puerto_Rico_Virgin_Islands_FIPS_5200_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",656166.6666666665],PARAMETER["False_Northing",656166.6666666665],PARAMETER["Central_Meridian",-66.43333333333334],PARAMETER["Standard_Parallel_1",18.03333333333334],PARAMETER["Standard_Parallel_2",18.43333333333333],PARAMETER["Latitude_Of_Origin",17.83333333333333],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102761"]] -102766,PROJCS["NAD_1983_StatePlane_Guam_FIPS_5400_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Polyconic"],PARAMETER["False_Easting",164041.6666666666],PARAMETER["False_Northing",164041.6666666666],PARAMETER["Central_Meridian",-144.7487507055556],PARAMETER["Latitude_Of_Origin",13.47246635277778],UNIT["Foot_US",0.30480060960121924],AUTHORITY["EPSG","102766"]] -103300,PROJCS["Belge_Lambert_1972",GEOGCS["GCS_Belge_1972",DATUM["Reseau_National_Belge_1972",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",150000.01256],PARAMETER["False_Northing",5400088.4378],PARAMETER["Central_Meridian",4.367486666666666],PARAMETER["Standard_Parallel_1",49.8333339],PARAMETER["Standard_Parallel_2",51.16666733333333],PARAMETER["Latitude_Of_Origin",90],PARAMETER["Azimuth",0.008138472222222222],UNIT["Meter",1],AUTHORITY["EPSG","103300"]] -104000,GEOGCS["GCS_Assumed_Geographic_1",DATUM["North_American_Datum_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","104000"]] -104101,GEOGCS["GCS_Estonia_1937",DATUM["Estonia_1937",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","104101"]] -104102,GEOGCS["GCS_Hermannskogel",DATUM["Hermannskogel",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","104102"]] -104103,GEOGCS["GCS_Sierra_Leone_1960",DATUM["Sierra_Leone_1960",SPHEROID["Clarke_1880_RGS",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","104103"]] -104104,GEOGCS["GCS_Hong_Kong_1980",DATUM["Hong_Kong_1980",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","104104"]] -104105,GEOGCS["GCS_Datum_Lisboa_Bessel",DATUM["Datum_Lisboa_Bessel",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","104105"]] -104106,GEOGCS["GCS_Datum_Lisboa_Hayford",DATUM["Datum_Lisboa_Hayford",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","104106"]] -104107,GEOGCS["GCS_RGF_1993",DATUM["RGF_1993",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","104107"]] -104108,GEOGCS["GCS_NZGD_2000",DATUM["NZGD_2000",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","104108"]] -104261,GEOGCS["GCS_Merchich_Degree",DATUM["Merchich",SPHEROID["Clarke_1880_IGN",6378249.2,293.46602]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","104261"]] -104304,GEOGCS["GCS_Voirol_1875_Degree",DATUM["Voirol_1875",SPHEROID["Clarke_1880_IGN",6378249.2,293.46602]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","104304"]] -104305,GEOGCS["GCS_Voirol_Unifie_1960_Degree",DATUM["Voirol_Unifie_1960",SPHEROID["Clarke_1880_RGS",6378249.145,293.465]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295],AUTHORITY["EPSG","104305"]] - -# 102113 is defined in http://www.spatialreference.org/ref/sr-org/45/ as equivalent to EPSG:3857 -# and is used by the http://137.227.242.85/ArcGIS/services/FWS_Wetlands_WMS/mapserver/wmsserver? WMS server -102113,PROJCS["WGS_1984_Web_Mercator",GEOGCS["GCS_WGS_1984_Major_Auxiliary_Sphere",DATUM["WGS_1984_Major_Auxiliary_Sphere",SPHEROID["WGS_1984_Major_Auxiliary_Sphere",6378137.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_1SP"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["latitude_of_origin",0.0],UNIT["Meter",1.0],EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"],AUTHORITY["EPSG","102113"]] diff --git a/bin/gdal_data/gcs.csv b/bin/gdal_data/gcs.csv deleted file mode 100644 index 4c403b3a..00000000 --- a/bin/gdal_data/gcs.csv +++ /dev/null @@ -1,504 +0,0 @@ -"COORD_REF_SYS_CODE","COORD_REF_SYS_NAME","DATUM_CODE","DATUM_NAME","GREENWICH_DATUM","UOM_CODE","ELLIPSOID_CODE","PRIME_MERIDIAN_CODE","SHOW_CRS","DEPRECATED","COORD_SYS_CODE","COORD_OP_CODE","COORD_OP_CODE_MULTI","COORD_OP_METHOD_CODE","DX","DY","DZ","RX","RY","RZ","DS" -3819,HD1909,1024,Hungarian Datum 1909,1024,9122,7004,8901,1,0,6422,3817,0,9607,595.48,121.69,515.35,-4.115,2.9383,-0.853,-3.408 -3821,TWD67,1025,Taiwan Datum 1967,1025,9122,7050,8901,1,0,6422,,0,,,,,,,, -3824,TWD97,1026,Taiwan Datum 1997,1026,9122,7019,8901,1,0,6422,3830,0,9603,0,0,0,,,, -3889,IGRS,1029,Iraqi Geospatial Reference System,1029,9122,7019,8901,1,0,6422,3894,0,9603,0,0,0,,,, -3906,MGI 1901,1031,MGI 1901,1031,9122,7004,8901,1,0,6422,3962,1,9603,682,-203,480,,,, -4001,Unknown datum based upon the Airy 1830 ellipsoid,6001,"Not specified (based on Airy 1830 ellipsoid)",6001,9122,7001,8901,0,0,6422,,0,,,,,,,, -4002,Unknown datum based upon the Airy Modified 1849 ellipsoid,6002,"Not specified (based on Airy Modified 1849 ellipsoid)",6002,9122,7002,8901,0,0,6422,,0,,,,,,,, -4003,Unknown datum based upon the Australian National Spheroid,6003,"Not specified (based on Australian National Spheroid)",6003,9122,7003,8901,0,0,6422,,0,,,,,,,, -4004,Unknown datum based upon the Bessel 1841 ellipsoid,6004,"Not specified (based on Bessel 1841 ellipsoid)",6004,9122,7004,8901,0,0,6422,,0,,,,,,,, -4005,Unknown datum based upon the Bessel Modified ellipsoid,6005,"Not specified (based on Bessel Modified ellipsoid)",6005,9122,7005,8901,0,0,6422,,0,,,,,,,, -4006,Unknown datum based upon the Bessel Namibia ellipsoid,6006,"Not specified (based on Bessel Namibia ellipsoid)",6006,9122,7046,8901,0,0,6422,,0,,,,,,,, -4007,Unknown datum based upon the Clarke 1858 ellipsoid,6007,"Not specified (based on Clarke 1858 ellipsoid)",6007,9122,7007,8901,0,0,6422,,0,,,,,,,, -4008,Unknown datum based upon the Clarke 1866 ellipsoid,6008,"Not specified (based on Clarke 1866 ellipsoid)",6008,9122,7008,8901,0,0,6422,,0,,,,,,,, -4009,Unknown datum based upon the Clarke 1866 Michigan ellipsoid,6009,"Not specified (based on Clarke 1866 Michigan ellipsoid)",6009,9122,7009,8901,0,1,6422,,0,,,,,,,, -4010,"Unknown datum based upon the Clarke 1880 (Benoit) ellipsoid",6010,"Not specified (based on Clarke 1880 (Benoit) ellipsoid)",6010,9122,7010,8901,0,0,6422,,0,,,,,,,, -4011,"Unknown datum based upon the Clarke 1880 (IGN) ellipsoid",6011,"Not specified (based on Clarke 1880 (IGN) ellipsoid)",6011,9122,7011,8901,0,0,6422,,0,,,,,,,, -4012,"Unknown datum based upon the Clarke 1880 (RGS) ellipsoid",6012,"Not specified (based on Clarke 1880 (RGS) ellipsoid)",6012,9122,7012,8901,0,0,6422,,0,,,,,,,, -4013,"Unknown datum based upon the Clarke 1880 (Arc) ellipsoid",6013,"Not specified (based on Clarke 1880 (Arc) ellipsoid)",6013,9122,7013,8901,0,0,6422,,0,,,,,,,, -4014,"Unknown datum based upon the Clarke 1880 (SGA 1922) ellipsoid",6014,"Not specified (based on Clarke 1880 (SGA 1922) ellipsoid)",6014,9122,7014,8901,0,0,6422,,0,,,,,,,, -4015,"Unknown datum based upon the Everest 1830 (1937 Adjustment) ellipsoid",6015,"Not specified (based on Everest 1830 (1937 Adjustment) ellipsoid)",6015,9122,7015,8901,0,0,6422,,0,,,,,,,, -4016,"Unknown datum based upon the Everest 1830 (1967 Definition) ellipsoid",6016,"Not specified (based on Everest 1830 (1967 Definition) ellipsoid)",6016,9122,7016,8901,0,0,6422,,0,,,,,,,, -4018,Unknown datum based upon the Everest 1830 Modified ellipsoid,6018,"Not specified (based on Everest 1830 Modified ellipsoid)",6018,9122,7018,8901,0,0,6422,,0,,,,,,,, -4019,Unknown datum based upon the GRS 1980 ellipsoid,6019,"Not specified (based on GRS 1980 ellipsoid)",6019,9122,7019,8901,0,0,6422,,0,,,,,,,, -4020,Unknown datum based upon the Helmert 1906 ellipsoid,6020,"Not specified (based on Helmert 1906 ellipsoid)",6020,9122,7020,8901,0,0,6422,,0,,,,,,,, -4021,Unknown datum based upon the Indonesian National Spheroid,6021,"Not specified (based on Indonesian National Spheroid)",6021,9122,7021,8901,0,0,6422,,0,,,,,,,, -4022,Unknown datum based upon the International 1924 ellipsoid,6022,"Not specified (based on International 1924 ellipsoid)",6022,9122,7022,8901,0,0,6422,,0,,,,,,,, -4023,MOLDREF99,1032,MOLDREF99,1032,9122,7019,8901,1,0,6422,5585,0,9603,0,0,0,,,, -4024,Unknown datum based upon the Krassowsky 1940 ellipsoid,6024,"Not specified (based on Krassowsky 1940 ellipsoid)",6024,9122,7024,8901,0,0,6422,,0,,,,,,,, -4025,Unknown datum based upon the NWL 9D ellipsoid,6025,"Not specified (based on NWL 9D ellipsoid)",6025,9122,7025,8901,0,0,6422,,0,,,,,,,, -4027,Unknown datum based upon the Plessis 1817 ellipsoid,6027,"Not specified (based on Plessis 1817 ellipsoid)",6027,9122,7027,8901,0,0,6422,,0,,,,,,,, -4028,Unknown datum based upon the Struve 1860 ellipsoid,6028,"Not specified (based on Struve 1860 ellipsoid)",6028,9122,7028,8901,0,0,6422,,0,,,,,,,, -4029,Unknown datum based upon the War Office ellipsoid,6029,"Not specified (based on War Office ellipsoid)",6029,9122,7029,8901,0,0,6422,,0,,,,,,,, -4030,Unknown datum based upon the WGS 84 ellipsoid,6030,"Not specified (based on WGS 84 ellipsoid)",6030,9122,7030,8901,0,0,6422,,0,,,,,,,, -4031,Unknown datum based upon the GEM 10C ellipsoid,6031,"Not specified (based on GEM 10C ellipsoid)",6031,9122,7031,8901,0,0,6422,,0,,,,,,,, -4032,Unknown datum based upon the OSU86F ellipsoid,6032,"Not specified (based on OSU86F ellipsoid)",6032,9122,7032,8901,0,0,6422,,0,,,,,,,, -4033,Unknown datum based upon the OSU91A ellipsoid,6033,"Not specified (based on OSU91A ellipsoid)",6033,9122,7033,8901,0,0,6422,,0,,,,,,,, -4034,Unknown datum based upon the Clarke 1880 ellipsoid,6034,"Not specified (based on Clarke 1880 ellipsoid)",6034,9122,7034,8901,0,0,6422,,0,,,,,,,, -4035,Unknown datum based upon the Authalic Sphere,6035,"Not specified (based on Authalic Sphere)",6035,9108,7035,8901,0,1,6402,,0,,,,,,,, -4036,Unknown datum based upon the GRS 1967 ellipsoid,6036,"Not specified (based on GRS 1967 ellipsoid)",6036,9122,7036,8901,0,0,6422,,0,,,,,,,, -4041,Unknown datum based upon the Average Terrestrial System 1977 ellipsoid,6041,"Not specified (based on Average Terrestrial System 1977 ellipsoid)",6041,9122,7041,8901,0,0,6422,,0,,,,,,,, -4042,"Unknown datum based upon the Everest (1830 Definition) ellipsoid",6042,"Not specified (based on Everest (1830 Definition) ellipsoid)",6042,9122,7042,8901,0,0,6422,,0,,,,,,,, -4043,Unknown datum based upon the WGS 72 ellipsoid,6043,"Not specified (based on WGS 72 ellipsoid)",6043,9122,7043,8901,0,0,6422,,0,,,,,,,, -4044,"Unknown datum based upon the Everest 1830 (1962 Definition) ellipsoid",6044,"Not specified (based on Everest 1830 (1962 Definition) ellipsoid)",6044,9122,7044,8901,0,0,6422,,0,,,,,,,, -4045,"Unknown datum based upon the Everest 1830 (1975 Definition) ellipsoid",6045,"Not specified (based on Everest 1830 (1975 Definition) ellipsoid)",6045,9122,7045,8901,0,0,6422,,0,,,,,,,, -4046,RGRDC 2005,1033,Reseau Geodesique de la RDC 2005,1033,9122,7019,8901,1,0,6422,4064,0,9603,0,0,0,,,, -4047,Unspecified datum based upon the GRS 1980 Authalic Sphere,6047,"Not specified (based on GRS 1980 Authalic Sphere)",6047,9122,7048,8901,0,0,6422,,0,,,,,,,, -4052,Unspecified datum based upon the Clarke 1866 Authalic Sphere,6052,"Not specified (based on Clarke 1866 Authalic Sphere)",6052,9122,7052,8901,0,0,6422,,0,,,,,,,, -4053,Unspecified datum based upon the International 1924 Authalic Sphere,6053,"Not specified (based on International 1924 Authalic Sphere)",6053,9122,7057,8901,0,0,6422,,0,,,,,,,, -4054,Unspecified datum based upon the Hughes 1980 ellipsoid,6054,"Not specified (based on Hughes 1980 ellipsoid)",6054,9122,7058,8901,0,0,6422,,0,,,,,,,, -4055,Popular Visualisation CRS,6055,Popular Visualisation Datum,6055,9122,7059,8901,1,1,6422,15973,0,9603,0,0,0,,,, -4075,SREF98,1034,Serbian Reference Network 1998,1034,9122,7019,8901,1,0,6422,4077,0,9603,0,0,0,,,, -4081,REGCAN95,1035,Red Geodesica de Canarias 1995,1035,9122,7019,8901,1,0,6422,4084,0,9603,0,0,0,,,, -4120,Greek,6120,Greek,6120,9122,7004,8901,1,0,6422,,0,,,,,,,, -4121,GGRS87,6121,Greek Geodetic Reference System 1987,6121,9122,7019,8901,1,0,6422,1272,0,9603,-199.87,74.79,246.62,,,, -4122,ATS77,6122,Average Terrestrial System 1977,6122,9122,7041,8901,1,0,6422,,0,,,,,,,, -4123,KKJ,6123,"Kartastokoordinaattijarjestelma (1966)",6123,9122,7022,8901,1,0,6422,10099,1,9607,-96.062,-82.428,-121.753,-4.801,-0.345,1.376,1.496 -4124,RT90,6124,Rikets koordinatsystem 1990,6124,9122,7004,8901,1,0,6422,1896,1,9607,414.1,41.3,603.1,0.855,-2.141,7.023,0 -4125,Samboja,6125,Samboja,6125,9108,7004,8901,1,1,6402,1282,0,9603,-404.78,685.68,45.47,,,, -4126,"LKS94 (ETRS89)",6126,"Lithuania 1994 (ETRS89)",6126,9108,7019,8901,1,1,6402,,0,,,,,,,, -4127,Tete,6127,Tete,6127,9122,7008,8901,1,0,6422,6901,1,9603,-80,-100,-228,,,, -4128,Madzansua,6128,Madzansua,6128,9122,7008,8901,1,0,6422,,0,,,,,,,, -4129,Observatario,6129,Observatario,6129,9122,7008,8901,1,0,6422,6900,0,9603,-132,-110,-335,,,, -4130,Moznet,6130,"Moznet (ITRF94)",6130,9122,7030,8901,1,0,6422,1302,0,9607,0,0,0,0,0,0,0 -4131,Indian 1960,6131,Indian 1960,6131,9122,7015,8901,1,0,6422,1542,1,9603,198,881,317,,,, -4132,FD58,6132,Final Datum 1958,6132,9122,7012,8901,1,0,6422,1513,1,9603,-241.54,-163.64,396.06,,,, -4133,EST92,6133,Estonia 1992,6133,9122,7019,8901,1,0,6422,1333,0,9607,0.055,-0.541,-0.185,-0.0183,0.0003,0.007,-0.014 -4134,PSD93,6134,PDO Survey Datum 1993,6134,9122,7012,8901,1,0,6422,1439,1,9606,-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006 -4135,Old Hawaiian,6135,Old Hawaiian,6135,9122,7008,8901,1,0,6422,15824,1,9603,61,-285,-181,,,, -4136,St. Lawrence Island,6136,St. Lawrence Island,6136,9122,7008,8901,1,0,6422,,0,,,,,,,, -4137,St. Paul Island,6137,St. Paul Island,6137,9122,7008,8901,1,0,6422,,0,,,,,,,, -4138,St. George Island,6138,St. George Island,6138,9122,7008,8901,1,0,6422,,0,,,,,,,, -4139,Puerto Rico,6139,Puerto Rico,6139,9122,7008,8901,1,0,6422,1893,0,9603,11,72,-101,,,, -4140,"NAD83(CSRS98)",6140,NAD83 Canadian Spatial Reference System,6140,9108,7019,8901,1,1,6402,1473,0,9603,0,0,0,,,, -4141,Israel 1993,6141,Israel 1993,6141,9122,7019,8901,1,0,6422,1073,0,9603,-48,55,52,,,, -4142,Locodjo 1965,6142,Locodjo 1965,6142,9122,7012,8901,1,0,6422,1469,0,9603,-125,53,467,,,, -4143,Abidjan 1987,6143,Abidjan 1987,6143,9122,7012,8901,1,0,6422,1470,1,9603,-124.76,53,466.79,,,, -4144,Kalianpur 1937,6144,Kalianpur 1937,6144,9122,7015,8901,1,0,6422,1533,1,9603,214,804,268,,,, -4145,Kalianpur 1962,6145,Kalianpur 1962,6145,9122,7044,8901,1,0,6422,1247,1,9603,283,682,231,,,, -4146,Kalianpur 1975,6146,Kalianpur 1975,6146,9122,7045,8901,1,0,6422,1156,0,9603,295,736,257,,,, -4147,Hanoi 1972,6147,Hanoi 1972,6147,9122,7024,8901,1,0,6422,1544,0,9603,-17.51,-108.32,-62.39,,,, -4148,Hartebeesthoek94,6148,Hartebeesthoek94,6148,9122,7030,8901,1,0,6422,1505,0,9603,0,0,0,,,, -4149,CH1903,6149,CH1903,6149,9122,7004,8901,1,0,6422,1510,1,9603,674.374,15.056,405.346,,,, -4150,"CH1903+",6150,"CH1903+",6150,9122,7004,8901,1,0,6422,1676,0,9603,674.374,15.056,405.346,,,, -4151,CHTRF95,6151,Swiss Terrestrial Reference Frame 1995,6151,9122,7019,8901,1,0,6422,1511,0,9603,0,0,0,,,, -4152,"NAD83(HARN)",6152,"NAD83 (High Accuracy Reference Network)",6152,9122,7019,8901,1,0,6422,1580,1,9603,0,0,0,,,, -4153,Rassadiran,6153,Rassadiran,6153,9122,7022,8901,1,0,6422,1512,0,9603,-133.63,-157.5,-158.62,,,, -4154,"ED50(ED77)",6154,"European Datum 1950(1977)",6154,9122,7022,8901,1,0,6422,1141,1,9603,-117,-132,-164,,,, -4155,Dabola 1981,6155,Dabola 1981,6155,9122,7011,8901,1,0,6422,1518,0,9603,-83,37,124,,,, -4156,S-JTSK,6156,System Jednotne Trigonometricke Site Katastralni,6156,9122,7004,8901,1,0,6422,15965,1,9603,589,76,480,,,, -4157,Mount Dillon,6157,Mount Dillon,6157,9122,7007,8901,1,0,6422,,0,,,,,,,, -4158,Naparima 1955,6158,Naparima 1955,6158,9122,7022,8901,1,0,6422,1555,1,9603,-0.465,372.095,171.736,,,, -4159,ELD79,6159,European Libyan Datum 1979,6159,9122,7022,8901,1,0,6422,15909,1,9603,-115.8543,-99.0583,-152.4616,,,, -4160,Chos Malal 1914,6160,Chos Malal 1914,6160,9122,7022,8901,1,0,6422,,0,,,,,,,, -4161,Pampa del Castillo,6161,Pampa del Castillo,6161,9122,7022,8901,1,0,6422,15845,0,9603,27.5,14,186.4,,,, -4162,Korean 1985,6162,Korean Datum 1985,6162,9122,7004,8901,1,0,6422,,0,,,,,,,, -4163,Yemen NGN96,6163,Yemen National Geodetic Network 1996,6163,9122,7030,8901,1,0,6422,1540,0,9603,0,0,0,,,, -4164,South Yemen,6164,South Yemen,6164,9122,7024,8901,1,0,6422,1682,0,9603,-76,-138,67,,,, -4165,Bissau,6165,Bissau,6165,9122,7022,8901,1,0,6422,1547,0,9603,-173,253,27,,,, -4166,Korean 1995,6166,Korean Datum 1995,6166,9122,7030,8901,1,0,6422,1558,0,9603,0,0,0,,,, -4167,NZGD2000,6167,New Zealand Geodetic Datum 2000,6167,9122,7019,8901,1,0,6422,1565,0,9603,0,0,0,,,, -4168,Accra,6168,Accra,6168,9122,7029,8901,1,0,6422,1569,1,9603,-199,32,322,,,, -4169,American Samoa 1962,6169,American Samoa 1962,6169,9122,7008,8901,1,0,6422,1577,0,9603,-115,118,426,,,, -4170,SIRGAS 1995,6170,Sistema de Referencia Geocentrico para America del Sur 1995,6170,9122,7019,8901,1,0,6422,1581,0,9603,0,0,0,,,, -4171,RGF93,6171,Reseau Geodesique Francais 1993,6171,9122,7019,8901,1,0,6422,1671,0,9603,0,0,0,,,, -4172,POSGAR,6172,Posiciones Geodesicas Argentinas,6172,9108,7019,8901,1,1,6402,1598,0,9603,0,0,0,,,, -4173,IRENET95,6173,IRENET95,6173,9122,7019,8901,1,0,6422,1678,0,9603,0,0,0,,,, -4174,Sierra Leone 1924,6174,Sierra Leone Colony 1924,6174,9122,7029,8901,1,0,6422,,0,,,,,,,, -4175,Sierra Leone 1968,6175,Sierra Leone 1968,6175,9122,7012,8901,1,0,6422,1614,0,9603,-88,4,101,,,, -4176,Australian Antarctic,6176,Australian Antarctic Datum 1998,6176,9122,7019,8901,1,0,6422,1890,0,9603,0,0,0,,,, -4178,"Pulkovo 1942(83)",6178,"Pulkovo 1942(83)",6178,9122,7024,8901,1,0,6422,15998,1,9603,26,-121,-78,,,, -4179,"Pulkovo 1942(58)",6179,"Pulkovo 1942(58)",6179,9122,7024,8901,1,0,6422,1645,1,9606,33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 -4180,EST97,6180,Estonia 1997,6180,9122,7019,8901,1,0,6422,1649,0,9603,0,0,0,,,, -4181,Luxembourg 1930,6181,Luxembourg 1930,6181,9122,7022,8901,1,0,6422,5486,1,9607,-189.6806,18.3463,-42.7695,0.33746,3.09264,-2.53861,0.4598 -4182,Azores Occidental 1939,6182,Azores Occidental Islands 1939,6182,9122,7022,8901,1,0,6422,1887,1,9603,-425,-169,81,,,, -4183,Azores Central 1948,6183,Azores Central Islands 1948,6183,9122,7022,8901,1,0,6422,1886,0,9603,-104,167,-38,,,, -4184,Azores Oriental 1940,6184,Azores Oriental Islands 1940,6184,9122,7022,8901,1,0,6422,1885,0,9603,-203,141,53,,,, -4185,Madeira 1936,6185,Madeira 1936,6185,9108,7022,8901,1,1,6402,,0,,,,,,,, -4188,OSNI 1952,6188,OSNI 1952,6188,9122,7001,8901,1,0,6422,1955,0,9606,482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15 -4189,REGVEN,6189,Red Geodesica Venezolana,6189,9122,7019,8901,1,0,6422,1768,0,9603,0,0,0,,,, -4190,POSGAR 98,6190,Posiciones Geodesicas Argentinas 1998,6190,9122,7019,8901,1,0,6422,1773,1,9603,0,0,0,,,, -4191,Albanian 1987,6191,Albanian 1987,6191,9122,7024,8901,1,0,6422,7834,1,9607,-44.183,-0.58,-38.489,-2.3867,-2.7072,3.5196,-8.2703 -4192,Douala 1948,6192,Douala 1948,6192,9122,7022,8901,1,0,6422,15873,0,9603,-206.1,-174.7,-87.7,,,, -4193,Manoca 1962,6193,Manoca 1962,6193,9122,7011,8901,1,0,6422,1796,0,9603,-70.9,-151.8,-41.4,,,, -4194,Qornoq 1927,6194,Qornoq 1927,6194,9122,7022,8901,1,0,6422,1797,1,9603,164,138,-189,,,, -4195,Scoresbysund 1952,6195,Scoresbysund 1952,6195,9122,7022,8901,1,0,6422,1799,0,9606,105,326,-102.5,0,0,0.814,-0.6 -4196,Ammassalik 1958,6196,Ammassalik 1958,6196,9122,7022,8901,1,0,6422,1800,0,9606,-45,417,-3.5,0,0,0.814,-0.6 -4197,Garoua,6197,Garoua,6197,9122,7012,8901,1,0,6422,,0,,,,,,,, -4198,Kousseri,6198,Kousseri,6198,9122,7012,8901,1,0,6422,,0,,,,,,,, -4199,Egypt 1930,6199,Egypt 1930,6199,9122,7022,8901,1,0,6422,,0,,,,,,,, -4200,Pulkovo 1995,6200,Pulkovo 1995,6200,9122,7024,8901,1,0,6422,5043,1,9607,24.47,-130.89,-81.56,0,0,-0.13,-0.22 -4201,Adindan,6201,Adindan,6201,9122,7012,8901,1,0,6422,1100,1,9603,-166,-15,204,,,, -4202,AGD66,6202,Australian Geodetic Datum 1966,6202,9122,7003,8901,1,0,6422,15980,1,9607,-117.808,-51.536,137.784,-0.303,-0.446,-0.234,-0.29 -4203,AGD84,6203,Australian Geodetic Datum 1984,6203,9122,7003,8901,1,0,6422,1109,1,9603,-134,-48,149,,,, -4204,Ain el Abd,6204,Ain el Abd 1970,6204,9122,7022,8901,1,0,6422,1111,1,9603,-143,-236,7,,,, -4205,Afgooye,6205,Afgooye,6205,9122,7024,8901,1,0,6422,1107,0,9603,-43,-163,45,,,, -4206,Agadez,6206,Agadez,6206,9122,7011,8901,1,0,6422,,0,,,,,,,, -4207,Lisbon,6207,Lisbon 1937,6207,9122,7022,8901,1,0,6422,1984,1,9603,-304.046,-60.576,103.64,,,, -4208,Aratu,6208,Aratu,6208,9122,7022,8901,1,0,6422,5067,1,9603,-151.99,287.04,-147.45,,,, -4209,Arc 1950,6209,Arc 1950,6209,9122,7013,8901,1,0,6422,1113,1,9603,-143,-90,-294,,,, -4210,Arc 1960,6210,Arc 1960,6210,9122,7012,8901,1,0,6422,1122,1,9603,-160,-6,-302,,,, -4211,Batavia,6211,Batavia,6211,9122,7004,8901,1,0,6422,1123,1,9603,-377,681,-50,,,, -4212,Barbados 1938,6212,Barbados 1938,6212,9122,7012,8901,1,0,6422,15793,0,9603,31.95,300.99,419.19,,,, -4213,Beduaram,6213,Beduaram,6213,9122,7011,8901,1,0,6422,15849,0,9603,-106,-87,188,,,, -4214,Beijing 1954,6214,Beijing 1954,6214,9122,7024,8901,1,0,6422,15921,1,9603,15.8,-154.4,-82.3,,,, -4215,Belge 1950,6215,Reseau National Belge 1950,6215,9122,7022,8901,1,0,6422,,0,,,,,,,, -4216,Bermuda 1957,6216,Bermuda 1957,6216,9122,7008,8901,1,0,6422,1124,1,9603,-73,213,296,,,, -4218,Bogota 1975,6218,Bogota 1975,6218,9122,7022,8901,1,0,6422,1125,1,9603,307,304,-318,,,, -4219,Bukit Rimpah,6219,Bukit Rimpah,6219,9122,7004,8901,1,0,6422,1126,0,9603,-384,664,-48,,,, -4220,Camacupa,6220,Camacupa,6220,9122,7012,8901,1,0,6422,1327,1,9603,-50.9,-347.6,-231,,,, -4221,Campo Inchauspe,6221,Campo Inchauspe,6221,9122,7022,8901,1,0,6422,1127,1,9603,-148,136,90,,,, -4222,Cape,6222,Cape,6222,9122,7013,8901,1,0,6422,1128,1,9603,-136,-108,-292,,,, -4223,Carthage,6223,Carthage,6223,9122,7011,8901,1,0,6422,1130,1,9603,-263,6,431,,,, -4224,Chua,6224,Chua,6224,9122,7022,8901,1,0,6422,3972,1,9603,-143.87,243.37,-33.52,,,, -4225,Corrego Alegre 1970-72,6225,Corrego Alegre 1970-72,6225,9122,7022,8901,1,0,6422,6192,1,9603,-205.57,168.77,-4.12,,,, -4226,"Cote d'Ivoire",6226,"Cote d'Ivoire",6226,9108,7011,8901,1,1,6402,,0,,,,,,,, -4227,Deir ez Zor,6227,Deir ez Zor,6227,9122,7011,8901,1,0,6422,15742,1,9603,-190.421,8.532,238.69,,,, -4228,Douala,6228,Douala,6228,9108,7011,8901,1,1,6402,,0,,,,,,,, -4229,Egypt 1907,6229,Egypt 1907,6229,9122,7020,8901,1,0,6422,1148,1,9603,-130,110,-13,,,, -4230,ED50,6230,European Datum 1950,6230,9122,7022,8901,1,0,6422,1133,1,9603,-87,-98,-121,,,, -4231,ED87,6231,European Datum 1987,6231,9122,7022,8901,1,0,6422,3905,1,9606,-83.11,-97.38,-117.22,0.005693,-0.044698,0.044285,0.1218 -4232,Fahud,6232,Fahud,6232,9122,7012,8901,1,0,6422,1438,1,9606,-333.102,-11.02,230.69,0,0,0.554,0.219 -4233,Gandajika 1970,6233,Gandajika 1970,6233,9122,7022,8901,1,1,6422,1894,0,9603,-133,-321,50,,,, -4234,Garoua,6234,Garoua,6234,9108,7011,8901,1,1,6402,,0,,,,,,,, -4235,Guyane Francaise,6235,Guyane Francaise,6235,9108,7022,8901,1,1,6402,,0,,,,,,,, -4236,Hu Tzu Shan 1950,6236,Hu Tzu Shan 1950,6236,9122,7022,8901,1,0,6422,1152,0,9603,-637,-549,-203,,,, -4237,HD72,6237,Hungarian Datum 1972,6237,9122,7036,8901,1,0,6422,1242,1,9603,52.17,-71.82,-14.9,,,, -4238,ID74,6238,Indonesian Datum 1974,6238,9122,7021,8901,1,0,6422,1248,1,9603,-24,-15,5,,,, -4239,Indian 1954,6239,Indian 1954,6239,9122,7015,8901,1,0,6422,1153,0,9603,217,823,299,,,, -4240,Indian 1975,6240,Indian 1975,6240,9122,7015,8901,1,0,6422,1304,1,9603,210,814,289,,,, -4241,Jamaica 1875,6241,Jamaica 1875,6241,9122,7034,8901,1,0,6422,,0,,,,,,,, -4242,JAD69,6242,Jamaica 1969,6242,9122,7008,8901,1,0,6422,1084,1,9603,70,207,389.5,,,, -4243,Kalianpur 1880,6243,Kalianpur 1880,6243,9122,7042,8901,1,0,6422,,0,,,,,,,, -4244,Kandawala,6244,Kandawala,6244,9122,7015,8901,1,0,6422,1157,0,9603,-97,787,86,,,, -4245,Kertau 1968,6245,Kertau 1968,6245,9122,7018,8901,1,0,6422,1158,0,9603,-11,851,5,,,, -4246,KOC,6246,Kuwait Oil Company,6246,9122,7012,8901,1,0,6422,1059,0,9603,-294.7,-200.1,525.5,,,, -4247,La Canoa,6247,La Canoa,6247,9122,7022,8901,1,0,6422,1516,0,9603,-273.5,110.6,-357.9,,,, -4248,PSAD56,6248,Provisional South American Datum 1956,6248,9122,7022,8901,1,0,6422,1201,1,9603,-288,175,-376,,,, -4249,Lake,6249,Lake,6249,9122,7022,8901,1,0,6422,,0,,,,,,,, -4250,Leigon,6250,Leigon,6250,9122,7012,8901,1,0,6422,1159,0,9603,-130,29,364,,,, -4251,Liberia 1964,6251,Liberia 1964,6251,9122,7012,8901,1,0,6422,1160,0,9603,-90,40,88,,,, -4252,Lome,6252,Lome,6252,9122,7011,8901,1,0,6422,,0,,,,,,,, -4253,Luzon 1911,6253,Luzon 1911,6253,9122,7008,8901,1,0,6422,1161,1,9603,-133,-77,-51,,,, -4254,Hito XVIII 1963,6254,Hito XVIII 1963,6254,9122,7022,8901,1,0,6422,1892,1,9603,16,196,93,,,, -4255,Herat North,6255,Herat North,6255,9122,7022,8901,1,0,6422,1246,0,9603,-333,-222,114,,,, -4256,Mahe 1971,6256,Mahe 1971,6256,9122,7012,8901,1,0,6422,1164,0,9603,41,-220,-134,,,, -4257,Makassar,6257,Makassar,6257,9122,7004,8901,1,0,6422,1837,0,9603,-587.8,519.75,145.76,,,, -4258,ETRS89,6258,European Terrestrial Reference System 1989,6258,9122,7019,8901,1,0,6422,1149,1,9603,0,0,0,,,, -4259,Malongo 1987,6259,Malongo 1987,6259,9122,7022,8901,1,0,6422,1557,1,9603,-254.1,-5.36,-100.29,,,, -4260,Manoca,6260,Manoca,6260,9108,7012,8901,1,1,6402,1316,0,9603,-70.9,-151.8,-41.4,,,, -4261,Merchich,6261,Merchich,6261,9122,7011,8901,1,0,6422,1166,0,9603,31,146,47,,,, -4262,Massawa,6262,Massawa,6262,9122,7004,8901,1,0,6422,1165,0,9603,639,405,60,,,, -4263,Minna,6263,Minna,6263,9122,7012,8901,1,0,6422,1168,1,9603,-92,-93,122,,,, -4264,Mhast,6264,Mhast,6264,9122,7022,8901,1,1,6422,1329,0,9603,-252.95,-4.11,-96.38,,,, -4265,Monte Mario,6265,Monte Mario,6265,9122,7022,8901,1,0,6422,1660,1,9606,-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68 -4266,"M'poraloko",6266,"M'poraloko",6266,9122,7011,8901,1,0,6422,1163,1,9603,-74,-130,42,,,, -4267,NAD27,6267,North American Datum 1927,6267,9122,7008,8901,1,0,6422,,0,,,,,,,, -4268,NAD27 Michigan,6268,NAD27 Michigan,6268,9122,7009,8901,1,1,6422,,0,,,,,,,, -4269,NAD83,6269,North American Datum 1983,6269,9122,7019,8901,1,0,6422,1188,1,9603,0,0,0,,,, -4270,Nahrwan 1967,6270,Nahrwan 1967,6270,9122,7012,8901,1,0,6422,1191,1,9603,-249,-156,381,,,, -4271,Naparima 1972,6271,Naparima 1972,6271,9122,7022,8901,1,0,6422,1192,1,9603,-10,375,165,,,, -4272,NZGD49,6272,New Zealand Geodetic Datum 1949,6272,9122,7022,8901,1,0,6422,1564,1,9607,59.47,-5.04,187.44,-0.47,0.1,-1.024,-4.5993 -4273,NGO 1948,6273,NGO 1948,6273,9122,7005,8901,1,0,6422,1654,0,9606,278.3,93,474.5,7.889,0.05,-6.61,6.21 -4274,Datum 73,6274,Datum 73,6274,9122,7022,8901,1,0,6422,1983,1,9603,-223.237,110.193,36.649,,,, -4275,NTF,6275,Nouvelle Triangulation Francaise,6275,9122,7011,8901,1,0,6422,1193,0,9603,-168,-60,320,,,, -4276,NSWC 9Z-2,6276,NSWC 9Z-2,6276,9122,7025,8901,1,0,6422,,0,,,,,,,, -4277,OSGB 1936,6277,OSGB 1936,6277,9122,7001,8901,1,0,6422,1314,1,9606,446.448,-125.157,542.06,0.15,0.247,0.842,-20.489 -4278,OSGB70,6278,"OSGB 1970 (SN)",6278,9122,7001,8901,1,0,6422,,0,,,,,,,, -4279,"OS(SN)80",6279,"OS (SN) 1980",6279,9122,7001,8901,1,0,6422,,0,,,,,,,, -4280,Padang,6280,Padang 1884,6280,9122,7004,8901,1,0,6422,,0,,,,,,,, -4281,Palestine 1923,6281,Palestine 1923,6281,9122,7010,8901,1,0,6422,1074,0,9606,-275.7224,94.7824,340.8944,-8.001,-4.42,-11.821,1 -4282,Pointe Noire,6282,Congo 1960 Pointe Noire,6282,9122,7011,8901,1,0,6422,1200,1,9603,-148,51,-291,,,, -4283,GDA94,6283,Geocentric Datum of Australia 1994,6283,9122,7019,8901,1,0,6422,1150,0,9603,0,0,0,,,, -4284,Pulkovo 1942,6284,Pulkovo 1942,6284,9122,7024,8901,1,0,6422,1267,1,9607,23.92,-141.27,-80.9,0,-0.35,-0.82,-0.12 -4285,Qatar 1974,6285,Qatar 1974,6285,9122,7022,8901,1,0,6422,1562,1,9603,-128.16,-282.42,21.93,,,, -4286,Qatar 1948,6286,Qatar 1948,6286,9122,7020,8901,1,0,6422,,0,,,,,,,, -4287,Qornoq,6287,Qornoq,6287,9108,7022,8901,1,1,6402,1211,0,9603,164,138,-189,,,, -4288,Loma Quintana,6288,Loma Quintana,6288,9122,7022,8901,1,0,6422,,0,,,,,,,, -4289,Amersfoort,6289,Amersfoort,6289,9122,7004,8901,1,0,6422,15934,1,9607,565.2369,50.0087,465.658,0.406857,-0.350733,1.87035,4.0812 -4291,SAD69,6291,South American Datum 1969,6291,9108,7036,8901,1,1,6402,1212,1,9603,-57,1,-41,,,, -4292,Sapper Hill 1943,6292,Sapper Hill 1943,6292,9122,7022,8901,1,0,6422,1225,0,9603,-355,21,72,,,, -4293,Schwarzeck,6293,Schwarzeck,6293,9122,7046,8901,1,0,6422,1226,1,9603,616,97,-251,,,, -4294,Segora,6294,Segora,6294,9108,7004,8901,1,1,6402,1286,1,9603,-403,684,41,,,, -4295,Serindung,6295,Serindung,6295,9122,7004,8901,1,0,6422,,0,,,,,,,, -4296,Sudan,6296,Sudan,6296,9108,7011,8901,1,1,6402,,0,,,,,,,, -4297,Tananarive,6297,Tananarive 1925,6297,9122,7022,8901,1,0,6422,1227,1,9603,-189,-242,-91,,,, -4298,Timbalai 1948,6298,Timbalai 1948,6298,9122,7016,8901,1,0,6422,1228,1,9603,-679,669,-48,,,, -4299,TM65,6299,TM65,6299,9122,7002,8901,1,0,6422,1641,1,9606,482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15 -4300,TM75,6300,Geodetic Datum of 1965,6300,9122,7002,8901,1,0,6422,1954,1,9606,482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15 -4301,Tokyo,6301,Tokyo,6301,9122,7004,8901,1,0,6422,15484,1,9603,-146.414,507.337,680.507,,,, -4302,Trinidad 1903,6302,Trinidad 1903,6302,9122,7007,8901,1,0,6422,1296,1,9603,-61.702,284.488,472.052,,,, -4303,"TC(1948)",6303,Trucial Coast 1948,6303,9122,7020,8901,1,0,6422,,0,,,,,,,, -4304,Voirol 1875,6304,Voirol 1875,6304,9122,7011,8901,1,0,6422,1294,0,9603,-73,-247,227,,,, -4306,Bern 1938,6306,Bern 1938,6306,9122,7004,8901,1,0,6422,,0,,,,,,,, -4307,Nord Sahara 1959,6307,Nord Sahara 1959,6307,9122,7012,8901,1,0,6422,5660,1,9606,-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547 -4308,RT38,6308,Stockholm 1938,6308,9122,7004,8901,1,0,6422,,0,,,,,,,, -4309,Yacare,6309,Yacare,6309,9122,7022,8901,1,0,6422,1234,1,9603,-155,171,37,,,, -4310,Yoff,6310,Yoff,6310,9122,7011,8901,1,0,6422,6903,0,9603,-30,190,89,,,, -4311,Zanderij,6311,Zanderij,6311,9122,7022,8901,1,0,6422,1235,0,9603,-265,120,-358,,,, -4312,MGI,6312,Militar-Geographische Institut,6312,9122,7004,8901,1,0,6422,1618,1,9606,577.326,90.129,463.919,5.137,1.474,5.297,2.4232 -4313,Belge 1972,6313,Reseau National Belge 1972,6313,9122,7022,8901,1,0,6422,15929,1,9607,-106.8686,52.2978,-103.7239,-0.3366,0.457,-1.8422,-1.2747 -4314,DHDN,6314,Deutsches Hauptdreiecksnetz,6314,9122,7004,8901,1,0,6422,1777,1,9606,598.1,73.7,418.2,0.202,0.045,-2.455,6.7 -4315,Conakry 1905,6315,Conakry 1905,6315,9122,7011,8901,1,0,6422,1517,0,9603,-23,259,-9,,,, -4316,Dealul Piscului 1930,6316,Dealul Piscului 1930,6316,9122,7022,8901,1,0,6422,1995,1,9603,103.25,-100.4,-307.19,,,, -4317,Dealul Piscului 1970,6317,Dealul Piscului 1970,6317,9122,7024,8901,1,1,6422,1097,1,9603,28,-121,-77,,,, -4318,NGN,6318,National Geodetic Network,6318,9122,7030,8901,1,0,6422,1060,0,9603,-3.2,-5.7,2.8,,,, -4319,KUDAMS,6319,Kuwait Utility,6319,9122,7019,8901,1,0,6422,1061,1,9603,-20.8,11.3,2.4,,,, -4322,WGS 72,6322,World Geodetic System 1972,6322,9122,7043,8901,1,0,6422,1237,1,9606,0,0,4.5,0,0,0.554,0.2263 -4324,WGS 72BE,6324,WGS 72 Transit Broadcast Ephemeris,6324,9122,7043,8901,1,0,6422,1240,0,9606,0,0,1.9,0,0,0.814,-0.38 -4326,WGS 84,6326,World Geodetic System 1984,6326,9122,7030,8901,1,0,6422,,0,,,,,,,, -4463,RGSPM06,1038,Reseau Geodesique de Saint Pierre et Miquelon 2006,1038,9122,7019,8901,1,0,6422,4477,0,9603,0,0,0,,,, -4470,RGM04,1036,Reseau Geodesique de Mayotte 2004,1036,9122,7019,8901,1,0,6422,4476,0,9603,0,0,0,,,, -4475,Cadastre 1997,1037,Cadastre 1997,1037,9122,7022,8901,1,0,6422,4290,0,9603,-381.788,-57.501,-256.673,,,, -4483,Mexico ITRF92,1042,Mexico ITRF92,1042,9122,7019,8901,1,0,6422,4832,0,9603,0,0,0,,,, -4490,China Geodetic Coordinate System 2000,1043,China 2000,1043,9122,1024,8901,1,0,6422,,0,,,,,,,, -4555,New Beijing,1045,New Beijing,1045,9122,7024,8901,1,0,6422,,0,,,,,,,, -4558,RRAF 1991,1047,Reseau de Reference des Antilles Francaises 1991,1047,9122,7019,8901,1,0,6422,4560,0,9603,0,0,0,,,, -4600,Anguilla 1957,6600,Anguilla 1957,6600,9122,7012,8901,1,0,6422,,0,,,,,,,, -4601,Antigua 1943,6601,Antigua 1943,6601,9122,7012,8901,1,0,6422,1441,1,9603,-255,-15,71,,,, -4602,Dominica 1945,6602,Dominica 1945,6602,9122,7012,8901,1,0,6422,1442,0,9603,725,685,536,,,, -4603,Grenada 1953,6603,Grenada 1953,6603,9122,7012,8901,1,0,6422,1443,0,9603,72,213.7,93,,,, -4604,Montserrat 1958,6604,Montserrat 1958,6604,9122,7012,8901,1,0,6422,1444,0,9603,174,359,365,,,, -4605,St. Kitts 1955,6605,St. Kitts 1955,6605,9122,7012,8901,1,0,6422,1445,1,9603,9,183,236,,,, -4606,St. Lucia 1955,6606,St. Lucia 1955,6606,9122,7012,8901,1,0,6422,1446,1,9603,-149,128,296,,,, -4607,St. Vincent 1945,6607,St. Vincent 1945,6607,9122,7012,8901,1,0,6422,1959,0,9603,195.671,332.517,274.607,,,, -4608,"NAD27(76)",6608,"North American Datum 1927 (1976)",6608,9122,7008,8901,1,0,6422,,0,,,,,,,, -4609,"NAD27(CGQ77)",6609,"North American Datum 1927 (CGQ77)",6609,9122,7008,8901,1,0,6422,,0,,,,,,,, -4610,Xian 1980,6610,Xian 1980,6610,9122,7049,8901,1,0,6422,,0,,,,,,,, -4611,Hong Kong 1980,6611,Hong Kong 1980,6611,9122,7022,8901,1,0,6422,1825,0,9606,-162.619,-276.959,-161.764,0.067753,-2.243649,-1.158827,-1.094246 -4612,JGD2000,6612,Japanese Geodetic Datum 2000,6612,9122,7019,8901,1,0,6422,1826,0,9603,0,0,0,,,, -4613,Segara,6613,Gunung Segara,6613,9122,7004,8901,1,0,6422,1897,1,9603,-403,684,41,,,, -4614,QND95,6614,Qatar National Datum 1995,6614,9122,7022,8901,1,0,6422,1840,0,9606,-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,3.657065 -4615,Porto Santo,6615,Porto Santo 1936,6615,9122,7022,8901,1,0,6422,1888,0,9603,-499,-249,314,,,, -4616,Selvagem Grande,6616,Selvagem Grande,6616,9122,7022,8901,1,0,6422,1965,1,9603,-289,-124,60,,,, -4617,"NAD83(CSRS)",6140,NAD83 Canadian Spatial Reference System,6140,9122,7019,8901,1,0,6422,1842,1,9603,0,0,0,,,, -4618,SAD69,6618,South American Datum 1969,6618,9122,7050,8901,1,0,6422,1877,1,9603,-66.87,4.37,-38.52,,,, -4619,SWEREF99,6619,SWEREF99,6619,9122,7019,8901,1,0,6422,1879,0,9603,0,0,0,,,, -4620,Point 58,6620,Point 58,6620,9122,7012,8901,1,0,6422,1880,0,9603,-106,-129,165,,,, -4621,Fort Marigot,6621,Fort Marigot,6621,9122,7022,8901,1,0,6422,1903,0,9603,137,248,-430,,,, -4622,Guadeloupe 1948,6622,Guadeloupe 1948,6622,9122,7022,8901,1,0,6422,1904,1,9603,-467,-16,-300,,,, -4623,CSG67,6623,Centre Spatial Guyanais 1967,6623,9122,7022,8901,1,0,6422,1906,0,9603,-186,230,110,,,, -4624,RGFG95,6624,Reseau Geodesique Francais Guyane 1995,6624,9122,7019,8901,1,0,6422,4840,1,9603,0,0,0,,,, -4625,Martinique 1938,6625,Martinique 1938,6625,9122,7022,8901,1,0,6422,1909,1,9603,186,482,151,,,, -4626,Reunion 1947,6626,Reunion 1947,6626,9122,7022,8901,1,0,6422,15751,1,9603,94,-948,-1262,,,, -4627,RGR92,6627,Reseau Geodesique de la Reunion 1992,6627,9122,7019,8901,1,0,6422,1912,0,9603,0,0,0,,,, -4628,Tahiti 52,6628,Tahiti 52,6628,9122,7022,8901,1,0,6422,1924,0,9603,162,117,154,,,, -4629,Tahaa 54,6629,Tahaa 54,6629,9122,7022,8901,1,0,6422,15770,1,9607,72.438,345.918,79.486,-1.6045,-0.8823,-0.5565,1.3746 -4630,IGN72 Nuku Hiva,6630,IGN72 Nuku Hiva,6630,9122,7022,8901,1,0,6422,1914,1,9603,84,274,65,,,, -4631,K0 1949,6631,K0 1949,6631,9122,7022,8901,1,1,6422,1915,0,9603,145,-187,103,,,, -4632,Combani 1950,6632,Combani 1950,6632,9122,7022,8901,1,0,6422,1916,0,9603,-382,-59,-262,,,, -4633,IGN56 Lifou,6633,IGN56 Lifou,6633,9122,7022,8901,1,0,6422,15902,1,9603,335.47,222.58,-230.94,,,, -4634,IGN72 Grand Terre,6634,IGN72 Grande Terre,6634,9108,7022,8901,1,1,6402,1918,1,9603,-13,-348,292,,,, -4635,ST87 Ouvea,6635,ST87 Ouvea,6635,9122,7022,8901,1,1,6422,1919,0,9606,-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,4.4798 -4636,Petrels 1972,6636,Petrels 1972,6636,9122,7022,8901,1,0,6422,1921,0,9603,365,194,166,,,, -4637,Perroud 1950,6637,Pointe Geologie Perroud 1950,6637,9122,7022,8901,1,0,6422,1922,0,9603,325,154,172,,,, -4638,Saint Pierre et Miquelon 1950,6638,Saint Pierre et Miquelon 1950,6638,9122,7008,8901,1,0,6422,1923,0,9603,30,430,368,,,, -4639,MOP78,6639,MOP78,6639,9122,7022,8901,1,0,6422,15847,1,9603,253,-132,-127,,,, -4640,RRAF 1991,6640,Reseau de Reference des Antilles Francaises 1991,6640,9122,7030,8901,1,1,6422,1934,0,9603,0,0,0,,,, -4641,IGN53 Mare,6641,IGN53 Mare,6641,9122,7022,8901,1,0,6422,15901,1,9603,287.58,177.78,-135.41,,,, -4642,ST84 Ile des Pins,6642,ST84 Ile des Pins,6642,9122,7022,8901,1,0,6422,15848,1,9603,-13,-348,292,,,, -4643,ST71 Belep,6643,ST71 Belep,6643,9122,7022,8901,1,0,6422,1931,0,9606,-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002 -4644,NEA74 Noumea,6644,NEA74 Noumea,6644,9122,7022,8901,1,0,6422,15904,1,9603,-10.18,-350.43,291.37,,,, -4645,RGNC 1991,6645,Reseau Geodesique Nouvelle Caledonie 1991,6645,9122,7022,8901,1,1,6422,1920,0,9603,0,0,0,,,, -4646,Grand Comoros,6646,Grand Comoros,6646,9122,7022,8901,1,0,6422,5521,0,9603,-963,510,-359,,,, -4657,Reykjavik 1900,6657,Reykjavik 1900,6657,9122,7051,8901,1,0,6422,1994,0,9603,-28,199,5,,,, -4658,Hjorsey 1955,6658,Hjorsey 1955,6658,9122,7022,8901,1,0,6422,6909,1,9603,-73,47,-83,,,, -4659,ISN93,6659,Islands Net 1993,6659,9122,7019,8901,1,0,6422,1952,0,9603,0,0,0,,,, -4660,Helle 1954,6660,Helle 1954,6660,9122,7022,8901,1,0,6422,1957,0,9606,982.6087,552.753,-540.873,6.6816266,-31.6114924,-19.84816,16.805 -4661,LKS92,6661,Latvia 1992,6661,9122,7019,8901,1,0,6422,1958,0,9603,0,0,0,,,, -4662,IGN72 Grande Terre,6634,IGN72 Grande Terre,6634,9122,7022,8901,1,0,6422,15903,1,9603,-11.64,-348.6,291.98,,,, -4663,Porto Santo 1995,6663,Porto Santo 1995,6663,9122,7022,8901,1,0,6422,1966,1,9603,-502.862,-247.438,312.724,,,, -4664,Azores Oriental 1995,6664,Azores Oriental Islands 1995,6664,9122,7022,8901,1,0,6422,1970,1,9603,-204.619,140.176,55.226,,,, -4665,Azores Central 1995,6665,Azores Central Islands 1995,6665,9122,7022,8901,1,0,6422,1980,1,9603,-106.226,166.366,-37.893,,,, -4666,Lisbon 1890,6666,Lisbon 1890,6666,9122,7004,8901,1,0,6422,1986,1,9603,508.088,-191.042,565.223,,,, -4667,IKBD-92,6667,Iraq-Kuwait Boundary Datum 1992,6667,9122,7030,8901,1,0,6422,1993,0,9603,0,0,0,,,, -4668,ED79,6668,European Datum 1979,6668,9122,7022,8901,1,0,6422,15752,0,9603,-86,-98,-119,,,, -4669,LKS94,6126,"Lithuania 1994 (ETRS89)",6126,9122,7019,8901,1,0,6422,1283,0,9603,0,0,0,,,, -4670,IGM95,6670,Istituto Geografico Militaire 1995,6670,9122,7030,8901,1,0,6422,1099,0,9603,0,0,0,,,, -4671,Voirol 1879,6671,Voirol 1879,6671,9122,7011,8901,1,0,6422,,0,,,,,,,, -4672,Chatham Islands 1971,6672,Chatham Islands Datum 1971,6672,9122,7022,8901,1,0,6422,1080,0,9603,175,-38,113,,,, -4673,Chatham Islands 1979,6673,Chatham Islands Datum 1979,6673,9122,7022,8901,1,0,6422,1081,0,9607,174.05,-25.49,112.57,0,0,-0.554,0.2263 -4674,SIRGAS 2000,6674,Sistema de Referencia Geocentrico para las AmericaS 2000,6674,9122,7019,8901,1,0,6422,15894,0,9603,0,0,0,,,, -4675,Guam 1963,6675,Guam 1963,6675,9122,7008,8901,1,0,6422,1070,0,9603,-100,-248,259,,,, -4676,Vientiane 1982,6676,Vientiane 1982,6676,9122,7024,8901,1,0,6422,,0,,,,,,,, -4677,Lao 1993,6677,Lao 1993,6677,9122,7024,8901,1,0,6422,,0,,,,,,,, -4678,Lao 1997,6678,Lao National Datum 1997,6678,9122,7024,8901,1,0,6422,1065,0,9603,44.585,-131.212,-39.544,,,, -4679,Jouik 1961,6679,Jouik 1961,6679,9122,7012,8901,1,0,6422,15870,0,9603,-80.01,253.26,291.19,,,, -4680,Nouakchott 1965,6680,Nouakchott 1965,6680,9122,7012,8901,1,0,6422,15709,0,9603,124.5,-63.5,-281,,,, -4681,Mauritania 1999,6681,Mauritania 1999,6681,9122,7012,8901,1,1,6422,,0,,,,,,,, -4682,Gulshan 303,6682,Gulshan 303,6682,9122,7015,8901,1,0,6422,15779,1,9603,283.7,735.9,261.1,,,, -4683,PRS92,6683,Philippine Reference System 1992,6683,9122,7008,8901,1,0,6422,15708,0,9607,-127.62,-67.24,-47.04,3.068,-4.903,-1.578,-1.06 -4684,Gan 1970,6684,Gan 1970,6684,9122,7022,8901,1,0,6422,15713,0,9603,-133,-321,50,,,, -4685,Gandajika,6685,Gandajika,6685,9122,7022,8901,1,1,6422,,0,,,,,,,, -4686,MAGNA-SIRGAS,6686,Marco Geocentrico Nacional de Referencia,6686,9122,7019,8901,1,0,6422,15738,0,9603,0,0,0,,,, -4687,RGPF,6687,Reseau Geodesique de la Polynesie Francaise,6687,9122,7019,8901,1,0,6422,15832,1,9607,0.072,-0.507,-0.245,0.0183,-0.0003,0.007,-0.0093 -4688,Fatu Iva 72,6688,Fatu Iva 72,6688,9122,7022,8901,1,0,6422,15772,0,9607,347.103,1078.125,2623.922,33.8875,-70.6773,9.3943,186.074 -4689,IGN63 Hiva Oa,6689,IGN63 Hiva Oa,6689,9122,7022,8901,1,0,6422,15773,1,9607,410.721,55.049,80.746,-2.5779,-2.3514,-0.6664,17.3311 -4690,Tahiti 79,6690,Tahiti 79,6690,9122,7022,8901,1,0,6422,4835,0,9607,221.525,152.948,176.768,2.3847,1.3896,0.877,11.4741 -4691,Moorea 87,6691,Moorea 87,6691,9122,7022,8901,1,0,6422,15769,0,9607,215.525,149.593,176.229,3.2624,1.692,1.1571,10.4773 -4692,Maupiti 83,6692,Maupiti 83,6692,9122,7022,8901,1,0,6422,15771,0,9603,217.037,86.959,23.956,,,, -4693,Nakhl-e Ghanem,6693,Nakhl-e Ghanem,6693,9122,7030,8901,1,0,6422,15746,0,9603,0,-0.15,0.68,,,, -4694,POSGAR 94,6694,Posiciones Geodesicas Argentinas 1994,6694,9122,7030,8901,1,0,6422,1210,0,9603,0,0,0,,,, -4695,Katanga 1955,6695,Katanga 1955,6695,9122,7008,8901,1,0,6422,4066,0,9603,-103.746,-9.614,-255.95,,,, -4696,Kasai 1953,6696,Kasai 1953,6696,9122,7012,8901,1,0,6422,,0,,,,,,,, -4697,IGC 1962 6th Parallel South,6697,IGC 1962 Arc of the 6th Parallel South,6697,9122,7012,8901,1,0,6422,,0,,,,,,,, -4698,IGN 1962 Kerguelen,6698,IGN 1962 Kerguelen,6698,9122,7022,8901,1,0,6422,15850,0,9603,145,-187,103,,,, -4699,Le Pouce 1934,6699,Le Pouce 1934,6699,9122,7012,8901,1,0,6422,15784,0,9603,-770.1,158.4,-498.2,,,, -4700,IGN Astro 1960,6700,IGN Astro 1960,6700,9122,7012,8901,1,0,6422,,0,,,,,,,, -4701,IGCB 1955,6701,Institut Geographique du Congo Belge 1955,6701,9122,7012,8901,1,0,6422,15787,0,9603,-79.9,-158,-168.9,,,, -4702,Mauritania 1999,6702,Mauritania 1999,6702,9122,7019,8901,1,0,6422,15860,0,9603,0,0,0,,,, -4703,Mhast 1951,6703,Missao Hidrografico Angola y Sao Tome 1951,6703,9122,7012,8901,1,0,6422,,0,,,,,,,, -4704,"Mhast (onshore)",6704,"Mhast (onshore)",6704,9122,7022,8901,1,0,6422,,0,,,,,,,, -4705,"Mhast (offshore)",6705,"Mhast (offshore)",6705,9122,7022,8901,1,0,6422,,0,,,,,,,, -4706,Egypt Gulf of Suez S-650 TL,6706,Egypt Gulf of Suez S-650 TL,6706,9122,7020,8901,1,0,6422,15846,0,9603,-146.21,112.63,4.05,,,, -4707,Tern Island 1961,6707,Tern Island 1961,6707,9122,7022,8901,1,0,6422,15795,0,9603,114,-116,-333,,,, -4708,Cocos Islands 1965,6708,Cocos Islands 1965,6708,9122,7003,8901,1,0,6422,15794,0,9603,-491,-22,435,,,, -4709,Iwo Jima 1945,6709,Iwo Jima 1945,6709,9122,7022,8901,1,0,6422,15796,0,9603,145,75,-272,,,, -4710,Astro DOS 71,6710,Astro DOS 71,6710,9122,7022,8901,1,0,6422,15798,1,9603,-320,550,-494,,,, -4711,Marcus Island 1952,6711,Marcus Island 1952,6711,9122,7022,8901,1,0,6422,15799,0,9603,124,-234,-25,,,, -4712,Ascension Island 1958,6712,Ascension Island 1958,6712,9122,7022,8901,1,0,6422,15797,0,9603,-205,107,53,,,, -4713,Ayabelle Lighthouse,6713,Ayabelle Lighthouse,6713,9122,7012,8901,1,0,6422,6907,1,9603,-77,-128,142,,,, -4714,Bellevue,6714,Bellevue,6714,9122,7022,8901,1,0,6422,15801,0,9603,-127,-769,472,,,, -4715,Camp Area Astro,6715,Camp Area Astro,6715,9122,7022,8901,1,0,6422,15802,0,9603,-104,-129,239,,,, -4716,Phoenix Islands 1966,6716,Phoenix Islands 1966,6716,9122,7022,8901,1,0,6422,15803,0,9603,298,-304,-375,,,, -4717,Cape Canaveral,6717,Cape Canaveral,6717,9122,7008,8901,1,0,6422,15804,0,9603,-2,151,181,,,, -4718,Solomon 1968,6718,Solomon 1968,6718,9122,7022,8901,1,0,6422,15805,1,9603,230,-199,-752,,,, -4719,Easter Island 1967,6719,Easter Island 1967,6719,9122,7022,8901,1,0,6422,15806,0,9603,211,147,111,,,, -4720,Fiji 1986,6720,Fiji Geodetic Datum 1986,6720,9122,7043,8901,1,0,6422,15876,1,9606,0,0,4.5,0,0,0.554,0.2263 -4721,Fiji 1956,6721,Fiji 1956,6721,9122,7022,8901,1,0,6422,15875,0,9603,265.025,384.929,-194.046,,,, -4722,South Georgia 1968,6722,South Georgia 1968,6722,9122,7022,8901,1,0,6422,15813,0,9603,-794,119,-298,,,, -4723,GCGD59,6723,Grand Cayman Geodetic Datum 1959,6723,9122,7008,8901,1,0,6422,6142,1,9607,-179.483,-69.379,-27.584,7.862,-8.163,-6.042,-13.925 -4724,Diego Garcia 1969,6724,Diego Garcia 1969,6724,9122,7022,8901,1,0,6422,15808,0,9603,208,-435,-229,,,, -4725,Johnston Island 1961,6725,Johnston Island 1961,6725,9122,7022,8901,1,0,6422,15809,0,9603,189,-79,-202,,,, -4726,SIGD61,6726,Sister Islands Geodetic Datum 1961,6726,9122,7008,8901,1,0,6422,6143,1,9607,8.853,-52.644,180.304,0.393,2.323,-2.96,-24.081 -4727,Midway 1961,6727,Midway 1961,6727,9122,7022,8901,1,0,6422,15818,1,9603,403,-81,277,,,, -4728,Pico de las Nieves 1984,6728,Pico de las Nieves 1984,6728,9122,7022,8901,1,0,6422,15815,0,9603,-307,-92,127,,,, -4729,Pitcairn 1967,6729,Pitcairn 1967,6729,9122,7022,8901,1,0,6422,15819,0,9603,185,165,42,,,, -4730,Santo 1965,6730,Santo 1965,6730,9122,7022,8901,1,0,6422,15820,0,9603,170,42,84,,,, -4731,Viti Levu 1916,6731,Viti Levu 1916,6731,9122,7012,8901,1,1,6422,15821,0,9603,51,391,-36,,,, -4732,Marshall Islands 1960,6732,Marshall Islands 1960,6732,9122,7053,8901,1,0,6422,15822,0,9603,102,52,-38,,,, -4733,Wake Island 1952,6733,Wake Island 1952,6733,9122,7022,8901,1,0,6422,15823,0,9603,276,-57,149,,,, -4734,Tristan 1968,6734,Tristan 1968,6734,9122,7022,8901,1,0,6422,15816,0,9603,-632,438,-609,,,, -4735,Kusaie 1951,6735,Kusaie 1951,6735,9122,7022,8901,1,0,6422,15810,0,9603,647,1777,-1124,,,, -4736,Deception Island,6736,Deception Island,6736,9122,7012,8901,1,0,6422,15812,0,9603,260,12,-147,,,, -4737,Korea 2000,6737,Geocentric datum of Korea,6737,9122,7019,8901,1,0,6422,15831,0,9603,0,0,0,,,, -4738,Hong Kong 1963,6738,Hong Kong 1963,6738,9122,7007,8901,1,0,6422,,0,,,,,,,, -4739,"Hong Kong 1963(67)",6739,"Hong Kong 1963(67)",6739,9122,7022,8901,1,0,6422,15842,0,9603,-156,-271,-189,,,, -4740,PZ-90,6740,Parametry Zemli 1990,6740,9122,7054,8901,1,0,6422,15843,1,9607,0,0,1.5,0,0,-0.076,0 -4741,FD54,6741,Faroe Datum 1954,6741,9122,7022,8901,1,0,6422,,0,,,,,,,, -4742,GDM2000,6742,Geodetic Datum of Malaysia 2000,6742,9122,7019,8901,1,0,6422,,0,,,,,,,, -4743,Karbala 1979,6743,Karbala 1979,6743,9122,7012,8901,1,0,6422,5078,1,9603,70.995,-335.916,262.898,,,, -4744,Nahrwan 1934,6744,Nahrwan 1934,6744,9122,7012,8901,1,0,6422,7033,0,9603,-242.2,-144.9,370.3,,,, -4745,"RD/83",6745,"Rauenberg Datum/83",6745,9122,7004,8901,1,0,6422,,0,,,,,,,, -4746,"PD/83",6746,"Potsdam Datum/83",6746,9122,7004,8901,1,0,6422,,0,,,,,,,, -4747,GR96,6747,Greenland 1996,6747,9122,7019,8901,1,0,6422,15879,0,9603,0,0,0,,,, -4748,Vanua Levu 1915,6748,Vanua Levu 1915,6748,9122,7055,8901,1,0,6422,15878,0,9603,51,391,-36,,,, -4749,RGNC91-93,6749,Reseau Geodesique de Nouvelle Caledonie 91-93,6749,9122,7019,8901,1,0,6422,15880,0,9603,0,0,0,,,, -4750,ST87 Ouvea,6750,ST87 Ouvea,6750,9122,7030,8901,1,0,6422,15881,0,9603,-56.263,16.136,-22.856,,,, -4751,"Kertau (RSO)",6751,"Kertau (RSO)",6751,9122,7056,8901,1,0,6422,,0,,,,,,,, -4752,Viti Levu 1912,6752,Viti Levu 1912,6752,9122,7055,8901,1,0,6422,6895,1,9603,98,390,-22,,,, -4753,fk89,6753,fk89,6753,9122,7022,8901,1,0,6422,,0,,,,,,,, -4754,LGD2006,6754,Libyan Geodetic Datum 2006,6754,9122,7022,8901,1,0,6422,15908,0,9603,-208.4058,-109.8777,-2.5764,,,, -4755,DGN95,6755,Datum Geodesi Nasional 1995,6755,9122,7030,8901,1,0,6422,15912,0,9603,0,0,0,,,, -4756,VN-2000,6756,Vietnam 2000,6756,9122,7030,8901,1,0,6422,6960,1,9607,-191.90441429,-39.30318279,-111.45032835,-0.00928836,0.01975479,-0.00427372,0.252906278 -4757,SVY21,6757,SVY21,6757,9122,7030,8901,1,0,6422,,0,,,,,,,, -4758,JAD2001,6758,Jamaica 2001,6758,9122,7030,8901,1,0,6422,15925,0,9603,0,0,0,,,, -4759,"NAD83(NSRS2007)",6759,"NAD83 (National Spatial Reference System 2007)",6759,9122,7019,8901,1,0,6422,15931,0,9603,0,0,0,,,, -4760,WGS 66,6760,World Geodetic System 1966,6760,9122,7025,8901,1,0,6422,,0,,,,,,,, -4761,HTRS96,6761,Croatian Terrestrial Reference System,6761,9122,7019,8901,1,0,6422,15967,0,9603,0,0,0,,,, -4762,BDA2000,6762,Bermuda 2000,6762,9122,7030,8901,1,0,6422,15971,0,9603,0,0,0,,,, -4763,Pitcairn 2006,6763,Pitcairn 2006,6763,9122,7030,8901,1,0,6422,15972,0,9603,0,0,0,,,, -4764,RSRGD2000,6764,Ross Sea Region Geodetic Datum 2000,6764,9122,7019,8901,1,0,6422,15974,0,9603,0,0,0,,,, -4765,Slovenia 1996,6765,Slovenia Geodetic Datum 1996,6765,9122,7019,8901,1,0,6422,15976,0,9603,0,0,0,,,, -4801,"Bern 1898 (Bern)",6801,"CH1903 (Bern)",6149,9122,7004,8907,1,0,6422,1510,1,9603,674.374,15.056,405.346,,,, -4802,"Bogota 1975 (Bogota)",6802,"Bogota 1975 (Bogota)",6218,9122,7022,8904,1,0,6422,1125,1,9603,307,304,-318,,,, -4803,"Lisbon (Lisbon)",6803,"Lisbon 1937 (Lisbon)",6207,9122,7022,8902,1,0,6422,1984,1,9603,-304.046,-60.576,103.64,,,, -4804,"Makassar (Jakarta)",6804,"Makassar (Jakarta)",6257,9122,7004,8908,1,0,6422,1837,0,9603,-587.8,519.75,145.76,,,, -4805,"MGI (Ferro)",6805,"Militar-Geographische Institut (Ferro)",1031,9122,7004,8909,1,0,6422,3962,1,9603,682,-203,480,,,, -4806,"Monte Mario (Rome)",6806,"Monte Mario (Rome)",6265,9122,7022,8906,1,0,6422,1660,1,9606,-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68 -4807,"NTF (Paris)",6807,"Nouvelle Triangulation Francaise (Paris)",6275,9105,7011,8903,1,0,6403,1193,0,9603,-168,-60,320,,,, -4808,"Padang (Jakarta)",6808,"Padang 1884 (Jakarta)",6280,9122,7004,8908,1,0,6422,,0,,,,,,,, -4809,"Belge 1950 (Brussels)",6809,"Reseau National Belge 1950 (Brussels)",6215,9122,7022,8910,1,0,6422,,0,,,,,,,, -4810,"Tananarive (Paris)",6810,"Tananarive 1925 (Paris)",6297,9105,7022,8903,1,0,6403,1227,1,9603,-189,-242,-91,,,, -4811,"Voirol 1875 (Paris)",6811,"Voirol 1875 (Paris)",6304,9105,7011,8903,1,0,6403,1294,0,9603,-73,-247,227,,,, -4813,"Batavia (Jakarta)",6813,"Batavia (Jakarta)",6211,9122,7004,8908,1,0,6422,1123,1,9603,-377,681,-50,,,, -4814,"RT38 (Stockholm)",6814,"Stockholm 1938 (Stockholm)",6308,9122,7004,8911,1,0,6422,,0,,,,,,,, -4815,"Greek (Athens)",6815,"Greek (Athens)",6120,9122,7004,8912,1,0,6422,,0,,,,,,,, -4816,"Carthage (Paris)",6816,"Carthage (Paris)",6223,9105,7011,8903,1,0,6403,1130,1,9603,-263,6,431,,,, -4817,"NGO 1948 (Oslo)",6817,"NGO 1948 (Oslo)",6273,9122,7005,8913,1,0,6422,1654,0,9606,278.3,93,474.5,7.889,0.05,-6.61,6.21 -4818,"S-JTSK (Ferro)",6818,"System Jednotne Trigonometricke Site Katastralni (Ferro)",6156,9122,7004,8909,1,0,6422,15965,1,9603,589,76,480,,,, -4819,"Nord Sahara 1959 (Paris)",6819,"Nord Sahara 1959 (Paris)",6307,9105,7012,8903,1,1,6403,5660,1,9606,-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547 -4820,"Segara (Jakarta)",6820,"Gunung Segara (Jakarta)",6613,9122,7004,8908,1,0,6422,1897,1,9603,-403,684,41,,,, -4821,"Voirol 1879 (Paris)",6821,"Voirol 1879 (Paris)",6821,9105,7011,8903,1,0,6403,,0,,,,,,,, -4823,Sao Tome,1044,Sao Tome,1044,9122,7022,8901,1,0,6422,,0,,,,,,,, -4824,Principe,1046,Principe,1046,9122,7022,8901,1,0,6422,,0,,,,,,,, -4901,"ATF (Paris)",6901,"Ancienne Triangulation Francaise (Paris)",6901,9105,7027,8914,1,0,6403,,0,,,,,,,, -4902,"NDG (Paris)",6902,"Nord de Guerre (Paris)",6902,9105,7027,8903,1,1,6403,,0,,,,,,,, -4903,"Madrid 1870 (Madrid)",6903,"Madrid 1870 (Madrid)",6903,9122,7028,8905,1,0,6422,,0,,,,,,,, -4904,"Lisbon 1890 (Lisbon)",6904,"Lisbon 1890 (Lisbon)",6666,9122,7004,8902,1,0,6422,1986,1,9603,508.088,-191.042,565.223,,,, -5013,PTRA08,1041,Autonomous Regions of Portugal 2008,1041,9122,7019,8901,1,0,6422,4905,0,9603,0,0,0,,,, -5132,Tokyo 1892,1048,Tokyo 1892,6162,9122,7004,8901,1,0,6422,,0,,,,,,,, -5228,"S-JTSK/05",1052,"System Jednotne Trigonometricke Site Katastralni/05",1052,9122,7004,8901,1,0,6422,5227,0,9607,572.213,85.334,461.94,-4.9732,-1.529,-5.2484,3.5378 -5229,"S-JTSK/05 (Ferro)",1055,"System Jednotne Trigonometricke Site Katastralni/05 (Ferro)",1052,9122,7004,8909,1,0,6422,5227,0,9607,572.213,85.334,461.94,-4.9732,-1.529,-5.2484,3.5378 -5233,SLD99,1053,Sri Lanka Datum 1999,1053,9122,7015,8901,1,0,6422,5236,0,9607,-0.293,766.95,87.713,-0.195704,-1.695068,-3.473016,-0.039338 -5246,GDBD2009,1056,Geocentric Datum Brunei Darussalam 2009,1056,9122,7019,8901,1,0,6422,6701,0,9603,0,0,0,,,, -5252,TUREF,1057,Turkish National Reference Frame,1057,9122,7019,8901,1,0,6422,5261,0,9603,0,0,0,,,, -5264,DRUKREF 03,1058,Bhutan National Geodetic Datum,1058,9122,7019,8901,1,0,6422,5267,0,9603,0,0,0,,,, -5324,ISN2004,1060,Islands Net 2004,1060,9122,7019,8901,1,0,6422,5327,0,9603,0,0,0,,,, -5340,POSGAR 2007,1062,Posiciones Geodesicas Argentinas 2007,1062,9122,7019,8901,1,0,6422,5351,0,9603,0,0,0,,,, -5354,MARGEN,1063,Marco Geodesico Nacional de Bolivia,1063,9122,7019,8901,1,0,6422,5374,0,9603,0,0,0,,,, -5360,SIRGAS-Chile,1064,SIRGAS-Chile,1064,9122,7019,8901,1,0,6422,5375,0,9603,0,0,0,,,, -5365,CR05,1065,Costa Rica 2005,1065,9122,7030,8901,1,0,6422,5376,0,9603,0,0,0,,,, -5371,MACARIO SOLIS,1066,Sistema Geodesico Nacional de Panama MACARIO SOLIS,1066,9122,7019,8901,1,0,6422,5377,0,9603,0,0,0,,,, -5373,Peru96,1067,Peru96,1067,9122,7019,8901,1,0,6422,5378,0,9603,0,0,0,,,, -5381,SIRGAS-ROU98,1068,SIRGAS-ROU98,1068,9122,7030,8901,1,0,6422,5384,0,9603,0,0,0,,,, -5393,"SIRGAS_ES2007.8",1069,"SIRGAS_ES2007.8",1069,9122,7019,8901,1,0,6422,5395,0,9603,0,0,0,,,, -5451,Ocotepeque 1935,1070,Ocotepeque 1935,1070,9122,7008,8901,1,0,6422,6891,1,9603,205,96,-98,,,, -5464,Sibun Gorge 1922,1071,Sibun Gorge 1922,1071,9122,7007,8901,1,0,6422,,0,,,,,,,, -5467,Panama-Colon 1911,1072,Panama-Colon 1911,1072,9122,7008,8901,1,0,6422,,0,,,,,,,, -5489,RGAF09,1073,Reseau Geodesique des Antilles Francaises 2009,1073,9122,7019,8901,1,0,6422,5501,0,9603,0,0,0,,,, -5524,Corrego Alegre 1961,1074,Corrego Alegre 1961,1074,9122,7022,8901,1,0,6422,,0,,,,,,,, -5527,"SAD69(96)",1075,"South American Datum 1969(96)",1075,9122,7050,8901,1,0,6422,6195,0,9603,-67.35,3.88,-38.22,,,, -5546,PNG94,1076,Papua New Guinea Geodetic Datum 1994,1076,9122,7019,8901,1,0,6422,5553,0,9603,0,0,0,,,, -5561,UCS-2000,1077,Ukraine 2000,1077,9122,7024,8901,1,0,6422,5590,1,9607,25,-141,-78.5,0,-0.35,-0.736,0 -5593,FEH2010,1078,Fehmarnbelt Datum 2010,1078,9122,7019,8901,1,0,6422,5599,0,9603,0,0,0,,,, -5681,"DB_REF",1081,Deutsche Bahn Reference System,1081,9122,7004,8901,1,0,6422,,0,,,,,,,, -5886,TGD2005,1095,Tonga Geodetic Datum 2005,1095,9122,7019,8901,1,0,6422,,0,,,,,,,, -6135,CIGD11,1100,Cayman Islands Geodetic Datum 2011,1100,9122,7019,8901,1,0,6422,6177,0,9603,0,0,0,,,, -6207,Nepal 1981,1111,Nepal 1981,1111,9122,7015,8901,1,0,6422,6208,0,9603,293.17,726.18,245.36,,,, -6311,CGRS93,1112,Cyprus Geodetic Reference System 1993,1112,9122,7030,8901,1,0,6422,7721,1,9607,8.846,-4.394,-1.122,0.00237,0.146528,-0.130428,0.783926 -6318,"NAD83(2011)",1116,"NAD83 (National Spatial Reference System 2011)",1116,9122,7019,8901,1,0,6422,,0,,,,,,,, -6322,"NAD83(PA11)",1117,"NAD83 (National Spatial Reference System PA11)",1117,9122,7019,8901,1,0,6422,,0,,,,,,,, -6325,"NAD83(MA11)",1118,"NAD83 (National Spatial Reference System MA11)",1118,9122,7019,8901,1,0,6422,,0,,,,,,,, -6365,Mexico ITRF2008,1120,Mexico ITRF2008,1120,9122,7019,8901,1,0,6422,6373,0,9603,0,0,0,,,, -6668,JGD2011,1128,Japanese Geodetic Datum 2011,1128,9122,7019,8901,1,0,6422,,0,,,,,,,, -6706,RDN2008,1132,Rete Dinamica Nazionale 2008,1132,9122,7019,8901,1,0,6422,6711,0,9603,0,0,0,,,, -6783,"NAD83(CORS96)",1133,"NAD83 (Continuously Operating Reference Station 1996)",1133,9122,7019,8901,1,0,6422,,0,,,,,,,, -6881,Aden 1925,1135,Aden 1925,1135,9122,7012,8901,1,0,6422,6910,0,9603,-24,-203,268,,,, -6882,Bekaa Valley 1920,1137,Bekaa Valley 1920,1137,9122,7012,8901,1,0,6422,6911,0,9603,-183,-15,273,,,, -6883,Bioko,1136,Bioko,1136,9122,7022,8901,1,0,6422,6912,0,9603,-235,-110,393,,,, -6892,South East Island 1943,1138,South East Island 1943,1138,9122,7012,8901,1,0,6422,6914,1,9603,-43.685,-179.785,-267.721,,,, -6894,Gambia,1139,Gambia,1139,9122,7012,8901,1,0,6422,6913,0,9603,-63,176,185,,,, -6980,IGD05,1143,Israeli Geodetic Datum 2005,1143,9122,7019,8901,1,1,6422,,0,,,,,,,, -6983,IG05 Intermediate CRS,1142,IG05 Intermediate Datum,1142,9122,7019,8901,1,0,6422,,0,,,,,,,, -6987,"IGD05/12",1145,"Israeli Geodetic Datum 2005(2012)",1145,9122,7019,8901,1,1,6422,,0,,,,,,,, -6990,"IG05/12 Intermediate CRS",1144,"IG05/12 Intermediate Datum",1144,9122,7019,8901,1,0,6422,,0,,,,,,,, -7035,"RGSPM06 (lon-lat)",1038,Reseau Geodesique de Saint Pierre et Miquelon 2006,1038,9122,7019,8901,1,0,6424,,0,,,,,,,, -7037,"RGR92 (lon-lat)",6627,Reseau Geodesique de la Reunion 1992,6627,9122,7019,8901,1,0,6424,,0,,,,,,,, -7039,"RGM04 (lon-lat)",1036,Reseau Geodesique de Mayotte 2004,1036,9122,7019,8901,1,0,6424,,0,,,,,,,, -7041,"RGFG95 (lon-lat)",6624,Reseau Geodesique Francais Guyane 1995,6624,9122,7019,8901,1,0,6424,,0,,,,,,,, -7073,RGTAAF07,1113,Reseau Geodesique des Terres Australes et Antarctiques Francaises 2007,1113,9122,7019,8901,1,0,6422,,0,,,,,,,, -7084,"RGF93 (lon-lat)",6171,Reseau Geodesique Francais 1993,6171,9122,7019,8901,1,0,6424,,0,,,,,,,, -7086,"RGAF09 (lon-lat)",1073,Reseau Geodesique des Antilles Francaises 2009,1073,9122,7019,8901,1,0,6424,,0,,,,,,,, -7088,"RGTAAF07 (lon-lat)",1113,Reseau Geodesique des Terres Australes et Antarctiques Francaises 2007,1113,9122,7019,8901,1,1,6424,,0,,,,,,,, -7133,"RGTAAF07 (lon-lat)",1113,Reseau Geodesique des Terres Australes et Antarctiques Francaises 2007,1113,9122,7019,8901,1,0,6424,,0,,,,,,,, -7136,IGD05,1114,Israeli Geodetic Datum 2005,1114,9122,7030,8901,1,0,6422,,0,,,,,,,, -7139,"IGD05/12",1115,"Israeli Geodetic Datum 2005(2012)",1115,9122,7030,8901,1,0,6422,,0,,,,,,,, -7373,ONGD14,1147,Oman National Geodetic Datum 2014,1147,9122,7019,8901,1,0,6422,7443,0,9603,0,0,0,,,, -7683,GSK-2011,1159,Geodezicheskaya Sistema Koordinat 2011,1159,9122,1025,8901,1,0,6422,,0,,,,,,,, -7686,Kyrg-06,1160,Kyrgyzstan Geodetic Datum 2006,1160,9122,7019,8901,1,0,6422,,0,,,,,,,, -7798,BGS2005,1167,Bulgaria Geodetic System 2005,1167,9122,7019,8901,1,0,6422,,0,,,,,,,, -7844,GDA2020,1168,Geocentric Datum of Australia 2020,1168,9122,7019,8901,1,0,6422,,0,,,,,,,, -7881,St. Helena Tritan,1173,St. Helena Tritan,1173,9122,7030,8901,1,0,6422,7898,0,9603,-0.077,0.079,0.086,,,, -7886,SHGD2015,1174,St. Helena Geodetic Datum 2015,1174,9122,7019,8901,1,0,6422,7892,0,9603,0,0,0,,,, diff --git a/bin/gdal_data/gcs.override.csv b/bin/gdal_data/gcs.override.csv deleted file mode 100644 index 9b8d1377..00000000 --- a/bin/gdal_data/gcs.override.csv +++ /dev/null @@ -1,7 +0,0 @@ -"COORD_REF_SYS_CODE","COORD_REF_SYS_NAME","DATUM_CODE","DATUM_NAME","GREENWICH_DATUM","UOM_CODE","ELLIPSOID_CODE","PRIME_MERIDIAN_CODE","SHOW_CRS","DEPRECATED","COORD_SYS_CODE","COORD_OP_CODE","COORD_OP_CODE_MULTI","COORD_OP_METHOD_CODE","DX","DY","DZ","RX","RY","RZ","DS" -# -# NOTICE: The master version of this file is in the libgeotiff subversion at: -# -# https://svn.osgeo.org/metacrs/geotiff/trunk/libgeotiff/csv/gcs.override.csv -# -# Do *not* change other copies without upstreaming the results to libgeotiff. diff --git a/bin/gdal_data/gdal_datum.csv b/bin/gdal_data/gdal_datum.csv deleted file mode 100644 index 1484576e..00000000 --- a/bin/gdal_data/gdal_datum.csv +++ /dev/null @@ -1,725 +0,0 @@ -"DATUM_CODE","DATUM_NAME","DATUM_TYPE","ORIGIN_DESCRIPTION","REALIZATION_EPOCH","ELLIPSOID_CODE","PRIME_MERIDIAN_CODE","AREA_OF_USE_CODE","DATUM_SCOPE","REMARKS","INFORMATION_SOURCE","DATA_SOURCE","REVISION_DATE","CHANGE_ID","DEPRECATED","ESRI_DATUM_NAME" -1024,Hungarian Datum 1909,geodetic,"Fundamental point not given in information source, but presumably Szolohegy which is origin of later HD72.",1909-01-01,7004,8901,1119,Topographic mapping.,"Replaced earlier HD1863 adjustment also on Bessel ellipsoid. Both HD1863 and HD1909 were originally on Ferro Prime Meridian but subsequently converted to Greenwich. Replaced by HD72 (datum code 6237).","Timár, Molnár and Márta in Geodezia es Kartografia 55(3) pp16-21. www.fomi.hu/internet/magyar/szaklap/geodkart.htm",OGP,"2008/08/02",,0,"D_Hungarian_Datum_1909" -1025,Taiwan Datum 1967,geodetic,"Fundamental point: Hu Tzu Shan. Latitude: 23°58'32.34""N, longitude: 120°58'25.975""E (of Greenwich).",1967-01-01,7050,8901,3315,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Adopted in 1980. TWD67 uses the GRS 1967 ellipsoid but with 1/f to exactly 2 decimal places.","National Land Surveying and Mapping Center (NLSC), http://www.nlsc.gov.tw",OGP,"2008/08/11",,0,"D_TWD_1967" -1026,Taiwan Datum 1997,geodetic,ITRF94 at epoch 1997.0,1997-01-01,7019,8901,1228,"Geodetic survey, GIS, topographic mapping, engineering survey.",Adopted in 1998.,"National Land Surveying and Mapping Center (NLSC), http://www.nlsc.gov.tw",OGP,"2008/08/11",,0,"D_TWD_1997" -1027,EGM2008 geoid,vertical,Derived through EGM2008 geoid undulation model consisting of spherical harmonic coefficients to degree 2190 and order 2159 applied to the WGS 84 ellipsoid.,2008-01-01,,,1262,Geodesy.,"Replaces EGM96 geoid (datum code 5171). See transformation codes 3858 and 3859 for 2.5x2.5 and 1x1 arc minute geoid undulation grid files derived from the spherical harmonic coefficients.","http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm2008/egm08_wgs84.html",IOGP,"2015/11/25",2008.097 2015.056,0, -1028,Fao 1979,vertical,"Average sea level at Fao during two-year period in mid/late 1970s.",1979-01-01,,,3625,"Topographic mapping, geodetic survey.","Levelling network established by Polservice consortium. Replaces Fao (datum code 5149) in Iraq.","Survey Division, Ministry of Water Resources (MoWR).",OGP,"2010/03/01",2009.003 2010.014,0, -1029,Iraqi Geospatial Reference System,geodetic,ITRF2000 at epoch 1997.0,1997-01-01,7019,8901,1124,Geodetic survey.,,"Survey Division, Ministry of Water Resources (MoWR).",IOGP,"2016/09/16",2009.003 2016.020,0,"D_Iraqi_Geospatial_Reference_System" -1030,N2000,vertical,"Height at Metsaahovi (latitude 60.21762°N, longitude 24.39517°E) of 54.4233m related to EVRF2000 origin through Baltic Levelling Ring adjustment at epoch 2000.0.",2000-01-01,,,3333,"Topographic mapping, geodetic survey.","Realised through the third precise levelling network. Uses normal heights. Replaces N60 (datum code 5116). To account for isostatic land uplift use NKG2005 model.","National Land Survey of Finland; -http://www.maanmittauslaitos.fi",OGP,"2009/02/21",2008.112,0, -1031,MGI 1901,geodetic,"Fundamental point: Hermannskogel. Latitude: 48°16'15.29""N, longitude: 16°17'55.04""E (of Greenwich).",1901-01-01,7004,8901,2370,Geodetic survey.,"The longitude of the datum origin equates to the Albrecht 1902 value for the Ferro meridian of 17°39'46.02"" west of Greenwich. Densified in 1948.","The Ferro prime meridian, Gabor Timar (2007), Geodezia es Kartografia vol 59 issue 12 pages 3-7.",OGP,"2009/05/10",2009.015,0,"D_MGI_1901" -1032,MOLDREF99,geodetic,Densification of ETRS89.,1999-01-01,7019,8901,1162,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"State Agency for Land Relations & Cadastre.",OGP,"2009/05/11",2009.026,0,"D_MOLDREF99" -1033,Reseau Geodesique de la RDC 2005,geodetic,ITRF2000 at epoch 2005.4.,2005-05-26,7019,8901,3613,Geodetic survey.,,"""Revision du Tiers Meridional du Reseau Geodesique de la RDC"", COPIREP Reclus project report, 2005.",IOGP,"2016/09/16",2009.011 2016.020,0,"D_Reseau_Geodesique_de_la_RDC_2005" -1034,Serbian Reference Network 1998,geodetic,"Densification of ETRS89 in Serbia at epoch 1998.7 based on coordinates of 6 stations in Serbia of Yugoslav Reference Frame (YUREF) 1998 campaign.",1998-09-13,7019,8901,3534,Geodesy.,Observed 1998-2003.,"Delcev et al, FIG Working Week May 2009; http://www.gig.net/pub",IOGP,"2016/09/16",2009.015 2016.020,0,"D_Serbian_Reference_Network_1998" -1035,Red Geodesica de Canarias 1995,geodetic,ITRF93 at epoch 1994.9 at VLBI station Maspalomas on Grand Canary.,1994-11-24,7019,8901,3199,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaces Pico de las Nieves 1984 (PN84).","IGN Madrid. http://www.fomento.es.",IOGP,"2016/09/16",2009.033 2016.020,0,"D_Red_Geodesica_de_Canarias_1995" -1036,Reseau Geodesique de Mayotte 2004,geodetic,ITRF2000 at epoch 2004.0,2004-01-01,7019,8901,1159,"Geodetic survey, topographic mapping, engineering survey.","Replaces Combani 1950 (datum code 6632) except for cadastral purposes. (Cadastre 1997 (datum code 1037) used for cadastral purposes).",IGN Paris.,OGP,"2009/10/02",2009.072,0,"D_Reseau_Geodesique_de_Mayotte_2004" -1037,Cadastre 1997,geodetic,Coordinates of 1 station of Combani 1950 adjustment held fixed.,1997-01-01,7022,8901,3340,Cadastral survey.,Derived by adjustment of GPS-observed network which was constrained to Combani 1950 coordinates of one station.,CERTU.,OGP,"2009/10/02",2009.072,0,"D_Cadastre_1997" -1038,Reseau Geodesique de Saint Pierre et Miquelon 2006,geodetic,ITRF2000 at epoch 2006.0,2006-01-01,7019,8901,1220,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaces Saint Pierre et Miquelon 1950 (datum code 6638).",IGN Paris.,OGP,"2009/10/02",2009.072,0,"D_Reseau_Geodesique_de_St_Pierre_et_Miquelon_2006" -1039,New Zealand Vertical Datum 2009,vertical,New Zealand Quasigeoid 2009 which is defined by the application of the NZ geoid 2009 grid to NZGD2000 ellipsoidal heights. See transformation code 4459.,2009-01-01,,,1175,"Geodetic survey, topographic mapping, engineering survey.",,"Land Information New Zealand (LINZ) standard S25004.",OGP,"2012/01/21",2009.081 2011.004 2012.007,0, -1040,Dunedin-Bluff 1960,vertical,Common adjustment of Dunedin 1958 and Bluff 1955 networks.,1960-01-01,,,3806,"Geodetic survey, topographic mapping, engineering survey.",,"Land Information New Zealand (LINZ) standard S25004.",OGP,"2011/01/25",2009.081 2011.005,0, -1041,Autonomous Regions of Portugal 2008,geodetic,"ITRF93 as derived from the 1994 TransAtlantic Network for Geodynamics and Oceanography (TANGO) project.",1994-01-01,7019,8901,3670,Geodetic survey.,Replaces older classical datums for Azores and Madeira archipelagos.,"Instituto Geografico Portugues; http://www.igeo.pt",OGP,"2010/03/30",2010.006,0,"D_PTRA08" -1042,Mexico ITRF92,geodetic,ITRF1992 at epoch 1988.00.,1988-01-01,7019,8901,1160,Geodetic survey.,"Realised by a frame of 15 active GPS stations observed and adjusted in the ITRF1992. Includes ties to tide gauges. Replaces NAD27 (datum code 6267). Replaced by Mexico ITRF2008 (datum code 1120) from December 2010.","National Densifications per http://www.sirgas.org. See also www.fig.net/pub/cairo/papers/ts_13/ts13_03_hansen.pdf.",IOGP,"2016/09/16",2009.087 2010.090 2013.032 2016.020,0,"D_Mexican_Datum_of_1993" -1043,China 2000,geodetic,ITRF97 at epoch 2000.0,2000-01-01,1024,8901,1067,"Geodetic survey, topographic and engineering survey.",Combined adjustment of astro-geodetic observations as used for Xian 1980 and GPS control network observed 2000-2003. Adopted July 2008.,Chinese Academy of Surveying and Mapping.,OGP,"2012/01/05",2009.084 2011.103,0,"D_China_2000" -1044,Sao Tome,geodetic,"Fundamental point: Fortaleza. Latitude: 0°20'49.02""N, longitude: 6°44'41.85""E (of Greenwich).",,7022,8901,3645,"Topographic mapping, geodetic survey.",,"US Department of State Bureau of Intelligence and Research ""Limits in the Sea"" series #98.",OGP,"2009/11/24",2009.098,0,"D_Sao_Tome" -1045,New Beijing,geodetic,Derived by conformal transformation of Xian 1980 adjustment onto Krassowsky ellipsoid.,1982-01-01,7024,8901,3228,Topographic mapping.,From 1982 replaces Beijing 1954.,"Chinese Science Bulletin, 2009, 54:2714-2721.",OGP,"2010/03/01",2009.092 2010.014,0,"D_New_Beijing" -1046,Principe,geodetic,"Fundamental point: Morro do Papagaio. Latitude: 1°36'46.87""N, longitude: 7°23'39.65""E (of Greenwich).",,7022,8901,3646,"Topographic mapping, geodetic survey.",,"US Department of State Bureau of Intelligence and Research ""Limits in the Sea"" series #98.",OGP,"2009/11/24",2009.098,0,"D_Principe" -1047,Reseau de Reference des Antilles Francaises 1991,geodetic,WGS 84 coordinates of a single station determined during the 1988 Tango mission.,1991-01-01,7019,8901,2824,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaces Fort Marigot and Sainte Anne (datum codes 6621-22) in Guadeloupe and Fort Desaix (datum code 6625) in Martinique. Replaced by Reseau Geodesique des Antilles Francaises 2009 (datum code 1073).",IGN Paris.,OGP,"2011/05/09",2009.073 2011.030,0,"D_RRAF_1991" -1048,Tokyo 1892,geodetic,"Fundamental point: Nikon-Keido-Genten. Latitude: 35°39'17.5148""N, longitude: 139°44'30.0970""E (of Greenwich). Longitude derived in 1892.",1892-01-01,7004,8901,1364,"Cadastre, topographic mapping, engineering survey.","Extended from Japan to Korea in 1898. In Japan replaced by Tokyo 1918 (datum code 6301). In South Korea replaced by Tokyo 1918 (code 6301) only for geodetic purposes; for all other purposes replaced by Korean 1985 (code 6162).",Korean Association of Surveying and Mapping.,OGP,"2010/06/30",2010.050,0, -1049,Incheon,vertical,MSL 1913-1916 at Incheon Bay.,1963-01-01,,,3739,"Topographic mapping, geodetic survey.",,"National Geographic Information Institute (NGII).",OGP,"2010/06/30",2010.050,0, -1050,Trieste,vertical,"Reference point HM1(BV1)-Trieste defined relative to mean sea level at Trieste in 1875.",1875-01-01,,,2370,"Geodetic survey, topographic mapping, engineering survey.","Normal-orthometric heights. In Croatia replaced by HVRS71 (datum code 5207).","Eurogeographics, http://www.crs-geo.eu",OGP,"2010/07/12",2010.064,0, -1051,Genoa,vertical,,1942-01-01,,,3736,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,"Eurogeographics, http://www.crs-geo.eu",OGP,"2010/07/12",2010.064,0, -1052,"System Jednotne Trigonometricke Site Katastralni/05",geodetic,Constrained to S-JTSK but realised through readjustment in projected CRS domain. Related to ETRS89 R05 realisation through transformation code 5226.,2009-01-01,7004,8901,1079,"Geodetic survey, cadastre, topographic mapping, engineering survey.","S-JTSK = System of the Unified Trigonometrical Cadastral Network.","Land Survey Office (ZU), Prague. www.cuzk.cz/zu",OGP,"2010/10/29",2010.071,0,"D_S_JTSK_05" -1053,Sri Lanka Datum 1999,geodetic,"Fundamental point: ISM Diyatalawa. Latitude: 6°49'02.687""N, longitude: 80°57'40.880""E.",1999-01-01,7015,8901,3310,Topographic mapping.,Introduced in 2000.,"Abeyratne, Featherstone and Tantrigoda in Survey Review vol. 42 no. 317 (July 2010).",OGP,"2010/08/07",2010.080,0,"D_Sri_Lanka_Datum_1999" -1054,Sri Lanka Vertical Datum,vertical,MSL at Colombo 1884-1889.,1932-01-01,,,3310,"Geodetic survey, topographic mapping, engineering survey.","Normal-orthometric heights, but often referred to as ""orthometric"".","Abeyratne, Featherstone and Tantrigoda in Survey Review vol. 42 no. 317 (July 2010).",OGP,"2010/08/07",2010.080,0, -1055,"System Jednotne Trigonometricke Site Katastralni/05 (Ferro)",geodetic,Constrained to S-JTSK but realised through readjustment in projected CRS domain.,2009-01-01,7004,8909,1079,"Geodetic survey, cadastre, topographic mapping, engineering survey.","S-JTSK = System of the Unified Trigonometrical Cadastral Network.","Land Survey Office (ZU), Prague. www.cuzk.cz/zu",OGP,"2010/10/29",2010.071,0,"D_S_JTSK_05" -1056,Geocentric Datum Brunei Darussalam 2009,geodetic,ITRF2005 at epoch 2009.45,2009-06-13,7019,8901,1055,Geodetic survey.,Replaces use of Timbalai from July 2009.,"Survey Department, Brunei.",IOGP,"2016/09/16",2010.057 2016.020,0,"D_GDBD2009" -1057,Turkish National Reference Frame,geodetic,ITRF96 at epoch 2005.0,2005-01-01,7019,8901,1237,Geodetic survey.,,"General Command of Mapping via EuroGeographics; http://www.crs-geo.eu/",OGP,"2010/09/06",2010.085,0,"D_Turkish_National_Reference_Frame" -1058,Bhutan National Geodetic Datum,geodetic,ITRF2000 at epoch 2003.87,2003-11-14,7019,8901,1048,Geodetic survey.,,"Department of Survey and Land Records (DSLR), National Land Commission of Bhutan (NLC) via Lantmäteriet Sweden.",IOGP,"2016/09/16",2010.086 2016.020,0,"D_Bhutan_National_Geodetic_Datum" -1059,Faroe Islands Vertical Reference 2009,vertical,,2009-01-01,,,3248,Topographic mapping and engineering survey,Mean Tidal Height System.,"Kort & Matrikelstyrelsen (KMS), Copenhagen.",OGP,"2010/10/27",2010.092,0, -1060,Islands Net 2004,geodetic,ITRF2000 at epoch 2004.6.,2004-08-07,7019,8901,1120,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaces ISN93 (datum code 6659).","Landmaelingar Islands (National Land Survey of Iceland). http://www.lmi.is",IOGP,"2016/09/16",2010.101 2016.020,0,"D_Islands_Network_2004" -1061,International Terrestrial Reference Frame 2008,geodetic,Origin at geocentre. The ITRF2008 origin is defined in such a way that there are null translation parameters at epoch 2005.0 and null translation rates between the ITRF2008 and the ILRS SLR time series.,2005-01-01,7019,8901,1262,Geodesy.,"Realisation of the IERS Terrestrial Reference System (ITRS) from 2012. Replaces ITRF2005 (code 6896).","International Earth Rotation Service (IERS) Technical Note No. 37, published in 2012. Also at IGN Paris http://itrf.ensg.ign.fr/itrs_itrf.php",OGP,"2015/01/04",2011.002 2014.072 2014.092,0, -1062,Posiciones Geodesicas Argentinas 2007,geodetic,"A geodetic network of 211 high accuracy surveyed points (178 passive and 33 continuous operating) based on ITRF2005, Epoch 2006.6, that define the National Geodetic System (Sistema Geodésico Nacional) effective 15 May 2009.",2006-08-07,7019,8901,1033,"Topographic mapping, geodetic survey.","POSGAR 07 has been adopted by order of the Director of the National Geographic Institute on May 15, 2009, as the new National Geodetic Reference Frame and replaces the pre-existing POSGAR 94.","Instituto Geográfico Militar de la República Argentina, http://www.ign.gob.ar/proyectos/posgar2007/introduccion",IOGP,"2016/09/16",2009.028 2016.020,0,"D_POSGAR_2007" -1063,Marco Geodesico Nacional de Bolivia,geodetic,"IGS05 (ITRF2005) at epoch 2010.2. Densification of SIRGAS95 network in Bolivia, consisting of 125 passive geodetic stations and 8 continuous recording GPS stations.",2010-03-14,7019,8901,1049,Geodetic survey.,"Densification of SIRGAS 1995 within Bolivia. Replaces PSAD56 (datum code 6248) in Bolivia.","Sistema de Referencia Geocentrico para las Americas (SIRGAS) Boletin Informativo No 12, Aug 2007 and www.sirgas.org/fileadmin/docs/Boletines/Bol12/09_Actividades_SIRGAS_en_Bolivia_Herbas.pdf by Instituto Geográfico Militar de Bolivia, June 2007.",IOGP,"2016/09/16",2011.018 2016.020,0,"D_Marco_Geodesico_Nacional" -1064,SIRGAS-Chile,geodetic,"ITRF2000 at epoch 2002.0. Densification of SIRGAS 2000 network in Chile, consisting of 650 monumented stations.",2002-01-01,7019,8901,1066,Geodetic survey.,"Densification of SIRGAS 2000 within Chile. Replaces PSAD56 (datum code 6248) in Chile, replaces HITO XVIII (datum code 6254) in Chilean Tierra del Fuego and replaces Easter Island 1967 (datum code 6719) in Easter Island.","IGM Chile Report: 31_Parra_Baez_Chilean_part_of_SIRGAS.pdf on sirgas.org website (www.sirgas.org website national networks list shows 269 passive and 13 continuous stations in this network whereas IGM Chile source document cites 650 stations).",IOGP,"2016/09/16",2011.018 2016.020,0,"D_SIRGAS-Chile" -1065,Costa Rica 2005,geodetic,"ITRF2000 at epoch 2005.83. Network of 34 GPS stations throughout the country, five of which were connected to four Caribbean area ITRF stations.",2005-10-30,7030,8901,1074,Geodetic survey.,"Replaces Ocotepeque (datum code 1070) in Costa Rica from March 2007.","Instituto Geografico Nacional Costa Rica report: El Sistema de Referencia CR05 y la Proyeccion Transversal de Mercator para Costa Rica CRTM05. (Report available through www.sirgas.org website in national networks list).",IOGP,"2016/09/16",2011.018 2016.020,0,"D_Costa_Rica_2005" -1066,Sistema Geodesico Nacional de Panama MACARIO SOLIS,geodetic,"ITRF2000 at epoch 2000.0. Densification of SIRGAS 2000 network in Panama, consisting of 20 GPS stations throughout the country.",2000-01-01,7019,8901,1186,Geodetic survey.,,Details taken from summary on national networks list on www.sirgas.org website.,IOGP,"2016/09/16",2011.018 2016.020,0,"D_SGNP_MARCARIO_SOLIS" -1067,Peru96,geodetic,"Densification of SIRGAS95 network in Peru, consisting of 47 passive geodetic stations and 3 continuous recording GPS stations. Documented as ITRF94 at epoch 1995.4 but possibly a rounded value as SIRGAS95 is at epoch 1995.42.",1996-06-02,7019,8901,1189,Geodetic survey.,"Densification of SIRGAS 1995 within Peru. Replaces PSAD56 (datum code 6248) in Peru.","Details taken from national realizations page of WWW.SIRGAS.ORG, confirmed by reports from IGN Peru.",IOGP,"2016/09/16",2011.018 2016.020,0,"D_Peru96" -1068,SIRGAS-ROU98,geodetic,"Densification of SIRGAS95 network in Uruguay, consisting of 17 passive geodetic stations and 3 continuous recording GPS stations. Documented as ITRF94 at epoch 1995.4 but possibly a rounded value as SIRGAS95 is at epoch 1995.42.",1995-06-02,7030,8901,1247,Geodetic survey.,"Densification of SIRGAS 1995 within Uruguay. Replaces Yacare (datum code 6309) in Uruguay. Uruguay documentation clearly states use of WGS 84 reference ellipsoid.","Sistema de Referencia Geocentrico para las Americas: SIRGAS, Boletin Informativo No 12, Aug 2007; www.sirgas.org.national network densification summary and NuevoMarco Uruguay_param.pdf by Servicio Geográfico Militar of Uruguay, May 2004.",IOGP,"2016/09/16",2011.018 2016.020,0,"D_SIRGAS-ROU98" -1069,"SIRGAS_ES2007.8",geodetic,"ITRF2005 at epoch 2007.85. Densification of SIRGAS-CON network in El Salvador, consisting of 38 monumented stations.",2007-11-07,7019,8901,1087,Geodetic survey.,SIRGAS-ES2007.8 is the national SIRGAS densification.,"Integration of the reference frame of El Salvador into SIRGAS (SIRGAS-ES2007.8) report by GG-IGCN (El Salvador) & DGFI (Germany) available from www.sirgas.org. (Information also summarised on www.sirgas.org website national networks list).",IOGP,"2016/09/16",2011.018 2011.061 2016.020,0,"D_SIRGAS_ES2007.8" -1070,Ocotepeque 1935,geodetic,"Fundamental point: Base Norte. Latitude: 14°26'20.168""N, longitude: 89°11'33.964""W.",1935-07-01,7008,8901,3876,Topographic mapping and engineering survey.,"Replaced in Costa Rica by Costa Rica 2005 (CR05) from March 2007 and replaced in El Salvador by SIRGAS_ES2007 from August 2007.","Clifford Mugnier's PE&RS articles on Belize, Costa Rica, El Salvador, Guatemala, Honduras, Nicaragua, Panama (www.asprs.org/resources/grids/) also substantiated in IGN Costa Rica report on CR05 / CRTM05 (Report available from WWW.SIRGAS.ORG website).",OGP,"2011/03/26",2011.026,0,"D_Ocotepeque_1935" -1071,Sibun Gorge 1922,geodetic,"Latitude: 17º03'40.471""N, longitude: 88º37'54.687""W.",1922-07-01,7007,8901,3219,Topographic mapping and engineering survey.,,"Clifford Mugnier's March 2009 PE&RS ""Grids and Datums"" article on Belize (www.asprs.org/resources/grids/).",OGP,"2011/03/26",2011.026,0,"D_Sibun_Gorge_1922" -1072,Panama-Colon 1911,geodetic,"Fundamental point: Balboa Hill. Latitude: 09°04'57.637""N, longtitude: 79°43'50.313""W.",1911-07-01,7008,8901,3290,Topographic mapping and engineering survey.,"Reports of the existence of an Ancon datum are probably erroneous, considering that the origin of the Panamá-Colón Datum of 1911 is at Balboa Hill and the access road up the hill is from the town of Ancon, Canal Zone.","Clifford Mugnier's PE&RS July 1999 Grids and Datums article on The Republic of Panama, (www.asprs.org/resources/grids/).",OGP,"2011/03/26",2011.026,0,"D_Panama-Colon-1911" -1073,Reseau Geodesique des Antilles Francaises 2009,geodetic,ITRF2005 at epoch 2009.0,2009-01-01,7019,8901,2824,"Geodetic survey, cadastre, topographic mapping, engineering survey.",Replaces RRAF91 in Martinique and Guadeloupe.,IGN Paris.,OGP,"2011/03/23",2011.030,0,"Reseau_Geodesique_des_Antilles_Francaises_2009" -1074,Corrego Alegre 1961,geodetic,"Fundamental point: Corrego Alegre. Latitude: 19°50'14.91""S, longitude: 48°57'41.98""W (of Greenwich).",1961-01-01,7022,8901,3874,"Topographic mapping, geodetic survey.","Replaced by Corrego Alegre 1970-72 (datum code 6225). NIMA gives coordinates of origin as latitude: 19°50'15.14""S, longitude: 48°57'42.75""W.",IBGE,OGP,"2011/07/10",2011.053,0,"D_Corrego_Alegre_1961" -1075,"South American Datum 1969(96)",geodetic,"Fundamental point: Chua. Geodetic latitude: 19°45'41.6527""S; geodetic longitude: 48°06'04.0639""W (of Greenwich). (Astronomic coordinates: Latitude 19°45'41.34""S +/- 0.05"", longitude 48°06'07.80""W +/- 0.08"").",1996-01-01,7050,8901,1053,Topographic mapping.,"SAD69 uses GRS 1967 ellipsoid but with 1/f to exactly 2 decimal places. Replaces original 1969 adjustment (datum code 6618) in Brazil.",IBGE.,OGP,"2012/11/26",2011.053 2012.070,0,"D_South_American_Datum_1969_96" -1076,Papua New Guinea Geodetic Datum 1994,geodetic,ITRF92 at epoch 1994.0.,1994-01-01,7019,8901,1187,"Topographic mapping, geodetic, engineering and cadastral survey.",Adopted 1996. Coincident with WGS 84 in 1994 but rapidly divergent due to significant tectonic motion in PNG.,"Quickclose Geomatics and http://www.aspng.org/techinfopng94.htm",OGP,"2011/07/15",2011.059,0,"D_Papua_New_Guinea_Geodetic_Datum_1994" -1077,Ukraine 2000,geodetic,Orientation and scale constrained to be same as ITRF2000 at epoch 2005.0. Position is minimised deviation between reference ellipsoid and quasigeoid in territory of Ukraine.,2005-01-01,7024,8901,1242,Geodesy.,,"Berlin 2008 GNSS Symposium paper 4-7 (""Creation of ZAKPOS active Network Reference Stations for Transcarpathian Region of Ukraine"") by Savchuk et al.",OGP,"2012/12/17",2011.044 2012.087,0,"D_Ukraine_2000" -1078,Fehmarnbelt Datum 2010,geodetic,ITRF2005 at epoch 2010.14.,2010-02-21,7019,8901,3889,Engineering survey and construction of Fehmarnbelt tunnel.,Defined through coordinates of four permanant GNSS stations.,"Femern A/S.",IOGP,"2016/09/16",2011.083 2016.020,0,"D_Fehmarnbelt_Datum_2010" -1079,Fehmarnbelt Vertical Reference 2010,vertical,"Realised by precise levelling between tide gauges at Marienleuchte (Germany), Rodbyhavn (Denmark) and four Fehmarnbelt project GNSS stations.",2010-01-01,,,3890,Engineering survey and construction of Fehmarnbelt tunnel.,,"Femern A/S",OGP,"2011/09/24",2011.083,0, -1080,Lowest Astronomic Tide,vertical,The lowest tide level which can be predicted to occur under average meterological conditions and under any combination of astronomical conditions.,,,,1262,Hydrography and Nautical Charting.,"Users are advised to not use this generic vertical datum but to define explicit realisations of LAT by specifying location and epoch, for instance ""LAT at xxx during yyyy-yyyy"".","IHO Dictionary, S-32, 5th Edition, 2936.",OGP,"2012/08/10",2011.047,0, -1081,Deutsche Bahn Reference System,geodetic,"Defined by transformation from ETRS89 (transformation code 5826) to be an average of DHDN across all states of Germany.",,7004,8901,3339,Engineering survey for railway applications.,,"Deutsche Bahn AG via Geo++, www.geopp.de",OGP,"2012/03/25",2011.101 2012.034,0,"D_Deutsche_Bahn_Reference_System" -1082,Highest Astronomic Tide,vertical,The highest tide level which can be predicted to occur under average meterological conditions and under any combination of astronomical conditions.,,,,1262,Hydrography and Nautical Charting.,"Users are advised to not use this generic vertical datum but to define explicit realisations of HAT by specifying location and epoch, for instance ""HAT at xxx during yyyy-yyyy"".","IHO Dictionary, S-32, 5th Edition, 2244.",OGP,"2012/08/10",2011.047,0, -1083,Lower Low Water Large Tide,vertical,"The average of the lowest low waters, one from each of 19 years of observations.",,,,1262,Hydrography and Nautical Charting.,"Users are advised to not use this generic vertical datum but to define explicit realisations of LLWLT by specifying location and epoch, for instance ""LLWLT at xxx during yyyy-yyyy"".",UK Hydrographic Office.,OGP,"2012/08/10",2011.047,0, -1084,Higher High Water Large Tide,vertical,"The average of the highest high waters, one from each of 19 years of observations.",,,,1262,Hydrography and Nautical Charting.,"Users are advised to not use this generic vertical datum but to define explicit realisations of HHWLT by specifying location and epoch, for instance ""HHWLT at xxx during yyyy-yyyy"".",UK Hydrographic Office.,OGP,"2012/08/10",2011.047,0, -1085,Indian Spring Low Water,vertical,"The level below MSL equal to the sum of the amplitudes of the harmonic constituents M2, S2, K1 and O1. It approximates mean lower low water spring tides (MLLWS).",,,,1262,Hydrography and Nautical Charting.,"Users are advised to not use this generic vertical datum but to define explicit realisations of ISLW by specifying location and epoch, for instance ""ISLW at xxx during yyyy-yyyy"".","IHO Dictionary, S-32, 5th Edition, 2427.",OGP,"2012/08/10",2011.047,0, -1086,Mean Lower Low Water Spring Tides,vertical,The average height of the lower low water spring tides at a place.,,,,1262,Hydrography and Nautical Charting.,"Users are advised to not use this generic vertical datum but to define explicit realisations of MLLWS by specifying location and epoch, for instance ""MLLWS at xxx during yyyy-yyyy"".","IHO Dictionary, S-32, 5th Edition, 3146.",OGP,"2012/08/10",2011.047,0, -1087,Mean Low Water Spring Tides,vertical,The average height of the low waters of spring tides.,,,,1262,Hydrography and Nautical Charting.,"Users are advised to not use this generic vertical datum but to define explicit realisations of MLWS by specifying location and epoch, for instance ""MLWS at xxx during yyyy-yyyy"".","IHO Dictionary, S-32, 5th Edition, 3150.",OGP,"2012/08/10",2011.047,0, -1088,Mean High Water Spring Tides,vertical,The average height of the high waters of spring tides.,,,,1262,Hydrography and Nautical Charting.,"Users are advised to not use this generic vertical datum but to define explicit realisations of MHWS by specifying location and epoch, for instance ""MHWS at xxx during yyyy-yyyy"".","IHO Dictionary, S-32, 5th Edition, 3144.",OGP,"2012/08/10",2011.047,0, -1089,Mean Lower Low Water,vertical,The average height of the lower low waters at a place over a 19-year period.,,,,1262,Hydrography and Nautical Charting.,"Users are advised to not use this generic vertical datum but to define explicit realisations of MLLW by specifying location and epoch, for instance ""MLLW at xxx during yyyy-yyyy"".","IHO Dictionary, S-32, 5th Edition, 3145.",OGP,"2012/08/10",2011.047,0, -1090,Mean Higher High Water,vertical,The average height of the higher high waters at a place over a 19-year period.,,,,1262,Hydrography and Nautical Charting.,"Users are advised to not use this generic vertical datum but to define explicit realisations of MHHW by specifying location and epoch, for instance ""MHHW at xxx during yyyy-yyyy"".","IHO Dictionary, S-32, 5th Edition, 3140.",OGP,"2012/08/10",2011.047,0, -1091,Mean Low Water,vertical,The average height of all low waters at a place over a 19-year period.,,,,1262,Hydrography and Nautical Charting.,"Users are advised to not use this generic vertical datum but to define explicit realisations of MLW by specifying location and epoch, for instance ""MLW at xxx during yyyy-yyyy"".","IHO Dictionary, S-32, 5th Edition, 3147.",OGP,"2012/08/10",2011.047,0, -1092,Mean High Water,vertical,The average height of the high waters at a place over a 19-year period.,,,,1262,Hydrography and Nautical Charting.,"Users are advised to not use this generic vertical datum but to define explicit realisations of MHW by specifying location and epoch, for instance ""MHW at xxx during yyyy-yyyy"".","IHO Dictionary, S-32, 5th Edition, 3141.",OGP,"2012/08/10",2011.047,0, -1093,Low Water,vertical,"The lowest level reached by the water surface in one tidal cycle. When used in inland (non-tidal) waters it is generally defined as a level which the daily mean water level would fall below less than 5% of the time.",,,,1262,"Hydrography and Nautical Charting, mostly in harbour and river engineering.","On a river it is a sloping surface. Users are advised to not use this generic vertical datum but to define explicit realisations of low water by specifying location and epoch, for instance ""Low water at xxx during yyyy-yyyy"".",Canadian Hydrographic Service,OGP,"2012/08/10",2011.047,0, -1094,High Water,vertical,"The highest level reached at a place by the water surface in one tidal cycle. When used on inland (non-tidal) waters it is generally defined as a level which the daily mean water level exceeds less than 5% of the time.",,,,1262,"Hydrography and Nautical Charting, mostly in harbour and river engineering.","Users are advised to not use this generic vertical datum but to define explicit realisations of high water by specifying location and epoch, for instance ""High water at xxx during yyyy-yyyy"".","IHO Dictionary, S-32, 5th Edition, 2251.",OGP,"2012/08/10",2011.047,0, -1095,Tonga Geodetic Datum 2005,geodetic,Based on ITRF2000 at epoch 2005.0,2005-01-01,7019,8901,1234,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"World Bank Cyclone Emergency Recovery and Management Project, Report 7, Report of the Development of a Geodetic Datum and Map Grid for the Kingdom of Tonga, prepared for the Ministry of Lands, Survey and Natural Resources, 1st November 2004.",IOGP,"2016/09/16",2012.085 2016.020,0, -1096,Norway Normal Null 2000,vertical,"Adjustment is referenced to mean high tide at Amsterdams Peil in 1684. To account for land level movements caused by isostatic rebound, heights are reduced to epoch 2000.0 using values computed from the NKG2005LU uplift model.",2000-01-01,,,1352,"Topographic mapping, geodetic survey.",Replaces NN54. Uses Normal heights.,Norwegian Mapping Authority.,OGP,"2012/12/17",2012.094,0, -1097,Grand Cayman Vertical Datum 1954,vertical,,1954-01-01,,,3185,"Topographic mapping, geodetic survey.",,"Lands and Surveys Department, Cayman Islands Government.",OGP,"2012/12/08",2012.095,0, -1098,Little Cayman Vertical Datum 1961,vertical,,1961-01-01,,,4121,"Topographic mapping, geodetic survey.",,"Lands and Surveys Department, Cayman Islands Government.",OGP,"2012/12/08",2012.095,0, -1099,Cayman Brac Vertical Datum 1961,vertical,,1961-01-01,,,3207,"Topographic mapping, geodetic survey.",,"Lands and Surveys Department, Cayman Islands Government.",OGP,"2012/12/08",2012.095,0, -1100,Cayman Islands Geodetic Datum 2011,geodetic,ITRF2005 at epoch 2011.0,2011-01-01,7019,8901,1063,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaces GCGD59 (datum code 6723) and SIGD61 (datum code 6726).","Lands and Surveys Department, Cayman Islands Government.",OGP,"2012/12/08",2012.095,0, -1101,Cais da Pontinha - Funchal,vertical,"Mean Sea Level during 1913 at Cais da Pontinha, Funchal.",1913-01-01,,,4125,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,"General Directorate of Land, http://www.dgterritorio.pt/",OGP,"2013/04/10",2013.010,0, -1102,Cais da Vila - Porto Santo,vertical,"Mean Sea Level during 1936 at Cais da Vila, Porto Santo.",1936-01-01,,,3680,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,"General Directorate of Land, http://www.dgterritorio.pt/",OGP,"2013/04/10",2013.010,0, -1103,Cais das Velas,vertical,Mean Sea Level during 1937 at Cais das Velas.,1937-01-01,,,2875,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,"General Directorate of Land, http://www.dgterritorio.pt/",OGP,"2013/04/10",2013.010,0, -1104,Horta,vertical,Mean Sea Level during 1935 at Horta.,1935-01-01,,,2873,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,"General Directorate of Land, http://www.dgterritorio.pt/",OGP,"2013/04/10",2013.010,0, -1105,Cais da Madalena,vertical,Mean Sea Level during 1937 at Cais da Madalena.,1937-01-01,,,2874,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,"General Directorate of Land, http://www.dgterritorio.pt/",OGP,"2013/04/10",2013.010,0, -1106,Santa Cruz da Graciosa,vertical,Mean Sea Level during 1938 at Santa Cruz da Graciosa.,1938-01-01,,,3681,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,"General Directorate of Land, http://www.dgterritorio.pt/",OGP,"2013/04/10",2013.010,0, -1107,Cais da Figueirinha - Angra do Heroismo,vertical,"Mean Sea Level during 1951 at Cais da Figueirinha - Angra do Heroísmo.",1951-01-01,,,2872,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,"General Directorate of Land, http://www.dgterritorio.pt/",OGP,"2014/09/18",2013.010 2014.064,0, -1108,Santa Cruz das Flores,vertical,Mean Sea Level during 1965 at Santa Cruz das Flores.,1965-01-01,,,1344,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,"General Directorate of Land, http://www.dgterritorio.pt/",OGP,"2013/04/10",2013.010,0, -1109,Cais da Vila do Porto,vertical,"Mean Sea Level during 1965 at Cais da Vila, Porto.",1965-01-01,,,4126,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,"General Directorate of Land, http://www.dgterritorio.pt/",OGP,"2013/04/10",2013.010,0, -1110,Ponta Delgada,vertical,Mean Sea Level during 1991 at Ponta Delgada.,1991-01-01,,,2871,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,"General Directorate of Land, http://www.dgterritorio.pt/",OGP,"2013/04/10",2013.010,0, -1111,Nepal 1981,geodetic,"Fundamental point: Station 12/157 Nagarkot. Latitude: 27°41'31.04""N, longitude: 85°31'20.23""E (of Greenwich).",1981-01-01,7015,8901,1171,"Geodetic survey, topographic mapping.",,Nepal Survey Department www.dos.gov.np and Nepalese Journal on Geoinformatics June 2011.,OGP,"2013/06/26",2013.018,0, -1112,Cyprus Geodetic Reference System 1993,geodetic,"Station Chionistra (Mount Troodos). Network scale and orientation determined by connection of six stations to ITRF91 in Europe at epoch 1993.1.",1993-02-01,7030,8901,3236,Survey plans and maps produced by DLS after 1993.,,"Cyprus Department of Lands and Surveys (DLS).",IOGP,"2016/02/15",2014.091 2016.008,0, -1113,Reseau Geodesique des Terres Australes et Antarctiques Francaises 2007,geodetic,ITRF2005 at epoch 2007.274,2007-04-10,7019,8901,4246,"Geodetic survey, topographic mapping, engineering survey.","Replaces IGN 1963-64 on Amsterdam, Saint-Paul 1969 on St Paul, IGN64 on Crozet, MHM 1954 on Europa, IGN 1962 on Kerguelan, and Petrels 1972 and Perroud 1950 in Adelie Land.",IGN Paris.,IOGP,"2015/04/25",2015.027,0, -1114,Israeli Geodetic Datum 2005,geodetic,"Defined by coordinates of 13 Active Positioning Network (APN) stations in ITRF2000 at epoch 2004.75. A further five APN stations were added in 2006.",2004-10-01,7030,8901,1126,Geodetic Survey.,"Replaces Israel 1993 (datum code 6141). Replaced by IGD05/12 (datum code 1115).",Survey of Israel.,IOGP,"2015/06/20",2015.020,0, -1115,"Israeli Geodetic Datum 2005(2012)",geodetic,Datum updated in 2012 with four APN stations removed from definition. Coordinate epoch remains ITRF2000 at epoch 2004.75.,2004-10-01,7030,8901,1126,Geodetic Survey.,"Replaces IGD05 (datum code 1114).",Survey of Israel.,IOGP,"2015/06/20",2015.020,0, -1116,"NAD83 (National Spatial Reference System 2011)",geodetic,"Coordinates of a nationwide adjustment of 79,546 NGS ""passive"" control stations in CONUS and Alaska, constrained to 1,171 current CORS station coordinates at epoch 2010.0.",2012-06-12,7019,8901,1511,Geodetic survey.,"Replaces NAD83(NSRS2007). ITRF2008 is understood to underlay the latest CORS station coordinates.","U.S. National Geodetic Survey, http://www.ngs.noaa.gov/",OGP,"2013/06/07",2013.022,0, -1117,"NAD83 (National Spatial Reference System PA11)",geodetic,"Coordinates of a nationwide adjustment including 345 NGS ""passive"" control stations constrained to 24 current Pacific CORS station coordinates at epoch 2010.0.",2012-06-12,7019,8901,4162,Geodetic survey.,"Replaces NAD83(HARN) in American Samoa and Hawaii. ITRF2008 is understood to underlay the latest CORS station coordinates.","U.S. National Geodetic Survey, http://www.ngs.noaa.gov/",OGP,"2013/06/07",2013.022,0, -1118,"NAD83 (National Spatial Reference System MA11)",geodetic,"Coordinates of a nationwide adjustment including 171 NGS ""passive"" control stations constrained to 24 current Pacific CORS station coordinates at epoch 2010.0.",2012-06-12,7019,8901,4167,Geodetic survey.,"Replaces NAD83(HARN) (GGN93) code 6152 in Guam. ITRF2008 is understood to underlay the latest CORS station coordinates.","U.S. National Geodetic Survey, http://www.ngs.noaa.gov/",OGP,"2013/06/08",2013.022,0, -1119,Northern Marianas Vertical Datum of 2003,vertical,"Mean sea level at Tanapag harbor, Saipan. Benchmark 1633227 TIDAL UH-2C = 1.657m relative to National Tidal Datum Epoch 1983-2001. Transferred to Rota (East Harbor, BM TIDAL 3 = 1.482m) and Tinian (Harbor BM TIDAL 1 = 2.361m).",2003-01-01,,,4171,"Topographic mapping, geodetic survey.",Replaces all earlier vertical datums on these islands.,"National Geodetic Survey; http://www.ngs.noaa.gov",OGP,"2013/10/18",2013.044,0, -1120,Mexico ITRF2008,geodetic,ITRF2008 at epoch 2010.00.,2010-01-01,7019,8901,1160,Geodetic survey.,"Realised by a frame of 15 active GPS stations observed and adjusted in the ITRF2008. Includes ties to tide gauges. Replaces Mexico ITRF92 (datum code 1042).","INEGI, http://www.inegi.org.mx",OGP,"2013/08/04",2013.032,0, -1121,Tutuila Vertical Datum of 1962,vertical,"Mean sea level at Pago Pago harbor, Tutuila, over 10 years 1949-1955 and 1957-1959. Benchmark NO 2 1948 = 7.67ftUS.",1962-01-01,,,2288,"Topographic mapping, geodetic survey.","Replaced by American Samoa Vertical Datum of 2002 (datum code 1125).","National Geodetic Survey; http://www.ngs.noaa.gov",OGP,"2013/10/25",2013.044,0, -1122,Guam Vertical Datum of 1963,vertical,"Mean sea level at Apra harbor, Guam, 1949-1962. Benchmark NO 5 1949 = 0.599m.",1963-01-01,,,3255,"Topographic mapping, geodetic survey.","Replaced by Guam vertical datum of 2004 (datum code 1126).","National Geodetic Survey; http://www.ngs.noaa.gov",OGP,"2013/10/25",2013.044,0, -1123,Puerto Rico Vertical Datum of 2002,vertical,"Mean sea level at San Juan. Benchmark 9756371 A TIDAL = 1.334m relative to National Tidal Datum Epoch 1960-1978.",2002-01-01,,,3294,"Topographic mapping, geodetic survey.",Replaces all earlier vertical datums for Puerto Rico.,"National Geodetic Survey; http://www.ngs.noaa.gov",OGP,"2013/10/26",2013.044,0, -1124,Virgin Islands Vertical Datum of 2009,vertical,"Mean sea level for National Tidal Datum Epoch 1983–2001 at (i) Lime Tree Bay, St. Croix (BM 9751401 M = 3.111m) , (ii) Lameshur Bay, St. John (BM 9751381 TIDAL A = 1.077m) , and (iii) Charlotte Amalie, St. Thomas (BM 9751639 F = 1.552m).",2009-01-01,,,3330,"Topographic mapping, geodetic survey.",Replaces all earlier vertical datums on these islands.,"National Geodetic Survey; http://www.ngs.noaa.gov",OGP,"2013/10/25",2013.044,0, -1125,American Samoa Vertical Datum of 2002,vertical,"Mean sea level at Pago Pago harbor, Tutuila. Benchmark 1770000 S TIDAL = 1.364m relative to National Tidal Datum Epoch 1983-2001.",2002-01-01,,,2288,"Topographic mapping, geodetic survey.","Replaces Tutuila vertical datum of 1962 (datum code 1121).","National Geodetic Survey; http://www.ngs.noaa.gov",OGP,"2013/10/25",2013.044,0, -1126,Guam Vertical Datum of 2004,vertical,"Mean sea level at Apra harbor, Guam. Benchmark 1630000 TIDAL 4 = 2.170m relative to US National Tidal Datum Epoch 1983-2001. MSL is 0.419m above MLLW and the BM is 2.589m above MLLW.",2004-01-01,,,3255,"Topographic mapping, geodetic survey.","Replaces Guam Vertical Datum of 1963 (datum code 1122).","National Geodetic Survey; http://www.ngs.noaa.gov",OGP,"2013/10/25",2013.044,0, -1127,Canadian Geodetic Vertical Datum of 2013,vertical,"Defined by the equipotential surface W0 = 62,636,856.0 m^2s^-2, which by convention represents the coastal mean sea level for North America.",2013-11-01,,,1061,"Topographic mapping, geodetic survey.","Replaces CGVD28 (datum code 5114) from November 2013.","Geodetic Survey Division, Natural Resources Canada.",OGP,"2013/12/13",2013.064,0, -1128,Japanese Geodetic Datum 2011,geodetic,"ITRF94 at epoch 1997.0 except for northern Honshu area impacted by 2011 Tohoku earthquake which is ITRF2008 at epoch 2011.395. Fundamental point: Tokyo-Taisho, latitude: 35°39'29.1572""N, longitude: 139°44'28.8869""E (of Greenwich).",2011-05-24,7019,8901,1129,"Geodetic survey, topographic and engineering survey.","Instigated under amendment to the Japanese Surveying Law with effect from 21st October 2011. Replaces JGD2000 (datum code 6612).","Geodetic Department, Geospatial Information Authority of Japan (GSI).",OGP,"2013/12/15",2013.063,0, -1129,Japanese Standard Levelling Datum 1972,vertical,Mean sea level Oshoro 1963-72.,1972-01-01,,,4168,"Topographic mapping, geodetic survey.","Normal-orthometric heights. Replaced by JGD2000 (vertical) (datum code 1130) with effect from April 2002.","Geospatial Information Authority of Japan (GSI) bulletin volume 51 of March 2004.",OGP,"2013/12/16",2013.063,0, -1130,"Japanese Geodetic Datum 2000 (vertical)",vertical,24.4140 metres above mean sea level Tokyo Bay.,2002-04-01,,,3263,"Topographic mapping, geodetic survey.","Orthometric heights. Replaces JSLD69 and JSLD72 with effect from April 2002. Replaced by JGD2011 (vertical) (datum code 1131) with effect from 21st October 2011.","Geospatial Information Authority of Japan (GSI) bulletin volume 51 of March 2004.",OGP,"2013/12/15",2013.063,0, -1131,"Japanese Geodetic Datum 2011 (vertical)",vertical,24.3900 metres above mean sea level Tokyo Bay.,2011-10-31,,,3263,"Topographic mapping, geodetic survey.","Orthometric heights. Replaces JGD2000 (vertical) (datum code 1130) with effect from 21st October 2011.","Geodetic Department, Geospatial Information Authority of Japan (GSI).",OGP,"2013/12/15",2013.063,0, -1132,Rete Dinamica Nazionale 2008,geodetic,"Italian densification of ETRS89 realised through network of 99 permanent reference stations in ETRF2000@2008.0.",2008-01-01,7019,8901,3343,"Geodetic survey, topographic mapping.","Adopted as official Italian reference datum 10/11/2011. Replaces IGM95 (datum code 6670).",IGM Italy,OGP,"2014/01/21",2014.002,0, -1133,"NAD83 (Continuously Operating Reference Station 1996)",geodetic,"Defined by time-dependent transformations from ITRF. The ITRF realisation and tfm used has been changed periodically; ITRF96 in years 1997 through 1999, ITRF97 in 2000 and 2001 and ITRF2000 from 2002 (see tfm codes 6864-6866 respectively).",1997-01-01,7019,8901,1511,Geodetic survey.,"Replaced by NAD83(2011) from 2011-09-06.","US National Geodetic Survey, http://geodesy.noaa.gov/CORS.",OGP,"2014/09/18",2014.029 2014.065,0, -1134,Christmas Island Datum 1985,engineering,"WGS 72 / UTM zone 48S coordinates 570000mE, 8840000mN; local grid orientated parallel to UTM grid at this point.",1985-01-01,,,4169,"GIS, topographic survey, cadastre, engineering survey.",Replaced by GDA94 geodetic datum.,"Landgate (Government of Western Australia), Christmas Island Geographic Information System documentation, www.ga.gov.au/christmas.",OGP,"2014/02/08",2014.005,0, -1135,Aden 1925,geodetic,,,7012,8901,1340,Engineering and harbour surveys.,,US NGA GeoTrans software v3.4 and other industry sources.,OGP,"2014/07/30",2014.037,0, -1136,Bioko,geodetic,,,7022,8901,4220,Topographic survey.,,US NGA GeoTrans software v3.4.,OGP,"2014/07/30",2014.037,0, -1137,Bekaa Valley 1920,geodetic,,,7012,8901,3269,Topographic survey.,,US NGA GeoTrans software v3.4.,OGP,"2014/07/30",2014.037,0, -1138,South East Island 1943,geodetic,"Fundamental point: Challenger Astro near Port Victoria lighthouse. Latitude: 4°40'39.460""S, longitude: 55°32'00.166""E (of Greenwich).",1975-01-01,7012,8901,4183,Topographic survey.,Network readjusted in 1958-59 and extended to Bird and Denis islands in 1975.,UK Hydrographic Office.,OGP,"2014/07/30",2014.037,0, -1139,Gambia,geodetic,,,7012,8901,3250,Topographic survey.,,US NGA GeoTrans software v3.4.,OGP,"2014/07/30",2014.037,0, -1140,Singapore Height Datum,vertical,Mean sea level determined at Victoria Dock tide gauge 1935-1937.,2009-01-01,,,1210,"Engineering, topographic mapping and GIS.",Orthometric heights. Network readjusted in 2009.,"Singapore Land Authority, Lands Department.",OGP,"2014/09/18",2014.045 2014.065,0, -1141,IGS08,geodetic,Origin at geocentre. Derived from a subset of 232 stable IGS station coordinates at epoch 2005.0. For all practical purposes coincident with ITRF2008.,2005-01-01,7019,8901,1262,"Geodesy. GPS satellite ephemerides produced by US NGS and other International GNSS Service (IGS) analysis centres are expressed in this datum.",Realisation of ITRF2008 at epoch 2005.0.,"http://www.ngs.noaa.gov/CORS/",OGP,"2015/02/06",2014.070,0, -1142,IG05 Intermediate Datum,geodetic,Defined by transformation from IGD05 at epoch 2004.75.,2004-10-01,7019,8901,2603,"Used only as an intermediate stage in conversions between IGD05 and Israeli Grid 05 (IG05).",,Survey of Israel.,OGP,"2014/11/19",2014.041,0, -1143,Israeli Geodetic Datum 2005,geodetic,ITRF2000 at epoch 2004.75.,2004-10-01,7019,8901,1126,Geodetic Survey.,"Replaces Israel 1993 (datum code 6141). Replaced by IGD05/12 (datum code 1145).",Survey of Israel.,OGP,"2014/11/07",2014.041 2015.020,1, -1144,"IG05/12 Intermediate Datum",geodetic,"Defined by transformation from IGD05/12 at epoch 2012.00.",2012-01-01,7019,8901,2603,"Used only as an intermediate stage in conversions between IGD05/12 and Israeli Grid 05/12 (IG05/12).",,Survey of Israel.,OGP,"2014/11/19",2014.041,0, -1145,"Israeli Geodetic Datum 2005(2012)",geodetic,ITRF2000 at epoch 2012.00,2012-01-01,7019,8901,1126,Geodetic Survey.,"Replaces IGD05 (datum code 1143).",Survey of Israel.,OGP,"2014/11/07",2014.041 2015.020,1, -1146,Ras Ghumays,vertical,Mean Sea Level at Ras Ghumays 1978 and 1979.,1979-01-01,,,4225,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,ADCO,OGP,"2015/01/26",2012.056,0, -1147,Oman National Geodetic Datum 2014,geodetic,20 stations of the Oman primary network tied to ITRF2008 at epoch 2013.15.,2013-02-25,7019,8901,1183,Geodetic Survey.,"Replaces WGS 84 (G874).","National Survey Authority, Sultanate of Oman.",IOGP,"2016/09/16",2015.035 2016.020,0, -1148,Famagusta 1960,vertical,Mean sea level at Famagusta Harbour.,,,,3236,Topographic mapping and engineering survey.,Orthometric heights.,"Cyprus Department of Lands and Surveys (DLS).",IOGP,"2015/11/03",2014.091,0, -1149,PNG08,vertical,"Mean sea level at 8 tide gauges around PNG, defined through application of PNG08 geoid model (transformation code 7655) to PNG94 (CRS code 5545).",2011-10-14,,,4384,Geodetic survey.,,"Quickclose Geomatics on behalf of Geodetic Section, PNG Office of the Surveyor-General.",IOGP,"2015/11/05",2015.052,0, -1150,Kumul 34,vertical,"Kumul Platform Station 34. Propagated through bilinear interpolation of EGM96 geoid model (transformation code 10084) reduced to Kumul 34 by offset of -0.87m.",,,,4013,Engineering survey.,,Quickclose Geomatics.,IOGP,"2015/11/05",2015.052,0, -1151,Kiunga,vertical,"PSM 9465 at Kiunga Airport. Propagated through bilinear interpolation of EGM2008 geoid model (transformation code 3858) reduced to PSM 9465 by offset of -3.0m.",,,,4383,Engineering survey.,,Quickclose Geomatics.,IOGP,"2015/11/05",2015.052,0, -1152,"World Geodetic System 1984 (G730)",geodetic,"Defined through coordinates of 10 GPS tracking stations adjusted to a subset of ITRF92 stations at epoch 1994.0. The reference epoch for ITRF92 is 1988.0; the ITRF92 station coordinates were transformed to 1994.0 using the NNR-NUVEL1 plate motion model.",1994-01-01,7030,8901,1262,"GPS satellite navigation (broadcast ephemeris) from 1994-06-29 to 1997-01-28. (Precise ephemeris from 1994-01-02 to 1996-09-28).","Replaces the original Transit-derived World Geodetic System 1984 from 1994-06-29. Replaced by World Geodetic System 1984 (G873) from 1997-01-29.",NIMA TR8350.2 January 2000 revision. Also NGA STND 0036 v1.0.0 of 2014-10-27.,IOGP,"2015/11/07",2015.054,0, -1153,"World Geodetic System 1984 (G873)",geodetic,"Defined through coordinates of 15 GPS tracking stations adjusted to a subset of ITRF92 stations at epoch 1997.0. The reference epoch for ITRF92 is 1988.0; the ITRF92 station coordinates were transformed to 1997.0 using the NNR-NUVEL1A plate motion model.",1997-01-01,7030,8901,1262,"GPS satellite navigation (broadcast ephemeris) from 1997-01-29 to 2002-01-19. (Precise ephemeris from 1996-09-29 to 2002-01-19).","Replaces World Geodetic System 1984 (G730) from 1997-01-29. Replaced by World Geodetic System 1984 (G1150) from 2002-01-20.",NIMA TR8350.2 and NGA STND 0036 v1.0.0 of 2014-10-27.,IOGP,"2016/12/06",2015.054,0, -1154,"World Geodetic System 1984 (G1150)",geodetic,"Defined through coordinates of 17 GPS tracking stations adjusted to a subset of 49 IGS stations. Observations made in February 2001. The reference epoch for ITRF2000 is 1997.0; station coordinates were transformed to 2001.0 using IERS station velocities.",2001-01-01,7030,8901,1262,"GPS satellite navigation (broadcast ephemeris) from 2002-01-20 to 2012-02-07. (Precise ephemeris from 2002-01-20 to 2012-05-06).","Replaces World Geodetic System 1984 (G873) from 2002-01-20. Replaced by World Geodetic System 1984 (G1674) from 2012-02-08.",NIMA TR8350.2 June 2004 revision and NGA STND0036 version1.0.0 of 2014-07-08.,IOGP,"2015/11/07",2015.054,0, -1155,"World Geodetic System 1984 (G1674)",geodetic,Defined through coordinates of 15 GPS tracking stations adjusted to a subset of IGS stations at epoch 2005.0. The IGS station coordinates are considered to be equivalent to ITRF2008.,2005-01-01,7030,8901,1262,"GPS satellite navigation (broadcast ephemeris) from 2012-02-08 to 2013-10-15. (Precise ephemeris from 2012-05-07 to 2013-10-15).","Replaces World Geodetic System 1984 (G1150) from 2012-02-08. Replaced by World Geodetic System 1984 (G1762) from 2013-10-16.","NIMA TR8350.2 June 2004 revision. http://earth-info.nga.mil/GandG/publications/tr8350.2/tr8350_2.html and -http://gis-lab.info/docs/nima-tr8350.2-addendum.pdf. Also NGA.STND.0036_1.0.0_WGS84 of 2014-07-08.",IOGP,"2016/01/23",2015.054,0, -1156,"World Geodetic System 1984 (G1762)",geodetic,Defined through coordinates of 19 GPS tracking stations adjusted to a subset of IGb08 stations at epoch 2005.0 using observatiions made in May 2013. The IGb08 station coordinates are considered to be equivalent to ITRF2008.,2005-01-01,7030,8901,1262,"GPS satellite navigation (broadcast and precise ephemerides) from 2013-10-16.","Replaces World Geodetic System 1984 (G1674) from 2013-10-16.","NGA STND 0036_1 0 0_WGS84_2014-10-27",IOGP,"2016/11/30",2015.054,0, -1157,Parametry Zemli 1990.02,geodetic,"Defined through coordinates of 33 stations of the satellite geodetic network (SGN) in Russia and Antarctica adjusted to a subset of 14 IGS stations in Russia at epoch 2002.0. The IGS station coordinates are considered to be equivalent to ITRF2000.",2002-01-01,7054,8901,1262,Glonass satellite navigation from 2007-09-20 to 2014-01-14.,Replaces PZ-90 from 2007-09-20. Replaced by PZ-90.11 from 2014-01-15.,"Parametry Zemli 1990 Reference Document, Military Topgraphic Department (VTU) of the General Staff of Armed Forces of the Russian Federation.",IOGP,"2016/01/25",2015.055,0, -1158,Parametry Zemli 1990.11,geodetic,"Defined through coordinates of 33 stations of the satellite geodetic network (SGN) in Russia and Antarctica adjusted to a subset of 14 IGS stations in Russia at epoch 2010.0. The IGS station coordinates are considered to be equivalent to ITRF2008.",2010-01-01,7054,8901,1262,Glonass satellite navigation from 2014-01-15.,Replaces PZ-90.02 from 2014-01-15.,"Parametry Zemli 1990 Reference Document, Military Topgraphic Department (VTU) of the General Staff of Armed Forces of the Russian Federation.",IOGP,"2016/01/25",2015.055,0, -1159,Geodezicheskaya Sistema Koordinat 2011,geodetic,"Coordinates of the Russian fundamental astronomic-geodetic network (about 50 stations) at epoch 2011.0",2011-01-01,1025,8901,1198,Geodetic survey.,,"Parametry Zemli 1990 Reference Document, Military Topgraphic Department (VTU) of the General Staff of Armed Forces of the Russian Federation.",IOGP,"2016/01/25",2015.055,0, -1160,Kyrgyzstan Geodetic Datum 2006,geodetic,6 stations of the Kyrgyzstan zero-order network tied to ITRF2005 at epoch 2006.70.,2006-09-13,7019,8901,1137,Geodetic Survey.,"The accuracy in the connection to ITRF2005 is estimated to be 5 mm in horizontal and 10-20 mm in height (95% confidence).",GosCartographia.,IOGP,"2015/12/17",2015.064,0, -1161,Deutsches Haupthoehennetz 1912,vertical,"Height of reference point ""Normalnullpunkt"" at Berlin Observatory defined as 37.000m above MSL in 1879 (transferred to benchmarks near Hoppegarten in Müncheberg in 1912). Datum at Normaal Amsterdams Peil (NAP) is mean high tide in 1684.",1912-01-01,,,3339,"Geodetic survey, topographic mapping, engineering survey.",Uses Normal-orthometric heights.,"Landesamt für Digitalisierung, Breitband und Vermessung of Bavaria.",IOGP,"2015/12/20",2015.067,0, -1162,Latvian Height System 2000,vertical,Latvian realisation of EVRF2007. Observed from 2000-2010 and reduced to epoch 2000.5 using empirical land uplift model of Latvia. EVRF2007 heights of 16 points around Latvia held fixed.,2005-07-01,,,3268,"Geodetic survey, topographic mapping, engineering survey.",Uses Normal heights.,"Latvian Geospatial Information Agency via Eurogeographics, http://www.crs-geo.eu/",IOGP,"2015/12/20",2015.070,0, -1163,EPSG example moving platform reference point,engineering,"Description of moving platform [common or vessel] reference point.",,,,1263,Example only.,"Example only. There is no convention for the naming of the reference point (the point of 0,0,0 offset): it is often called common [CRP] or vessel [VRP] .",IOGP,IOGP,"2016/02/09",2016.003,0, -1164,"Ordnance Datum Newlyn (Offshore)",vertical,Defined by OSGM geoid model.,2016-01-01,,,4391,Geodetic survey.,Extension of Ordnance Datum Newlyn offshore through geoid model. Orthometric heights.,Ordnance Survey of Great Britain.,IOGP,"2016/02/09",2015.069,0, -1165,International Terrestrial Reference Frame 2014,geodetic,"Origin at geocentre. Origin = ILRS SLR long-term solution at epoch 2010.0. Zero scale and scale rate between ITRF2014 and the average of VLBI and SLR scales/rates. Orientation = ITRF2008@ 2010.0 with zero rotation rates between the ITRF2014 and ITRF2008.",2010-01-01,7019,8901,1262,Geodesy.,"Realisation of the IERS Terrestrial Reference System (ITRS). Replaces ITRF2008 (datum code 1061) from January 2016.","International Earth Rotation Service (IERS). http://itrf.ensg.ign.fr",IOGP,"2016/04/06",2016.011,0, -1166,"World Geodetic System 1984 (Transit)",geodetic,"Defined through coordinates of 5 GPS tracking stations in the Transit doppler positioning NSWC 9Z-2 reference frame transformed to be aligned to the BIH Conventional Terrestrial Reference Frame (BTS) at epoch 1984.0.",1984-01-01,7030,8901,1262,"GPS satellite navigation (broadcast ephemeris) from 1987-01-01 to 1994-06-28. (Precise ephemeris from 1987-01-01 to 1994-01-01).","The NSWC 9Z-2 origin shifted by -4.5 m along the Z-axis, scale changed by -0.6 x 10E-6 and the reference meridian rotated westward by 0.814"" to be aligned to the BTS at epoch 1984.0. Replaced by World Geodetic System 1984 (G730) from 1994-06-29.","DMA TR8350.2, .",IOGP,"2016/07/02",2015.054,0, -1167,Bulgaria Geodetic System 2005,geodetic,"Densification of ETRS89 realised through network of 112 permanent GNSS reference stations in ETRF2000@2005.0.",2005-01-01,7019,8901,1056,"Geodetic survey, topographic mapping, cadastre.",Adopted as official Bulgarian reference datum through decree 153 of 2010-07-29.,"Geodesy, Cartography and Geoinformation Systems Directorate (GCGIS).",IOGP,"2016/04/27",2016.017,0, -1168,Geocentric Datum of Australia 2020,geodetic,ITRF2014 at epoch 2020.0.,2020-01-01,7019,8901,4177,"Geodetic survey, cadastre, topographic mapping, engineering survey, GIS, navigation, positioning.",,"Geodesy Section, Geoscience Australia.",IOGP,"2016/09/07",2016.023,0, -1169,New Zealand Vertical Datum 2016,vertical,New Zealand quasigeoid 2016 which is defined by the application of the NZ geoid 2016 grid to NZGD2000 ellipsoidal heights. See transformation code 7840.,2016-06-27,,,1175,"Geodetic survey, topographic mapping, engineering survey.",,"Land Information New Zealand (LINZ) standard S25009.",IOGP,"2016/11/21",2016.031,0, -1170,Deutsches Haupthoehennetz 2016,vertical,"2006-2012 levelling network adjusted to 72 points of the DHHN92. Datum at Normaal Amsterdams Peil (NAP) is mean high tide in 1684.",1996-01-01,,,3339,"Geodetic survey, topographic mapping, engineering survey.",Uses Normal heights in the mean tidal system.,"Bundesamt für Kartographie und Geodäsie (BKG) via http://www.crs-geo.eu",IOGP,"2016/09/15",2016.030,0, -1171,Port Moresby 1996,vertical,"BM198 (adjacent to the Port Moresby tide gauge) height of 3.02 above MSL as determined by CSIRO in 1990. Propagated through bilinear interpolation of EGM96 geoid model (transformation code 10084) reduced by offset of -1.58m.",,,,4425,Engineering survey.,Offset has been determined by static GNSS estimation of ellipsoid height of BM198.,Quickclose Geomatics.,IOGP,"2016/11/04",2016.039,0, -1172,Port Moresby 2008,vertical,"BM198 (adjacent to the Port Moresby tide gauge) height of 3.02 above MSL as determined by CSIRO in 1990. Propagated through bilinear interpolation of EGM2008 geoid model (transformation code 3858 or 3859) reduced by offset of -0.93m.",,,,4425,Engineering survey.,Offset has been determined by static GNSS estimation of ellipsoid height of BM198 validated to a precision of 10 cm by short period tidal observations at Kerema wharf in 2010.,Quickclose Geomatics.,IOGP,"2016/11/04",2016.039,0, -1173,St. Helena Tritan,geodetic,"WGS 84 at epoch 2011.773. WGS 84 coordinates (15°56'33.1217""S, 5°40'02.4436""W, 453.288m ellipsoid height) of Longwood IGS CORS station STHL on 9th October 2011",2011-10-09,7030,8901,3183,Engineering surveys including Airport and Ruperts Wharf construction.,,"St. Helena Government, Environment and Natural Resources Directorate (ENRD).",IOGP,"2016/11/20",2016.038,0, -1174,St. Helena Geodetic Datum 2015,geodetic,"ITRF2008 at epoch 2015.0. ITRF2008 coordinates (15°56'33.1198""S, 5°40'02.4412""W, 453.183m ellipsoid height) of Longwood IGS CORS station STHL on 1st January 2015.",2015-01-01,7019,8901,3183,"Geodetic survey, topographic mapping.","Developed by Richard Stanaway, Quickclose Pty Ltd, superseding Astro DOS 71 from 1st January 2016.","St. Helena Government, Environment and Natural Resources Directorate (ENRD).",IOGP,"2016/11/29",2016.038,0, -1175,Jamestown 1971,vertical,"MSL at Jamestown 1971 defined through elevation of triangulation station Astro DOS 71/4 Ladder Hill Fort being 267.858 metres above MSL.",1971-01-01,,,3183,Topographic mapping 1972 to 2015.,,"St. Helena Government, Environment and Natural Resources Directorate (ENRD).",IOGP,"2016/11/25",2016.038,0, -1176,St. Helena Tritan Vertical Datum 2011,vertical,MSL defined by Longwood IGS station STHL reference level of 436.215m.,2011-10-09,,,3183,Engineering Surveys.,"Defined by offset of -17.073m applied to St. Helena Tritan ellipsiodal height (CRS code 7880).","St. Helena Government, Environment and Natural Resources Directorate (ENRD).",IOGP,"2016/11/25",2016.038,0, -1177,St. Helena Vertical Datum 2015,vertical,Longwood IGS station STHL reference level of 436.312m.,2015-01-01,,,3183,"Geodetic survey, topographic Mapping, engineering Surveys.","Defined by SHGEOID15 geoid model (transformation code 7891) applied to SHGD2015 (CRS code 7885).","St. Helena Government, Environment and Natural Resources Directorate (ENRD).",IOGP,"2016/11/25",2016.038,0, -5100,Mean Sea Level,vertical,"The average height of the surface of the sea at a tide station for all stages of the tide over a 19-year period, usually determined from hourly height readings measured from a fixed predetermined reference level.",,,,1262,Hydrography.,"Approximates geoid. Users are advised to not use this generic vertical datum but to define explicit realisations of MSL by specifying location and epoch, for instance ""MSL at xxx during yyyy-yyyy"".","IHO Dictionary, S-32, 5th Edition, 3156.",OGP,"2012/08/10",2011.047,0,"D_Mean_Sea_Level" -5101,Ordnance Datum Newlyn,vertical,Mean Sea Level at Newlyn between 1915 and 1921. Initially realised through 1921 and then 1956 levelling network adjustments. From 2002 redefined to be realised through OSGM geoid models.,,,,2792,"Topographic mapping, geodetic survey.",Orthometric heights.,Ordnance Survey of Great Britain.,IOGP,"2016/07/13",2004.100 2015.069,0,"D_Ordnance_Datum_Newlyn" -5102,National Geodetic Vertical Datum 1929,vertical,26 tide gauges in the US and Canada.,1929-01-01,,,1323,"Topographic mapping, geodetic survey.",Normal orthometric heights.,,OGP,"1996/09/12",,0, -5103,North American Vertical Datum 1988,vertical,"Mean water level 1970-1988 at Pointe-au-Pierre (Father's Point) and Rimouski, Quebec. Benchmark 1250-G = 6.273m.",1988-01-01,,,4161,"Topographic mapping, geodetic survey.",Helmert orthometric heights.,,OGP,"2013/09/02",2005.880 2009.108 2011.047 2013.028,0, -5104,Yellow Sea 1956,vertical,2 years tide readings at Qingdao.,1956-01-01,,,3228,"Topographic mapping, geodetic survey.",Replaced by Yellow Sea 1985 datum.,,OGP,"2002/06/22",2002.160,0, -5105,Baltic Sea,vertical,"Datum: average water level at Kronstadt 1833. Network adjusted in 1977.",1977-01-01,,,1284,"Topographic mapping, geodetic survey.",Uses Normal heights.,,OGP,"2005/05/27",2004.100 2005.180,0, -5106,Caspian Sea,vertical,Defined as -28.0m Baltic datum,,,,1291,Hydrography.,,,OGP,"1996/09/12",,0, -5107,Nivellement general de la France,vertical,Mean sea level at Marseille,,,,1326,"Topographic mapping, geodetic survey.",The CNIG states that NGF is a general term applying to all vertical network readjustments of France and recommends more specific terminology. See codes 5118-5120.,"Conseil National de l'Information Geographique groupe de travail ""Reseaux de Nivellement"" recommendations v5.1 April 1994.",OGP,"1996/09/12",,1, -5109,Normaal Amsterdams Peil,vertical,Mean high tide at Amsterdams Peil in 1684.,,,,1275,"Topographic mapping, geodetic survey, hydrography.",Orthometric heights.,"Nederlandse Commissie voor Geodesie publication 30; 1993",OGP,"2006/01/16",2004.100 2005.880,0, -5110,Ostend,vertical,Mean low water at Ostend 1855-78 transferred to benchmark GIKMN at Uccle.,1981-01-01,,,1347,"Topographic mapping, geodetic survey.","Realised through the second general levelling (DNG or TAW) 1981-1999.","EuroGeographics, http://www.crs-geo.eu",OGP,"2013/04/25",2005.880 2013.012,0, -5111,Australian Height Datum,vertical,MSL 1966-68 at 30 gauges around coast.,1968-01-01,,,1281,"Topographic mapping, geodetic survey.",,Australian Land Information Group www.auslig.gov.au,OGP,"2005/09/06",2005.460,0, -5112,"Australian Height Datum (Tasmania)",vertical,MSL 1972 at Hobart and Burnie.,1972-01-01,,,2947,"Topographic mapping, geodetic survey.",,,OGP,"2012/01/21",2012.007,0, -5113,Instantaneous Water Level,vertical,Instantaneous water level uncorrected for tide.,,,,1262,Hydrography.,Not specific to any location or epoch.,OGP,OGP,"2012/08/10",2011.047,0, -5114,Canadian Geodetic Vertical Datum of 1928,vertical,Based on the mean sea level determined from several tidal gauges located in strategic areas of the country.,1928-01-01,,,1289,"Topographic mapping, geodetic survey.","From November 2013 replaced by CGVD2013 (datum code 1127).","Geodetic Survey Division, Natural Resources Canada. http://maps.nrcan.gc.ca/asdb/asdb_datum.html and http://www.geod.nrcan.gc.ca/index_e/help_e/acron_e.html",OGP,"2014/01/27",2004.723 2013.064,0, -5115,Piraeus Harbour 1986,vertical,MSL determined during 1986.,1986-01-01,,,3254,"Topographic mapping, geodetic survey.",,"Geodesy Department; Public Pertoleum Corporation of Greece",OGP,"1997/06/16",,0, -5116,Helsinki 1960,vertical,MSL at Helsinki during 1960.,1960-01-01,,,3333,"Topographic mapping, geodetic survey.","Uses orthometric heights. Replaced by N2000 (datum code 1030).","National Land Survey of Finland; -http://www.maanmittauslaitos.fi",OGP,"2010/05/02",2008.112,0, -5117,Rikets hojdsystem 1970,vertical,"Adjustment is referenced to mean high tide at Amsterdams Peil in 1684. To account for land level movements caused by isostatic rebound, heights are reduced to epoch 1970.0 using uplift values computed from repeated levelling observations.",1970-01-01,,,3313,"Topographic mapping, geodetic survey.",Realised through the second precise levelling network of 1951-1967. Uses Normal heights. Replaces RH00. Replaced in 2005 by RH2000.,National Land Survey of Sweden,OGP,"2008/03/14",2002.480 2004.100 2008.013,0, -5118,Nivellement General de la France - Lallemand,vertical,"Rivet number M.ac O-VIII on the Marseille tide gauge site, with the height fixed in 1897 at 1.661 metre above mean sea level between February 2nd 1885 and January 1st 1897.",,,,1326,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,"Conseil National de l'Information Geographique groupe de travail ""Reseaux de Nivellement"" recommendations v5.1 April 1994.",OGP,"1997/11/13",2001.470 2004.060,0, -5119,Nivellement General de la France - IGN69,vertical,"Rivet number M.ac O-VIII on the Marseille tide gauge site, with the height fixed in 1897 at 1.661 metre above mean sea level between February 2nd 1885 and January 1st 1897.",1969-01-01,,,1326,"Geodetic survey, topographic mapping, engineering survey.",Uses Normal heights.,"Conseil National de l'Information Geographique groupe de travail ""Reseaux de Nivellement"" recommendations v5.1 April 1994.",OGP,"2012/01/21",2001.470 2012.010,0, -5120,Nivellement General de la France - IGN78,vertical,Marker MM3 situated on the tide gauge site of Ajaccio. Height is 3.640 metre above mean sea level.,1978-01-01,,,1327,"Geodetic survey, topographic mapping, engineering survey.","Uses Normal heights. Replaces NGC (datum code 5189).","Conseil National de l'Information Geographique groupe de travail ""Reseaux de Nivellement"" recommendations v5.1 April 1994.",OGP,"2012/01/21",2001.470 2004.060 2004.564 2012.010,0, -5121,Maputo,vertical,Mean sea level at Maputo.,,,,3281,Topographic mapping.,,"Direcção Nacional de Geografia e Cadastral (DINAGECA).",OGP,"1998/04/16",,0, -5122,Japanese Standard Levelling Datum 1969,vertical,24.4140 metres above mean sea level Tokyo Bay.,1969-01-01,,,4166,"Topographic mapping, geodetic survey.","Normal-orthometric heights. Replaces JSLD49. Replaced by JGD2000 (vertical) (datum code 1130) from April 2002.","Geospatial Information Authority of Japan (GSI) bulletin volume 51 of March 2004.",OGP,"2014/05/01",2002.080 2004.380 2013.063,0, -5123,PDO Height Datum 1993,vertical,,1993-01-01,,,3288,Oil industry mapping.,"Misclosure between Muscat and Salalah less than .5 meters with differences from of up to 5 meters from old Fahud Datum. The PHD93 adjustment was initially known as the Spine. Replaces Fahud Vertical Datum (code 5124) from 1993.",Petroleum Development Oman,OGP,"1999/04/22",,0, -5124,Fahud Height Datum,vertical,Single MSL determination at Mina Al Fahal.,,,,4009,Oil industry mapping.,"Based on reciprocal trigonometric heighting. Replaced by PHD93 Datum (code 5123) in 1993.",Petroleum Development Oman,OGP,"2012/02/13",2004.212 2011.042,0, -5125,Ha Tien 1960,vertical,,1960-01-01,,,1302,"Topographic mapping, geodetic survey.",In Vietnam replaced by Hon Dau in 1992.,,OGP,"1999/10/20",,0, -5126,Hon Dau 1992,vertical,,1992-01-01,,,4015,"Topographic mapping, geodetic survey.",Replaces Ha Tien in Vietnam.,,OGP,"2012/05/08",2012.046,0, -5127,Landesnivellement 1902,vertical,"Origin at Repere Pierre du Niton (RPN) defined as 373.6 metres above msl. This value derived from msl at Marseille in 1897 through the French Lallemand network.",1902-01-01,,,1286,"Topographic mapping, cadastral survey.","Levelling observations not corrected for gravity field. For scientific purposes, replaced by LHHN95.","Bundesamt für Landestopographie",OGP,"2004/06/16",2004.100,0, -5128,Landeshohennetz 1995,vertical,"Origin at Repere Pierre du Niton (RPN) defined as 373.6 metres above msl. This value derived from msl at Marseille in 1897 through the French Lallemand network.",1995-01-01,,,1286,Geodetic survey and scientific studies.,"Orthometric heights. For scientific purposes only, replaces LN02.","Bundesamt für Landestopographie",OGP,"2004/06/16",2004.100,0, -5129,European Vertical Reference Frame 2000,vertical,"Height at Normaal Amsterdams Peil (NAP) is zero, defined through height at UELN bench mark 13600 (52°22'53""N 4°54'34""E) of 0.71599m. Datum at NAP is mean high tide in 1684.",2000-01-01,,,1299,Geodesy.,"Realised by geopotential numbers and Normal heights of the United European Levelling Network. Replaced by EVRF2007 (datum code 5215).","European veritical data centre at Bundesamt für Kartographie und Geodäsie (BKG), Leipzig branch. http://crs.bkg.bund.de/evrs/",OGP,"2008/06/24",2008.045 2008.101,0, -5130,Malin Head,vertical,"Mean sea level between January 1960 and December 1969. Initially realised through levelling network adjustment, from 2002 redefined to be realised through OSGM geoid model.",1970-01-01,,,1305,Topographic mapping,Orthometric heights.,Ordnance Survey of Ireland.,IOGP,"2016/07/13",2015.069,0, -5131,Belfast Lough,vertical,"Mean sea level between 1951 and 1956 at Clarendon Dock, Belfast. Initially realised through levelling network adjustment, from 2002 redefined to be realised through OSGM geoid model.",1957-01-01,,,2530,"Large scale (1:1,250, 1:2,500 and 1:10,000) topographic mapping.","Orthometric heights. Malin Head (datum code 5130) used for 1:50,000 and smaller mapping.",Ordnance Survey of Northern Ireland.,IOGP,"2016/07/13",2002.620 2015.069,0, -5132,Dansk Normal Nul,vertical,Mean Sea Level at 10 gauges.,,,,3237,Topographic mapping and engineering survey,Orthometric heights.,"Kort & Matrikelstyrelsen",OGP,"2001/11/06",,0, -5133,AIOC 1995,vertical,Average level of Caspian Sea at the Oil Rocks tide gauge June-September 1995.,1995-01-01,,,2592,Oil industry mapping.,AIOC 1995 datum is 1.7m above Caspian datum and 26.3m below Baltic datum.,BP,OGP,"2002/02/12",,0, -5134,Black Sea,vertical,,,,,3251,Nearshore hydrographic surveying and since break-up of Former Soviet Union also topographic mapping.,Black Sea datum is 0.4m below Baltic datum.,BP,OGP,"2011/07/20",2011.061,0, -5135,Hong Kong Principal Datum,vertical,"1.23m below the mean of 19 years (1965-83) observations of tide levels at North Point, Victoria Harbour.",1980-01-01,,,3334,"Geodetic survey, engineering survey, cadastre.",,"Survey and Mapping Office, Lands Department. Http://www.info.gov.hk/landsd/mapping/tindex.htm",OGP,"2002/06/22",,0, -5136,Hong Kong Chart Datum,vertical,"Approximates to Lowest Astronomic Tide level (LAT).",,,,3335,Hydrographic survey and charting.,"Chart datum is 0.15 metres below Hong Kong Principal Datum (code 5135) and 1.38m below MSL at Quarry Bay.","Survey and Mapping Office, Lands Department. Http://www.info.gov.hk/landsd/mapping/tindex.htm",OGP,"2009/06/02",2009.022,0, -5137,Yellow Sea 1985,vertical,20 years tide readings at Qingdao.,1985-01-01,,,3228,"Topographic mapping, geodetic survey.",Replaces Yellow Sea 1956 datum.,Guangdong Province Land Resource Information Centre,OGP,"2002/06/22",,0, -5138,"Ordnance Datum Newlyn (Orkney Isles)",vertical,"Connected to Newlyn datum by triangulation from the British mainland. Initially realised through levelling network adjustment, from 2002 redefined to be realised through OSGM geoid model.",,,,2793,"Topographic mapping, geodetic survey.",Considered as separate from Newlyn because the accuracy of the trigonometric connection across the Pentland Firth does not meet geodetic levelling specifications. Orthometric heights.,Ordnance Survey of Great Britain,IOGP,"2016/07/13",2004.100 2015.069,0, -5139,Fair Isle,vertical,,,,,2794,"Topographic mapping, geodetic survey.",Orthometric heights.,Ordnance Survey of Great Britain,OGP,"2002/09/19",,0, -5140,Lerwick,vertical,"Mean Sea Level at Lerwick 1979 correlated to pre-1900. Initially realised through levelling network adjustment, from 2002 redefined to be realised through OSGM geoid model.",,,,2795,"Topographic mapping, geodetic survey.",Orthometric heights.,Ordnance Survey of Great Britain.,IOGP,"2016/07/13",2015.069,0, -5141,Foula,vertical,,,,,2796,"Topographic mapping, geodetic survey.",Orthometric heights.,Ordnance Survey of Great Britain,OGP,"2002/09/19",,0, -5142,Sule Skerry,vertical,,,,,2797,"Topographic mapping, geodetic survey.",Orthometric heights.,Ordnance Survey of Great Britain,OGP,"2002/09/19",,0, -5143,North Rona,vertical,,,,,2798,"Topographic mapping, geodetic survey.",Orthometric heights.,Ordnance Survey of Great Britain,OGP,"2002/09/19",,0, -5144,Stornoway,vertical,"Mean Sea Level at Stornoway 1977 correlated to pre-1900. Initially realised through levelling network adjustment, from 2002 redefined to be realised through OSGM geoid model.",,,,2799,"Topographic mapping, geodetic survey.",Orthometric heights.,Ordnance Survey of Great Britain.,IOGP,"2016/07/13",2015.069,0, -5145,St Kilda,vertical,,,,,2800,"Topographic mapping, geodetic survey.",Orthometric heights.,Ordnance Survey of Great Britain,OGP,"2002/09/19",,0, -5146,Flannan Isles,vertical,,,,,2801,"Topographic mapping, geodetic survey.",Orthometric heights.,Ordnance Survey of Great Britain,OGP,"2006/01/16",2005.880,0, -5147,St Marys,vertical,"Mean Sea Level at St. Marys 1887. Initially realised through levelling network adjustment, from 2002 redefined to be realised through OSGM geoid model.",,,,2802,"Topographic mapping, geodetic survey.",Orthometric heights.,Ordnance Survey of Great Britain.,IOGP,"2016/07/13",2015.069,0, -5148,Douglas,vertical,"Mean Sea Level at Douglas 1865. Initially realised through levelling network adjustment, from 2002 redefined to be realised through OSGM geoid model.",,,,2803,"Topographic mapping, geodetic survey.",Orthometric heights.,Ordnance Survey of Great Britain.,IOGP,"2016/07/13",2015.069,0, -5149,Fao,vertical,,,,,3390,"Topographic mapping, geodetic survey.","Established by Hunting Surveys for IPC. In Iran replaced by Bandar Abbas (code 5150). At time of record creation NIOC data in Ahwaz area still usually referenced to Fao. In Iraq replaced by Fao 1979 (code 1028).","National Iranian Oil Company (NIOC).",OGP,"2009/06/02",2009.003,0, -5150,Bandar Abbas,vertical,Average sea level at Bandar Abbas 1995-2001.,2001-01-01,,,3336,"Topographic mapping, geodetic survey.","Replaces Fao (datum code 5149) in Iran.",National Cartographic Centre of Iran,OGP,"2010/03/01",2010.014,0, -5151,Nivellement General de Nouvelle Caledonie,vertical,"Rivet AB01 established by SHOM (Service Hydrographique de la Marine) in 1937 on the Quai des Volontaires in Noumea. Height i: 1.885 metre above mean sea level.",1969-01-01,,,2822,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,Service Topographique de la Nouvelle Caledonie.,OGP,"2004/03/15",2004.060,0, -5152,Poolbeg,vertical,"Low water mark of the spring tide on the 8 April 1837 at Poolbeg Lighthouse, Dublin.",1837-01-01,,,1305,Topographic mapping before 1956 in Northern Ireland and 1970 in the Republic of Ireland.,"Replaced by Belfast Lough and Malin Head (datum codes 5130-31).","""The Irish Grid - A Description of the Co-ordinate Reference System"" published by Ordnance Survey of Ireland, Dublin and Ordnance Survey of Northern Ireland, Belfast.",OGP,"2003/06/27",,0, -5153,Nivellement General Guyanais 1977,vertical,"Mean sea level 1936 at Cayenne. Origin = marker BM35 on stone on St Francois battery, Cayenne, with defined elevation of 1.64m above msl. NGG1977 height 0.00m is 1.96m above sounding datum defined at Cayenne in 1936 by SHM.",1977-01-01,,,3146,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,IGN Paris,OGP,"2008/09/17",2008.087,0, -5154,Martinique 1987,vertical,"Mean sea level 1939 at Fort de France. Origin = marker Nbc2 on rebuilt quay wall with defined elevation of 1.38m above msl. Martinique 1987 height 0.00m is 0.56m above SHOM sounding datum.",1987-01-01,,,3276,"Geodetic survey, topographic mapping, engineering survey.","Orthometric heights. Replaces Martinique 1955 (datum code 5192).",IGN Paris,OGP,"2008/09/19",2004.561 2008.087,0, -5155,Guadeloupe 1988,vertical,"Mean sea level July 1947 to June 1948 at Pointe-Fouillole (Pointe-à-Pitre harbour). Origin = marker GO-7 (formerly AO'-5) with defined height of 2.67m above msl adopted from 1951 value. Guadeloupe 1988 height 0.00m is 0.46m above 1984 sounding datum.",1988-01-01,,,2892,"Geodetic survey, topographic mapping, engineering survey.","Orthometric heights. Replaces Guadeloupe 1951 (datum code 5193).",IGN Paris,OGP,"2008/09/17",2004.561 2008.087,0, -5156,Reunion 1989,vertical,"Mean sea level during part of November 1949 at port of Saint-Pierre. Origin = marker AB-100 with defined elevation of 13.808m above msl.",1989-01-01,,,3337,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights. Replaces Reunion IGN58. Value of marker AB-100 retains height from 1958 adjustment.,IGN Paris,OGP,"2008/09/17",2004.561 2008.087,0, -5157,Auckland 1946,vertical,MSL at Auckland harbour 1909-1923.,1946-01-01,,,3764,"Geodetic survey, topographic mapping, engineering survey.",,"OSG Technical Report #10, February 2001.",OGP,"2011/01/25",2008.023 2011.005,0, -5158,Bluff 1955,vertical,MSL at Invercargill harbour over 8 years between 1918 and 1934.,1955-01-01,,,3801,"Geodetic survey, topographic mapping, engineering survey.",,"OSG Technical Report #10, February 2001.",OGP,"2011/01/25",2008.023 2011.005,0, -5159,Dunedin 1958,vertical,MSL at Dunedin harbour 1918-1937.,1958-01-01,,,3803,"Geodetic survey, topographic mapping, engineering survey.",,"OSG Technical Report #10, February 2001.",OGP,"2011/01/25",2008.023 2011.005,0, -5160,Gisborne 1926,vertical,MSL at Gisborne harbour 1926.,1926-01-01,,,3771,"Geodetic survey, topographic mapping, engineering survey.",,"OSG Technical Report #10, February 2001.",OGP,"2011/01/25",2008.023 2011.005,0, -5161,Lyttelton 1937,vertical,MSL at Lyttelton harbour over 9 years between 1918 and 1933.,1937-01-01,,,3804,"Geodetic survey, topographic mapping, engineering survey.",,"OSG Technical Report #10, February 2001.",OGP,"2011/01/25",2008.023 2011.005,0, -5162,Moturiki 1953,vertical,MSL at Moturiki Island February 1949 to December 1952.,1953-01-01,,,3768,"Geodetic survey, topographic mapping, engineering survey.",,"OSG Technical Report #10, February 2001.",OGP,"2011/01/25",2008.023 2011.005,0, -5163,Napier 1962,vertical,MSL at Napier harbour. Period of derivation unknown.,1962-01-01,,,3772,"Geodetic survey, topographic mapping, engineering survey.",,"OSG Technical Report #10, February 2001.",OGP,"2011/01/25",2008.023 2011.005,0, -5164,Nelson 1955,vertical,MSL at Nelson harbour 1939-1942.,1955-01-01,,,3802,"Geodetic survey, topographic mapping, engineering survey.",,"OSG Technical Report #10, February 2001.",OGP,"2011/01/25",2008.023 2011.005,0, -5165,One Tree Point 1964,vertical,MSL at Whangarei harbour 1960-1963.,1964-01-01,,,3762,"Geodetic survey, topographic mapping, engineering survey.",,"OSG Technical Report #10, February 2001.",OGP,"2011/01/25",2008.023 2011.005,0, -5166,Tararu 1952,vertical,MSL at Tararu Point 1922-1923.,1952-01-01,,,3818,"Geodetic survey, topographic mapping, engineering survey.",,"OSG Technical Report #10, February 2001.",OGP,"2011/01/25",2008.023 2011.005,0, -5167,Taranaki 1970,vertical,MSL at Taranaki harbour 1918-1921.,1970-01-01,,,3769,"Geodetic survey, topographic mapping, engineering survey.",,"OSG Technical Report #10, February 2001.",OGP,"2011/01/25",2008.023 2011.005,0, -5168,Wellington 1953,vertical,MSL at Wellington harbour 1909-1946.,1953-01-01,,,3773,"Geodetic survey, topographic mapping, engineering survey.",,"OSG Technical Report #10, February 2001.",OGP,"2011/01/25",2008.023 2011.005,0, -5169,"Waitangi (Chatham Island) 1959",vertical,MSL at Waitangi harbour collected in 1959.,1959-01-01,,,3894,"Geodetic survey, topographic mapping, engineering survey.",,"Interim Report GEO/T1/19/51 for LINZ by John Hannah, ""An Assessment of New Zealand's Height Systems and Options for a Future Height System"", January 2001.",OGP,"2011/06/20",2008.023 2011.048,0, -5170,Stewart Island 1977,vertical,MSL at 3-5 high and low tides at two different locations.,1977-01-01,,,3338,"Geodetic survey, topographic mapping, engineering survey.",,"Interim Report GEO/T1/19/51 for LINZ by John Hannah, ""An Assessment of New Zealand's Height Systems and Options for a Future Height System"", January 2001.",OGP,"2008/04/04",2008.023,0, -5171,EGM96 geoid,vertical,Derived through EGM84 geoid undulation model consisting of spherical harmonic coefficients to degree and order 360 applied to the WGS 84 ellipsoid.,1996-01-01,,,1262,Geodesy.,"Replaces EGM84 geoid (datum code 5203). Replaced by EGM2008 geoid (datum code 1027).","NASA http://cddis.gsfc.nasa.gov/926/egm96/egm96.html",IOGP,"2015/11/25",2015.056,0, -5172,Nivellement General du Luxembourg,vertical,"Reference point Wemperhardt defined as 528.030m above Normaal Amsterdams Peil (NAP). Datum at NAP is mean high tide in 1684. Network adjusted in 1995.",1995-01-01,,,1146,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,"Administration du Cadastre et de la Topographie. http://www.etat.lu/ACT",OGP,"2004/03/09",,0, -5173,Antalya,vertical,Mean sea Level at Antalya 1936-71.,,,,3322,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,"Eurogeographics, http://crs.bkg.bund.de/crs-eu/",OGP,"2004/11/26",2004.722,0, -5174,Norway Normal Null 1954,vertical,MSL defined by regression at 7 gauges with between 17 and 67 years observations.,1974-01-01,,,1352,"Geodetic survey, topographic mapping, engineering survey.",Includes initial NN1954 system and NNN1957 system. Former name retained. Normal-orthometric heights. Replaced by NN2000.,Statoil,OGP,"2012/12/17",2012.094,0, -5175,Durres,vertical,Mean Sea Level at Durres.,,,,3212,"Geodetic survey, topographic mapping, engineering survey.",Normal-orthometric heights.,"Eurogeographics, http://crs.bkg.bund.de/crs-eu/",OGP,"2004/03/09",,0, -5176,Gebrauchshohen ADRIA,vertical,Reference point Hutbiegl defined relative to mean sea level at Trieste in 1875.,,,,1037,"Geodetic survey, topographic mapping, engineering survey.",Normal-orthometric heights.,"Eurogeographics, http://crs.bkg.bund.de/crs-eu/",OGP,"2004/03/09",,0, -5177,National Vertical Network 1999,vertical,Reference point Ruse defined relative to mean sea level at Trieste in 1875.,1999-01-01,,,3307,"Geodetic survey, topographic mapping, engineering survey.",Normal-orthometric heights.,"Eurogeographics, http://crs.bkg.bund.de/crs-eu/",OGP,"2004/03/09",,0, -5178,Cascais,vertical,Mean Sea Level at Cascais 1938.,1938-01-01,,,1294,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,"Eurogeographics, http://crs.bkg.bund.de/crs-eu/",OGP,"2004/03/09",,0, -5179,Constanta,vertical,Mean Sea Level at Constanta.,,,,3295,"Geodetic survey, topographic mapping, engineering survey.",Normal-orthometric heights.,"Eurogeographics, http://crs.bkg.bund.de/evrs/Relations.html",OGP,"2004/03/09",,0, -5180,Alicante,vertical,Mean Sea Level at Alicante between 1870 and 1882.,,,,4188,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,"Eurogeographics, http://crs.bkg.bund.de/crs-eu/",OGP,"2015/01/28",2014.095,0, -5181,Deutsches Haupthoehennetz 1992,vertical,"Network adjusted in 1992. Geopotential number at reference point Wallenhorst defined as value from the UELN-73/86 adjustment. Datum at Normaal Amsterdams Peil (NAP) is mean high tide in 1684.",1992-01-01,,,3339,"Geodetic survey, topographic mapping, engineering survey.",Replaces DHHN85 in West Germany and SNN76 in East Germany. Uses Normal heights.,"Bundesamt für Kartographie und Geodäsie (BKG), http://crs.bkg.bund.de/crs-eu/",OGP,"2011/08/03",2011.071,0, -5182,Deutsches Haupthoehennetz 1985,vertical,"Network adjusted in 1985. Height of reference point Wallenhorst defined as value from 1928 adjustment. Datum at Normaal Amsterdams Peil (NAP) is mean high tide in 1684.",1985-01-01,,,2326,"Geodetic survey, topographic mapping, engineering survey.",Replaced by DHHN92. Uses Normal-orthometric heights.,"Eurogeographics, http://crs.bkg.bund.de/crs-eu/",OGP,"2011/08/03",2011.071,0, -5183,Staatlichen Nivellementnetzes 1976,vertical,Network adjusted in 1976. Height at reference point Hoppegarten defined as 1957 value from the UPLN adjustment. Datum at Kronstadt is mean sea level of Baltic in 1833.,1976-01-01,,,1343,"Geodetic survey, topographic mapping, engineering survey.",Introduced in 1979. Uses Normal heights. Replaced by DHHN92.,"Eurogeographics, http://crs.bkg.bund.de/crs-eu/",IOGP,"2015/12/30",2015.067,0, -5184,Baltic 1982,vertical,Network adjusted in 1982. Height at reference point Varna defined as 1958 value from the UPLN adjustment. Datum at Kronstadt is mean sea level of Baltic in 1833.,1982-01-01,,,3224,"Geodetic survey, topographic mapping, engineering survey.",Uses Normal heights.,"Eurogeographics, http://crs.bkg.bund.de/crs-eu/",OGP,"2004/03/09",,0, -5185,Baltic 1980,vertical,,,,,1119,"Geodetic survey, topographic mapping, engineering survey.",Uses Normal heights.,"Eurogeographics, http://crs.bkg.bund.de/crs-eu/",OGP,"2004/03/09",,0, -5186,Kuwait PWD,vertical,"Mean Low Low Water (MLLW) at Kuwait City.",,,,3267,Municipality and military purposes.,Approximately 1.03m below MSL.,Kuwait Oil Company.,OGP,"2004/06/16",,0, -5187,KOC Well Datum,vertical,,1937-01-01,,,3267,KOC exploration and field development subsurface work.,Approximately 3.22m above MSL.,Kuwait Oil Company.,OGP,"2004/06/16",,0, -5188,KOC Construction Datum,vertical,,1952-01-01,,,3267,KOC survey control and facilities engineering.,Approximately 1.52m below MSL. Created for the construction of the Mina al Ahmadi refinery.,Kuwait Oil Company.,OGP,"2004/06/16",,0, -5189,Nivellement General de la Corse 1948,vertical,Mean sea level at Ajaccio between 1912 and 1937.,1948-01-01,,,1327,"Geodetic survey, topographic mapping, engineering survey.","Replaced by IGN78 Corsica (datum 5120).",IGN Paris,OGP,"2004/10/14",,0, -5190,Danger 1950,vertical,Marker near tide gauge at port of Saint Pierre. Height is 1.26 metres above zero of tide gauge.,1950-01-01,,,3299,"Geodetic survey, topographic mapping, engineering survey.",,IGN Paris,OGP,"2004/10/14",,0, -5191,Mayotte 1950,vertical,Marker on Issoufali jetty at Dzaoudzi. Height is 2.18m above zero of tide gauge.,1950-01-01,,,3340,"Geodetic survey, topographic mapping, engineering survey.",,IGN Paris,OGP,"2004/10/14",,0, -5192,Martinique 1955,vertical,Mean sea level at Fort de France 1939. Marker DO-4-II on quay wall with elevation of 1.38m above msl.,1955-01-01,,,3276,"Geodetic survey, topographic mapping, engineering survey.","Orthometric heights. Replaced by Martinique 1987 (datum code 5154).",IGN Paris,OGP,"2008/09/17",2008.087,0, -5193,Guadeloupe 1951,vertical,"Mean sea level July 1947 to June 1948 at Pointe-Fouillole (Pointe-à-Pitre harbour). Origin = marker AO'-12 with height of 1.917m above msl.",1955-01-01,,,2892,"Geodetic survey, topographic mapping, engineering survey.","Orthometric heights. Replaced by Guadeloupe 1988 (datum code 5155). Guadeloupe 1951 height 0.00m is 0.629m above 1947-48 sounding datum.",IGN Paris,OGP,"2008/09/17",2008.087,0, -5194,Lagos 1955,vertical,"Mean sea level at Lagos, 1912-1928.",1955-01-01,,,3287,"Geodetic survey, topographic mapping, engineering survey.",,"Ebong et al, AVN International, 1991.",OGP,"2004/10/14",,0, -5195,Nivellement General de Polynesie Francaise,vertical,,,,,3134,"Geodetic survey, topographic mapping, engineering survey.",The collection of heterogeneous levelling networks throughout the Society Islands of French Polynesia.,"Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie.",OGP,"2005/08/12",,0, -5196,IGN 1966,vertical,"Fundamental benchmark: RN501",1966-01-01,,,3124,"Geodetic survey, topographic mapping, engineering survey.",Included as part of NGPF - see datum code 5195.,"Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie.",OGP,"2005/08/12",,0, -5197,Moorea SAU 1981,vertical,"Fundamental benchmark: RN225",1981-01-01,,,3125,"Geodetic survey, topographic mapping, engineering survey.",Included as part of NGPF - see datum code 5195.,"Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie.",OGP,"2005/08/12",,0, -5198,Raiatea SAU 2001,vertical,"Fundamental benchmark: RN1",2001-01-01,,,3136,"Geodetic survey, topographic mapping, engineering survey.",Included as part of NGPF - see datum code 5195.,"Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie.",OGP,"2005/08/12",,0, -5199,Maupiti SAU 2001,vertical,"Fundamental benchmark: RN11",2001-01-01,,,3126,"Geodetic survey, topographic mapping, engineering survey.",Included as part of NGPF - see datum code 5195.,"Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie.",OGP,"2005/08/12",,0, -5200,Huahine SAU 2001,vertical,"Fundamental benchmark: SHOM B3",2001-01-01,,,3135,"Geodetic survey, topographic mapping, engineering survey.",Included as part of NGPF - see datum code 5195.,"Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie.",OGP,"2005/08/12",,0, -5201,Tahaa SAU 2001,vertical,"Fundamental benchmark: RN16",2001-01-01,,,3138,"Geodetic survey, topographic mapping, engineering survey.",Included as part of NGPF - see datum code 5195.,"Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie.",OGP,"2005/08/12",,0, -5202,Bora Bora SAU 2001,vertical,"Fundamental benchmark: Vaitape quay SHOM benchmark B.",2001-01-01,,,3137,"Geodetic survey, topographic mapping, engineering survey.",Included as part of NGPF - see datum code 5195.,"Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie.",OGP,"2005/08/12",,0, -5203,EGM84 geoid,vertical,Derived through EGM84 geoid undulation model consisting of spherical harmonic coefficients to degree and order 180 applied to the WGS 84 ellipsoid.,1987-01-01,,,1262,Geodesy.,"Replaced by EGM96 geoid (datum code 5171).","US National Geospatial-Intelligence Agency (NGA); http://earth-info.nga.mil/GandG/",IOGP,"2015/11/25",2015.056,0, -5204,International Great Lakes Datum 1955,vertical,"Mean water level 1941-1956 at Pointe-au-Père (Father's Point), Quebec. Benchmark 1248-G = 3.794m.",1955-01-01,,,3468,Hydrology.,Dynamic heights. Adopted in 1962. Replaced by IGLD 1985 in January 1992.,Coordinating Committee on Great Lakes Basic Hydraulic and Hydrologic Data,OGP,"2012/08/10",2011.047,0, -5205,International Great Lakes Datum 1985,vertical,"Mean water level 1970-1983 at Pointe-au-Pierre (Father's Point) and 1984-1988 at Rimouski, Quebec. Benchmark 1250-G = 6.273m.",1985-01-01,,,3468,Hydrology.,Dynamic heights. Replaces IGLD 1955 from January 1992.,Coordinating Committee on Great Lakes Basic Hydraulic and Hydrologic Data,OGP,"2012/08/10",2011.047,0, -5206,Dansk Vertikal Reference 1990,vertical,"Benchmark at Århus cathedral referenced to mean sea level determined during 1990 at 10 tide gauges: Esbjerg, Fredericia, Frederikshavn, Gedser, Hirtshals, Hornbæk, Korsør, København, Slipshavn and Århus.",,,,3237,Topographic mapping and engineering survey,Normal Orthometric heights.,"Kort & Matrikelstyrelsen",OGP,"2006/12/01",,0, -5207,Croatian Vertical Reference System 1971,vertical,"Mean sea level at five tide gauges in Dubrovnik, Split, Bakar, Rovinj and Kopar at epoch 1971.5",1971-01-01,,,3234,Geodesy.,"Replaces Trieste (datum code 1050).",State Geodetic Administration of the Republic of Croatia.,OGP,"2010/07/13",2008.043 2010.064,0, -5208,Rikets hojdsystem 2000,vertical,"Adjustment is referenced to mean high tide at Amsterdams Peil in 1684. To account for land level movements caused by isostatic rebound, heights are reduced to epoch 2000.0 using values computed from the RH 2000 LU (=NKG2005LU) uplift model.",2000-01-01,,,3313,"Topographic mapping, geodetic survey.","Realised through the third precise levelling network of 1979-2003. Adopted in 2005, replacing RH70. Uses Normal heights.",National Land Survey of Sweden,OGP,"2008/03/14",,0, -5209,Rikets hojdsystem 1900,vertical,"Adjustment is referenced to mean sea level at Slussen, Stockholm.",1900-01-01,,,3313,"Topographic mapping, engineering survey.",Realised through the first precise levelling network of 1886-1905. Replaced by RH70.,National Land Survey of Sweden,OGP,"2008/03/14",,0, -5210,IGN 1988 LS,vertical,"Mean sea level 1984 at Terre de Haut. Origin = marker O de -5 with defined height of 1.441m above msl. IGN 1988 LS height 0.00m is 0.46m above 1987 sounding datum; this approximately corresponds with msl at Pointe-à-Pitre (see datum code 5155, CRS 5757).",1988-01-01,,,2895,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,IGN Paris,OGP,"2008/09/17",,0, -5211,IGN 1988 MG,vertical,"Mean sea level 1987 at Grand-Bourg. Origin = marker M0-I with defined height of 0.832m above msl. IGN 1988 MG height 0.00m is 0.46m above 1987 sounding datum; this approximately corresponds with msl at Pointe-à-Pitre (see datum code 5155, CRS code 5757).",1988-01-01,,,2894,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,IGN Paris,OGP,"2008/09/17",,0, -5212,IGN 1992 LD,vertical,"Mean sea level at Pointe-à-Pitre. Origin = marker A with defined height of 0.792m above msl. IGN 1992 LD height 0.00m is 0.629m above sounding datum at Pointe-à-Pitre.",1992-01-01,,,2893,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,IGN Paris,OGP,"2008/09/17",,0, -5213,IGN 1988 SB,vertical,"Mean sea level 1988 at port of Gustavia. Origin = marker A.ef-2 with defined height of 0.621m above msl. IGN 1988 SB height 0.00m deduced to be 0.201m above mean sea level at Pointe-à-Pitre.",1988-01-01,,,2891,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,IGN Paris,OGP,"2008/09/17",,0, -5214,IGN 1988 SM,vertical,"Mean sea level 1949-1950 deduced at Fort Marigot. Origin = marker AS-13 with defined height of 6.990m above msl. IGN 1988 SM height 0.00m deduced to be 0.41m above sounding datum.",1988-01-01,,,2890,"Geodetic survey, topographic mapping, engineering survey.",Orthometric heights.,IGN Paris,OGP,"2008/09/17",,0, -5215,European Vertical Reference Frame 2007,vertical,Least squares fit to 13 stations of the EVRF2000 solution.,2007-01-01,,,3594,Geodesy.,"Realised by geopotential numbers and Normal heights of the United European Levelling Network. Replaces EVRF2000 (datum code 5129).","European veritical data centre at Bundesamt für Kartographie und Geodäsie (BKG), Leipzig branch. http://crs.bkg.bund.de/evrs/",OGP,"2015/02/12",2015.005,0, -6001,"Not specified (based on Airy 1830 ellipsoid)",geodetic,,,7001,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Airy_1830" -6002,"Not specified (based on Airy Modified 1849 ellipsoid)",geodetic,,,7002,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Airy_Modified" -6003,"Not specified (based on Australian National Spheroid)",geodetic,,,7003,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Australian" -6004,"Not specified (based on Bessel 1841 ellipsoid)",geodetic,,,7004,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Bessel_1841" -6005,"Not specified (based on Bessel Modified ellipsoid)",geodetic,,,7005,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Bessel_Modified" -6006,"Not specified (based on Bessel Namibia ellipsoid)",geodetic,,,7046,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2001/01/21",1996.080 2000.420 2001.150,0,"D_Bessel_Namibia" -6007,"Not specified (based on Clarke 1858 ellipsoid)",geodetic,,,7007,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Clarke_1858" -6008,"Not specified (based on Clarke 1866 ellipsoid)",geodetic,,,7008,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Clarke_1866" -6009,"Not specified (based on Clarke 1866 Michigan ellipsoid)",geodetic,,,7009,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420 2013.020,1,"D_Clarke_1866_Michigan" -6010,"Not specified (based on Clarke 1880 (Benoit) ellipsoid)",geodetic,,,7010,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Clarke_1880_Benoit" -6011,"Not specified (based on Clarke 1880 (IGN) ellipsoid)",geodetic,,,7011,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Clarke_1880_IGN" -6012,"Not specified (based on Clarke 1880 (RGS) ellipsoid)",geodetic,,,7012,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Clarke_1880_RGS" -6013,"Not specified (based on Clarke 1880 (Arc) ellipsoid)",geodetic,,,7013,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Clarke_1880_Arc" -6014,"Not specified (based on Clarke 1880 (SGA 1922) ellipsoid)",geodetic,,,7014,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Clarke_1880_SGA" -6015,"Not specified (based on Everest 1830 (1937 Adjustment) ellipsoid)",geodetic,,,7015,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Everest_Adj_1937" -6016,"Not specified (based on Everest 1830 (1967 Definition) ellipsoid)",geodetic,,,7016,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Everest_Def_1967" -6018,"Not specified (based on Everest 1830 Modified ellipsoid)",geodetic,,,7018,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Everest_Modified" -6019,"Not specified (based on GRS 1980 ellipsoid)",geodetic,,,7019,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_GRS_1980" -6020,"Not specified (based on Helmert 1906 ellipsoid)",geodetic,,,7020,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Helmert_1906" -6021,"Not specified (based on Indonesian National Spheroid)",geodetic,,,7021,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Indonesian" -6022,"Not specified (based on International 1924 ellipsoid)",geodetic,,,7022,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_International_1924" -6024,"Not specified (based on Krassowsky 1940 ellipsoid)",geodetic,,,7024,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Krasovsky_1940" -6025,"Not specified (based on NWL 9D ellipsoid)",geodetic,,,7025,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_NWL_9D" -6027,"Not specified (based on Plessis 1817 ellipsoid)",geodetic,,,7027,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Plessis_1817" -6028,"Not specified (based on Struve 1860 ellipsoid)",geodetic,,,7028,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Struve_1860" -6029,"Not specified (based on War Office ellipsoid)",geodetic,,,7029,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_War_Office" -6030,"Not specified (based on WGS 84 ellipsoid)",geodetic,,,7030,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0, -6031,"Not specified (based on GEM 10C ellipsoid)",geodetic,,,7031,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_GEM_10C" -6032,"Not specified (based on OSU86F ellipsoid)",geodetic,,,7032,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_OSU_86F" -6033,"Not specified (based on OSU91A ellipsoid)",geodetic,,,7033,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_OSU_91A" -6034,"Not specified (based on Clarke 1880 ellipsoid)",geodetic,,,7034,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",1996.080 2000.420,0,"D_Clarke_1880" -6035,"Not specified (based on Authalic Sphere)",geodetic,,,7035,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown. Deprecated and replaced by 6047.,OGP,OGP,"2001/06/05",1996.080 2000.420,1,"D_Sphere" -6036,"Not specified (based on GRS 1967 ellipsoid)",geodetic,,,7036,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",2000.420,0,"D_GRS_1967" -6041,"Not specified (based on Average Terrestrial System 1977 ellipsoid)",geodetic,,,7041,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",2000.420,0, -6042,"Not specified (based on Everest (1830 Definition) ellipsoid)",geodetic,,,7042,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",2000.420,0,"D_Everest_1830" -6043,"Not specified (based on WGS 72 ellipsoid)",geodetic,,,7043,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",2000.420,0, -6044,"Not specified (based on Everest 1830 (1962 Definition) ellipsoid)",geodetic,,,7044,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",2000.420,0,"D_Everest_Def_1962" -6045,"Not specified (based on Everest 1830 (1975 Definition) ellipsoid)",geodetic,,,7045,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2000/05/03",2000.420,0,"D_Everest_Def_1975" -6047,"Not specified (based on GRS 1980 Authalic Sphere)",geodetic,,,7048,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2004/04/27",2001.190 2003.330,0,"D_Sphere_GRS_1980_Authalic" -6052,"Not specified (based on Clarke 1866 Authalic Sphere)",geodetic,,,7052,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2004/04/27",,0,"D_Sphere_Clarke_1866_Authalic" -6053,"Not specified (based on International 1924 Authalic Sphere)",geodetic,,,7057,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2006/09/22",,0,"D_Sphere_International_1924_Authalic" -6054,"Not specified (based on Hughes 1980 ellipsoid)",geodetic,,,7058,8901,1263,Not a valid datum.,Included for coordinate reference systems where datum is unknown.,OGP,OGP,"2006/09/22",,0,"D_Hughes_1980" -6055,Popular Visualisation Datum,geodetic,Not specified in the classical sense of defining a geodetic datum.,,7059,8901,1262,Used by certain popular Web mapping and visualisation applications.,Not recognised by geodetic authorities.,Microsoft.,OGP,"2008/03/13",2008.114,1, -6120,Greek,geodetic,"Fundamental point: Athens Observatory. Latitude 37°58'20.132""N, longitude 23°42'58.815""E (of Greenwich)",,7004,8901,3254,Topographic mapping.,"See geodetic datum alias 6404. Used as basis of topographic mapping based on Hatt projection. Replaced by GGRS87 (code 6121).","Topography Department; National Technical University of Athens",OGP,"2011/07/20",2004.183 2008.045 2011.062,0,"D_Greek" -6121,Greek Geodetic Reference System 1987,geodetic,"Fundamental point: Dionysos. Latitude 38°04'33.8""N, longitude 23°55'51.0""E of Greenwich; geoid height 7.0 m.",1987-01-01,7019,8901,3254,Topographic mapping.,"Replaced (old) Greek datum. Oil industry work based on ED50.","L. Portokalakis; Public Petroleum Corporation of Greece",OGP,"2011/07/20",2008.045 2011.062,0,"D_GGRS_1987" -6122,Average Terrestrial System 1977,geodetic,,1977-01-01,7041,8901,1283,Topographic mapping.,"In use from 1979. To be phased out in late 1990's.",New Brunswick Geographic Information Corporation land and water information standards manual.,OGP,"1997/07/02",,0,"D_ATS_1977" -6123,"Kartastokoordinaattijarjestelma (1966)",geodetic,Adjustment with fundamental point SF31 based on ED50 transformed to best fit the older VVJ adjustment.,1966-01-01,7022,8901,3333,"Geodetic survey, cadastre, topographic mapping, engineering survey.",Adopted in 1970.,"National Land Survey of Finland; -http://www.maanmittauslaitos.fi",OGP,"2011/06/30",2006.270 2011.055,0,"D_KKJ" -6124,Rikets koordinatsystem 1990,geodetic,,1982-01-01,7004,8901,1225,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaces RT38 adjustment (datum code 6308)",National Land Survey of Sweden,OGP,"1997/11/13",,0,"D_RT_1990" -6125,Samboja,geodetic,Original origin station P2 Exc now destroyed. Extensions recomputed using Toran station T9 as origin.,,7004,8901,1328,Topographic mapping.,,Total Indonesia.,OGP,"1997/11/13",,1,"D_Samboja" -6126,"Lithuania 1994 (ETRS89)",geodetic,Constrained to 4 ETRS89 points in Lithuania from the EUREF Baltic 1992 campaign.,1992-10-01,7019,8901,1145,"Topographic mapping, geodetic survey.",Densification of ETRS89 during the 1992 Baltic campaign.,HNIT-Baltic GeoInfoServisas,IOGP,"2016/09/16",2016.020,0,"D_Lithuania_1994" -6127,Tete,geodetic,"Fundamental point: Tete.",1960-01-01,7008,8901,3281,Topographic mapping.,,"Mozambique Direcção Nacional de Geografia e Cadastral (DINAGECA).",OGP,"2014/11/19",2014.076,0,"D_Tete" -6128,Madzansua,geodetic,"Fundamental point: Madzansua.",,7008,8901,1315,Topographic mapping.,"Replaced by transformation to Tete datum (datum code 6127).","Mozambique Direcção Nacional de Geografia e Cadastral (DINAGECA).",OGP,"1998/04/16",,0,"D_Madzansua" -6129,Observatario,geodetic,"Fundamental point: Campos Rodrigues observatory, Maputo.",1907-01-01,7008,8901,1329,Topographic mapping.,"Replaced by transformation to Tete datum (datum code 6127).","Mozambique Direcção Nacional de Geografia e Cadastral (DINAGECA).",OGP,"2014/11/19",2014.076,0,"D_Observatario" -6130,"Moznet (ITRF94)",geodetic,ITRF94 at epoch 1996.9,1996-11-24,7030,8901,1167,Topographic mapping.,,"Mozambique Direcção Nacional de Geografia e Cadastral (DINAGECA).",IOGP,"2016/09/16",2006.770 2016.020,0,"D_Moznet" -6131,Indian 1960,geodetic,DMA extension over IndoChina of the Indian 1954 network adjusted to better fit local geoid.,,7015,8901,4007,Topographic mapping.,"Also known as Indian (DMA Reduced).",,OGP,"2012/03/25",2003.361 2012.032,0,"D_Indian_1960" -6132,Final Datum 1958,geodetic,"Fundamental point: Maniyur. Latitude: 31°23'59.19""N, longitude: 48°32'31.38""E (of Greenwich).",,7012,8901,1300,Oil industry mapping.,Network included in Nahrwan 1967 adjustment.,IOEPC records,OGP,"2008/06/24",2008.045,0,"D_FD_1958" -6133,Estonia 1992,geodetic,Densification from 4 ETRS89 points.,1992-10-01,7019,8901,3246,"Topographic mapping, Geodetic survey.","Based on ETRS89 as established during the 1992 Baltic campaign. Replaced by Estonia 1997 adjustment (code 6180).","http://www.geo.ut.ee",IOGP,"2016/09/16",2005.460 2011.055 2016.020,0,"D_Estonia_1992" -6134,PDO Survey Datum 1993,geodetic,Adjustment best fitted to Fahud network.,1993-01-01,7012,8901,3288,Oil industry mapping.,"Replaces Fahud datum (code 6232). Maximum differences to Fahud adjustment are 20 metres.",Petroleum Development Oman,OGP,"1999/04/22",,0,"D_PDO_1993" -6135,Old Hawaiian,geodetic,"Fundamental point: Oahu West Base Astro. Latitude: 21°18'13.89""N, longitude 157°50'55.79""W (of Greenwich)",,7008,8901,1334,Topographic mapping.,"Hawaiian Islands were never on NAD27 but rather on Old Hawaiian Datum. NADCON conversion program provides transformation from Old Hawaiian Datum to NAD83 (original 1986 realization) but making the transformation appear to user as if from NAD27.","http://www.ngs.noaa.gov/ (NADCON readme file).",OGP,"2008/06/24",2005.460 2008.045,0,"D_Old_Hawaiian" -6136,St. Lawrence Island,geodetic,,,7008,8901,1332,Topographic mapping.,"Many Alaskan islands were never on NAD27 but rather on independent datums. NADCON conversion program provides transformation from St. Lawrence Island Datum to NAD83 (original 1986 realization) - making the transformation appear to user as if from NAD27.","http://www.ngs.noaa.gov/ (NADCON readme file)",OGP,"1999/05/24",,0,"D_St_Lawrence_Island" -6137,St. Paul Island,geodetic,"Fundamental point latitude: 57°07'16.86""N, longitude: 170°16'24.00""W (of Greenwich).",,7008,8901,1333,Topographic mapping.,"Many Alaskan islands were never on NAD27 but rather on independent datums. NADCON conversion program provides transformation from St. Paul Island Datum to NAD83 (original 1986 realization) - making the transformation appear to user as if from NAD27.","http://www.ngs.noaa.gov/ (NADCON readme file)",OGP,"2008/06/24",2008.045,0,"D_St_Paul_Island" -6138,St. George Island,geodetic,"Fundamental point latitude: 56°36'11.31""N, longitude: 169°32'36.00""W (of Greenwich).",,7008,8901,1331,Topographic mapping.,"Many Alaskan islands were never on NAD27 but rather on independent datums. NADCON conversion program provides transformation from St. George Island Datum to NAD83 (original 1986 realization) - making the transformation appear to user as if from NAD27.","http://www.ngs.noaa.gov/ (NADCON readme file)",OGP,"2008/06/24",2003.362 2008.045,0,"D_St_George_Island" -6139,Puerto Rico,geodetic,"Fundamental point: Cardona Island Lighthouse. Latitude:17°57'31.40""N, longitude: 66°38'07.53""W (of Greenwich).",1901-01-01,7008,8901,1335,Topographic mapping.,"NADCON conversion program provides transformation from Puerto Rico Datum to NAD83 (original 1986 realization) but making the transformation appear to user as if from NAD27.","Ordnance Survey of Great Britain and http://www.ngs.noaa.gov/ (NADCON readme file).",OGP,"2008/06/24",2003.362 2008.045,0,"D_Puerto_Rico" -6140,NAD83 Canadian Spatial Reference System,geodetic,,1998-01-01,7019,8901,1061,Geodetic survey.,,"Natural Resources of Canada, CSRS website. http://www.geod.nrcan.gc.ca",OGP,"2007/09/25",2005.880 2006.461 2007.026 2007.092,0,"D_North_American_1983_CSRS" -6141,Israel 1993,geodetic,"Fundamental point: Latitude: 31°44'03.817""N, longitude: 35°12'16.261""E (of Greenwich).",,7019,8901,2603,Topographic mapping.,"Replaces Palestine 1923 (datum code 6281). Replaced by IGD05 (datum code 1143).",Survey of Israel.,OGP,"2014/11/21",2002.340 2004.150 2008.045 2014.041,0,"D_Israel" -6142,Locodjo 1965,geodetic,"Fundamental point: T5 Banco. Latitude: 5°18'50.5""N, longitude: 4°02'05.1""W (of Greenwich).",1965-01-01,7012,8901,1075,Topographic mapping.,,IGN Paris.,IOGP,"2016/12/15",2008.045 2016.048,0,"D_Locodjo_1965" -6143,Abidjan 1987,geodetic,"Fundamental point: Abidjan I. Latitude: 5°18'51.01""N, longitude: 4°02'06.04""W (of Greenwich).",1987-01-01,7012,8901,1075,Topographic mapping.,,IGN Paris.,IOGP,"2016/12/15",2008.045 2016.048,0,"D_Abidjan_1987" -6144,Kalianpur 1937,geodetic,"Fundamental point: Kalianpur. Latitude: 24° 07'11.260""N, longitude: 77°39'17.570""E (of Greenwich).",1937-01-01,7015,8901,1308,Topographic mapping.,Replaces 1880 adjustment except for topographic mapping. Replaced in Bangladesh and Pakistan by 1962 metrication conversion and in India by 1975 metrication conversion.,"G. Bomford; ""The Re-adjustment of the Indian Triangulation""; Survey of India Professional Paper 28; 1939.",OGP,"2008/06/24",2008.045,0,"D_Kalianpur_1937" -6145,Kalianpur 1962,geodetic,"Fundamental point: Kalianpur. Latitude: 24° 07'11.260""N, longitude: 77°39'17.570""E (of Greenwich).",1962-01-01,7044,8901,3289,Topographic mapping.,"1937 adjustment rescaled by ratio metric conversions of Indian foot (1937) to Indian foot (1962).",,OGP,"2008/06/24",2008.045,0,"D_Kalianpur_1962" -6146,Kalianpur 1975,geodetic,"Fundamental point: Kalianpur. Latitude: 24° 07'11.260""N, longitude: 77°39'17.570""E (of Greenwich).",1975-01-01,7045,8901,3341,Topographic mapping.,"1937 adjustment rescaled by ratio metric conversions of Indian foot (1937) to Indian foot (1975).",,OGP,"2008/06/24",2008.045,0,"D_Kalianpur_1975" -6147,Hanoi 1972,geodetic,,1972-01-01,7024,8901,3328,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,PetroVietnam,OGP,"1999/10/20",,0,"D_Hanoi_1972" -6148,Hartebeesthoek94,geodetic,Coincident with ITRF91 at epoch 1994.0 at Hartebeesthoek astronomical observatory near Pretoria.,1994-01-01,7030,8901,1215,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaces Cape datum (code 6222).","Directorate of Surveys and Mapping; http://w3sli.wcape.gov.za/surveys/mapping/wgs84.htm",OGP,"2006/08/18",1999.960 2006.770,0,"D_Hartebeesthoek_1994" -6149,CH1903,geodetic,"Fundamental point: Old Bern observatory. Latitude: 46°57'08.660""N, longitude: 7°26'22.500""E (of Greenwich).",1903-01-01,7004,8901,1286,Topographic mapping.,,"Bundesamt für Landestopographie",OGP,"2008/06/24",2008.045,0,"D_CH1903" -6150,"CH1903+",geodetic,"Fundamental point: Zimmerwald observatory.",,7004,8901,1286,"Geodetic survey, topographic mapping.",,"Bundesamt für Landestopographie. Aufbau der Landesvermessung der Schweiz 'LV95' Teil 3: Terrestrische Bezugssysteme und Bezugsrahmen. L+T 1999.",OGP,"2001/11/06",2001.520,0,"D_CH1903+" -6151,Swiss Terrestrial Reference Frame 1995,geodetic,ETRF89 at epoch 1993.0,1993-01-01,7019,8901,1286,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"Bundesamt für Landestopographie. Aufbau der Landesvermessung der Schweiz 'LV95' Teil 3: Terrestrische Bezugssysteme und Bezugsrahmen. L+T 1999.",IOGP,"2016/09/16",2006.770 2016.020,0,"D_Swiss_TRF_1995" -6152,"NAD83 (High Accuracy Reference Network)",geodetic,,,7019,8901,1337,Geodetic survey.,"In CONUS, Puerto Rico and US Virgin Islands replaced by NAD83(NSRS2007). In American Samoa and Hawaii replaced by NAD83(PA11). In Guam replaced by NAD83(MA11).",National Geodetic Survey,OGP,"2013/06/12",2009.044 2010.061 2011.009 2013.022,0,"D_North_American_1983_HARN" -6153,Rassadiran,geodetic,"Fundamental point: Total1. Latitude: 27°31'07.784""N, longitude: 52°36'12.741""E (of Greenwich).",1998-01-01,7022,8901,1338,Oil industry mapping.,,Total-Fina,OGP,"2008/06/24",2008.045,0,"D_Rassadiran" -6154,"European Datum 1950(1977)",geodetic,Extension of ED50 over Iran.,1977-01-01,7022,8901,1123,Topographic mapping.,Sometimes referred to as ED50-ED77.,National Cartographic Centre of Iran,OGP,"1999/11/20",,0,"D_European_1950_ED77" -6155,Dabola 1981,geodetic,,1981-01-01,7011,8901,3257,Topographic mapping.,,IGN Paris,OGP,"1999/12/09",,0,"D_Dabola_1981" -6156,System Jednotne Trigonometricke Site Katastralni,geodetic,"Modification of Austrian MGI datum, code 6312.",,7004,8901,1306,"Geodetic survey, cadastre, topographic mapping, engineering survey.","S-JTSK = System of the Unified Trigonometrical Cadastral Network.","Research Institute for Geodesy Topography and Cartography (VUGTK); Prague.",OGP,"2010/11/02",2001.260 2001.510 2010.071,0,"D_S_JTSK" -6157,Mount Dillon,geodetic,"Fundamental point: Mount Dillon triangulation station. Latitude: 11°15'07.843""N, longitude: 60°41'09.632""W (of Greenwich).",,7007,8901,1322,Topographic mapping.,,University of the West Indies Geodetic Services.,OGP,"2008/06/24",2003.361 2008.045,0,"D_Mount_Dillon" -6158,Naparima 1955,geodetic,"Fundamental point: Naparima. Latitude: 10°16'44.860""N, longitude: 61°27'34.620""W (of Greenwich).",1955-01-01,7022,8901,3143,Topographic mapping.,Naparima 1972 is an extension of the Naparima 1955 network of Trinidad to include Tobago.,Ordnance Survey International.,OGP,"2008/06/24",2008.045,0,"D_Naparima_1955" -6159,European Libyan Datum 1979,geodetic,Extension of ED50 over Libya.,1979-01-01,7022,8901,1143,Topographic mapping.,,Brown and Root,OGP,"2003/12/31",2003.362,0,"D_European_Libyan_1979" -6160,Chos Malal 1914,geodetic,Chos Malal police station.,1914-01-01,7022,8901,1292,Oil industry mapping.,"Also known as Quini-Huao. Replaced by Campo Inchauspe (code 6221).",Various oil company records.,OGP,"2000/03/07",,0,"D_Chos_Malal_1914" -6161,Pampa del Castillo,geodetic,,,7022,8901,1265,Oil industry mapping.,"Used in Comodoro Rivadavia area. Replaced by Campo Inchauspe (code 6221).",Various oil company records.,OGP,"2000/03/07",,0,"D_Pampa_del_Castillo" -6162,Korean Datum 1985,geodetic,"Fundamental point: Suwon. Latitude 37°16'31.9034""N, longitude 127°03'05.1451""E of Greenwich. This is consistent with the Tokyo 1918 datum latitude and longitude.",1985-01-01,7004,8901,3266,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaces Tokyo 1918 (datum code 6301). Replaced by Korea 2000 (datum code 6737).","Clifford J. Mugnier; in Photogrammetric Engineering & Remote Sensing November 1999. http://www.asprs.org/",OGP,"2010/06/30",2001.280 2005.460 2008.045 2010.050,0,"D_Korean_Datum_1985" -6163,Yemen National Geodetic Network 1996,geodetic,"Sana'a IGN reference marker.",1996-01-01,7030,8901,1257,Topographic mapping.,,IGN Paris,OGP,"2000/03/07",,0,"D_Yemen_NGN_1996" -6164,South Yemen,geodetic,,,7024,8901,1340,Topographic mapping.,,IGN Paris,OGP,"2000/03/07",,0,"D_South_Yemen" -6165,Bissau,geodetic,,,7022,8901,3258,Topographic mapping.,,"NIMA TR8350.2 ftp://164.214.2.65/pub/gig/tr8350.2/changes.pdf",OGP,"2005/09/05",2005.460,0,"D_Bissau" -6166,Korean Datum 1995,geodetic,,1995-01-01,7030,8901,3266,Topographic mapping.,,"NIMA TR8350.2 ftp://164.214.2.65/pub/gig/tr8350.2/changes.pdf",OGP,"2005/09/05",2005.460,0,"D_Korean_Datum_1995" -6167,New Zealand Geodetic Datum 2000,geodetic,Based on ITRF96 at epoch 2000.0,2000-01-01,7019,8901,1175,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaces New Zealand Geodetic Datum 1949 (code 6272) and Chatham Islands Datum 1979 (code 6673) from March 2000.","Land Information New Zealand. http://www.linz.govt.nz/rcs/linz/pub/web/root/core/SurveySystem/GeodeticInfo/GeodeticDatums/nzgd2000factsheet/index.jsp",OGP,"2007/09/29",2004.110 2007.090,0,"D_NZGD_2000" -6168,Accra,geodetic,"Fundamental point: GCS Station 547. Latitude: 5°23'43.3""N, longitude: 0°11'52.3""W (of Greenwich).",,7029,8901,1104,Topographic mapping.,"Replaced in 1978 by Leigon datum (code 6250).",Ordnance Survey International,OGP,"2008/06/24",2008.045,0,"D_Accra" -6169,American Samoa 1962,geodetic,"Fundamental point: Betty 13 eccentric. Latitude: 14°20'08.34""S, longitude: 170°42'52.25""W (of Greenwich).",1962-01-01,7008,8901,3109,Topographic mapping.,,NIMA TR8350.2 revision of January 2000. Oil industry sources for origin description details.,OGP,"2008/06/24",2003.362 2005.230 2008.045,0,"D_American_Samoa_1962" -6170,Sistema de Referencia Geocentrico para America del Sur 1995,geodetic,ITRF94 at epoch 1995.42.,1995-06-02,7019,8901,3448,Geodetic survey.,Realised by a frame of 58 stations observed in 1995 and adjusted in the ITRF94. Replaced by SIRGAS 2000.,"NIMA TR8350.2 revision of January 2000. Also http://www1.ibge.gov.br/",IOGP,"2016/09/16",2004.250 2005.460 2006.465 2006.770 2016.020,0,"D_SIRGAS" -6171,Reseau Geodesique Francais 1993,geodetic,Coincident with ETRS89 at epoch 1993.0,1993-01-01,7019,8901,1096,Geodetic survey.,,"http://www.ign.fr/ via TotalFinaElf",OGP,"2005/09/05",2001.510 2005.460,0,"D_RGF_1993" -6172,Posiciones Geodesicas Argentinas,geodetic,,1994-01-01,7019,8901,1033,"Topographic mapping, geodetic survey.","Una red geodésica de 127 puntos materializados -en el terreno que definen el Sistema Geodésico Nacional. [A geodetic network of 127 points defining the National Geodetic System.] Replaced by POSGAR98 (code 6190).","http://www.igm.gov.ar/posgar.html",OGP,"2000/10/19",,1,"D_POSGAR" -6173,IRENET95,geodetic,ETRS89 stations in Ireland,1995-01-01,7019,8901,1305,Geodetic survey.,Densification of ETRS89,Ordnance Survey of Ireland,OGP,"2012/01/05",2004.220 2011.004 2011.082,0,"D_IRENET95" -6174,Sierra Leone Colony 1924,geodetic,"Fundamental point: Kortright. Latitude: 8°28'44.4""N, longitude: 13°13'03.81""W (of Greenwich).",1924-01-01,7029,8901,1342,"Topographic mapping, engineering survey.",,Ordnance Survey International.,OGP,"2008/06/24",2008.045,0,"D_Sierra_Leone_1924" -6175,Sierra Leone 1968,geodetic,"Fundamental point: SLX2 Astro. Latitude: 8°27'17.567""N, longitude: 12°49'40.186""W (of Greenwich).",1968-01-01,7012,8901,3306,"Topographic mapping, engineering survey.",Extension and readjustment with additional observations of 1960 network. Coordinates of 1960 stations change by less than 3 metres.,Ordnance Survey International.,OGP,"2008/06/24",2008.045,0,"D_Sierra_Leone_1968" -6176,Australian Antarctic Datum 1998,geodetic,,1998-01-01,7019,8901,1278,Topographic mapping.,,Standards Australia,OGP,"2006/01/30",2006.080,0,"D_Australian_Antarctic_1998" -6178,"Pulkovo 1942(83)",geodetic,"Fundamental point: Pulkovo observatory. Latitude: 59°46'18.550""N, longitude: 30°19'42.090""E (of Greenwich).",1983-01-01,7024,8901,3900,"Geodetic survey, cadastre, topographic mapping, engineering survey.",1983 international adjustment of Uniform Astro-Geodetic Network of countries of central and eastern Europe.,"Bundesamt für Kartographie und Geodäsie via EuroGeographics; http://crs.bkg.bund.de/crs-eu/",OGP,"2012/01/05",2008.045 2008.011 2011.082,0,"D_Pulkovo_1942_Adj_1983" -6179,"Pulkovo 1942(58)",geodetic,"Fundamental point: Pulkovo observatory. Latitude: 59°46'18.550""N, longitude: 30°19'42.090""E (of Greenwich).",1956-01-01,7024,8901,3574,"Geodetic survey, cadastre, topographic mapping, engineering survey.",1956 international adjustment of Uniform Astro-Geodetic Network of countries of central and eastern Europe. Locally densified during 1957 and 1958.,"Glowny Urzad Geodezji i Kartografii via EuroGeographics; http://crs.bkg.bund.de/crs-eu/",OGP,"2008/09/24",2008.011 2008.045,0,"D_Pulkovo_1942_Adj_1958" -6180,Estonia 1997,geodetic,Densification of ETRS89 during EUREF-ESTONIA97 campaign through transformation from ITRF96 at epoch 1997.56.,1997-07-23,7019,8901,1090,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaces Estonia 1992 adjustment (code 6133).","Estonian National Land Board via EuroGeographics; http://crs.bkg.bund.de/crs-eu/",IOGP,"2016/09/16",2006.770 2016.020,0,"D_Estonia_1997" -6181,Luxembourg 1930,geodetic,"Fundamental point: northern station of Habay-la-Neuve baseline in Belgium. Latitude: 49°43'24.408""N, longitude: 5°38'22.470""E (of Greenwich).",1930-01-01,7022,8901,1146,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"Administration du Cadastre et de la Topographie via EuroGeographics; http://crs.bkg.bund.de/crs-eu/",OGP,"2008/06/24",2008.045,0,"D_Luxembourg_1930" -6182,Azores Occidental Islands 1939,geodetic,"Fundamental point: Observatario Meteorologico Flores.",1939-01-01,7022,8901,1344,Topographic mapping.,,"Instituto Geografico e Cadastral Lisbon via EuroGeographics; http://crs.bkg.bund.de/crs-eu/",OGP,"2005/12/30",2005.850,0,"D_Azores_Occidental_Islands_1939" -6183,Azores Central Islands 1948,geodetic,"Fundamental point: Graciosa south west base. Latitude: 39°03'54.934""N, longitude: 28°02'23.882""W (of Greenwich).",1948-01-01,7022,8901,1301,Topographic mapping.,"Replaced by 1995 adjustment (datum code 6665).","Instituto Geografico e Cadastral Lisbon via EuroGeographics; http://crs.bkg.bund.de/crs-eu/ Oil industry sources for origin description details.",OGP,"2008/06/24",2002.250 2003.231 2003.362 2008.045,0,"D_Azores_Central_Islands_1948" -6184,Azores Oriental Islands 1940,geodetic,"Fundamental point: Forte de São Bras.",1940-01-01,7022,8901,1345,Topographic mapping.,"Replaced by 1995 adjustment (datum code 6664).","Instituto Geografico e Cadastral Lisbon via EuroGeographics; http://crs.bkg.bund.de/crs-eu/",OGP,"2003/08/14",2003.231,0,"D_Azores_Oriental_Islands_1940" -6185,Madeira 1936,geodetic,"Fundamental point: Madeira SE Base.",1936-01-01,7022,8901,1314,Topographic mapping.,,"Instituto Geografico e Cadastral Lisbon via EuroGeographics; http://crs.bkg.bund.de/crs-eu/",OGP,"2001/06/05",,1,"D_Madeira_1936" -6188,OSNI 1952,geodetic,Position fixed to the coordinates from the 19th century Principle Triangulation of station Divis. Scale and orientation controlled by position of Principle Triangulation stations Knocklayd and Trostan.,1952-01-01,7001,8901,2530,Geodetic survey and topographic mapping.,"Replaced by Geodetic Datum of 1965 alias 1975 Mapping Adjustment or TM75 (datum code 6300).",Ordnance Survey of Northern Ireland.,OGP,"2001/11/06",,0,"D_OSNI_1952" -6189,Red Geodesica Venezolana,geodetic,Realised by a frame of 67 stations observed in 1995 as a densification of the SIRGAS campaign and adjusted in the ITRF94. Documented as ITRF94 at epoch 1995.4 but possibly a rounded value as SIRGAS95 is at epoch 1995.42.,1995-06-02,7019,8901,1251,Geodetic survey.,,Servicio Autonomo de Geografia y Cartografia Nacional.,IOGP,"2016/09/16",2016.020,0,"D_REGVEN" -6190,Posiciones Geodesicas Argentinas 1998,geodetic,"A geodetic network of 136 high accuracy surveyed points. Densification of SIRGAS 1995; ITRF94 at epoch 1995.42.",1995-06-02,7019,8901,1033,Geodetic survey.,"Technically, but not legally, this datum replaced the 1994 POSGAR adjustment (code 6694) until adoption of the 2007 POSGAR adjustment (code 1062) in May 2009.","Instituto Geográfico Militar de la República Argentina, http://www.igm.gov.ar",IOGP,"2016/09/16",2003.361 2005.460 2005.480 2006.770 2009.028 2016.020,0,"D_POSGAR_1998" -6191,Albanian 1987,geodetic,,1987-01-01,7024,8901,3212,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"EuroGeographics; http://crs.bkg.bund.de/crs-eu/",OGP,"2014/11/21",2011.062 2014.078,0,"D_Albanian_1987" -6192,Douala 1948,geodetic,"South pillar of Douala base; 4°00'40.64""N, 9°42'30.41""E (of Greenwich).",1948-01-01,7022,8901,2555,Topographic mapping.,"Replaced by Manoca 1962 datum (code 6193).",TotalFinaElf,OGP,"2008/06/24",2005.830 2008.045,0,"D_Douala_1948" -6193,Manoca 1962,geodetic,"Reservoir centre at the Manoca tower (""tube Suel""), 3°51'49.896""N, 9°36'49.347""E (of Greenwich).",1962-01-01,7011,8901,2555,Topographic mapping.,"The intent of the Bukavu 1953 conference was to adopt the Clarke 1880 (RGS) ellipsoid (code 7012) but in practice this datum has used the IGN version. Replaces Douala 1948 (code 6192).",TotalFinaElf,OGP,"2008/06/24",2008.045,0,"D_Manoca_1962" -6194,Qornoq 1927,geodetic,"Fundamental point: Station 7008. Latitude: 64°31'06.27""N, longitude: 51°12'24.86""W (of Greenwich).",1927-01-01,7022,8901,3362,Topographic mapping.,,"Kort & Matrikelstyrelsen, Copenhagen. Origin coordinates from NIMA http://earth-info.nima.mil/",OGP,"2008/06/24",2003.362 2005.460 2006.220 2008.045,0,"D_Qornoq_1927" -6195,Scoresbysund 1952,geodetic,,1952-01-01,7022,8901,2570,Topographic mapping.,,"Kort & Matrikelstyrelsen, Copenhagen.",OGP,"2002/01/18",,0,"D_Scoresbysund_1952" -6196,Ammassalik 1958,geodetic,,1958-01-01,7022,8901,2571,Topographic mapping.,,"Kort & Matrikelstyrelsen, Copenhagen.",OGP,"2002/01/18",,0,"D_Ammassalik_1958" -6197,Garoua,geodetic,"Fundamental point: IGN astronomical station and benchmark no. 16 at Tongo. Latitude 8°55'08.74""N, longitude 13°30'43.19""E (of Greenwich).",,7012,8901,2590,Topographic mapping.,,TotalFinaElf,OGP,"2008/06/24",2008.045,0,"D_Garoua" -6198,Kousseri,geodetic,"IGN astronomical station Dabanga; 11°55'05.9""N 14°38'40.8""E (of Greenwich).",,7012,8901,2591,Topographic mapping.,,TotalFinaElf,OGP,"2008/06/24",2008.045,0,"D_Kousseri" -6199,Egypt 1930,geodetic,"Fundamental point: Station F1 (Venus). Latitude: 30°01'42.86""N, longitude: 31°16'37.05""E (of Greenwich).",1930-01-01,7022,8901,3242,Used for scientific purposes only.,"Note that Egypt 1930 uses the International 1924 ellipsoid, unlike the Egypt 1907 datum (code 6229) which uses the Helmert ellipsoid. Oil industry references to the Egypt 1930 datum name and the Helmert ellipsoid probably mean Egypt 1907 datum.",,OGP,"2008/06/24",2008.045,0,"D_Egypt_1930" -6200,Pulkovo 1995,geodetic,"Fundamental point: Pulkovo observatory. Latitude: 59°46'15.359""N, longitude: 30°19'28.318""E (of Greenwich).",1995-01-01,7024,8901,1198,Scientific adjustment.,,"""Main Terms of Reference for the State Geodetic Network""; Federal Geodetic Service of Russia; 1994",OGP,"2008/06/24",2008.045,0,"D_Pulkovo_1995" -6201,Adindan,geodetic,"Fundamental point: Station 15; Adindan. Latitude: 22°10'07.110""N, longitude: 31°29'21.608""E (of Greenwich).",1958-01-01,7012,8901,1271,Topographic mapping.,"The 12th parallel traverse of 1966-70 (Point 58 datum, code 6620) is connected to the Blue Nile 1958 network in western Sudan. This has given rise to misconceptions that the Blue Nile network is used in west Africa.","US Coast and Geodetic Survey via Geophysical Reasearch vol 67 #11, October 1962.",IOGP,"2015/04/22",2002.431 2003.361 2008.045 2015.010,0,"D_Adindan" -6202,Australian Geodetic Datum 1966,geodetic,"Fundamental point: Johnson Memorial Cairn. Latitude: 25°56'54.5515""S, longitude: 133°12'30.0771""E (of Greenwich).",1966-01-01,7003,8901,1279,Topographic mapping.,,"Australian Map Grid Technical Manual. National Mapping Council of Australia Technical Publication 7; 1972.",OGP,"2008/06/24",2003.361 2008.045,0,"D_Australian_1966" -6203,Australian Geodetic Datum 1984,geodetic,"Fundamental point: Johnson Memorial Cairn. Latitude: 25°56'54.5515""S, longitude: 133°12'30.0771""E (of Greenwich).",1984-01-01,7003,8901,2576,Topographic mapping.,"Uses all data from 1966 adjustment with additional observations, improved software and a geoid model.","""GDA technical manual v2_2"", Intergovernmental Committee on Surveying and Mapping. www.anzlic.org.au/icsm/gdtm/",OGP,"2008/06/24",2003.290 2003.361 2008.045,0,"D_Australian_1984" -6204,Ain el Abd 1970,geodetic,"Fundamental point: Ain El Abd. Latitude: 28°14'06.171""N, longitude: 48°16'20.906""E (of Greenwich).",1970-01-01,7022,8901,1272,Topographic mapping.,,,OGP,"2008/06/24",2003.361 2008.045,0,"D_Ain_el_Abd_1970" -6205,Afgooye,geodetic,,,7024,8901,3308,Topographic mapping.,,,OGP,"2012/01/05",2012.001,0,"D_Afgooye" -6206,Agadez,geodetic,,,7011,8901,1177,Topographic mapping.,,,OGP,"1995/06/02",,0,"D_Agadez" -6207,Lisbon 1937,geodetic,"Fundamental point: Castelo Sao Jorge, Lisbon. Latitude: 38°42'43.631""N, longitude: 9°07'54.862""W (of Greenwich).",1937-01-01,7022,8901,1294,Topographic mapping.,"Replaces Lisbon 1890 adjustment (which used Bessel 1841 ellipsoid).","Instituto Geografico e Cadastral; Lisbon",OGP,"2008/06/24",2001.551 2008.045,0,"D_Lisbon" -6208,Aratu,geodetic,,,7022,8901,1274,Oil industry geodetic purposes.,,,OGP,"1995/06/02",,0,"D_Aratu" -6209,Arc 1950,geodetic,"Fundamental point: Buffelsfontein. Latitude: 33°59'32.000""S, longitude: 25°30'44.622""E (of Greenwich).",1950-01-01,7013,8901,1276,"Topographic mapping, geodetic survey.",,,OGP,"2008/06/24",2008.045,0,"D_Arc_1950" -6210,Arc 1960,geodetic,"Fundamental point: Buffelsfontein. Latitude: 33°59'32.000""S, longitude: 25°30'44.622""E (of Greenwich).",1960-01-01,7012,8901,1277,"Topographic mapping, geodetic survey.",,,OGP,"2008/06/24",2008.045,0,"D_Arc_1960" -6211,Batavia,geodetic,"Fundamental point: Longitude at Batavia Astro. Station. Latitude: 6°07'39.522""S, longitude: 106°48'27.790""E (of Greenwich). Latitude and azimuth at Genuk.",,7004,8901,3666,Topographic mapping.,,,OGP,"2010/03/30",2003.361 2008.045 2009.106,0,"D_Batavia" -6212,Barbados 1938,geodetic,"Fundamental point: HMS Challenger astro station M1, St. Anne's Tower. Latitude 13°04'32.53""N, longitude 59°36'29.34""W (of Greenwich).",1938-01-01,7012,8901,3218,Topographic mapping.,,Ordnance Survey of Great Britain.,OGP,"2011/06/30",1999.170 2006.030 2008.045 2011.051,0,"D_Barbados_1938" -6213,Beduaram,geodetic,,,7011,8901,2771,Topographic mapping.,,,OGP,"2004/09/01",2004.490,0,"D_Beduaram" -6214,Beijing 1954,geodetic,"Pulkovo, transferred through Russian triangulation.",1954-01-01,7024,8901,3228,Topographic mapping.,Scale determined through three baselines in northeast China. Discontinuities at boundaries of adjustment blocks. From 1982 replaced by Xian 1980 and New Beijing.,"Chinese Science Bulletin, 2009, 54:2714-2721",OGP,"2009/11/24",2009.084,0,"D_Beijing_1954" -6215,Reseau National Belge 1950,geodetic,"Fundamental point: Lommel (tower). Latitude: 51°13'47.334""N, longitude: 5°18'49.483""E (of Greenwich).",1950-01-01,7022,8901,1347,Topographic mapping.,,,OGP,"2008/06/24",2003.361 2008.045,0,"D_Belge_1950" -6216,Bermuda 1957,geodetic,"Fundamental point: Fort George base. Latitude 32°22'44.36""N, longitude 64°40'58.11""W (of Greenwich).",1957-01-01,7008,8901,3221,Topographic mapping.,,Various oil industry sources.,OGP,"2011/01/25",2003.362 2008.045 2011.004,0,"D_Bermuda_1957" -6218,Bogota 1975,geodetic,"Fundamental point: Bogota observatory. Latitude: 4°35'56.570""N, longitude: 74°04'51.300""W (of Greenwich).",1975-01-01,7022,8901,3686,Topographic mapping.,"Replaces 1951 adjustment. Replaced by MAGNA-SIRGAS (datum code 6685).","Instituto Geografico Agustin Codazzi (IGAC) special publication no. 1, 4th edition (1975) ""Geodesia: Resultados Definitvos de Parte de las Redes Geodesicas Establecidas en el Pais"".",OGP,"2010/03/30",2000.200 2005.060 2007.060 2008.045 2009.106,0,"D_Bogota" -6219,Bukit Rimpah,geodetic,"2°00'40.16""S, 105°51'39.76""E (of Greenwich).",,7004,8901,1287,Topographic mapping.,,,OGP,"2008/06/24",2008.045,0,"D_Bukit_Rimpah" -6220,Camacupa,geodetic,"Fundamental point: Campo de Aviaçao. Latitude: 12°01'09.070""S, Longitude = 17°27'19.800""E (of Greenwich)",1948-01-01,7012,8901,1288,Coastal hydrography.,,"Portuguese Hydrographic Institute and Clifford J. Mugnier, PE&RS journal, March 2001.",OGP,"2008/06/24",2003.361 2006.973 2008.045,0,"D_Camacupa" -6221,Campo Inchauspe,geodetic,"Fundamental point: Campo Inchauspe. Latitude: 35°58'16.56""S, longitude: 62°10'12.03""W (of Greenwich).",,7022,8901,3843,Topographic mapping.,,"NIMA http://earth-info.nima.mil/",OGP,"2011/03/28",2003.361 2005.460 2008.045 2011.021,0,"D_Campo_Inchauspe" -6222,Cape,geodetic,"Fundamental point: Buffelsfontein. Latitude: 33°59'32.000""S, longitude: 25°30'44.622""E (of Greenwich).",,7013,8901,1290,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"Private Communication, Directorate of Surveys and Land Information, Cape Town.",OGP,"2008/06/24",1996.250 1999.690 2008.045,0,"D_Cape" -6223,Carthage,geodetic,"Fundamental point: Carthage. Latitude: 40.9464506g = 36°51'06.50""N, longitude: 8.8724368g E of Paris = 10°19'20.72""E (of Greenwich).",1925-01-01,7011,8901,1236,Topographic mapping.,Fundamental point astronomic coordinates determined in 1878.,,OGP,"2008/06/24",2003.362 2003.050 2008.045,0,"D_Carthage" -6224,Chua,geodetic,"Fundamental point: Chua. Latitude: 19°45'41.160""S, longitude: 48°06'07.560""W (of Greenwich).",,7022,8901,3356,Geodetic survey.,The Chua origin and associated network is in Brazil with a connecting traverse through northern Paraguay. It was used in Brazil only as input into the Corrego Allegre adjustment and for government work in Distrito Federal.,"NIMA http://earth-info.nima.mil/",OGP,"2009/06/02",2003.361 2005.460 2005.840 2006.490 2008.045 2009.021,0,"D_Chua" -6225,Corrego Alegre 1970-72,geodetic,"Fundamental point: Corrego Alegre. Latitude: 19°50'14.91""S, longitude: 48°57'41.98""W (of Greenwich).",1972-01-01,7022,8901,1293,"Topographic mapping, geodetic survey. Superseded by SAD69.","Replaces 1961 adjustment (datum code 1074). NIMA gives coordinates of origin as latitude: 19°50'15.14""S, longitude: 48°57'42.75""W; these may refer to 1961 adjustment.",IBGE.,OGP,"2011/07/27",2005.841 2008.045 2011.053,0,"D_Corrego_Alegre" -6226,"Cote d'Ivoire",geodetic,,,7011,8901,1075,Topographic mapping.,,,OGP,"1995/06/02",2001.110,1,"D_Cote_d_Ivoire" -6227,Deir ez Zor,geodetic,"Fundamental point: Trig. 254 Deir. Latitude: 35°21'49.975""N, longitude: 40°05'46.770""E (of Greenwich).",,7011,8901,1623,Topographic mapping.,,,OGP,"2008/06/24",2003.361 2008.045,0,"D_Deir_ez_Zor" -6228,Douala,geodetic,,,7011,8901,1060,Topographic mapping.,,,OGP,"1995/06/02",,1,"D_Douala" -6229,Egypt 1907,geodetic,"Fundamental point: Station F1 (Venus). Latitude: 30°01'42.86""N, longitude: 31°16'33.60""E (of Greenwich).",1907-01-01,7020,8901,1086,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,,OGP,"2008/06/24",2008.045,0,"D_Egypt_1907" -6230,European Datum 1950,geodetic,"Fundamental point: Potsdam (Helmert Tower). Latitude: 52°22'51.4456""N, longitude: 13°03'58.9283""E (of Greenwich).",1950-01-01,7022,8901,1296,"Topographic mapping, geodetic survey.",,"EuroGeographics; http://crs.bkg.bund.de/crs-eu/",OGP,"2008/06/24",2003.361 2008.045,0,"D_European_1950" -6231,European Datum 1987,geodetic,"Fundamental point: Potsdam (Helmert Tower). Latitude: 52°22'51.4456""N, longitude: 13°03'58.9283""E (of Greenwich).",1987-01-01,7022,8901,1297,Scientific network.,,,OGP,"2008/06/24",2003.362 2008.045,0,"D_European_1987" -6232,Fahud,geodetic,"Fundamental point: Station NO68-024 Fahud. Latitude: 22°17'31.182""N, longitude: 56°29'18.820""E (of Greenwich).",,7012,8901,4009,Oil industry mapping.,"Replaced by PSD93 (code 6134).",Petroleum Development Oman.,OGP,"2012/02/13",2008.045 2011.042,0,"D_Fahud" -6233,Gandajika 1970,geodetic,,1970-01-01,7022,8901,1152,Topographic mapping.,,,OGP,"1995/06/02",,1, -6234,Garoua,geodetic,,,7011,8901,1060,Topographic mapping.,"The intent of the Bukavu 1953 conference was to adopt the Clarke 1880 (RGS) ellipsoid (code 7012) but in practice this datum has used the IGN version.",,OGP,"1995/06/02",,1,"D_Garoua" -6235,Guyane Francaise,geodetic,,,7022,8901,1097,Topographic mapping.,,,OGP,"1995/06/02",,1,"D_Guyane_Francaise" -6236,Hu Tzu Shan 1950,geodetic,"Fundamental point: Hu Tzu Shan. Latitude: 23°58'32.34""N, longitude: 120°58'25.975""E (of Greenwich).",1950-01-01,7022,8901,3315,Topographic mapping.,,"NIMA -US NGA, http://earth-info.nga.mil/GandG/index.html",OGP,"2008/08/12",2003.362 2005.460 2005.830 2008.017 2008.045,0,"D_Hu_Tzu_Shan" -6237,Hungarian Datum 1972,geodetic,"Fundamental point: Szolohegy. Latitude: 47°17'32,6156""N, longitude 19°36'09.9865""E (of Greenwich); geoid height 6.56m.",1972-01-01,7036,8901,1119,Topographic mapping.,"Replaced Hungarian Datum 1909 (EPSG datum code 1024).","http://lazarus.elte.hu/gb/geodez/geod3.htm",OGP,"2008/08/02",1996.090 2008.045 2008.047,0,"D_Hungarian_1972" -6238,Indonesian Datum 1974,geodetic,"Fundamental point: Padang. Latitude: 0°56'38.414""S, longitude: 100°22' 8.804""E (of Greenwich). Ellipsoidal height 3.190m, gravity-related height 14.0m above mean sea level.",1974-01-01,7021,8901,4020,Topographic mapping.,Replaced by DGN95.,Bakosurtanal 1979 paper by Jacob Rais.,OGP,"2012/03/25",2002.151 2006.810 2008.045 2012.032,0,"D_Indonesian_1974" -6239,Indian 1954,geodetic,Extension of Kalianpur 1937 over Myanmar and Thailand.,1954-01-01,7015,8901,1304,Topographic mapping.,,,OGP,"2003/12/31",2003.361,0,"D_Indian_1954" -6240,Indian 1975,geodetic,"Fundamental point: Khau Sakaerang.",1975-01-01,7015,8901,3741,Topographic mapping.,,,OGP,"2011/01/25",2011.004,0,"D_Indian_1975" -6241,Jamaica 1875,geodetic,"Fundamental point: Fort Charles Flagstaff. Latitude: 17°55'55.800""N, longitude: 76°56'37.260""W (of Greenwich).",1875-01-01,7034,8901,3342,Topographic mapping.,,"Survey Department, Government of Jamaica, 1983.",OGP,"2008/06/24",2004.510 2008.045,0,"D_Jamaica_1875" -6242,Jamaica 1969,geodetic,"Fundamental point: Fort Charles Flagstaff. Latitude: 17°55'55.800""N, longitude: 76°56'37.260""W (of Greenwich).",1969-01-01,7008,8901,3342,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"Survey Department, Government of Jamaica, 1983.",OGP,"2008/06/24",2004.510 2008.045,0,"D_Jamaica_1969" -6243,Kalianpur 1880,geodetic,"Fundamental point: Kalianpur. Latitude: 24°07'11.260""N, longitude: 77°39'17.570""E (of Greenwich).",1880-01-01,7042,8901,1307,Topographic mapping.,"Includes 1916 extension into Burma (Myanmar). Replaced by 1937 adjustment.","G. Bomford; ""The Re-adjustment of the Indian Triangulation""; Survey of India Professional Paper 28; 1939.",OGP,"2008/06/24",1997.231 2004.290 2008.045,0,"D_Kalianpur_1880" -6244,Kandawala,geodetic,"Fundamental point: Kandawala. Latitude: 7°14'06.838""N, longitude: 79°52'36.670""E.",1930-01-01,7015,8901,3310,Topographic mapping.,,"Abeyratne, Featherstone and Tantrigoda in Survey Review vol. 42 no. 317 (July 2010).",OGP,"2010/09/24",2010.080,0,"D_Kandawala" -6245,Kertau 1968,geodetic,"Fundamental point: Kertau. Latitude: 3°27'50.710""N, longitude: 102°37'24.550""E (of Greenwich).",1968-01-01,7018,8901,4223,"Geodetic survey, cadastre.","Replaces MRT48 and earlier adjustments. Adopts metric conversion of 39.370113 inches per metre. Not used for 1969 metrication of RSO grid - see Kertau (RSO) (code 6751).",Defence Geographic Centre.,OGP,"2014/11/21",2006.251 2008.045 2014.071,0,"D_Kertau" -6246,Kuwait Oil Company,geodetic,"Fundamental point: K28. Latitude: 29°03'42.348""N, longitude: 48°08'42.558""E (of Greenwich).",1952-01-01,7012,8901,3267,Oil industry mapping.,,,OGP,"2008/06/24",2004.410 2008.045,0,"D_Kuwait_Oil_Company" -6247,La Canoa,geodetic,"Fundamental point: La Canoa. Latitude: 8°34'17.170""N, longitude: 63°51'34.880""W (of Greenwich).",,7022,8901,3327,"Geodetic survey, topographic mapping, engineering survey.","Origin and network incorporated within PSAD56 (datum code 6248).",,OGP,"2011/01/25",2008.045 2011.001,0,"D_La_Canoa" -6248,Provisional South American Datum 1956,geodetic,"Fundamental point: La Canoa. Latitude: 8°34'17.170""N, longitude: 63°51'34.880""W (of Greenwich).",1956-01-01,7022,8901,1348,Topographic mapping.,Same origin as La Canoa datum.,,OGP,"2008/06/24",2008.045,0,"D_Provisional_S_American_1956" -6249,Lake,geodetic,"Fundamental point: Maracaibo Cathedral. Latitude: 10°38'34.678""N, longitude: 71°36'20.224""W (of Greenwich).",,7022,8901,1312,Oil industry mapping.,,,OGP,"2008/06/24",2008.045,0,"D_Lake" -6250,Leigon,geodetic,"Fundamental point: GCS Station 121, Leigon. Latitude: 5°38'52.27""N, longitude: 0°11'46.08""W (of Greenwich).",,7012,8901,1104,Topographic mapping.,"Replaced Accra datum (code 6168) from 1978. Coordinates at Leigon fundamental point defined as Accra datum values for that point.",Ordnance Survey International,OGP,"2008/06/24",2008.045,0,"D_Leigon" -6251,Liberia 1964,geodetic,"Fundamental point: Robertsfield. Latitude: 6°13'53.02""N, longitude: 10°21'35.44""W (of Greenwich).",1964-01-01,7012,8901,3270,Topographic mapping.,,"NIMA http://earth-info.nima.mil/",OGP,"2008/06/24",2003.362 2005.460 2008.045,0,"D_Liberia_1964" -6252,Lome,geodetic,,,7011,8901,1232,Topographic mapping.,,,OGP,"1995/06/02",,0,"D_Lome" -6253,Luzon 1911,geodetic,"Fundamental point: Balacan. Latitude: 13°33'41.000""N, longitude: 121°52'03.000""E (of Greenwich).",1911-01-01,7008,8901,3969,Topographic mapping.,"Replaced by Philippine Reference system of 1992 (datum code 6683).",Coast and Geodetic Survey,OGP,"2012/03/25",2004.730 2008.045 2012.032,0,"D_Luzon_1911" -6254,Hito XVIII 1963,geodetic,Chile-Argentina boundary survey.,1963-01-01,7022,8901,1303,Geodetic survey.,Used in Tierra del Fuego.,Various oil company records.,OGP,"1995/06/02",,0,"D_Hito_XVIII_1963" -6255,Herat North,geodetic,"Fundamental point: Herat North. Latitude: 34°23'09.08""N, longitude: 64°10'58.94""E (of Greenwich).",,7022,8901,1024,Topographic mapping.,,"NIMA http://earth-info.nima.mil/",OGP,"2008/06/24",2003.362 2005.460 2008.045,0,"D_Herat_North" -6256,Mahe 1971,geodetic,"Fundamental point: Station SITE. Latitude: 4°40'14.644""S, longitude: 55°28'44.488""E (of Greenwich).",1971-01-01,7012,8901,2369,US military survey.,"South East Island 1943 (datum code 1138) used for topographic mapping, cadastral and hydrographic survey.","Clifford Mugnier's September 2007 PE&RS ""Grids and Datums"" article on Seychelles (www.asprs.org/resources/grids/).",OGP,"2014/09/08",2012.025 2014.037,0,"D_Mahe_1971" -6257,Makassar,geodetic,"Fundamental point: station P1, Moncongloe. Latitude: 5°08'41.42""S, long 119°24'14.94""E (of Greenwich).",,7004,8901,1316,Topographic mapping.,,"NIMA http://earth-info.nima.mil/",OGP,"2008/06/24",2003.361 2005.460 2008.045,0,"D_Makassar" -6258,European Terrestrial Reference System 1989,geodetic,Fixed to the stable part of the Eurasian continental plate and consistent with ITRS at the epoch 1989.0.,1989-01-01,7019,8901,1298,Geodetic survey.,"The distinction in usage between ETRF89 and ETRS89 is confused: although in principle conceptually different in practice both are used for the realisation.",,OGP,"2003/08/14",1997.110 1997.550 1999.111 2000.720 2003.260,0,"D_ETRS_1989" -6259,Malongo 1987,geodetic,"Fundamental point: Station Y at Malongo base camp. Latitude: 5°23'30.810""S, longitude: 12°12'01.590""E (of Greenwich).",1987-01-01,7022,8901,3180,Oil industry offshore exploration and production from 1987.,"Replaced Mhast (offshore) (code 6705) in 1987. Origin coordinates constrained to those of Mhast (offshore) but other station coordinates differ. References to ""Mhast"" since 1987 often should have stated ""Malongo 1987"".",Chevron Petroleum Technology.,OGP,"2008/06/24",2005.751 2008.045,0,"D_Malongo_1987" -6260,Manoca,geodetic,,,7012,8901,1060,Topographic mapping.,,,OGP,"1995/06/02",,1,"D_Manoca" -6261,Merchich,geodetic,"Fundamental point: Merchich. Latitude: 33°26'59.672""N, longitude: 7°33'27.295""W (of Greenwich).",1922-01-01,7011,8901,3280,Topographic mapping.,,,OGP,"2008/06/24",2003.361 2008.045,0,"D_Merchich" -6262,Massawa,geodetic,,,7004,8901,1089,Topographic mapping.,,,OGP,"1995/06/02",,0,"D_Massawa" -6263,Minna,geodetic,"Fundamental point: Minna base station L40. Latitude: 9°38'08.87""N, longitude: 6°30'58.76""E (of Greenwich).",,7012,8901,1178,Topographic mapping.,,"NIMA http://earth-info.nima.mil/",OGP,"2008/06/24",2003.361 2005.460 2008.045,0,"D_Minna" -6264,Mhast,geodetic,,,7022,8901,1318,Coastal hydrography.,,,OGP,"1995/06/02",,1, -6265,Monte Mario,geodetic,"Fundamental point: Monte Mario. Latitude: 41°55'25.51""N, longitude: 12°27'08.4""E (of Greenwich).",1940-01-01,7022,8901,3343,Topographic mapping.,"Replaced Genova datum, Bessel 1841 ellipsoid, from 1940.",,OGP,"2008/06/24",2003.360 2008.045,0,"D_Monte_Mario" -6266,"M'poraloko",geodetic,,,7011,8901,1100,Topographic mapping.,,,OGP,"1995/06/02",,0,"D_Mporaloko" -6267,North American Datum 1927,geodetic,"Fundamental point: Meade's Ranch. Latitude: 39°13'26.686""N, longitude: 98°32'30.506""W (of Greenwich).",1927-01-01,7008,8901,1349,Topographic mapping.,"In United States (USA) and Canada, replaced by North American Datum 1983 (NAD83) (code 6269) ; in Mexico, replaced by Mexican Datum of 1993 (code 1042).",,OGP,"2009/11/24",2008.024 2008.045 2009.087,0,"D_North_American_1927" -6268,NAD27 Michigan,geodetic,"Fundamental point: Meade's Ranch. Latitude: 39°13'26.686""N, longitude: 98°32'30.506""W (of Greenwich).",,7009,8901,1391,Topographic mapping.,Ellipsoid taken to be 800ft above the NAD27 reference ellipsoid.,"USGS Professional Paper #1395.",OGP,"2011/02/25",2008.045 2011.013 2013.020,1, -6269,North American Datum 1983,geodetic,Origin at geocentre.,1986-01-01,7019,8901,1350,Topographic mapping.,"Although the 1986 adjustment included connections to Greenland and Mexico, it has not been adopted there. In Canada and US, replaced NAD27.",,OGP,"2008/04/11",2006.464 2008.024,0,"D_North_American_1983" -6270,Nahrwan 1967,geodetic,"Fundamental point: Nahrwan south base. Latitude: 33°19'10.87""N, longitude: 44°43'25.54""E (of Greenwich).",1967-01-01,7012,8901,1351,Topographic mapping.,"In Iraq, replaces Nahrwan 1934.",,OGP,"2008/06/24",2006.340 2008.045,0,"D_Nahrwan_1967" -6271,Naparima 1972,geodetic,"Fundamental point: Naparima. Latitude: 10°16'44.860""N, longitude: 61°27'34.620""W (of Greenwich).",1972-01-01,7022,8901,1322,Topographic mapping.,Naparima 1972 is an extension of the Naparima 1955 network of Trinidad to include Tobago.,Ordnance Survey International.,OGP,"2008/06/24",2008.045,0,"D_Naparima_1972" -6272,New Zealand Geodetic Datum 1949,geodetic,"Fundamental point: Papatahi. Latitude: 41°19' 8.900""S, longitude: 175°02'51.000""E (of Greenwich).",1949-01-01,7022,8901,3285,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaced by New Zealand Geodetic Datum 2000 (code 6167) from March 2000.","Land Information New Zealand. http://www.linz.govt.nz/rcs/linz/pub/web/root/core/SurveySystem/GeodeticInfo/GeodeticDatums/nzgd2000factsheet/index.jsp",OGP,"2008/06/24",2000.702 2004.110 2008.045,0,"D_New_Zealand_1949" -6273,NGO 1948,geodetic,"Fundamental point: Oslo observatory. Latitude: 59°54'43.7""N, longitude: 10°43'22.5""E (of Greenwich).",1948-01-01,7005,8901,1352,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"EuroGeographics; http://crs.bkg.bund.de/crs-eu/",OGP,"2008/06/24",2003.362 2008.045,0,"D_NGO_1948" -6274,Datum 73,geodetic,"Fundamental point: TF4, Melrica. Latitude: 39°41'37.30""N, longitude: 8°07'53.31""W (of Greenwich).",1964-01-01,7022,8901,1294,Topographic mapping.,,"Instituto Geografico e Cadastral; Lisbon",OGP,"2008/06/24",2008.045,0,"D_Datum_73" -6275,Nouvelle Triangulation Francaise,geodetic,"Fundamental point: Pantheon. Latitude: 48°50'46.522""N, longitude: 2°20'48.667""E (of Greenwich).",1895-01-01,7011,8901,3694,Topographic mapping.,,,OGP,"2010/03/30",2003.361 2008.045 2009.106,0,"D_NTF" -6276,NSWC 9Z-2,geodetic,,,7025,8901,1262,Satellite navigation.,Transit precise ephemeris before 1991.,,OGP,"1995/06/02",,0,"D_NSWC_9Z_2" -6277,OSGB 1936,geodetic,"Prior to 2002, fundamental point: Herstmonceux, Latitude: 50°51'55.271""N, longitude: 0°20'45.882""E (of Greenwich). From April 2002 the datum is defined through the application of the OSTN transformation from ETRS89.",1936-01-01,7001,8901,4390,Topographic mapping.,"The average accuracy of OSTN compared to the old triangulation network (down to 3rd order) is 0.1m. With the introduction of OSTN15, the area for OGSB 1936 has effectively been extended from Britain to cover the adjacent UK Continental Shelf.",Ordnance Survey of Great Britain.,IOGP,"2016/09/29",2002.620 2008.045 2009.055 2010.106 2015.069 2016.034,0,"D_OSGB_1936" -6278,"OSGB 1970 (SN)",geodetic,"Fundamental point: Herstmonceux. Latitude: 50°51'55.271""N, longitude: 0°20'45.882""E (of Greenwich).",1970-01-01,7001,8901,1264,Scientific network.,,,OGP,"2008/06/24",2005.880 2008.045,0,"D_OSGB_1970_SN" -6279,"OS (SN) 1980",geodetic,"Fundamental point: Herstmonceux. Latitude: 50°51'55.271""N, longitude: 0°20'45.882""E (of Greenwich).",1980-01-01,7001,8901,1354,Scientific network.,,,OGP,"2008/06/24",2008.045,0,"D_OS_SN_1980" -6280,Padang 1884,geodetic,"Fundamental point: Padang.",1884-01-01,7004,8901,1355,Topographic mapping.,,,OGP,"1995/06/02",,0,"D_Padang_1884" -6281,Palestine 1923,geodetic,"Fundamental point: Point 82'M Jerusalem. Latitude: 31°44' 2.749""N, longitude: 35°12'43.490""E (of Greenwich).",1923-01-01,7010,8901,1356,Topographic mapping.,,,OGP,"2008/06/24",2004.150 2008.045,0,"D_Palestine_1923" -6282,Congo 1960 Pointe Noire,geodetic,"Fundamental point: Point Noire Astro. Latitude: 4°47'00.10""S, longitude: 11°51'01.55""E (of Greenwich).",1960-01-01,7011,8901,1072,Topographic mapping.,,Elf,OGP,"2008/06/24",2002.050 2003.361 2008.045,0,"D_Pointe_Noire" -6283,Geocentric Datum of Australia 1994,geodetic,ITRF92 at epoch 1994.0.,1994-01-01,7019,8901,4177,"Topographic mapping, geodetic survey.",Coincident with WGS84 to within 1 metre.,"Australian Surveying and Land Information Group Internet WWW page. http://www.auslig.gov.au/geodesy/datums/gda.htm#specs",OGP,"2014/02/15",2011.004 2014.005,0,"D_GDA_1994" -6284,Pulkovo 1942,geodetic,"Fundamental point: Pulkovo observatory. Latitude: 59°46'18.550""N, longitude: 30°19'42.090""E (of Greenwich).",1942-01-01,7024,8901,2423,Topographic mapping.,,,OGP,"2008/09/24",2008.011 2008.045,0,"D_Pulkovo_1942" -6285,Qatar 1974,geodetic,"Fundamental point: Station G3.",1974-01-01,7022,8901,1346,Topographic mapping.,,,OGP,"2001/08/28",2001.270,0,"D_Qatar" -6286,Qatar 1948,geodetic,"Fundamental point: Sokey 0 M. Latitude: 25°22'56.500""N, longitude: 50°45'41.000""E (of Greenwich).",1948-01-01,7020,8901,1346,Topographic mapping.,,,OGP,"2008/06/24",2008.045,0,"D_Qatar_1948" -6287,Qornoq,geodetic,,1927-01-01,7022,8901,1107,Topographic mapping.,,,OGP,"1995/06/02",,1, -6288,Loma Quintana,geodetic,"Fundamental point: Loma Quintana.",,7022,8901,1313,Topographic mapping.,"Replaced by La Canoa (code 6247).",,OGP,"1995/06/02",,0,"D_Loma_Quintana" -6289,Amersfoort,geodetic,"Fundamental point: Amersfoort. Latitude: 52°09'22.178""N, longitude: 5°23'15.478""E (of Greenwich).",,7004,8901,1275,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"http://www.rdnap.nl/",OGP,"2008/06/24",2000.560 2003.361 2005.460 2008.045,0,"D_Amersfoort" -6291,South American Datum 1969,geodetic,,1969-01-01,7036,8901,1358,Topographic mapping.,"SAD69 uses GRS67 ellipsoid with 1/f to exactly 2 decimal places. Precision of ellipsoid entry increased from 2 to 5 dp with change id 97.252. Error introduced if not using the truncated precision is 0 to 31mm.",,OGP,"1996/10/18",1996.090 1997.252,1, -6292,Sapper Hill 1943,geodetic,,1943-01-01,7022,8901,3247,Topographic mapping.,,,OGP,"1995/06/02",,0,"D_Sapper_Hill_1943" -6293,Schwarzeck,geodetic,"Fundamental point: Schwarzeck. Latitude: 22°45'35.820""S, longitude: 18°40'34.549""E (of Greenwich). Fixed during German South West Africa-British Bechuanaland boundary survey of 1898-1903.",,7046,8901,1169,Topographic mapping.,,"Private Communication, Directorate of Surveys and Land Information, Cape Town.",OGP,"2008/06/24",2001.150 2003.362 2008.045,0,"D_Schwarzeck" -6294,Segora,geodetic,,,7004,8901,1359,Topographic mapping.,,,OGP,"1995/06/02",,1,"D_Segora" -6295,Serindung,geodetic,"Fundamental point: Ep A. Latitude: 1°06'10.60""N, longitude: 105°00'59.82""E (of Greenwich).",,7004,8901,4005,Topographic mapping.,,"NIMA http://earth-info.nima.mil/",OGP,"2012/03/25",2003.362 2005.460 2008.045 2012.032,0,"D_Serindung" -6296,Sudan,geodetic,,,7011,8901,1361,Topographic mapping.,,,OGP,"1995/06/02",,1,"D_Sudan" -6297,Tananarive 1925,geodetic,"Fundamental point: Tananarive observatory. Latitude: 18°55'02.10""S, longitude: 47°33'06.75""E (of Greenwich).",1925-01-01,7022,8901,1149,Topographic mapping.,,IGN Paris,IOGP,"2016/09/16",2003.361 2008.045 2009.106 2016.020,0,"D_Tananarive_1925" -6298,Timbalai 1948,geodetic,"Fundamental point: Station P85 at Timbalai. Latitude: 5°17' 3.548""N, longitude: 115°10'56.409""E (of Greenwich).",1948-01-01,7016,8901,1362,Topographic mapping.,"In 1968, the original adjustment was densified in Sarawak and extended to Sabah.",Defence Geographic Centre.,OGP,"2008/06/24",2006.252 2008.045,0,"D_Timbalai_1948" -6299,TM65,geodetic,Adjusted to best mean fit 12 stations of the OSNI 1952 primary adjustment.,1965-01-01,7002,8901,1305,Topographic mapping.,"Differences between OSNI 1952 and TM65 at these stations are RMS 0.25m east, 0.23m north, maximum vector 0.57m. TM65 replaced by and not to be confused with Geodetic Datum of 1965 alias 1975 Mapping Adjustment or TM75 (datum code 6300).","""The Irish Grid - A Description of the Co-ordinate Reference System"" published by Ordnance Survey of Ireland, Dublin and Ordnance Survey of Northern Ireland, Belfast.",OGP,"2003/06/27",2002.621,0,"D_TM65" -6300,Geodetic Datum of 1965,geodetic,Adjusted to best mean fit 9 stations of the OSNI 1952 primary adjustment in Northern Ireland plus the 1965 values of 3 stations in the Republic of Ireland.,1975-01-01,7002,8901,1305,"Geodetic survey, topographic mapping and engineering survey.","Differences from the 1965 adjustment (datum code 6299) are: average difference in Eastings 0.092m; average difference in Northings 0.108m; maximum vector difference 0.548m.","""The Irish Grid - A Description of the Co-ordinate Reference System"" published by Ordnance Survey of Ireland, Dublin and Ordnance Survey of Northern Ireland, Belfast.",OGP,"2003/06/27",2002.621,0,"D_TM75" -6301,Tokyo,geodetic,"Fundamental point: Nikon-Keido-Genten. Latitude: 35°39'17.5148""N, longitude: 139°44'40.5020""E (of Greenwich). Longitude derived in 1918.",1918-01-01,7004,8901,1364,"Geodetic survey, cadastre, topographic mapping, engineering survey.","In Japan, replaces Tokyo 1892 (code 1048) and replaced by Japanese Geodetic Datum 2000 (code 6611). In Korea used only for geodetic applications before being replaced by Korean 1985 (code 6162).","Geographic Survey Institute; Japan; Bulletin 40 (March 1994). Also http://vldb.gsi.go.jp/sokuchi/datum/tokyodatum.html",OGP,"2010/06/30",1998.460 2002.080 2008.045 2010.050,0,"D_Tokyo" -6302,Trinidad 1903,geodetic,"Station 00, Harbour Master's Flagstaff, Port of Spain. -Trinidad 1903 / Trinidad Grid coordinates (Clarke's links): 333604.30 E, 436366.91 N (Latitude: 10°38'39.01""N, Longitude: 61°30'38.00""W of Greenwich)",1903-01-01,7007,8901,1339,Topographic mapping.,,"""Land Surveyor's Handbook"", 1935, published under the direction of JW MacGillivray, Surveyor General, Land & Survey's Department, Trinidad & Tobago.",OGP,"2008/06/24",2003.362 2004.130 2008.045,0,"D_Trinidad_1903" -6303,Trucial Coast 1948,geodetic,"Fundamental point: TC1. Latitude: 25°23'50.190""N, longitude: 55°26'43.950""E (of Greenwich).",1948-01-01,7020,8901,1363,Oil industry mapping.,,,OGP,"2008/06/24",2008.045,0,"D_Trucial_Coast_1948" -6304,Voirol 1875,geodetic,"Fundamental point: Voirol. Latitude: 36°45'07.927""N, longitude: 3°02'49.435""E of Greenwich. Uses RGS (and old IGN) value of 2°20'13.95""for Greenwich-Paris meridian difference.",1875-01-01,7011,8901,1365,Topographic mapping.,"Replaced by Voirol 1879 (code 6671).",IGN Paris,OGP,"2008/06/24",2003.361 2008.045,0,"D_Voirol_1875" -6306,Bern 1938,geodetic,"Fundamental point: Old Bern observatory. Latitude: 46°57'07.890""N, longitude: 7°26'22.335""E (of Greenwich).",1938-01-01,7004,8901,1286,Topographic mapping.,"This redetermination of the coordinates of fundamental point is used for scientific purposes and as the graticule overprinted on topographic maps constructed on the CH1903 / LV03 projected CS (code 21781).","""Die Projektionen der schweizerischen Plan- und Kartenwerke""; J. Bolliger 1967",OGP,"2008/06/24",2008.045,0,"D_Bern_1938" -6307,Nord Sahara 1959,geodetic,"Coordinates of primary network readjusted on ED50 datum and then transformed conformally to Clarke 1880 (RGS) ellipsoid.",1959-01-01,7012,8901,1026,Topographic mapping.,"Adjustment includes Morocco and Tunisia but use only in Algeria. Within Algeria the adjustment is north of 32°N but use has been extended southwards in many disconnected projects, some based on independent astro stations rather than the geodetic network.","""Le System Geodesique Nord-Sahara""; IGN Paris",OGP,"2012/04/18",1999.620 2003.361 2005.880 2009.106 2011.111,0,"D_Nord_Sahara_1959" -6308,Stockholm 1938,geodetic,"Fundamental point: Stockholm observatory.",1938-01-01,7004,8901,3313,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaced by RT90 adjustment (datum code 6124)",,OGP,"1996/04/12",,0,"D_Stockholm_1938" -6309,Yacare,geodetic,"Fundamental point: Yacare. Latitude: 30°35'53.68""S, longitude: 57°25'01.30""W (of Greenwich).",,7022,8901,3326,Topographic mapping.,,"NIMA http://earth-info.nima.mil/",OGP,"2011/03/28",2003.362 2005.460 2008.045 2011.018 2011.021,0,"D_Yacare" -6310,Yoff,geodetic,"Fundamental point: Yoff. Latitude: 14°44'41.62""N, longitude: 17°29'07.02""W (of Greenwich).",,7011,8901,1207,Topographic mapping.,,,OGP,"2008/06/24",2003.362 2008.045,0,"D_Yoff" -6311,Zanderij,geodetic,,,7022,8901,1222,Topographic mapping.,,,OGP,"1995/06/02",,0,"D_Zanderij" -6312,Militar-Geographische Institut,geodetic,"Fundamental point: Hermannskogel. Latitude: 48°16'15.29""N, longitude: 16°17'41.06""E (of Greenwich).",1901-01-01,7004,8901,1037,Geodetic survey.,"The longitude of the datum origin equates to a value for the Ferro meridian of 17°40' exactly west of Greenwich.","Bundesamt fur Eich- und Vermessungswesen; Wien",OGP,"2009/06/02",2008.045 2009.015,0,"D_MGI" -6313,Reseau National Belge 1972,geodetic,"Fundamental point: Uccle observatory. Latitude: 50°47'57.704""N, longitude: 4°21'24.983""E (of Greenwich).",1972-01-01,7022,8901,1347,Topographic mapping.,,,OGP,"2008/06/24",2008.045,0,"D_Belge_1972" -6314,Deutsches Hauptdreiecksnetz,geodetic,"Fundamental point: Rauenberg. Latitude: 52°27'12.021""N, longitude: 13°22'04.928""E (of Greenwich). This station was destroyed in 1910 and the station at Potsdam substituted as the fundamental point.",,7004,8901,2326,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"BKG via EuroGeographics. http://crs.bkg.bund.de",OGP,"2008/06/24",2001.511 2006.410 2008.045,0,"D_Deutsches_Hauptdreiecksnetz" -6315,Conakry 1905,geodetic,"Fundamental point: Conakry. Latitude: 10.573766g N, longitude: 17.833682g W (of Paris).",1905-01-01,7011,8901,3257,Topographic mapping.,,,OGP,"1995/06/02",,0,"D_Conakry_1905" -6316,Dealul Piscului 1930,geodetic,"Fundamental point: latitude 44°24'33.9606""N, longitude 26°06'44.8772""E (of Greenwich).",1930-01-01,7022,8901,3295,Topographic mapping.,"Replaced by Pulkovo 1942(58) (datum code 6179)",Institute for Geodesy Photogrametry and Land Management,OGP,"2008/09/24",2008.011 2008.045,0,"D_Dealul_Piscului_1933" -6317,Dealul Piscului 1970,geodetic,"Fundamental point: latitude 44°24'23.7709""N, longitude 26°06'44.1265""E (of Greenwich).",1970-01-01,7024,8901,1197,Topographic mapping.,"Replaces 1933 adjustment (datum code 6316)",Institute for Geodesy Photogrametry and Land Management,OGP,"2008/06/24",2008.045,1,"D_Dealul_Piscului_1970" -6318,National Geodetic Network,geodetic,,1993-01-01,7030,8901,3267,Geodetic survey.,Replaces 1984 adjustment which used the WGS72 ellipsoid.,,OGP,"2004/06/16",2004.410,0,"D_NGN" -6319,Kuwait Utility,geodetic,,,7019,8901,1310,"Cadastre, engineering survey.",,,OGP,"1996/04/12",,0,"D_Kuwait_Utility" -6322,World Geodetic System 1972,geodetic,Developed from a worldwide distribution of terrestrial and geodetic satellite observations and defined through a set of station coordinates.,1972-01-01,7043,8901,1262,Satellite navigation.,Used by GPS before 1987. For Transit satellite positioning see also WGS 72BE.,"NIMA http://earth-info.nima.mil/",OGP,"2006/08/24",1999.030 2003.362 2005.460 2006.820,0,"D_WGS_1972" -6324,WGS 72 Transit Broadcast Ephemeris,geodetic,,1972-01-01,7043,8901,1262,Satellite navigation.,Alleged datum for use with Transit broadcast ephemeris prior to 1989. Relationship to WGS 72 has changed over time.,,OGP,"2006/08/24",1999.030 2006.820,0,"D_WGS_1972_BE" -6326,World Geodetic System 1984,geodetic,"Defined through a consistent set of station coordinates. These have changed with time: by 0.7m on 1994-06-29 (G730), a further 0.2m on 1997-01-29 (G873), 0.06m on 2002-01-20 (G1150), 0.2m on 2012-02-08 (G1674) and 0.02m on 2013-10-16 (G1762).",,7030,8901,1262,Satellite navigation.,"EPSG::6326 has been the then current realisation. No distinction is made between the original and subsequent (G730, G873, G1150, G1674 and G1762) WGS 84 frames. Since 1997, WGS 84 has been maintained within 10cm of the then current ITRF.","NIMA TR8350.2 June 2004 revision. http://earth-info.nga.mil/GandG/publications/tr8350.2/tr8350_2.html and -http://gis-lab.info/docs/nima-tr8350.2-addendum.pdf. Also NGA.STND.0036_1.0.0_WGS84 of 2014-07-08.",OGP,"2014/11/21",2002.151 2002.890 2003.270 2005.460 2005.550 2006.810 2012.097 2014.081,0, -6600,Anguilla 1957,geodetic,"Fundamental point: station A4, Police.",1957-01-01,7012,8901,3214,Topographic mapping.,,Ordnance Survey of Great Britain.,OGP,"1999/04/22",,0,"D_Anguilla_1957" -6601,Antigua 1943,geodetic,"Fundamental point: station A14.",1943-01-01,7012,8901,1273,Topographic mapping.,,Ordnance Survey of Great Britain.,OGP,"1999/04/22",,0,"D_Antigua_1943" -6602,Dominica 1945,geodetic,"Fundamental point: station M12.",1945-01-01,7012,8901,3239,Topographic mapping.,,Ordnance Survey of Great Britain.,OGP,"1999/04/22",,0,"D_Dominica_1945" -6603,Grenada 1953,geodetic,"Fundamental point: station GS8, Sante Marie.",1953-01-01,7012,8901,1551,Topographic mapping.,,Ordnance Survey of Great Britain.,OGP,"2006/02/09",2006.030,0,"D_Grenada_1953" -6604,Montserrat 1958,geodetic,"Fundamental point: station M36.",1958-01-01,7012,8901,3279,Topographic mapping.,,Ordnance Survey of Great Britain.,OGP,"1999/04/22",,0,"D_Montserrat_1958" -6605,St. Kitts 1955,geodetic,"Fundamental point: station K12.",1955-01-01,7012,8901,3297,Topographic mapping.,,Ordnance Survey of Great Britain.,OGP,"1999/04/22",,0,"D_St_Kitts_1955" -6606,St. Lucia 1955,geodetic,"Fundamental point: station DCS3.",1955-01-01,7012,8901,3298,Topographic mapping.,,Ordnance Survey of Great Britain.,OGP,"1999/04/22",,0,"D_St_Lucia_1955" -6607,St. Vincent 1945,geodetic,"Fundamental point: station V1, Fort Charlotte.",1945-01-01,7012,8901,3300,Topographic mapping.,,Ordnance Survey of Great Britain.,OGP,"2006/02/09",2006.030,0,"D_St_Vincent_1945" -6608,"North American Datum 1927 (1976)",geodetic,"Fundamental point: Meade's Ranch. Latitude: 39°13'26.686""N, longitude: 98°32'30.506""W (of Greenwich).",1976-01-01,7008,8901,1367,"Geodetic survey, cadastre, topographic mapping, engineering survey.","NAD27(76) used in Ontario for all maps at scale 1/20 000 and larger; elsewhere in Canada for selected purposes.",Geodetic Survey of Canada.,OGP,"2008/06/24",2008.045,0,"D_NAD_1927_Definition_1976" -6609,"North American Datum 1927 (CGQ77)",geodetic,"Fundamental point: Meade's Ranch. Latitude: 39°13'26.686""N, longitude: 98°32'30.506""W (of Greenwich).",1977-01-01,7008,8901,1368,"Geodetic survey, cadastre, topographic mapping, engineering survey.","NAD27 (CGQ77) used in Quebec for all maps at scale 1/20 000 and larger; generally for maps issued by the Quebec cartography office whose reference system is CGQ77.","Geodetic Service of Quebec. Contact alain.bernard@mrn.gouv.qc.ca",OGP,"2008/06/24",2008.045,0,"D_NAD_1927_CGQ77" -6610,Xian 1980,geodetic,Xian observatory.,1980-01-01,7049,8901,3228,"Geodetic survey, topographic and engineering survey.",,"Chinese Science Bulletin, 2009, 54:2714-2721.",OGP,"2009/11/24",2009.084,0,"D_Xian_1980" -6611,Hong Kong 1980,geodetic,"Fundamental point: Trig ""Zero"", 38.4 feet south along the transit circle of the Kowloon Observatory. Latitude 22°18'12.82"", longitude 114°10'18.75""E (of Greenwich).",1980-01-01,7022,8901,1118,"Geodetic survey, topgraphic and engineering survey, cadastre.","Replaces Hong Kong 1963 and Hong Kong 1963(67).","Survey and Mapping Office, Lands Department. http://www.info.gov.hk/landsd/mapping/tindex.htm",OGP,"2008/06/24",2005.260 2008.045,0,"D_Hong_Kong_1980" -6612,Japanese Geodetic Datum 2000,geodetic,"ITRF94 at epoch 1997.0. Fundamental point: Tokyo-Taisho, latitude: 35°39'29.1572""N, longitude: 139°44'28.8759""E (of Greenwich).",1997-01-01,7019,8901,1129,"Geodetic survey, topographic and engineering survey.","Instigated under amendment to the Japanese Surveying Law with effect from April 2002. Replaces Tokyo datum (code 6301). Replaced by JGD2011 (datum code 1128) with effect from 21st October 2011.","Japanese Survey Federation and Geographical Survey Institute http://www.gsi.go.jp/ENGLISH/RESEARCH/BULLETIN/vol-45/45abst1.htm",IOGP,"2016/09/16",2013.063 2016.020,0,"D_JGD_2000" -6613,Gunung Segara,geodetic,"Station P5 (Gunung Segara). Latitude 0°32'12.83""S, longitude 117°08'48.47""E (of Greenwich).",,7004,8901,1360,Topographic mapping.,,TotalFinaElf.,OGP,"2008/06/24",2008.045,0,"D_Gunung_Segara" -6614,Qatar National Datum 1995,geodetic,Defined by transformation from WGS 84 - see coordinate operation code 1840.,1995-01-01,7022,8901,1346,Topographic mapping.,,Qatar Centre for Geographic Information.,OGP,"2002/06/28",,0,"D_QND_1995" -6615,Porto Santo 1936,geodetic,SE Base on Porto Santo island.,1936-01-01,7022,8901,1314,Topographic mapping.,"Replaced by 1995 adjustment (datum code 6663). For Selvagens see Selvagem Grande (code 6616).","Instituto Geografico e Cadastral Lisbon http://www.igeo.pt",OGP,"2003/08/14",2003.231 2003.232,0,"D_Porto_Santo_1936" -6616,Selvagem Grande,geodetic,,,7022,8901,2779,Topographic mapping.,,"Instituto Geografico e Cadastral Lisbon http://www.igeo.pt",OGP,"2003/08/14",2003.232,0,"D_Selvagem_Grande_1938" -6618,South American Datum 1969,geodetic,"Fundamental point: Chua. Geodetic latitude: 19°45'41.6527""S; geodetic longitude: 48°06'04.0639""W (of Greenwich). (Astronomic coordinates: Latitude 19°45'41.34""S +/- 0.05"", longitude 48°06'07.80""W +/- 0.08"").",1969-01-01,7050,8901,1358,Topographic mapping.,"SAD69 uses GRS 1967 ellipsoid but with 1/f to exactly 2 decimal places. In Brazil only, replaced by SAD69(96) (datum code 1075).",DMA 1974.,OGP,"2011/07/27",2003.362 2008.045 2011.053,0,"D_South_American_1969" -6619,SWEREF99,geodetic,Densification of ETRS89.,1999-06-01,7019,8901,1225,"Geodetic survey, cadastre, topographic mapping, engineering survey.","The solution was calculated in ITRF 97 epoch 1999.5, and has subsequently been corrected to ETRS 89 in accordance with guidelines given by EUREF.","National Land Survey of Sweden http://www.lantmateriet.se",OGP,"2010/03/01",2009.024,0,"D_SWEREF99" -6620,Point 58,geodetic,"Fundamental point: Point 58. Latitude: 12°52'44.045""N, longitude: 3°58'37.040""E (of Greenwich).",1969-01-01,7012,8901,2790,Geodetic survey,"Used as the basis for computation of the 12th Parallel traverse conducted 1966-70 from Senegal to Chad and connecting to the Blue Nile 1958 (Adindan) triangulation in Sudan.",IGN Paris.,IOGP,"2015/04/22",2008.045 2011.090 2015.010,0,"D_Point_58" -6621,Fort Marigot,geodetic,,,7022,8901,2828,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaced by RRAF 1991 (datum code 1047).",IGN Paris.,OGP,"2009/11/24",2009.073,0,"D_Fort_Marigot" -6622,Guadeloupe 1948,geodetic,,1948-01-01,7022,8901,2829,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaced by RRAF 1991 (datum code 1047).",IGN Paris.,OGP,"2009/11/24",2004.561 2009.073,0,"D_Sainte_Anne" -6623,Centre Spatial Guyanais 1967,geodetic,"Fundamental point: Kourou-Diane. Latitude: 5°15'53.699""N, longitude: 52°48'09.149""W (of Greenwich).",1967-01-01,7022,8901,3105,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaced by RGFG95 (code 6624).",IGN Paris.,OGP,"2008/06/24",2004.562 2008.045,0,"D_CSG_1967" -6624,Reseau Geodesique Francais Guyane 1995,geodetic,ITRF93 at epoch 1995.0,1995-01-01,7019,8901,1097,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaces CSG67 (datum code 6623).",IGN Paris.,OGP,"2002/11/29",,0,"D_RGFG_1995" -6625,Martinique 1938,geodetic,"Fundamental point: Fort Desaix. Latitude: 14°36'54.090""N, longitude: 61°04'04.030""W (of Greenwich).",1938-01-01,7022,8901,3276,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaced by RRAF 1991 (datum code 1047).",IGN Paris.,OGP,"2009/11/24",2004.561 2008.045 2009.073,0,"D_Fort_Desaix" -6626,Reunion 1947,geodetic,"Fundamental point: Piton des Neiges (Borne). Latitude: 21°05'13.119""S, longitude: 55°29'09.193""E (of Greenwich).",1947-01-01,7022,8901,3337,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaced by RGR92 (datum code 6627).",IGN Paris.,OGP,"2008/06/24",2004.561 2008.045,0,"D_Reunion_1947" -6627,Reseau Geodesique de la Reunion 1992,geodetic,ITRF91 at epoch 1993.0,1993-01-01,7019,8901,3902,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaces Piton des Neiges (code 6626).",IGN Paris.,IOGP,"2016/09/16",2006.770 2011.109 2016.020,0,"D_RGR_1992" -6628,Tahiti 52,geodetic,"Fundamental point: Tahiti North Base. Latitude: 17°38'10.0""S, longitude: 149°36'57.8""W (of Greenwich).",1952-01-01,7022,8901,2811,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaced by Tahiti 79 (datum code 6690) in Tahiti and Moorea 87 (code 6691) in Moorea.","Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie.",OGP,"2008/06/24",2005.380 2008.045,0,"D_Tahiti_1952" -6629,Tahaa 54,geodetic,"Fundamental point: Tahaa East Base. Latitude: 16°33'20.97""S, longitude: 151°29'06.25""W (of Greenwich).",1954-01-01,7022,8901,2812,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaced by RGPF (datum code 6687).","Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie.",OGP,"2008/06/24",2005.380 2008.045,0,"D_Tahaa_1954" -6630,IGN72 Nuku Hiva,geodetic,"Fundamental point: Taiohae. Latitude: 8°55'03.97""S, longitude: 140°05'36.24""W (of Greenwich).",1972-01-01,7022,8901,3129,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaced by RGPF (datum code 6687).","Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie.",OGP,"2008/06/24",2005.380 2008.045,0,"D_IGN72_Nuku_Hiva" -6631,K0 1949,geodetic,,1949-01-01,7022,8901,2816,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,IGN Paris.,OGP,"2002/11/29",,1, -6632,Combani 1950,geodetic,Combani South Base.,1950-01-01,7022,8901,3340,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaced by RGM04 and Cadastre 1997 (datum codes 1036-37).",IGN Paris.,OGP,"2009/10/29",2009.072,0,"D_Combani_1950" -6633,IGN56 Lifou,geodetic,South end of the Goume base.,1956-01-01,7022,8901,2814,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"Service Topographique de la Nouvelle Caledonie, Direction des Infrastructures, de la Topografie et des Transports Terrestres. www.dittt.gouv.nc",OGP,"2006/07/21",2006.620,0,"D_IGN56_Lifou" -6634,IGN72 Grande Terre,geodetic,North end of Gomen base.,1972-01-01,7022,8901,2822,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"Service Topographique de la Nouvelle Caledonie, Direction des Infrastructures, de la Topografie et des Transports Terrestres. www.dittt.gouv.nc",OGP,"2006/07/21",2006.620,0,"D_IGN72_Grande_Terre" -6635,ST87 Ouvea,geodetic,,1987-01-01,7022,8901,2813,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,Service Topographique de la Nouvelle Caledonie.,OGP,"2002/11/29",,1, -6636,Petrels 1972,geodetic,"Fundamental point: Astro station DZ on Ile de Petrels. Latitude: 66°40'00""S, longitude: 140°00'46""E (of Greenwich).",1972-01-01,7022,8901,2817,"Geodetic survey, topographic mapping.",,IGN Paris.,OGP,"2008/06/24",2008.045,0,"D_Petrels_1972" -6637,Pointe Geologie Perroud 1950,geodetic,"Fundamental point: Astro station G.0 on Pointe Geologie. Latitude: 66°39'30""S, longitude: 140°01'00""E (of Greenwich).",1950-01-01,7022,8901,2818,"Geodetic survey, topographic mapping.",,IGN Paris.,OGP,"2008/06/24",2008.045,0,"D_Pointe_Geologie_Perroud_1950" -6638,Saint Pierre et Miquelon 1950,geodetic,,1950-01-01,7008,8901,3299,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaced by RGSPM06 (datum code 1038).",IGN Paris.,OGP,"2011/01/25",2006.060 2009.072 2011.004,0,"D_Saint_Pierre_et_Miquelon_1950" -6639,MOP78,geodetic,,1978-01-01,7022,8901,2815,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,IGN Paris.,OGP,"2002/11/29",,0,"D_MOP78" -6640,Reseau de Reference des Antilles Francaises 1991,geodetic,WGS 84 coordinates of a single station determined during the 1988 Tango mission.,1991-01-01,7030,8901,2824,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaces Fort Marigot and Sainte Anne (datum codes 6621-22) in Guadeloupe and Fort Desaix (datum code 6625) in Martinique.",IGN Paris.,OGP,"2004/03/26",2004.200 2009.073,1, -6641,IGN53 Mare,geodetic,South-east end of the La Roche base.,1953-01-01,7022,8901,2819,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"Service Topographique de la Nouvelle Caledonie, Direction des Infrastructures, de la Topografie et des Transports Terrestres. www.dittt.gouv.nc",OGP,"2006/07/21",2006.620,0,"D_IGN53_Mare" -6642,ST84 Ile des Pins,geodetic,"Fundamental point: Pic Nga.",1984-01-01,7022,8901,2820,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"Service Topographique de la Nouvelle Caledonie, Direction des Infrastructures, de la Topografie et des Transports Terrestres. www.dittt.gouv.nc",OGP,"2006/07/21",2006.620,0,"D_ST84_Ile_des_Pins" -6643,ST71 Belep,geodetic,,1971-01-01,7022,8901,2821,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,Service Topographique de la Nouvelle Caledonie.,OGP,"2002/11/29",,0,"D_ST71_Belep" -6644,NEA74 Noumea,geodetic,Noumea old signal station.,1974-01-01,7022,8901,2823,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"Service Topographique de la Nouvelle Caledonie, Direction des Infrastructures, de la Topografie et des Transports Terrestres. www.dittt.gouv.nc",OGP,"2006/07/21",2006.620,0,"D_NEA74_Noumea" -6645,Reseau Geodesique Nouvelle Caledonie 1991,geodetic,ITRF90 at epoch 1989.0,1989-01-01,7022,8901,1174,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,Service Topographique de la Nouvelle Caledonie.,OGP,"2002/11/29",,1,"D_RGNC_1991" -6646,Grand Comoros,geodetic,"Fundamental point: M'Tsaoueni. Latitude: 11°28'32.200""S, longitude: 43°15'42.315""E (of Greenwich).",,7022,8901,2807,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,IGN Paris.,OGP,"2008/06/24",2008.045,0,"D_Grand_Comoros" -6647,International Terrestrial Reference Frame 1988,geodetic,"Origin at geocentre, orientated to the BIH Terrestrial System at epoch 1984.0. Datum defined by a set of 3-dimensional Cartesian station coordinates (SCS).",1988-01-01,7019,8901,1262,Geodesy.,"Realisation of the IERS Terrestrial Reference System (ITRS) at epoch 1988.0. Replaced by ITRF89 (code 6648).","International Earth Rotation Service (IERS) Annual Report for 1988. Also IGN Paris http://lareg.ensg.ign.fr/ITRF",OGP,"2006/10/13",2006.770 2006.892,0, -6648,International Terrestrial Reference Frame 1989,geodetic,"Origin at geocentre, orientated to the BIH Terrestrial System at epoch 1984.0. Datum defined by a set of 3-dimensional Cartesian station coordinates (SCS) for epoch 1988.0.",1988-01-01,7019,8901,1262,Geodesy.,"Realisation of the IERS Terrestrial Reference System (ITRS) from April 1991. Replaces ITRF88 (code 6647). Replaced by ITRF90 (code 6649).","International Earth Rotation Service (IERS) Technical Note No. 6, April 1991. Also IGN Paris http://lareg.ensg.ign.fr/ITRF",OGP,"2015/01/04",2006.770 2006.892 2014.092,0, -6649,International Terrestrial Reference Frame 1990,geodetic,"Origin at geocentre, orientated to the BIH Terrestrial System at epoch 1984.0. Datum defined by a set of 3-dimensional Cartesian station coordinates (SCS) for epoch 1988.0.",1988-01-01,7019,8901,1262,Geodesy.,"Realisation of the IERS Terrestrial Reference System (ITRS) from December 1991. Replaces ITRF89 (code 6648). Replaced by ITRF91 (code 6650).","International Earth Rotation Service (IERS) Technical Note No. 9, December 1991. Also IGN Paris http://lareg.ensg.ign.fr/ITRF",OGP,"2015/01/04",2006.770 2006.892 2014.092,0, -6650,International Terrestrial Reference Frame 1991,geodetic,"Origin at geocentre, orientated to the BIH Terrestrial System at epoch 1984.0. Datum defined by a set of 3-dimensional Cartesian station coordinates (SCS) for epoch 1988.0.",1988-01-01,7019,8901,1262,Geodesy.,"Realisation of the IERS Terrestrial Reference System (ITRS) from October 1992. Replaces ITRF90 (code 6649). Replaced by ITRF92 (code 6651).","International Earth Rotation Service (IERS) Technical Note No. 12, October 1992. Also IGN Paris http://lareg.ensg.ign.fr/ITRF",OGP,"2015/01/04",2006.770 2006.892 2014.092,0, -6651,International Terrestrial Reference Frame 1992,geodetic,"Origin at geocentre, orientated to the BIH Terrestrial System at epoch 1984.0. Datum defined by a set of 287 3-dimensional Cartesian station coordinates (SCS) for epoch 1988.0.",1988-01-01,7019,8901,1262,Geodesy.,"Realisation of the IERS Terrestrial Reference System (ITRS) from October 1993. Replaces ITRF91 (code 6650). Replaced by ITRF93 (code 6652).","International Earth Rotation Service (IERS) Technical Note No. 15, October 1993. Also IGN Paris http://lareg.ensg.ign.fr/ITRF",OGP,"2015/01/04",2006.770 2006.892 2014.092,0, -6652,International Terrestrial Reference Frame 1993,geodetic,"Origin at geocentre, orientated to the BIH Terrestrial System at epoch 1984.0. Datum defined by a set of 3-dimensional Cartesian station coordinates (SCS) for epoch 1993.0.",1993-01-01,7019,8901,1262,Geodesy.,"Realisation of the IERS Terrestrial Reference System (ITRS) from October 1994. Replaces ITRF92 (code 6651). Replaced by ITRF94 (code 6653).","International Earth Rotation Service (IERS) Technical Note No. 18, October 1994. Also IGN Paris http://lareg.ensg.ign.fr/ITRF",OGP,"2015/01/04",2006.770 2006.892 2014.092,0, -6653,International Terrestrial Reference Frame 1994,geodetic,"Origin at geocentre, orientated to the BIH Terrestrial System at epoch 1984.0. Datum defined by a set of 3-dimensional Cartesian station coordinates (SCS) for epoch 1993.0.",1993-01-01,7019,8901,1262,Geodesy.,"Realisation of the IERS Terrestrial Reference System (ITRS) from March 1996. Replaces ITRF93 (code 6652). Replaced by ITRF96 (code 6654).","International Earth Rotation Service (IERS) Technical Note No. 20, March 1996. Also IGN Paris http://lareg.ensg.ign.fr/ITRF",OGP,"2015/01/04",2006.770 2006.892 2014.092,0, -6654,International Terrestrial Reference Frame 1996,geodetic,"Origin at geocentre, orientated to the BIH Terrestrial System at epoch 1984.0. Datum defined by a set of 3-dimensional Cartesian station coordinates (SCS) for epoch 1997.0.",1997-01-01,7019,8901,1262,Geodesy.,"Realisation of the IERS Terrestrial Reference System (ITRS) from May 1998. Replaces ITRF94 (code 6653). Replaced by ITRF97 (code 6655).","International Earth Rotation Service (IERS) Technical Note No. 24, May 1998. Also IGN Paris http://lareg.ensg.ign.fr/ITRF",OGP,"2015/01/04",2006.770 2006.892 2014.092,0, -6655,International Terrestrial Reference Frame 1997,geodetic,"Origin at geocentre, orientated to the BIH Terrestrial System at epoch 1984.0. Datum defined by a set of 3-dimensional Cartesian station coordinates (SCS) for epoch 1997.0.",1997-01-01,7019,8901,1262,Geodesy.,"Realisation of the IERS Terrestrial Reference System (ITRS) from May 1999. Replaces ITRF96 (code 6654). Replaced by ITRF2000 (code 6656).","International Earth Rotation Service (IERS) Technical Note No. 27, May 1999. Also IGN Paris http://lareg.ensg.ign.fr/ITRF",OGP,"2015/01/04",2006.770 2006.892 2014.092,0, -6656,International Terrestrial Reference Frame 2000,geodetic,"Origin at geocentre, orientated to the BIH Terrestrial System at epoch 1984.0. Datum defined by a set of 3-dimensional Cartesian station coordinates (SCS) for epoch 1997.0.",1997-01-01,7019,8901,1262,Geodesy.,"Realisation of the IERS Terrestrial Reference System (ITRS) from 2004. Replaces ITRF97 (code 6655). Replaced by ITRF2005 (code 6896).","International Earth Rotation Service (IERS) Technical Note No. 31, published in 2004. Also IGN Paris http://lareg.ensg.ign.fr/ITRF",OGP,"2015/01/04",2006.770 2006.892 2011.002 2014.092,0, -6657,Reykjavik 1900,geodetic,"Fundamental point: Latitude: 64°08'31.88""N, longitude: 21°55'51.15""W (of Greenwich).",1900-01-01,7051,8901,3262,Medium scale topographic mapping.,,"Landmaelingar Islands (National Survey of Iceland).",OGP,"2008/06/24",2008.045,0,"D_Reykjavik_1900" -6658,Hjorsey 1955,geodetic,"Fundamental point: Latitude: 64°31'29.26""N, longitude: 22°22'05.84""W (of Greenwich).",1955-01-01,7022,8901,3262,"1/50,000 scale topographic mapping.",,"Landmaelingar Islands (National Survey of Iceland).",OGP,"2008/06/24",2008.045,0,"D_Hjorsey_1955" -6659,Islands Net 1993,geodetic,ITRF93 at epoch 1993.6.,1993-08-07,7019,8901,1120,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaced by ISN2004 (datum code 1060).","Landmaelingar Islands (National Survey of Iceland).",IOGP,"2016/09/16",2006.770 2010.101 2016.020,0,"D_Islands_Network_1993" -6660,Helle 1954,geodetic,,1954-01-01,7022,8901,2869,"Geodetic survey, topographic mapping..",,Statens kartverk.,OGP,"2003/06/27",,0,"D_Helle_1954" -6661,Latvia 1992,geodetic,Constrained to 4 ETRS89 points in Latvia from the EUREF Baltic 1992 campaign.,1992-10-01,7019,8901,1139,"Topographic mapping, geodetic survey.",Densification of ETRS89 during the 1992 Baltic campaign.,"Latvijas Republikas Valsts zemes dienests (State Land Service of the Republic of Latvia) via EuroGeographics. http://crs.bkg.bund.de/crs-eu/",IOGP,"2016/09/16",2016.020,0,"D_Latvia_1992" -6663,Porto Santo 1995,geodetic,SE Base on Porto Santo island. Origin and orientation constrained to those of the 1936 adjustment.,1995-01-01,7022,8901,1314,Topographic mapping.,"Classical and GPS observations. Replaces 1936 adjustment (datum code 6615). -For Selvagens see Selvagem Grande (datum code 6616).","Instituto Geografico e Cadastral Lisbon; http://www.igeo.pt/",OGP,"2005/09/06",2005.460,0,"D_Porto_Santo_1995" -6664,Azores Oriental Islands 1995,geodetic,"Fundamental point: Forte de São Bras. Origin and orientation constrained to those of the 1940 adjustment.",1995-01-01,7022,8901,1345,Topographic mapping.,"Classical and GPS observations. Replaces 1940 adjustment (datum code 6184).","Instituto Geografico e Cadastral Lisbon; http://www.igeo.pt/",IOGP,"2016/09/16",2005.460 2016.020,0,"D_Azores_Oriental_Islands_1995" -6665,Azores Central Islands 1995,geodetic,"Fundamental point: Graciosa south west base. Origin and orientation constrained to those of the 1948 adjustment.",1995-01-01,7022,8901,1301,Topographic mapping.,"Classical and GPS observations. Replaces 1948 adjustment (datum code 6183).","Instituto Geografico e Cadastral Lisbon; http://www.igeo.pt/",IOGP,"2016/09/16",2005.460 2016.020,0,"D_Azores_Central_Islands_1995" -6666,Lisbon 1890,geodetic,"Fundamental point: Castelo Sao Jorge, Lisbon. Latitude: 38°42'43.631""N, longitude: 9°07'54.862""W of Greenwich.",1937-01-01,7004,8901,1294,Topographic mapping.,"Replaced by Lisbon 1937 adjustment (which uses International 1924 ellipsoid).","Instituto Geografico e Cadastral Lisbon http://www.igeo.pt",OGP,"2008/06/24",2003.361 2008.045,0,"D_Lisbon_1890" -6667,Iraq-Kuwait Boundary Datum 1992,geodetic,Four stations established between September and December 1991 determined by GPS and Doppler observations.,1992-01-01,7030,8901,2876,International boundary demarcation,,"United Nations Iraq-Kuwait Boundary Demarcation Commission, Final Report, May 1993.",OGP,"2003/09/01",,0,"D_Iraq_Kuwait_Boundary_1992" -6668,European Datum 1979,geodetic,"Fundamental point: Potsdam (Helmert Tower). Latitude: 52°22'51.4456""N, longitude: 13°03'58.9283""E (of Greenwich).",1979-01-01,7022,8901,1297,Scientific network.,Replaced by 1987 adjustment.,,OGP,"2008/06/24",2008.045,0,"D_European_1979" -6670,Istituto Geografico Militaire 1995,geodetic,Network of 1296 points observed 1992-1995 and adjusted in 1996 constrained to 9 ETRS89 points. Densification of ETRS89 in Italy.,1995-01-01,7030,8901,3343,Geodetic survey and scientific study.,"Replaced by RDN2008 (datum code 1132) from 2011-11-10.",ENI,OGP,"2014/01/27",2011.004 2014.002,0,"D_IGM_1995" -6671,Voirol 1879,geodetic,"Fundamental point: Voirol. Latitude: 36°45'08.199""N, longitude: 3°02'49.435""E (of Greenwich). Uses RGS (and old IGN) value of 2°20'13.95""for Greenwich-Paris meridian difference.",1879-01-01,7011,8901,1365,Topographic mapping.,"Replaces Voirol 1875 (code 6304).",IGN Paris,OGP,"2008/06/24",2008.045,0,"D_Voirol_1879" -6672,Chatham Islands Datum 1971,geodetic,,1971-01-01,7022,8901,2889,"Geodetic survey, topographic mapping, engineering survey.","Replaced by Chatham Islands Datum 1979 (code 6673).","Office of Surveyor General (OSG) Technical Report 14, June 2001.",OGP,"2004/02/17",,0,"D_Chatham_Island_1971" -6673,Chatham Islands Datum 1979,geodetic,"Fundamental point: station Astro. Latitude: 43°57'23.60""S, longitude: 176°34'28.65""W (of Greenwich).",1979-01-01,7022,8901,2889,"Geodetic survey, topographic mapping, engineering survey.","Replaces Chatham Islands Datum 1971 (code 6672). Replaced by New Zealand Geodetic Datum 2000 (code 6167) from March 2000.","Office of Surveyor General (OSG) Technical Report 14, June 2001.",OGP,"2008/06/24",2008.045,0,"D_Chatham_Islands_1979" -6674,Sistema de Referencia Geocentrico para las AmericaS 2000,geodetic,ITRF2000 at epoch 2000.40.,2000-05-26,7019,8901,3418,Geodetic survey.,"Realised by a frame of 184 stations observed in 2000 and adjusted in the ITRF2000. Includes ties to tide gauges. Replaces SIRGAS 1995 system for South America; expands SIRGAS to Central America. Name changed in 2001 for use in all of Latin America.","IBGE Brazil, http://www1.ibge.gov.br/",IOGP,"2016/09/16",2005.460 2005.830 2006.465 2006.770 2009.087 2010.090 2011.053 2016.020,0,"D_SIRGAS_2000" -6675,Guam 1963,geodetic,"Fundamental point: Tagcha. Latitude: 13°22'38.49""N, longitude: 144°45'51.56""E (of Greenwich).",1963-01-01,7008,8901,3255,Topographic mapping.,"Replaced by NAD83(HARN)","US National Geospatial Intelligence Agency (NGA). http://earth-info.nga.mil/",OGP,"2008/06/24",2005.460 2008.045,0,"D_Guam_1963" -6676,Vientiane 1982,geodetic,"Fundamental point: Vientiane (Nongteng) Astro Pillar. Latitude: 18°01'31.6301""N, longitude: 102°30'56.6999""E (of Greenwich).",1982-01-01,7024,8901,1138,Topographic mapping.,Replaced by Lao 1993.,National Geographic Department,OGP,"2008/06/24",2008.045,0,"D_Vientiane_1982" -6677,Lao 1993,geodetic,"Fundamental point: Lao 1982 coordinates of Pakxa pillar. Latitude: 18°23'57.0056""N, longitude: 103°38'41.8020""E (of Greenwich). Orientation parallel with WGS 84.",1993-01-01,7024,8901,1138,Topographic mapping.,Replaces Vientiane 1982. Replaced by Lao 1997,National Geographic Department,OGP,"2008/06/24",2008.045,0,"D_Lao_1993" -6678,Lao National Datum 1997,geodetic,"Fundamental point: Vientiane (Nongteng) Astro Pillar. Latitude: 18°01'31.3480""N, longitude: 102°30'57.1376""E (of Greenwich).",1997-01-01,7024,8901,1138,"Cadastre, topographic mapping, engineering survey.",Replaces Lao 1993.,National Geographic Department,OGP,"2008/06/24",2008.045,0,"D_Lao_National_Datum_1997" -6679,Jouik 1961,geodetic,,1961-01-01,7012,8901,2967,Hydrographic charting.,"Replaced by Mauritania 1999 (datum code 6702).",Woodside,OGP,"2006/06/12",2006.440,0,"D_Jouik_1961" -6680,Nouakchott 1965,geodetic,Nouakchott astronomical point.,1965-01-01,7012,8901,2968,Topographic survey.,"Triangulation limited to environs of Nouakchott. Extended in 1982 by satellite translocation from a single station ""Ruines"" to support Syledis chain for offshore operations. Replaced by Mauritania 1999 (datum code 6602).",IGN Paris and various industry sources.,OGP,"2006/06/12",2006.440,0,"D_Nouakchott_1965" -6681,Mauritania 1999,geodetic,,1999-01-01,7012,8901,1157,"Minerals management, topographic mapping.","A network of 36 GPS stations tied to ITRF96, 8 of which are IGN astronomic points.",Woodside,OGP,"2004/10/14",,1,"D_Mauritania_1999" -6682,Gulshan 303,geodetic,"Gulshan garden, Dhaka.",1995-01-01,7015,8901,1041,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Network of more than 140 control points observed and adjusted in 1995 by Japan International Cooperation Agency (JICA).",Survey of Bangladesh via IGN Paris and Tullow Oil.,OGP,"2006/06/22",2006.470,0,"D_Gulshan_303" -6683,Philippine Reference System 1992,geodetic,"Fundamental point: Balacan. Latitude: 13°33'41.000""N, longitude: 121°52'03.000""E (of Greenwich), geoid-ellipsoid separation 0.34m.",1992-01-01,7008,8901,1190,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaces Luzon 1911 datum (code 6253).","National Mapping and Resource Information Authority, Coast and Geodetic Survey Department.",OGP,"2008/06/24",2008.045,0,"D_Philippine_Reference_System_1992" -6684,Gan 1970,geodetic,,1970-01-01,7022,8901,3274,Topographic mapping.,"In some references incorrectly named ""Gandajika 1970"". See datum code 6685.",Various industry sources.,OGP,"2005/04/14",,0,"D_Gan_1970" -6685,Gandajika,geodetic,Gandajika base.,1953-01-01,7022,8901,1259,Topographic mapping.,In some references incorrectly attributed to the Maldives. See datum code 6684.,Various industry sources.,OGP,"2005/04/14",,1, -6686,Marco Geocentrico Nacional de Referencia,geodetic,"Documented as ITRF94 at epoch 1995.4 but possibly a rounded value as SIRGAS95 is at epoch 1995.42. Bogota observatory coordinates: Latitude: 4°35'46.3215""N, longitude: 74°04'39.0285""W (of Greenwich).",2004-06-02,7019,8901,1070,Geodetic survey.,"Densification of SIRGAS 1995 within Colombia. Replaces Bogota 1975 (datum code 6218).","Instituto Geografico Agustin Codazzi (IGAC) publication ""Aspectos prácticos de la adopción del Marco Geocéntrico Nacional de Referencia MAGNA-SIRGAS como datum oficial de Colombia"". http://www.igac.gov.co/MAGNAWEB/DocumentosMAGNA.htm",IOGP,"2016/09/16",2006.770 2007.060 2008.045 2011.004 2016.020,0,"D_MAGNA" -6687,Reseau Geodesique de la Polynesie Francaise,geodetic,"ITRF92 at epoch 1993.0. Densification by GPS of the Reference Network of French Polynesia, a coordinate set of 13 stations determined through DORIS observations.",1993-01-01,7019,8901,1098,Geodetic survey.,"Replaces Tahaa 54 (datum code 6629), IGN 63 Hiva Oa (6689), IGN 72 Nuku Hiva (6630), Maupiti 83 (6692), MHEFO 55 (6688), Moorea 87 (6691) and Tahiti 79 (6690).","Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie. Also www.shom.fr, technical report 002/199.",OGP,"2006/08/18",2006.770,0,"D_Reseau_Geodesique_de_la_Polynesie_Francaise" -6688,Fatu Iva 72,geodetic,"Fundamental point: Latitude: 9°25'58.00""S, longitude: 138°55'06.25""W (of Greenwich).",1972-01-01,7022,8901,3133,Hydrographic and topographic survey.,"Recomputed by IGN in 1972 using origin and observations of 1953-1955 Mission Hydrographique des Establissements Francais d'Oceanie (MHEFO 55). Replaced by RGPF (datum code 6687).","Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie.",OGP,"2008/06/24",2008.045,0,"D_Fatu_Iva_1972" -6689,IGN63 Hiva Oa,geodetic,"Fundamental point: Atuona. Latitude: 9°48'27.20""S, longitude: 139°02'15.45""W (of Greenwich).",1963-01-01,7022,8901,3130,Hydrographic and topographic survey.,"Replaced by RGPF (datum code 6687).","Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie.",OGP,"2008/06/24",2008.045,0,"D_IGN63_Hiva_Oa" -6690,Tahiti 79,geodetic,"Fundamental point: Tahiti North Base. Latitude: 17°38'10.0""S, longitude: 149°36'57.8""W (of Greenwich).",1979-01-01,7022,8901,3124,Hydrographic and topographic survey.,"Replaces Tahiti 52 (datum code 6628) in Tahiti. Replaced by RGPF (datum code 6687).","Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie.",OGP,"2008/06/24",2008.045,0,"D_Tahiti_1979" -6691,Moorea 87,geodetic,Two stations on Tahiti whose coordinates from the Tahiti 1979 adjustment were held fixed.,1987-01-01,7022,8901,3125,Hydrographic and topographic survey.,"Replaces Tahiti 52 (datum code 6628) in Moorea. Replaced by RGPF (datum code 6687).","Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie.",OGP,"2005/08/12",,0,"D_Moorea_1987" -6692,Maupiti 83,geodetic,"Fundamental point: Pitiahe South Base. Latitude: 16°28'28.942""S, longitude: 152°14'55.059""W (of Greenwich).",1983-01-01,7022,8901,3126,Hydrographic and topographic survey.,"Replaced by RGPF (datum code 6687).","Gouvernement de la Polynésie Française, Service de l'Urbanisme, Section topographie.",OGP,"2008/06/24",2008.045,0,"D_Maupiti_1983" -6693,Nakhl-e Ghanem,geodetic,"Coordinates of two stations determined with respect to ITRF 2000 at epoch 2005.2: BMT1 latitude 27°42'09.8417""N, longitude 52°12'11.0362""E (of Greenwich); Total1 latitude 27°31'03.8896""N, longitude 52°36'13.1312""E (of Greenwich).",2005-01-01,7030,8901,2362,Engineering survey for onshore facilities for South Pars phase 11 and Pars LNG.,,Total,OGP,"2008/06/24",2006.770 2008.045,0,"D_Nakhl-e_Ghanem" -6694,Posiciones Geodesicas Argentinas 1994,geodetic,"A geodetic network of 127 high accuracy surveyed points based on WGS 84 that define the National Geodetic System (Sistema Geodésico Nacional).",1994-01-01,7030,8901,1033,"Topographic mapping, geodetic survey.","Technically, but not legally, replaced by POSGAR 98 (code 6190) until May 2009, when POSGAR 2007 was officially accepted and officially replaced POSGAR 94.","Instituto Geográfico Militar de la República Argentina, http://www.igm.gov.ar",OGP,"2011/03/28",2008.052 2009.028,0,"D_POSGAR_1994" -6695,Katanga 1955,geodetic,"Fundamental point: Tshinsenda A. Latitude: 12°30'31.568""S, longitude: 28°01'02.971""E (of Greenwich).",1955-01-01,7008,8901,3147,"Cadastre, topographic mapping, engineering survey.",Replaces earlier adjustments.,"Clifford J. Mugnier, in Photogrammetric Engineering and Remote Sensing, June 2005.",OGP,"2009/06/02",2008.045 2009.011,0,"D_Katanga_1955" -6696,Kasai 1953,geodetic,"Two stations of the Katanga triangulation with ellipsoid change applied: Kabila, latitude 6°58'34.023""S, longitude 23°50'24.028""E (of Greenwich); and Gandajika NW base, latitude 6°45'01.057""S, longitude 23°57'03.038""E (of Greenwich).",1955-01-01,7012,8901,3148,"Cadastre, topographic mapping, engineering survey.",Replaced by IGC 1962 Arc of the 6th Parallel South.,Institute Geographique du Congo,OGP,"2008/06/24",2008.045,0,"D_Kasai_1953" -6697,IGC 1962 Arc of the 6th Parallel South,geodetic,"Coordinates of 3 stations determined with respect to Arc 1950: Mulungu 4°47'39.2325""S, 29°59'37.5864""E; Nyakawembe 4°14'57.3618""S, 29°42'52.8032""E; Kavula 4°35'15.8634""S, 29°41'14.2693""E (all longitude w.r.t. Greenwich).",1962-01-01,7012,8901,3149,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,Institute Geographique du Congo,OGP,"2008/06/24",2006.721 2008.045,0,"D_IGC_1962_Arc_of_the_6th_Parallel_South" -6698,IGN 1962 Kerguelen,geodetic,K0 1949.,1949-01-01,7022,8901,2816,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,IGN Paris.,OGP,"2005/11/23",,0,"D_Kerguelen_Island_1949" -6699,Le Pouce 1934,geodetic,"Fundamental point: Le Pouce. Latitude: 20°11'42.25""S, longitude: 57°31'18.58""E (of Greenwich).",1934-01-01,7012,8901,3209,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"Cartography Section, Ministry of Housing and Land.",OGP,"2008/06/24",2008.045,0,"D_Le_Pouce_1934" -6700,IGN Astro 1960,geodetic,Realised through a set of independent astronomically-positioned points.,1960-01-01,7012,8901,3277,Small scale topographic mapping.,"Observed during 1959-1960. Independent points not connected through a network. Relative accuracy estimated at 50-100m. Replaced by Mauritania 1999 (datum code 6702).","Ministry of Works and Transport, Topography and Cartography Directive.",OGP,"2012/01/05",2006.440 2012.001,0,"D_IGN_Astro_1960" -6701,Institut Geographique du Congo Belge 1955,geodetic,"Fundamental point: Yella east base. Latitude: 6°00'53.139""S, longitude: 12°58'29.287""E (of Greenwich).",1955-01-01,7012,8901,3171,"Cadastre, topographic mapping, engineering survey.","Replaced by IGC 1962 Arc of the 6th Parallel South, except for oil industry activities.",Institut Geographique du Congo Belge.,OGP,"2008/06/24",2008.045,0,"D_Institut_Geographique_du_Congo_Belge_1955" -6702,Mauritania 1999,geodetic,ITRF96 at epoch 1997.0,1997-01-01,7019,8901,1157,Geodesy.,"A network of 36 GPS stations tied to ITRF96, 8 of which are IGN 1962 astronomic points.","Ministry of Works and Transport, Topography and Cartography Directive.",IOGP,"2016/09/16",2006.770 2016.020,0,"D_Mauritania_1999" -6703,Missao Hidrografico Angola y Sao Tome 1951,geodetic,Extension of Camacupa datum into Cabinda.,1951-01-01,7012,8901,1318,Coastal hydrography.,"A variation of this datum has been adopted by the oil industry but incorrectly using the International 1924 ellipsoid and not tied to the official Portuguese triangulation - see Mhast (onshore) and Mhast (offshore) (codes 6704 and 6705).",Various industry sources.,OGP,"2006/01/03",,0,"D_Mhast_1951" -6704,"Mhast (onshore)",geodetic,Probably adopted a Mhast 1951 coordinate set but associated an incorrect ellipsoid with it.,,7022,8901,3179,"Oil industry exploration and production. From 1979, offshore use superseded by Mhast (offshore) (code 6705).","Adopted by oil industry with intention of being Mhast 1951 (code 6703) but incorrectly (for Mhast 1951) used the International 1924 ellipsoid. This datum differs by about 400 metres from the Portuguese Mhast 1951 and Camacupa datums.",ChevronTexaco.,OGP,"2006/01/03",,0,"D_Mhast_Onshore" -6705,"Mhast (offshore)",geodetic,"Fundamental point: Station Y at Malongo base camp. Latitude: 5°23'30.810""S, longitude: 12°12'01.590""E (of Greenwich).",1979-01-01,7022,8901,3180,Oil industry offshore exploration and production between 1979 and 1987.,"Origin coordinates determined by Transit single point position using 32 passes and transformed from WGS72BE using transformation code 15790. Differs from Mhast (onshore) by approximately 10m. Replaced in 1987 by Malongo 1987 (code 6259).",ChevronTexaco.,OGP,"2008/06/24",2008.045,0,"D_Mhast_Offshore" -6706,Egypt Gulf of Suez S-650 TL,geodetic,"Fundamental point: Station S-650 DMX. Adopted coordinates: latitude: 28°19'02.1907""N, longitude: 33°06'36.6344""E (of Greenwich). The proper Egypt 1907 coordinates for S-650 differ from these by about 20m.",1980-01-01,7020,8901,2341,Oil industry offshore exploration and production in Gulf of Suez after 1980.,"A coherent set of stations bordering the Gulf of Suez coordinated by Transit translocation (""TL"") between 1980 and 1984. Based on incorrect Egypt 1907 values for origin station S-650. Differs from true Egypt 1907 by approximately 20m.",Various industry sources.,OGP,"2008/06/24",2008.045,0,"D_Egypt_Gulf_of_Suez_S-650_TL" -6707,Tern Island 1961,geodetic,"Fundamental point: station FRIG on tern island, station B4 on Sorol Atoll.",1961-01-01,7022,8901,3181,Military and topographic mapping,"Two independent astronomic determinations considered to be consistent through adoption of common transformation to WGS 84 (see tfm code 15795).","DMA / NIMA / NGA TR8350.2 (original 1987 first edition and 3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_Tern_Island_1961" -6708,Cocos Islands 1965,geodetic,"Fundamental point: Anna 1.",1965-01-01,7003,8901,1069,Military and topographic mapping,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_Anna_1_1965" -6709,Iwo Jima 1945,geodetic,"Fundamental point: Beacon ""E"".",1945-01-01,7022,8901,3200,Military and topographic mapping,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_Beacon_E_1945" -6710,Astro DOS 71,geodetic,"Fundamental point: DOS 71/4, Ladder Hill Fort, latitude: 15°55'30""S, longitude: 5°43'25""W (of Greenwich).",1971-01-01,7022,8901,3183,"Geodetic control, military and topographic mapping.",,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000) and St. Helena Government, Environment and Natural Resources Directorate (ENRD).",IOGP,"2016/12/15",2016.038,0,"D_DOS_71_4" -6711,Marcus Island 1952,geodetic,Marcus Island Astronomic Station.,1952-01-01,7022,8901,1872,Military and topographic mapping,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2012/03/25",2012.032,0,"D_Astro_1952" -6712,Ascension Island 1958,geodetic,,1958-01-01,7022,8901,3182,Military and topographic mapping,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_Ascension_Island_1958" -6713,Ayabelle Lighthouse,geodetic,"Fundamental point: Ayabelle Lighthouse.",,7012,8901,1081,Military and topographic mapping,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_Ayabelle" -6714,Bellevue,geodetic,,1960-01-01,7022,8901,3193,Military and topographic mapping,"Datum covers all the major islands of Vanuatu in two different adjustment blocks, but practical usage is as given in the area of use.","DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/07/29",2006.510,0,"D_Bellevue_IGN" -6715,Camp Area Astro,geodetic,,,7022,8901,3205,Geodetic and topographic survey,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_Camp_Area" -6716,Phoenix Islands 1966,geodetic,,1966-01-01,7022,8901,3196,Military and topographic mapping,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_Canton_1966" -6717,Cape Canaveral,geodetic,"Fundamental point: Central 1950. Latitude: 28°29'32.36555""N, longitude 80°34'38.77362""W (of Greenwich)",1963-01-01,7008,8901,3206,US space and military operations.,,"US NGS and DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2008/06/24",2006.870 2008.045,0,"D_Cape_Canaveral" -6718,Solomon 1968,geodetic,"Fundamental point: GUX 1.",1968-01-01,7022,8901,1213,"Military and topographic mapping, +/- 25 meters in each component",,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_Solomon_1968" -6719,Easter Island 1967,geodetic,,1967-01-01,7022,8901,3188,"Military and topographic mapping, +/- 25 meters in each component",,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_Easter_Island_1967" -6720,Fiji Geodetic Datum 1986,geodetic,NWL 9D coordinates of 6 stations on Vitu Levu and Vanua Levu.,1986-01-01,7043,8901,1094,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaces Viti Levu 1912, Vanua Levu 1915 and Fiji 1956.","Survey Review 30,231 (January 1989).",OGP,"2006/07/19",2006.500,0,"D_Fiji_1986" -6721,Fiji 1956,geodetic,"Latitude origin was obtained astronomically at station Rasusuva = 17°49'03.13""S, longitude origin was obtained astronomically at station Suva = 178°25'35.835""E (of Greenwich).",1956-01-01,7022,8901,3398,Military and topographic mapping,For topographic mapping replaces Viti Levu 1912 and Vanua Levu 1915. Replaced by Fiji Geodetic Datum 1986.,"SOPAC, www.sopac.org, and Clifford J. Mugnier in Photogrammetric Engineering and Remote Sensing, October 2000, www.asprs.org.",OGP,"2008/06/24",2006.500 2008.045,0,"D_Fiji_1956" -6722,South Georgia 1968,geodetic,"Fundamental point: ISTS 061.",1968-01-01,7022,8901,3529,Military and topographic mapping,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2012/02/13",2012.023,0,"D_ISTS_061_1968" -6723,Grand Cayman Geodetic Datum 1959,geodetic,"Fundamental point: GC1. Latitude: 19°17'54.43""N, longitude: 81°22'37.17""W (of Greenwich).",1959-01-01,7008,8901,3185,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaced by CIGD11 (datum code 1100).","Lands and Survey Department, Cayman Islands Government.",OGP,"2013/01/17",2008.045 2012.095,0,"D_Grand_Cayman_1959" -6724,Diego Garcia 1969,geodetic,"Fundamental point: ISTS 073.",1969-01-01,7022,8901,3189,Military and topographic mapping,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_ISTS_073_1969" -6725,Johnston Island 1961,geodetic,,1961-01-01,7022,8901,3201,Military and topographic mapping,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_Johnston_Island_1961" -6726,Sister Islands Geodetic Datum 1961,geodetic,"Fundamental point: LC5. Latitude: 19°39'46.324""N, longitude: 80°03'47.910""W (of Greenwich).",1961-01-01,7008,8901,3186,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaced by CIGD11 (datum code 1100).","Lands and Survey Department, Cayman Islands Government.",OGP,"2013/01/17",2008.045 2012.095,0,"D_Little_Cayman_1961" -6727,Midway 1961,geodetic,,1961-01-01,7022,8901,3202,Military and topographic mapping,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_Midway_1961" -6728,Pico de las Nieves 1984,geodetic,,,7022,8901,3873,Military and topographic mapping,"Replaces Pico de las Nieves 1968 (PN68). Replaced by REGCAN95.","DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2011/05/09",2009.033 2011.035,0,"D_Pico_de_Las_Nieves" -6729,Pitcairn 1967,geodetic,"Fundamental point: Pitcairn Astro. Latitude: 25°04'06.87""S, longitude: 130°06'47.83""W (of Greenwich).",1967-01-01,7022,8901,3208,Military and topographic mapping,Replaced by Pitcairn 2006.,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2008/06/24",2008.004 2008.045,0,"D_Pitcairn_1967" -6730,Santo 1965,geodetic,,1965-01-01,7022,8901,3194,Military and topographic mapping,"Datum covers all the major islands of Vanuatu in two different adjustment blocks, but practical usage is as given in the area of use.","DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/07/29",2006.510,0,"D_Santo_DOS_1965" -6731,Viti Levu 1916,geodetic,,1916-01-01,7012,8901,3195,Military and topographic mapping,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,1,"D_Viti_Levu_1916" -6732,Marshall Islands 1960,geodetic,,1960-01-01,7053,8901,3191,Military and topographic mapping,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_Wake_Eniwetok_1960" -6733,Wake Island 1952,geodetic,,1952-01-01,7022,8901,3190,Military and topographic mapping,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_Wake_Island_1952" -6734,Tristan 1968,geodetic,,1968-01-01,7022,8901,3184,Military and topographic mapping,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_Tristan_1968" -6735,Kusaie 1951,geodetic,,1951-01-01,7022,8901,3192,Military and topographic mapping,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_Kusaie_1951" -6736,Deception Island,geodetic,,,7012,8901,3204,Military and scientific mapping,,"DMA / NIMA / NGA TR8350.2 (3rd edition, Amendment 1, 3 January 2000).",OGP,"2006/01/26",,0,"D_Deception_Island" -6737,Geocentric datum of Korea,geodetic,ITRF2000 at epoch 2002.0.,2002-01-01,7019,8901,1135,Geodetic survey.,,"Permanent Committee for GIS Infrastructure for Asia and the Pacific (PCGIAP), http://www.gsi.go.jp/PCGIAP",OGP,"2006/08/18",2006.770,0,"D_Korea_2000" -6738,Hong Kong 1963,geodetic,"Fundamental point: Trig ""Zero"", 38.4 feet south along the transit circle of the Kowloon Observatory. Latitude 22°18'12.82""N, longitude 114°10'18.75""E (of Greenwich).",1963-01-01,7007,8901,1118,Topographic mapping and hydrographic charting.,"Replaced by Hong Kong 1963(67) for military purposes only in 1967. Replaced by Hong Kong 1980.","Survey and Mapping Office, Lands Department. http://www.info.gov.hk/landsd/",OGP,"2008/06/24",2008.045,0,"D_Hong_Kong_1963" -6739,"Hong Kong 1963(67)",geodetic,"Fundamental point: Trig ""Zero"", 38.4 feet south along the transit circle of the Kowloon Observatory. Latitude 22°18'12.82""N, longitude 114°10'18.75""E (of Greenwich).",1967-01-01,7022,8901,1118,Military mapping and charting.,Replaces Hong Kong 1963 for military purposes only in 1967. Replaced by Hong Kong 1980.,UK Hydrographic Office.,OGP,"2008/06/24",2008.045,0,"D_Hong_Kong_1963_67" -6740,Parametry Zemli 1990,geodetic,"Defined through coordinates of stations of the satellite geodetic network (SGN) in Russia at epoch 1990.0.",1990-01-01,7054,8901,1262,Glonass satellite navigation prior to 2007-09-20.,Replaced by PZ-90.02 from 2007-09-20.,"Geodeziya i Katografiya, 1993, and ""Parametry Zemli Reference Document"", Military Topgraphic Department (VTU) of the General Staff of Armed Forces of the Russian Federation.",IOGP,"2016/12/15",2010.031 2015.055,0,"D_Parametrop_Zemp_1990" -6741,Faroe Datum 1954,geodetic,Astronomical observations at 3 points.,1954-01-01,7022,8901,3248,"Geodetic survey, topographic mapping, engineering and cadastral survey.","Replaced by ED50 in late 1970's for all purposes other than cadastre. Replaced by fk89 for cadastre.","Kort & Matrikelstyrelsen (KMS), Copenhagen.",OGP,"2006/08/04",2005.472,0,"D_Faroe_Datum_1954" -6742,Geodetic Datum of Malaysia 2000,geodetic,"ITRF2000, epoch 2000.0.",2000-01-01,7019,8901,1151,"Geodetic survey, topographic mapping, engineering and cadastrral survey.",Replaces all older Malaysian datums.,"GDM2000 Technical Manual; Department of Survey and Mapping Malaysia. www.jupem.gov.my",OGP,"2006/03/16",,0,"D_GDM_2000" -6743,Karbala 1979,geodetic,"Fundamental point: Karbala. Latitude: 32°34'14.4941""N, longitude: 44°00'49.6379""E.",1979-01-01,7012,8901,3625,Geodetic survey.,National geodetic network established by Polservice consortium.,Various industry sources.,OGP,"2011/01/25",2009.003 2011.004,0,"D_Karbala_1979_Polservice" -6744,Nahrwan 1934,geodetic,"Fundamental point: Nahrwan south base. Latitude: 33°19'10.87""N, longitude: 44°43'25.54""E (of Greenwich).",1934-01-01,7012,8901,4238,Oil exploration and production.,"This adjustment later discovered to have a significant orientation error. In Iran replaced by FD58. In Iraq, replaced by Karbala 1979.",Various industry sources.,OGP,"2015/02/12",2008.045 2014.070,0,"D_Nahrwan_1934" -6745,"Rauenberg Datum/83",geodetic,"Fundamental point: Rauenberg. Latitude: 52°27'12.021""N, longitude: 13°22'04.928""E (of Greenwich). This station was destroyed in 1910 and the station at Potsdam substituted as the fundamental point.",1990-01-01,7004,8901,2545,"Geodetic survey, cadastre, topographic mapping, engineering survey.","RD/83 is the realisation of DHDN in Saxony. It is the resultant of applying a transformation derived at 106 points throughout former East Germany to Pulkovo 1942/83 points in Saxony.","BKG via EuroGeographics. http://crs.bkg.bund.de",OGP,"2008/06/24",2008.045,0,"D_Rauenberg_1983" -6746,"Potsdam Datum/83",geodetic,"Fundamental point: Rauenberg. Latitude: 52°27'12.021""N, longitude: 13°22'04.928""E (of Greenwich). This station was destroyed in 1910 and the station at Potsdam substituted as the fundamental point.",1990-01-01,7004,8901,2544,"Geodetic survey, cadastre, topographic mapping, engineering survey.","PD/83 is the realisation of DHDN in Thuringen. It is the resultant of applying a transformation derived at 13 points on the border between East and West Germany to Pulkovo 1942/83 points in Thuringen.","BKG via EuroGeographics. http://crs.bkg.bund.de",OGP,"2008/06/24",2008.045,0,"D_Potsdam_1983" -6747,Greenland 1996,geodetic,ITRF94 at epoch 1996.62,1996-08-14,7019,8901,1107,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaces Ammassalik 1958, Qornoq 1927 and Scoresbysund 1952.","Kort & Matrikelstyrelsen (KMS), Copenhagen.",IOGP,"2016/09/16",2006.770 2016.020,0,"D_Greenland_1996" -6748,Vanua Levu 1915,geodetic,"Latitude origin was obtained astronomically at station Numuiloa = 16°23'38.36""S, longitude origin was obtained astronomically at station Suva = 178°25'35.835""E.",1915-01-01,7055,8901,3401,"Geodetic survey, cadastre, topographic mapping, engineering survey.","For topographic mapping, replaced by Fiji 1956. For other purposes, replaced by Fiji 1986.","Clifford J. Mugnier in Photogrammetric Engineering and Remote Sensing, October 2000, www.asprs.org.",OGP,"2008/06/24",2008.045,0,"D_Vanua_Levu_1915" -6749,Reseau Geodesique de Nouvelle Caledonie 91-93,geodetic,ITRF90 at epoch 1989.0.,1989-01-01,7019,8901,1174,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"Service Topographique de la Nouvelle Caledonie, Direction des Infrastructures, de la Topografie et des Transports Terrestres. www.dittt.gouv.nc",OGP,"2006/08/18",2006.770,0,"D_Reseau_Geodesique_de_Nouvelle_Caledonie_1991-93" -6750,ST87 Ouvea,geodetic,Ouloup.,1987-01-01,7030,8901,2813,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,"Service Topographique de la Nouvelle Caledonie, Direction des Infrastructures, de la Topografie et des Transports Terrestres. www.dittt.gouv.nc",OGP,"2006/07/21",,0,"D_ST87_Ouvea" -6751,"Kertau (RSO)",geodetic,,1969-01-01,7056,8901,1309,Metrication of RSO grid.,Adopts metric conversion of 0.914398 metres per yard exactly. This is a truncation of the Sears 1922 ratio.,Defence Geographic Centre.,OGP,"2006/07/24",,0,"D_Kertau_RSO" -6752,Viti Levu 1912,geodetic,"Latitude origin was obtained astronomically at station Monavatu = 17°53'28.285""S, longitude origin was obtained astronomically at station Suva = 178°25'35.835""E.",1912-01-01,7055,8901,3195,"Geodetic survey, cadastre, topographic mapping, engineering survey.","For topographic mapping, replaced by Fiji 1956. For other purposes, replaced by Fiji 1986.","Clifford J. Mugnier in Photogrammetric Engineering and Remote Sensing, October 2000, www.asprs.org.",OGP,"2008/06/24",2008.045,0,"D_Viti_Levu_1912" -6753,fk89,geodetic,,1989-01-01,7022,8901,3248,Cadastre,Replaces FD54 for cadastre.,"Kort & Matrikelstyrelsen (KMS), Copenhagen.",OGP,"2006/08/04",,0,"D_fk89" -6754,Libyan Geodetic Datum 2006,geodetic,5 stations tied to ITRF2000 through 8 days of continuous observations in May 2006.,2006-05-19,7022,8901,1143,"Geodetic survey, topographic mapping, engineering survey.",Replaces ELD79.,Survey Department of Libya.,IOGP,"2016/09/16",2016.020,0,"D_Libyan_Geodetic_Datum_2006" -6755,Datum Geodesi Nasional 1995,geodetic,ITRF91at epoch 1992.0.,1995-01-01,7030,8901,1122,"Geodetic survey, topographic mapping, engineering survey.",Replaces ID74 and all older datums.,Bakosurtanal.,OGP,"2006/08/25",,0,"D_Datum_Geodesi_Nasional_1995" -6756,Vietnam 2000,geodetic,"Point N00, located in the premises of the Land Administration Research Institute, Hoang Quoc Viet Street, Hanoi.",2000-01-01,7030,8901,3328,"Geodetic survey, topographic mapping, engineering survey.",Replaces Hanoi 1972.,General Director of Land Administration.,OGP,"2011/01/25",2011.004,0,"D_Vietnam_2000" -6757,SVY21,geodetic,"Fundamental point: Base 7 at Pierce Resevoir. Latitude: 1°22'02.9154""N, longitude: 103°49'31.9752""E (of Greenwich).",2004-01-01,7030,8901,1210,Cadastre.,Replaces Kertau 1968 for cadastral purposes from August 2004.,Singapore Land Authority,OGP,"2008/06/24",2008.045,0,"D_SVY21" -6758,Jamaica 2001,geodetic,Aligned to WGS 84.,2001-01-01,7030,8901,1128,"Geodetic survey, cadastre, topographic mapping, hydrographic charting, engineering survey.",,National Land Agency.,OGP,"2007/01/19",,0,"D_Jamaica_2001" -6759,"NAD83 (National Spatial Reference System 2007)",geodetic,"Coordinates of 486 national continually operating reference system (CORS) and 195 collaborative GPS (CGPS) sites constrained to their CORS96 values, ITRF2000 at epoch 2002.0.",2007-01-01,7019,8901,1511,Geodetic survey.,"Replaced by NAD83 (National Spatial Reference System 2011), datum code 1116.","U.S. National Geodetic Survey, http://www.ngs.noaa.gov/",OGP,"2013/06/12",2013.022,0,"D_NAD_1983_NSRS2007" -6760,World Geodetic System 1966,geodetic,Developed from a worldwide distribution of terrestrial and geodetic satellite observations and defined through a set of station coordinates.,1966-01-01,7025,8901,1262,Geodesy.,"A worldwide 5° × 5° mean free air gravity anomaly field provided the basic data for producing the WGS 66 gravimetric geoid. Replaced by WGS 72.","US DMA/NIMA/NGA",OGP,"2007/03/25",,0,"D_WGS_1966" -6761,Croatian Terrestrial Reference System,geodetic,Densification of ETRS89 in Croatia at epoch 1995.55.,1995-07-20,7019,8901,1076,Geodesy.,Based on 78 control points with coordinates determined in ETRS89.,State Geodetic Administration of the Republic of Croatia.,IOGP,"2016/09/16",2016.020,0,"D_Croatian_Terrestrial_Reference_System" -6762,Bermuda 2000,geodetic,ITRF96 at epoch 2000.0.,2000-01-01,7030,8901,1047,"Topographic mapping, cadastral and engineering survey.",,Department of Lands Buildings and Surveys,OGP,"2007/12/12",,0,"D_Bermuda_2000" -6763,Pitcairn 2006,geodetic,"Fundamental point: Pitcairn Astro. Latitude: 25°04'06.7894""S, longitude: 130°06'46.6816""W (of Greenwich), derived by single point GPS oberservations.",2006-01-01,7030,8901,3208,"Cadastre, topographic mapping and engineering survey",Replaces Pitcairn 1967.,Pitcairn Island Government.,OGP,"2008/06/24",2008.045,0,"D_Pitcairn_2006" -6764,Ross Sea Region Geodetic Datum 2000,geodetic,Based on ITRF96 at epoch 2000.0,2000-01-01,7019,8901,3558,"Geodetic survey, topographic mapping.",,"Land Information New Zealand: LINZS25001 Standard for Ross Sea Region Geodetic Datum 2000; 16 November 2007.",OGP,"2008/04/04",,0,"D_Ross_Sea_Region_Geodetic_Datum_2000" -6765,Slovenia Geodetic Datum 1996,geodetic,"Densification of ETRS89, based on ITRS89 at epoch 1995.55.",1996-01-01,7019,8901,1212,"Geodetic survey, topographic mapping.",,Surveying and Mapping Authority of Slovenia,OGP,"2008/04/04",,0,"D_Slovenia_Geodetic_Datum_1996" -6801,"CH1903 (Bern)",geodetic,"Fundamental point: Old Bern observatory. Latitude: 46°57'08.660""N, longitude: 0°E (of Bern).",1903-01-01,7004,8907,1286,Topographic mapping.,,"Bundesamt für Landestopographie",OGP,"2008/06/24",2003.361 2008.045,0,"D_Bern_1898" -6802,"Bogota 1975 (Bogota)",geodetic,"Fundamental point: Bogota observatory. Latitude: 4°35'56.570""N, longitude: 0°E (of Bogota).",1975-01-01,7022,8904,3229,Topographic mapping.,,,OGP,"2008/06/24",2000.200 2003.361 2008.045,0,"D_Bogota" -6803,"Lisbon 1937 (Lisbon)",geodetic,"Fundamental point: Castelo Sao Jorge, Lisbon. Latitude: 38°42'43.631""N, longitude: 0°E (of Lisbon).",1937-01-01,7022,8902,1294,Topographic mapping.,"Replaces Lisbon 1890 adjustment (which used Bessel 1841 ellipsoid).","Instituto Geografico e Cadastral; Lisbon",OGP,"2008/06/24",2001.551 2008.045,0,"D_Lisbon" -6804,"Makassar (Jakarta)",geodetic,"Fundamental point: station P1, Moncongloe. Latitude 5°08'41.42""S, longitude 12°35'47.15""E (of Jakarta).",,7004,8908,1316,Topographic mapping.,,OGP,OGP,"2008/06/24",2003.361 2008.045,0,"D_Makassar" -6805,"Militar-Geographische Institut (Ferro)",geodetic,"Fundamental point: Hermannskogel. Latitude: 48°16'15.29""N, longitude: 33°57'41.06""E (of Ferro).",1901-01-01,7004,8909,1321,Geodetic survey.,Replaced by MGI in Austria and MGI 1901 in former Yugoslavia.,"Bundesamt fur Eich- und Vermessungswesen; Wien",OGP,"2009/06/02",2008.045 2009.015,0,"D_MGI" -6806,"Monte Mario (Rome)",geodetic,"Fundamental point: Monte Mario. Latitude: 41°55'25.51""N, longitude: 0°00' 00.00""E (of Rome).",,7022,8906,3343,Topographic mapping.,"Replaced Genova datum, Bessel 1841 ellipsoid, from 1940.",,OGP,"2008/06/24",2003.360 2008.045,0,"D_Monte_Mario" -6807,"Nouvelle Triangulation Francaise (Paris)",geodetic,"Fundamental point: Pantheon. Latitude: 54.273618g N, longitude: 0.0106921g E (of Paris).",1895-01-01,7011,8903,3694,Topographic mapping.,,,OGP,"2010/03/30",2003.361 2009.106,0,"D_NTF" -6808,"Padang 1884 (Jakarta)",geodetic,"Fundamental point: Padang",1884-01-01,7004,8908,1355,Topographic mapping.,,,OGP,"1995/06/02",,0,"D_Padang_1884" -6809,"Reseau National Belge 1950 (Brussels)",geodetic,"Fundamental point: Lommel (tower). Latitude: 51°13'47.334""N, longitude: 0°56'44.773""E (of Brussels).",1950-01-01,7022,8910,1347,Topographic mapping.,,,OGP,"2008/06/24",2008.045,0,"D_Belge_1950" -6810,"Tananarive 1925 (Paris)",geodetic,"Fundamental point: Tananarive observatory. Latitude: 21.0191667g S, longitude: 50.23849537g E (of Paris)",1925-01-01,7022,8903,3273,Topographic mapping.,,IGN Paris,OGP,"2003/12/31",2003.361,0,"D_Tananarive_1925" -6811,"Voirol 1875 (Paris)",geodetic,"Fundamental point: Voirol. Latitude: 40.83578 grads N, longitude: 0.78873 grads E (of Paris).",1875-01-01,7011,8903,1365,Topographic mapping.,,IGN Paris,OGP,"2004/01/07",2003.361,0,"D_Voirol_1875" -6813,"Batavia (Jakarta)",geodetic,"Fundamental point: Longitude at Batavia astronomical station. Latitude: 6°07'39.522""S, longitude: 0°00'00.0""E (of Jakarta). Latitude and azimuth at Genuk.",,7004,8908,1285,Topographic mapping.,,,OGP,"2008/06/24",2003.361 2008.045,0,"D_Batavia" -6814,"Stockholm 1938 (Stockholm)",geodetic,"Fundamental point: Stockholm observatory",1938-01-01,7004,8911,3313,"Geodetic survey, cadastre, topographic mapping, engineering survey.","Replaced by RT90 adjustment (datum code 6124)",,OGP,"1996/04/12",,0,"D_Stockholm_1938" -6815,"Greek (Athens)",geodetic,"Fundamental point: Athens Observatory. Latitude 37°58'20.132""N, longitude 0°E (of Athens).",,7004,8912,3254,Topographic mapping.,See geodetic datum alias 6404. Used as basis of topographic mapping based on Hatt projection.,"Topography Department; National Technical University of Athens",OGP,"2011/07/20",2008.045 2011.062,0,"D_Greek" -6816,"Carthage (Paris)",geodetic,"Fundamental point: Carthage. Latitude: 40.9464506g N, longitude: 8.8724368g E (of Paris).",1925-01-01,7011,8903,1618,Topographic mapping.,Fundamental point astronomic coordinates determined in 1878.,,OGP,"2004/01/15",2003.362 2003.050,0,"D_Carthage" -6817,"NGO 1948 (Oslo)",geodetic,"Fundamental point: Oslo observatory. Latitude: 59°54'43.7""N, longitude: 0°00'00.0""E (of Oslo).",1948-01-01,7005,8913,1352,"Geodetic survey, cadastre, topographic mapping, engineering survey.",,,OGP,"2008/06/24",2003.362 2008.045,0,"D_NGO_1948" -6818,"System Jednotne Trigonometricke Site Katastralni (Ferro)",geodetic,"Modification of Austrian MGI (Ferro) datum.",1920-01-01,7004,8909,1306,"Geodetic survey, cadastre, topographic mapping, engineering survey.","S-JTSK = System of the Unified Trigonometrical Cadastral Network.","Research Institute for Geodesy Topography and Cartography (VUGTK); Prague.",OGP,"2010/11/02",2001.260 2010.071,0,"D_S_JTSK" -6819,"Nord Sahara 1959 (Paris)",geodetic,"Coordinates of primary network readjusted on ED50 datum and then transformed conformally to Clarke 1880 (RGS) ellipsoid.",1959-01-01,7012,8903,1366,Topographic mapping.,,"""Le System Geodesique Nord-Sahara""; IGN Paris",OGP,"2000/06/23",,1,"D_Nord_Sahara_1959" -6820,"Gunung Segara (Jakarta)",geodetic,"Station P5 (Gunung Segara) 0°32'12.83""S, 117°08'48.47""E (of Greenwich). Longitude 8°20'20.68""E (of Jakarta).",,7004,8908,1360,Topographic mapping.,,,OGP,"2008/06/24",2008.045,0,"D_Gunung_Segara" -6821,"Voirol 1879 (Paris)",geodetic,"Fundamental point: Voirol. Latitude: 40.835864 grads N, longitude: 0.788735 grads E (of Paris).",1879-01-01,7011,8903,1365,Topographic mapping.,"Replaces Voirol 1875 (Paris) (code 6811).",IGN Paris,OGP,"2004/01/07",,0,"D_Voirol_1879" -6896,International Terrestrial Reference Frame 2005,geodetic,"Origin at geocentre, originally orientated to the BIH Terrestrial System at epoch 1984.0 then adjusted to ensure zero net rotation to earth's overall tectonic motion. Defined by time series of Cartesian station coordinates for epoch 2000.0.",2000-01-01,7019,8901,1262,Geodesy.,"Realisation of the IERS Terrestrial Reference System (ITRS) from September 2007. Replaces ITRF2000 (code 6656). Replaced by ITRF2008 (datum code 1061).","Journal for Geophysical Research (JGR) vol 112, September 2007. Also at IGN Paris http://itrf.ensg.ign.fr/itrs_itrf.php",OGP,"2015/01/04",2011.002 2014.092,0, -6901,"Ancienne Triangulation Francaise (Paris)",geodetic,,,7027,8914,1326,Topographic mapping.,"Uses the RGS value for the Paris meridian. In Alsace, data suspected to be transformation of German network into ATF. Replaced by Nouvelle Triangulation Francaise (Paris) (code 6807) which uses the 1936 IGN value for the Paris meridian.",,OGP,"2007/11/01",2007.083,0,"D_ATF" -6902,"Nord de Guerre (Paris)",geodetic,,,7027,8903,1369,Topographic mapping.,,,OGP,"1995/06/02",,1,"D_Nord_de_Guerre" -6903,"Madrid 1870 (Madrid)",geodetic,"Fundamental point: Madrid observatory.",1870-01-01,7028,8905,2366,Topographic mapping.,,"Institut de Geomatica; Barcelona",OGP,"1998/11/11",,0,"D_Madrid_1870" -6904,"Lisbon 1890 (Lisbon)",geodetic,"Fundamental point: Castelo Sao Jorge, Lisbon. Latitude: 38°42'43.631""N, longitude: 0°E (of Lisbon).",1937-01-01,7004,8902,1294,Topographic mapping.,"Replaced by Lisbon 1937 adjustment (which uses International 1924 ellipsoid).","Instituto Geografico e Cadastral Lisbon http://www.igeo.pt",OGP,"2008/06/24",2003.232 2008.045,0,"D_Lisbon_1890" -9300,Astra Minas,engineering,"Origin at 45°59'54.79""S, 67°34'38.94""W (of Greenwich).",,,,1265,Oil industry mapping.,,,OGP,"2008/06/24",2008.045,0, -9301,Barcelona,engineering,"Centre of the gateway of San Cristobal chuch; Plaza Boyaca; Barcelona.",,,,1266,Oil industry mapping.,"Coordinates variously given as 10°08'06""N 64°41'17""W and 10°08'06""N 64°41'07.5""W. It is not clear whether there should be two local datums.","Ministry of Mines standards manual, 1974.",OGP,"2008/06/24",2008.045,0, -9302,Maturin,engineering,"Concrete post PR-1 in Plaza Bolivar; Maturin. 9°44'55""N, 63°10'40""W (of Greenwich).",,,,1320,Oil industry mapping.,,"Ministry of Mines standards manual, 1974.",OGP,"2008/06/24",2008.045,0, -9303,Maracaibo Cross,engineering,"Cruz Canada Morillo in Maracaibo; 10°38'32.328""N, 71°37'12.12""W Loma Quintana datum.",,,,1319,Oil industry mapping.,,"Ministry of Mines standards manual, 1974.",OGP,"2008/06/24",2008.045,0, -9304,La Rosa,engineering,"Monument in La Rosa; 10°22'40.417""N, 71°26'59.488""W Loma Quintana datum.",,,,1311,Oil industry mapping.,,"Ministry of Mines standards manual, 1974.",OGP,"2008/06/24",2008.045,0, -9305,Mene Grande,engineering,"Monument in Santa Barbara; Mene Grande. 9°52'25.488""N, 70°54'35.310""W (of Greenwich).",,,,1270,Oil industry mapping.,,"Ministry of Mines standards manual, 1974.",OGP,"2008/06/24",2008.045,0, -9306,El Cubo,engineering,"8°44'17.258""N, 72°30'09.01""W (of Greenwich).",,,,1269,Oil industry mapping.,,"Ministry of Mines standards manual, 1974.",OGP,"2008/06/24",2008.045,0, -9307,Dabajuro,engineering,"Church tower at Dabajuro; 11°01'19""N, 70°40'40""W (of Greenwich).",,,,1268,Oil industry mapping.,,"Ministry of Mines standards manual, 1974.",OGP,"2008/06/24",2008.045,0, -9308,Tucupita,engineering,"Centre of Plaza Bolivar; Tucupita; 9°03'32""N, 62°03'07.6""W (of Greenwich).",,,,1370,Oil industry mapping.,,"Ministry of Mines standards manual, 1974.",OGP,"2008/06/24",2008.045,0, -9309,El Mene,engineering,"10°04'49.1""N, 71°02'10""W (of Greenwich).",,,,1270,Oil industry mapping.,,"Ministry of Mines standards manual, 1974.",OGP,"2008/06/24",2008.045,0, -9310,Santa Maria de Ipire,engineering,"Concrete post PR-1 in Plaza Bolivar; Santa Maria de Ipire; 8°40'06""N, 65°19'09""W (of Greenwich).",,,,1371,Oil industry mapping.,,"Ministry of Mines standards manual, 1974.",OGP,"2008/06/24",2008.045,0, -9311,Barinas west base,engineering,Concrete pillar.,,,,1267,Oil industry mapping.,,"Ministry of Mines standards manual, 1974.",OGP,"2000/06/10",,0, -9312,EPSG example X,engineering,"Bin grid I=J=1 at WGS 84 / UTM zone 31N 456781E 5836723N.",,,,1263,Example only.,"Example only!","Bin grid orientation = 20 degrees grid. Bin width I=25m, J=12.5m. Bin increment I=1, J=1. Scale factor at origin 0.99984. - -Example only!",OGP,"2000/06/23",,1, -9313,EPSG example Platform Y,engineering,Conductor slot A1.,,,,1263,Example only.,Example only,OGP,OGP,"2000/06/23",,0, -9314,Tombak LNG plant,engineering,"Plant grid coordinates of x=20000m, y=10000m at Nakhl-e Ghanem / UTM zone 39 coordinates 618336.784E, 3067774.21N. Plant grid x orientated at UTM grid bearing of 45 deg., plant grid y orientated at UTM grid bearing of 315 deg.",,,,2362,Engineering survey.,,Total,OGP,"2005/08/18",,0, -9315,Seismic bin grid datum,engineering,"The datum for a seismic bin grid is the geodetic datum inherited from the projected and/or geographic CRS upon which the bin grid is based.",,,,1263,Any seismic bin grid.,,OGP,OGP,"2012/07/31",2011.106,0, diff --git a/bin/gdal_data/gdalicon.png b/bin/gdal_data/gdalicon.png deleted file mode 100644 index 8e7731d8..00000000 Binary files a/bin/gdal_data/gdalicon.png and /dev/null differ diff --git a/bin/gdal_data/gdalvrt.xsd b/bin/gdal_data/gdalvrt.xsd deleted file mode 100644 index 6b135415..00000000 --- a/bin/gdal_data/gdalvrt.xsd +++ /dev/null @@ -1,439 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/gdal_data/geoccs.csv b/bin/gdal_data/geoccs.csv deleted file mode 100644 index 4cba07b9..00000000 --- a/bin/gdal_data/geoccs.csv +++ /dev/null @@ -1,164 +0,0 @@ -"COORD_REF_SYS_CODE","COORD_REF_SYS_NAME","DATUM_CODE","DATUM_NAME","GREENWICH_DATUM","UOM_CODE","ELLIPSOID_CODE","PRIME_MERIDIAN_CODE","SHOW_CRS","DEPRECATED","COORD_SYS_CODE" -3822,TWD97,1026,Taiwan Datum 1997,1026,9001,7019,8901,1,0,6500 -3887,IGRS,1029,Iraqi Geospatial Reference System,1029,9001,7019,8901,1,0,6500 -4000,MOLDREF99,1032,MOLDREF99,1032,9001,7019,8901,1,0,6500 -4039,RGRDC 2005,1033,Reseau Geodesique de la RDC 2005,1033,9001,7019,8901,1,0,6500 -4073,SREF98,1034,Serbian Reference Network 1998,1034,9001,7019,8901,1,0,6500 -4079,REGCAN95,1035,Red Geodesica de Canarias 1995,1035,9001,7019,8901,1,0,6500 -4328,"WGS 84 (geocentric)",6326,World Geodetic System 1984,6326,9001,7030,8901,1,1,6500 -4330,"ITRF88 (geocentric)",6647,International Terrestrial Reference Frame 1988,6647,9001,7019,8901,1,1,6500 -4331,"ITRF89 (geocentric)",6648,International Terrestrial Reference Frame 1989,6648,9001,7019,8901,1,1,6500 -4332,"ITRF90 (geocentric)",6649,International Terrestrial Reference Frame 1990,6649,9001,7019,8901,1,1,6500 -4333,"ITRF91 (geocentric)",6650,International Terrestrial Reference Frame 1991,6650,9001,7019,8901,1,1,6500 -4334,"ITRF92 (geocentric)",6651,International Terrestrial Reference Frame 1992,6651,9001,7019,8901,1,1,6500 -4335,"ITRF93 (geocentric)",6652,International Terrestrial Reference Frame 1993,6652,9001,7019,8901,1,1,6500 -4336,"ITRF94 (geocentric)",6653,International Terrestrial Reference Frame 1994,6653,9001,7019,8901,1,1,6500 -4337,"ITRF96 (geocentric)",6654,International Terrestrial Reference Frame 1996,6654,9001,7019,8901,1,1,6500 -4338,"ITRF97 (geocentric)",6655,International Terrestrial Reference Frame 1997,6655,9001,7019,8901,1,1,6500 -4340,"Australian Antarctic (geocentric)",6176,Australian Antarctic Datum 1998,6176,9001,7019,8901,1,1,6500 -4342,"EST97 (geocentric)",6180,Estonia 1997,6180,9001,7019,8901,1,1,6500 -4344,"CHTRF95 (geocentric)",6151,Swiss Terrestrial Reference Frame 1995,6151,9001,7019,8901,1,1,6500 -4346,"ETRS89 (geocentric)",6258,European Terrestrial Reference System 1989,6258,9001,7019,8901,1,1,6500 -4348,"GDA94 (geocentric)",6283,Geocentric Datum of Australia 1994,6283,9001,7019,8901,1,1,6500 -4350,"Hartebeesthoek94 (geocentric)",6148,Hartebeesthoek94,6148,9001,7030,8901,1,1,6500 -4352,"IRENET95 (geocentric)",6173,IRENET95,6173,9001,7019,8901,1,1,6500 -4354,"JGD2000 (geocentric)",6612,Japanese Geodetic Datum 2000,6612,9001,7019,8901,1,1,6500 -4356,"LKS94 (ETRS89) (geocentric)",6126,"Lithuania 1994 (ETRS89)",6126,9001,7019,8901,1,1,6500 -4358,"Moznet (geocentric)",6130,"Moznet (ITRF94)",6130,9001,7030,8901,1,1,6500 -4360,"NAD83(CSRS) (geocentric)",6140,NAD83 Canadian Spatial Reference System,6140,9001,7019,8901,1,1,6500 -4362,"NAD83(HARN) (geocentric)",6152,"NAD83 (High Accuracy Reference Network)",6152,9001,7019,8901,1,1,6500 -4364,"NZGD2000 (geocentric)",6167,New Zealand Geodetic Datum 2000,6167,9001,7019,8901,1,1,6500 -4366,"POSGAR 98 (geocentric)",6190,Posiciones Geodesicas Argentinas 1998,6190,9001,7019,8901,1,1,6500 -4368,"REGVEN (geocentric)",6189,Red Geodesica Venezolana,6189,9001,7019,8901,1,1,6500 -4370,"RGF93 (geocentric)",6171,Reseau Geodesique Francais 1993,6171,9001,7019,8901,1,1,6500 -4372,"RGFG95 (geocentric)",6624,Reseau Geodesique Francais Guyane 1995,6624,9001,7019,8901,1,1,6500 -4374,"RGR92 (geocentric)",6627,Reseau Geodesique de la Reunion 1992,6627,9001,7019,8901,1,1,6500 -4376,"SIRGAS (geocentric)",6170,Sistema de Referencia Geocentrico para America del Sur 1995,6170,9001,7019,8901,1,1,6500 -4378,"SWEREF99 (geocentric)",6619,SWEREF99,6619,9001,7019,8901,1,1,6500 -4380,"Yemen NGN96 (geocentric)",6163,Yemen National Geodetic Network 1996,6163,9001,7030,8901,1,1,6500 -4382,"RGNC 1991 (geocentric)",6645,Reseau Geodesique Nouvelle Caledonie 1991,6645,9001,7022,8901,1,1,6500 -4384,"RRAF 1991 (geocentric)",6640,Reseau de Reference des Antilles Francaises 1991,6640,9001,7030,8901,1,1,6500 -4385,"ITRF2000 (geocentric)",6656,International Terrestrial Reference Frame 2000,6656,9001,7019,8901,1,1,6500 -4387,"ISN93 (geocentric)",6659,Islands Net 1993,6659,9001,7019,8901,1,1,6500 -4389,"LKS92 (geocentric)",6661,Latvia 1992,6661,9001,7019,8901,1,1,6500 -4465,RGSPM06,1038,Reseau Geodesique de Saint Pierre et Miquelon 2006,1038,9001,7019,8901,1,0,6500 -4468,RGM04,1036,Reseau Geodesique de Mayotte 2004,1036,9001,7019,8901,1,0,6500 -4473,Cadastre 1997,1037,Cadastre 1997,1037,9001,7022,8901,1,0,6500 -4479,China Geodetic Coordinate System 2000,1043,China 2000,1043,9001,1024,8901,1,0,6500 -4481,Mexico ITRF92,1042,Mexico ITRF92,1042,9001,7019,8901,1,0,6500 -4556,RRAF 1991,1047,Reseau de Reference des Antilles Francaises 1991,1047,9001,7019,8901,1,0,6500 -4882,Slovenia 1996,6765,Slovenia Geodetic Datum 1996,6765,9001,7019,8901,1,0,6500 -4884,RSRGD2000,6764,Ross Sea Region Geodetic Datum 2000,6764,9001,7019,8901,1,0,6500 -4886,BDA2000,6762,Bermuda 2000,6762,9001,7030,8901,1,0,6500 -4888,HTRS96,6761,Croatian Terrestrial Reference System,6761,9001,7019,8901,1,0,6500 -4890,WGS 66,6760,World Geodetic System 1966,6760,9001,7025,8901,1,0,6500 -4892,"NAD83(NSRS2007)",6759,"NAD83 (National Spatial Reference System 2007)",6759,9001,7019,8901,1,0,6500 -4894,JAD2001,6758,Jamaica 2001,6758,9001,7030,8901,1,0,6500 -4896,ITRF2005,6896,International Terrestrial Reference Frame 2005,6896,9001,7019,8901,1,0,6500 -4897,DGN95,6755,Datum Geodesi Nasional 1995,6755,9001,7030,8901,1,0,6500 -4899,LGD2006,6754,Libyan Geodetic Datum 2006,6754,9001,7022,8901,1,0,6500 -4906,RGNC91-93,6749,Reseau Geodesique de Nouvelle Caledonie 91-93,6749,9001,7019,8901,1,0,6500 -4908,GR96,6747,Greenland 1996,6747,9001,7019,8901,1,0,6500 -4910,ITRF88,6647,International Terrestrial Reference Frame 1988,6647,9001,7019,8901,1,0,6500 -4911,ITRF89,6648,International Terrestrial Reference Frame 1989,6648,9001,7019,8901,1,0,6500 -4912,ITRF90,6649,International Terrestrial Reference Frame 1990,6649,9001,7019,8901,1,0,6500 -4913,ITRF91,6650,International Terrestrial Reference Frame 1991,6650,9001,7019,8901,1,0,6500 -4914,ITRF92,6651,International Terrestrial Reference Frame 1992,6651,9001,7019,8901,1,0,6500 -4915,ITRF93,6652,International Terrestrial Reference Frame 1993,6652,9001,7019,8901,1,0,6500 -4916,ITRF94,6653,International Terrestrial Reference Frame 1994,6653,9001,7019,8901,1,0,6500 -4917,ITRF96,6654,International Terrestrial Reference Frame 1996,6654,9001,7019,8901,1,0,6500 -4918,ITRF97,6655,International Terrestrial Reference Frame 1997,6655,9001,7019,8901,1,0,6500 -4919,ITRF2000,6656,International Terrestrial Reference Frame 2000,6656,9001,7019,8901,1,0,6500 -4920,GDM2000,6742,Geodetic Datum of Malaysia 2000,6742,9001,7019,8901,1,0,6500 -4922,PZ-90,6740,Parametry Zemli 1990,6740,9001,7054,8901,1,0,6500 -4924,Mauritania 1999,6702,Mauritania 1999,6702,9001,7019,8901,1,0,6500 -4926,Korea 2000,6737,Geocentric datum of Korea,6737,9001,7019,8901,1,0,6500 -4928,POSGAR 94,6694,Posiciones Geodesicas Argentinas 1994,6694,9001,7030,8901,1,0,6500 -4930,Australian Antarctic,6176,Australian Antarctic Datum 1998,6176,9001,7019,8901,1,0,6500 -4932,CHTRF95,6151,Swiss Terrestrial Reference Frame 1995,6151,9001,7019,8901,1,0,6500 -4934,EST97,6180,Estonia 1997,6180,9001,7019,8901,1,0,6500 -4936,ETRS89,6258,European Terrestrial Reference System 1989,6258,9001,7019,8901,1,0,6500 -4938,GDA94,6283,Geocentric Datum of Australia 1994,6283,9001,7019,8901,1,0,6500 -4940,Hartebeesthoek94,6148,Hartebeesthoek94,6148,9001,7030,8901,1,0,6500 -4942,IRENET95,6173,IRENET95,6173,9001,7019,8901,1,0,6500 -4944,ISN93,6659,Islands Net 1993,6659,9001,7019,8901,1,0,6500 -4946,JGD2000,6612,Japanese Geodetic Datum 2000,6612,9001,7019,8901,1,0,6500 -4948,LKS92,6661,Latvia 1992,6661,9001,7019,8901,1,0,6500 -4950,LKS94,6126,"Lithuania 1994 (ETRS89)",6126,9001,7019,8901,1,0,6500 -4952,Moznet,6130,"Moznet (ITRF94)",6130,9001,7030,8901,1,0,6500 -4954,"NAD83(CSRS)",6140,NAD83 Canadian Spatial Reference System,6140,9001,7019,8901,1,0,6500 -4956,"NAD83(HARN)",6152,"NAD83 (High Accuracy Reference Network)",6152,9001,7019,8901,1,0,6500 -4958,NZGD2000,6167,New Zealand Geodetic Datum 2000,6167,9001,7019,8901,1,0,6500 -4960,POSGAR 98,6190,Posiciones Geodesicas Argentinas 1998,6190,9001,7019,8901,1,0,6500 -4962,REGVEN,6189,Red Geodesica Venezolana,6189,9001,7019,8901,1,0,6500 -4964,RGF93,6171,Reseau Geodesique Francais 1993,6171,9001,7019,8901,1,0,6500 -4966,RGFG95,6624,Reseau Geodesique Francais Guyane 1995,6624,9001,7019,8901,1,0,6500 -4968,RGNC 1991,6645,Reseau Geodesique Nouvelle Caledonie 1991,6645,9001,7022,8901,1,1,6500 -4970,RGR92,6627,Reseau Geodesique de la Reunion 1992,6627,9001,7019,8901,1,0,6500 -4972,RRAF 1991,6640,Reseau de Reference des Antilles Francaises 1991,6640,9001,7030,8901,1,1,6500 -4974,SIRGAS 1995,6170,Sistema de Referencia Geocentrico para America del Sur 1995,6170,9001,7019,8901,1,0,6500 -4976,SWEREF99,6619,SWEREF99,6619,9001,7019,8901,1,0,6500 -4978,WGS 84,6326,World Geodetic System 1984,6326,9001,7030,8901,1,0,6500 -4980,Yemen NGN96,6163,Yemen National Geodetic Network 1996,6163,9001,7030,8901,1,0,6500 -4982,IGM95,6670,Istituto Geografico Militaire 1995,6670,9001,7030,8901,1,0,6500 -4984,WGS 72,6322,World Geodetic System 1972,6322,9001,7043,8901,1,0,6500 -4986,WGS 72BE,6324,WGS 72 Transit Broadcast Ephemeris,6324,9001,7043,8901,1,0,6500 -4988,SIRGAS 2000,6674,Sistema de Referencia Geocentrico para las AmericaS 2000,6674,9001,7019,8901,1,0,6500 -4990,Lao 1993,6677,Lao 1993,6677,9001,7024,8901,1,0,6500 -4992,Lao 1997,6678,Lao National Datum 1997,6678,9001,7024,8901,1,0,6500 -4994,PRS92,6683,Philippine Reference System 1992,6683,9001,7008,8901,1,0,6500 -4996,MAGNA-SIRGAS,6686,Marco Geocentrico Nacional de Referencia,6686,9001,7019,8901,1,0,6500 -4998,RGPF,6687,Reseau Geodesique de la Polynesie Francaise,6687,9001,7019,8901,1,0,6500 -5011,PTRA08,1041,Autonomous Regions of Portugal 2008,1041,9001,7019,8901,1,0,6500 -5244,GDBD2009,1056,Geocentric Datum Brunei Darussalam 2009,1056,9001,7019,8901,1,0,6500 -5250,TUREF,1057,Turkish National Reference Frame,1057,9001,7019,8901,1,0,6500 -5262,DRUKREF 03,1058,Bhutan National Geodetic Datum,1058,9001,7019,8901,1,0,6500 -5322,ISN2004,1060,Islands Net 2004,1060,9001,7019,8901,1,0,6500 -5332,ITRF2008,1061,International Terrestrial Reference Frame 2008,1061,9001,7019,8901,1,0,6500 -5341,POSGAR 2007,1062,Posiciones Geodesicas Argentinas 2007,1062,9001,7019,8901,1,0,6500 -5352,MARGEN,1063,Marco Geodesico Nacional de Bolivia,1063,9001,7019,8901,1,0,6500 -5358,SIRGAS-Chile,1064,SIRGAS-Chile,1064,9001,7019,8901,1,0,6500 -5363,CR05,1065,Costa Rica 2005,1065,9001,7030,8901,1,0,6500 -5368,MACARIO SOLIS,1066,Sistema Geodesico Nacional de Panama MACARIO SOLIS,1066,9001,7019,8901,1,0,6500 -5369,Peru96,1067,Peru96,1067,9001,7019,8901,1,0,6500 -5379,SIRGAS-ROU98,1068,SIRGAS-ROU98,1068,9001,7030,8901,1,0,6500 -5391,"SIRGAS_ES2007.8",1069,"SIRGAS_ES2007.8",1069,9001,7019,8901,1,0,6500 -5487,RGAF09,1073,Reseau Geodesique des Antilles Francaises 2009,1073,9001,7019,8901,1,0,6500 -5544,PNG94,1076,Papua New Guinea Geodetic Datum 1994,1076,9001,7019,8901,1,0,6500 -5558,UCS-2000,1077,Ukraine 2000,1077,9001,7024,8901,1,0,6500 -5591,FEH2010,1078,Fehmarnbelt Datum 2010,1078,9001,7019,8901,1,0,6500 -5828,"DB_REF",1081,Deutsche Bahn Reference System,1081,9001,7004,8901,1,0,6500 -5884,TGD2005,1095,Tonga Geodetic Datum 2005,1095,9001,7019,8901,1,0,6500 -6133,CIGD11,1100,Cayman Islands Geodetic Datum 2011,1100,9001,7019,8901,1,0,6500 -6309,CGRS93,1112,Cyprus Geodetic Reference System 1993,1112,9001,7030,8901,1,0,6500 -6317,"NAD83(2011)",1116,"NAD83 (National Spatial Reference System 2011)",1116,9001,7019,8901,1,0,6500 -6320,"NAD83(PA11)",1117,"NAD83 (National Spatial Reference System PA11)",1117,9001,7019,8901,1,0,6500 -6323,"NAD83(MA11)",1118,"NAD83 (National Spatial Reference System MA11)",1118,9001,7019,8901,1,0,6500 -6363,Mexico ITRF2008,1120,Mexico ITRF2008,1120,9001,7019,8901,1,0,6500 -6666,JGD2011,1128,Japanese Geodetic Datum 2011,1128,9001,7019,8901,1,0,6500 -6704,RDN2008,1132,Rete Dinamica Nazionale 2008,1132,9001,7019,8901,1,0,6500 -6781,"NAD83(CORS96)",1133,"NAD83 (Continuously Operating Reference Station 1996)",1133,9001,7019,8901,1,0,6500 -6934,IGS08,1141,IGS08,1141,9001,7019,8901,1,0,6500 -6978,IGD05,1143,Israeli Geodetic Datum 2005,1143,9001,7019,8901,1,1,6500 -6981,IG05 Intermediate CRS,1142,IG05 Intermediate Datum,1142,9001,7019,8901,1,0,6500 -6985,"IGD05/12",1145,"Israeli Geodetic Datum 2005(2012)",1145,9001,7019,8901,1,1,6500 -6988,"IG05/12 Intermediate CRS",1144,"IG05/12 Intermediate Datum",1144,9001,7019,8901,1,0,6500 -7071,RGTAAF07,1113,Reseau Geodesique des Terres Australes et Antarctiques Francaises 2007,1113,9001,7019,8901,1,0,6500 -7134,IGD05,1114,Israeli Geodetic Datum 2005,1114,9001,7030,8901,1,0,6500 -7137,"IGD05/12",1115,"Israeli Geodetic Datum 2005(2012)",1115,9001,7030,8901,1,0,6500 -7371,ONGD14,1147,Oman National Geodetic Datum 2014,1147,9001,7019,8901,1,0,6500 -7656,"WGS 84 (G730)",1152,"World Geodetic System 1984 (G730)",1152,9001,7030,8901,1,0,6500 -7658,"WGS 84 (G873)",1153,"World Geodetic System 1984 (G873)",1153,9001,7030,8901,1,0,6500 -7660,"WGS 84 (G1150)",1154,"World Geodetic System 1984 (G1150)",1154,9001,7030,8901,1,0,6500 -7662,"WGS 84 (G1674)",1155,"World Geodetic System 1984 (G1674)",1155,9001,7030,8901,1,0,6500 -7664,"WGS 84 (G1762)",1156,"World Geodetic System 1984 (G1762)",1156,9001,7030,8901,1,0,6500 -7677,PZ-90.02,1157,Parametry Zemli 1990.02,1157,9001,7054,8901,1,0,6500 -7679,PZ-90.11,1158,Parametry Zemli 1990.11,1158,9001,7054,8901,1,0,6500 -7681,GSK-2011,1159,Geodezicheskaya Sistema Koordinat 2011,1159,9001,1025,8901,1,0,6500 -7684,Kyrg-06,1160,Kyrgyzstan Geodetic Datum 2006,1160,9001,7019,8901,1,0,6500 -7789,ITRF2014,1165,International Terrestrial Reference Frame 2014,1165,9001,7019,8901,1,0,6500 -7796,BGS2005,1167,Bulgaria Geodetic System 2005,1167,9001,7019,8901,1,0,6500 -7815,"WGS 84 (Transit)",1166,"World Geodetic System 1984 (Transit)",1166,9001,7030,8901,1,0,6500 -7842,GDA2020,1168,Geocentric Datum of Australia 2020,1168,9001,7019,8901,1,0,6500 -7879,St. Helena Tritan,1173,St. Helena Tritan,1173,9001,7030,8901,1,0,6500 -7884,SHGD2015,1174,St. Helena Geodetic Datum 2015,1174,9001,7019,8901,1,0,6500 diff --git a/bin/gdal_data/gml_registry.xml b/bin/gdal_data/gml_registry.xml deleted file mode 100644 index 831a32d3..00000000 --- a/bin/gdal_data/gml_registry.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/gdal_data/gmlasconf.xml b/bin/gdal_data/gmlasconf.xml deleted file mode 100644 index 01ba5f09..00000000 --- a/bin/gdal_data/gmlasconf.xml +++ /dev/null @@ -1,168 +0,0 @@ - - - - - true - - - - - true - false - - - false - - false - - false - false - false - true - false - - false - true - - - 60 - - true - - true - - - 10 - - - - - - - - swe:values - - - - - - - ifSWENamespaceFoundInTopElement - true - true - - - - - - - - - - - gwml2w:GW_GeologyLog/om:result - - gwml2w:GW_GeologyLogCoverage - - - - - - 10 - - 1048576 - - - - true - RawContent - 1 - false - - - - - - true - - - - - - gml:boundedBy - gml32:boundedBy - gml:priorityLocation - gml32:priorityLocation - gml32:descriptionReference/@owns - @xlink:show - @xlink:type - @xlink:role - @xlink:arcrole - @xlink:actuate - @gml:remoteSchema - @gml32:remoteSchema - swe:Quantity/swe:extension - swe:Quantity/@referenceFrame - swe:Quantity/@axisID - swe:Quantity/@updatable - swe:Quantity/@optional - swe:Quantity/@id - swe:Quantity/swe:identifier - - swe:Quantity/swe:label - swe:Quantity/swe:nilValues - swe:Quantity/swe:constraint - swe:Quantity/swe:quality - - - - - 2 - - NATIVE - OGC_URL - WFS2_FEATURECOLLECTION - - http://schemas.opengis.net/wfs/2.0/wfs.xsd - - - diff --git a/bin/gdal_data/gmlasconf.xsd b/bin/gdal_data/gmlasconf.xsd deleted file mode 100644 index ef3122b2..00000000 --- a/bin/gdal_data/gmlasconf.xsd +++ /dev/null @@ -1,1051 +0,0 @@ - - - - - - - Configuration of GMLAS driver. - - - - - - - - - Whether downloading remote schemas is allowed. Default is true. - - - - - - - Describe working of schema cache. - - - - - - - - Name of the cache directory. If not specified, this - defaults to $HOME/.gdal/gmlas_xsd_cache. - Ignored if 'enabled' is not true. - - - - - - - - Whether the cache is enabled. Default is true. - - - - - - - - - - Describe option that affect the Xerces schema parser. - - - - - - - - Whether to enable full schema constraint checking, including checking - which may be time-consuming or memory intensive. Currently, - particle unique attribution constraint checking and particle - derivation restriction checking are controlled by this option. - Defaults to true. - - - - - - - Whether to allow multiple schemas with the same namespace - to be imported. - Defaults to false. - - - - - - - - - - - Describe if and how validation of the document against the - schema is done. - - - - - - - - Whether a validation error should prevent dataset - opening. - Ignored if 'enabled' is not true. - Default is false. - - - - - - - - Whether validation is enabled. Default is false. - - - - - - - - - Whether the _ogr_layers_metadata, _ogr_fields_metadata and - _ogr_layer_relationships layers that show how OGR layers and - fields are built from the schemas should be exposed as - available layers. - Default is false. - - - - - - - - Tunable rules that affect how layers and fields are built from - the schema. - - - - - - - - - Whether a 'ogr_pkid' attribute should always be generated, - even if the underlying XML element has a required attribute - of type ID. Turning it to true can be useful if the - uniqueness of such attributes is not trused. - Default is false. - - - - - - - - Whether to remove any OGR layer without any feature, during the - initial scan pass. - Default is false. - - - - - - - - Whether to remove any unused OGR field, during the - initial scan pass. - Default is false. - - - - - - - - Whether OGR array types (StringList, IntegerList, - Integer64List and RealList) can be used to store - repeated values of the corresponding base types. - Default is true. - - - - - - - - Whether xsi:nil="true" should be mapped from/to the OGR - null field state (new in GDAL 2.2). If set to false, then - a XXX_nil field will be added when necessary. If set to true, - then unset and null states are used (but this is not very - convenient when converting to SQL databases where both states - are equivalent). - Default is false. - - - - - - - - Settings specific to documents that import the GML namespace. - - - - - - - - Whether the XML description of a GML geometry should - be stored in a string attribute (whose name is the - element name suffixed by _xml). This is in addition - to storing the geometry as a OGR geometry. - Default is false. - - - - - - - Whether, when dealing with schemas that import the - GML namespace, and that at least one of them has - elements that derive from gml:_Feature or - gml:AbstractFeatureonly, only such elements should be - instantiated as OGR layers, during the first pass that - iterates over top level elements of the imported - schemas. - Note: for technical reasons, other elements may end - up being exposed as OGR layers, but this setting - is a first way of limiting the number of OGR layers. - Default is true. - - - - - - - - - - - Maximum size of layer and field identifiers. If identifiers - are naturally bigger than the limit, a logic truncates - them while ensuring their unicity. - When absent, unlimited size. - - - - - - - - - - - - - Whether layer and field names should be consider equal in a - case insensitive way. This is important for conversion to - Postgres when identifiers are laundered in lower case - Default is true. - - - - - - - - Whether layer and field names should be laundered like the - OGR PostgreSQL driver does by default, ie identifiers put - in lower cases and a few special characters( single quote, - dash, sharp) replaced by underscore. This can help to post- - process the _ogr_layer_relationships layers more easily or, - for write support. - Note: this laundering is safe for other backends as well. - Default is true. - - - - - - - - - - - Maximum number of fields in an element considered - for flattening. - Default is 10. - - - - - - - - XPath of element that will be considered for flattening - even if it has more than MaximumNumberOfFields fields, - or if it is referenced several times by other elements. - Note: other constraints might make it impossible to - flatten it, for example if it has repeated elements. - - - - - - - XPath of element that will NOT be considered for flattening - even if it has less or MaximumNumberOfFields fields. - - - - - - - - - - - Configuration of special processing for elements in - the http://www.opengis.net/swe/2.0 namespace. - - - - - - - - If and how SWE processing is enabled. - Default is ifSWENamespaceFoundInTopElement. - - - - - - - - If the http://www.opengis.net/swe/2.0 - namespace is found, SWE special - processing will be enabled. - - - - - - - - - - - - If swe:DataRecord must be parsed. Default is true. - - - - - - - If swe:DataArray and swe:DataStream must be parsed. - Default is true. - - - - - - - - - - - - - - - - Constraints to specify the types of children of elements of - type xs:anyType. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Rules regarding resolution of xlink:href attributes - - - - - - - - - Timeout in seconds for resolving a HTTP resource. - Default: no timeout or value of GDAL_HTTP_TIMEOUT - configuration option. - - - - - - - - Maximum allowed time for resolving all XLinks in a single - document. - Default: none - - - - - - - - Maximum file size allowed. - Default: 1 MB. - - - - - - - - - - - Name and port of proxy server (server:port syntax) - Default: none or value of GDAL_HTTP_PROXY - configuration option. - - - - - - - - User name and password to use for proxy server - (username:password syntax) - Default: none or value of GDAL_HTTP_PROXYUSERPW - configuration option. - - - - - - - - Proxy authentification method: one of Basic, NTLM, Digest - or Any. - Default: none or value of GDAL_PROXY_AUTH - configuration option. - - - - - - - - Name of the cache directory for resolved documents. - If not specified, this defaults to $HOME/.gdal/gmlas_xlink_resolution_cache. - The cache is only used if enabled in DefaultResolution or - particular URLSpecificResolution rules. - - - - - - - - Default rules that apply for all URLs that are not referenced - by a dedicated URLSpecificResolution rule. - - - - - - - - - Whether downloading remote resources is allowed. - If false, only locally cached resources will be used. - Default is true. - - - - - - - - Resolution mode. Must be XMLRawContent currently - - - - - - - - The content, provided it is of text - nature, is set in a field suffixed with - _raw - - - - - - - - - - - Resolution depth. Must be 1 currently. - - - - - - - - - - - - - - Whether resolved documents should be cached. - Default is false. - - - - - - - - - - Whether default XLink resolution is enabled. - Default is false. - - - - - - - - - - - Particular rule that apply for all URLs starting with - a precise prefix. Setting at least one URLSpecificResolution will cause - a compulsory initial scan of the whole file to be done so - as to identify which xlink:href fields use which URL, so as - to create the relevant OGR fields. - - - - - - - - - URL prefix. All URLs starting with this string will - match this rule. - - - - - - - - Custom HTTP header to send in the GET request. - - - - - - - - HTTP header name - - - - - - - HTTP header value - - - - - - - - - - - Whether downloading remote resources is allowed. - If false, only locally cached resources will be used. - Default is true. - - - - - - - - Resolution mode. - Default is RawContent. - - - - - - - - The content, provided it is of text - nature, is set in a field suffixed with - _rawcontent - - - - - - - The content, assumed to be XML, will be - parsed and fields specified with Field - created. - - - - - - - - - - - Resolution depth. Must be 1 currently. - - - - - - - - - - - - - - Whether resolved documents should be cached. - Default is false. - - - - - - - - Field to create from parsed XML content. Only used - if ResolutionMode = FieldsFromXPath - - - - - - - - Field name - - - - - - - Field type - - - - - - - - - - - - - - - - XPath from the root of the resolved document - from which to extract the value of the field. - Only a restricted subset of the full XPath 1.0 - syntax is supported, namely the abbreviated syntax - with the '//' and '@' axis specifiers. - Valid XPath are for example: - - [ns1:]foo/[ns2:]bar: matches a bar element as a - direct child of a foo element, foo being at any - nesting level in the compared XPath. - - [ns1:foo]/@[ns2:]baz: matches a baz attribute of a - foo element, foo being at any nesting level in - the compared XPath - - [ns1:]foo//[ns2:]bar: matches a bar element as a - direct or indirect child of a foo element, - foo being at any nesting level in the compared - XPath. - - /[ns1:]foo/[ns2:]bar: matches a bar element as a - direct child of a foo element, foo being at the - root level. - - - - - - - - - - - - - - - - - - - Define elements and attributes that will be ignored when - building OGR layer and field definitions. - - - - - - - - Emit a warning each time an element or attribute is - found in the document parsed, but ignored because - of the ignored XPath defined. - Default is true. - - - - - - - - A XPath against which elements and attributes found - during schema analysis will be compared. If the - XPath of the element/attribute of the schema - matches this XPath, it will be ignored. - Only a restricted subset of the full XPath 1.0 - syntax is supported, namely the abbreviated syntax - with the '//' and '@' axis specifiers. - Valid XPath are for example: - - [ns1:]foo/[ns2:]bar: matches a bar element as a - direct child of a foo element, foo being at any - nesting level in the compared XPath. - - [ns1:foo]/@[ns2:]baz: matches a baz attribute of a - foo element, foo being at any nesting level in - the compared XPath - - [ns1:]foo//[ns2:]bar: matches a bar element as a - direct or indirect child of a foo element, - foo being at any nesting level in the compared - XPath. - - /[ns1:]foo/[ns2:]bar: matches a bar element as a - direct child of a foo element, foo being at the - root level. - - - - - - - - - Emit a warning each time an element or attribute is - found in the document parsed, but ignored because - of the ignored XPath defined. - Override the global setting of the - WarnIfIgnoredXPathFoundInDocInstance element - Default is true. - - - - - - - - - - - - - - Configuration of GMLAS writer - - - - - - - - - Number of spaces used to indent each level of nesting in - XML ouput. - Default is 2. - - - - - - - - - - - - - Comment to add at top of output XML file. - - - - - - - - Line format. - Default is platform dependant (CR-LF on Windows, LF otherwise) - - - - - - - - Platform dependant (CR-LF on Windows, LF otherwise) - - - - - - - Windows end-of-line style : CR-LF - - - - - - - Unix end-of-line style: LF - - - - - - - - - - - Format to use for srsName attributes on geometries. - Default is OGC_URL. - - - - - - - -srsName will be in the form AUTHORITY_NAME:AUTHORITY_CODE - - - - - - -srsName will be in the form urn:ogc:def:crs:AUTHORITY_NAME::AUTHORITY_CODE - - - - - - -ssrsName will be in the form http://www.opengis.net/def/crs/AUTHORITY_NAME/0/AUTHORITY_CODE - - - - - - - - - - - How to wrap features in a collection. - Default is WFS2_FEATURECOLLECTION - - - - - - - -Use wfs:FeatureCollection / wfs:member wrapping - - - - - - -Use ogr_gmlas:FeatureCollection / ogr_gmlas:featureMember wrapping - - - - - - - - - - - User-specified XML dateTime value for timestamp to use in - wfs:FeatureCollection attribute. - Only valid for WRAPPING=WFS2_FEATURECOLLECTION. - Default is current date-time. - - - - - - - - Path or URL to OGC WFS 2.0 schema. - Only valid for WRAPPING=WFS2_FEATURECOLLECTION. - Default is http://schemas.opengis.net/wfs/2.0/wfs.xsd. - - - - - - - - - - - - - - - - - - - - - - Define optional namespaces prefix/uri tuples with - which to interpret the XPath elements defined - afterwards. - This allows the user to define different rules when - different namespaces in different XML instances map - to the same prefix. E.g documents referencing - different GML versions may use "gml" as - a prefix for "http://www.opengis.net/gml" or - "http://www.opengis.net/gml/3.2", but it might be - desirable to have different exclusion rules. - When comparing the XPath exclusion rules and the - XPath of the elements/attributes of the parsed - documents, and when the namespace of the XPath - exclusion rule has been difined, the URI will be - used as the unambiguous key. Otherwise prefix - matching will be used. - - - - - - - Define a namespaces prefix/uri tuple with - which to interpret the XPath elements - defined afterwards. - - - - - - - Namespace prefix. - - - - - Namespace URI. - - - - - - - - diff --git a/bin/gdal_data/gt_datum.csv b/bin/gdal_data/gt_datum.csv deleted file mode 100644 index 9109176b..00000000 --- a/bin/gdal_data/gt_datum.csv +++ /dev/null @@ -1,229 +0,0 @@ -CODE,NAME,ELLIPSOID,DELTAX,SIGMAX,DELTAY,SIGMAY,DELTAZ,SIGMAZ,NORTH,SOUTH,WEST,EAST,ROTX,ROTY,ROTZ,SCALE -ADI-M,"ADINDAN, Mean",CD,-166,5,-15,5,204,3,-5,31,15,55 -ADI-A,"ADINDAN, Ethiopia",CD,-165,3,-11,3,206,3,-3,25,26,50 -ADI-B,"ADINDAN, Sudan",CD,-161,3,-14,5,205,3,-3,31,15,45 -ADI-C,"ADINDAN, Mali",CD,-123,25,-20,25,220,25,3,31,-20,11 -ADI-D,"ADINDAN, Senegal",CD,-128,25,-18,25,224,25,5,23,-24,-5 -ADI-E,"ADINDAN, Burkina Faso",CD,-118,25,-14,25,218,25,4,22,-12,8 -ADI-F,"ADINDAN, Cameroon",CD,-134,25,-2,25,210,25,-4,19,3,23 -AFG,"AFGOOYE, Somalia",KA,-43,25,-163,25,45,25,-8,19,35,60 -AIA,"ANTIGUA ISLAND ASTRO 1943",CD,-270,25,13,25,62,25,16,20,-65,-61 -AIN-A,"AIN EL ABD 1970, Bahrain",IN,-150,25,-250,25,-1,25,24,28,49,53 -AIN-B,"AIN EL ABD 1970, Saudi Arabia",IN,-143,10,-236,10,7,10,8,38,28,62 -AMA,"AMERICAN SAMOA 1962",CC,-115,25,118,25,426,25,-19,-9,-174,-165 -ANO,"ANNA 1 ASTRO 1965, Cocos Is.",AN,-491,25,-22,25,435,25,-14,-10,94,99 -ARF-M,"ARC 1950, Mean",CD,-143,20,-90,33,-294,20,-36,10,4,42 -ARF-A,"ARC 1950, Botswana",CD,-138,3,-105,5,-289,3,-33,-13,13,36 -ARF-B,"ARC 1950, Lesotho",CD,-125,3,-108,3,-295,8,-36,-23,21,35 -ARF-C,"ARC 1950, Malawi",CD,-161,9,-73,24,-317,8,-21,-3,26,42 -ARF-D,"ARC 1950, Swaziland",CD,-134,15,-105,15,-295,15,-33,-20,25,40 -ARF-E,"ARC 1950, Zaire",CD,-169,25,-19,25,-278,25,-21,10,4,38 -ARF-F,"ARC 1950, Zambia",CD,-147,21,-74,21,-283,27,-24,-1,15,40 -ARF-G,"ARC 1950, Zimbabwe",CD,-142,5,-96,8,-293,11,-29,-9,19,39 -ARF-H,"ARC 1950, Burundi",CD,-153,20,-5,20,-292,20,-11,4,21,37 -ARS-M,"ARC 1960, Kenya & Tanzania",CD,-160,20,-6,20,-302,20,-18,8,23,47 -ARS-A,"ARC 1960, Kenya",CD,-157,4,-2,3,-299,3,-11,8,28,47 -ARS-B,"ARC 1960, Tanzania",CD,-175,6,-23,9,-303,10,-18,5,23,47 -ASC,"ASCENSION ISLAND 1958",IN,-205,25,107,25,53,25,-9,-6,-16,-13 -ASM,"MONTSERRAT ISLAND ASTRO 1958",CD,174,25,359,25,365,25,15,18,-64,-61 -ASQ,"ASTRO STATION 1952, Marcus Is.",IN,124,25,-234,25,-25,25,22,26,152,156 -ATF,"ASTRO BEACON E 1945, Iwo Jima",IN,145,25,75,25,-272,25,22,26,140,144 -AUA,"AUSTRALIAN GEODETIC 1966",AN,-133,3,-48,3,148,3,-46,-4,109,161 -AUG,"AUSTRALIAN GEODETIC 1984",AN,-134,2,-48,2,149,2,-46,-4,109,161 -BAT,"DJAKARTA, INDONESIA",BR,-377,3,681,3,-50,3,-16,11,89,146 -BID,"BISSAU, Guinea-Bissau",IN,-173,25,253,25,27,25,5,19,-23,-7 -BER,"BERMUDA 1957, Bermuda Islands",CC,-73,20,213,20,296,20,31,34,-66,-63 -BOO,"BOGOTA OBSERVATORY, Colombia",IN,307,6,304,5,-318,6,-10,16,-85,-61 -BUR,"BUKIT RIMPAH, Banka & Belitung",BR,-384,-1,664,-1,-48,-1,-6,0,103,110 -CAC,"CAPE CANAVERAL, Fla & Bahamas",CC,-2,3,151,3,181,3,15,38,-94,-58 -CAI,"CAMPO INCHAUSPE 1969, Arg.",IN,-148,5,136,5,90,5,-62,-20,-76,-47 -CAO,"CANTON ASTRO 1966, Phoenix Is.",IN,298,15,-304,15,-375,15,-13,3,-180,-165 -CAP,"CAPE, South Africa",CD,-136,3,-108,6,-292,6,-43,-15,10,40 -CAZ,"CAMP AREA ASTRO, Camp McMurdo",IN,-104,-1,-129,-1,239,-1,-85,-70,135,180 -CCD,"S-JTSK, Czech Republic",BR,589,4,76,2,480,3,43,56,6,28 -CGE,"CARTHAGE, Tunisia",CD,-263,6,6,9,431,8,24,43,2,18 -CHI,"CHATHAM ISLAND ASTRO 1971, NZ",IN,175,15,-38,15,113,15,-46,-42,-180,-174 -CHU,"CHUA ASTRO, Paraguay",IN,-134,6,229,9,-29,5,-33,-14,-69,-49 -COA,"CORREGO ALEGRE, Brazil",IN,-206,5,172,3,-6,5,-39,9,-80,-29 -DAL,"DABOLA, Guinea",CD,-83,15,37,15,124,15,1,19,-18,-4 -DID,"DECEPTION ISLAND",CD,260,20,12,20,-147,20,-65,-62,-62,-58 -DOB,"GUX 1 ASTRO, Guadalcanal Is.",IN,252,25,-209,25,-751,25,-12,-8,158,163 -EAS,"EASTER ISLAND 1967",IN,211,25,147,25,111,25,-29,-26,-111,-108 -ENW,"WAKE-ENIWETOK 1960",HO,102,3,52,3,-38,3,1,16,159,175 -EST,"ESTONIA, 1937",BR,374,2,150,3,588,3,52,65,16,34 -EUR-M,"EUROPEAN 1950, Mean (3 Param)",IN,-87,3,-98,8,-121,5,30,80,5,33 -EUR-A,"EUROPEAN 1950, Western Europe",IN,-87,3,-96,3,-120,3,30,78,-15,25 -EUR-B,"EUROPEAN 1950, Greece",IN,-84,25,-95,25,-130,25,30,48,14,34 -EUR-C,"EUROPEAN 1950, Norway & Finland",IN,-87,3,-95,5,-120,3,52,80,-2,38 -EUR-D,"EUROPEAN 1950, Portugal & Spain",IN,-84,5,-107,6,-120,3,30,49,-15,10 -EUR-E,"EUROPEAN 1950, Cyprus",IN,-104,15,-101,15,-140,15,33,37,31,36 -EUR-F,"EUROPEAN 1950, Egypt",IN,-130,6,-117,8,-151,8,16,38,19,42 -EUR-G,"EUROPEAN 1950, England, Channel",IN,-86,3,-96,3,-120,3,48,62,-10,3 -EUR-H,"EUROPEAN 1950, Iran",IN,-117,9,-132,12,-164,11,19,47,37,69 -EUR-I,"EUROPEAN 1950, Sardinia(Italy)",IN,-97,25,-103,25,-120,25,37,43,6,12 -EUR-J,"EUROPEAN 1950, Sicily(Italy)",IN,-97,20,-88,20,-135,20,35,40,10,17 -EUR-K,"EUROPEAN 1950, England, Ireland",IN,-86,3,-96,3,-120,3,48,62,-12,3 -EUR-L,"EUROPEAN 1950, Malta",IN,-107,25,-88,25,-149,25,34,38,12,16 -EUR-S,"EUROPEAN 1950, Iraq, Israel",IN,-103,-1,-106,-1,-141,-1,20,48,24,60 -EUR-T,"EUROPEAN 1950, Tunisia",IN,-112,25,-77,25,-145,25,24,43,2,18 -EUS,"EUROPEAN 1979",IN,-86,3,-98,3,-119,3,30,80,-15,24 -FAH,"OMAN",CD,-346,3,-1,3,224,9,10,32,46,65 -FLO,"OBSERVATORIO MET. 1939, Flores",IN,-425,20,-169,20,81,20,38,41,-33,-30 -FOT,"FORT THOMAS 1955, Leeward Is.",CD,-7,25,215,25,225,25,16,19,-64,-61 -GAA,"GAN 1970, Rep. of Maldives",IN,-133,25,-321,25,50,25,-2,9,71,75 -GEO,"GEODETIC DATUM 1949, NZ",IN,84,5,-22,3,209,5,-48,-33,165,180 -GIZ,"DOS 1968, Gizo Island",IN,230,25,-199,25,-752,25,-10,-7,155,158 -GRA,"GRACIOSA BASE SW 1948, Azores",IN,-104,3,167,3,-38,3,37,41,-30,-26 -GUA,"GUAM 1963",CC,-100,3,-248,3,259,3,12,15,143,146 -GSE,"GUNUNG SEGARA, Indonesia",BR,-403,-1,684,-1,41,-1,-6,9,106,121 -HEN,"HERAT NORTH, Afghanistan",IN,-333,-1,-222,-1,114,-1,23,44,55,81 -HER,"HERMANNSKOGEL, old Yugoslavia",BR,682,-1,-203,-1,480,-1,35,52,7,29 -HIT,"PROVISIONAL SOUTH CHILEAN 1963",IN,16,25,196,25,93,25,-64,-25,-83,-60 -HJO,"HJORSEY 1955, Iceland",IN,-73,3,46,3,-86,6,61,69,-27,-11 -HKD,"HONG KONG 1963",IN,-156,25,-271,25,-189,25,21,24,112,116 -HTN,"HU-TZU-SHAN, Taiwan",IN,-637,15,-549,15,-203,15,20,28,117,124 -IBE,"BELLEVUE (IGN), Efate Is.",IN,-127,20,-769,20,472,20,-20,-16,167,171 -IDN,"INDONESIAN 1974",ID,-24,25,-15,25,5,25,-16,11,89,146 -IND-B,"INDIAN, Bangladesh",EA,282,10,726,8,254,12,15,33,80,100 -IND-I,"INDIAN, India & Nepal",EC,295,12,736,10,257,15,2,44,62,105 -IND-P,"INDIAN, Pakistan",EF,283,-1,682,-1,231,-1,17,44,55,81 -INF-A,"INDIAN 1954, Thailand",EA,217,15,823,6,299,12,0,27,91,111 -ING-A,"INDIAN 1960, Vietnam 16N",EA,198,25,881,25,317,25,2,30,101,115 -ING-B,"INDIAN 1960, Con Son Island",EA,182,25,915,25,344,25,6,11,104,109 -INH-A,"INDIAN 1975, Thailand",EA,209,12,818,10,290,12,0,27,91,111 -INH-A1,"INDIAN 1975, Thailand",EA,210,3,814,2,289,3,0,27,91,111 -IRL,"IRELAND 1965",AM,506,3,-122,3,611,3,50,57,-12,-4 -ISG,"ISTS 061 ASTRO 1968, S Georgia",IN,-794,25,119,25,-298,25,-56,-52,-38,-34 -IST,"ISTS 073 ASTRO 1969, Diego Garc",IN,208,25,-435,25,-229,25,-10,-4,69,75 -JOH,"JOHNSTON ISLAND 1961",IN,189,25,-79,25,-202,25,15,19,-171,-168 -KAN,"KANDAWALA, Sri Lanka",EA,-97,20,787,20,86,20,4,12,77,85 -KEG,"KERGUELEN ISLAND 1949",IN,145,25,-187,25,103,25,-52,-47,65,74 -KEA,"KERTAU 1948, W Malaysia & Sing.",EE,-11,10,851,8,5,6,-5,12,94,112 -KUS,"KUSAIE ASTRO 1951, Caroline Is.",IN,647,25,1777,25,-1124,25,-1,12,134,167 -LCF,"L.C. 5 ASTRO 1961, Cayman Brac",CC,42,25,124,25,147,25,18,21,-83,-78 -LEH,"LEIGON, Ghana",CD,-130,2,29,3,364,2,-1,17,-9,7 -LIB,"LIBERIA 1964",CD,-90,15,40,15,88,15,-1,14,-17,-1 -LUZ-A,"LUZON, Philippines",CC,-133,8,-77,11,-51,9,3,23,115,128 -LUZ-B,"LUZON, Mindanao Island",CC,-133,25,-79,25,-72,25,4,12,120,128 -MAS,"MASSAWA, Ethiopia",BR,639,25,405,25,60,25,7,25,37,53 -MER,"MERCHICH, Morocco",CD,31,5,146,3,47,3,22,42,-19,5 -MID,"MIDWAY ASTRO 1961, Midway Is.",IN,403,25,-81,25,277,25,25,30,-180,-169 -MIK,"MAHE 1971, Mahe Is.",CD,41,25,-220,25,-134,25,-6,-3,54,57 -MIN-A,"MINNA, Cameroon",CD,-81,25,-84,25,115,25,-4,19,3,23 -MIN-B,"MINNA, Nigeria",CD,-92,3,-93,6,122,5,-1,21,-4,20 -MOD,"ROME 1940, Sardinia",IN,-225,25,-65,25,9,25,37,43,6,12 -MPO,"M'PORALOKO, Gabon",CD,-74,25,-130,25,42,25,-10,8,3,20 -MVS,"VITI LEVU 1916, Viti Levu Is.",CD,51,25,391,25,-36,25,-20,-16,176,180 -NAH-A,"NAHRWAN, Masirah Island (Oman)",CD,-247,25,-148,25,369,25,19,22,57,60 -NAH-B,"NAHRWAN, United Arab Emirates",CD,-249,25,-156,25,381,25,17,32,45,62 -NAH-C,"NAHRWAN, Saudi Arabia",CD,-243,20,-192,20,477,20,8,38,28,62 -NAP,"NAPARIMA, Trinidad & Tobago",IN,-10,15,375,15,165,15,8,13,-64,-59 -NAR-A,"NORTH AMERICAN 1983, Alaska",RF,0,2,0,2,0,2,48,78,-175,-135 -NAR-B,"NORTH AMERICAN 1983, Canada",RF,0,2,0,2,0,2,36,90,-150,-50 -NAR-C,"NORTH AMERICAN 1983, CONUS",RF,0,2,0,2,0,2,15,60,-135,-60 -NAR-D,"NORTH AMERICAN 1983, Mexico",RF,0,2,0,2,0,2,11,35,-122,-72 -NAR-E,"NORTH AMERICAN 1983, Aleutian",RF,-2,5,0,2,4,5,51,74,-180,180 -NAR-H,"NORTH AMERICAN 1983, Hawaii",RF,1,2,1,2,-1,2,17,24,-164,-153 -NAS-A,"NORTH AMERICAN 1927, Eastern US",CC,-9,5,161,5,179,8,18,55,-102,-60 -NAS-B,"NORTH AMERICAN 1927, Western US",CC,-8,5,159,3,175,3,19,55,-132,-87 -NAS-C,"NORTH AMERICAN 1927, CONUS",CC,-8,5,160,5,176,6,15,60,-135,-60 -NAS-D,"NORTH AMERICAN 1927, Alaska",CC,-5,5,135,9,172,5,47,78,-175,-130 -NAS-E,"NORTH AMERICAN 1927, Canada",CC,-10,15,158,11,187,6,36,90,-150,-50 -NAS-F,"NORTH AMERICAN 1927, Alberta/BC",CC,-7,8,162,8,188,6,43,65,-145,-105 -NAS-G,"NORTH AMERICAN 1927, E. Canada",CC,-22,6,160,6,190,3,38,68,-85,-45 -NAS-H,"NORTH AMERICAN 1927, Man/Ont",CC,-9,9,157,5,184,5,36,63,-108,-69 -NAS-I,"NORTH AMERICAN 1927, NW Terr.",CC,4,5,159,5,188,3,43,90,-144,-55 -NAS-J,"NORTH AMERICAN 1927, Yukon",CC,-7,5,139,8,181,3,53,75,-147,-117 -NAS-L,"NORTH AMERICAN 1927, Mexico",CC,-12,8,130,6,190,6,10,38,-122,-80 -NAS-N,"NORTH AMERICAN 1927, C. America",CC,0,8,125,3,194,5,3,25,-98,-77 -NAS-O,"NORTH AMERICAN 1927, Canal Zone",CC,0,20,125,20,201,20,3,15,-86,-74 -NAS-P,"NORTH AMERICAN 1927, Caribbean",CC,-3,3,142,9,183,12,8,29,-87,-58 -NAS-Q,"NORTH AMERICAN 1927, Bahamas",CC,-4,5,154,3,178,5,19,29,-83,-71 -NAS-R,"NORTH AMERICAN 1927, San Salv.",CC,1,25,140,25,165,25,23,26,-75,-74 -NAS-T,"NORTH AMERICAN 1927, Cuba",CC,-9,25,152,25,178,25,18,25,-87,-72 -NAS-U,"NORTH AMERICAN 1927, Greenland",CC,11,25,114,25,195,25,74,81,-74,-56 -NAS-V,"NORTH AMERICAN 1927, Aleutian E",CC,-2,6,152,8,149,10,50,58,-180,-161 -NAS-W,"NORTH AMERICAN 1927, Aleutian W",CC,2,10,204,10,105,10,50,58,169,180 -NSD,"NORTH SAHARA 1959, Algeria",CD,-186,25,-93,25,310,25,13,43,-15,18 -OEG,"OLD EGYPTIAN 1907",HE,-130,3,110,6,-13,8,16,38,19,42 -OGB-M,"ORDNANCE GB 1936, Mean (3 Para)",AA,375,10,-111,10,431,15,44,66,-14,7 -OGB-A,"ORDNANCE GB 1936, England",AA,371,5,-112,5,434,6,44,61,-12,7 -OGB-B,"ORDNANCE GB 1936, Eng., Wales",AA,371,10,-111,10,434,15,44,61,-12,7 -OGB-C,"ORDNANCE GB 1936, Scotland",AA,384,10,-111,10,425,10,49,66,-14,4 -OGB-D,"ORDNANCE GB 1936, Wales",AA,370,20,-108,20,434,20,46,59,-11,3 -OHA-M,"OLD HAWAIIAN (CC), Mean",CC,61,25,-285,20,-181,20,17,24,-164,-153 -OHA-A,"OLD HAWAIIAN (CC), Hawaii",CC,89,25,-279,25,-183,25,17,22,-158,-153 -OHA-B,"OLD HAWAIIAN (CC), Kauai",CC,45,20,-290,20,-172,20,20,24,-161,-158 -OHA-C,"OLD HAWAIIAN (CC), Maui",CC,65,25,-290,25,-190,25,19,23,-158,-154 -OHA-D,"OLD HAWAIIAN (CC), Oahu",CC,58,10,-283,6,-182,6,20,23,-160,-156 -OHI-M,"OLD HAWAIIAN (IN), Mean",IN,201,25,-228,20,-346,20,17,24,-164,-153 -OHI-A,"OLD HAWAIIAN (IN), Hawaii",IN,229,25,-222,25,-348,25,17,22,-158,-153 -OHI-B,"OLD HAWAIIAN (IN), Kauai",IN,185,20,-233,20,-337,20,20,24,-161,-158 -OHI-C,"OLD HAWAIIAN (IN), Maui",IN,205,25,-233,25,-355,25,19,23,-158,-154 -OHI-D,"OLD HAWAIIAN (IN), Oahu",IN,198,10,-226,6,-347,6,20,23,-160,-156 -PHA,"AYABELLE LIGHTHOUSE, Djibouti",CD,-79,25,-129,25,145,25,5,20,36,49 -PIT,"PITCAIRN ASTRO 1967",IN,185,25,165,25,42,25,-27,-21,-134,-119 -PLN,"PICO DE LAS NIEVES, Canary Is.",IN,-307,25,-92,25,127,25,26,31,-20,-12 -POS,"PORTO SANTO 1936, Madeira Is.",IN,-499,25,-249,25,314,25,31,35,-18,-15 -PRP-A,"PROV. S AMERICAN 1956, Bolivia",IN,-270,5,188,11,-388,14,-28,-4,-75,-51 -PRP-B,"PROV. S AMERICAN 1956, N Chile",IN,-270,25,183,25,-390,25,-45,-12,-83,-60 -PRP-C,"PROV. S AMERICAN 1956, S Chile",IN,-305,20,243,20,-442,20,-64,-20,-83,-60 -PRP-D,"PROV. S AMERICAN 1956, Colombia",IN,-282,15,169,15,-371,15,-10,16,-85,-61 -PRP-E,"PROV. S AMERICAN 1956, Ecuador",IN,-278,3,171,5,-367,3,-11,7,-85,-70 -PRP-F,"PROV. S AMERICAN 1956, Guyana",IN,-298,6,159,14,-369,5,-4,14,-67,-51 -PRP-G,"PROV. S AMERICAN 1956, Peru",IN,-279,6,175,8,-379,12,-24,5,-87,-63 -PRP-H,"PROV. S AMERICAN 1956, Venez",IN,-295,9,173,14,-371,15,-5,18,-79,-54 -PRP-M,"PROV. S AMERICAN 1956, Mean",IN,-288,17,175,27,-376,27,-64,18,-87,-51 -PTB,"POINT 58, Burkina Faso & Niger",CD,-106,25,-129,25,165,25,0,10,-15,25 -PTN,"POINT NOIRE 1948, Congo",CD,-148,25,51,25,-291,25,-11,10,5,25 -PUK,"PULKOVO 1942, Russia",KA,28,-1,-130,-1,-95,-1,36,89,-180,180 -PUR,"PUERTO RICO & Virgin Is.",CC,11,3,72,3,-101,3,16,20,-69,-63 -QAT,"QATAR NATIONAL",IN,-128,20,-283,20,22,20,19,32,45,57 -QUO,"QORNOQ, South Greenland",IN,164,25,138,25,-189,32,57,85,-77,-7 -REU,"REUNION, Mascarene Is.",IN,94,25,-948,25,-1262,25,-27,-12,47,65 -SAE,"SANTO (DOS) 1965",IN,170,25,42,25,84,25,-20,-11,163,172 -SAO,"SAO BRAZ, Santa Maria Is.",IN,-203,25,141,25,53,25,35,39,-27,-23 -SAP,"SAPPER HILL 1943, E Falkland Is",IN,-355,1,21,1,72,1,-54,-50,-61,-56 -SAN-M,"SOUTH AMERICAN 1969, Mean",SA,-57,15,1,6,-41,9,-65,-50,-90,-25 -SAN-A,"SOUTH AMERICAN 1969, Argentina",SA,-62,5,-1,5,-37,5,-62,-20,-76,-47 -SAN-B,"SOUTH AMERICAN 1969, Bolivia",SA,-61,15,2,15,-48,15,-28,-4,-75,-51 -SAN-C,"SOUTH AMERICAN 1969, Brazil",SA,-60,3,-2,5,-41,5,-39,9,-80,-29 -SAN-D,"SOUTH AMERICAN 1969, Chile",SA,-75,15,-1,8,-44,11,-64,-12,-83,-60 -SAN-E,"SOUTH AMERICAN 1969, Colombia",SA,-44,6,6,6,-36,5,-10,16,-85,-61 -SAN-F,"SOUTH AMERICAN 1969, Ecuador",SA,-48,3,3,3,-44,3,-11,7,-85,-70 -SAN-G,"SOUTH AMERICAN 1969, Guyana",SA,-53,9,3,5,-47,5,-4,14,-67,-51 -SAN-H,"SOUTH AMERICAN 1969, Paraguay",SA,-61,15,2,15,-33,15,-33,-14,-69,-49 -SAN-I,"SOUTH AMERICAN 1969, Peru",SA,-58,5,0,5,-44,5,-24,5,-87,-63 -SAN-J,"SOUTH AMERICAN 1969, Baltra",SA,-47,25,26,25,-42,25,-2,1,-92,-89 -SAN-K,"SOUTH AMERICAN 1969, Trinidad",SA,-45,25,12,25,-33,25,4,17,-68,-55 -SAN-L,"SOUTH AMERICAN 1969, Venezuela",SA,-45,3,8,6,-33,3,-5,18,-79,-54 -SCK,"SCHWARZECK, Namibia",BN,616,20,97,20,-251,20,-35,-11,5,31 -SGM,"SELVAGEM GRANDE 1938, Salvage Is,"I,N -28,9 2,5 -12,4 25,6,0 2,28,32,-18,-14 -SHB,"ASTRO DOS 71/4, St. Helena Is.",IN,-320,25,550,25,-494,25,-18,-14,-7,-4 -SOA,"SOUTH ASIA, Singapore",FA,7,25,-10,25,-26,25,0,3,102,106 -SPK-A,"S-42 (PULKOVO 1942), Hungary",KA,28,2,-121,2,-77,2,40,54,11,29 -SPK-B,"S-42 (PULKOVO 1942), Poland",KA,23,4,-124,2,-82,4,43,60,8,30 -SPK-C,"S-42 (PK42) Former Czechoslov.",KA,26,3,-121,3,-78,2,42,57,6,28 -SPK-D,"S-42 (PULKOVO 1942), Latvia",KA,24,2,-124,2,-82,2,50,64,15,34 -SPK-E,"S-42 (PK 1942), Kazakhstan",KA,15,25,-130,25,-84,25,35,62,41,93 -SPK-F,"S-42 (PULKOVO 1942), Albania",KA,24,3,-130,3,-92,3,34,48,14,26 -SPK-G,"S-42 (PULKOVO 1942), Romania",KA,28,3,-121,5,-77,3,38,54,15,35 -SRL,"SIERRA LEONE 1960",CD,-88,15,4,15,101,15,1,16,-19,-4 -TAN,"TANANARIVE OBSERVATORY 1925",IN,-189,-1,-242,-1,-91,-1,-34,-8,40,53 -TDC,"TRISTAN ASTRO 1968",IN,-632,25,438,25,-609,25,-39,-36,-14,-11 -TIL,"TIMBALAI 1948, Brunei & E Malay",EB,-679,10,669,10,-48,12,-5,15,101,125 -TOY-A,"TOKYO, Japan",BR,-148,8,507,5,685,8,19,51,119,156 -TOY-B,"TOKYO, South Korea",BR,-146,8,507,5,687,8,27,45,120,139 -TOY-B1,"TOKYO, South Korea",BR,-147,2,506,2,687,2,27,45,120,139 -TOY-C,"TOKYO, Okinawa",BR,-158,20,507,5,676,20,19,31,119,134 -TOY-M,"TOKYO, Mean",BR,-148,20,507,5,685,20,23,53,120,155 -TRN,"ASTRO TERN ISLAND (FRIG) 1961",IN,114,25,-116,25,-333,25,22,26,-168,-164 -VOI,"VOIROL 1874, Algeria",CD,-73,-1,-247,-1,227,-1,13,43,-15,18 -VOR,"VOIROL 1960, Algeria",CD,-123,25,-206,25,219,25,13,43,-15,18 -WAK,"WAKE ISLAND ASTRO 1952",IN,276,25,-57,25,149,25,17,21,164,168 -YAC,"YACARE, Uruguay",IN,-155,-1,171,-1,37,-1,-40,-25,-65,-47 -ZAN,"ZANDERIJ, Suriname",IN,-265,5,120,5,-358,8,-10,20,-76,-47 -KGS,"KOREAN GEO DATUM 1995, S Korea",WE,0,1,0,1,0,1,27,45,120,139 -SIR,"SIRGAS, South America",RF,0,1,0,1,0,1,-65,-50,-90,-25 -EUR-7,"EUROPEAN 1950, Mean (7 Param)",IN,-102,,-102,,-129,,,,,0.413,-0.184,0.385,0.0000024664 -OGB-7,"ORDNANCE GB 1936, Mean (7 Para)",AA,446,,-99,,544,,,,,,-0.945,-0.261,-0.435,-0.0000208927 diff --git a/bin/gdal_data/gt_ellips.csv b/bin/gdal_data/gt_ellips.csv deleted file mode 100644 index 2dd3b3a1..00000000 --- a/bin/gdal_data/gt_ellips.csv +++ /dev/null @@ -1,24 +0,0 @@ -NAME,CODE,A,B,RF -Airy 1830 ,AA,6377563.396,6356256.9090,299.324964600 -Modified Airy ,AM,6377340.189,6356034.4480,299.324964600 -Australian National ,AN,6378160.000,6356774.7190,298.250000000 -Bessel 1841(Namibia) ,BN,6377483.865,6356165.3830,299.152812800 -Bessel 1841 ,BR,6377397.155,6356078.9630,299.152812800 -Clarke 1866 ,CC,6378206.400,6356583.8000,294.978698200 -Clarke 1880 ,CD,6378249.145,6356514.8700,293.465000000 -Everest (India 1830) ,EA,6377276.345,6356075.4130,300.801700000 -Everest (E. Malasia, Brunei) ,EB,6377298.556,6356097.5500,300.801700000 -Everest 1956 (India) ,EC,6377301.243,6356100.2280,300.801700000 -Everest 1969 (West Malasia) ,ED,6377295.664,6356094.6680,300.801700000 -Everest 1948(W.Mals. & Sing.) ,EE,6377304.063,6356103.0390,300.801700000 -Everest (Pakistan) ,EF,6377309.613,6356109.5710,300.801700000 -Mod. Fischer 1960(South Asia) ,FA,6378155.000,6356773.3200,298.300000000 -Helmert 1906 ,HE,6378200.000,6356818.1700,298.300000000 -Hough 1960 ,HO,6378270.000,6356794.3430,297.000000000 -Indonesian 1974 ,ID,6378160.000,6356774.5040,298.247000000 -International 1924 ,IN,6378388.000,6356911.9460,297.000000000 -Krassovsky 1940 ,KA,6378245.000,6356863.0190,298.300000000 -GRS 80 ,RF,6378137.000,6356752.3141,298.257222101 -South American 1969 ,SA,6378160.000,6356774.7190,298.250000000 -WGS 72 ,WD,6378135.000,6356750.5200,298.260000000 -WGS 84 ,WE,6378137.000,6356752.3142,298.257223563 diff --git a/bin/gdal_data/header.dxf b/bin/gdal_data/header.dxf deleted file mode 100644 index 6f5ef2fb..00000000 --- a/bin/gdal_data/header.dxf +++ /dev/null @@ -1,1544 +0,0 @@ - 0 -SECTION - 2 -HEADER - 9 -$ACADVER - 1 -AC1018 - 9 -$ACADMAINTVER - 70 - 0 - 9 -$DWGCODEPAGE - 3 -ANSI_1252 - 9 -$INSBASE - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$EXTMIN - 10 -30.0 - 20 -49.75 - 30 -0.0 - 9 -$EXTMAX - 10 -130.5 - 20 -163.1318914119703 - 30 -0.0 - 9 -$LIMMIN - 10 -0.0 - 20 -0.0 - 9 -$LIMMAX - 10 -12.0 - 20 -9.0 - 9 -$ORTHOMODE - 70 - 0 - 9 -$REGENMODE - 70 - 1 - 9 -$FILLMODE - 70 - 1 - 9 -$QTEXTMODE - 70 - 0 - 9 -$MIRRTEXT - 70 - 1 - 9 -$LTSCALE - 40 -1.0 - 9 -$ATTMODE - 70 - 1 - 9 -$TEXTSIZE - 40 -0.2 - 9 -$TRACEWID - 40 -0.05 - 9 -$TEXTSTYLE - 7 -Standard - 9 -$CLAYER - 8 -0 - 9 -$CELTYPE - 6 -ByLayer - 9 -$CECOLOR - 62 - 256 - 9 -$CELTSCALE - 40 -1.0 - 9 -$DISPSILH - 70 - 0 - 9 -$DIMSCALE - 40 -1.0 - 9 -$DIMASZ - 40 -0.18 - 9 -$DIMEXO - 40 -0.0625 - 9 -$DIMDLI - 40 -0.38 - 9 -$DIMRND - 40 -0.0 - 9 -$DIMDLE - 40 -0.0 - 9 -$DIMEXE - 40 -0.18 - 9 -$DIMTP - 40 -0.0 - 9 -$DIMTM - 40 -0.0 - 9 -$DIMTXT - 40 -0.18 - 9 -$DIMCEN - 40 -0.09 - 9 -$DIMTSZ - 40 -0.0 - 9 -$DIMTOL - 70 - 0 - 9 -$DIMLIM - 70 - 0 - 9 -$DIMTIH - 70 - 1 - 9 -$DIMTOH - 70 - 1 - 9 -$DIMSE1 - 70 - 0 - 9 -$DIMSE2 - 70 - 0 - 9 -$DIMTAD - 70 - 0 - 9 -$DIMZIN - 70 - 0 - 9 -$DIMBLK - 1 - - 9 -$DIMASO - 70 - 1 - 9 -$DIMSHO - 70 - 1 - 9 -$DIMPOST - 1 - - 9 -$DIMAPOST - 1 - - 9 -$DIMALT - 70 - 0 - 9 -$DIMALTD - 70 - 2 - 9 -$DIMALTF - 40 -25.4 - 9 -$DIMLFAC - 40 -1.0 - 9 -$DIMTOFL - 70 - 0 - 9 -$DIMTVP - 40 -0.0 - 9 -$DIMTIX - 70 - 0 - 9 -$DIMSOXD - 70 - 0 - 9 -$DIMSAH - 70 - 0 - 9 -$DIMBLK1 - 1 - - 9 -$DIMBLK2 - 1 - - 9 -$DIMSTYLE - 2 -Standard - 9 -$DIMCLRD - 70 - 0 - 9 -$DIMCLRE - 70 - 0 - 9 -$DIMCLRT - 70 - 0 - 9 -$DIMTFAC - 40 -1.0 - 9 -$DIMGAP - 40 -0.09 - 9 -$DIMJUST - 70 - 0 - 9 -$DIMSD1 - 70 - 0 - 9 -$DIMSD2 - 70 - 0 - 9 -$DIMTOLJ - 70 - 1 - 9 -$DIMTZIN - 70 - 0 - 9 -$DIMALTZ - 70 - 0 - 9 -$DIMALTTZ - 70 - 0 - 9 -$DIMUPT - 70 - 0 - 9 -$DIMDEC - 70 - 4 - 9 -$DIMTDEC - 70 - 4 - 9 -$DIMALTU - 70 - 2 - 9 -$DIMALTTD - 70 - 2 - 9 -$DIMTXSTY - 7 -Standard - 9 -$DIMAUNIT - 70 - 0 - 9 -$DIMADEC - 70 - 0 - 9 -$DIMALTRND - 40 -0.0 - 9 -$DIMAZIN - 70 - 0 - 9 -$DIMDSEP - 70 - 46 - 9 -$DIMATFIT - 70 - 3 - 9 -$DIMFRAC - 70 - 0 - 9 -$DIMLDRBLK - 1 - - 9 -$DIMLUNIT - 70 - 2 - 9 -$DIMLWD - 70 - -2 - 9 -$DIMLWE - 70 - -2 - 9 -$DIMTMOVE - 70 - 0 - 9 -$LUNITS - 70 - 2 - 9 -$LUPREC - 70 - 4 - 9 -$SKETCHINC - 40 -0.1 - 9 -$FILLETRAD - 40 -0.5 - 9 -$AUNITS - 70 - 0 - 9 -$AUPREC - 70 - 0 - 9 -$MENU - 1 -. - 9 -$ELEVATION - 40 -0.0 - 9 -$PELEVATION - 40 -0.0 - 9 -$THICKNESS - 40 -0.0 - 9 -$LIMCHECK - 70 - 0 - 9 -$CHAMFERA - 40 -0.5 - 9 -$CHAMFERB - 40 -0.5 - 9 -$CHAMFERC - 40 -1.0 - 9 -$CHAMFERD - 40 -0.0 - 9 -$SKPOLY - 70 - 0 - 9 -$TDCREATE - 40 -2455343.56230316 - 9 -$TDUCREATE - 40 -2455343.728969826 - 9 -$TDUPDATE - 40 -2455343.562303171 - 9 -$TDUUPDATE - 40 -2455343.728969838 - 9 -$TDINDWG - 40 -0.0000000116 - 9 -$TDUSRTIMER - 40 -0.0000000116 - 9 -$USRTIMER - 70 - 1 - 9 -$ANGBASE - 50 -0.0 - 9 -$ANGDIR - 70 - 0 - 9 -$PDMODE - 70 - 0 - 9 -$PDSIZE - 40 -0.0 - 9 -$PLINEWID - 40 -0.0 - 9 -$SPLFRAME - 70 - 0 - 9 -$SPLINETYPE - 70 - 6 - 9 -$SPLINESEGS - 70 - 8 - 9 -$HANDSEED - 5 -44 - 9 -$SURFTAB1 - 70 - 6 - 9 -$SURFTAB2 - 70 - 6 - 9 -$SURFTYPE - 70 - 6 - 9 -$SURFU - 70 - 6 - 9 -$SURFV - 70 - 6 - 9 -$UCSBASE - 2 - - 9 -$UCSNAME - 2 - - 9 -$UCSORG - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$UCSXDIR - 10 -1.0 - 20 -0.0 - 30 -0.0 - 9 -$UCSYDIR - 10 -0.0 - 20 -1.0 - 30 -0.0 - 9 -$UCSORTHOREF - 2 - - 9 -$UCSORTHOVIEW - 70 - 0 - 9 -$UCSORGTOP - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$UCSORGBOTTOM - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$UCSORGLEFT - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$UCSORGRIGHT - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$UCSORGFRONT - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$UCSORGBACK - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$PUCSBASE - 2 - - 9 -$PUCSNAME - 2 - - 9 -$PUCSORG - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$PUCSXDIR - 10 -1.0 - 20 -0.0 - 30 -0.0 - 9 -$PUCSYDIR - 10 -0.0 - 20 -1.0 - 30 -0.0 - 9 -$PUCSORTHOREF - 2 - - 9 -$PUCSORTHOVIEW - 70 - 0 - 9 -$PUCSORGTOP - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$PUCSORGBOTTOM - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$PUCSORGLEFT - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$PUCSORGRIGHT - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$PUCSORGFRONT - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$PUCSORGBACK - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$USERI1 - 70 - 0 - 9 -$USERI2 - 70 - 0 - 9 -$USERI3 - 70 - 0 - 9 -$USERI4 - 70 - 0 - 9 -$USERI5 - 70 - 0 - 9 -$USERR1 - 40 -0.0 - 9 -$USERR2 - 40 -0.0 - 9 -$USERR3 - 40 -0.0 - 9 -$USERR4 - 40 -0.0 - 9 -$USERR5 - 40 -0.0 - 9 -$WORLDVIEW - 70 - 1 - 9 -$SHADEDGE - 70 - 3 - 9 -$SHADEDIF - 70 - 70 - 9 -$TILEMODE - 70 - 1 - 9 -$MAXACTVP - 70 - 64 - 9 -$PINSBASE - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$PLIMCHECK - 70 - 0 - 9 -$PEXTMIN - 10 -1.000000000000000E+20 - 20 -1.000000000000000E+20 - 30 -1.000000000000000E+20 - 9 -$PEXTMAX - 10 --1.000000000000000E+20 - 20 --1.000000000000000E+20 - 30 --1.000000000000000E+20 - 9 -$PLIMMIN - 10 -0.0 - 20 -0.0 - 9 -$PLIMMAX - 10 -12.0 - 20 -9.0 - 9 -$UNITMODE - 70 - 0 - 9 -$VISRETAIN - 70 - 1 - 9 -$PLINEGEN - 70 - 0 - 9 -$PSLTSCALE - 70 - 1 - 9 -$TREEDEPTH - 70 - 3020 - 9 -$CMLSTYLE - 2 -Standard - 9 -$CMLJUST - 70 - 0 - 9 -$CMLSCALE - 40 -1.0 - 9 -$PROXYGRAPHICS - 70 - 1 - 9 -$MEASUREMENT - 70 - 0 - 9 -$CELWEIGHT -370 - -1 - 9 -$ENDCAPS -280 - 0 - 9 -$JOINSTYLE -280 - 0 - 9 -$LWDISPLAY -290 - 0 - 9 -$INSUNITS - 70 - 1 - 9 -$HYPERLINKBASE - 1 - - 9 -$STYLESHEET - 1 - - 9 -$XEDIT -290 - 1 - 9 -$CEPSNTYPE -380 - 0 - 9 -$PSTYLEMODE -290 - 1 - 9 -$FINGERPRINTGUID - 2 -{E7F7769E-AACA-40AB-9EF3-61BBAFBCBA26} - 9 -$VERSIONGUID - 2 -{FAEB1C32-E019-11D5-929B-00C0DF256EC4} - 9 -$EXTNAMES -290 - 1 - 9 -$PSVPSCALE - 40 -0.0 - 9 -$OLESTARTUP -290 - 0 - 9 -$SORTENTS -280 - 127 - 9 -$INDEXCTL -280 - 0 - 9 -$HIDETEXT -280 - 1 - 9 -$XCLIPFRAME -290 - 0 - 9 -$HALOGAP -280 - 0 - 9 -$OBSCOLOR - 70 - 257 - 9 -$OBSLTYPE -280 - 0 - 9 -$INTERSECTIONDISPLAY -280 - 0 - 9 -$INTERSECTIONCOLOR - 70 - 257 - 9 -$DIMASSOC -280 - 2 - 9 -$PROJECTNAME - 1 - - 0 -ENDSEC - 0 -SECTION - 2 -CLASSES - 0 -CLASS - 1 -ACDBDICTIONARYWDFLT - 2 -AcDbDictionaryWithDefault - 3 -ObjectDBX Classes - 90 - 0 - 91 - 4 -280 - 0 -281 - 0 - 0 -CLASS - 1 -VISUALSTYLE - 2 -AcDbVisualStyle - 3 -ObjectDBX Classes - 90 - 4095 - 91 - 4 -280 - 0 -281 - 0 - 0 -ENDSEC - 0 -SECTION - 2 -TABLES - 0 -TABLE - 2 -VPORT - 5 -8 -330 -0 -100 -AcDbSymbolTable - 70 - 1 - 0 -VPORT - 5 -29 -330 -8 -100 -AcDbSymbolTableRecord -100 -AcDbViewportTableRecord - 2 -*Active - 70 - 0 - 10 -0.0 - 20 -0.0 - 11 -1.0 - 21 -1.0 - 12 -80.25 - 22 -106.4409457059851 - 13 -0.0 - 23 -0.0 - 14 -0.5 - 24 -0.5 - 15 -0.5 - 25 -0.5 - 16 -0.0 - 26 -0.0 - 36 -1.0 - 17 -0.0 - 27 -0.0 - 37 -0.0 - 40 -113.3818914119703 - 41 -0.8863849310366128 - 42 -50.0 - 43 -0.0 - 44 -0.0 - 50 -0.0 - 51 -0.0 - 71 - 0 - 72 - 1000 - 73 - 1 - 74 - 3 - 75 - 0 - 76 - 0 - 77 - 0 - 78 - 0 -281 - 0 - 65 - 1 -110 -0.0 -120 -0.0 -130 -0.0 -111 -1.0 -121 -0.0 -131 -0.0 -112 -0.0 -122 -1.0 -132 -0.0 - 79 - 0 -146 -0.0 - 0 -ENDTAB - 0 -TABLE - 2 -LTYPE - 5 -5 -330 -0 -100 -AcDbSymbolTable - 70 - 1 - 0 -LTYPE - 5 -14 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -ByBlock - 70 - 0 - 3 - - 72 - 65 - 73 - 0 - 40 -0.0 - 0 -LTYPE - 5 -15 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -ByLayer - 70 - 0 - 3 - - 72 - 65 - 73 - 0 - 40 -0.0 - 0 -LTYPE - 5 -16 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -Continuous - 70 - 0 - 3 -Solid line - 72 - 65 - 73 - 0 - 40 -0.0 - 0 -ENDTAB - 0 -TABLE - 2 -LAYER - 5 -2 -330 -0 -100 -AcDbSymbolTable - 70 - 1 - 0 -LAYER - 5 -10 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -0 - 70 - 0 - 62 - 7 - 6 -Continuous -370 - -3 -390 -F - 0 -ENDTAB - 0 -TABLE - 2 -STYLE - 5 -3 -330 -0 -100 -AcDbSymbolTable - 70 - 1 - 0 -STYLE - 5 -11 -330 -3 -100 -AcDbSymbolTableRecord -100 -AcDbTextStyleTableRecord - 2 -Standard - 70 - 0 - 40 -0.0 - 41 -1.0 - 50 -0.0 - 71 - 0 - 42 -0.2 - 3 -txt - 4 - - 0 -ENDTAB - 0 -TABLE - 2 -VIEW - 5 -6 -330 -0 -100 -AcDbSymbolTable - 70 - 0 - 0 -ENDTAB - 0 -TABLE - 2 -UCS - 5 -7 -330 -0 -100 -AcDbSymbolTable - 70 - 0 - 0 -ENDTAB - 0 -TABLE - 2 -APPID - 5 -9 -330 -0 -100 -AcDbSymbolTable - 70 - 1 - 0 -APPID - 5 -12 -330 -9 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord - 2 -ACAD - 70 - 0 - 0 -ENDTAB - 0 -TABLE - 2 -DIMSTYLE - 5 -A -330 -0 -100 -AcDbSymbolTable - 70 - 1 -100 -AcDbDimStyleTable - 0 -DIMSTYLE -105 -27 -330 -A -100 -AcDbSymbolTableRecord -100 -AcDbDimStyleTableRecord - 2 -Standard - 70 - 0 -340 -11 - 0 -ENDTAB - 0 -TABLE - 2 -BLOCK_RECORD - 5 -1 -330 -0 -100 -AcDbSymbolTable - 70 - 1 - 0 -BLOCK_RECORD - 5 -1F -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord - 2 -*Model_Space -340 -22 - 0 -BLOCK_RECORD - 5 -1B -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord - 2 -*Paper_Space -340 -1E - 0 -BLOCK_RECORD - 5 -23 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord - 2 -*Paper_Space0 -340 -26 - 0 -ENDTAB - 0 -ENDSEC - 0 -SECTION - 2 -BLOCKS - 0 -BLOCK - 5 -20 -330 -1F -100 -AcDbEntity - 8 -0 -100 -AcDbBlockBegin - 2 -*Model_Space - 70 - 0 - 10 -0.0 - 20 -0.0 - 30 -0.0 - 3 -*Model_Space - 1 - - 0 -ENDBLK - 5 -21 -330 -1F -100 -AcDbEntity - 8 -0 -100 -AcDbBlockEnd - 0 -BLOCK - 5 -1C -330 -1B -100 -AcDbEntity - 67 - 1 - 8 -0 -100 -AcDbBlockBegin - 2 -*Paper_Space - 70 - 0 - 10 -0.0 - 20 -0.0 - 30 -0.0 - 3 -*Paper_Space - 1 - - 0 -ENDBLK - 5 -1D -330 -1B -100 -AcDbEntity - 67 - 1 - 8 -0 -100 -AcDbBlockEnd - 0 -BLOCK - 5 -24 -330 -23 -100 -AcDbEntity - 8 -0 -100 -AcDbBlockBegin - 2 -*Paper_Space0 - 70 - 0 - 10 -0.0 - 20 -0.0 - 30 -0.0 - 3 -*Paper_Space0 - 1 - - 0 -ENDBLK - 5 -25 -330 -23 -100 -AcDbEntity - 8 -0 -100 -AcDbBlockEnd - 0 -ENDSEC - 0 -SECTION - 2 -ENTITIES diff --git a/bin/gdal_data/inspire_cp_BasicPropertyUnit.gfs b/bin/gdal_data/inspire_cp_BasicPropertyUnit.gfs deleted file mode 100644 index 43e0f474..00000000 --- a/bin/gdal_data/inspire_cp_BasicPropertyUnit.gfs +++ /dev/null @@ -1,57 +0,0 @@ - - - BasicPropertyUnit - BasicPropertyUnit - None - - inspireId_localId - inspireId|Identifier|localId - String - - - inspireId_namespace - inspireId|Identifier|namespace - String - - - nationalCadastralReference - nationalCadastralReference - String - - - areaValue - areaValue - Real - - - areaValue_uom - areaValue@uom - String - - - validFrom - validFrom - String - - - validTo - validTo - String - - - beginLifespanVersion - beginLifespanVersion - String - - - endLifespanVersion - endLifespanVersion - String - - - administrativeUnit_href - administrativeUnit@href - String - - - diff --git a/bin/gdal_data/inspire_cp_CadastralBoundary.gfs b/bin/gdal_data/inspire_cp_CadastralBoundary.gfs deleted file mode 100644 index 6b271308..00000000 --- a/bin/gdal_data/inspire_cp_CadastralBoundary.gfs +++ /dev/null @@ -1,60 +0,0 @@ - - - CadastralBoundary - CadastralBoundary - - geometry - LineString - - - beginLifespanVersion - beginLifespanVersion - String - - - endLifespanVersion - endLifespanVersion - String - - - - - estimatedAccuracy - estimatedAccuracy - Real - - - estimatedAccuracy_uom - estimatedAccuracy@uom - String - - - - inspireId_localId - inspireId|Identifier|localId - String - - - inspireId_namespace - inspireId|Identifier|namespace - String - - - - validFrom - validFrom - String - - - validTo - validTo - String - - - - parcel_href - parcel@href - StringList - - - diff --git a/bin/gdal_data/inspire_cp_CadastralParcel.gfs b/bin/gdal_data/inspire_cp_CadastralParcel.gfs deleted file mode 100644 index 129b0e2c..00000000 --- a/bin/gdal_data/inspire_cp_CadastralParcel.gfs +++ /dev/null @@ -1,81 +0,0 @@ - - - CadastralParcel - CadastralParcel - - geometry - geometry - MultiPolygon - - - referencePoint - referencePoint - Point - - - areaValue - areaValue - Real - - - areaValue_uom - areaValue@uom - String - - - beginLifespanVersion - beginLifespanVersion - String - - - endLifespanVersion - endLifespanVersion - String - - - inspireId_localId - inspireId|Identifier|localId - String - - - inspireId_namespace - inspireId|Identifier|namespace - String - - - label - label - String - - - nationalCadastralReference - nationalCadastralReference - String - - - validFrom - validFrom - String - - - validTo - validTo - String - - - basicPropertyUnit_href - basicPropertyUnit@href - StringList - - - administrativeUnit_href - administrativeUnit@href - String - - - zoning_href - zoning@href - String - - - diff --git a/bin/gdal_data/inspire_cp_CadastralZoning.gfs b/bin/gdal_data/inspire_cp_CadastralZoning.gfs deleted file mode 100644 index e564dff6..00000000 --- a/bin/gdal_data/inspire_cp_CadastralZoning.gfs +++ /dev/null @@ -1,161 +0,0 @@ - - - CadastralZoning - CadastralZoning - - - geometry - geometry - MultiPolygon - - - referencePoint - referencePoint - Point - - - - beginLifespanVersion - beginLifespanVersion - String - - - endLifespanVersion - endLifespanVersion - String - - - - estimatedAccuracy - estimatedAccuracy - Real - - - estimatedAccuracy_uom - estimatedAccuracy@uom - String - - - - inspireId_localId - inspireId|Identifier|localId - String - - - inspireId_namespace - inspireId|Identifier|namespace - String - - - - label - label - String - - - - level - level - String - - - - levelName - levelName|LocalisedCharacterString - StringList - - - levelName_locale - levelName|LocalisedCharacterString@locale - StringList - - - - - - name_language - name|GeographicalName|language - StringList - - - name_nativeness - name|GeographicalName|nativeness - StringList - - - name_nameStatus - name|GeographicalName|nameStatus - StringList - - - name_pronunciation - name|GeographicalName|pronunciation - StringList - - - name_spelling_text - name|GeographicalName|spelling|SpellingOfName|text - StringList - - - name_spelling_script - name|GeographicalName|spelling|SpellingOfName|script - StringList - - - - nationalCadastalZoningReference - nationalCadastalZoningReference - String - - - - originalMapScaleDenominator - originalMapScaleDenominator - Integer - - - - validFrom - validFrom - String - - - validTo - validTo - String - - - - upperLevelUnit_href - upperLevelUnit@href - String - - - - diff --git a/bin/gdal_data/jpfgdgml_AdmArea.gfs b/bin/gdal_data/jpfgdgml_AdmArea.gfs deleted file mode 100644 index 00ff3055..00000000 --- a/bin/gdal_data/jpfgdgml_AdmArea.gfs +++ /dev/null @@ -1,59 +0,0 @@ - - - AdmArea - AdmArea - urn:ogc:def:crs:EPSG::6668 - area - Polygon - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - name - name - String - - - admCode - admCode - String - - - diff --git a/bin/gdal_data/jpfgdgml_AdmBdry.gfs b/bin/gdal_data/jpfgdgml_AdmBdry.gfs deleted file mode 100644 index fda59185..00000000 --- a/bin/gdal_data/jpfgdgml_AdmBdry.gfs +++ /dev/null @@ -1,49 +0,0 @@ - - - AdmBdry - AdmBdry - urn:ogc:def:crs:EPSG::6668 - loc - LineString - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - diff --git a/bin/gdal_data/jpfgdgml_AdmPt.gfs b/bin/gdal_data/jpfgdgml_AdmPt.gfs deleted file mode 100644 index 13717e08..00000000 --- a/bin/gdal_data/jpfgdgml_AdmPt.gfs +++ /dev/null @@ -1,59 +0,0 @@ - - - AdmPt - AdmPt - urn:ogc:def:crs:EPSG::6668 - pos - Point - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - name - name - String - - - admCode - admCode - String - - - diff --git a/bin/gdal_data/jpfgdgml_BldA.gfs b/bin/gdal_data/jpfgdgml_BldA.gfs deleted file mode 100644 index fac24332..00000000 --- a/bin/gdal_data/jpfgdgml_BldA.gfs +++ /dev/null @@ -1,54 +0,0 @@ - - - BldA - BldA - urn:ogc:def:crs:EPSG::6668 - area - Polygon - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - name - name - String - - - diff --git a/bin/gdal_data/jpfgdgml_BldL.gfs b/bin/gdal_data/jpfgdgml_BldL.gfs deleted file mode 100644 index 5b8f9ce0..00000000 --- a/bin/gdal_data/jpfgdgml_BldL.gfs +++ /dev/null @@ -1,54 +0,0 @@ - - - BldL - BldL - urn:ogc:def:crs:EPSG::6668 - loc - LineString - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - name - name - String - - - diff --git a/bin/gdal_data/jpfgdgml_Cntr.gfs b/bin/gdal_data/jpfgdgml_Cntr.gfs deleted file mode 100644 index a06ee674..00000000 --- a/bin/gdal_data/jpfgdgml_Cntr.gfs +++ /dev/null @@ -1,54 +0,0 @@ - - - Cntr - Cntr - urn:ogc:def:crs:EPSG::6668 - loc - LineString - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - alti - alti - Real - - - diff --git a/bin/gdal_data/jpfgdgml_CommBdry.gfs b/bin/gdal_data/jpfgdgml_CommBdry.gfs deleted file mode 100644 index ac865f51..00000000 --- a/bin/gdal_data/jpfgdgml_CommBdry.gfs +++ /dev/null @@ -1,49 +0,0 @@ - - - CommBdry - CommBdry - urn:ogc:def:crs:EPSG::6668 - loc - LineString - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - diff --git a/bin/gdal_data/jpfgdgml_CommPt.gfs b/bin/gdal_data/jpfgdgml_CommPt.gfs deleted file mode 100644 index 425b587e..00000000 --- a/bin/gdal_data/jpfgdgml_CommPt.gfs +++ /dev/null @@ -1,59 +0,0 @@ - - - CommPt - CommPt - urn:ogc:def:crs:EPSG::6668 - pos - Point - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - name - name - String - - - admCode - admCode - String - - - diff --git a/bin/gdal_data/jpfgdgml_Cstline.gfs b/bin/gdal_data/jpfgdgml_Cstline.gfs deleted file mode 100644 index 4cca3f2e..00000000 --- a/bin/gdal_data/jpfgdgml_Cstline.gfs +++ /dev/null @@ -1,54 +0,0 @@ - - - Cstline - Cstline - urn:ogc:def:crs:EPSG::6668 - loc - LineString - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - name - name - String - - - diff --git a/bin/gdal_data/jpfgdgml_ElevPt.gfs b/bin/gdal_data/jpfgdgml_ElevPt.gfs deleted file mode 100644 index 970fbe60..00000000 --- a/bin/gdal_data/jpfgdgml_ElevPt.gfs +++ /dev/null @@ -1,54 +0,0 @@ - - - ElevPt - ElevPt - urn:ogc:def:crs:EPSG::6668 - pos - Point - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - alti - alti - Real - - - diff --git a/bin/gdal_data/jpfgdgml_GCP.gfs b/bin/gdal_data/jpfgdgml_GCP.gfs deleted file mode 100644 index a3cf4ef9..00000000 --- a/bin/gdal_data/jpfgdgml_GCP.gfs +++ /dev/null @@ -1,94 +0,0 @@ - - - GCP - GCP - urn:ogc:def:crs:EPSG::6668 - pos - Point - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - advNo - advNo - String - - - orgName - orgName - String - - - type - type - String - - - gcpClass - gcpClass - String - - - gcpCode - gcpCode - String - - - name - name - String - - - B - B - Real - - - L - L - Real - - - alti - alti - Real - - - altiAcc - altiAcc - Integer - - - diff --git a/bin/gdal_data/jpfgdgml_LeveeEdge.gfs b/bin/gdal_data/jpfgdgml_LeveeEdge.gfs deleted file mode 100644 index 7263fa17..00000000 --- a/bin/gdal_data/jpfgdgml_LeveeEdge.gfs +++ /dev/null @@ -1,49 +0,0 @@ - - - LeveeEdge - LeveeEdge - urn:ogc:def:crs:EPSG::6668 - loc - LineString - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - name - name - String - - - diff --git a/bin/gdal_data/jpfgdgml_RailCL.gfs b/bin/gdal_data/jpfgdgml_RailCL.gfs deleted file mode 100644 index e1ec0708..00000000 --- a/bin/gdal_data/jpfgdgml_RailCL.gfs +++ /dev/null @@ -1,54 +0,0 @@ - - - RailCL - RailCL - urn:ogc:def:crs:EPSG::6668 - loc - LineString - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - name - name - String - - - diff --git a/bin/gdal_data/jpfgdgml_RdASL.gfs b/bin/gdal_data/jpfgdgml_RdASL.gfs deleted file mode 100644 index 1b413d36..00000000 --- a/bin/gdal_data/jpfgdgml_RdASL.gfs +++ /dev/null @@ -1,44 +0,0 @@ - - - RdASL - RdASL - urn:ogc:def:crs:EPSG::6668 - loc - LineString - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - diff --git a/bin/gdal_data/jpfgdgml_RdArea.gfs b/bin/gdal_data/jpfgdgml_RdArea.gfs deleted file mode 100644 index 9c242b39..00000000 --- a/bin/gdal_data/jpfgdgml_RdArea.gfs +++ /dev/null @@ -1,54 +0,0 @@ - - - RdArea - RdArea - urn:ogc:def:crs:EPSG::6668 - area - Polygon - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - name - name - String - - - admOffice - admOffice - String - - - diff --git a/bin/gdal_data/jpfgdgml_RdCompt.gfs b/bin/gdal_data/jpfgdgml_RdCompt.gfs deleted file mode 100644 index 4af814db..00000000 --- a/bin/gdal_data/jpfgdgml_RdCompt.gfs +++ /dev/null @@ -1,59 +0,0 @@ - - - RdCompt - RdCompt - urn:ogc:def:crs:EPSG::6668 - loc - LineString - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - name - name - String - - - admOffice - admOffice - String - - - diff --git a/bin/gdal_data/jpfgdgml_RdEdg.gfs b/bin/gdal_data/jpfgdgml_RdEdg.gfs deleted file mode 100644 index b43a96c4..00000000 --- a/bin/gdal_data/jpfgdgml_RdEdg.gfs +++ /dev/null @@ -1,59 +0,0 @@ - - - RdEdg - RdEdg - urn:ogc:def:crs:EPSG::6668 - loc - LineString - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - name - name - String - - - admOffice - admOffice - String - - - diff --git a/bin/gdal_data/jpfgdgml_RdMgtBdry.gfs b/bin/gdal_data/jpfgdgml_RdMgtBdry.gfs deleted file mode 100644 index de5eaf4b..00000000 --- a/bin/gdal_data/jpfgdgml_RdMgtBdry.gfs +++ /dev/null @@ -1,49 +0,0 @@ - - - RdMgtBdry - RdMgtBdry - urn:ogc:def:crs:EPSG::6668 - loc - LineString - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - name - name - String - - - diff --git a/bin/gdal_data/jpfgdgml_RdSgmtA.gfs b/bin/gdal_data/jpfgdgml_RdSgmtA.gfs deleted file mode 100644 index fbde9b97..00000000 --- a/bin/gdal_data/jpfgdgml_RdSgmtA.gfs +++ /dev/null @@ -1,59 +0,0 @@ - - - RdSgmtA - RdSgmtA - urn:ogc:def:crs:EPSG::6668 - area - Polygon - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - name - name - String - - - admOffice - admOffice - String - - - diff --git a/bin/gdal_data/jpfgdgml_RvrMgtBdry.gfs b/bin/gdal_data/jpfgdgml_RvrMgtBdry.gfs deleted file mode 100644 index 1b25ef77..00000000 --- a/bin/gdal_data/jpfgdgml_RvrMgtBdry.gfs +++ /dev/null @@ -1,49 +0,0 @@ - - - RvrMgtBdry - RvrMgtBdry - urn:ogc:def:crs:EPSG::6668 - loc - LineString - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - name - name - String - - - diff --git a/bin/gdal_data/jpfgdgml_SBAPt.gfs b/bin/gdal_data/jpfgdgml_SBAPt.gfs deleted file mode 100644 index c3963009..00000000 --- a/bin/gdal_data/jpfgdgml_SBAPt.gfs +++ /dev/null @@ -1,49 +0,0 @@ - - - SBAPt - SBAPt - urn:ogc:def:crs:EPSG::6668 - pos - Point - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - sbaNo - sbaNo - String - - - diff --git a/bin/gdal_data/jpfgdgml_SBArea.gfs b/bin/gdal_data/jpfgdgml_SBArea.gfs deleted file mode 100644 index 5f351f0a..00000000 --- a/bin/gdal_data/jpfgdgml_SBArea.gfs +++ /dev/null @@ -1,54 +0,0 @@ - - - SBArea - SBArea - urn:ogc:def:crs:EPSG::6668 - area - Polygon - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - sbaNo - sbaNo - String - - - diff --git a/bin/gdal_data/jpfgdgml_SBBdry.gfs b/bin/gdal_data/jpfgdgml_SBBdry.gfs deleted file mode 100644 index ba24e530..00000000 --- a/bin/gdal_data/jpfgdgml_SBBdry.gfs +++ /dev/null @@ -1,44 +0,0 @@ - - - SBBdry - SBBdry - urn:ogc:def:crs:EPSG::6668 - loc - LineString - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - diff --git a/bin/gdal_data/jpfgdgml_WA.gfs b/bin/gdal_data/jpfgdgml_WA.gfs deleted file mode 100644 index 9c442330..00000000 --- a/bin/gdal_data/jpfgdgml_WA.gfs +++ /dev/null @@ -1,54 +0,0 @@ - - - WA - WA - urn:ogc:def:crs:EPSG::6668 - area - Polygon - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - name - name - String - - - diff --git a/bin/gdal_data/jpfgdgml_WL.gfs b/bin/gdal_data/jpfgdgml_WL.gfs deleted file mode 100644 index f57fa5a6..00000000 --- a/bin/gdal_data/jpfgdgml_WL.gfs +++ /dev/null @@ -1,54 +0,0 @@ - - - WL - WL - urn:ogc:def:crs:EPSG::6668 - loc - LineString - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - name - name - String - - - diff --git a/bin/gdal_data/jpfgdgml_WStrA.gfs b/bin/gdal_data/jpfgdgml_WStrA.gfs deleted file mode 100644 index 9e3ecb21..00000000 --- a/bin/gdal_data/jpfgdgml_WStrA.gfs +++ /dev/null @@ -1,54 +0,0 @@ - - - WStrA - WStrA - urn:ogc:def:crs:EPSG::6668 - area - Polygon - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - name - name - String - - - diff --git a/bin/gdal_data/jpfgdgml_WStrL.gfs b/bin/gdal_data/jpfgdgml_WStrL.gfs deleted file mode 100644 index a5c09dae..00000000 --- a/bin/gdal_data/jpfgdgml_WStrL.gfs +++ /dev/null @@ -1,54 +0,0 @@ - - - WStrL - WStrL - urn:ogc:def:crs:EPSG::6668 - loc - LineString - - fid - fid - String - - - lfSpanFr - lfSpanFr|timePosition - String - - - lfSpanTo - lfSpanTo|timePosition - String - - - devDate - devDate|timePosition - String - - - orgGILvl - orgGILvl - String - - - orgMDId - orgMDId - String - - - vis - vis - String - - - type - type - String - - - name - name - String - - - diff --git a/bin/gdal_data/netcdf_config.xsd b/bin/gdal_data/netcdf_config.xsd deleted file mode 100644 index 2bf1cc86..00000000 --- a/bin/gdal_data/netcdf_config.xsd +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - - Define a layer creation option that applies to all layers. - - - - - Define a global attribute that must be written (or removed) and applies to all layers. - - - - - Define the characteristics of an OGR field / netCDF variable that applies to all layers (that actually uses it) - - - - - Define layer specific settings for layer creaetion options, fields and attributes. - - - - - - - - - - - - - - - - Value to set as attribute, or empty string - to delete an existing attribute - - - - - - - - - - - - - - - - - - Define an attribute that must be written (or removed) from a OGR field / netCDF variable. - - - - - OGR field name. - - - netCDF variable name. When both name - and netcdf_name are set, the OGR field {name} will be written as the - netCDF {netcdf_name} variable. When netcdf_name is set, but name is none, - then the Field definition will match an implictly created netCDF variable, - such as x/lon, y/lat, z, ... - - - - - Name of the main dimension against which the variable must be indexed. - If not set, the record dimension will be used. Only useful when using - a layer with FeatureType!=Point. - - - - - - - - - Define a layer creation option. Overrides or appended to - existing global layer creation options. - - - - - Define a global attribute that must be written (or removed). - Overrides or appended to existing global attributes. - - - - - Define the characteristics of an OGR field / netCDF variable - (that must exist as an explicit OGR field, or an implicitly created netCDF variable). - Supersedes global Field definition. - - - - - OGR layer name. - - - netCDF group name. - - - - diff --git a/bin/gdal_data/nitf_spec.xml b/bin/gdal_data/nitf_spec.xml deleted file mode 100644 index 26d93484..00000000 --- a/bin/gdal_data/nitf_spec.xml +++ /dev/null @@ -1,1691 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/gdal_data/nitf_spec.xsd b/bin/gdal_data/nitf_spec.xsd deleted file mode 100644 index 48806e63..00000000 --- a/bin/gdal_data/nitf_spec.xsd +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/gdal_data/ogrvrt.xsd b/bin/gdal_data/ogrvrt.xsd deleted file mode 100644 index 879bc5fa..00000000 --- a/bin/gdal_data/ogrvrt.xsd +++ /dev/null @@ -1,539 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Required element - - - - - Optional element - - - - - SrcLayer or(eclusive) SrcSQL are required elements - - - - - - - - - - - - - - - - Use GeometryField.GeometryType for multi-geometry field support. - - - - - Use GeometryField.SRS for multi-geometry field support. - - - - - May be repeated - - - - - May be repeated - - - - - Use GeometryField.SrcRegion for multi-geometry field support. - - - - - Default to FALSE. - - - - - - Use GeometryField.ExtentXMin, etc... for multi-geometry field support. - - - - - - - - - - - - - - - - - - - - - - - - - - - A user-facing name can be specified here so that a FID column name is reported even if it is not reported as a regular field. - - - - - - - - - - - - - - - - - - - - - Default to FALSE. - - - - - - Default to FALSE. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Defaults to the value of "name" if not specified. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Defaults to Direct. - - - - - Name of the geometry field - - - - - Only used if encoding = "PointFromColumns" - - - - - Only used if encoding = "PointFromColumns" - - - - - Only used if encoding = "PointFromColumns" - - - - - Only used if encoding = "PointFromColumns" - - - - - Only used if encoding = "PointFromColumns". Defaults to TRUE. - - - - - Only used if no Field element is found at the OGRVRTLayer level - - - - - - - - - - - - - - - - - - - - - - - Used if encoding = "WKT", "WKB" or "Shape" to find - the attribute field of the source layer. - Used also in multiple geometry fields scenario to retrieve the - source geometry field matching the target VRT geometry field. - - - - - - - - - - - - Defaults to FALSE. - - - - - - - - - A valid WKT for a POLYGON - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - May be repeated - - - - - May be repeated - - - - - May be repeated - - - - - - Use GeometryField.GeometryType for multi-geometry field support. - - - - - Use GeometryField.SRS for multi-geometry field support. - - - - - Defaults to Union if no Field or GeometryField element is speicified. - - - - - May be repeated - - - - - May be repeated - - - - - Defaults to FALSE. - - - - - Name of fields in which to place the name of the source layer of each feature. - - - - - - Use GeometryField.ExtentXMin, etc. for multi-geometry field support. - - - - - - - - - - - - - - - - diff --git a/bin/gdal_data/osmconf.ini b/bin/gdal_data/osmconf.ini deleted file mode 100644 index 0ee63e29..00000000 --- a/bin/gdal_data/osmconf.ini +++ /dev/null @@ -1,121 +0,0 @@ -# -# Configuration file for OSM import -# - -# put here the name of keys, or key=value, for ways that are assumed to be polygons if they are closed -# see http://wiki.openstreetmap.org/wiki/Map_Features -closed_ways_are_polygons=aeroway,amenity,boundary,building,craft,geological,historic,landuse,leisure,military,natural,office,place,shop,sport,tourism,highway=platform,public_transport=platform - -# comment to avoid laundering of keys ( ':' turned into '_' ) -attribute_name_laundering=yes - -# uncomment to report all nodes, including the ones without any (significant) tag -#report_all_nodes=yes - -# uncomment to report all ways, including the ones without any (significant) tag -#report_all_ways=yes - -[points] -# common attributes -osm_id=yes -osm_version=no -osm_timestamp=no -osm_uid=no -osm_user=no -osm_changeset=no - -# keys to report as OGR fields -attributes=name,barrier,highway,ref,address,is_in,place,man_made -# keys that, alone, are not significant enough to report a node as a OGR point -unsignificant=created_by,converted_by,source,time,ele,attribution -# keys that should NOT be reported in the "other_tags" field -ignore=created_by,converted_by,source,time,ele,note,openGeoDB:,fixme,FIXME -# uncomment to avoid creation of "other_tags" field -#other_tags=no -# uncomment to create "all_tags" field. "all_tags" and "other_tags" are exclusive -#all_tags=yes - -[lines] -# common attributes -osm_id=yes -osm_version=no -osm_timestamp=no -osm_uid=no -osm_user=no -osm_changeset=no - -# keys to report as OGR fields -attributes=name,highway,waterway,aerialway,barrier,man_made - -# type of attribute 'foo' can be changed with something like -#foo_type=Integer/Real/String/DateTime - -# keys that should NOT be reported in the "other_tags" field -ignore=created_by,converted_by,source,time,ele,note,openGeoDB:,fixme,FIXME -# uncomment to avoid creation of "other_tags" field -#other_tags=no -# uncomment to create "all_tags" field. "all_tags" and "other_tags" are exclusive -#all_tags=yes - -#computed_attributes must appear before the keywords _type and _sql -computed_attributes=z_order -z_order_type=Integer -# Formula based on https://github.com/openstreetmap/osm2pgsql/blob/master/style.lua#L13 -# [foo] is substituted by value of tag foo. When substitution is not wished, the [ character can be escaped with \[ in literals -z_order_sql="SELECT (CASE [highway] WHEN 'minor' THEN 3 WHEN 'road' THEN 3 WHEN 'unclassified' THEN 3 WHEN 'residential' THEN 3 WHEN 'tertiary_link' THEN 4 WHEN 'tertiary' THEN 4 WHEN 'secondary_link' THEN 6 WHEN 'secondary' THEN 6 WHEN 'primary_link' THEN 7 WHEN 'primary' THEN 7 WHEN 'trunk_link' THEN 8 WHEN 'trunk' THEN 8 WHEN 'motorway_link' THEN 9 WHEN 'motorway' THEN 9 ELSE 0 END) + (CASE WHEN [bridge] IN ('yes', 'true', '1') THEN 10 ELSE 0 END) + (CASE WHEN [tunnel] IN ('yes', 'true', '1') THEN -10 ELSE 0 END) + (CASE WHEN [railway] IS NOT NULL THEN 5 ELSE 0 END) + (CASE WHEN [layer] IS NOT NULL THEN 10 * CAST([layer] AS INTEGER) ELSE 0 END)" - -[multipolygons] -# common attributes -# note: for multipolygons, osm_id=yes instantiates a osm_id field for the id of relations -# and a osm_way_id field for the id of closed ways. Both fields are exclusively set. -osm_id=yes -osm_version=no -osm_timestamp=no -osm_uid=no -osm_user=no -osm_changeset=no - -# keys to report as OGR fields -attributes=name,type,aeroway,amenity,admin_level,barrier,boundary,building,craft,geological,historic,land_area,landuse,leisure,man_made,military,natural,office,place,shop,sport,tourism -# keys that should NOT be reported in the "other_tags" field -ignore=area,created_by,converted_by,source,time,ele,note,openGeoDB:,fixme,FIXME -# uncomment to avoid creation of "other_tags" field -#other_tags=no -# uncomment to create "all_tags" field. "all_tags" and "other_tags" are exclusive -#all_tags=yes - -[multilinestrings] -# common attributes -osm_id=yes -osm_version=no -osm_timestamp=no -osm_uid=no -osm_user=no -osm_changeset=no - -# keys to report as OGR fields -attributes=name,type -# keys that should NOT be reported in the "other_tags" field -ignore=area,created_by,converted_by,source,time,ele,note,openGeoDB:,fixme,FIXME -# uncomment to avoid creation of "other_tags" field -#other_tags=no -# uncomment to create "all_tags" field. "all_tags" and "other_tags" are exclusive -#all_tags=yes - -[other_relations] -# common attributes -osm_id=yes -osm_version=no -osm_timestamp=no -osm_uid=no -osm_user=no -osm_changeset=no - -# keys to report as OGR fields -attributes=name,type -# keys that should NOT be reported in the "other_tags" field -ignore=area,created_by,converted_by,source,time,ele,note,openGeoDB:,fixme,FIXME -# uncomment to avoid creation of "other_tags" field -#other_tags=no -# uncomment to create "all_tags" field. "all_tags" and "other_tags" are exclusive -#all_tags=yes diff --git a/bin/gdal_data/ozi_datum.csv b/bin/gdal_data/ozi_datum.csv deleted file mode 100644 index 13676d16..00000000 --- a/bin/gdal_data/ozi_datum.csv +++ /dev/null @@ -1,131 +0,0 @@ -NAME,EPSG_DATUM_CODE,ELLIPSOID_CODE,DELTAX,DELTAY,DELTAZ -# -# Note : We have permission from Des Newman on behalf of OziExplorer to use this list. -# See : http://trac.osgeo.org/gdal/ticket/3929#comment:2 -# Note 2: EPSG_DATUM_CODE is used in priority to retrieve ellipsoid and datum shift values -# from the CSV files imported from EPSG database, that are more up-to-date. It -# overrides the values found in this file and from ozi_ellips.csv. See #3929 for more details. -# -Adindan,4201,5,-162,-12,206 # Africa - Eritrea, Ethiopia and Sudan -Afgooye,4205,15,-43,-163,45 # Somalia -Ain el Abd 1970,4204,14,-150,-251,-2 # Asia - Middle East - Bahrain, Kuwait and Saudi Arabia -Anna 1 Astro 1965,4708,2,-491,-22,435 # Cocos (Keeling) Islands -Arc 1950,4209,5,-143,-90,-294 # Africa - Botswana, Malawi, Zambia, Zimbabwe -Arc 1960,4210,5,-160,-8,-300 # Africa - Kenya, Tanzania and Uganda -Ascension Island 1958,4712,14,-207,107,52 # St Helena - Ascension Island -Astro B4 Sorol Atoll,4707,14,114,-116,-333 # USA - Hawaii - Tern Island and Sorel Atoll -Astro Beacon 1945,4709,14,145,75,-272 # Japan - Iwo Jima -Astro DOS 71/4,4710,14,-320,550,-494 # St Helena - St Helena Island -Astronomic Stn 1952,4711,14,124,-234,-25 # Japan - Minamitori-shima (Marcus Island) -Australian Geodetic 1966,4202,2,-133,-48,148 # Australasia - Australia and PNG - AGD66 -Australian Geodetic 1984,4203,2,-134,-48,149 # Australia - AGD84 -Australian Geocentric 1994 (GDA94),4283,11,0,0,0 # Australia - GDA94 -Austrian,4312,3,594,84,471 # MGI - Europe, Austria and former Yugoslavia -Bellevue (IGN),4714,14,-127,-769,472 # Vanuatu - southern islands -Bermuda 1957,4216,4,-73,213,296 # Bermuda -Bogota Observatory,4218,14,307,304,-318 # Colombia -Campo Inchauspe,4221,14,-148,136,90 # Argentina -Canton Astro 1966,4716,14,298,-304,-375 # Kiribati - Phoenix Islands -Cape,4222,5,-136,-108,-292 # Africa - Botswana and South Africa -Cape Canaveral,4717,4,-2,150,181 # North America - Bahamas and USA - Florida -Carthage,4223,5,-263,6,431 # Tunisia -CH-1903,4149,3,674,15,405 # Europe - Liechtenstein and Switzerland -Chatham 1971,4672,14,175,-38,113 # New Zealand - Chatham Islands -Chua Astro,4224,14,-134,229,-29 # South America - Brazil ; N Paraguay -Corrego Alegre,4225,14,-206,172,-6 # Brazil - Corrego Alegre -Djakarta (Batavia),4211,3,-377,681,-50 # Indonesia - Java -DOS 1968,,14,230,-199,-752 # Solomon Islands - Gizo Island : EPSG:4718 + EPSG:15805 (gcs.csv uses EPSG:15807) -Easter Island 1967,4719,14,211,147,111 # Chile - Easter Island -Egypt,,14,-130,-117,-151 # Egypt - EPSG code is 4199, but transformation parameters are missing in gcs.csv -European 1950,4230,14,-87,-98,-121 # Europe -European 1950 (Mean France),,14,-87,-96,-120 # Europe -France -European 1950 (Spain and Portugal),,14,-84,-107,-120 # Europe - Spain and Portugal -European 1979,4668,14,-86,-98,-119 # Europe - west -Finland Hayford,4123,14,-78,-231,-97 # Finland (KKJ) -Gandajika Base,4233,14,-133,-321,50 # Maldives -Geodetic Datum 1949,4272,14,84,-22,209 # New Zealand (NZGD49) -GGRS 87,4121,11,-199.87,74.79,246.62 # Greece -Guam 1963,4675,4,-100,-248,259 # Guam -GUX 1 Astro,4718,14,252,-209,-751 # Solomon Islands - Guadalcanal Island -Hartebeeshoek94,4148,20,0,0,0 # South Africa -Hermannskogel,3906,3,653,-212,449 # Boznia and Herzegovina; Croatia; FYR Macedonia; Montenegro; Serbia; Slovenia (MGI 1901) -Hjorsey 1955,4658,14,-73,46,-86 # Iceland -Hong Kong 1963,4739,14,-156,-271,-189 # China - Hong Kong -Hu-Tzu-Shan,4236,14,-634,-549,-201 # Taiwan -Indian Bangladesh,4682,6,289,734,257 # Bangladesh (Gulshan 303) -Indian Thailand,4240,6,214,836,303 # Thailand -Israeli,4281,23,-235,-85,264 # Asia - Middle East - Israel, Jordan and Palestine Territory (Palestine 1923) -Ireland 1965,4299,1,506,-122,611 # Europe - Ireland (Republic and Ulster) -ISTS 073 Astro 1969,4724,14,208,-435,-229 # British Indian Ocean Territory - Diego Garcia -Johnston Island,4725,14,191,-77,-204 # Johnston Island -Kandawala,4244,6,-97,787,86 # Sri Lanka -Kerguelen Island,4698,14,145,-187,103 # French Southern Territories - Kerguelen -Kertau 1948,4245,7,-11,851,5 # Asia - Malaysia (west) and Singapore -L.C. 5 Astro,4726,4,42,124,147 # Cayman Islands - Little Cayman and Cayman Brac -Liberia 1964,4251,5,-90,40,88 # Liberia -Luzon Mindanao,,4,-133,-79,-72 # Philippines - Mindanao (EPSG:4253 + EPSG:1162 Coordinate Transformation) -Luzon Philippines,4253,4,-133,-77,-51 # Philippines - excluding Mindanao -Mahe 1971,4256,5,41,-220,-134 # Seychelles -Marco Astro,4616,14,-289,-124,60 # Portugal - Selvagens islands (Madeira) -Massawa,4262,3,639,405,60 # Eritrea -Merchich,4261,5,31,146,47 # Morocco -Midway Astro 1961,4727,14,912,-58,1227 # Midway Islands - Sand and Eastern Islands -Minna,4263,5,-92,-93,122 # Nigeria -NAD27 Alaska,,4,-5,135,172 # Alaska (EPSG:4269 + EPSG:1176 Coordinate Transformation) -NAD27 Bahamas,,4,-4,154,178 # Bahamas (EPSG:4269 + EPSG:1177 Coordinate Transformation) -NAD27 Canada,,4,-10,158,187 # Canada (EPSG:4269 + EPSG:1172 Coordinate Transformation) -NAD27 Canal Zone,,4,0,125,201 # Panama (EPSG:4269 + EPSG:1184 Coordinate Transformation) -NAD27 Caribbean,,4,-7,152,178 # Caribbean -NAD27 Central,,4,0,125,194 # Central America (EPSG:4269 + EPSG:1171 Coordinate Transformation) -NAD27 CONUS,,4,-8,160,176 # Continental US (EPSG:4269 + EPSG:1173 Coordinate Transformation) -NAD27 Cuba,,4,-9,152,178 # Cuba (EPSG:4269 + EPSG:1185 Coordinate Transformation) -NAD27 Greenland,,4,11,114,195 # Greenland - Hayes Peninsula (EPSG:4269 + EPSG:1186 Coordinate Transformation) -NAD27 Mexico,,4,-12,130,190 # Mexico (EPSG:4269 + EPSG:1187 Coordinate Transformation) -NAD27 San Salvador,,4,1,140,165 # San Salvador (EPSG:4269 + EPSG:1178 Coordinate Transformation) -NAD83,4269,11,0,0,0 # North America -Nahrwn Masirah Ilnd,,5,-247,-148,369 # Oman - Masirah Island (EPSG:4270 + EPSG:1189) -Nahrwn Saudi Arbia,,5,-231,-196,482 # Saudi Arabia (EPSG:4270 + EPSG:1190) -Nahrwn United Arab,,5,-249,-156,381 # United Arab Emirates (UAE) (EPSG:4270 + EPSG:1191) -Naparima BWI,4271,14,-2,374,172 # Trinidad and Tobago - Tobago -NGO1948,4273,27,315,-217,528 # Norway -NTF France,4275,24,-168,-60,320 # France -Norsk,4817,27,278,93,474 # Norway (NGO 1948) -NZGD1949,4272,14,84,-22,209 # New Zealand -NZGD2000,4167,20,0,0,0 # New Zealand -Observatorio 1966,4182,14,-425,-169,81 # Portugal - western Azores -Old Egyptian,4229,12,-130,110,-13 # Egypt (1907) -Old Hawaiian,4135,4,61,-285,-181 # USA - Hawaii -Oman,4232,5,-346,-1,224 # Oman -Ord Srvy Grt Britn,4277,0,375,-111,431 # UK - Great Britain; Isle of Man -Pico De Las Nieves,4728,14,-307,-92,127 # Spain - Canary Islands -Pitcairn Astro 1967,4729,14,185,165,42 # Pitcairn Island -Potsdam Rauenberg DHDN,4314,3,606,23,413 # Germany -Prov So Amrican 1956,4248,14,-288,175,-376 # South America - PSAD56 -Prov So Chilean 1963,4254,14,16,196,93 # South America - Tierra del Fuego -Puerto Rico,4139,4,11,72,-101 # Caribbean - Puerto Rico and the Virgin Islands -Pulkovo 1942 (1),4284,15,28,-130,-95 # Europe - FSU -Pulkovo 1942 (2),4284,15,28,-130,-95 # Europe - FSU -Qatar National,4285,14,-128,-283,22 # Qatar -Qornoq,4287,14,164,138,-189 # Greenland -Reunion,4626,14,94,-948,-1262 # France - Reunion Island -Rijksdriehoeksmeting,4289,3,593,26,478 # Netherlands -Rome 1940,4806,14,-225,-65,9 # Italy - including San Marino and Vatican -RT 90,4124,3,498,-36,568 # Sweden -S42,4179,15,28,-121,-77 # Europe - eastern - S-42 -Santo (DOS),4730,14,170,42,84 # Vanuatu - northern islands -Sao Braz,4184,14,-203,141,53 # Portugal - eastern Azores -Sapper Hill 1943,4292,14,-355,16,74 # Falkland Islands -Schwarzeck,4293,21,616,97,-251 # Namibia -South American 1969,4291,16,-57,1,-41 # South America - SAD69 -South Asia,,8,7,-10,-26 # Singapore (unknown EPSG code) -Southeast Base,4615,14,-499,-249,314 # Porto Santo and Madeira Islands -Southwest Base,4183,14,-104,167,-38 # Faial, Graciosa, Pico, Sao Jorge and Terceira -Timbalai 1948,4298,6,-689,691,-46 # Asia - Brunei and East Malaysia -Tokyo,4301,3,-128,481,664 # Asia - Japan and Korea -Tristan Astro 1968,4734,14,-632,438,-609 # St Helena - Tristan da Cunha -Viti Levu 1916,4731,5,51,391,-36 # Fiji - Viti Levu -Wake-Eniwetok 1960,4732,13,101,52,-39 # Marshall Islands - Eniwetok, Kwajalein and Wake islands -WGS 72,4322,19,0,0,5 # World -WGS 84,4326,20,0,0,0 # World -Yacare,4309,14,-155,171,37 # Uruguay -Zanderij,4311,14,-265,120,-358 # Suriname diff --git a/bin/gdal_data/ozi_ellips.csv b/bin/gdal_data/ozi_ellips.csv deleted file mode 100644 index 071e39e5..00000000 --- a/bin/gdal_data/ozi_ellips.csv +++ /dev/null @@ -1,35 +0,0 @@ -ELLIPSOID_CODE,NAME,A,INVF -# -# Note : We have permission from Des Newman on behalf of OziExplorer to use this list. -# See : http://trac.osgeo.org/gdal/ticket/3929#comment:2 -# -0,Airy 1830,6377563.396,299.3249646 -1,Modified Airy,6377340.189,299.3249646 -2,Australian National,6378160.0,298.25 -3,Bessel 1841,6377397.155,299.1528128 -4,Clarke 1866,6378206.4,294.9786982 -5,Clarke 1880,6378249.145,293.465 -6,Everest (India 1830),6377276.345,300.8017 -7,Everest (1948),6377304.063,300.8017 -8,Modified Fischer 1960,6378155.0,298.3 -9,Everest (Pakistan),6377309.613,300.8017 -10,Indonesian 1974,6378160.0,298.247 -11,GRS 80,6378137.0,298.257222101 -12,Helmert 1906,6378200.0,298.3 -13,Hough 1960,6378270.0,297.0 -14,International 1924,6378388.0,297.0 -15,Krassovsky 1940,6378245.0,298.3 -16,South American 1969,6378160.0,298.25 -17,Everest (Malaysia 1969),6377295.664,300.8017 -18,Everest (Sabah Sarawak),6377298.556,300.8017 -19,WGS 72,6378135.0,298.26 -20,WGS 84,6378137.0,298.257223563 -21,Bessel 1841 (Namibia),6377483.865,299.1528128 -22,Everest (India 1956),6377301.243,300.8017 -23,Clarke 1880 Palestine,6378300.789,293.466 -24,Clarke 1880 IGN,6378249.2,293.466021 -25,Hayford 1909,6378388.0,296.959263 -26,Clarke 1858,6378350.87,294.26 -27,Bessel 1841 (Norway),6377492.0176,299.1528 -28,Plessis 1817 (France),6376523.0,308.6409971 -29,Hayford 1924,6378388.0,297.0 diff --git a/bin/gdal_data/pci_datum.txt b/bin/gdal_data/pci_datum.txt deleted file mode 100644 index a7654032..00000000 --- a/bin/gdal_data/pci_datum.txt +++ /dev/null @@ -1,463 +0,0 @@ -! -! By email on December 2nd, 2010: -! -! I, Louis Burry, on behalf of PCI Geomatics agree to allow the ellips.txt -! and datum.txt file to be distributed under the GDAL open source license. -! -! Louis Burry -! VP Technology & Delivery -! PCI Geomatics -! -! NOTE: The range of "D900" to "D998" is set aside for -! the use of local customer development. -! -! And the range of "D-90" to "D-98" is set aside for -! the use of local customer development. -! -"DoD World Geodetic System 1984, DMA TR 8350.2" -"4 JUL 1997, Third Printing, Includes 3 JAN 2000 Updates" -"D-01","NAD27 (USA, NADCON)","E000","Conterminous U.S.","conus.los","conus.las" -"D-02","NAD83 (USA, NADCON)","E008","Conterminous U.S.","conus.los","conus.las" -"D-03","NAD27 (Canada, NTv1)","E000","Canada","grid.dac" -"D-04","NAD83 (Canada, NTv1)","E008","Canada","grid.dac" -"D-07","NAD27 (USA, NADCON)","E000","Alaska","alaska.los","alaska.las" -"D-08","NAD83 (USA, NADCON)","E008","Alaska","alaska.los","alaska.las" -"D-09","NAD27 (USA, NADCON)","E000","St. George","stgeorge.los","stgeorge.las" -"D-10","NAD83 (USA, NADCON)","E008","St. George","stgeorge.los","stgeorge.las" -"D-11","NAD27 (USA, NADCON)","E000","St. Lawrence","stlrnc.los","stlrnc.las" -"D-12","NAD83 (USA, NADCON)","E008","St. Lawrence","stlrnc.los","stlrnc.las" -"D-13","NAD27 (USA, NADCON)","E000","St. Paul","stpaul.los","stpaul.las" -"D-14","NAD83 (USA, NADCON)","E008","St. Paul","stpaul.los","stpaul.las" -"D-15","Old Hawaiian (USA, NADCON)","E000","Hawaii","hawaii.los","hawaii.las" -"D-16","NAD83 (USA, NADCON)","E008","Hawaii","hawaii.los","hawaii.las" -"D-17","NAD27 (USA, NADCON)","E000","Puerto Rico Virgin Islands","prvi.los","prvi.las" -"D-18","NAD83 (USA, NADCON)","E008","Puerto Rico Virgin Islands","prvi.los","prvi.las" -!"D-19","AGD66 (NTv2)","E014","Australia","A66 National (13.09.01).gsb" -!"D-20","AGD84 (NTv2)","E014","Australia","National 84 (02.07.01).gsb" -!"D-21","GDA94 (from AGD66, NTv2)","E008","Australia","A66 National (13.09.01).gsb" -!"D-22","GDA94 (from AGD84, NTv2)","E008","Australia","National 84 (02.07.01).gsb" -!"D-23","NZGD49 (NTv2)","E004","New Zealand","nzgd2kgrid0005.gsb" -!"D-24","NZGD2000 (NTv2)","E008","New Zealand","nzgd2kgrid0005.gsb" -!"D-66","NAD27 (NTv2)","E000","Quebec","na27scrs.gsb" -!"D-67","NAD83 (SCRS) (NTv2)","E008","Quebec","na27scrs.gsb" -!"D-68","NAD27 (NTv2)","E000","Quebec","na27na83.gsb" -!"D-69","NAD83 (NTv2)","E008","Quebec","na27na83.gsb" -!"D-70","NAD27 (CGQ77) (NTv2)","E000","Quebec","cq77scrs.gsb" -!"D-71","NAD83 (SCRS) (NTv2)","E008","Quebec","cq77scrs.gsb" -!"D-72","NAD27 (CGQ77) (NTv2)","E000","Quebec","cq77na83.gsb" -!"D-73","NAD83 (NTv2)","E008","Quebec","cq77na83.gsb" -!"D-74","NAD83 (NTv2)","E008","Quebec","na83scrs.gsb" -!"D-75","NAD83 (SCRS) (NTv2)","E008","Quebec","na83scrs.gsb" -!"D-76","NAD27 (NTv2)","E000","Saskatchewan","sk27-98.gsb" -!"D-77","NAD83 (CSRS98) (NTv2)","E008","Saskatchewan","sk27-98.gsb" -!"D-78","NAD83 (NTv2)","E008","Saskatchewan","sk83-98.gsb" -!"D-79","NAD83 (CSRS98) (NTv2)","E008","Saskatchewan","sk83-98.gsb" -!"D-80","ATS77 (NTv2)","E910","Nova Scotia","ns778301.gsb" -!"D-81","NAD83 (CSRS98) (NTv2)","E008","Nova Scotia","ns778301.gsb" -!"D-82","ATS77 (NTv2)","E910","Prince Edward Island","pe7783v2.gsb" -!"D-83","NAD83 (CSRS98) (NTv2)","E008","Prince Edward Island","pe7783v2.gsb" -!"D-84","ATS77 (NTv2)","E910","New Brunswick","nb7783v2.gsb" -!"D-85","NAD83 (CSRS98) (NTv2)","E008","New Brunswick","nb7783v2.gsb" -!"D-86","NAD27 (NTv2)","E000","Canada","ntv2_0.gsb" -!"D-87","NAD83 (NTv2)","E008","Canada","ntv2_0.gsb" -!"D-88","NAD27 (1976) (NTv2)","E000","Ontario","may76v20.gsb" -!"D-89","NAD83 (NTv2)","E008","Ontario","may76v20.gsb" -"D800","Normal Sphere","E019",0,0,0,"",0,0,0,0 -"D000","WGS 1984","E012",0,0,0,"Global Definition",0,0,0,0 -"D001","WGS 1972","E005",0,0,0,"Global Definition",3,3,3,1 -"D002","Adindan","E001",-166,-15,204,"MEAN FOR Ethiopia, Sudan",5,5,3,22 -"D003","Adindan","E001",-118,-14,218,"Burkina Faso",25,25,25,1 -"D004","Adindan","E001",-134,-2,210,"Cameroon",25,25,25,1 -"D005","Adindan","E001",-165,-11,206,"Ethiopia",3,3,3,8 -"D006","Adindan","E001",-123,-20,220,"Mali",25,25,25,1 -"D007","Adindan","E001",-128,-18,224,"Senegal",25,25,25,2 -"D008","Adindan","E001",-161,-14,205,"Sudan",3,5,3,14 -"D009","Afgooye","E015",-43,-163,45,"Somalia",25,25,25,1 -"D010","Ain el Abd 1970","E004",-150,-250,-1,"Bahrain",25,25,25,2 -"D011","Ain el Abd 1970","E004",-143,-236,7,"Saudi Arabia",10,10,10,9 -"D012","Anna 1 Astro 1965","E014",-491,-22,435,"Cocos Islands",25,25,25,1 -"D013","Antigua Island Astro 1943","E001",-270,13,62,"Antigua (Leeward Islands)",25,25,25,1 -"D014","Arc 1950","E001",-143,-90,-294,"MEAN Solution",20,33,20,41 -"D015","Arc 1950","E001",-138,-105,-289,"Botswana",3,5,3,9 -"D016","Arc 1950","E001",-153,-5,-292,"Burundi",20,20,20,3 -"D017","Arc 1950","E001",-125,-108,-295,"Lesotho",3,3,8,5 -"D018","Arc 1950","E001",-161,-73,-317,"Malawi",9,24,8,6 -"D019","Arc 1950","E001",-134,-105,-295,"Swaziland",15,15,15,4 -"D020","Arc 1950","E001",-169,-19,-278,"Zaire",25,25,25,2 -"D021","Arc 1950","E001",-147,-74,-283,"Zambia",21,21,27,5 -"D022","Arc 1950","E001",-142,-96,-293,"Zimbabwe",5,8,11,10 -"D023","Arc 1960","E001",-160,-6,-302,"MEAN FOR Kenya, Tanzania",20,20,20,25 -"D024","Ascension Island 1958","E004",-205,107,53,"Ascension Island",25,25,25,2 -"D025","Astro Beacon E 1945","E004",145,75,-272,"Iwo Jima",25,25,25,1 -"D026","Astro DOS 71/4","E004",-320,550,-494,"St Helena Island",25,25,25,1 -"D027","Astro Tern Island (FRIG) 1961","E004",114,-116,-333,"Tern Island",25,25,25,1 -"D028","Astronomical Station 1952","E004",124,-234,-25,"Marcus Island",25,25,25,1 -"D029","Australian Geodetic 1966","E014",-133,-48,148,"Australia & Tasmania",3,3,3,105 -"D030","Australian Geodetic 1984","E014",-134,-48,149,"Australia & Tasmania",2,2,2,90 -"D031","Ayabelle Lighthouse","E001",-79,-129,145,"Djibouti",25,25,25,1 -"D032","Bellevue (IGN)","E004",-127,-769,472,"Efate & Erromango Islands",20,20,20,3 -"D033","Bermuda 1957","E000",-73,213,296,"Bermuda",20,20,20,3 -"D034","Bissau","E004",-173,253,27,"Guinea-Bissau",25,25,25,2 -"D035","Bogota Observatory","E004",307,304,-318,"Colombia",6,5,6,7 -"D036","Bukit Rimpah","E002",-384,664,-48,"Indonesia (Bangka & Belitung Islands)",-1,-1,-1,0 -"D037","Camp Area Astro","E004",-104,-129,239,"Antarctica (McMurdo Camp Area)",-1,-1,-1,0 -"D038","Campo Inchauspe 1969","E004",-148,136,90,"Argentina",5,5,5,20 -"D039","Canton Astro 1966","E004",298,-304,-375,"Phoenix Islands",15,15,15,4 -"D040","Cape (Superceded by D517)","E001",-136,-108,-292,"South Africa",3,6,6,5 -"D041","Cape Canaveral","E000",-2,151,181,"MEAN FOR Florida,Bahamas",3,3,3,19 -"D042","Carthage","E001",-263,6,431,"Tunisia",6,9,8,5 -"D043","Chatham Island Astro 1971","E004",175,-38,113,"New Zealand (Chatham Island)",15,15,15,4 -"D044","Chua Astro","E004",-134,229,-29,"Paraguay",6,9,5,6 -"D045","Corrego Alegre","E004",-206,172,-6,"Brazil",5,3,5,17 -"D046","Dabola","E001",-83,37,124,"Guinea",15,15,15,4 -"D047","Djakarta (Batavia)","E002",-377,681,-50,"Indonesia (Sumatra)",3,3,3,5 -"D048","DOS 1968","E004",230,-199,-752,"New Georgia Islands (Gizo Island)",25,25,25,1 -"D049","Easter Island 1967","E004",211,147,111,"Easter Island",25,25,25,1 -"D050","European 1950","E004",-87,-98,-121,"MEAN FOR Europe,",3,8,5,85 -"D051","European 1950","E004",-87,-96,-120,"MEAN FOR Western Europe,",3,3,3,52 -"D052","European 1950","E004",-103,-106,-141,"MEAN FOR Iraq, Israel, Jordan, Lebanon",-1,-1,-1,0 -"D053","European 1950","E004",-104,-101,-140,"Cyprus",15,15,15,4 -"D054","European 1950","E004",-130,-117,-151,"Egypt",6,8,8,14 -"D055","European 1950","E004",-86,-96,-120,"MEAN FOR England, Channel Islands, Ireland",3,3,3,40 -"D056","European 1950","E004",-87,-95,-120,"Finland, Norway",3,5,3,20 -"D057","European 1950","E004",-84,-95,-130,"Greece",25,25,25,2 -"D058","European 1950","E004",-117,-132,-164,"Iran",9,12,11,27 -"D059","European 1950","E004",-97,-103,-120,"Italy (Sardinia)",25,25,25,2 -"D060","European 1950","E004",-97,-88,-135,"Italy (Sicily)",20,20,20,3 -"D061","European 1950","E004",-107,-88,-149,"Malta",25,25,25,1 -"D062","European 1950","E004",-84,-107,-120,"Portugal, Spain",5,6,3,18 -"D063","European 1979","E004",-86,-98,-119,"MEAN Solution",3,3,3,22 -"D064","Fort Thomas 1955","E001",-7,215,225,"Nevis, St. Kitts (Leeward Islands)",25,25,25,2 -"D065","Gan 1970","E004",-133,-321,50,"Republic of Maldives",25,25,25,1 -"D066","Geodetic Datum 1949","E004",84,-22,209,"New Zealand",5,3,5,14 -"D067","Graciosa Base SW 1948","E004",-104,167,-38,"Azores (Faial,Graciosa,Pico)",3,3,3,5 -"D068","Guam 1963","E000",-100,-248,259,"Guam",3,3,3,5 -"D069","Gunung Segara","E002",-403,684,41,"Indonesia (Kalimantan)",-1,-1,-1,0 -"D070","GUX 1 Astro","E004",252,-209,-751,"Guadalcanal Island",25,25,25,1 -"D071","Herat North","E004",-333,-222,114,"Afghanistan",-1,-1,-1,0 -"D072","Hjorsey 1955","E004",-73,46,-86,"Iceland",3,3,6,6 -"D073","Hong Kong 1963","E004",-156,-271,-189,"Hong Kong",25,25,25,2 -"D074","Hu-Tzu-Shan","E004",-637,-549,-203,"Taiwan",15,15,15,4 -"D075","Indian","E006",282,726,254,"Bangladesh",10,8,12,6 -"D076","Indian","E901",295,736,257,"India, Nepal",12,10,15,7 -"D077","Indian 1954","E006",217,823,299,"Thailand",15,6,12,11 -"D078","Indian 1975 (Cycle 1)","E006",210,814,289,"Thailand",3,2,3,62 -"D079","Ireland 1965","E011",506,-122,611,"Ireland",3,3,3,7 -"D080","ISTS 061 Astro 1968","E004",-794,119,-298,"South Georgia Islands",25,25,25,1 -"D081","ISTS 073 Astro 1969","E004",208,-435,-229,"Diego Garcia",25,25,25,2 -"D082","Johnston Island 1961","E004",189,-79,-202,"Johnston Island",25,25,25,1 -"D083","Kandawala","E006",-97,787,86,"Sri Lanka",20,20,20,3 -"D084","Kerguelen Island 1949","E004",145,-187,103,"Kerguelen Island",25,25,25,1 -"D085","Kertau 1948","E010",-11,851,5,"West Malaysia & Singapore",10,8,6,6 -"D086","Kusaie Astro 1951","E004",647,1777,-1124,"Caroline Islands",25,25,25,1 -"D087","L. C. 5 Astro 1961","E000",42,124,147,"Cayman Brac Island",25,25,25,1 -"D088","Leigon","E001",-130,29,364,"Ghana",2,3,2,8 -"D089","Liberia 1964","E001",-90,40,88,"Liberia",15,15,15,4 -"D090","Luzon","E000",-133,-77,-51,"Philippines (Excluding Mindanao)",8,11,9,6 -"D091","Luzon","E000",-133,-79,-72,"Philippines (Mindanao)",25,25,25,1 -"D092","Mahe 1971","E001",41,-220,-134,"Mahe Island",25,25,25,1 -"D093","Massawa","E002",639,405,60,"Ethiopia (Eritrea)",25,25,25,1 -"D094","Merchich","E001",31,146,47,"Morocco",5,3,3,9 -"D095","Midway Astro 1961","E004",912,-58,1227,"Midway Islands",25,25,25,1 -"D096","Minna","E001",-81,-84,115,"Cameroon",25,25,25,2 -"D097","Minna","E001",-92,-93,122,"Nigeria",3,6,5,6 -"D098","Montserrat Island Astro 1958","E001",174,359,365,"Montserrat (Leeward Islands)",25,25,25,1 -"D099","M'Poraloko","E001",-74,-130,42,"Gabon",25,25,25,1 -"D100","Nahrwan","E001",-247,-148,369,"Oman (Masirah Island)",25,25,25,2 -"D101","Nahrwan","E001",-243,-192,477,"Saudi Arabia",20,20,20,3 -"D102","Nahrwan","E001",-249,-156,381,"United Arab Emirates",25,25,25,2 -"D103","Naparima BWI","E004",-10,375,165,"Trinidad & Tobago",15,15,15,4 -"D104","North American 1927","E000",-3,142,183,"MEAN FOR Caribbean",3,9,12,15 -"D105","North American 1927","E000",0,125,194,"MEAN FOR Central America",8,3,5,19 -"D106","North American 1927","E000",-10,158,187,"MEAN FOR Canada",15,11,6,112 -"D107","North American 1927","E000",-8,160,176,"MEAN FOR CONUS",5,5,6,405 -"D108","North American 1927","E000",-9,161,179,"MEAN FOR CONUS (East of Mississippi River)",5,5,8,129 -"D109","North American 1927","E000",-8,159,175,"MEAN FOR CONUS (West of Mississippi River)",5,3,3,276 -"D110","North American 1927","E000",-5,135,172,"Alaska",5,9,5,47 -"D111","North American 1927","E000",-4,154,178,"Bahamas (Except San Salvador Island)",5,3,5,11 -"D112","North American 1927","E000",1,140,165,"Bahamas (San Salvador Island)",25,25,25,1 -"D113","North American 1927","E000",-7,162,188,"Canada (Alberta, British Columbia)",8,8,6,25 -"D114","North American 1927","E000",-9,157,184,"Canada (Manitoba, Ontario)",9,5,5,25 -"D115","North American 1927","E000",-22,160,190,"Canada (Atlantic Provinces)",6,6,3,37 -"D116","North American 1927","E000",4,159,188,"Canada (Northwest Territories, Saskatchewan)",5,5,3,17 -"D117","North American 1927","E000",-7,139,181,"Canada (Yukon)",5,8,3,8 -"D118","North American 1927","E000",0,125,201,"Canal Zone",20,20,20,3 -"D119","North American 1927","E000",-9,152,178,"Cuba",25,25,25,1 -"D120","North American 1927","E000",11,114,195,"Greenland (Hayes Peninsula)",25,25,25,2 -"D121","North American 1927","E000",-12,130,190,"Mexico",8,6,6,22 -"D122","North American 1983","E008",0,0,0,"Alaska, Canada, CONUS, Central America, Mexico",2,2,2,354 -"D123","Observatorio Metereo. 1939","E004",-425,-169,81,"Azores (Corvo & Flores Islands)",20,20,20,3 -"D124","Old Egyptian 1907","E904",-130,110,-13,"Egypt",3,6,8,14 -"D125","Old Hawaiian (Clarke 1866)","E000",61,-285,-181,"MEAN FOR Hawaii, Kauai, Maui, Oahu",25,20,20,15 -"D126","Old Hawaiian (Clarke 1866)","E000",89,-279,-183,"Hawaii",25,25,25,2 -"D127","Old Hawaiian (Clarke 1866)","E000",45,-290,-172,"Kauai",20,20,20,3 -"D128","Old Hawaiian (Clarke 1866)","E000",65,-290,-190,"Maui",25,25,25,2 -"D129","Old Hawaiian (Clarke 1866)","E000",58,-283,-182,"Oahu",10,6,6,8 -"D130","Oman","E001",-346,-1,224,"Oman",3,3,9,7 -"D131","Ord. Survey G. Britain 1936","E009",375,-111,431,"MEAN Solution",10,10,15,38 -"D132","Ord. Survey G. Britain 1936","E009",371,-112,434,"England",5,5,6,21 -"D133","Ord. Survey G. Britain 1936","E009",371,-111,434,"England, Isle of Man, Wales",10,10,15,25 -"D134","Ord. Survey G. Britain 1936","E009",384,-111,425,"Scotland, Shetland Islands",10,10,10,13 -"D135","Ord. Survey G. Britain 1936","E009",370,-108,434,"Wales",20,20,20,3 -"D136","Pico de las Nieves","E004",-307,-92,127,"Canary Islands",25,25,25,1 -"D137","Pitcairn Astro 1967","E004",185,165,42,"Pitcairn Island",25,25,25,1 -"D138","Point 58","E001",-106,-129,165,"MEAN FOR Burkina Faso & Niger",25,25,25,2 -"D139","Pointe Noire 1948","E001",-148,51,-291,"Congo",25,25,25,1 -"D140","Porto Santo 1936","E004",-499,-249,314,"Porto Santo, Madeira Islands",25,25,25,2 -"D141","Provisional S. American 1956","E004",-288,175,-376,"MEAN Solution",17,27,27,63 -"D142","Provisional S. American 1956","E004",-270,188,-388,"Bolivia",5,11,14,5 -"D143","Provisional S. American 1956","E004",-270,183,-390,"Chile (Northern, Near 19dS)",25,25,25,1 -"D144","Provisional S. American 1956","E004",-305,243,-442,"Chile (Southern, Near 43dS)",20,20,20,3 -"D145","Provisional S. American 1956","E004",-282,169,-371,"Colombia",15,15,15,4 -"D146","Provisional S. American 1956","E004",-278,171,-367,"Ecuador",3,5,3,11 -"D147","Provisional S. American 1956","E004",-298,159,-369,"Guyana",6,14,5,9 -"D148","Provisional S. American 1956","E004",-279,175,-379,"Peru",6,8,12,6 -"D149","Provisional S. American 1956","E004",-295,173,-371,"Venezuela",9,14,15,24 -"D150","Provisional S. Chilean 1963","E004",16,196,93,"Chile (South, Near 53dS) (Hito XVIII)",25,25,25,2 -"D151","Puerto Rico","E000",11,72,-101,"Puerto Rico, Virgin Islands",3,3,3,11 -"D152","Qatar National","E004",-128,-283,22,"Qatar",20,20,20,3 -"D153","Qornoq","E004",164,138,-189,"Greenland (South)",25,25,32,2 -"D154","Reunion","E004",94,-948,-1262,"Mascarene Islands",25,25,25,1 -"D155","Rome 1940","E004",-225,-65,9,"Italy (Sardinia)",25,25,25,1 -"D156","Santo (DOS) 1965","E004",170,42,84,"Espirito Santo Island",25,25,25,1 -"D157","Sao Braz","E004",-203,141,53,"Azores (Sao Miguel, Santa Maria Islands)",25,25,25,2 -"D158","Sapper Hill 1943","E004",-355,21,72,"East Falkland Island",1,1,1,5 -"D159","Schwarzeck","E900",616,97,-251,"Namibia",20,20,20,3 -"D160","Selvagem Grande 1938","E004",-289,-124,60,"Salvage Islands",25,25,25,1 -"D161","SGS 85","E905",3,9,-9,"Soviet Geodetic System 1985",10,10,10,1 -"D162","South American 1969","E907",-57,1,-41,"MEAN Solution,",15,6,9,84 -"D163","South American 1969","E907",-62,-1,-37,"Argentina",5,5,5,10 -"D164","South American 1969","E907",-61,2,-48,"Bolivia",15,15,15,4 -"D165","South American 1969 (old)","E907",-60,-2,-41,"Brazil",3,5,5,22 -"D166","South American 1969","E907",-75,-1,-44,"Chile",15,8,11,9 -"D167","South American 1969","E907",-44,6,-36,"Colombia",6,6,5,7 -"D168","South American 1969","E907",-48,3,-44,"Ecuador",3,3,3,11 -"D169","South American 1969","E907",-47,26,-42,"Ecuador (Baltra, Galapagos)",25,25,25,1 -"D170","South American 1969","E907",-53,3,-47,"Guyana",9,5,5,5 -"D171","South American 1969","E907",-61,2,-33,"Paraguay",15,15,15,4 -"D172","South American 1969","E907",-58,0,-44,"Peru",5,5,5,6 -"D173","South American 1969","E907",-45,12,-33,"Trinidad & Tobago",25,25,25,1 -"D174","South American 1969","E907",-45,8,-33,"Venezuela",3,6,3,5 -"D175","South Asia","E013",7,-10,-26,"Singapore",25,25,25,1 -"D176","Tananarive Observatory 1925","E004",-189,-242,-91,"Madagascar",-1,-1,-1,0 -"D177","Timbalai 1948","E903",-679,669,-48,"Brunei, East Malaysia (Sabah, Sarawak)",10,10,12,8 -"D178","Tokyo","E002",-148,507,685,"MEAN FOR Japan, Korea, Okinawa",20,5,20,31 -"D179","Tokyo","E002",-148,507,685,"Japan",8,5,8,16 -"D180","Tokyo (Cycle 1)","E002",-147,506,687,"South Korea",2,2,2,29 -"D181","Tokyo","E002",-158,507,676,"Okinawa",20,5,20,3 -"D182","Tristan Astro 1968","E004",-632,438,-609,"Tristan da Cunha",25,25,25,1 -"D183","Viti Levu 1916","E001",51,391,-36,"Fiji (Viti Levu Island)",25,25,25,1 -"D184","Wake-Eniwetok 1960","E016",102,52,-38,"Marshall Islands",3,3,3,10 -"D185","Wake Island Astro 1952","E004",276,-57,149,"Wake Atoll",25,25,25,2 -"D186","WGS 1972","E005",0,0,0,"Global Definition",3,3,3,1 -"D187","Yacare","E004",-155,171,37,"Uruguay",-1,-1,-1,0 -"D188","Zanderij","E004",-265,120,-358,"Suriname",5,5,8,5 -"D189","American Samoa 1962","E000",-115,118,426,"American Samoa Is",25,25,25,2 -"D190","Arc 1960","E001",-157,-2,-299,"Kenya",4,3,3,24 -"D191","Arc 1960","E001",-175,-23,-303,"Tanzania",6,9,10,12 -"D192","Coordinate System 1937 of Estonia","E002",374,150,588,"Estonia",2,2,3,19 -"D193","Deception Island","E001",260,12,-147,"Deception Is., Antarctica",20,20,20,3 -"D194","European 1950","E004",-112,-77,-145,"Tunisia",25,25,25,4 -"D195","Hermannskogel","E002",682,-203,480,"Yugoslavia (Pre 1990)",-1,-1,-1,0 -"D196","Indian","E201",283,682,231,"Pakistan",-1,-1,-1,0 -"D197","Indian 1960","E006",198,881,317,"Vietnam (near 16dN)",25,25,25,2 -"D198","Indian 1960","E006",182,915,344,"Con Son Island (Vietnam)",25,25,25,1 -"D199","Indonesian 1974","E200",-24,-15,5,"Indonesia",25,25,25,1 -"D200","North American 1927","E000",-2,152,149,"Aleutian Is (E of 180dW)",6,8,10,6 -"D201","North American 1927","E000",2,204,105,"Aleutian Is (W of 180dW)",10,8,10,5 -"D202","North Sahara 1959","E001",-186,-93,310,"Algeria",25,25,25,3 -"D203","Pulkovo 1942","E015",28,-130,-95,"Russia",-1,-1,-1,0 -"D204","S-42 (Pulkovo 1942)","E015",28,-121,-77,"Hungary",2,2,2,5 -"D205","S-42 (Pulkovo 1942)","E015",23,-124,-82,"Poland",4,2,4,11 -"D206","S-42 (Pulkovo 1942)","E015",26,-121,-78,"Czechoslovakia (Prior 1 Jan 1993)",3,3,2,6 -"D207","S-42 (Pulkovo 1942)","E015",24,-124,-82,"Latvia",2,2,2,5 -"D208","S-42 (Pulkovo 1942)","E015",15,-130,-84,"Kazakhstan",25,25,25,2 -"D209","S-42 (Pulkovo 1942)","E015",24,-130,-92,"Albania",3,3,3,7 -"D210","S-42 (Pulkovo 1942)","E015",28,-121,-77,"Romania",3,5,3,4 -"D211","S-JTSK","E002",589,76,480,"Czechoslovakia (1 Jan 1993 on)",4,2,3,6 -"D212","Sierra Leone 1960","E001",-88,4,101,"Sierra Leone",15,15,15,8 -"D213","Voirol 1874","E001",-73,-247,227,"Tunisia, Algeria",-1,-1,-1,0 -"D214","Voirol 1960","E001",-123,-206,219,"Algeria",25,25,25,2 -"D215","Indian 1975 (Cycle 0)","E006",209,818,290,"Thailand",12,10,12,6 -"D216","Korean Geodetic System 1995","E012",0,0,0,"South Korea",1,1,1,29 -"D217","Tokyo (Cycle 0)","E002",-146,507,687,"South Korea",8,5,8,12 -"D218","South American Geocentric Reference System (SIRGAS)","E008",0,0,0,"South America",1,1,1,66 -"D219","Old Hawaiian (Int 1924)","E004",201,-228,-346,"MEAN FOR Hawaii, Kauai, Maui, Oahu",25,20,20,15 -"D220","Old Hawaiian (Int 1924)","E004",229,-222,-348,"Hawaii",25,25,25,2 -"D221","Old Hawaiian (Int 1924)","E004",185,-233,-337,"Kauai",20,20,20,3 -"D222","Old Hawaiian (Int 1924)","E004",205,-233,-355,"Maui",25,25,25,2 -"D223","Old Hawaiian (Int 1924)","E004",198,-226,-347,"Oahu",10,6,6,8 -"D333","Tokyo Datum (Japan By Law)","E333",-147.54,507.26,680.47,"Japan",0,0,0,0 -"D334","Japanese Geodetic Datum 2000 (JGD2000)","E008",0.0,0.0,0.0,"Japan",0,0,0,0 -"D340","WGS 1972BE","E005",0,0,1.9,"Global Definition",3,3,3,1,-0,-0,-0.814,-0.38 -"D350","GRS 1980","E008",0.0,0.0,0.0,"Global Definition",0,0,0,0,0.0,0.0,0.0,1.0 -"D360","Pulkovo 1942","E015",27,-135,-84.5,"Russia",-1,-1,-1,0,-0.0,-0.0,-0.554,-0.2263 -"D400","Greece 1987","E008",-199.695,74.815,246.045,"Greece",0,0,0,0 -"D401","RT90 (Superceded by D403)","E002",-424,80,-613,"Sweden",0,0,0,0,-4.40,1.99,-5.18,1.0 -"D402","Indian 1960","E209",198,881,317,"India",0,0,0,0 -"D403","RT90 (Supercedes D401)","E002",414.1055246174,41.3265500042,603.0582474221,"Sweden",0,0,0,0,0.8551163377,-2.1413174055,7.0227298286,1.0 -"D450","ETRS89 (European Terrestrial Reference System 1989)","E008",0.0,0.0,0.0,"Europe",0,0,0,0 -"D500","Deutsches Hauptdreiecksnetz (DHDN), Potsdam (Rauenburg)","E002",580.0,80.9,395.3,"Germany",0,0,0,0,0.35,-0.10,3.58,1.00001112 -"D501","MGI (Militar-Geographische Institut) (Hermannskogel)","E002",575.0,93.0,466.0,"Austria",0,0,0,0,-5.1,-1.6,-5.2,1.0000025 -"D502","CH1903 (Superceded by D514)","E002",660.08,13.55,369.34,"Switzerland",0,0,0,0,0.805,0.578,0.952,1.00000566 -"D503","Belgian 72","E004",-99.059,53.322,-112.486,"Belgium",0,0,0,0,-0.419,0.830,-1.885,0.999999 -"D504","NTF (Nouvelle Triangulation Francaise)","E202",-166.817,-59.821,318.753,"France",0,0,0,0 -"D505","South American 1969 (new)","E907",-66.87,4.37,-38.52,"Brazil",0.43,0.44,0.40,0 -"D506","Rijksdriehoeks Datum","E002",565.04,49.91,465.84,"Netherlands",0,0,0,0,0.4094,-0.3597,1.8685,1.0000040772 -"D507","KKJ (Kartastokoordinaattijarjestelma)","E004",93.477,103.453,123.431,"Finland",0,0,0,0,4.801,0.345,-1.376,0.999998503 -"D508","Aratu (Brasil)","E004",-158,315,-148,"Brazil",2,3,2,0 -"D509","Hungarian Datum 1972 (HD-72)","E203",56.0,-75.77,-15.31,"Hungary",0,0,0,0,-0.37,-0.20,-0.21,1.00000101 -"D510","NZGD 1949 (7 terms)","E004",59.47,-5.04,187.44,"New Zealand",0,0,0,0,-0.47,0.10,-1.024,0.9999954007 -"D511","NZGD 1949 (3 terms)","E004",54.4,-20.1,183.1,"New Zealand",0,0,0,0 -"D512","NZGD 2000 (7 terms)","E008",0.0,0.0,0.0,"New Zealand",0,0,0,0,0.0,0.0,0.0,1.0 -"D513","NGO 1948","E206", 278.2932, 93.0497, 474.4745,"Norway",0,0,0,0, -7.8885, -0.0499, 6.6098, 6.2050 -"D514","CH1903+ (Supercedes D502)","E002",674.374,15.056,405.346,"Switzerland",0,0,0,0 -"D515","SL datum 95","E006",-2.0553,763.5581,87.6682,"Sri Lanka",0,0,0,0,-0.198003,-1.706361,-3.466120,-0.0315 -"D516","SL datum 1999","E006",-0.2933,766.9499,87.7131,"Sri Lanka",0,0,0,0,-0.1957040,-1.6950677,-3.4730161,-0.0393 -"D517","Cape (Supercedes D040)","E205",-134.73,-110.92,-292.66,"South Africa",0,0,0,0 -"D518","Hartebeesthoek94","E012",0,0,0,"South Africa",0,0,0,0 -"D519","Abidjan 1987","E001",-124.76,53,466.79,"C\uffffte d'Ivoire",0,0,0,0 -"D520","Accra","E204",-199,32,322,"Ghana",0,0,0,0 -"D521","Azores Central 1948","E004",-104,167,-38,"Azores",0,0,0,0 -"D522","Azores Oriental 1940","E004",-203,141,53,"Azores",0,0,0,0 -"D523","Azores Occidental 1939","E004",-422.651,-172.995,84.02,"Azores",0,0,0,0 -"D524","Barbados 1938","E001",31.95,300.99,419.19,"Barbados",0,0,0,0 -"D525","Camacupa","E001",-50.9,-347.6,-231,"Angola",0,0,0,0 -"D526","Chos Malal 1914","E004",5.5,176.7,141.4,"Argentina",0,0,0,0 -"D527","Conakry 1905","E202",-23.0,259.0,-9.0,"Guinea",0,0,0,0 -"D528","Dealul Piscului 1933","E004",103.25,-100.40,-307.19,"Romania",0,0,0,0 -"D529","Dealul Piscului 1970","E015",44.107,-116.147,-54.648,"Romania",0,0,0,0 -"D530","Deir ez Zor","E202",-190.421,8.532,238.69,"Syria",0,0,0,0 -"D531","Dominica 1945","E001",725,685,536,"Dominica",0,0,0,0 -"D532","Kalianpur 1937","E209",214,804,268,"India",0,0,0,0 -"D533","Kalianpur 1962","E210",275.57,676.78,229.6,"Pakistan",0,0,0,0 -"D534","Kalianpur 1975","E216",295,736,257,"India",0,0,0,0 -"D535","SWEREF99","E008",0.0,0.0,0.0,"Sweden",0,0,0,0 -"D536","GDA94 (Geocentric Datum of Australia 1994)","E008",0.0,0.0,0.0,"Australia",0,0,0,0 -"D537","ETRF89 (European Terrestrial Reference Frame 1989)","E012",0.0,0.0,0.0,"Europe",0,0,0,0 -"D538","Bermuda 2000","E012",0.0,0.0,0.0,"Bermuda",0,0,0,0 -"D539","Samboja","E002",-404.78,-685.68,-45.47,"Indonesia",0,0,0,0 -"D540","Australian Antarctic 1998","E008",0.0,0.0,0.0,"Australian Antarctic Territory",0,0,0,0 -"D541","Everest (India and Nepal)","E226",295,736,257,"India",0,0,0,0 -"D542","Korea Datum 1985","E002",-323,309,653,"South Korea",0,0,0,0 -"D543","Israel","E008",-48,55,52,"Israel",0,0,0,0 -"D544","Lao National Datum 1997","E015",46.012,-127.108,-38.131,"Laos",0,0,0,0 -"D545","Hong Kong 1980 Datum","E004",-162.619,-276.959,-161.764,"Hong Kong",0,0,0,0,-0.067753,2.243649,1.158827,-1.094246 -"D546","HITO XVIII","E004",18.38,192.45,96.82,"Argentina",0,0,0,0,-0.056,0.142,0.200,-0.0013 -"D547","GDM 2000MRSO","E008",1.69276,-1.92994,2.07108,"West Malaysia",0,0,0,0,0.03515,-0.02858,-0.00617,0.24859 -"D548","GDM 2000BRSO","E008",-1.04278,-0.30902,0.57544,"East Malaysia",0,0,0,0,0.01102,-0.03471,0.02865,-0.01934 -"D549","Gulshan 303","E209",283.729,735.942,261.143,"Bangladesh",0,0,0,0 -"D551","CHTRF95 (Swiss Terrestrial Reference Frame 1995)","E008",0.0,0.0,0.0,"Switzerland",0,0,0,0 -"D600","D-PAF (Orbits)","E600",0.082,-0.502,-0.224,"Satellite Orbits",0,0,0,0,0.30444,0.04424,0.00609,0.9999999937 -"D601","Test Data Set 1","E601",0.071,-0.509,-0.166,"Test 1",0,0,0,0,0.0179,-0.0005,0.0067,0.999999983 -"D602","Test Data Set 2","E602",580.0,80.9,399.8,"Test 2",0,0,0,0,0.35,0.1,3.026,1.0000113470025 -"D700","MODIS","E700",0,0,0,"Global Definition",0,0,0,0 -"D701","NAD83 (USA, NADCON)","E008","Alabama","alhpgn.los","alhpgn.las" -"D702","NAD83 HARN (USA, NADCON)","E008","Alabama","alhpgn.los","alhpgn.las" -"D703","NAD83 (USA, NADCON)","E008","Arkansas","arhpgn.los","arhpgn.las" -"D704","NAD83 HARN (USA, NADCON)","E008","Arkansas","arhpgn.los","arhpgn.las" -"D705","NAD83 (USA, NADCON)","E008","Arizona","azhpgn.los","azhpgn.las" -"D706","NAD83 HARN (USA, NADCON)","E008","Arizona","azhpgn.los","azhpgn.las" -"D707","NAD83 (USA, NADCON)","E008","California (North of 37dN)","cnhpgn.los","cnhpgn.las" -"D708","NAD83 HARN (USA, NADCON)","E008","California (North of 37dN)","cnhpgn.los","cnhpgn.las" -"D709","NAD83 (USA, NADCON)","E008","California (South of 37dN)","cshpgn.los","cshpgn.las" -"D710","NAD83 HARN (USA, NADCON)","E008","California (South of 37dN)","cshpgn.los","cshpgn.las" -"D711","NAD83 (USA, NADCON)","E008","Colorado","cohpgn.los","cohpgn.las" -"D712","NAD83 HARN (USA, NADCON)","E008","Colorado","cohpgn.los","cohpgn.las" -"D713","NAD83 (USA, NADCON)","E008","Florida","flhpgn.los","flhpgn.las" -"D714","NAD83 HARN (USA, NADCON)","E008","Florida","flhpgn.los","flhpgn.las" -"D715","NAD83 (USA, NADCON)","E008","Georgia","gahpgn.los","gahpgn.las" -"D716","NAD83 HARN (USA, NADCON)","E008","Georgia","gahpgn.los","gahpgn.las" -"D717","Guam 1963 (USA, NADCON)","E000","Guam","guhpgn.los","guhpgn.las" -"D718","NAD83 HARN (USA, NADCON)","E008","Guam","guhpgn.los","guhpgn.las" -"D719","NAD83 (USA, NADCON)","E008","Hawaii","hihpgn.los","hihpgn.las" -"D720","NAD83 HARN (USA, NADCON)","E008","Hawaii","hihpgn.los","hihpgn.las" -"D721","NAD83 (USA, NADCON)","E008","Idaho-Montana (East of 113dW)","emhpgn.los","emhpgn.las" -"D722","NAD83 HARN (USA, NADCON)","E008","Idaho-Montana (East of 113dW)","emhpgn.los","emhpgn.las" -"D723","NAD83 (USA, NADCON)","E008","Idaho-Montana (West of 113dW)","wmhpgn.los","wmhpgn.las" -"D724","NAD83 HARN (USA, NADCON)","E008","Idaho-Montana (West of 113dW)","wmhpgn.los","wmhpgn.las" -"D725","NAD83 (USA, NADCON)","E008","Iowa","iahpgn.los","iahpgn.las" -"D726","NAD83 HARN (USA, NADCON)","E008","Iowa","iahpgn.los","iahpgn.las" -"D727","NAD83 (USA, NADCON)","E008","Illinois","ilhpgn.los","ilhpgn.las" -"D728","NAD83 HARN (USA, NADCON)","E008","Illinois","ilhpgn.los","ilhpgn.las" -"D729","NAD83 (USA, NADCON)","E008","Indiana","inhpgn.los","inhpgn.las" -"D730","NAD83 HARN (USA, NADCON)","E008","Indiana","inhpgn.los","inhpgn.las" -"D731","NAD83 (USA, NADCON)","E008","Kansas","kshpgn.los","kshpgn.las" -"D732","NAD83 HARN (USA, NADCON)","E008","Kansas","kshpgn.los","kshpgn.las" -"D733","NAD83 (USA, NADCON)","E008","Kentucky","kyhpgn.los","kyhpgn.las" -"D734","NAD83 HARN (USA, NADCON)","E008","Kentucky","kyhpgn.los","kyhpgn.las" -"D735","NAD83 (USA, NADCON)","E008","Louisiana","lahpgn.los","lahpgn.las" -"D736","NAD83 HARN (USA, NADCON)","E008","Louisiana","lahpgn.los","lahpgn.las" -"D737","NAD83 (USA, NADCON)","E008","Maryland-Delaware","mdhpgn.los","mdhpgn.las" -"D738","NAD83 HARN (USA, NADCON)","E008","Maryland-Delaware","mdhpgn.los","mdhpgn.las" -"D739","NAD83 (USA, NADCON)","E008","Maine","mehpgn.los","mehpgn.las" -"D740","NAD83 HARN (USA, NADCON)","E008","Maine","mehpgn.los","mehpgn.las" -"D741","NAD83 (USA, NADCON)","E008","Michigan","mihpgn.los","mihpgn.las" -"D742","NAD83 HARN (USA, NADCON)","E008","Michigan","mihpgn.los","mihpgn.las" -"D743","NAD83 (USA, NADCON)","E008","Minnesota","mnhpgn.los","mnhpgn.las" -"D744","NAD83 HARN (USA, NADCON)","E008","Minnesota","mnhpgn.los","mnhpgn.las" -"D745","NAD83 (USA, NADCON)","E008","Mississippi","mshpgn.los","mshpgn.las" -"D746","NAD83 HARN (USA, NADCON)","E008","Mississippi","mshpgn.los","mshpgn.las" -"D747","NAD83 (USA, NADCON)","E008","Missouri","mohpgn.los","mohpgn.las" -"D748","NAD83 HARN (USA, NADCON)","E008","Missouri","mohpgn.los","mohpgn.las" -"D749","NAD83 (USA, NADCON)","E008","Nebraska","nbhpgn.los","nbhpgn.las" -"D750","NAD83 HARN (USA, NADCON)","E008","Nebraska","nbhpgn.los","nbhpgn.las" -"D751","NAD83 (USA, NADCON)","E008","Nevada","nvhpgn.los","nvhpgn.las" -"D752","NAD83 HARN (USA, NADCON)","E008","Nevada","nvhpgn.los","nvhpgn.las" -"D753","NAD83 (USA, NADCON)","E008","New England (CT,MA,NH,RI,VT)","nehpgn.los","nehpgn.las" -"D754","NAD83 HARN (USA, NADCON)","E008","New England (CT,MA,NH,RI,VT)","nehpgn.los","nehpgn.las" -"D755","NAD83 (USA, NADCON)","E008","New Jersey","njhpgn.los","njhpgn.las" -"D756","NAD83 HARN (USA, NADCON)","E008","New Jersey","njhpgn.los","njhpgn.las" -"D757","NAD83 (USA, NADCON)","E008","New Mexico","nmhpgn.los","nmhpgn.las" -"D758","NAD83 HARN (USA, NADCON)","E008","New Mexico","nmhpgn.los","nmhpgn.las" -"D759","NAD83 (USA, NADCON)","E008","New York","nyhpgn.los","nyhpgn.las" -"D760","NAD83 HARN (USA, NADCON)","E008","New York","nyhpgn.los","nyhpgn.las" -"D761","NAD83 (USA, NADCON)","E008","North Carolina","nchpgn.los","nchpgn.las" -"D762","NAD83 HARN (USA, NADCON)","E008","North Carolina","nchpgn.los","nchpgn.las" -"D763","NAD83 (USA, NADCON)","E008","North Dakota","ndhpgn.los","ndhpgn.las" -"D764","NAD83 HARN (USA, NADCON)","E008","North Dakota","ndhpgn.los","ndhpgn.las" -"D765","NAD83 (USA, NADCON)","E008","Ohio","ohhpgn.los","ohhpgn.las" -"D766","NAD83 HARN (USA, NADCON)","E008","Ohio","ohhpgn.los","ohhpgn.las" -"D767","NAD83 (USA, NADCON)","E008","Oklahoma","okhpgn.los","okhpgn.las" -"D768","NAD83 HARN (USA, NADCON)","E008","Oklahoma","okhpgn.los","okhpgn.las" -"D769","NAD83 (USA, NADCON)","E008","Pennsylvania","pahpgn.los","pahpgn.las" -"D770","NAD83 HARN (USA, NADCON)","E008","Pennsylvania","pahpgn.los","pahpgn.las" -"D771","NAD83 (USA, NADCON)","E008","Puerto Rico-Virgin Is","pvhpgn.los","pvhpgn.las" -"D772","NAD83 HARN (USA, NADCON)","E008","Puerto Rico-Virgin Is","pvhpgn.los","pvhpgn.las" -"D773","American Samoa 1962 (USA, NADCON)","E000","Samoa (Eastern Islands)","eshpgn.los","eshpgn.las" -"D774","NAD83 HARN (USA, NADCON)","E008","Samoa (Eastern Islands)","eshpgn.los","eshpgn.las" -"D775","American Samoa 1962 (USA, NADCON)","E000","Samoa (Western Islands)","wshpgn.los","wshpgn.las" -"D776","NAD83 HARN (USA, NADCON)","E008","Samoa (Western Islands)","wshpgn.los","wshpgn.las" -"D777","NAD83 (USA, NADCON)","E008","South Carolina","schpgn.los","schpgn.las" -"D778","NAD83 HARN (USA, NADCON)","E008","South Carolina","schpgn.los","schpgn.las" -"D779","NAD83 (USA, NADCON)","E008","South Dakota","sdhpgn.los","sdhpgn.las" -"D780","NAD83 HARN (USA, NADCON)","E008","South Dakota","sdhpgn.los","sdhpgn.las" -"D781","NAD83 (USA, NADCON)","E008","Tennessee","tnhpgn.los","tnhpgn.las" -"D782","NAD83 HARN (USA, NADCON)","E008","Tennessee","tnhpgn.los","tnhpgn.las" -"D783","NAD83 (USA, NADCON)","E008","Texas (East of 100dW)","ethpgn.los","ethpgn.las" -"D784","NAD83 HARN (USA, NADCON)","E008","Texas (East of 100dW)","ethpgn.los","ethpgn.las" -"D785","NAD83 (USA, NADCON)","E008","Texas (West of 100dW)","wthpgn.los","wthpgn.las" -"D786","NAD83 HARN (USA, NADCON)","E008","Texas (West of 100dW)","wthpgn.los","wthpgn.las" -"D787","NAD83 (USA, NADCON)","E008","Utah","uthpgn.los","uthpgn.las" -"D788","NAD83 HARN (USA, NADCON)","E008","Utah","uthpgn.los","uthpgn.las" -"D789","NAD83 (USA, NADCON)","E008","Virginia","vahpgn.los","vahpgn.las" -"D790","NAD83 HARN (USA, NADCON)","E008","Virginia","vahpgn.los","vahpgn.las" -"D791","NAD83 (USA, NADCON)","E008","Washington-Oregon","wohpgn.los","wohpgn.las" -"D792","NAD83 HARN (USA, NADCON)","E008","Washington-Oregon","wohpgn.los","wohpgn.las" -"D793","NAD83 (USA, NADCON)","E008","West Virginia","wvhpgn.los","wvhpgn.las" -"D794","NAD83 HARN (USA, NADCON)","E008","West Virginia","wvhpgn.los","wvhpgn.las" -"D795","NAD83 (USA, NADCON)","E008","Wisconsin","wihpgn.los","wihpgn.las" -"D796","NAD83 HARN (USA, NADCON)","E008","Wisconsin","wihpgn.los","wihpgn.las" -"D797","NAD83 (USA, NADCON)","E008","Wyoming","wyhpgn.los","wyhpgn.las" -"D798","NAD83 HARN (USA, NADCON)","E008","Wyoming","wyhpgn.los","wyhpgn.las" -"D886", "Reseau Geodesique Francais 1993", "E899",-752,-358,-179,"Taiwan",0,0,0,0,-0.0000011698,0.0000018398,0.0000009822,0.00002329 -"D887", "Reseau National Belge 1972", "E899",-752,-358,-179,"Taiwan",0,0,0,0,-0.0000011698,0.0000018398,0.0000009822,0.00002329 -"D888","Lebanon Stereographic","E012",154.2668777,107.2190767,-263.01161212,"Lebanon",0,0,0,0,0.310716,0.218736,0.191232,0.99999913 -"D889","Lebanon Lambert","E202",190.9999,133.32473,-232.8391,"Lebanon",0,0,0,0,0.307836,0.216756,0.189036,0.9995341 -"D890","Luxembourg (LUREF)","E004",-192.986,13.673,-39.309,"Luxembourg",0,0,0,0,0.409900,2.933200,-2.688100,1.00000043 -"D891","Datum 73","E004",-223.237,110.193,36.649,"Portugal",0,0,0,0 -"D892","Datum Lisboa","E004",-304.046,-60.576,103.640,"Portugal",0,0,0,0 -"D893","PDO Survey Datum 1993","E001",-180.624,-225.516,173.919,"Oman",0,0,0,0,0.80970,1.89755,-8.33604,16.71006 -"D894", "WGS 1984 semi-major","E020",0,0,0,"WGS 1984 Auxiliary Sphere semi-major axis",0,0,0,0 -"D898","TWD97","E008",0,0,0,"Taiwan",0,0,0,0,0.0,0.0,0.0,0.0 -"D899","TWD67","E899",-752,-358,-179,"Taiwan",0,0,0,0,-0.0000011698,0.0000018398,0.0000009822,0.00002329 diff --git a/bin/gdal_data/pci_ellips.txt b/bin/gdal_data/pci_ellips.txt deleted file mode 100644 index 2c9ed5ef..00000000 --- a/bin/gdal_data/pci_ellips.txt +++ /dev/null @@ -1,76 +0,0 @@ -! -! By email on December 2nd, 2010: -! -! I, Louis Burry, on behalf of PCI Geomatics agree to allow the ellips.txt -! and datum.txt file to be distributed under the GDAL open source license. -! -! Louis Burry -! VP Technology & Delivery -! PCI Geomatics -! -! -! NOTE: The range of "E908" to "E998" is set aside for -! the use of local customer development. -! -"E009","Airy 1830",6377563.396,6356256.91 -"E011","Modified Airy",6377340.189,6356034.448 -"E910","ATS77",6378135.0,6356750.304922 -"E014","Australian National 1965",6378160.,6356774.719 -"E002","Bessel 1841",6377397.155,6356078.96284 -"E900","Bessel 1841 (Namibia)",6377483.865,6356165.382966 -"E333","Bessel 1841 (Japan By Law)",6377397.155,6356078.963 -"E000","Clarke 1866",6378206.4,6356583.8 -"E001","Clarke 1880 (RGS)",6378249.145,6356514.86955 -"E202","Clarke 1880 (IGN, France)",6378249.2,6356515.0 -"E006","Everest (India 1830)",6377276.3452,6356075.4133 -"E010","Everest (W. Malaysia and Singapore 1948)",6377304.063,6356103.039 -"E901","Everest (India 1956)",6377301.243,6356100.228368 -"E902","Everest (W. Malaysia 1969)",6377295.664,6356094.667915 -"E903","Everest (E. Malaysia and Brunei)",6377298.556,6356097.550301 -"E201","Everest (Pakistan)",6377309.613,6356108.570542 -"E017","Fischer 1960",6378166.,6356784.283666 -"E013","Modified Fischer 1960",6378155.,6356773.3205 -"E018","Fischer 1968",6378150.,6356768.337303 -"E008","GRS 1980",6378137.,6356752.31414 -"E904","Helmert 1906",6378200.,6356818.169628 -"E016","Hough 1960",6378270.,6356794.343479 -"E200","Indonesian 1974",6378160.,6356774.504086 -"E004","International 1924",6378388.,6356911.94613 -"E203","IUGG 67",6378160.,6356774.516090714 -"E015","Krassovsky 1940",6378245.,6356863.0188 -"E700","MODIS (Sphere from WGS84)",6371007.181,6371007.181 -"E003","New International 1967",6378157.5,6356772.2 -"E019","Normal Sphere",6370997.,6370997. -"E905","SGS 85",6378136.,6356751.301569 -"E907","South American 1969",6378160.,6356774.719 -"E906","WGS 60",6378165.,6356783.286959 -"E007","WGS 66",6378145.,6356759.769356 -"E005","WGS 72",6378135.,6356750.519915 -"E012","WGS 84",6378137.,6356752.314245 -"E600","D-PAF (Orbits)",6378144.0,6356759.0 -"E601","Test Data Set 1",6378144.0,6356759.0 -"E602","Test Data Set 2",6377397.2,6356079.0 -"E204","War Office",6378300.583,6356752.270 -"E205","Clarke 1880 Arc",6378249.145,6356514.966 -"E206","Bessel Modified",6377492.018,6356173.5087 -"E207","Clarke 1858",6378293.639,6356617.98149 -"E208","Clarke 1880",6378249.138,6356514.95942 -"E209","Everest (1937 Adjustment)",6377276.345,6356075.413 -"E210","Everest (1962 Definition)",6377301.243,6356100.23 -"E211","Everest Modified",6377304.063,6356103.039 -"E212","Modified Everest 1969",6377295.664,6356094.668 -"E213","Everest (1967 Definition)",6377298.556,6356097.550 -"E214","Clarke 1880 (Benoit)",6378300.79,6356566.43 -"E215","Clarke 1880 (SGA)",6378249.2,6356515.0 -"E216","Everest (1975 Definition)",6377299.151,6356098.1451 -"E217","GEM 10C",6378137,6356752.31414 -"E218","OSU 86F",6378136.2,6356751.516672 -"E219","OSU 91A",6378136.3,6356751.6163367 -"E220","Sphere",6371000,6371000 -"E221","Struve 1860",6378297,6356655.847 -"E222","Walbeck",6376896,6355834.847 -"E223","Plessis 1817",6376523,6355862.933 -"E224","Xian 1980",6378140.0,6356755.288 -"E225","EMEP Sphere",6370000,6370000 -"E226","Everest (India and Nepal)",6377301.243,6356100.228368 -"E899","GRS 1967 Modified",6378160.,6356774.719195306 diff --git a/bin/gdal_data/pcs.csv b/bin/gdal_data/pcs.csv deleted file mode 100644 index c3633be9..00000000 --- a/bin/gdal_data/pcs.csv +++ /dev/null @@ -1,4786 +0,0 @@ -"COORD_REF_SYS_CODE","COORD_REF_SYS_NAME","UOM_CODE","SOURCE_GEOGCRS_CODE","COORD_OP_CODE","COORD_OP_METHOD_CODE","SHOW_CRS","DEPRECATED","COORD_SYS_CODE","PARAMETER_CODE_1","PARAMETER_VALUE_1","PARAMETER_UOM_1","PARAMETER_CODE_2","PARAMETER_VALUE_2","PARAMETER_UOM_2","PARAMETER_CODE_3","PARAMETER_VALUE_3","PARAMETER_UOM_3","PARAMETER_CODE_4","PARAMETER_VALUE_4","PARAMETER_UOM_4","PARAMETER_CODE_5","PARAMETER_VALUE_5","PARAMETER_UOM_5","PARAMETER_CODE_6","PARAMETER_VALUE_6","PARAMETER_UOM_6","PARAMETER_CODE_7","PARAMETER_VALUE_7","PARAMETER_UOM_7","DX","DY","DZ","RX","RY","RZ","DS" -2000,"Anguilla 1957 / British West Indies Grid",9001,4600,19942,9807,1,0,4400,8801,0,9102,8802,-62,9102,8805,0.9995,9201,8806,400000,9001,8807,0,9001,,,,,,,,,,,,, -2001,"Antigua 1943 / British West Indies Grid",9001,4601,19942,9807,1,0,4400,8801,0,9102,8802,-62,9102,8805,0.9995,9201,8806,400000,9001,8807,0,9001,,,,,,,,,,,,, -2002,"Dominica 1945 / British West Indies Grid",9001,4602,19942,9807,1,0,4400,8801,0,9102,8802,-62,9102,8805,0.9995,9201,8806,400000,9001,8807,0,9001,,,,,,,,,,,,, -2003,"Grenada 1953 / British West Indies Grid",9001,4603,19942,9807,1,0,4400,8801,0,9102,8802,-62,9102,8805,0.9995,9201,8806,400000,9001,8807,0,9001,,,,,,,,,,,,, -2004,"Montserrat 1958 / British West Indies Grid",9001,4604,19942,9807,1,0,4400,8801,0,9102,8802,-62,9102,8805,0.9995,9201,8806,400000,9001,8807,0,9001,,,,,,,,,,,,, -2005,"St. Kitts 1955 / British West Indies Grid",9001,4605,19942,9807,1,0,4400,8801,0,9102,8802,-62,9102,8805,0.9995,9201,8806,400000,9001,8807,0,9001,,,,,,,,,,,,, -2006,"St. Lucia 1955 / British West Indies Grid",9001,4606,19942,9807,1,0,4400,8801,0,9102,8802,-62,9102,8805,0.9995,9201,8806,400000,9001,8807,0,9001,,,,,,,,,,,,, -2007,"St. Vincent 45 / British West Indies Grid",9001,4607,19942,9807,1,0,4400,8801,0,9102,8802,-62,9102,8805,0.9995,9201,8806,400000,9001,8807,0,9001,,,,,,,,,,,,, -2008,"NAD27(CGQ77) / SCoPQ zone 2",9001,4609,17700,9807,1,1,4499,8801,0,9110,8802,-55.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2009,"NAD27(CGQ77) / SCoPQ zone 3",9001,4609,17703,9807,1,0,4499,8801,0,9110,8802,-58.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2010,"NAD27(CGQ77) / SCoPQ zone 4",9001,4609,17704,9807,1,0,4499,8801,0,9110,8802,-61.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2011,"NAD27(CGQ77) / SCoPQ zone 5",9001,4609,17705,9807,1,0,4499,8801,0,9110,8802,-64.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2012,"NAD27(CGQ77) / SCoPQ zone 6",9001,4609,17706,9807,1,0,4499,8801,0,9110,8802,-67.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2013,"NAD27(CGQ77) / SCoPQ zone 7",9001,4609,17707,9807,1,0,4499,8801,0,9110,8802,-70.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2014,"NAD27(CGQ77) / SCoPQ zone 8",9001,4609,17708,9807,1,0,4499,8801,0,9110,8802,-73.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2015,"NAD27(CGQ77) / SCoPQ zone 9",9001,4609,17709,9807,1,0,4499,8801,0,9110,8802,-76.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2016,"NAD27(CGQ77) / SCoPQ zone 10",9001,4609,17710,9807,1,0,4499,8801,0,9110,8802,-79.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2017,"NAD27(76) / MTM zone 8",9001,4608,17708,9807,1,0,4499,8801,0,9110,8802,-73.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2018,"NAD27(76) / MTM zone 9",9001,4608,17709,9807,1,0,4499,8801,0,9110,8802,-76.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2019,"NAD27(76) / MTM zone 10",9001,4608,17710,9807,1,0,4499,8801,0,9110,8802,-79.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2020,"NAD27(76) / MTM zone 11",9001,4608,17711,9807,1,0,4400,8801,0,9110,8802,-82.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2021,"NAD27(76) / MTM zone 12",9001,4608,17712,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2022,"NAD27(76) / MTM zone 13",9001,4608,17713,9807,1,0,4400,8801,0,9102,8802,-84,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2023,"NAD27(76) / MTM zone 14",9001,4608,17714,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2024,"NAD27(76) / MTM zone 15",9001,4608,17715,9807,1,0,4400,8801,0,9102,8802,-90,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2025,"NAD27(76) / MTM zone 16",9001,4608,17716,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2026,"NAD27(76) / MTM zone 17",9001,4608,17717,9807,1,0,4400,8801,0,9102,8802,-96,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2027,"NAD27(76) / UTM zone 15N",9001,4608,16015,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2028,"NAD27(76) / UTM zone 16N",9001,4608,16016,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2029,"NAD27(76) / UTM zone 17N",9001,4608,16017,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2030,"NAD27(76) / UTM zone 18N",9001,4608,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2031,"NAD27(CGQ77) / UTM zone 17N",9001,4609,16017,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2032,"NAD27(CGQ77) / UTM zone 18N",9001,4609,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2033,"NAD27(CGQ77) / UTM zone 19N",9001,4609,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2034,"NAD27(CGQ77) / UTM zone 20N",9001,4609,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2035,"NAD27(CGQ77) / UTM zone 21N",9001,4609,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2036,"NAD83(CSRS98) / New Brunswick Stereo",9001,4140,19946,9809,1,1,4500,8801,46.3,9110,8802,-66.3,9110,8805,0.999912,9201,8806,2500000,9001,8807,7500000,9001,,,,,,,,,,,,, -2037,"NAD83(CSRS98) / UTM zone 19N",9001,4140,16019,9807,1,1,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2038,"NAD83(CSRS98) / UTM zone 20N",9001,4140,16020,9807,1,1,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2039,"Israel 1993 / Israeli TM Grid",9001,4141,18204,9807,1,0,4400,8801,31.4403817,9110,8802,35.1216261,9110,8805,1.0000067,9201,8806,219529.584,9001,8807,626907.39,9001,,,,,,,,,,,,, -2040,"Locodjo 1965 / UTM zone 30N",9001,4142,16030,9807,1,0,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2041,"Abidjan 1987 / UTM zone 30N",9001,4143,16030,9807,1,0,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2042,"Locodjo 1965 / UTM zone 29N",9001,4142,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2043,"Abidjan 1987 / UTM zone 29N",9001,4143,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2044,"Hanoi 1972 / Gauss-Kruger zone 18",9001,4147,16218,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,18500000,9001,8807,0,9001,,,,,,,,,,,,, -2045,"Hanoi 1972 / Gauss-Kruger zone 19",9001,4147,16219,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,19500000,9001,8807,0,9001,,,,,,,,,,,,, -2046,"Hartebeesthoek94 / Lo15",9001,4148,17515,9808,1,0,6503,8801,0,9102,8802,15,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2047,"Hartebeesthoek94 / Lo17",9001,4148,17517,9808,1,0,6503,8801,0,9102,8802,17,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2048,"Hartebeesthoek94 / Lo19",9001,4148,17519,9808,1,0,6503,8801,0,9102,8802,19,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2049,"Hartebeesthoek94 / Lo21",9001,4148,17521,9808,1,0,6503,8801,0,9102,8802,21,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2050,"Hartebeesthoek94 / Lo23",9001,4148,17523,9808,1,0,6503,8801,0,9102,8802,23,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2051,"Hartebeesthoek94 / Lo25",9001,4148,17525,9808,1,0,6503,8801,0,9102,8802,25,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2052,"Hartebeesthoek94 / Lo27",9001,4148,17527,9808,1,0,6503,8801,0,9102,8802,27,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2053,"Hartebeesthoek94 / Lo29",9001,4148,17529,9808,1,0,6503,8801,0,9102,8802,29,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2054,"Hartebeesthoek94 / Lo31",9001,4148,17531,9808,1,0,6503,8801,0,9102,8802,31,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2055,"Hartebeesthoek94 / Lo33",9001,4148,17533,9808,1,0,6503,8801,0,9102,8802,33,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2056,"CH1903+ / LV95",9001,4150,19950,9815,1,0,4400,8811,46.570866,9110,8812,7.26225,9110,8813,90,9110,8814,90,9110,8815,1,9201,8816,2600000,9001,8817,1200000,9001,,,,,,, -2057,"Rassadiran / Nakhl e Taqi",9001,4153,19951,9815,1,0,4400,8811,27.31077837,9110,8812,52.3612741,9110,8813,0.34179803,9110,8814,0.34179803,9110,8815,0.999895934,9201,8816,658377.437,9001,8817,3044969.194,9001,,,,,,, -2058,"ED50(ED77) / UTM zone 38N",9001,4154,16038,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2059,"ED50(ED77) / UTM zone 39N",9001,4154,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2060,"ED50(ED77) / UTM zone 40N",9001,4154,16040,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2061,"ED50(ED77) / UTM zone 41N",9001,4154,16041,9807,1,0,4400,8801,0,9102,8802,63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2062,"Madrid 1870 (Madrid) / Spain",9001,4903,19921,9801,1,0,4499,8801,40,9102,8802,0,9102,8805,0.9988085293,9201,8806,600000,9001,8807,600000,9001,,,,,,,,,,,,, -2063,"Dabola 1981 / UTM zone 28N",9001,4315,16028,9807,1,1,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2064,"Dabola 1981 / UTM zone 29N",9001,4315,16029,9807,1,1,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2065,"S-JTSK (Ferro) / Krovak",9001,4818,19952,9819,1,0,6501,1036,30.1717303,9110,8806,0,9001,8807,0,9001,8811,49.3,9110,8818,78.3,9110,8819,0.9999,9201,8833,42.3,9110,570.8,85.7,462.8,4.998,1.587,5.261,3.56 -2066,"Mount Dillon / Tobago Grid",9039,4157,19924,9806,1,0,4407,8801,11.1507843,9110,8802,-60.4109632,9110,8806,187500,9039,8807,180000,9039,,,,,,,,,,,,,,,, -2067,"Naparima 1955 / UTM zone 20N",9001,4158,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2068,"ELD79 / Libya zone 5",9001,4159,18240,9807,1,0,4499,8801,0,9102,8802,9,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2069,"ELD79 / Libya zone 6",9001,4159,18241,9807,1,0,4499,8801,0,9102,8802,11,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2070,"ELD79 / Libya zone 7",9001,4159,18242,9807,1,0,4499,8801,0,9102,8802,13,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2071,"ELD79 / Libya zone 8",9001,4159,18243,9807,1,0,4499,8801,0,9102,8802,15,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2072,"ELD79 / Libya zone 9",9001,4159,18244,9807,1,0,4499,8801,0,9102,8802,17,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2073,"ELD79 / Libya zone 10",9001,4159,18245,9807,1,0,4499,8801,0,9102,8802,19,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2074,"ELD79 / Libya zone 11",9001,4159,18246,9807,1,0,4499,8801,0,9102,8802,21,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2075,"ELD79 / Libya zone 12",9001,4159,18247,9807,1,0,4499,8801,0,9102,8802,23,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2076,"ELD79 / Libya zone 13",9001,4159,18248,9807,1,0,4499,8801,0,9102,8802,25,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2077,"ELD79 / UTM zone 32N",9001,4159,16032,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2078,"ELD79 / UTM zone 33N",9001,4159,16033,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2079,"ELD79 / UTM zone 34N",9001,4159,16034,9807,1,0,4400,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2080,"ELD79 / UTM zone 35N",9001,4159,16035,9807,1,0,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2081,"Chos Malal 1914 / Argentina 2",9001,4160,18032,9807,1,0,4530,8801,-90,9102,8802,-69,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -2082,"Pampa del Castillo / Argentina 2",9001,4161,18032,9807,1,0,4530,8801,-90,9102,8802,-69,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -2083,"Hito XVIII 1963 / Argentina 2",9001,4254,18032,9807,1,0,4530,8801,-90,9102,8802,-69,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -2084,"Hito XVIII 1963 / UTM zone 19S",9001,4254,16119,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2085,"NAD27 / Cuba Norte",9001,4267,18061,9801,1,1,4532,8801,22.21,9110,8802,-81,9110,8805,0.99993602,9201,8806,500000,9001,8807,280296.016,9001,,,,,,,,,,,,, -2086,"NAD27 / Cuba Sur",9001,4267,18062,9801,1,1,4532,8801,20.43,9110,8802,-76.5,9110,8805,0.99994848,9201,8806,500000,9001,8807,229126.939,9001,,,,,,,,,,,,, -2087,"ELD79 / TM 12 NE",9001,4159,16412,9807,1,0,4400,8801,0,9102,8802,12,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2088,"Carthage / TM 11 NE",9001,4223,16411,9807,1,0,4400,8801,0,9102,8802,11,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2089,"Yemen NGN96 / UTM zone 38N",9001,4163,16038,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2090,"Yemen NGN96 / UTM zone 39N",9001,4163,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2091,"South Yemen / Gauss Kruger zone 8",9001,4164,16208,9807,1,1,4530,8801,0,9102,8802,45,9102,8805,1,9201,8806,8500000,9001,8807,0,9001,,,,,,,,,,,,, -2092,"South Yemen / Gauss Kruger zone 9",9001,4164,16209,9807,1,1,4530,8801,0,9102,8802,51,9102,8805,1,9201,8806,9500000,9001,8807,0,9001,,,,,,,,,,,,, -2093,"Hanoi 1972 / GK 106 NE",9001,4147,16586,9807,1,0,4530,8801,0,9102,8802,106,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2094,"WGS 72BE / TM 106 NE",9001,4324,16506,9807,1,0,4400,8801,0,9102,8802,106,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2095,"Bissau / UTM zone 28N",9001,4165,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2096,"Korean 1985 / East Belt",9001,4162,18251,9807,1,0,4530,8801,38,9102,8802,129,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -2097,"Korean 1985 / Central Belt",9001,4162,18252,9807,1,0,4530,8801,38,9102,8802,127,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -2098,"Korean 1985 / West Belt",9001,4162,18253,9807,1,0,4530,8801,38,9102,8802,125,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -2099,"Qatar 1948 / Qatar Grid",9001,4286,19953,9806,1,0,4400,8801,25.22565,9110,8802,50.4541,9110,8806,100000,9001,8807,100000,9001,,,,,,,,,,,,,,,, -2100,"GGRS87 / Greek Grid",9001,4121,19930,9807,1,0,4400,8801,0,9102,8802,24,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2101,"Lake / Maracaibo Grid M1",9001,4249,18260,9801,1,0,4499,8801,10.1,9110,8802,-71.3620224,9110,8805,1,9201,8806,0,9001,8807,-52684.972,9001,,,,,,,,,,,,, -2102,"Lake / Maracaibo Grid",9001,4249,18261,9801,1,0,4499,8801,10.1,9110,8802,-71.3620224,9110,8805,1,9201,8806,200000,9001,8807,147315.028,9001,,,,,,,,,,,,, -2103,"Lake / Maracaibo Grid M3",9001,4249,18262,9801,1,0,4499,8801,10.1,9110,8802,-71.3620224,9110,8805,1,9201,8806,500000,9001,8807,447315.028,9001,,,,,,,,,,,,, -2104,"Lake / Maracaibo La Rosa Grid",9001,4249,18263,9801,1,0,4499,8801,10.1,9110,8802,-71.3620224,9110,8805,1,9201,8806,-17044,9001,8807,-23139.97,9001,,,,,,,,,,,,, -2105,"NZGD2000 / Mount Eden 2000",9001,4167,17931,9807,1,0,4500,8801,-36.5247,9110,8802,174.4551,9110,8805,0.9999,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2106,"NZGD2000 / Bay of Plenty 2000",9001,4167,17932,9807,1,0,4500,8801,-37.454,9110,8802,176.2758,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2107,"NZGD2000 / Poverty Bay 2000",9001,4167,17933,9807,1,0,4500,8801,-38.3728,9110,8802,177.5308,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2108,"NZGD2000 / Hawkes Bay 2000",9001,4167,17934,9807,1,0,4500,8801,-39.3903,9110,8802,176.4025,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2109,"NZGD2000 / Taranaki 2000",9001,4167,17935,9807,1,0,4500,8801,-39.0808,9110,8802,174.134,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2110,"NZGD2000 / Tuhirangi 2000",9001,4167,17936,9807,1,0,4500,8801,-39.3044,9110,8802,175.3824,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2111,"NZGD2000 / Wanganui 2000",9001,4167,17937,9807,1,0,4500,8801,-40.1431,9110,8802,175.2917,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2112,"NZGD2000 / Wairarapa 2000",9001,4167,17938,9807,1,0,4500,8801,-40.5531,9110,8802,175.385,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2113,"NZGD2000 / Wellington 2000",9001,4167,17939,9807,1,0,4500,8801,-41.1804,9110,8802,174.4635,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2114,"NZGD2000 / Collingwood 2000",9001,4167,17940,9807,1,0,4500,8801,-40.4253,9110,8802,172.4019,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2115,"NZGD2000 / Nelson 2000",9001,4167,17941,9807,1,0,4500,8801,-41.1628,9110,8802,173.1757,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2116,"NZGD2000 / Karamea 2000",9001,4167,17942,9807,1,0,4500,8801,-41.1723,9110,8802,172.0632,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2117,"NZGD2000 / Buller 2000",9001,4167,17943,9807,1,0,4500,8801,-41.4838,9110,8802,171.3452,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2118,"NZGD2000 / Grey 2000",9001,4167,17944,9807,1,0,4500,8801,-42.2001,9110,8802,171.3259,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2119,"NZGD2000 / Amuri 2000",9001,4167,17945,9807,1,0,4500,8801,-42.412,9110,8802,173.0036,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2120,"NZGD2000 / Marlborough 2000",9001,4167,17946,9807,1,0,4500,8801,-41.324,9110,8802,173.4807,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2121,"NZGD2000 / Hokitika 2000",9001,4167,17947,9807,1,0,4500,8801,-42.531,9110,8802,170.5847,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2122,"NZGD2000 / Okarito 2000",9001,4167,17948,9807,1,0,4500,8801,-43.0636,9110,8802,170.1539,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2123,"NZGD2000 / Jacksons Bay 2000",9001,4167,17949,9807,1,0,4500,8801,-43.584,9110,8802,168.3622,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2124,"NZGD2000 / Mount Pleasant 2000",9001,4167,17950,9807,1,0,4500,8801,-43.3526,9110,8802,172.4337,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2125,"NZGD2000 / Gawler 2000",9001,4167,17951,9807,1,0,4500,8801,-43.4455,9110,8802,171.2138,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2126,"NZGD2000 / Timaru 2000",9001,4167,17952,9807,1,0,4500,8801,-44.2407,9110,8802,171.0326,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2127,"NZGD2000 / Lindis Peak 2000",9001,4167,17953,9807,1,0,4500,8801,-44.4406,9110,8802,169.2803,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2128,"NZGD2000 / Mount Nicholas 2000",9001,4167,17954,9807,1,0,4500,8801,-45.0758,9110,8802,168.2355,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2129,"NZGD2000 / Mount York 2000",9001,4167,17955,9807,1,0,4500,8801,-45.3349,9110,8802,167.4419,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2130,"NZGD2000 / Observation Point 2000",9001,4167,17956,9807,1,0,4500,8801,-45.4858,9110,8802,170.3742,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2131,"NZGD2000 / North Taieri 2000",9001,4167,17957,9807,1,0,4500,8801,-45.5141,9110,8802,170.1657,9110,8805,0.99996,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2132,"NZGD2000 / Bluff 2000",9001,4167,17958,9807,1,0,4500,8801,-46.36,9110,8802,168.2034,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2133,"NZGD2000 / UTM zone 58S",9001,4167,16158,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2134,"NZGD2000 / UTM zone 59S",9001,4167,16159,9807,1,0,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2135,"NZGD2000 / UTM zone 60S",9001,4167,16160,9807,1,0,4400,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2136,"Accra / Ghana National Grid",9094,4168,19959,9807,1,0,4404,8801,4.4,9110,8802,-1,9110,8805,0.99975,9201,8806,900000,9094,8807,0,9094,,,,,,,,,,,,, -2137,"Accra / TM 1 NW",9001,4168,17001,9807,1,0,4400,8801,0,9102,8802,-1,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2138,"NAD27(CGQ77) / Quebec Lambert",9001,4609,19944,9802,1,0,4499,8821,44,9110,8822,-68.3,9110,8823,60,9110,8824,46,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -2139,"NAD83(CSRS98) / SCoPQ zone 2",9001,4140,17700,9807,1,1,4499,8801,0,9110,8802,-55.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2140,"NAD83(CSRS98) / MTM zone 3",9001,4140,17703,9807,1,1,4496,8801,0,9110,8802,-58.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2141,"NAD83(CSRS98) / MTM zone 4",9001,4140,17704,9807,1,1,4496,8801,0,9110,8802,-61.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2142,"NAD83(CSRS98) / MTM zone 5",9001,4140,17705,9807,1,1,4496,8801,0,9110,8802,-64.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2143,"NAD83(CSRS98) / MTM zone 6",9001,4140,17706,9807,1,1,4496,8801,0,9110,8802,-67.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2144,"NAD83(CSRS98) / MTM zone 7",9001,4140,17707,9807,1,1,4496,8801,0,9110,8802,-70.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2145,"NAD83(CSRS98) / MTM zone 8",9001,4140,17708,9807,1,1,4496,8801,0,9110,8802,-73.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2146,"NAD83(CSRS98) / MTM zone 9",9001,4140,17709,9807,1,1,4496,8801,0,9110,8802,-76.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2147,"NAD83(CSRS98) / MTM zone 10",9001,4140,17710,9807,1,1,4496,8801,0,9110,8802,-79.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2148,"NAD83(CSRS98) / UTM zone 21N",9001,4140,16021,9807,1,1,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2149,"NAD83(CSRS98) / UTM zone 18N",9001,4140,16018,9807,1,1,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2150,"NAD83(CSRS98) / UTM zone 17N",9001,4140,16017,9807,1,1,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2151,"NAD83(CSRS98) / UTM zone 13N",9001,4140,16013,9807,1,1,4400,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2152,"NAD83(CSRS98) / UTM zone 12N",9001,4140,16012,9807,1,1,4400,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2153,"NAD83(CSRS98) / UTM zone 11N",9001,4140,16011,9807,1,1,4400,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2154,"RGF93 / Lambert-93",9001,4171,18085,9802,1,0,4499,8821,46.3,9110,8822,3,9110,8823,49,9110,8824,44,9110,8826,700000,9001,8827,6600000,9001,,,,,,,,,, -2155,"American Samoa 1962 / American Samoa Lambert",9003,4169,15300,9801,1,1,4497,8801,-14.16,9110,8802,170,9110,8805,1,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -2156,"NAD83(HARN) / UTM zone 59S",9001,4152,16159,9807,1,1,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2157,"IRENET95 / Irish Transverse Mercator",9001,4173,19962,9807,1,0,4400,8801,53.3,9110,8802,-8,9110,8805,0.99982,9201,8806,600000,9001,8807,750000,9001,,,,,,,,,,,,, -2158,"IRENET95 / UTM zone 29N",9001,4173,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2159,"Sierra Leone 1924 / New Colony Grid",9094,4174,19963,9807,1,0,4404,8801,6.4,9110,8802,-12,9110,8805,1,9201,8806,500000,9094,8807,0,9094,,,,,,,,,,,,, -2160,"Sierra Leone 1924 / New War Office Grid",9094,4174,19964,9807,1,0,4404,8801,6.4,9110,8802,-12,9110,8805,1,9201,8806,800000,9094,8807,600000,9094,,,,,,,,,,,,, -2161,"Sierra Leone 1968 / UTM zone 28N",9001,4175,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2162,"Sierra Leone 1968 / UTM zone 29N",9001,4175,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2163,US National Atlas Equal Area,9001,4052,3899,1027,1,0,4499,8801,45,9102,8802,-100,9102,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -2164,"Locodjo 1965 / TM 5 NW",9001,4142,17005,9807,1,0,4400,8801,0,9102,8802,-5,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2165,"Abidjan 1987 / TM 5 NW",9001,4143,17005,9807,1,0,4400,8801,0,9102,8802,-5,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2166,"Pulkovo 1942(83) / Gauss Kruger zone 3",9001,4178,16263,9807,1,1,4530,8801,0,9102,8802,9,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -2167,"Pulkovo 1942(83) / Gauss Kruger zone 4",9001,4178,16264,9807,1,1,4530,8801,0,9102,8802,12,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -2168,"Pulkovo 1942(83) / Gauss Kruger zone 5",9001,4178,16265,9807,1,1,4530,8801,0,9102,8802,15,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -2169,"Luxembourg 1930 / Gauss",9001,4181,19966,9807,1,0,4530,8801,49.5,9110,8802,6.1,9110,8805,1,9201,8806,80000,9001,8807,100000,9001,,,,,,,,,,,,, -2170,"MGI / Slovenia Grid",9001,4312,19967,9807,1,1,4530,8801,0,9110,8802,15,9110,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2171,"Pulkovo 1942(58) / Poland zone I",9001,4179,18281,9809,1,1,4530,8801,50.373,9110,8802,21.05,9110,8805,0.9998,9201,8806,4637000,9001,8807,5647000,9001,,,,,,,,,,,,, -2172,"Pulkovo 1942(58) / Poland zone II",9001,4179,18282,9809,1,0,4530,8801,53.0007,9110,8802,21.301,9110,8805,0.9998,9201,8806,4603000,9001,8807,5806000,9001,,,,,,,,,,,,, -2173,"Pulkovo 1942(58) / Poland zone III",9001,4179,18283,9809,1,0,4530,8801,53.35,9110,8802,17.003,9110,8805,0.9998,9201,8806,3501000,9001,8807,5999000,9001,,,,,,,,,,,,, -2174,"Pulkovo 1942(58) / Poland zone IV",9001,4179,18284,9809,1,0,4530,8801,51.4015,9110,8802,16.402,9110,8805,0.9998,9201,8806,3703000,9001,8807,5627000,9001,,,,,,,,,,,,, -2175,"Pulkovo 1942(58) / Poland zone V",9001,4179,18285,9807,1,0,4530,8801,0,9110,8802,18.573,9110,8805,0.999983,9201,8806,237000,9001,8807,-4700000,9001,,,,,,,,,,,,, -2176,"ETRS89 / Poland CS2000 zone 5",9001,4258,18305,9807,1,0,4531,8801,0,9102,8802,15,9102,8805,0.999923,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -2177,"ETRS89 / Poland CS2000 zone 6",9001,4258,18306,9807,1,0,4531,8801,0,9102,8802,18,9102,8805,0.999923,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -2178,"ETRS89 / Poland CS2000 zone 7",9001,4258,18307,9807,1,0,4531,8801,0,9102,8802,21,9102,8805,0.999923,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -2179,"ETRS89 / Poland CS2000 zone 8",9001,4258,18308,9807,1,0,4531,8801,0,9102,8802,24,9102,8805,0.999923,9201,8806,8500000,9001,8807,0,9001,,,,,,,,,,,,, -2180,"ETRS89 / Poland CS92",9001,4258,18300,9807,1,0,4531,8801,0,9102,8802,19,9102,8805,0.9993,9201,8806,500000,9001,8807,-5300000,9001,,,,,,,,,,,,, -2188,"Azores Occidental 1939 / UTM zone 25N",9001,4182,16025,9807,1,0,4400,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2189,"Azores Central 1948 / UTM zone 26N",9001,4183,16026,9807,1,0,4400,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2190,"Azores Oriental 1940 / UTM zone 26N",9001,4184,16026,9807,1,0,4400,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2191,"Madeira 1936 / UTM zone 28N",9001,4185,16028,9807,1,1,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2192,"ED50 / France EuroLambert",9001,4230,18086,9801,1,1,4499,8801,46.48,9110,8802,2.2014025,9110,8805,0.99987742,9201,8806,600000,9001,8807,2200000,9001,,,,,,,,,,,,, -2193,"NZGD2000 / New Zealand Transverse Mercator 2000",9001,4167,19971,9807,1,0,4500,8801,0,9102,8802,173,9102,8805,0.9996,9201,8806,1600000,9001,8807,10000000,9001,,,,,,,,,,,,, -2194,"American Samoa 1962 / American Samoa Lambert",9003,4169,15301,9801,1,1,4497,8801,-14.16,9110,8802,-170,9110,8805,1,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -2195,"NAD83(HARN) / UTM zone 2S",9001,4152,16102,9807,1,0,4400,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2196,"ETRS89 / Kp2000 Jutland",9001,4258,18401,9807,1,0,4400,8801,0,9110,8802,9.3,9110,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2197,"ETRS89 / Kp2000 Zealand",9001,4258,18402,9807,1,0,4400,8801,0,9102,8802,12,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2198,"ETRS89 / Kp2000 Bornholm",9001,4258,18403,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,1,9201,8806,900000,9001,8807,0,9001,,,,,,,,,,,,, -2199,"Albanian 1987 / Gauss Kruger zone 4",9001,4191,16204,9807,1,1,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -2200,"ATS77 / New Brunswick Stereographic (ATS77)",9001,4122,19945,9809,1,0,4500,8801,46.3,9110,8802,-66.3,9110,8805,0.999912,9201,8806,300000,9001,8807,800000,9001,,,,,,,,,,,,, -2201,"REGVEN / UTM zone 18N",9001,4189,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2202,"REGVEN / UTM zone 19N",9001,4189,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2203,"REGVEN / UTM zone 20N",9001,4189,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2204,"NAD27 / Tennessee",9003,4267,15302,9802,1,0,4497,8821,34.4,9110,8822,-86,9110,8823,35.15,9110,8824,36.25,9110,8826,2000000,9003,8827,100000,9003,,,,,,,,,, -2205,"NAD83 / Kentucky North",9001,4269,15303,9802,1,0,4499,8821,37.3,9110,8822,-84.15,9110,8823,37.58,9110,8824,38.58,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -2206,"ED50 / 3-degree Gauss-Kruger zone 9",9001,4230,16269,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,9500000,9001,8807,0,9001,,,,,,,,,,,,, -2207,"ED50 / 3-degree Gauss-Kruger zone 10",9001,4230,16270,9807,1,0,4530,8801,0,9102,8802,30,9102,8805,1,9201,8806,10500000,9001,8807,0,9001,,,,,,,,,,,,, -2208,"ED50 / 3-degree Gauss-Kruger zone 11",9001,4230,16271,9807,1,0,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,11500000,9001,8807,0,9001,,,,,,,,,,,,, -2209,"ED50 / 3-degree Gauss-Kruger zone 12",9001,4230,16272,9807,1,0,4530,8801,0,9102,8802,36,9102,8805,1,9201,8806,12500000,9001,8807,0,9001,,,,,,,,,,,,, -2210,"ED50 / 3-degree Gauss-Kruger zone 13",9001,4230,16273,9807,1,0,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,13500000,9001,8807,0,9001,,,,,,,,,,,,, -2211,"ED50 / 3-degree Gauss-Kruger zone 14",9001,4230,16274,9807,1,0,4530,8801,0,9102,8802,42,9102,8805,1,9201,8806,14500000,9001,8807,0,9001,,,,,,,,,,,,, -2212,"ED50 / 3-degree Gauss-Kruger zone 15",9001,4230,16275,9807,1,0,4530,8801,0,9102,8802,45,9102,8805,1,9201,8806,15500000,9001,8807,0,9001,,,,,,,,,,,,, -2213,"ETRS89 / TM 30 NE",9001,4258,16430,9807,1,0,4400,8801,0,9102,8802,30,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2214,"Douala 1948 / AOF west",9001,4192,18415,9807,1,1,4400,8801,0,9110,8802,10.3,9110,8805,0.999,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -2215,"Manoca 1962 / UTM zone 32N",9001,4193,16032,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2216,"Qornoq 1927 / UTM zone 22N",9001,4194,16022,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2217,"Qornoq 1927 / UTM zone 23N",9001,4194,16023,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2218,"Scoresbysund 1952 / Greenland zone 5 east",9001,4195,18425,9826,1,0,1031,8801,70.3,9110,8802,-24,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2219,"ATS77 / UTM zone 19N",9001,4122,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2220,"ATS77 / UTM zone 20N",9001,4122,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2221,"Scoresbysund 1952 / Greenland zone 6 east",9001,4195,18426,9826,1,0,1031,8801,67.3,9110,8802,-32,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2222,"NAD83 / Arizona East (ft)",9002,4269,15304,9807,1,0,4495,8801,31,9110,8802,-110.1,9110,8805,0.9999,9201,8806,700000,9002,8807,0,9002,,,,,,,,,,,,, -2223,"NAD83 / Arizona Central (ft)",9002,4269,15305,9807,1,0,4495,8801,31,9110,8802,-111.55,9110,8805,0.9999,9201,8806,700000,9002,8807,0,9002,,,,,,,,,,,,, -2224,"NAD83 / Arizona West (ft)",9002,4269,15306,9807,1,0,4495,8801,31,9110,8802,-113.45,9110,8805,0.999933333,9201,8806,700000,9002,8807,0,9002,,,,,,,,,,,,, -2225,"NAD83 / California zone 1 (ftUS)",9003,4269,15307,9802,1,0,4497,8821,39.2,9110,8822,-122,9110,8823,41.4,9110,8824,40,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -2226,"NAD83 / California zone 2 (ftUS)",9003,4269,15308,9802,1,0,4497,8821,37.4,9110,8822,-122,9110,8823,39.5,9110,8824,38.2,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -2227,"NAD83 / California zone 3 (ftUS)",9003,4269,15309,9802,1,0,4497,8821,36.3,9110,8822,-120.3,9110,8823,38.26,9110,8824,37.04,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -2228,"NAD83 / California zone 4 (ftUS)",9003,4269,15310,9802,1,0,4497,8821,35.2,9110,8822,-119,9110,8823,37.15,9110,8824,36,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -2229,"NAD83 / California zone 5 (ftUS)",9003,4269,15311,9802,1,0,4497,8821,33.3,9110,8822,-118,9110,8823,35.28,9110,8824,34.02,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -2230,"NAD83 / California zone 6 (ftUS)",9003,4269,15312,9802,1,0,4497,8821,32.1,9110,8822,-116.15,9110,8823,33.53,9110,8824,32.47,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -2231,"NAD83 / Colorado North (ftUS)",9003,4269,15313,9802,1,0,4497,8821,39.2,9110,8822,-105.3,9110,8823,40.47,9110,8824,39.43,9110,8826,3000000,9003,8827,1000000,9003,,,,,,,,,, -2232,"NAD83 / Colorado Central (ftUS)",9003,4269,15314,9802,1,0,4497,8821,37.5,9110,8822,-105.3,9110,8823,39.45,9110,8824,38.27,9110,8826,3000000,9003,8827,1000000,9003,,,,,,,,,, -2233,"NAD83 / Colorado South (ftUS)",9003,4269,15315,9802,1,0,4497,8821,36.4,9110,8822,-105.3,9110,8823,38.26,9110,8824,37.14,9110,8826,3000000,9003,8827,1000000,9003,,,,,,,,,, -2234,"NAD83 / Connecticut (ftUS)",9003,4269,15316,9802,1,0,4497,8821,40.5,9110,8822,-72.45,9110,8823,41.52,9110,8824,41.12,9110,8826,1000000,9003,8827,500000,9003,,,,,,,,,, -2235,"NAD83 / Delaware (ftUS)",9003,4269,15317,9807,1,0,4497,8801,38,9110,8802,-75.25,9110,8805,0.999995,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -2236,"NAD83 / Florida East (ftUS)",9003,4269,15318,9807,1,0,4497,8801,24.2,9110,8802,-81,9110,8805,0.999941177,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -2237,"NAD83 / Florida West (ftUS)",9003,4269,15319,9807,1,0,4497,8801,24.2,9110,8802,-82,9110,8805,0.999941177,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -2238,"NAD83 / Florida North (ftUS)",9003,4269,15320,9802,1,0,4497,8821,29,9110,8822,-84.3,9110,8823,30.45,9110,8824,29.35,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -2239,"NAD83 / Georgia East (ftUS)",9003,4269,15321,9807,1,0,4497,8801,30,9110,8802,-82.1,9110,8805,0.9999,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -2240,"NAD83 / Georgia West (ftUS)",9003,4269,15322,9807,1,0,4497,8801,30,9110,8802,-84.1,9110,8805,0.9999,9201,8806,2296583.333,9003,8807,0,9003,,,,,,,,,,,,, -2241,"NAD83 / Idaho East (ftUS)",9003,4269,15323,9807,1,0,4497,8801,41.4,9110,8802,-112.1,9110,8805,0.999947368,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -2242,"NAD83 / Idaho Central (ftUS)",9003,4269,15324,9807,1,0,4497,8801,41.4,9110,8802,-114,9110,8805,0.999947368,9201,8806,1640416.667,9003,8807,0,9003,,,,,,,,,,,,, -2243,"NAD83 / Idaho West (ftUS)",9003,4269,15325,9807,1,0,4497,8801,41.4,9110,8802,-115.45,9110,8805,0.999933333,9201,8806,2624666.667,9003,8807,0,9003,,,,,,,,,,,,, -2244,"NAD83 / Indiana East (ftUS)",9003,4269,15326,9807,1,1,4497,8801,37.3,9110,8802,-85.4,9110,8805,0.999966667,9201,8806,328083.333,9003,8807,818125,9003,,,,,,,,,,,,, -2245,"NAD83 / Indiana West (ftUS)",9003,4269,15327,9807,1,1,4497,8801,37.3,9110,8802,-87.05,9110,8805,0.999966667,9201,8806,2952750,9003,8807,818125,9003,,,,,,,,,,,,, -2246,"NAD83 / Kentucky North (ftUS)",9003,4269,15328,9802,1,0,4497,8821,37.3,9110,8822,-84.15,9110,8823,37.58,9110,8824,38.58,9110,8826,1640416.667,9003,8827,0,9003,,,,,,,,,, -2247,"NAD83 / Kentucky South (ftUS)",9003,4269,15329,9802,1,0,4497,8821,36.2,9110,8822,-85.45,9110,8823,37.56,9110,8824,36.44,9110,8826,1640416.667,9003,8827,1640416.667,9003,,,,,,,,,, -2248,"NAD83 / Maryland (ftUS)",9003,4269,15330,9802,1,0,4497,8821,37.4,9110,8822,-77,9110,8823,39.27,9110,8824,38.18,9110,8826,1312333.333,9003,8827,0,9003,,,,,,,,,, -2249,"NAD83 / Massachusetts Mainland (ftUS)",9003,4269,15331,9802,1,0,4497,8821,41,9110,8822,-71.3,9110,8823,42.41,9110,8824,41.43,9110,8826,656166.667,9003,8827,2460625,9003,,,,,,,,,, -2250,"NAD83 / Massachusetts Island (ftUS)",9003,4269,15332,9802,1,0,4497,8821,41,9110,8822,-70.3,9110,8823,41.29,9110,8824,41.17,9110,8826,1640416.667,9003,8827,0,9003,,,,,,,,,, -2251,"NAD83 / Michigan North (ft)",9002,4269,15333,9802,1,0,4495,8821,44.47,9110,8822,-87,9110,8823,47.05,9110,8824,45.29,9110,8826,26246719.16,9002,8827,0,9002,,,,,,,,,, -2252,"NAD83 / Michigan Central (ft)",9002,4269,15334,9802,1,0,4495,8821,43.19,9110,8822,-84.22,9110,8823,45.42,9110,8824,44.11,9110,8826,19685039.37,9002,8827,0,9002,,,,,,,,,, -2253,"NAD83 / Michigan South (ft)",9002,4269,15335,9802,1,0,4495,8821,41.3,9110,8822,-84.22,9110,8823,43.4,9110,8824,42.06,9110,8826,13123359.58,9002,8827,0,9002,,,,,,,,,, -2254,"NAD83 / Mississippi East (ftUS)",9003,4269,15336,9807,1,0,4497,8801,29.3,9110,8802,-88.5,9110,8805,0.99995,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -2255,"NAD83 / Mississippi West (ftUS)",9003,4269,15337,9807,1,0,4497,8801,29.3,9110,8802,-90.2,9110,8805,0.99995,9201,8806,2296583.333,9003,8807,0,9003,,,,,,,,,,,,, -2256,"NAD83 / Montana (ft)",9002,4269,15338,9802,1,0,4495,8821,44.15,9110,8822,-109.3,9110,8823,49,9110,8824,45,9110,8826,1968503.937,9002,8827,0,9002,,,,,,,,,, -2257,"NAD83 / New Mexico East (ftUS)",9003,4269,15339,9807,1,0,4497,8801,31,9110,8802,-104.2,9110,8805,0.999909091,9201,8806,541337.5,9003,8807,0,9003,,,,,,,,,,,,, -2258,"NAD83 / New Mexico Central (ftUS)",9003,4269,15340,9807,1,0,4497,8801,31,9110,8802,-106.15,9110,8805,0.9999,9201,8806,1640416.667,9003,8807,0,9003,,,,,,,,,,,,, -2259,"NAD83 / New Mexico West (ftUS)",9003,4269,15341,9807,1,0,4497,8801,31,9110,8802,-107.5,9110,8805,0.999916667,9201,8806,2723091.667,9003,8807,0,9003,,,,,,,,,,,,, -2260,"NAD83 / New York East (ftUS)",9003,4269,15342,9807,1,0,4497,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,492125,9003,8807,0,9003,,,,,,,,,,,,, -2261,"NAD83 / New York Central (ftUS)",9003,4269,15343,9807,1,0,4497,8801,40,9110,8802,-76.35,9110,8805,0.9999375,9201,8806,820208.333,9003,8807,0,9003,,,,,,,,,,,,, -2262,"NAD83 / New York West (ftUS)",9003,4269,15344,9807,1,0,4497,8801,40,9110,8802,-78.35,9110,8805,0.9999375,9201,8806,1148291.667,9003,8807,0,9003,,,,,,,,,,,,, -2263,"NAD83 / New York Long Island (ftUS)",9003,4269,15345,9802,1,0,4497,8821,40.1,9110,8822,-74,9110,8823,41.02,9110,8824,40.4,9110,8826,984250,9003,8827,0,9003,,,,,,,,,, -2264,"NAD83 / North Carolina (ftUS)",9003,4269,15346,9802,1,0,4497,8821,33.45,9110,8822,-79,9110,8823,36.1,9110,8824,34.2,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -2265,"NAD83 / North Dakota North (ft)",9002,4269,15347,9802,1,0,4495,8821,47,9110,8822,-100.3,9110,8823,48.44,9110,8824,47.26,9110,8826,1968503.937,9002,8827,0,9002,,,,,,,,,, -2266,"NAD83 / North Dakota South (ft)",9002,4269,15348,9802,1,0,4495,8821,45.4,9110,8822,-100.3,9110,8823,47.29,9110,8824,46.11,9110,8826,1968503.937,9002,8827,0,9002,,,,,,,,,, -2267,"NAD83 / Oklahoma North (ftUS)",9003,4269,15349,9802,1,0,4497,8821,35,9110,8822,-98,9110,8823,36.46,9110,8824,35.34,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -2268,"NAD83 / Oklahoma South (ftUS)",9003,4269,15350,9802,1,0,4497,8821,33.2,9110,8822,-98,9110,8823,35.14,9110,8824,33.56,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -2269,"NAD83 / Oregon North (ft)",9002,4269,15351,9802,1,0,4495,8821,43.4,9110,8822,-120.3,9110,8823,46,9110,8824,44.2,9110,8826,8202099.738,9002,8827,0,9002,,,,,,,,,, -2270,"NAD83 / Oregon South (ft)",9002,4269,15352,9802,1,0,4495,8821,41.4,9110,8822,-120.3,9110,8823,44,9110,8824,42.2,9110,8826,4921259.843,9002,8827,0,9002,,,,,,,,,, -2271,"NAD83 / Pennsylvania North (ftUS)",9003,4269,15353,9802,1,0,4497,8821,40.1,9110,8822,-77.45,9110,8823,41.57,9110,8824,40.53,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -2272,"NAD83 / Pennsylvania South (ftUS)",9003,4269,15354,9802,1,0,4497,8821,39.2,9110,8822,-77.45,9110,8823,40.58,9110,8824,39.56,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -2273,"NAD83 / South Carolina (ft)",9002,4269,15355,9802,1,0,4495,8821,31.5,9110,8822,-81,9110,8823,34.5,9110,8824,32.3,9110,8826,2000000,9002,8827,0,9002,,,,,,,,,, -2274,"NAD83 / Tennessee (ftUS)",9003,4269,15356,9802,1,0,4497,8821,34.2,9110,8822,-86,9110,8823,36.25,9110,8824,35.15,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -2275,"NAD83 / Texas North (ftUS)",9003,4269,15357,9802,1,0,4497,8821,34,9110,8822,-101.3,9110,8823,36.11,9110,8824,34.39,9110,8826,656166.667,9003,8827,3280833.333,9003,,,,,,,,,, -2276,"NAD83 / Texas North Central (ftUS)",9003,4269,15358,9802,1,0,4497,8821,31.4,9110,8822,-98.3,9110,8823,33.58,9110,8824,32.08,9110,8826,1968500,9003,8827,6561666.667,9003,,,,,,,,,, -2277,"NAD83 / Texas Central (ftUS)",9003,4269,15359,9802,1,0,4497,8821,29.4,9110,8822,-100.2,9110,8823,31.53,9110,8824,30.07,9110,8826,2296583.333,9003,8827,9842500,9003,,,,,,,,,, -2278,"NAD83 / Texas South Central (ftUS)",9003,4269,15360,9802,1,0,4497,8821,27.5,9110,8822,-99,9110,8823,30.17,9110,8824,28.23,9110,8826,1968500,9003,8827,13123333.333,9003,,,,,,,,,, -2279,"NAD83 / Texas South (ftUS)",9003,4269,15361,9802,1,0,4497,8821,25.4,9110,8822,-98.3,9110,8823,27.5,9110,8824,26.1,9110,8826,984250,9003,8827,16404166.667,9003,,,,,,,,,, -2280,"NAD83 / Utah North (ft)",9002,4269,15362,9802,0,0,4495,8821,40.2,9110,8822,-111.3,9110,8823,41.47,9110,8824,40.43,9110,8826,1640419.948,9002,8827,3280839.895,9002,,,,,,,,,, -2281,"NAD83 / Utah Central (ft)",9002,4269,15363,9802,0,0,4495,8821,38.2,9110,8822,-111.3,9110,8823,40.39,9110,8824,39.01,9110,8826,1640419.948,9002,8827,6561679.79,9002,,,,,,,,,, -2282,"NAD83 / Utah South (ft)",9002,4269,15364,9802,0,0,4495,8821,36.4,9110,8822,-111.3,9110,8823,38.21,9110,8824,37.13,9110,8826,1640419.948,9002,8827,9842519.685,9002,,,,,,,,,, -2283,"NAD83 / Virginia North (ftUS)",9003,4269,15365,9802,1,0,4497,8821,37.4,9110,8822,-78.3,9110,8823,39.12,9110,8824,38.02,9110,8826,11482916.667,9003,8827,6561666.667,9003,,,,,,,,,, -2284,"NAD83 / Virginia South (ftUS)",9003,4269,15366,9802,1,0,4497,8821,36.2,9110,8822,-78.3,9110,8823,37.58,9110,8824,36.46,9110,8826,11482916.667,9003,8827,3280833.333,9003,,,,,,,,,, -2285,"NAD83 / Washington North (ftUS)",9003,4269,15367,9802,1,0,4497,8821,47,9110,8822,-120.5,9110,8823,48.44,9110,8824,47.3,9110,8826,1640416.667,9003,8827,0,9003,,,,,,,,,, -2286,"NAD83 / Washington South (ftUS)",9003,4269,15368,9802,1,0,4497,8821,45.2,9110,8822,-120.3,9110,8823,47.2,9110,8824,45.5,9110,8826,1640416.667,9003,8827,0,9003,,,,,,,,,, -2287,"NAD83 / Wisconsin North (ftUS)",9003,4269,15369,9802,1,0,4497,8821,45.1,9110,8822,-90,9110,8823,46.46,9110,8824,45.34,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -2288,"NAD83 / Wisconsin Central (ftUS)",9003,4269,15370,9802,1,0,4497,8821,43.5,9110,8822,-90,9110,8823,45.3,9110,8824,44.15,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -2289,"NAD83 / Wisconsin South (ftUS)",9003,4269,15371,9802,1,0,4497,8821,42,9110,8822,-90,9110,8823,44.04,9110,8824,42.44,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -2290,"ATS77 / Prince Edward Isl. Stereographic (ATS77)",9001,4122,19933,9809,1,0,4496,8801,47.15,9110,8802,-63,9110,8805,0.999912,9201,8806,700000,9001,8807,400000,9001,,,,,,,,,,,,, -2291,"NAD83(CSRS98) / Prince Edward Isl. Stereographic (NAD83)",9001,4122,19960,9809,1,1,4496,8801,47.15,9110,8802,-63,9110,8805,0.999912,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2292,"NAD83(CSRS98) / Prince Edward Isl. Stereographic (NAD83)",9001,4140,19960,9809,1,1,4496,8801,47.15,9110,8802,-63,9110,8805,0.999912,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2294,"ATS77 / MTM Nova Scotia zone 4",9001,4122,17794,9807,1,0,4400,8801,0,9110,8802,-61.3,9110,8805,0.9999,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -2295,"ATS77 / MTM Nova Scotia zone 5",9001,4122,17795,9807,1,0,4400,8801,0,9110,8802,-64.3,9110,8805,0.9999,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -2296,"Ammassalik 1958 / Greenland zone 7 east",9001,4196,18427,9826,1,0,1031,8801,64.3,9110,8802,-40,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2297,"Qornoq 1927 / Greenland zone 1 east",9001,4194,18421,9826,1,1,4501,8801,82.3,9110,8802,-40,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2298,"Qornoq 1927 / Greenland zone 2 east",9001,4194,18422,9826,1,1,4501,8801,79.3,9110,8802,-24,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2299,"Qornoq 1927 / Greenland zone 2 west",9001,4194,18432,9826,1,0,1031,8801,79.3,9110,8802,-64,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2300,"Qornoq 1927 / Greenland zone 3 east",9001,4194,18423,9826,1,1,4501,8801,76.3,9110,8802,-20,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2301,"Qornoq 1927 / Greenland zone 3 west",9001,4194,18433,9826,1,0,1031,8801,76.3,9110,8802,-64,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2302,"Qornoq 1927 / Greenland zone 4 east",9001,4194,18424,9826,1,1,4501,8801,73.3,9110,8802,-24,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2303,"Qornoq 1927 / Greenland zone 4 west",9001,4194,18434,9826,1,0,1031,8801,73.3,9110,8802,-52,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2304,"Qornoq 1927 / Greenland zone 5 west",9001,4194,18435,9826,1,0,1031,8801,70.3,9110,8802,-52,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2305,"Qornoq 1927 / Greenland zone 6 west",9001,4194,18436,9826,1,0,1031,8801,67.3,9110,8802,-52,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2306,"Qornoq 1927 / Greenland zone 7 west",9001,4194,18437,9826,1,0,1031,8801,64.3,9110,8802,-52,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2307,"Qornoq 1927 / Greenland zone 8 east",9001,4194,18428,9826,1,0,1031,8801,61.3,9110,8802,-48,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2308,"Batavia / TM 109 SE",9001,4211,16709,9807,1,0,4400,8801,0,9102,8802,109,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2309,"WGS 84 / TM 116 SE",9001,4326,16716,9807,1,0,4400,8801,0,9102,8802,116,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2310,"WGS 84 / TM 132 SE",9001,4326,16732,9807,1,0,4400,8801,0,9102,8802,132,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2311,"WGS 84 / TM 6 NE",9001,4326,16406,9807,1,0,4400,8801,0,9102,8802,6,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2312,"Garoua / UTM zone 33N",9001,4197,16033,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2313,"Kousseri / UTM zone 33N",9001,4198,16033,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2314,"Trinidad 1903 / Trinidad Grid (ftCla)",9005,4302,19975,9806,1,0,4403,8801,10.263,9110,8802,-61.2,9110,8806,283800,9005,8807,214500,9005,,,,,,,,,,,,,,,, -2315,"Campo Inchauspe / UTM zone 19S",9001,4221,16119,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2316,"Campo Inchauspe / UTM zone 20S",9001,4221,16120,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2317,"PSAD56 / ICN Regional",9001,4248,19976,9802,1,0,4499,8821,6,9102,8822,-66,9102,8823,9,9102,8824,3,9102,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -2318,"Ain el Abd / Aramco Lambert",9001,4204,19977,9802,1,0,4400,8821,25.0522236,9110,8822,48,9102,8823,17,9102,8824,33,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -2319,"ED50 / TM27",9001,4230,16305,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2320,"ED50 / TM30",9001,4230,16370,9807,1,0,4530,8801,0,9102,8802,30,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2321,"ED50 / TM33",9001,4230,16306,9807,1,0,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2322,"ED50 / TM36",9001,4230,16372,9807,1,0,4530,8801,0,9102,8802,36,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2323,"ED50 / TM39",9001,4230,16307,9807,1,0,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2324,"ED50 / TM42",9001,4230,16374,9807,1,0,4530,8801,0,9102,8802,42,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2325,"ED50 / TM45",9001,4230,16308,9807,1,0,4530,8801,0,9102,8802,45,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2326,Hong Kong 1980 Grid System,9001,4611,19978,9807,1,0,4500,8801,22.184368,9110,8802,114.10428,9110,8805,1,9201,8806,836694.05,9001,8807,819069.8,9001,,,,,,,,,,,,, -2327,"Xian 1980 / Gauss-Kruger zone 13",9001,4610,16213,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,13500000,9001,8807,0,9001,,,,,,,,,,,,, -2328,"Xian 1980 / Gauss-Kruger zone 14",9001,4610,16214,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,14500000,9001,8807,0,9001,,,,,,,,,,,,, -2329,"Xian 1980 / Gauss-Kruger zone 15",9001,4610,16215,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,15500000,9001,8807,0,9001,,,,,,,,,,,,, -2330,"Xian 1980 / Gauss-Kruger zone 16",9001,4610,16216,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,16500000,9001,8807,0,9001,,,,,,,,,,,,, -2331,"Xian 1980 / Gauss-Kruger zone 17",9001,4610,16217,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,17500000,9001,8807,0,9001,,,,,,,,,,,,, -2332,"Xian 1980 / Gauss-Kruger zone 18",9001,4610,16218,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,18500000,9001,8807,0,9001,,,,,,,,,,,,, -2333,"Xian 1980 / Gauss-Kruger zone 19",9001,4610,16219,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,19500000,9001,8807,0,9001,,,,,,,,,,,,, -2334,"Xian 1980 / Gauss-Kruger zone 20",9001,4610,16220,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,20500000,9001,8807,0,9001,,,,,,,,,,,,, -2335,"Xian 1980 / Gauss-Kruger zone 21",9001,4610,16221,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,21500000,9001,8807,0,9001,,,,,,,,,,,,, -2336,"Xian 1980 / Gauss-Kruger zone 22",9001,4610,16222,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,22500000,9001,8807,0,9001,,,,,,,,,,,,, -2337,"Xian 1980 / Gauss-Kruger zone 23",9001,4610,16223,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,23500000,9001,8807,0,9001,,,,,,,,,,,,, -2338,"Xian 1980 / Gauss-Kruger CM 75E",9001,4610,16313,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2339,"Xian 1980 / Gauss-Kruger CM 81E",9001,4610,16314,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2340,"Xian 1980 / Gauss-Kruger CM 87E",9001,4610,16315,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2341,"Xian 1980 / Gauss-Kruger CM 93E",9001,4610,16316,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2342,"Xian 1980 / Gauss-Kruger CM 99E",9001,4610,16317,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2343,"Xian 1980 / Gauss-Kruger CM 105E",9001,4610,16318,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2344,"Xian 1980 / Gauss-Kruger CM 111E",9001,4610,16319,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2345,"Xian 1980 / Gauss-Kruger CM 117E",9001,4610,16320,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2346,"Xian 1980 / Gauss-Kruger CM 123E",9001,4610,16321,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2347,"Xian 1980 / Gauss-Kruger CM 129E",9001,4610,16322,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2348,"Xian 1980 / Gauss-Kruger CM 135E",9001,4610,16323,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2349,"Xian 1980 / 3-degree Gauss-Kruger zone 25",9001,4610,16285,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,25500000,9001,8807,0,9001,,,,,,,,,,,,, -2350,"Xian 1980 / 3-degree Gauss-Kruger zone 26",9001,4610,16286,9807,1,0,4530,8801,0,9102,8802,78,9102,8805,1,9201,8806,26500000,9001,8807,0,9001,,,,,,,,,,,,, -2351,"Xian 1980 / 3-degree Gauss-Kruger zone 27",9001,4610,16287,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,27500000,9001,8807,0,9001,,,,,,,,,,,,, -2352,"Xian 1980 / 3-degree Gauss-Kruger zone 28",9001,4610,16288,9807,1,0,4530,8801,0,9102,8802,84,9102,8805,1,9201,8806,28500000,9001,8807,0,9001,,,,,,,,,,,,, -2353,"Xian 1980 / 3-degree Gauss-Kruger zone 29",9001,4610,16289,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,29500000,9001,8807,0,9001,,,,,,,,,,,,, -2354,"Xian 1980 / 3-degree Gauss-Kruger zone 30",9001,4610,16290,9807,1,0,4530,8801,0,9102,8802,90,9102,8805,1,9201,8806,30500000,9001,8807,0,9001,,,,,,,,,,,,, -2355,"Xian 1980 / 3-degree Gauss-Kruger zone 31",9001,4610,16291,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,31500000,9001,8807,0,9001,,,,,,,,,,,,, -2356,"Xian 1980 / 3-degree Gauss-Kruger zone 32",9001,4610,16292,9807,1,0,4530,8801,0,9102,8802,96,9102,8805,1,9201,8806,32500000,9001,8807,0,9001,,,,,,,,,,,,, -2357,"Xian 1980 / 3-degree Gauss-Kruger zone 33",9001,4610,16293,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,33500000,9001,8807,0,9001,,,,,,,,,,,,, -2358,"Xian 1980 / 3-degree Gauss-Kruger zone 34",9001,4610,16294,9807,1,0,4530,8801,0,9102,8802,102,9102,8805,1,9201,8806,34500000,9001,8807,0,9001,,,,,,,,,,,,, -2359,"Xian 1980 / 3-degree Gauss-Kruger zone 35",9001,4610,16295,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,35500000,9001,8807,0,9001,,,,,,,,,,,,, -2360,"Xian 1980 / 3-degree Gauss-Kruger zone 36",9001,4610,16296,9807,1,0,4530,8801,0,9102,8802,108,9102,8805,1,9201,8806,36500000,9001,8807,0,9001,,,,,,,,,,,,, -2361,"Xian 1980 / 3-degree Gauss-Kruger zone 37",9001,4610,16297,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,37500000,9001,8807,0,9001,,,,,,,,,,,,, -2362,"Xian 1980 / 3-degree Gauss-Kruger zone 38",9001,4610,16298,9807,1,0,4530,8801,0,9102,8802,114,9102,8805,1,9201,8806,38500000,9001,8807,0,9001,,,,,,,,,,,,, -2363,"Xian 1980 / 3-degree Gauss-Kruger zone 39",9001,4610,16299,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,39500000,9001,8807,0,9001,,,,,,,,,,,,, -2364,"Xian 1980 / 3-degree Gauss-Kruger zone 40",9001,4610,16070,9807,1,0,4530,8801,0,9102,8802,120,9102,8805,1,9201,8806,40500000,9001,8807,0,9001,,,,,,,,,,,,, -2365,"Xian 1980 / 3-degree Gauss-Kruger zone 41",9001,4610,16071,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,41500000,9001,8807,0,9001,,,,,,,,,,,,, -2366,"Xian 1980 / 3-degree Gauss-Kruger zone 42",9001,4610,16072,9807,1,0,4530,8801,0,9102,8802,126,9102,8805,1,9201,8806,42500000,9001,8807,0,9001,,,,,,,,,,,,, -2367,"Xian 1980 / 3-degree Gauss-Kruger zone 43",9001,4610,16073,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,43500000,9001,8807,0,9001,,,,,,,,,,,,, -2368,"Xian 1980 / 3-degree Gauss-Kruger zone 44",9001,4610,16074,9807,1,0,4530,8801,0,9102,8802,132,9102,8805,1,9201,8806,44500000,9001,8807,0,9001,,,,,,,,,,,,, -2369,"Xian 1980 / 3-degree Gauss-Kruger zone 45",9001,4610,16075,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,45500000,9001,8807,0,9001,,,,,,,,,,,,, -2370,"Xian 1980 / 3-degree Gauss-Kruger CM 75E",9001,4610,16313,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2371,"Xian 1980 / 3-degree Gauss-Kruger CM 78E",9001,4610,16386,9807,1,0,4530,8801,0,9102,8802,78,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2372,"Xian 1980 / 3-degree Gauss-Kruger CM 81E",9001,4610,16314,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2373,"Xian 1980 / 3-degree Gauss-Kruger CM 84E",9001,4610,16388,9807,1,0,4530,8801,0,9102,8802,84,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2374,"Xian 1980 / 3-degree Gauss-Kruger CM 87E",9001,4610,16315,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2375,"Xian 1980 / 3-degree Gauss-Kruger CM 90E",9001,4610,16390,9807,1,0,4530,8801,0,9102,8802,90,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2376,"Xian 1980 / 3-degree Gauss-Kruger CM 93E",9001,4610,16316,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2377,"Xian 1980 / 3-degree Gauss-Kruger CM 96E",9001,4610,16392,9807,1,0,4530,8801,0,9102,8802,96,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2378,"Xian 1980 / 3-degree Gauss-Kruger CM 99E",9001,4610,16317,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2379,"Xian 1980 / 3-degree Gauss-Kruger CM 102E",9001,4610,16394,9807,1,0,4530,8801,0,9102,8802,102,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2380,"Xian 1980 / 3-degree Gauss-Kruger CM 105E",9001,4610,16318,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2381,"Xian 1980 / 3-degree Gauss-Kruger CM 108E",9001,4610,16396,9807,1,0,4530,8801,0,9102,8802,108,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2382,"Xian 1980 / 3-degree Gauss-Kruger CM 111E",9001,4610,16319,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2383,"Xian 1980 / 3-degree Gauss-Kruger CM 114E",9001,4610,16398,9807,1,0,4530,8801,0,9102,8802,114,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2384,"Xian 1980 / 3-degree Gauss-Kruger CM 117E",9001,4610,16320,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2385,"Xian 1980 / 3-degree Gauss-Kruger CM 120E",9001,4610,16170,9807,1,0,4530,8801,0,9102,8802,120,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2386,"Xian 1980 / 3-degree Gauss-Kruger CM 123E",9001,4610,16321,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2387,"Xian 1980 / 3-degree Gauss-Kruger CM 126E",9001,4610,16172,9807,1,0,4530,8801,0,9102,8802,126,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2388,"Xian 1980 / 3-degree Gauss-Kruger CM 129E",9001,4610,16322,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2389,"Xian 1980 / 3-degree Gauss-Kruger CM 132E",9001,4610,16174,9807,1,0,4530,8801,0,9102,8802,132,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2390,"Xian 1980 / 3-degree Gauss-Kruger CM 135E",9001,4610,16323,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2391,"KKJ / Finland zone 1",9001,4123,18191,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -2392,"KKJ / Finland zone 2",9001,4123,18192,9807,1,0,4530,8801,0,9102,8802,24,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -2393,"KKJ / Finland Uniform Coordinate System",9001,4123,18193,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -2394,"KKJ / Finland zone 4",9001,4123,18194,9807,1,0,4530,8801,0,9102,8802,30,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -2395,"South Yemen / Gauss-Kruger zone 8",9001,4164,16208,9807,1,0,4530,8801,0,9102,8802,45,9102,8805,1,9201,8806,8500000,9001,8807,0,9001,,,,,,,,,,,,, -2396,"South Yemen / Gauss-Kruger zone 9",9001,4164,16209,9807,1,0,4530,8801,0,9102,8802,51,9102,8805,1,9201,8806,9500000,9001,8807,0,9001,,,,,,,,,,,,, -2397,"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 3",9001,4178,16263,9807,1,0,4530,8801,0,9102,8802,9,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01 -2398,"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 4",9001,4178,16264,9807,1,0,4530,8801,0,9102,8802,12,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01 -2399,"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 5",9001,4178,16265,9807,1,0,4530,8801,0,9102,8802,15,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01 -2400,RT90 2.5 gon W,9001,4124,19929,9807,1,1,4530,8801,0,9110,8802,15.48298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -2401,"Beijing 1954 / 3-degree Gauss-Kruger zone 25",9001,4214,16285,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,25500000,9001,8807,0,9001,,,,,,,,,,,,, -2402,"Beijing 1954 / 3-degree Gauss-Kruger zone 26",9001,4214,16286,9807,1,0,4530,8801,0,9102,8802,78,9102,8805,1,9201,8806,26500000,9001,8807,0,9001,,,,,,,,,,,,, -2403,"Beijing 1954 / 3-degree Gauss-Kruger zone 27",9001,4214,16287,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,27500000,9001,8807,0,9001,,,,,,,,,,,,, -2404,"Beijing 1954 / 3-degree Gauss-Kruger zone 28",9001,4214,16288,9807,1,0,4530,8801,0,9102,8802,84,9102,8805,1,9201,8806,28500000,9001,8807,0,9001,,,,,,,,,,,,, -2405,"Beijing 1954 / 3-degree Gauss-Kruger zone 29",9001,4214,16289,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,29500000,9001,8807,0,9001,,,,,,,,,,,,, -2406,"Beijing 1954 / 3-degree Gauss-Kruger zone 30",9001,4214,16290,9807,1,0,4530,8801,0,9102,8802,90,9102,8805,1,9201,8806,30500000,9001,8807,0,9001,,,,,,,,,,,,, -2407,"Beijing 1954 / 3-degree Gauss-Kruger zone 31",9001,4214,16291,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,31500000,9001,8807,0,9001,,,,,,,,,,,,, -2408,"Beijing 1954 / 3-degree Gauss-Kruger zone 32",9001,4214,16292,9807,1,0,4530,8801,0,9102,8802,96,9102,8805,1,9201,8806,32500000,9001,8807,0,9001,,,,,,,,,,,,, -2409,"Beijing 1954 / 3-degree Gauss-Kruger zone 33",9001,4214,16293,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,33500000,9001,8807,0,9001,,,,,,,,,,,,, -2410,"Beijing 1954 / 3-degree Gauss-Kruger zone 34",9001,4214,16294,9807,1,0,4530,8801,0,9102,8802,102,9102,8805,1,9201,8806,34500000,9001,8807,0,9001,,,,,,,,,,,,, -2411,"Beijing 1954 / 3-degree Gauss-Kruger zone 35",9001,4214,16295,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,35500000,9001,8807,0,9001,,,,,,,,,,,,, -2412,"Beijing 1954 / 3-degree Gauss-Kruger zone 36",9001,4214,16296,9807,1,0,4530,8801,0,9102,8802,108,9102,8805,1,9201,8806,36500000,9001,8807,0,9001,,,,,,,,,,,,, -2413,"Beijing 1954 / 3-degree Gauss-Kruger zone 37",9001,4214,16297,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,37500000,9001,8807,0,9001,,,,,,,,,,,,, -2414,"Beijing 1954 / 3-degree Gauss-Kruger zone 38",9001,4214,16298,9807,1,0,4530,8801,0,9102,8802,114,9102,8805,1,9201,8806,38500000,9001,8807,0,9001,,,,,,,,,,,,, -2415,"Beijing 1954 / 3-degree Gauss-Kruger zone 39",9001,4214,16299,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,39500000,9001,8807,0,9001,,,,,,,,,,,,, -2416,"Beijing 1954 / 3-degree Gauss-Kruger zone 40",9001,4214,16070,9807,1,0,4530,8801,0,9102,8802,120,9102,8805,1,9201,8806,40500000,9001,8807,0,9001,,,,,,,,,,,,, -2417,"Beijing 1954 / 3-degree Gauss-Kruger zone 41",9001,4214,16071,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,41500000,9001,8807,0,9001,,,,,,,,,,,,, -2418,"Beijing 1954 / 3-degree Gauss-Kruger zone 42",9001,4214,16072,9807,1,0,4530,8801,0,9102,8802,126,9102,8805,1,9201,8806,42500000,9001,8807,0,9001,,,,,,,,,,,,, -2419,"Beijing 1954 / 3-degree Gauss-Kruger zone 43",9001,4214,16073,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,43500000,9001,8807,0,9001,,,,,,,,,,,,, -2420,"Beijing 1954 / 3-degree Gauss-Kruger zone 44",9001,4214,16074,9807,1,0,4530,8801,0,9102,8802,132,9102,8805,1,9201,8806,44500000,9001,8807,0,9001,,,,,,,,,,,,, -2421,"Beijing 1954 / 3-degree Gauss-Kruger zone 45",9001,4214,16075,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,45500000,9001,8807,0,9001,,,,,,,,,,,,, -2422,"Beijing 1954 / 3-degree Gauss-Kruger CM 75E",9001,4214,16313,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2423,"Beijing 1954 / 3-degree Gauss-Kruger CM 78E",9001,4214,16386,9807,1,0,4530,8801,0,9102,8802,78,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2424,"Beijing 1954 / 3-degree Gauss-Kruger CM 81E",9001,4214,16314,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2425,"Beijing 1954 / 3-degree Gauss-Kruger CM 84E",9001,4214,16388,9807,1,0,4530,8801,0,9102,8802,84,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2426,"Beijing 1954 / 3-degree Gauss-Kruger CM 87E",9001,4214,16315,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2427,"Beijing 1954 / 3-degree Gauss-Kruger CM 90E",9001,4214,16390,9807,1,0,4530,8801,0,9102,8802,90,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2428,"Beijing 1954 / 3-degree Gauss-Kruger CM 93E",9001,4214,16316,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2429,"Beijing 1954 / 3-degree Gauss-Kruger CM 96E",9001,4214,16392,9807,1,0,4530,8801,0,9102,8802,96,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2430,"Beijing 1954 / 3-degree Gauss-Kruger CM 99E",9001,4214,16317,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2431,"Beijing 1954 / 3-degree Gauss-Kruger CM 102E",9001,4214,16394,9807,1,0,4530,8801,0,9102,8802,102,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2432,"Beijing 1954 / 3-degree Gauss-Kruger CM 105E",9001,4214,16318,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2433,"Beijing 1954 / 3-degree Gauss-Kruger CM 108E",9001,4214,16396,9807,1,0,4530,8801,0,9102,8802,108,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2434,"Beijing 1954 / 3-degree Gauss-Kruger CM 111E",9001,4214,16319,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2435,"Beijing 1954 / 3-degree Gauss-Kruger CM 114E",9001,4214,16398,9807,1,0,4530,8801,0,9102,8802,114,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2436,"Beijing 1954 / 3-degree Gauss-Kruger CM 117E",9001,4214,16320,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2437,"Beijing 1954 / 3-degree Gauss-Kruger CM 120E",9001,4214,16170,9807,1,0,4530,8801,0,9102,8802,120,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2438,"Beijing 1954 / 3-degree Gauss-Kruger CM 123E",9001,4214,16321,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2439,"Beijing 1954 / 3-degree Gauss-Kruger CM 126E",9001,4214,16172,9807,1,0,4530,8801,0,9102,8802,126,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2440,"Beijing 1954 / 3-degree Gauss-Kruger CM 129E",9001,4214,16322,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2441,"Beijing 1954 / 3-degree Gauss-Kruger CM 132E",9001,4214,16174,9807,1,0,4530,8801,0,9102,8802,132,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2442,"Beijing 1954 / 3-degree Gauss-Kruger CM 135E",9001,4214,16323,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2443,"JGD2000 / Japan Plane Rectangular CS I",9001,4612,17801,9807,1,0,4530,8801,33,9110,8802,129.3,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2444,"JGD2000 / Japan Plane Rectangular CS II",9001,4612,17802,9807,1,0,4530,8801,33,9110,8802,131,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2445,"JGD2000 / Japan Plane Rectangular CS III",9001,4612,17803,9807,1,0,4530,8801,36,9110,8802,132.1,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2446,"JGD2000 / Japan Plane Rectangular CS IV",9001,4612,17804,9807,1,0,4530,8801,33,9110,8802,133.3,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2447,"JGD2000 / Japan Plane Rectangular CS V",9001,4612,17805,9807,1,0,4530,8801,36,9110,8802,134.2,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2448,"JGD2000 / Japan Plane Rectangular CS VI",9001,4612,17806,9807,1,0,4530,8801,36,9110,8802,136,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2449,"JGD2000 / Japan Plane Rectangular CS VII",9001,4612,17807,9807,1,0,4530,8801,36,9110,8802,137.1,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2450,"JGD2000 / Japan Plane Rectangular CS VIII",9001,4612,17808,9807,1,0,4530,8801,36,9110,8802,138.3,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2451,"JGD2000 / Japan Plane Rectangular CS IX",9001,4612,17809,9807,1,0,4530,8801,36,9110,8802,139.5,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2452,"JGD2000 / Japan Plane Rectangular CS X",9001,4612,17810,9807,1,0,4530,8801,40,9110,8802,140.5,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2453,"JGD2000 / Japan Plane Rectangular CS XI",9001,4612,17811,9807,1,0,4530,8801,44,9110,8802,140.15,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2454,"JGD2000 / Japan Plane Rectangular CS XII",9001,4612,17812,9807,1,0,4530,8801,44,9110,8802,142.15,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2455,"JGD2000 / Japan Plane Rectangular CS XIII",9001,4612,17813,9807,1,0,4530,8801,44,9110,8802,144.15,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2456,"JGD2000 / Japan Plane Rectangular CS XIV",9001,4612,17814,9807,1,0,4530,8801,26,9110,8802,142,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2457,"JGD2000 / Japan Plane Rectangular CS XV",9001,4612,17815,9807,1,0,4530,8801,26,9110,8802,127.3,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2458,"JGD2000 / Japan Plane Rectangular CS XVI",9001,4612,17816,9807,1,0,4530,8801,26,9110,8802,124,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2459,"JGD2000 / Japan Plane Rectangular CS XVII",9001,4612,17817,9807,1,0,4530,8801,26,9110,8802,131,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2460,"JGD2000 / Japan Plane Rectangular CS XVIII",9001,4612,17818,9807,1,0,4530,8801,20,9110,8802,136,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2461,"JGD2000 / Japan Plane Rectangular CS XIX",9001,4612,17819,9807,1,0,4530,8801,26,9110,8802,154,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -2462,"Albanian 1987 / Gauss-Kruger zone 4",9001,4191,16204,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -2463,"Pulkovo 1995 / Gauss-Kruger CM 21E",9001,4200,16304,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2464,"Pulkovo 1995 / Gauss-Kruger CM 27E",9001,4200,16305,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2465,"Pulkovo 1995 / Gauss-Kruger CM 33E",9001,4200,16306,9807,1,0,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2466,"Pulkovo 1995 / Gauss-Kruger CM 39E",9001,4200,16307,9807,1,0,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2467,"Pulkovo 1995 / Gauss-Kruger CM 45E",9001,4200,16308,9807,1,0,4530,8801,0,9102,8802,45,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2468,"Pulkovo 1995 / Gauss-Kruger CM 51E",9001,4200,16309,9807,1,0,4530,8801,0,9102,8802,51,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2469,"Pulkovo 1995 / Gauss-Kruger CM 57E",9001,4200,16310,9807,1,0,4530,8801,0,9102,8802,57,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2470,"Pulkovo 1995 / Gauss-Kruger CM 63E",9001,4200,16311,9807,1,0,4530,8801,0,9102,8802,63,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2471,"Pulkovo 1995 / Gauss-Kruger CM 69E",9001,4200,16312,9807,1,0,4530,8801,0,9102,8802,69,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2472,"Pulkovo 1995 / Gauss-Kruger CM 75E",9001,4200,16313,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2473,"Pulkovo 1995 / Gauss-Kruger CM 81E",9001,4200,16314,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2474,"Pulkovo 1995 / Gauss-Kruger CM 87E",9001,4200,16315,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2475,"Pulkovo 1995 / Gauss-Kruger CM 93E",9001,4200,16316,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2476,"Pulkovo 1995 / Gauss-Kruger CM 99E",9001,4200,16317,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2477,"Pulkovo 1995 / Gauss-Kruger CM 105E",9001,4200,16318,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2478,"Pulkovo 1995 / Gauss-Kruger CM 111E",9001,4200,16319,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2479,"Pulkovo 1995 / Gauss-Kruger CM 117E",9001,4200,16320,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2480,"Pulkovo 1995 / Gauss-Kruger CM 123E",9001,4200,16321,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2481,"Pulkovo 1995 / Gauss-Kruger CM 129E",9001,4200,16322,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2482,"Pulkovo 1995 / Gauss-Kruger CM 135E",9001,4200,16323,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2483,"Pulkovo 1995 / Gauss-Kruger CM 141E",9001,4200,16324,9807,1,0,4530,8801,0,9102,8802,141,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2484,"Pulkovo 1995 / Gauss-Kruger CM 147E",9001,4200,16325,9807,1,0,4530,8801,0,9102,8802,147,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2485,"Pulkovo 1995 / Gauss-Kruger CM 153E",9001,4200,16326,9807,1,0,4530,8801,0,9102,8802,153,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2486,"Pulkovo 1995 / Gauss-Kruger CM 159E",9001,4200,16327,9807,1,0,4530,8801,0,9102,8802,159,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2487,"Pulkovo 1995 / Gauss-Kruger CM 165E",9001,4200,16328,9807,1,0,4530,8801,0,9102,8802,165,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2488,"Pulkovo 1995 / Gauss-Kruger CM 171E",9001,4200,16329,9807,1,0,4530,8801,0,9102,8802,171,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2489,"Pulkovo 1995 / Gauss-Kruger CM 177E",9001,4200,16330,9807,1,0,4530,8801,0,9102,8802,177,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2490,"Pulkovo 1995 / Gauss-Kruger CM 177W",9001,4200,16331,9807,1,0,4530,8801,0,9102,8802,-177,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2491,"Pulkovo 1995 / Gauss-Kruger CM 171W",9001,4200,16332,9807,1,0,4530,8801,0,9102,8802,-171,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2492,"Pulkovo 1942 / Gauss-Kruger CM 9E",9001,4284,16302,9807,1,1,4530,8801,0,9102,8802,9,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2493,"Pulkovo 1942 / Gauss-Kruger CM 15E",9001,4284,16303,9807,1,1,4530,8801,0,9102,8802,15,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2494,"Pulkovo 1942 / Gauss-Kruger CM 21E",9001,4284,16304,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2495,"Pulkovo 1942 / Gauss-Kruger CM 27E",9001,4284,16305,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2496,"Pulkovo 1942 / Gauss-Kruger CM 33E",9001,4284,16306,9807,1,0,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2497,"Pulkovo 1942 / Gauss-Kruger CM 39E",9001,4284,16307,9807,1,0,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2498,"Pulkovo 1942 / Gauss-Kruger CM 45E",9001,4284,16308,9807,1,0,4530,8801,0,9102,8802,45,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2499,"Pulkovo 1942 / Gauss-Kruger CM 51E",9001,4284,16309,9807,1,0,4530,8801,0,9102,8802,51,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2500,"Pulkovo 1942 / Gauss-Kruger CM 57E",9001,4284,16310,9807,1,0,4530,8801,0,9102,8802,57,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2501,"Pulkovo 1942 / Gauss-Kruger CM 63E",9001,4284,16311,9807,1,0,4530,8801,0,9102,8802,63,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2502,"Pulkovo 1942 / Gauss-Kruger CM 69E",9001,4284,16312,9807,1,0,4530,8801,0,9102,8802,69,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2503,"Pulkovo 1942 / Gauss-Kruger CM 75E",9001,4284,16313,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2504,"Pulkovo 1942 / Gauss-Kruger CM 81E",9001,4284,16314,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2505,"Pulkovo 1942 / Gauss-Kruger CM 87E",9001,4284,16315,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2506,"Pulkovo 1942 / Gauss-Kruger CM 93E",9001,4284,16316,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2507,"Pulkovo 1942 / Gauss-Kruger CM 99E",9001,4284,16317,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2508,"Pulkovo 1942 / Gauss-Kruger CM 105E",9001,4284,16318,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2509,"Pulkovo 1942 / Gauss-Kruger CM 111E",9001,4284,16319,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2510,"Pulkovo 1942 / Gauss-Kruger CM 117E",9001,4284,16320,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2511,"Pulkovo 1942 / Gauss-Kruger CM 123E",9001,4284,16321,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2512,"Pulkovo 1942 / Gauss-Kruger CM 129E",9001,4284,16322,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2513,"Pulkovo 1942 / Gauss-Kruger CM 135E",9001,4284,16323,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2514,"Pulkovo 1942 / Gauss-Kruger CM 141E",9001,4284,16324,9807,1,0,4530,8801,0,9102,8802,141,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2515,"Pulkovo 1942 / Gauss-Kruger CM 147E",9001,4284,16325,9807,1,0,4530,8801,0,9102,8802,147,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2516,"Pulkovo 1942 / Gauss-Kruger CM 153E",9001,4284,16326,9807,1,0,4530,8801,0,9102,8802,153,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2517,"Pulkovo 1942 / Gauss-Kruger CM 159E",9001,4284,16327,9807,1,0,4530,8801,0,9102,8802,159,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2518,"Pulkovo 1942 / Gauss-Kruger CM 165E",9001,4284,16328,9807,1,0,4530,8801,0,9102,8802,165,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2519,"Pulkovo 1942 / Gauss-Kruger CM 171E",9001,4284,16329,9807,1,0,4530,8801,0,9102,8802,171,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2520,"Pulkovo 1942 / Gauss-Kruger CM 177E",9001,4284,16330,9807,1,0,4530,8801,0,9102,8802,177,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2521,"Pulkovo 1942 / Gauss-Kruger CM 177W",9001,4284,16331,9807,1,0,4530,8801,0,9102,8802,-177,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2522,"Pulkovo 1942 / Gauss-Kruger CM 171W",9001,4284,16332,9807,1,0,4530,8801,0,9102,8802,-171,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2523,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 7",9001,4284,16267,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -2524,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 8",9001,4284,16268,9807,1,0,4530,8801,0,9102,8802,24,9102,8805,1,9201,8806,8500000,9001,8807,0,9001,,,,,,,,,,,,, -2525,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 9",9001,4284,16269,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,9500000,9001,8807,0,9001,,,,,,,,,,,,, -2526,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 10",9001,4284,16270,9807,1,0,4530,8801,0,9102,8802,30,9102,8805,1,9201,8806,10500000,9001,8807,0,9001,,,,,,,,,,,,, -2527,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 11",9001,4284,16271,9807,1,0,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,11500000,9001,8807,0,9001,,,,,,,,,,,,, -2528,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 12",9001,4284,16272,9807,1,0,4530,8801,0,9102,8802,36,9102,8805,1,9201,8806,12500000,9001,8807,0,9001,,,,,,,,,,,,, -2529,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 13",9001,4284,16273,9807,1,0,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,13500000,9001,8807,0,9001,,,,,,,,,,,,, -2530,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 14",9001,4284,16274,9807,1,0,4530,8801,0,9102,8802,42,9102,8805,1,9201,8806,14500000,9001,8807,0,9001,,,,,,,,,,,,, -2531,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 15",9001,4284,16275,9807,1,0,4530,8801,0,9102,8802,45,9102,8805,1,9201,8806,15500000,9001,8807,0,9001,,,,,,,,,,,,, -2532,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 16",9001,4284,16276,9807,1,0,4530,8801,0,9102,8802,48,9102,8805,1,9201,8806,16500000,9001,8807,0,9001,,,,,,,,,,,,, -2533,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 17",9001,4284,16277,9807,1,0,4530,8801,0,9102,8802,51,9102,8805,1,9201,8806,17500000,9001,8807,0,9001,,,,,,,,,,,,, -2534,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 18",9001,4284,16278,9807,1,0,4530,8801,0,9102,8802,54,9102,8805,1,9201,8806,18500000,9001,8807,0,9001,,,,,,,,,,,,, -2535,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 19",9001,4284,16279,9807,1,0,4530,8801,0,9102,8802,57,9102,8805,1,9201,8806,19500000,9001,8807,0,9001,,,,,,,,,,,,, -2536,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 20",9001,4284,16280,9807,1,0,4530,8801,0,9102,8802,60,9102,8805,1,9201,8806,20500000,9001,8807,0,9001,,,,,,,,,,,,, -2537,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 21",9001,4284,16281,9807,1,0,4530,8801,0,9102,8802,63,9102,8805,1,9201,8806,21500000,9001,8807,0,9001,,,,,,,,,,,,, -2538,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 22",9001,4284,16282,9807,1,0,4530,8801,0,9102,8802,66,9102,8805,1,9201,8806,22500000,9001,8807,0,9001,,,,,,,,,,,,, -2539,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 23",9001,4284,16283,9807,1,0,4530,8801,0,9102,8802,69,9102,8805,1,9201,8806,23500000,9001,8807,0,9001,,,,,,,,,,,,, -2540,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 24",9001,4284,16284,9807,1,0,4530,8801,0,9102,8802,72,9102,8805,1,9201,8806,24500000,9001,8807,0,9001,,,,,,,,,,,,, -2541,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 25",9001,4284,16285,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,25500000,9001,8807,0,9001,,,,,,,,,,,,, -2542,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 26",9001,4284,16286,9807,1,0,4530,8801,0,9102,8802,78,9102,8805,1,9201,8806,26500000,9001,8807,0,9001,,,,,,,,,,,,, -2543,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 27",9001,4284,16287,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,27500000,9001,8807,0,9001,,,,,,,,,,,,, -2544,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 28",9001,4284,16288,9807,1,0,4530,8801,0,9102,8802,84,9102,8805,1,9201,8806,28500000,9001,8807,0,9001,,,,,,,,,,,,, -2545,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 29",9001,4284,16289,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,29500000,9001,8807,0,9001,,,,,,,,,,,,, -2546,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 30",9001,4284,16290,9807,1,0,4530,8801,0,9102,8802,90,9102,8805,1,9201,8806,30500000,9001,8807,0,9001,,,,,,,,,,,,, -2547,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 31",9001,4284,16291,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,31500000,9001,8807,0,9001,,,,,,,,,,,,, -2548,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 32",9001,4284,16292,9807,1,0,4530,8801,0,9102,8802,96,9102,8805,1,9201,8806,32500000,9001,8807,0,9001,,,,,,,,,,,,, -2549,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 33",9001,4284,16293,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,33500000,9001,8807,0,9001,,,,,,,,,,,,, -2550,"Samboja / UTM zone 50S",9001,4125,16150,9807,1,1,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2551,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 34",9001,4284,16294,9807,1,0,4530,8801,0,9102,8802,102,9102,8805,1,9201,8806,34500000,9001,8807,0,9001,,,,,,,,,,,,, -2552,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 35",9001,4284,16295,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,35500000,9001,8807,0,9001,,,,,,,,,,,,, -2553,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 36",9001,4284,16296,9807,1,0,4530,8801,0,9102,8802,108,9102,8805,1,9201,8806,36500000,9001,8807,0,9001,,,,,,,,,,,,, -2554,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 37",9001,4284,16297,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,37500000,9001,8807,0,9001,,,,,,,,,,,,, -2555,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 38",9001,4284,16298,9807,1,0,4530,8801,0,9102,8802,114,9102,8805,1,9201,8806,38500000,9001,8807,0,9001,,,,,,,,,,,,, -2556,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 39",9001,4284,16299,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,39500000,9001,8807,0,9001,,,,,,,,,,,,, -2557,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 40",9001,4284,16070,9807,1,0,4530,8801,0,9102,8802,120,9102,8805,1,9201,8806,40500000,9001,8807,0,9001,,,,,,,,,,,,, -2558,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 41",9001,4284,16071,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,41500000,9001,8807,0,9001,,,,,,,,,,,,, -2559,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 42",9001,4284,16072,9807,1,0,4530,8801,0,9102,8802,126,9102,8805,1,9201,8806,42500000,9001,8807,0,9001,,,,,,,,,,,,, -2560,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 43",9001,4284,16073,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,43500000,9001,8807,0,9001,,,,,,,,,,,,, -2561,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 44",9001,4284,16074,9807,1,0,4530,8801,0,9102,8802,132,9102,8805,1,9201,8806,44500000,9001,8807,0,9001,,,,,,,,,,,,, -2562,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 45",9001,4284,16075,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,45500000,9001,8807,0,9001,,,,,,,,,,,,, -2563,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 46",9001,4284,16076,9807,1,0,4530,8801,0,9102,8802,138,9102,8805,1,9201,8806,46500000,9001,8807,0,9001,,,,,,,,,,,,, -2564,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 47",9001,4284,16077,9807,1,0,4530,8801,0,9102,8802,141,9102,8805,1,9201,8806,47500000,9001,8807,0,9001,,,,,,,,,,,,, -2565,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 48",9001,4284,16078,9807,1,0,4530,8801,0,9102,8802,144,9102,8805,1,9201,8806,48500000,9001,8807,0,9001,,,,,,,,,,,,, -2566,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 49",9001,4284,16079,9807,1,0,4530,8801,0,9102,8802,147,9102,8805,1,9201,8806,49500000,9001,8807,0,9001,,,,,,,,,,,,, -2567,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 50",9001,4284,16080,9807,1,0,4530,8801,0,9102,8802,150,9102,8805,1,9201,8806,50500000,9001,8807,0,9001,,,,,,,,,,,,, -2568,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 51",9001,4284,16081,9807,1,0,4530,8801,0,9102,8802,153,9102,8805,1,9201,8806,51500000,9001,8807,0,9001,,,,,,,,,,,,, -2569,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 52",9001,4284,16082,9807,1,0,4530,8801,0,9102,8802,156,9102,8805,1,9201,8806,52500000,9001,8807,0,9001,,,,,,,,,,,,, -2570,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 53",9001,4284,16083,9807,1,0,4530,8801,0,9102,8802,159,9102,8805,1,9201,8806,53500000,9001,8807,0,9001,,,,,,,,,,,,, -2571,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 54",9001,4284,16084,9807,1,0,4530,8801,0,9102,8802,162,9102,8805,1,9201,8806,54500000,9001,8807,0,9001,,,,,,,,,,,,, -2572,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 55",9001,4284,16085,9807,1,0,4530,8801,0,9102,8802,165,9102,8805,1,9201,8806,55500000,9001,8807,0,9001,,,,,,,,,,,,, -2573,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 56",9001,4284,16086,9807,1,0,4530,8801,0,9102,8802,168,9102,8805,1,9201,8806,56500000,9001,8807,0,9001,,,,,,,,,,,,, -2574,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 57",9001,4284,16087,9807,1,0,4530,8801,0,9102,8802,171,9102,8805,1,9201,8806,57500000,9001,8807,0,9001,,,,,,,,,,,,, -2575,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 58",9001,4284,16088,9807,1,0,4530,8801,0,9102,8802,174,9102,8805,1,9201,8806,58500000,9001,8807,0,9001,,,,,,,,,,,,, -2576,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 59",9001,4284,16089,9807,1,0,4530,8801,0,9102,8802,177,9102,8805,1,9201,8806,59500000,9001,8807,0,9001,,,,,,,,,,,,, -2577,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 60",9001,4284,16090,9807,1,1,4530,8801,0,9102,8802,180,9102,8805,1,9201,8806,60000000,9001,8807,0,9001,,,,,,,,,,,,, -2578,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 61",9001,4284,16091,9807,1,0,4530,8801,0,9102,8802,-177,9102,8805,1,9201,8806,61500000,9001,8807,0,9001,,,,,,,,,,,,, -2579,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 62",9001,4284,16092,9807,1,0,4530,8801,0,9102,8802,-174,9102,8805,1,9201,8806,62500000,9001,8807,0,9001,,,,,,,,,,,,, -2580,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 63",9001,4284,16093,9807,1,0,4530,8801,0,9102,8802,-171,9102,8805,1,9201,8806,63500000,9001,8807,0,9001,,,,,,,,,,,,, -2581,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 64",9001,4284,16094,9807,1,0,4530,8801,0,9102,8802,-168,9102,8805,1,9201,8806,64500000,9001,8807,0,9001,,,,,,,,,,,,, -2582,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 21E",9001,4284,16304,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2583,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 24E",9001,4284,16368,9807,1,0,4530,8801,0,9102,8802,24,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2584,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 27E",9001,4284,16305,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2585,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 30E",9001,4284,16370,9807,1,0,4530,8801,0,9102,8802,30,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2586,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 33E",9001,4284,16306,9807,1,0,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2587,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 36E",9001,4284,16372,9807,1,0,4530,8801,0,9102,8802,36,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2588,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 39E",9001,4284,16307,9807,1,0,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2589,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 42E",9001,4284,16374,9807,1,0,4530,8801,0,9102,8802,42,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2590,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 45E",9001,4284,16308,9807,1,0,4530,8801,0,9102,8802,45,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2591,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 48E",9001,4284,16376,9807,1,0,4530,8801,0,9102,8802,48,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2592,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 51E",9001,4284,16309,9807,1,0,4530,8801,0,9102,8802,51,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2593,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 54E",9001,4284,16378,9807,1,0,4530,8801,0,9102,8802,54,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2594,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 57E",9001,4284,16310,9807,1,0,4530,8801,0,9102,8802,57,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2595,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 60E",9001,4284,16380,9807,1,0,4530,8801,0,9102,8802,60,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2596,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 63E",9001,4284,16311,9807,1,0,4530,8801,0,9102,8802,63,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2597,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 66E",9001,4284,16382,9807,1,0,4530,8801,0,9102,8802,66,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2598,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 69E",9001,4284,16312,9807,1,0,4530,8801,0,9102,8802,69,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2599,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 72E",9001,4284,16384,9807,1,0,4530,8801,0,9102,8802,72,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2600,Lietuvos Koordinoei Sistema 1994,9001,4669,19934,9807,1,1,4530,8801,0,9102,8802,24,9102,8805,0.9998,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2601,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 75E",9001,4284,16313,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2602,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 78E",9001,4284,16386,9807,1,0,4530,8801,0,9102,8802,78,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2603,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 81E",9001,4284,16314,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2604,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 84E",9001,4284,16388,9807,1,0,4530,8801,0,9102,8802,84,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2605,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 87E",9001,4284,16315,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2606,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 90E",9001,4284,16390,9807,1,0,4530,8801,0,9102,8802,90,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2607,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 93E",9001,4284,16316,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2608,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 96E",9001,4284,16392,9807,1,0,4530,8801,0,9102,8802,96,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2609,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 99E",9001,4284,16317,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2610,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 102E",9001,4284,16394,9807,1,0,4530,8801,0,9102,8802,102,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2611,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 105E",9001,4284,16318,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2612,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 108E",9001,4284,16396,9807,1,0,4530,8801,0,9102,8802,108,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2613,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 111E",9001,4284,16319,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2614,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 114E",9001,4284,16398,9807,1,0,4530,8801,0,9102,8802,114,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2615,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 117E",9001,4284,16320,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2616,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 120E",9001,4284,16170,9807,1,0,4530,8801,0,9102,8802,120,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2617,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 123E",9001,4284,16321,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2618,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 126E",9001,4284,16172,9807,1,0,4530,8801,0,9102,8802,126,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2619,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 129E",9001,4284,16322,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2620,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 132E",9001,4284,16174,9807,1,0,4530,8801,0,9102,8802,132,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2621,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 135E",9001,4284,16323,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2622,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 138E",9001,4284,16176,9807,1,0,4530,8801,0,9102,8802,138,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2623,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 141E",9001,4284,16324,9807,1,0,4530,8801,0,9102,8802,141,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2624,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 144E",9001,4284,16178,9807,1,0,4530,8801,0,9102,8802,144,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2625,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 147E",9001,4284,16325,9807,1,0,4530,8801,0,9102,8802,147,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2626,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 150E",9001,4284,16180,9807,1,0,4530,8801,0,9102,8802,150,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2627,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 153E",9001,4284,16326,9807,1,0,4530,8801,0,9102,8802,153,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2628,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 156E",9001,4284,16182,9807,1,0,4530,8801,0,9102,8802,156,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2629,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 159E",9001,4284,16327,9807,1,0,4530,8801,0,9102,8802,159,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2630,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 162E",9001,4284,16184,9807,1,0,4530,8801,0,9102,8802,162,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2631,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 165E",9001,4284,16328,9807,1,0,4530,8801,0,9102,8802,165,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2632,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 168E",9001,4284,16186,9807,1,0,4530,8801,0,9102,8802,168,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2633,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 171E",9001,4284,16329,9807,1,0,4530,8801,0,9102,8802,171,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2634,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 174E",9001,4284,16188,9807,1,0,4530,8801,0,9102,8802,174,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2635,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 177E",9001,4284,16330,9807,1,0,4530,8801,0,9102,8802,177,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2636,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 180E",9001,4284,16190,9807,1,0,4530,8801,0,9102,8802,180,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2637,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 177W",9001,4284,16331,9807,1,0,4530,8801,0,9102,8802,-177,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2638,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 174W",9001,4284,16192,9807,1,0,4530,8801,0,9102,8802,-174,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2639,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 171W",9001,4284,16332,9807,1,0,4530,8801,0,9102,8802,-171,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2640,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 168W",9001,4284,16194,9807,1,0,4530,8801,0,9102,8802,-168,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2641,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 7",9001,4200,16267,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -2642,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 8",9001,4200,16268,9807,1,0,4530,8801,0,9102,8802,24,9102,8805,1,9201,8806,8500000,9001,8807,0,9001,,,,,,,,,,,,, -2643,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 9",9001,4200,16269,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,9500000,9001,8807,0,9001,,,,,,,,,,,,, -2644,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 10",9001,4200,16270,9807,1,0,4530,8801,0,9102,8802,30,9102,8805,1,9201,8806,10500000,9001,8807,0,9001,,,,,,,,,,,,, -2645,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 11",9001,4200,16271,9807,1,0,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,11500000,9001,8807,0,9001,,,,,,,,,,,,, -2646,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 12",9001,4200,16272,9807,1,0,4530,8801,0,9102,8802,36,9102,8805,1,9201,8806,12500000,9001,8807,0,9001,,,,,,,,,,,,, -2647,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 13",9001,4200,16273,9807,1,0,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,13500000,9001,8807,0,9001,,,,,,,,,,,,, -2648,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 14",9001,4200,16274,9807,1,0,4530,8801,0,9102,8802,42,9102,8805,1,9201,8806,14500000,9001,8807,0,9001,,,,,,,,,,,,, -2649,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 15",9001,4200,16275,9807,1,0,4530,8801,0,9102,8802,45,9102,8805,1,9201,8806,15500000,9001,8807,0,9001,,,,,,,,,,,,, -2650,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 16",9001,4200,16276,9807,1,0,4530,8801,0,9102,8802,48,9102,8805,1,9201,8806,16500000,9001,8807,0,9001,,,,,,,,,,,,, -2651,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 17",9001,4200,16277,9807,1,0,4530,8801,0,9102,8802,51,9102,8805,1,9201,8806,17500000,9001,8807,0,9001,,,,,,,,,,,,, -2652,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 18",9001,4200,16278,9807,1,0,4530,8801,0,9102,8802,54,9102,8805,1,9201,8806,18500000,9001,8807,0,9001,,,,,,,,,,,,, -2653,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 19",9001,4200,16279,9807,1,0,4530,8801,0,9102,8802,57,9102,8805,1,9201,8806,19500000,9001,8807,0,9001,,,,,,,,,,,,, -2654,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 20",9001,4200,16280,9807,1,0,4530,8801,0,9102,8802,60,9102,8805,1,9201,8806,20500000,9001,8807,0,9001,,,,,,,,,,,,, -2655,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 21",9001,4200,16281,9807,1,0,4530,8801,0,9102,8802,63,9102,8805,1,9201,8806,21500000,9001,8807,0,9001,,,,,,,,,,,,, -2656,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 22",9001,4200,16282,9807,1,0,4530,8801,0,9102,8802,66,9102,8805,1,9201,8806,22500000,9001,8807,0,9001,,,,,,,,,,,,, -2657,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 23",9001,4200,16283,9807,1,0,4530,8801,0,9102,8802,69,9102,8805,1,9201,8806,23500000,9001,8807,0,9001,,,,,,,,,,,,, -2658,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 24",9001,4200,16284,9807,1,0,4530,8801,0,9102,8802,72,9102,8805,1,9201,8806,24500000,9001,8807,0,9001,,,,,,,,,,,,, -2659,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 25",9001,4200,16285,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,25500000,9001,8807,0,9001,,,,,,,,,,,,, -2660,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 26",9001,4200,16286,9807,1,0,4530,8801,0,9102,8802,78,9102,8805,1,9201,8806,26500000,9001,8807,0,9001,,,,,,,,,,,,, -2661,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 27",9001,4200,16287,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,27500000,9001,8807,0,9001,,,,,,,,,,,,, -2662,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 28",9001,4200,16288,9807,1,0,4530,8801,0,9102,8802,84,9102,8805,1,9201,8806,28500000,9001,8807,0,9001,,,,,,,,,,,,, -2663,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 29",9001,4200,16289,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,29500000,9001,8807,0,9001,,,,,,,,,,,,, -2664,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 30",9001,4200,16290,9807,1,0,4530,8801,0,9102,8802,90,9102,8805,1,9201,8806,30500000,9001,8807,0,9001,,,,,,,,,,,,, -2665,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 31",9001,4200,16291,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,31500000,9001,8807,0,9001,,,,,,,,,,,,, -2666,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 32",9001,4200,16292,9807,1,0,4530,8801,0,9102,8802,96,9102,8805,1,9201,8806,32500000,9001,8807,0,9001,,,,,,,,,,,,, -2667,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 33",9001,4200,16293,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,33500000,9001,8807,0,9001,,,,,,,,,,,,, -2668,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 34",9001,4200,16294,9807,1,0,4530,8801,0,9102,8802,102,9102,8805,1,9201,8806,34500000,9001,8807,0,9001,,,,,,,,,,,,, -2669,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 35",9001,4200,16295,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,35500000,9001,8807,0,9001,,,,,,,,,,,,, -2670,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 36",9001,4200,16296,9807,1,0,4530,8801,0,9102,8802,108,9102,8805,1,9201,8806,36500000,9001,8807,0,9001,,,,,,,,,,,,, -2671,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 37",9001,4200,16297,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,37500000,9001,8807,0,9001,,,,,,,,,,,,, -2672,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 38",9001,4200,16298,9807,1,0,4530,8801,0,9102,8802,114,9102,8805,1,9201,8806,38500000,9001,8807,0,9001,,,,,,,,,,,,, -2673,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 39",9001,4200,16299,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,39500000,9001,8807,0,9001,,,,,,,,,,,,, -2674,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 40",9001,4200,16070,9807,1,0,4530,8801,0,9102,8802,120,9102,8805,1,9201,8806,40500000,9001,8807,0,9001,,,,,,,,,,,,, -2675,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 41",9001,4200,16071,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,41500000,9001,8807,0,9001,,,,,,,,,,,,, -2676,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 42",9001,4200,16072,9807,1,0,4530,8801,0,9102,8802,126,9102,8805,1,9201,8806,42500000,9001,8807,0,9001,,,,,,,,,,,,, -2677,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 43",9001,4200,16073,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,43500000,9001,8807,0,9001,,,,,,,,,,,,, -2678,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 44",9001,4200,16074,9807,1,0,4530,8801,0,9102,8802,132,9102,8805,1,9201,8806,44500000,9001,8807,0,9001,,,,,,,,,,,,, -2679,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 45",9001,4200,16075,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,45500000,9001,8807,0,9001,,,,,,,,,,,,, -2680,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 46",9001,4200,16076,9807,1,0,4530,8801,0,9102,8802,138,9102,8805,1,9201,8806,46500000,9001,8807,0,9001,,,,,,,,,,,,, -2681,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 47",9001,4200,16077,9807,1,0,4530,8801,0,9102,8802,141,9102,8805,1,9201,8806,47500000,9001,8807,0,9001,,,,,,,,,,,,, -2682,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 48",9001,4200,16078,9807,1,0,4530,8801,0,9102,8802,144,9102,8805,1,9201,8806,48500000,9001,8807,0,9001,,,,,,,,,,,,, -2683,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 49",9001,4200,16079,9807,1,0,4530,8801,0,9102,8802,147,9102,8805,1,9201,8806,49500000,9001,8807,0,9001,,,,,,,,,,,,, -2684,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 50",9001,4200,16080,9807,1,0,4530,8801,0,9102,8802,150,9102,8805,1,9201,8806,50500000,9001,8807,0,9001,,,,,,,,,,,,, -2685,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 51",9001,4200,16081,9807,1,0,4530,8801,0,9102,8802,153,9102,8805,1,9201,8806,51500000,9001,8807,0,9001,,,,,,,,,,,,, -2686,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 52",9001,4200,16082,9807,1,0,4530,8801,0,9102,8802,156,9102,8805,1,9201,8806,52500000,9001,8807,0,9001,,,,,,,,,,,,, -2687,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 53",9001,4200,16083,9807,1,0,4530,8801,0,9102,8802,159,9102,8805,1,9201,8806,53500000,9001,8807,0,9001,,,,,,,,,,,,, -2688,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 54",9001,4200,16084,9807,1,0,4530,8801,0,9102,8802,162,9102,8805,1,9201,8806,54500000,9001,8807,0,9001,,,,,,,,,,,,, -2689,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 55",9001,4200,16085,9807,1,0,4530,8801,0,9102,8802,165,9102,8805,1,9201,8806,55500000,9001,8807,0,9001,,,,,,,,,,,,, -2690,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 56",9001,4200,16086,9807,1,0,4530,8801,0,9102,8802,168,9102,8805,1,9201,8806,56500000,9001,8807,0,9001,,,,,,,,,,,,, -2691,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 57",9001,4200,16087,9807,1,0,4530,8801,0,9102,8802,171,9102,8805,1,9201,8806,57500000,9001,8807,0,9001,,,,,,,,,,,,, -2692,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 58",9001,4200,16088,9807,1,0,4530,8801,0,9102,8802,174,9102,8805,1,9201,8806,58500000,9001,8807,0,9001,,,,,,,,,,,,, -2693,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 59",9001,4200,16089,9807,1,0,4530,8801,0,9102,8802,177,9102,8805,1,9201,8806,59500000,9001,8807,0,9001,,,,,,,,,,,,, -2694,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 60",9001,4200,16090,9807,1,1,4530,8801,0,9102,8802,180,9102,8805,1,9201,8806,60000000,9001,8807,0,9001,,,,,,,,,,,,, -2695,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 61",9001,4200,16091,9807,1,0,4530,8801,0,9102,8802,-177,9102,8805,1,9201,8806,61500000,9001,8807,0,9001,,,,,,,,,,,,, -2696,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 62",9001,4200,16092,9807,1,0,4530,8801,0,9102,8802,-174,9102,8805,1,9201,8806,62500000,9001,8807,0,9001,,,,,,,,,,,,, -2697,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 63",9001,4200,16093,9807,1,0,4530,8801,0,9102,8802,-171,9102,8805,1,9201,8806,63500000,9001,8807,0,9001,,,,,,,,,,,,, -2698,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 64",9001,4200,16094,9807,1,0,4530,8801,0,9102,8802,-168,9102,8805,1,9201,8806,64500000,9001,8807,0,9001,,,,,,,,,,,,, -2699,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 21E",9001,4200,16304,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2700,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 24E",9001,4200,16368,9807,1,0,4530,8801,0,9102,8802,24,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2701,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 27E",9001,4200,16305,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2702,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 30E",9001,4200,16370,9807,1,0,4530,8801,0,9102,8802,30,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2703,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 33E",9001,4200,16306,9807,1,0,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2704,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 36E",9001,4200,16372,9807,1,0,4530,8801,0,9102,8802,36,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2705,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 39E",9001,4200,16307,9807,1,0,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2706,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 42E",9001,4200,16374,9807,1,0,4530,8801,0,9102,8802,42,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2707,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 45E",9001,4200,16308,9807,1,0,4530,8801,0,9102,8802,45,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2708,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 48E",9001,4200,16376,9807,1,0,4530,8801,0,9102,8802,48,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2709,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 51E",9001,4200,16309,9807,1,0,4530,8801,0,9102,8802,51,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2710,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 54E",9001,4200,16378,9807,1,0,4530,8801,0,9102,8802,54,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2711,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 57E",9001,4200,16310,9807,1,0,4530,8801,0,9102,8802,57,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2712,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 60E",9001,4200,16380,9807,1,0,4530,8801,0,9102,8802,60,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2713,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 63E",9001,4200,16311,9807,1,0,4530,8801,0,9102,8802,63,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2714,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 66E",9001,4200,16382,9807,1,0,4530,8801,0,9102,8802,66,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2715,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 69E",9001,4200,16312,9807,1,0,4530,8801,0,9102,8802,69,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2716,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 72E",9001,4200,16384,9807,1,0,4530,8801,0,9102,8802,72,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2717,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 75E",9001,4200,16313,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2718,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 78E",9001,4200,16386,9807,1,0,4530,8801,0,9102,8802,78,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2719,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 81E",9001,4200,16314,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2720,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 84E",9001,4200,16388,9807,1,0,4530,8801,0,9102,8802,84,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2721,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 87E",9001,4200,16315,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2722,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 90E",9001,4200,16390,9807,1,0,4530,8801,0,9102,8802,90,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2723,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 93E",9001,4200,16316,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2724,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 96E",9001,4200,16392,9807,1,0,4530,8801,0,9102,8802,96,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2725,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 99E",9001,4200,16317,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2726,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 102E",9001,4200,16394,9807,1,0,4530,8801,0,9102,8802,102,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2727,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 105E",9001,4200,16318,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2728,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 108E",9001,4200,16396,9807,1,0,4530,8801,0,9102,8802,108,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2729,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 111E",9001,4200,16319,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2730,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 114E",9001,4200,16398,9807,1,0,4530,8801,0,9102,8802,114,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2731,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 117E",9001,4200,16320,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2732,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 120E",9001,4200,16170,9807,1,0,4530,8801,0,9102,8802,120,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2733,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 123E",9001,4200,16321,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2734,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 126E",9001,4200,16172,9807,1,0,4530,8801,0,9102,8802,126,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2735,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 129E",9001,4200,16322,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2736,"Tete / UTM zone 36S",9001,4127,16136,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2737,"Tete / UTM zone 37S",9001,4127,16137,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2738,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 132E",9001,4200,16174,9807,1,0,4530,8801,0,9102,8802,132,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2739,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 135E",9001,4200,16323,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2740,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 138E",9001,4200,16176,9807,1,0,4530,8801,0,9102,8802,138,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2741,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 141E",9001,4200,16324,9807,1,0,4530,8801,0,9102,8802,141,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2742,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 144E",9001,4200,16178,9807,1,0,4530,8801,0,9102,8802,144,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2743,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 147E",9001,4200,16325,9807,1,0,4530,8801,0,9102,8802,147,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2744,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 150E",9001,4200,16180,9807,1,0,4530,8801,0,9102,8802,150,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2745,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 153E",9001,4200,16326,9807,1,0,4530,8801,0,9102,8802,153,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2746,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 156E",9001,4200,16182,9807,1,0,4530,8801,0,9102,8802,156,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2747,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 159E",9001,4200,16327,9807,1,0,4530,8801,0,9102,8802,159,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2748,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 162E",9001,4200,16184,9807,1,0,4530,8801,0,9102,8802,162,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2749,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 165E",9001,4200,16328,9807,1,0,4530,8801,0,9102,8802,165,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2750,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 168E",9001,4200,16186,9807,1,0,4530,8801,0,9102,8802,168,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2751,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 171E",9001,4200,16329,9807,1,0,4530,8801,0,9102,8802,171,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2752,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 174E",9001,4200,16188,9807,1,0,4530,8801,0,9102,8802,174,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2753,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 177E",9001,4200,16330,9807,1,0,4530,8801,0,9102,8802,177,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2754,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 180E",9001,4200,16190,9807,1,0,4530,8801,0,9102,8802,180,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2755,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 177W",9001,4200,16331,9807,1,0,4530,8801,0,9102,8802,-177,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2756,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 174W",9001,4200,16192,9807,1,0,4530,8801,0,9102,8802,-174,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2757,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 171W",9001,4200,16332,9807,1,0,4530,8801,0,9102,8802,-171,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2758,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 168W",9001,4200,16194,9807,1,0,4530,8801,0,9102,8802,-168,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2759,"NAD83(HARN) / Alabama East",9001,4152,10131,9807,1,0,4499,8801,30.3,9110,8802,-85.5,9110,8805,0.99996,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2760,"NAD83(HARN) / Alabama West",9001,4152,10132,9807,1,0,4499,8801,30,9110,8802,-87.3,9110,8805,0.999933333,9201,8806,600000,9001,8807,0,9001,,,,,,,,,,,,, -2761,"NAD83(HARN) / Arizona East",9001,4152,10231,9807,1,0,4499,8801,31,9110,8802,-110.1,9110,8805,0.9999,9201,8806,213360,9001,8807,0,9001,,,,,,,,,,,,, -2762,"NAD83(HARN) / Arizona Central",9001,4152,10232,9807,1,0,4499,8801,31,9110,8802,-111.55,9110,8805,0.9999,9201,8806,213360,9001,8807,0,9001,,,,,,,,,,,,, -2763,"NAD83(HARN) / Arizona West",9001,4152,10233,9807,1,0,4499,8801,31,9110,8802,-113.45,9110,8805,0.999933333,9201,8806,213360,9001,8807,0,9001,,,,,,,,,,,,, -2764,"NAD83(HARN) / Arkansas North",9001,4152,10331,9802,1,0,4499,8821,34.2,9110,8822,-92,9110,8823,36.14,9110,8824,34.56,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -2765,"NAD83(HARN) / Arkansas South",9001,4152,10332,9802,1,0,4499,8821,32.4,9110,8822,-92,9110,8823,34.46,9110,8824,33.18,9110,8826,400000,9001,8827,400000,9001,,,,,,,,,, -2766,"NAD83(HARN) / California zone 1",9001,4152,10431,9802,1,0,4499,8821,39.2,9110,8822,-122,9110,8823,41.4,9110,8824,40,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -2767,"NAD83(HARN) / California zone 2",9001,4152,10432,9802,1,0,4499,8821,37.4,9110,8822,-122,9110,8823,39.5,9110,8824,38.2,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -2768,"NAD83(HARN) / California zone 3",9001,4152,10433,9802,1,0,4499,8821,36.3,9110,8822,-120.3,9110,8823,38.26,9110,8824,37.04,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -2769,"NAD83(HARN) / California zone 4",9001,4152,10434,9802,1,0,4499,8821,35.2,9110,8822,-119,9110,8823,37.15,9110,8824,36,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -2770,"NAD83(HARN) / California zone 5",9001,4152,10435,9802,1,0,4499,8821,33.3,9110,8822,-118,9110,8823,35.28,9110,8824,34.02,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -2771,"NAD83(HARN) / California zone 6",9001,4152,10436,9802,1,0,4499,8821,32.1,9110,8822,-116.15,9110,8823,33.53,9110,8824,32.47,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -2772,"NAD83(HARN) / Colorado North",9001,4152,10531,9802,1,0,4499,8821,39.2,9110,8822,-105.3,9110,8823,40.47,9110,8824,39.43,9110,8826,914401.8289,9001,8827,304800.6096,9001,,,,,,,,,, -2773,"NAD83(HARN) / Colorado Central",9001,4152,10532,9802,1,0,4499,8821,37.5,9110,8822,-105.3,9110,8823,39.45,9110,8824,38.27,9110,8826,914401.8289,9001,8827,304800.6096,9001,,,,,,,,,, -2774,"NAD83(HARN) / Colorado South",9001,4152,10533,9802,1,0,4499,8821,36.4,9110,8822,-105.3,9110,8823,38.26,9110,8824,37.14,9110,8826,914401.8289,9001,8827,304800.6096,9001,,,,,,,,,, -2775,"NAD83(HARN) / Connecticut",9001,4152,10630,9802,1,0,4499,8821,40.5,9110,8822,-72.45,9110,8823,41.52,9110,8824,41.12,9110,8826,304800.6096,9001,8827,152400.3048,9001,,,,,,,,,, -2776,"NAD83(HARN) / Delaware",9001,4152,10730,9807,1,0,4499,8801,38,9110,8802,-75.25,9110,8805,0.999995,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2777,"NAD83(HARN) / Florida East",9001,4152,10931,9807,1,0,4499,8801,24.2,9110,8802,-81,9110,8805,0.999941177,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2778,"NAD83(HARN) / Florida West",9001,4152,10932,9807,1,0,4499,8801,24.2,9110,8802,-82,9110,8805,0.999941177,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2779,"NAD83(HARN) / Florida North",9001,4152,10933,9802,1,0,4499,8821,29,9110,8822,-84.3,9110,8823,30.45,9110,8824,29.35,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -2780,"NAD83(HARN) / Georgia East",9001,4152,11031,9807,1,0,4499,8801,30,9110,8802,-82.1,9110,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2781,"NAD83(HARN) / Georgia West",9001,4152,11032,9807,1,0,4499,8801,30,9110,8802,-84.1,9110,8805,0.9999,9201,8806,700000,9001,8807,0,9001,,,,,,,,,,,,, -2782,"NAD83(HARN) / Hawaii zone 1",9001,4152,15131,9807,1,0,4499,8801,18.5,9110,8802,-155.3,9110,8805,0.999966667,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2783,"NAD83(HARN) / Hawaii zone 2",9001,4152,15132,9807,1,0,4499,8801,20.2,9110,8802,-156.4,9110,8805,0.999966667,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2784,"NAD83(HARN) / Hawaii zone 3",9001,4152,15133,9807,1,0,4499,8801,21.1,9110,8802,-158,9110,8805,0.99999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2785,"NAD83(HARN) / Hawaii zone 4",9001,4152,15134,9807,1,0,4499,8801,21.5,9110,8802,-159.3,9110,8805,0.99999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2786,"NAD83(HARN) / Hawaii zone 5",9001,4152,15135,9807,1,0,4499,8801,21.4,9110,8802,-160.1,9110,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2787,"NAD83(HARN) / Idaho East",9001,4152,11131,9807,1,0,4499,8801,41.4,9110,8802,-112.1,9110,8805,0.999947368,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2788,"NAD83(HARN) / Idaho Central",9001,4152,11132,9807,1,0,4499,8801,41.4,9110,8802,-114,9110,8805,0.999947368,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2789,"NAD83(HARN) / Idaho West",9001,4152,11133,9807,1,0,4499,8801,41.4,9110,8802,-115.45,9110,8805,0.999933333,9201,8806,800000,9001,8807,0,9001,,,,,,,,,,,,, -2790,"NAD83(HARN) / Illinois East",9001,4152,11231,9807,1,0,4499,8801,36.4,9110,8802,-88.2,9110,8805,0.999975,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -2791,"NAD83(HARN) / Illinois West",9001,4152,11232,9807,1,0,4499,8801,36.4,9110,8802,-90.1,9110,8805,0.999941177,9201,8806,700000,9001,8807,0,9001,,,,,,,,,,,,, -2792,"NAD83(HARN) / Indiana East",9001,4152,11331,9807,1,0,4499,8801,37.3,9110,8802,-85.4,9110,8805,0.999966667,9201,8806,100000,9001,8807,250000,9001,,,,,,,,,,,,, -2793,"NAD83(HARN) / Indiana West",9001,4152,11332,9807,1,0,4499,8801,37.3,9110,8802,-87.05,9110,8805,0.999966667,9201,8806,900000,9001,8807,250000,9001,,,,,,,,,,,,, -2794,"NAD83(HARN) / Iowa North",9001,4152,11431,9802,1,0,4499,8821,41.3,9110,8822,-93.3,9110,8823,43.16,9110,8824,42.04,9110,8826,1500000,9001,8827,1000000,9001,,,,,,,,,, -2795,"NAD83(HARN) / Iowa South",9001,4152,11432,9802,1,0,4499,8821,40,9110,8822,-93.3,9110,8823,41.47,9110,8824,40.37,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -2796,"NAD83(HARN) / Kansas North",9001,4152,11531,9802,1,0,4499,8821,38.2,9110,8822,-98,9110,8823,39.47,9110,8824,38.43,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -2797,"NAD83(HARN) / Kansas South",9001,4152,11532,9802,1,0,4499,8821,36.4,9110,8822,-98.3,9110,8823,38.34,9110,8824,37.16,9110,8826,400000,9001,8827,400000,9001,,,,,,,,,, -2798,"NAD83(HARN) / Kentucky North",9001,4152,15303,9802,1,0,4499,8821,37.3,9110,8822,-84.15,9110,8823,37.58,9110,8824,38.58,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -2799,"NAD83(HARN) / Kentucky South",9001,4152,11632,9802,1,0,4499,8821,36.2,9110,8822,-85.45,9110,8823,37.56,9110,8824,36.44,9110,8826,500000,9001,8827,500000,9001,,,,,,,,,, -2800,"NAD83(HARN) / Louisiana North",9001,4152,11731,9802,1,0,4499,8821,30.3,9110,8822,-92.3,9110,8823,32.4,9110,8824,31.1,9110,8826,1000000,9001,8827,0,9001,,,,,,,,,, -2801,"NAD83(HARN) / Louisiana South",9001,4152,11732,9802,1,0,4499,8821,28.3,9110,8822,-91.2,9110,8823,30.42,9110,8824,29.18,9110,8826,1000000,9001,8827,0,9001,,,,,,,,,, -2802,"NAD83(HARN) / Maine East",9001,4152,11831,9807,1,0,4499,8801,43.4,9110,8802,-68.3,9110,8805,0.9999,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -2803,"NAD83(HARN) / Maine West",9001,4152,11832,9807,1,0,4499,8801,42.5,9110,8802,-70.1,9110,8805,0.999966667,9201,8806,900000,9001,8807,0,9001,,,,,,,,,,,,, -2804,"NAD83(HARN) / Maryland",9001,4152,11930,9802,1,0,4499,8821,37.4,9110,8822,-77,9110,8823,39.27,9110,8824,38.18,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -2805,"NAD83(HARN) / Massachusetts Mainland",9001,4152,12031,9802,1,0,4499,8821,41,9110,8822,-71.3,9110,8823,42.41,9110,8824,41.43,9110,8826,200000,9001,8827,750000,9001,,,,,,,,,, -2806,"NAD83(HARN) / Massachusetts Island",9001,4152,12032,9802,1,0,4499,8821,41,9110,8822,-70.3,9110,8823,41.29,9110,8824,41.17,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -2807,"NAD83(HARN) / Michigan North",9001,4152,12141,9802,1,0,4499,8821,44.47,9110,8822,-87,9110,8823,47.05,9110,8824,45.29,9110,8826,8000000,9001,8827,0,9001,,,,,,,,,, -2808,"NAD83(HARN) / Michigan Central",9001,4152,12142,9802,1,0,4499,8821,43.19,9110,8822,-84.22,9110,8823,45.42,9110,8824,44.11,9110,8826,6000000,9001,8827,0,9001,,,,,,,,,, -2809,"NAD83(HARN) / Michigan South",9001,4152,12143,9802,1,0,4499,8821,41.3,9110,8822,-84.22,9110,8823,43.4,9110,8824,42.06,9110,8826,4000000,9001,8827,0,9001,,,,,,,,,, -2810,"NAD83(HARN) / Minnesota North",9001,4152,12231,9802,1,0,4499,8821,46.3,9110,8822,-93.06,9110,8823,48.38,9110,8824,47.02,9110,8826,800000,9001,8827,100000,9001,,,,,,,,,, -2811,"NAD83(HARN) / Minnesota Central",9001,4152,12232,9802,1,0,4499,8821,45,9110,8822,-94.15,9110,8823,47.03,9110,8824,45.37,9110,8826,800000,9001,8827,100000,9001,,,,,,,,,, -2812,"NAD83(HARN) / Minnesota South",9001,4152,12233,9802,1,0,4499,8821,43,9110,8822,-94,9110,8823,45.13,9110,8824,43.47,9110,8826,800000,9001,8827,100000,9001,,,,,,,,,, -2813,"NAD83(HARN) / Mississippi East",9001,4152,12331,9807,1,0,4499,8801,29.3,9110,8802,-88.5,9110,8805,0.99995,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -2814,"NAD83(HARN) / Mississippi West",9001,4152,12332,9807,1,0,4499,8801,29.3,9110,8802,-90.2,9110,8805,0.99995,9201,8806,700000,9001,8807,0,9001,,,,,,,,,,,,, -2815,"NAD83(HARN) / Missouri East",9001,4152,12431,9807,1,0,4499,8801,35.5,9110,8802,-90.3,9110,8805,0.999933333,9201,8806,250000,9001,8807,0,9001,,,,,,,,,,,,, -2816,"NAD83(HARN) / Missouri Central",9001,4152,12432,9807,1,0,4499,8801,35.5,9110,8802,-92.3,9110,8805,0.999933333,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2817,"NAD83(HARN) / Missouri West",9001,4152,12433,9807,1,0,4499,8801,36.1,9110,8802,-94.3,9110,8805,0.999941177,9201,8806,850000,9001,8807,0,9001,,,,,,,,,,,,, -2818,"NAD83(HARN) / Montana",9001,4152,12530,9802,1,0,4499,8821,44.15,9110,8822,-109.3,9110,8823,49,9110,8824,45,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -2819,"NAD83(HARN) / Nebraska",9001,4152,12630,9802,1,0,4499,8821,39.5,9110,8822,-100,9110,8823,43,9110,8824,40,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -2820,"NAD83(HARN) / Nevada East",9001,4152,12731,9807,1,0,4499,8801,34.45,9110,8802,-115.35,9110,8805,0.9999,9201,8806,200000,9001,8807,8000000,9001,,,,,,,,,,,,, -2821,"NAD83(HARN) / Nevada Central",9001,4152,12732,9807,1,0,4499,8801,34.45,9110,8802,-116.4,9110,8805,0.9999,9201,8806,500000,9001,8807,6000000,9001,,,,,,,,,,,,, -2822,"NAD83(HARN) / Nevada West",9001,4152,12733,9807,1,0,4499,8801,34.45,9110,8802,-118.35,9110,8805,0.9999,9201,8806,800000,9001,8807,4000000,9001,,,,,,,,,,,,, -2823,"NAD83(HARN) / New Hampshire",9001,4152,12830,9807,1,0,4499,8801,42.3,9110,8802,-71.4,9110,8805,0.999966667,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -2824,"NAD83(HARN) / New Jersey",9001,4152,12930,9807,1,0,4499,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -2825,"NAD83(HARN) / New Mexico East",9001,4152,13031,9807,1,0,4499,8801,31,9110,8802,-104.2,9110,8805,0.999909091,9201,8806,165000,9001,8807,0,9001,,,,,,,,,,,,, -2826,"NAD83(HARN) / New Mexico Central",9001,4152,13032,9807,1,0,4499,8801,31,9110,8802,-106.15,9110,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2827,"NAD83(HARN) / New Mexico West",9001,4152,13033,9807,1,0,4499,8801,31,9110,8802,-107.5,9110,8805,0.999916667,9201,8806,830000,9001,8807,0,9001,,,,,,,,,,,,, -2828,"NAD83(HARN) / New York East",9001,4152,13131,9807,1,0,4499,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -2829,"NAD83(HARN) / New York Central",9001,4152,13132,9807,1,0,4499,8801,40,9110,8802,-76.35,9110,8805,0.9999375,9201,8806,250000,9001,8807,0,9001,,,,,,,,,,,,, -2830,"NAD83(HARN) / New York West",9001,4152,13133,9807,1,0,4499,8801,40,9110,8802,-78.35,9110,8805,0.9999375,9201,8806,350000,9001,8807,0,9001,,,,,,,,,,,,, -2831,"NAD83(HARN) / New York Long Island",9001,4152,13134,9802,1,0,4499,8821,40.1,9110,8822,-74,9110,8823,41.02,9110,8824,40.4,9110,8826,300000,9001,8827,0,9001,,,,,,,,,, -2832,"NAD83(HARN) / North Dakota North",9001,4152,13331,9802,1,0,4499,8821,47,9110,8822,-100.3,9110,8823,48.44,9110,8824,47.26,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -2833,"NAD83(HARN) / North Dakota South",9001,4152,13332,9802,1,0,4499,8821,45.4,9110,8822,-100.3,9110,8823,47.29,9110,8824,46.11,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -2834,"NAD83(HARN) / Ohio North",9001,4152,13431,9802,1,0,4499,8821,39.4,9110,8822,-82.3,9110,8823,41.42,9110,8824,40.26,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -2835,"NAD83(HARN) / Ohio South",9001,4152,13432,9802,1,0,4499,8821,38,9110,8822,-82.3,9110,8823,40.02,9110,8824,38.44,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -2836,"NAD83(HARN) / Oklahoma North",9001,4152,13531,9802,1,0,4499,8821,35,9110,8822,-98,9110,8823,36.46,9110,8824,35.34,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -2837,"NAD83(HARN) / Oklahoma South",9001,4152,13532,9802,1,0,4499,8821,33.2,9110,8822,-98,9110,8823,35.14,9110,8824,33.56,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -2838,"NAD83(HARN) / Oregon North",9001,4152,13631,9802,1,0,4499,8821,43.4,9110,8822,-120.3,9110,8823,46,9110,8824,44.2,9110,8826,2500000,9001,8827,0,9001,,,,,,,,,, -2839,"NAD83(HARN) / Oregon South",9001,4152,13632,9802,1,0,4499,8821,41.4,9110,8822,-120.3,9110,8823,44,9110,8824,42.2,9110,8826,1500000,9001,8827,0,9001,,,,,,,,,, -2840,"NAD83(HARN) / Rhode Island",9001,4152,13830,9807,1,0,4499,8801,41.05,9110,8802,-71.3,9110,8805,0.99999375,9201,8806,100000,9001,8807,0,9001,,,,,,,,,,,,, -2841,"NAD83(HARN) / South Dakota North",9001,4152,14031,9802,1,0,4499,8821,43.5,9110,8822,-100,9110,8823,45.41,9110,8824,44.25,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -2842,"NAD83(HARN) / South Dakota South",9001,4152,14032,9802,1,0,4499,8821,42.2,9110,8822,-100.2,9110,8823,44.24,9110,8824,42.5,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -2843,"NAD83(HARN) / Tennessee",9001,4152,14130,9802,1,0,4499,8821,34.2,9110,8822,-86,9110,8823,36.25,9110,8824,35.15,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -2844,"NAD83(HARN) / Texas North",9001,4152,14231,9802,1,0,4499,8821,34,9110,8822,-101.3,9110,8823,36.11,9110,8824,34.39,9110,8826,200000,9001,8827,1000000,9001,,,,,,,,,, -2845,"NAD83(HARN) / Texas North Central",9001,4152,14232,9802,1,0,4499,8821,31.4,9110,8822,-98.3,9110,8823,33.58,9110,8824,32.08,9110,8826,600000,9001,8827,2000000,9001,,,,,,,,,, -2846,"NAD83(HARN) / Texas Central",9001,4152,14233,9802,1,0,4499,8821,29.4,9110,8822,-100.2,9110,8823,31.53,9110,8824,30.07,9110,8826,700000,9001,8827,3000000,9001,,,,,,,,,, -2847,"NAD83(HARN) / Texas South Central",9001,4152,14234,9802,1,0,4499,8821,27.5,9110,8822,-99,9110,8823,30.17,9110,8824,28.23,9110,8826,600000,9001,8827,4000000,9001,,,,,,,,,, -2848,"NAD83(HARN) / Texas South",9001,4152,14235,9802,1,0,4499,8821,25.4,9110,8822,-98.3,9110,8823,27.5,9110,8824,26.1,9110,8826,300000,9001,8827,5000000,9001,,,,,,,,,, -2849,"NAD83(HARN) / Utah North",9001,4152,14331,9802,1,0,4499,8821,40.2,9110,8822,-111.3,9110,8823,41.47,9110,8824,40.43,9110,8826,500000,9001,8827,1000000,9001,,,,,,,,,, -2850,"NAD83(HARN) / Utah Central",9001,4152,14332,9802,1,0,4499,8821,38.2,9110,8822,-111.3,9110,8823,40.39,9110,8824,39.01,9110,8826,500000,9001,8827,2000000,9001,,,,,,,,,, -2851,"NAD83(HARN) / Utah South",9001,4152,14333,9802,1,0,4499,8821,36.4,9110,8822,-111.3,9110,8823,38.21,9110,8824,37.13,9110,8826,500000,9001,8827,3000000,9001,,,,,,,,,, -2852,"NAD83(HARN) / Vermont",9001,4152,14430,9807,1,0,4499,8801,42.3,9110,8802,-72.3,9110,8805,0.999964286,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2853,"NAD83(HARN) / Virginia North",9001,4152,14531,9802,1,0,4499,8821,37.4,9110,8822,-78.3,9110,8823,39.12,9110,8824,38.02,9110,8826,3500000,9001,8827,2000000,9001,,,,,,,,,, -2854,"NAD83(HARN) / Virginia South",9001,4152,14532,9802,1,0,4499,8821,36.2,9110,8822,-78.3,9110,8823,37.58,9110,8824,36.46,9110,8826,3500000,9001,8827,1000000,9001,,,,,,,,,, -2855,"NAD83(HARN) / Washington North",9001,4152,14631,9802,1,0,4499,8821,47,9110,8822,-120.5,9110,8823,48.44,9110,8824,47.3,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -2856,"NAD83(HARN) / Washington South",9001,4152,14632,9802,1,0,4499,8821,45.2,9110,8822,-120.3,9110,8823,47.2,9110,8824,45.5,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -2857,"NAD83(HARN) / West Virginia North",9001,4152,14731,9802,1,0,4499,8821,38.3,9110,8822,-79.3,9110,8823,40.15,9110,8824,39,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -2858,"NAD83(HARN) / West Virginia South",9001,4152,14732,9802,1,0,4499,8821,37,9110,8822,-81,9110,8823,38.53,9110,8824,37.29,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -2859,"NAD83(HARN) / Wisconsin North",9001,4152,14831,9802,1,0,4499,8821,45.1,9110,8822,-90,9110,8823,46.46,9110,8824,45.34,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -2860,"NAD83(HARN) / Wisconsin Central",9001,4152,14832,9802,1,0,4499,8821,43.5,9110,8822,-90,9110,8823,45.3,9110,8824,44.15,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -2861,"NAD83(HARN) / Wisconsin South",9001,4152,14833,9802,1,0,4499,8821,42,9110,8822,-90,9110,8823,44.04,9110,8824,42.44,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -2862,"NAD83(HARN) / Wyoming East",9001,4152,14931,9807,1,0,4499,8801,40.3,9110,8802,-105.1,9110,8805,0.9999375,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -2863,"NAD83(HARN) / Wyoming East Central",9001,4152,14932,9807,1,0,4499,8801,40.3,9110,8802,-107.2,9110,8805,0.9999375,9201,8806,400000,9001,8807,100000,9001,,,,,,,,,,,,, -2864,"NAD83(HARN) / Wyoming West Central",9001,4152,14933,9807,1,0,4499,8801,40.3,9110,8802,-108.45,9110,8805,0.9999375,9201,8806,600000,9001,8807,0,9001,,,,,,,,,,,,, -2865,"NAD83(HARN) / Wyoming West",9001,4152,14934,9807,1,0,4499,8801,40.3,9110,8802,-110.05,9110,8805,0.9999375,9201,8806,800000,9001,8807,100000,9001,,,,,,,,,,,,, -2866,"NAD83(HARN) / Puerto Rico and Virgin Is.",9001,4152,15230,9802,1,0,4499,8821,17.5,9110,8822,-66.26,9110,8823,18.26,9110,8824,18.02,9110,8826,200000,9001,8827,200000,9001,,,,,,,,,, -2867,"NAD83(HARN) / Arizona East (ft)",9002,4152,15304,9807,1,0,4495,8801,31,9110,8802,-110.1,9110,8805,0.9999,9201,8806,700000,9002,8807,0,9002,,,,,,,,,,,,, -2868,"NAD83(HARN) / Arizona Central (ft)",9002,4152,15305,9807,1,0,4495,8801,31,9110,8802,-111.55,9110,8805,0.9999,9201,8806,700000,9002,8807,0,9002,,,,,,,,,,,,, -2869,"NAD83(HARN) / Arizona West (ft)",9002,4152,15306,9807,1,0,4495,8801,31,9110,8802,-113.45,9110,8805,0.999933333,9201,8806,700000,9002,8807,0,9002,,,,,,,,,,,,, -2870,"NAD83(HARN) / California zone 1 (ftUS)",9003,4152,15307,9802,1,0,4497,8821,39.2,9110,8822,-122,9110,8823,41.4,9110,8824,40,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -2871,"NAD83(HARN) / California zone 2 (ftUS)",9003,4152,15308,9802,1,0,4497,8821,37.4,9110,8822,-122,9110,8823,39.5,9110,8824,38.2,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -2872,"NAD83(HARN) / California zone 3 (ftUS)",9003,4152,15309,9802,1,0,4497,8821,36.3,9110,8822,-120.3,9110,8823,38.26,9110,8824,37.04,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -2873,"NAD83(HARN) / California zone 4 (ftUS)",9003,4152,15310,9802,1,0,4497,8821,35.2,9110,8822,-119,9110,8823,37.15,9110,8824,36,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -2874,"NAD83(HARN) / California zone 5 (ftUS)",9003,4152,15311,9802,1,0,4497,8821,33.3,9110,8822,-118,9110,8823,35.28,9110,8824,34.02,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -2875,"NAD83(HARN) / California zone 6 (ftUS)",9003,4152,15312,9802,1,0,4497,8821,32.1,9110,8822,-116.15,9110,8823,33.53,9110,8824,32.47,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -2876,"NAD83(HARN) / Colorado North (ftUS)",9003,4152,15313,9802,1,0,4497,8821,39.2,9110,8822,-105.3,9110,8823,40.47,9110,8824,39.43,9110,8826,3000000,9003,8827,1000000,9003,,,,,,,,,, -2877,"NAD83(HARN) / Colorado Central (ftUS)",9003,4152,15314,9802,1,0,4497,8821,37.5,9110,8822,-105.3,9110,8823,39.45,9110,8824,38.27,9110,8826,3000000,9003,8827,1000000,9003,,,,,,,,,, -2878,"NAD83(HARN) / Colorado South (ftUS)",9003,4152,15315,9802,1,0,4497,8821,36.4,9110,8822,-105.3,9110,8823,38.26,9110,8824,37.14,9110,8826,3000000,9003,8827,1000000,9003,,,,,,,,,, -2879,"NAD83(HARN) / Connecticut (ftUS)",9003,4152,15316,9802,1,0,4497,8821,40.5,9110,8822,-72.45,9110,8823,41.52,9110,8824,41.12,9110,8826,1000000,9003,8827,500000,9003,,,,,,,,,, -2880,"NAD83(HARN) / Delaware (ftUS)",9003,4152,15317,9807,1,0,4497,8801,38,9110,8802,-75.25,9110,8805,0.999995,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -2881,"NAD83(HARN) / Florida East (ftUS)",9003,4152,15318,9807,1,0,4497,8801,24.2,9110,8802,-81,9110,8805,0.999941177,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -2882,"NAD83(HARN) / Florida West (ftUS)",9003,4152,15319,9807,1,0,4497,8801,24.2,9110,8802,-82,9110,8805,0.999941177,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -2883,"NAD83(HARN) / Florida North (ftUS)",9003,4152,15320,9802,1,0,4497,8821,29,9110,8822,-84.3,9110,8823,30.45,9110,8824,29.35,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -2884,"NAD83(HARN) / Georgia East (ftUS)",9003,4152,15321,9807,1,0,4497,8801,30,9110,8802,-82.1,9110,8805,0.9999,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -2885,"NAD83(HARN) / Georgia West (ftUS)",9003,4152,15322,9807,1,0,4497,8801,30,9110,8802,-84.1,9110,8805,0.9999,9201,8806,2296583.333,9003,8807,0,9003,,,,,,,,,,,,, -2886,"NAD83(HARN) / Idaho East (ftUS)",9003,4152,15323,9807,1,0,4497,8801,41.4,9110,8802,-112.1,9110,8805,0.999947368,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -2887,"NAD83(HARN) / Idaho Central (ftUS)",9003,4152,15324,9807,1,0,4497,8801,41.4,9110,8802,-114,9110,8805,0.999947368,9201,8806,1640416.667,9003,8807,0,9003,,,,,,,,,,,,, -2888,"NAD83(HARN) / Idaho West (ftUS)",9003,4152,15325,9807,1,0,4497,8801,41.4,9110,8802,-115.45,9110,8805,0.999933333,9201,8806,2624666.667,9003,8807,0,9003,,,,,,,,,,,,, -2889,"NAD83(HARN) / Indiana East (ftUS)",9003,4152,15326,9807,1,1,4497,8801,37.3,9110,8802,-85.4,9110,8805,0.999966667,9201,8806,328083.333,9003,8807,818125,9003,,,,,,,,,,,,, -2890,"NAD83(HARN) / Indiana West (ftUS)",9003,4152,15327,9807,1,1,4497,8801,37.3,9110,8802,-87.05,9110,8805,0.999966667,9201,8806,2952750,9003,8807,818125,9003,,,,,,,,,,,,, -2891,"NAD83(HARN) / Kentucky North (ftUS)",9003,4152,15328,9802,1,0,4497,8821,37.3,9110,8822,-84.15,9110,8823,37.58,9110,8824,38.58,9110,8826,1640416.667,9003,8827,0,9003,,,,,,,,,, -2892,"NAD83(HARN) / Kentucky South (ftUS)",9003,4152,15329,9802,1,0,4497,8821,36.2,9110,8822,-85.45,9110,8823,37.56,9110,8824,36.44,9110,8826,1640416.667,9003,8827,1640416.667,9003,,,,,,,,,, -2893,"NAD83(HARN) / Maryland (ftUS)",9003,4152,15330,9802,1,0,4497,8821,37.4,9110,8822,-77,9110,8823,39.27,9110,8824,38.18,9110,8826,1312333.333,9003,8827,0,9003,,,,,,,,,, -2894,"NAD83(HARN) / Massachusetts Mainland (ftUS)",9003,4152,15331,9802,1,0,4497,8821,41,9110,8822,-71.3,9110,8823,42.41,9110,8824,41.43,9110,8826,656166.667,9003,8827,2460625,9003,,,,,,,,,, -2895,"NAD83(HARN) / Massachusetts Island (ftUS)",9003,4152,15332,9802,1,0,4497,8821,41,9110,8822,-70.3,9110,8823,41.29,9110,8824,41.17,9110,8826,1640416.667,9003,8827,0,9003,,,,,,,,,, -2896,"NAD83(HARN) / Michigan North (ft)",9002,4152,15333,9802,1,0,4495,8821,44.47,9110,8822,-87,9110,8823,47.05,9110,8824,45.29,9110,8826,26246719.16,9002,8827,0,9002,,,,,,,,,, -2897,"NAD83(HARN) / Michigan Central (ft)",9002,4152,15334,9802,1,0,4495,8821,43.19,9110,8822,-84.22,9110,8823,45.42,9110,8824,44.11,9110,8826,19685039.37,9002,8827,0,9002,,,,,,,,,, -2898,"NAD83(HARN) / Michigan South (ft)",9002,4152,15335,9802,1,0,4495,8821,41.3,9110,8822,-84.22,9110,8823,43.4,9110,8824,42.06,9110,8826,13123359.58,9002,8827,0,9002,,,,,,,,,, -2899,"NAD83(HARN) / Mississippi East (ftUS)",9003,4152,15336,9807,1,0,4497,8801,29.3,9110,8802,-88.5,9110,8805,0.99995,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -2900,"NAD83(HARN) / Mississippi West (ftUS)",9003,4152,15337,9807,1,0,4497,8801,29.3,9110,8802,-90.2,9110,8805,0.99995,9201,8806,2296583.333,9003,8807,0,9003,,,,,,,,,,,,, -2901,"NAD83(HARN) / Montana (ft)",9002,4152,15338,9802,1,0,4495,8821,44.15,9110,8822,-109.3,9110,8823,49,9110,8824,45,9110,8826,1968503.937,9002,8827,0,9002,,,,,,,,,, -2902,"NAD83(HARN) / New Mexico East (ftUS)",9003,4152,15339,9807,1,0,4497,8801,31,9110,8802,-104.2,9110,8805,0.999909091,9201,8806,541337.5,9003,8807,0,9003,,,,,,,,,,,,, -2903,"NAD83(HARN) / New Mexico Central (ftUS)",9003,4152,15340,9807,1,0,4497,8801,31,9110,8802,-106.15,9110,8805,0.9999,9201,8806,1640416.667,9003,8807,0,9003,,,,,,,,,,,,, -2904,"NAD83(HARN) / New Mexico West (ftUS)",9003,4152,15341,9807,1,0,4497,8801,31,9110,8802,-107.5,9110,8805,0.999916667,9201,8806,2723091.667,9003,8807,0,9003,,,,,,,,,,,,, -2905,"NAD83(HARN) / New York East (ftUS)",9003,4152,15342,9807,1,0,4497,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,492125,9003,8807,0,9003,,,,,,,,,,,,, -2906,"NAD83(HARN) / New York Central (ftUS)",9003,4152,15343,9807,1,0,4497,8801,40,9110,8802,-76.35,9110,8805,0.9999375,9201,8806,820208.333,9003,8807,0,9003,,,,,,,,,,,,, -2907,"NAD83(HARN) / New York West (ftUS)",9003,4152,15344,9807,1,0,4497,8801,40,9110,8802,-78.35,9110,8805,0.9999375,9201,8806,1148291.667,9003,8807,0,9003,,,,,,,,,,,,, -2908,"NAD83(HARN) / New York Long Island (ftUS)",9003,4152,15345,9802,1,0,4497,8821,40.1,9110,8822,-74,9110,8823,41.02,9110,8824,40.4,9110,8826,984250,9003,8827,0,9003,,,,,,,,,, -2909,"NAD83(HARN) / North Dakota North (ft)",9002,4152,15347,9802,1,0,4495,8821,47,9110,8822,-100.3,9110,8823,48.44,9110,8824,47.26,9110,8826,1968503.937,9002,8827,0,9002,,,,,,,,,, -2910,"NAD83(HARN) / North Dakota South (ft)",9002,4152,15348,9802,1,0,4495,8821,45.4,9110,8822,-100.3,9110,8823,47.29,9110,8824,46.11,9110,8826,1968503.937,9002,8827,0,9002,,,,,,,,,, -2911,"NAD83(HARN) / Oklahoma North (ftUS)",9003,4152,15349,9802,1,0,4497,8821,35,9110,8822,-98,9110,8823,36.46,9110,8824,35.34,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -2912,"NAD83(HARN) / Oklahoma South (ftUS)",9003,4152,15350,9802,1,0,4497,8821,33.2,9110,8822,-98,9110,8823,35.14,9110,8824,33.56,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -2913,"NAD83(HARN) / Oregon North (ft)",9002,4152,15351,9802,1,0,4495,8821,43.4,9110,8822,-120.3,9110,8823,46,9110,8824,44.2,9110,8826,8202099.738,9002,8827,0,9002,,,,,,,,,, -2914,"NAD83(HARN) / Oregon South (ft)",9002,4152,15352,9802,1,0,4495,8821,41.4,9110,8822,-120.3,9110,8823,44,9110,8824,42.2,9110,8826,4921259.843,9002,8827,0,9002,,,,,,,,,, -2915,"NAD83(HARN) / Tennessee (ftUS)",9003,4152,15356,9802,1,0,4497,8821,34.2,9110,8822,-86,9110,8823,36.25,9110,8824,35.15,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -2916,"NAD83(HARN) / Texas North (ftUS)",9003,4152,15357,9802,1,0,4497,8821,34,9110,8822,-101.3,9110,8823,36.11,9110,8824,34.39,9110,8826,656166.667,9003,8827,3280833.333,9003,,,,,,,,,, -2917,"NAD83(HARN) / Texas North Central (ftUS)",9003,4152,15358,9802,1,0,4497,8821,31.4,9110,8822,-98.3,9110,8823,33.58,9110,8824,32.08,9110,8826,1968500,9003,8827,6561666.667,9003,,,,,,,,,, -2918,"NAD83(HARN) / Texas Central (ftUS)",9003,4152,15359,9802,1,0,4497,8821,29.4,9110,8822,-100.2,9110,8823,31.53,9110,8824,30.07,9110,8826,2296583.333,9003,8827,9842500,9003,,,,,,,,,, -2919,"NAD83(HARN) / Texas South Central (ftUS)",9003,4152,15360,9802,1,0,4497,8821,27.5,9110,8822,-99,9110,8823,30.17,9110,8824,28.23,9110,8826,1968500,9003,8827,13123333.333,9003,,,,,,,,,, -2920,"NAD83(HARN) / Texas South (ftUS)",9003,4152,15361,9802,1,0,4497,8821,25.4,9110,8822,-98.3,9110,8823,27.5,9110,8824,26.1,9110,8826,984250,9003,8827,16404166.667,9003,,,,,,,,,, -2921,"NAD83(HARN) / Utah North (ft)",9002,4152,15362,9802,0,0,4495,8821,40.2,9110,8822,-111.3,9110,8823,41.47,9110,8824,40.43,9110,8826,1640419.948,9002,8827,3280839.895,9002,,,,,,,,,, -2922,"NAD83(HARN) / Utah Central (ft)",9002,4152,15363,9802,0,0,4495,8821,38.2,9110,8822,-111.3,9110,8823,40.39,9110,8824,39.01,9110,8826,1640419.948,9002,8827,6561679.79,9002,,,,,,,,,, -2923,"NAD83(HARN) / Utah South (ft)",9002,4152,15364,9802,0,0,4495,8821,36.4,9110,8822,-111.3,9110,8823,38.21,9110,8824,37.13,9110,8826,1640419.948,9002,8827,9842519.685,9002,,,,,,,,,, -2924,"NAD83(HARN) / Virginia North (ftUS)",9003,4152,15365,9802,1,0,4497,8821,37.4,9110,8822,-78.3,9110,8823,39.12,9110,8824,38.02,9110,8826,11482916.667,9003,8827,6561666.667,9003,,,,,,,,,, -2925,"NAD83(HARN) / Virginia South (ftUS)",9003,4152,15366,9802,1,0,4497,8821,36.2,9110,8822,-78.3,9110,8823,37.58,9110,8824,36.46,9110,8826,11482916.667,9003,8827,3280833.333,9003,,,,,,,,,, -2926,"NAD83(HARN) / Washington North (ftUS)",9003,4152,15367,9802,1,0,4497,8821,47,9110,8822,-120.5,9110,8823,48.44,9110,8824,47.3,9110,8826,1640416.667,9003,8827,0,9003,,,,,,,,,, -2927,"NAD83(HARN) / Washington South (ftUS)",9003,4152,15368,9802,1,0,4497,8821,45.2,9110,8822,-120.3,9110,8823,47.2,9110,8824,45.5,9110,8826,1640416.667,9003,8827,0,9003,,,,,,,,,, -2928,"NAD83(HARN) / Wisconsin North (ftUS)",9003,4152,15369,9802,1,0,4497,8821,45.1,9110,8822,-90,9110,8823,46.46,9110,8824,45.34,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -2929,"NAD83(HARN) / Wisconsin Central (ftUS)",9003,4152,15370,9802,1,0,4497,8821,43.5,9110,8822,-90,9110,8823,45.3,9110,8824,44.15,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -2930,"NAD83(HARN) / Wisconsin South (ftUS)",9003,4152,15371,9802,1,0,4497,8821,42,9110,8822,-90,9110,8823,44.04,9110,8824,42.44,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -2931,"Beduaram / TM 13 NE",9001,4213,16413,9807,1,0,4499,8801,0,9102,8802,13,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2932,"QND95 / Qatar National Grid",9001,4614,19919,9807,1,0,4400,8801,24.27,9110,8802,51.13,9110,8805,0.99999,9201,8806,200000,9001,8807,300000,9001,,,,,,,,,,,,, -2933,"Segara / UTM zone 50S",9001,4613,16150,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2934,"Segara (Jakarta) / NEIEZ",9001,4820,19905,9804,1,1,4499,8801,0,9102,8802,110,9102,8805,0.997,9201,8806,3900000,9001,8807,900000,9001,,,,,,,,,,,,, -2935,"Pulkovo 1942 / CS63 zone A1",9001,4284,18441,9807,1,0,4530,8801,0.07,9110,8802,41.32,9110,8805,1,9201,8806,1300000,9001,8807,0,9001,,,,,,,,,,,,, -2936,"Pulkovo 1942 / CS63 zone A2",9001,4284,18442,9807,1,0,4530,8801,0.07,9110,8802,44.32,9110,8805,1,9201,8806,2300000,9001,8807,0,9001,,,,,,,,,,,,, -2937,"Pulkovo 1942 / CS63 zone A3",9001,4284,18443,9807,1,0,4530,8801,0.07,9110,8802,47.32,9110,8805,1,9201,8806,3300000,9001,8807,0,9001,,,,,,,,,,,,, -2938,"Pulkovo 1942 / CS63 zone A4",9001,4284,18444,9807,1,0,4530,8801,0.07,9110,8802,50.32,9110,8805,1,9201,8806,4300000,9001,8807,0,9001,,,,,,,,,,,,, -2939,"Pulkovo 1942 / CS63 zone K2",9001,4284,18446,9807,1,0,4530,8801,0.08,9110,8802,50.46,9110,8805,1,9201,8806,2300000,9001,8807,0,9001,,,,,,,,,,,,, -2940,"Pulkovo 1942 / CS63 zone K3",9001,4284,18447,9807,1,0,4530,8801,0.08,9110,8802,53.46,9110,8805,1,9201,8806,3300000,9001,8807,0,9001,,,,,,,,,,,,, -2941,"Pulkovo 1942 / CS63 zone K4",9001,4284,18448,9807,1,0,4530,8801,0.08,9110,8802,56.46,9110,8805,1,9201,8806,4300000,9001,8807,0,9001,,,,,,,,,,,,, -2942,"Porto Santo / UTM zone 28N",9001,4615,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2943,"Selvagem Grande / UTM zone 28N",9001,4616,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2944,"NAD83(CSRS) / SCoPQ zone 2",9001,4617,17700,9807,1,1,4499,8801,0,9110,8802,-55.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2945,"NAD83(CSRS) / MTM zone 3",9001,4617,17703,9807,1,0,4496,8801,0,9110,8802,-58.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2946,"NAD83(CSRS) / MTM zone 4",9001,4617,17704,9807,1,0,4496,8801,0,9110,8802,-61.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2947,"NAD83(CSRS) / MTM zone 5",9001,4617,17705,9807,1,0,4496,8801,0,9110,8802,-64.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2948,"NAD83(CSRS) / MTM zone 6",9001,4617,17706,9807,1,0,4496,8801,0,9110,8802,-67.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2949,"NAD83(CSRS) / MTM zone 7",9001,4617,17707,9807,1,0,4496,8801,0,9110,8802,-70.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2950,"NAD83(CSRS) / MTM zone 8",9001,4617,17708,9807,1,0,4496,8801,0,9110,8802,-73.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2951,"NAD83(CSRS) / MTM zone 9",9001,4617,17709,9807,1,0,4496,8801,0,9110,8802,-76.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2952,"NAD83(CSRS) / MTM zone 10",9001,4617,17710,9807,1,0,4496,8801,0,9110,8802,-79.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -2953,"NAD83(CSRS) / New Brunswick Stereographic",9001,4617,19946,9809,1,0,4500,8801,46.3,9110,8802,-66.3,9110,8805,0.999912,9201,8806,2500000,9001,8807,7500000,9001,,,,,,,,,,,,, -2954,"NAD83(CSRS) / Prince Edward Isl. Stereographic (NAD83)",9001,4617,19960,9809,1,0,4496,8801,47.15,9110,8802,-63,9110,8805,0.999912,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -2955,"NAD83(CSRS) / UTM zone 11N",9001,4617,16011,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2956,"NAD83(CSRS) / UTM zone 12N",9001,4617,16012,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2957,"NAD83(CSRS) / UTM zone 13N",9001,4617,16013,9807,1,0,4400,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2958,"NAD83(CSRS) / UTM zone 17N",9001,4617,16017,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2959,"NAD83(CSRS) / UTM zone 18N",9001,4617,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2960,"NAD83(CSRS) / UTM zone 19N",9001,4617,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2961,"NAD83(CSRS) / UTM zone 20N",9001,4617,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2962,"NAD83(CSRS) / UTM zone 21N",9001,4617,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2963,"Lisbon 1890 (Lisbon) / Portugal Bonne",9001,4904,19979,9828,1,0,6509,8801,39.4,9110,8802,1,9110,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -2964,"NAD27 / Alaska Albers",9003,4267,15020,9822,1,0,4497,8821,50,9102,8822,-154,9102,8823,55,9102,8824,65,9102,8826,0,9003,8827,0,9003,,,,,,,,,, -2965,"NAD83 / Indiana East (ftUS)",9003,4269,15372,9807,1,0,4497,8801,37.3,9110,8802,-85.4,9110,8805,0.999966667,9201,8806,328083.333,9003,8807,820208.333,9003,,,,,,,,,,,,, -2966,"NAD83 / Indiana West (ftUS)",9003,4269,15373,9807,1,0,4497,8801,37.3,9110,8802,-87.05,9110,8805,0.999966667,9201,8806,2952750,9003,8807,820208.333,9003,,,,,,,,,,,,, -2967,"NAD83(HARN) / Indiana East (ftUS)",9003,4152,15372,9807,1,0,4497,8801,37.3,9110,8802,-85.4,9110,8805,0.999966667,9201,8806,328083.333,9003,8807,820208.333,9003,,,,,,,,,,,,, -2968,"NAD83(HARN) / Indiana West (ftUS)",9003,4152,15373,9807,1,0,4497,8801,37.3,9110,8802,-87.05,9110,8805,0.999966667,9201,8806,2952750,9003,8807,820208.333,9003,,,,,,,,,,,,, -2969,"Fort Marigot / UTM zone 20N",9001,4621,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2970,"Guadeloupe 1948 / UTM zone 20N",9001,4622,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2971,"CSG67 / UTM zone 22N",9001,4623,16022,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2972,"RGFG95 / UTM zone 22N",9001,4624,16022,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2973,"Martinique 1938 / UTM zone 20N",9001,4625,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2975,"RGR92 / UTM zone 40S",9001,4627,16140,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2976,"Tahiti 52 / UTM zone 6S",9001,4628,16106,9807,1,0,4400,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2977,"Tahaa 54 / UTM zone 5S",9001,4629,16105,9807,1,0,4400,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2978,"IGN72 Nuku Hiva / UTM zone 7S",9001,4630,16107,9807,1,0,4400,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2979,"K0 1949 / UTM zone 42S",9001,4631,16142,9807,1,1,4400,8801,0,9102,8802,69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2980,"Combani 1950 / UTM zone 38S",9001,4632,16138,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2981,"IGN56 Lifou / UTM zone 58S",9001,4633,16158,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2982,"IGN72 Grand Terre / UTM zone 58S",9001,4634,16158,9807,1,1,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2983,"ST87 Ouvea / UTM zone 58S",9001,4635,16158,9807,1,1,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2984,"RGNC 1991 / Lambert New Caledonia",9001,4645,19981,9802,1,1,4499,8821,-21.3,9110,8822,166,9110,8823,-20.4,9110,8824,-22.2,9110,8826,400000,9001,8827,300000,9001,,,,,,,,,, -2985,"Petrels 1972 / Terre Adelie Polar Stereographic",9001,4636,19983,9830,1,0,1025,8826,300000,9001,8827,200000,9001,8832,-67,9102,8833,140,9102,,,,,,,,,,,,,,,, -2986,"Perroud 1950 / Terre Adelie Polar Stereographic",9001,4637,19983,9830,1,0,1025,8826,300000,9001,8827,200000,9001,8832,-67,9102,8833,140,9102,,,,,,,,,,,,,,,, -2987,"Saint Pierre et Miquelon 1950 / UTM zone 21N",9001,4638,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2988,"MOP78 / UTM zone 1S",9001,4639,16101,9807,1,0,4400,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2989,"RRAF 1991 / UTM zone 20N",9001,4640,16020,9807,1,1,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -2990,"Reunion 1947 / TM Reunion",9001,4626,19982,9807,1,1,4499,8801,-21.07,9110,8802,55.32,9110,8805,1,9201,8806,50000,9001,8807,160000,9001,,,,,,,,,,,,, -2991,"NAD83 / Oregon LCC (m)",9001,4269,13633,9802,1,0,4499,8821,41.45,9110,8822,-120.3,9110,8823,43,9110,8824,45.3,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -2992,"NAD83 / Oregon GIC Lambert (ft)",9002,4269,15374,9802,1,0,4495,8821,41.45,9110,8822,-120.3,9110,8823,43,9110,8824,45.3,9110,8826,1312335.958,9002,8827,0,9002,,,,,,,,,, -2993,"NAD83(HARN) / Oregon LCC (m)",9001,4152,13633,9802,1,0,4499,8821,41.45,9110,8822,-120.3,9110,8823,43,9110,8824,45.3,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -2994,"NAD83(HARN) / Oregon GIC Lambert (ft)",9002,4152,15374,9802,1,0,4495,8821,41.45,9110,8822,-120.3,9110,8823,43,9110,8824,45.3,9110,8826,1312335.958,9002,8827,0,9002,,,,,,,,,, -2995,"IGN53 Mare / UTM zone 58S",9001,4641,16158,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2996,"ST84 Ile des Pins / UTM zone 58S",9001,4642,16158,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2997,"ST71 Belep / UTM zone 58S",9001,4643,16158,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2998,"NEA74 Noumea / UTM zone 58S",9001,4644,16158,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -2999,"Grand Comoros / UTM zone 38S",9001,4646,16138,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3000,"Segara / NEIEZ",9001,4613,19905,9804,1,0,4499,8801,0,9102,8802,110,9102,8805,0.997,9201,8806,3900000,9001,8807,900000,9001,,,,,,,,,,,,, -3001,"Batavia / NEIEZ",9001,4211,19905,9804,1,0,4499,8801,0,9102,8802,110,9102,8805,0.997,9201,8806,3900000,9001,8807,900000,9001,,,,,,,,,,,,, -3002,"Makassar / NEIEZ",9001,4257,19905,9804,1,0,4499,8801,0,9102,8802,110,9102,8805,0.997,9201,8806,3900000,9001,8807,900000,9001,,,,,,,,,,,,, -3003,"Monte Mario / Italy zone 1",9001,4265,18121,9807,1,0,4499,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -3004,"Monte Mario / Italy zone 2",9001,4265,18122,9807,1,0,4499,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,2520000,9001,8807,0,9001,,,,,,,,,,,,, -3005,"NAD83 / BC Albers",9001,4269,19984,9822,1,0,4400,8821,45,9102,8822,-126,9102,8823,50,9110,8824,58.3,9110,8826,1000000,9001,8827,0,9001,,,,,,,,,, -3006,SWEREF99 TM,9001,4619,17333,9807,1,0,4500,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3007,SWEREF99 12 00,9001,4619,17321,9807,1,0,4500,8801,0,9102,8802,12,9102,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -3008,SWEREF99 13 30,9001,4619,17322,9807,1,0,4500,8801,0,9110,8802,13.3,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -3009,SWEREF99 15 00,9001,4619,17323,9807,1,0,4500,8801,0,9102,8802,15,9102,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -3010,SWEREF99 16 30,9001,4619,17324,9807,1,0,4500,8801,0,9110,8802,16.3,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -3011,SWEREF99 18 00,9001,4619,17325,9807,1,0,4500,8801,0,9102,8802,18,9102,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -3012,SWEREF99 14 15,9001,4619,17326,9807,1,0,4500,8801,0,9110,8802,14.15,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -3013,SWEREF99 15 45,9001,4619,17327,9807,1,0,4500,8801,0,9110,8802,15.45,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -3014,SWEREF99 17 15,9001,4619,17328,9807,1,0,4500,8801,0,9110,8802,17.15,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -3015,SWEREF99 18 45,9001,4619,17329,9807,1,0,4500,8801,0,9110,8802,18.45,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -3016,SWEREF99 20 15,9001,4619,17330,9807,1,0,4500,8801,0,9110,8802,20.15,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -3017,SWEREF99 21 45,9001,4619,17331,9807,1,0,4500,8801,0,9110,8802,21.45,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -3018,SWEREF99 23 15,9001,4619,17332,9807,1,0,4500,8801,0,9110,8802,23.15,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -3019,RT90 7.5 gon V,9001,4124,17334,9807,1,0,4530,8801,0,9110,8802,11.18298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -3020,RT90 5 gon V,9001,4124,17335,9807,1,0,4530,8801,0,9110,8802,13.33298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -3021,RT90 2.5 gon V,9001,4124,19929,9807,1,0,4530,8801,0,9110,8802,15.48298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -3022,RT90 0 gon,9001,4124,17336,9807,1,0,4530,8801,0,9110,8802,18.03298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -3023,RT90 2.5 gon O,9001,4124,17337,9807,1,0,4530,8801,0,9110,8802,20.18298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -3024,RT90 5 gon O,9001,4124,17338,9807,1,0,4530,8801,0,9110,8802,22.33298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -3025,RT38 7.5 gon V,9001,4308,17334,9807,1,0,4530,8801,0,9110,8802,11.18298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -3026,RT38 5 gon V,9001,4308,17335,9807,1,0,4530,8801,0,9110,8802,13.33298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -3027,RT38 2.5 gon V,9001,4308,19929,9807,1,0,4530,8801,0,9110,8802,15.48298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -3028,RT38 0 gon,9001,4308,17336,9807,1,0,4530,8801,0,9110,8802,18.03298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -3029,RT38 2.5 gon O,9001,4308,17337,9807,1,0,4530,8801,0,9110,8802,20.18298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -3030,RT38 5 gon O,9001,4308,17338,9807,1,0,4530,8801,0,9110,8802,22.33298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -3031,"WGS 84 / Antarctic Polar Stereographic",9001,4326,19992,9829,1,0,4490,8806,0,9001,8807,0,9001,8832,-71,9102,8833,0,9102,,,,,,,,,,,,,,,, -3032,"WGS 84 / Australian Antarctic Polar Stereographic",9001,4326,19993,9829,1,0,4489,8806,6000000,9001,8807,6000000,9001,8832,-71,9102,8833,70,9102,,,,,,,,,,,,,,,, -3033,"WGS 84 / Australian Antarctic Lambert",9001,4326,19994,9802,1,0,4400,8821,-50,9110,8822,70,9110,8823,-68.3,9110,8824,-74.3,9110,8826,6000000,9001,8827,6000000,9001,,,,,,,,,, -3034,"ETRS89 / LCC Europe",9001,4258,19985,9802,1,0,4500,8821,52,9102,8822,10,9102,8823,35,9102,8824,65,9102,8826,4000000,9001,8827,2800000,9001,,,,,,,,,, -3035,"ETRS89 / LAEA Europe",9001,4258,19986,9820,1,0,4532,8801,52,9102,8802,10,9102,8806,4321000,9001,8807,3210000,9001,,,,,,,,,,,,,,,, -3036,"Moznet / UTM zone 36S",9001,4130,16136,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3037,"Moznet / UTM zone 37S",9001,4130,16137,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3038,"ETRS89 / TM26",9001,4258,16026,9807,1,1,4500,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3039,"ETRS89 / TM27",9001,4258,16027,9807,1,1,4500,8801,0,9102,8802,-21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3040,"ETRS89 / UTM zone 28N (N-E)",9001,4258,16028,9807,1,0,4500,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3041,"ETRS89 / UTM zone 29N (N-E)",9001,4258,16029,9807,1,0,4500,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3042,"ETRS89 / UTM zone 30N (N-E)",9001,4258,16030,9807,1,0,4500,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3043,"ETRS89 / UTM zone 31N (N-E)",9001,4258,16031,9807,1,0,4500,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3044,"ETRS89 / UTM zone 32N (N-E)",9001,4258,16032,9807,1,0,4500,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3045,"ETRS89 / UTM zone 33N (N-E)",9001,4258,16033,9807,1,0,4500,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3046,"ETRS89 / UTM zone 34N (N-E)",9001,4258,16034,9807,1,0,4500,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3047,"ETRS89 / UTM zone 35N (N-E)",9001,4258,16035,9807,1,0,4500,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3048,"ETRS89 / UTM zone 36N (N-E)",9001,4258,16036,9807,1,0,4500,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3049,"ETRS89 / UTM zone 37N (N-E)",9001,4258,16037,9807,1,0,4500,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3050,"ETRS89 / TM38",9001,4258,16038,9807,1,1,4500,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3051,"ETRS89 / TM39",9001,4258,16039,9807,1,1,4500,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3052,"Reykjavik 1900 / Lambert 1900",9001,4657,19987,9826,1,0,4491,8801,65,9110,8802,-19.011965,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3053,"Hjorsey 1955 / Lambert 1955",9001,4658,19988,9826,1,0,4491,8801,65,9102,8802,-18,9102,8805,1,9201,8806,500000,9001,8807,500000,9001,,,,,,,,,,,,, -3054,"Hjorsey 1955 / UTM zone 26N",9001,4658,16026,9807,1,0,4400,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3055,"Hjorsey 1955 / UTM zone 27N",9001,4658,16027,9807,1,0,4400,8801,0,9102,8802,-21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3056,"Hjorsey 1955 / UTM zone 28N",9001,4658,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3057,"ISN93 / Lambert 1993",9001,4659,19989,9802,1,0,4499,8821,65,9110,8822,-19,9110,8823,64.15,9110,8824,65.45,9110,8826,500000,9001,8827,500000,9001,,,,,,,,,, -3058,"Helle 1954 / Jan Mayen Grid",9001,4660,19991,9807,1,0,4531,8801,0,9110,8802,-8.3,9110,8805,1,9201,8806,50000,9001,8807,-7800000,9001,,,,,,,,,,,,, -3059,"LKS92 / Latvia TM",9001,4661,19990,9807,1,0,4530,8801,0,9102,8802,24,9102,8805,0.9996,9201,8806,500000,9001,8807,-6000000,9001,,,,,,,,,,,,, -3060,"IGN72 Grande Terre / UTM zone 58S",9001,4662,16158,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3061,"Porto Santo 1995 / UTM zone 28N",9001,4663,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3062,"Azores Oriental 1995 / UTM zone 26N",9001,4664,16026,9807,1,0,4400,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3063,"Azores Central 1995 / UTM zone 26N",9001,4665,16026,9807,1,0,4400,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3064,"IGM95 / UTM zone 32N",9001,4670,16032,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3065,"IGM95 / UTM zone 33N",9001,4670,16033,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3066,"ED50 / Jordan TM",9001,4230,19995,9807,1,0,4400,8801,0,9102,8802,37,9102,8805,0.9998,9201,8806,500000,9001,8807,-3000000,9001,,,,,,,,,,,,, -3067,"ETRS89 / TM35FIN(E,N)",9001,4258,16065,9807,1,0,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3068,"DHDN / Soldner Berlin",9001,4314,19996,9806,1,0,4531,8801,52.25071338,9110,8802,13.37379332,9110,8806,40000,9001,8807,10000,9001,,,,,,,,,,,,,,,, -3069,"NAD27 / Wisconsin Transverse Mercator",9001,4267,14811,9807,1,0,4499,8801,0,9102,8802,-90,9102,8805,0.9996,9201,8806,500000,9001,8807,-4500000,9001,,,,,,,,,,,,, -3070,"NAD83 / Wisconsin Transverse Mercator",9001,4269,14841,9807,1,0,4499,8801,0,9102,8802,-90,9102,8805,0.9996,9201,8806,520000,9001,8807,-4480000,9001,,,,,,,,,,,,, -3071,"NAD83(HARN) / Wisconsin Transverse Mercator",9001,4152,14841,9807,1,0,4499,8801,0,9102,8802,-90,9102,8805,0.9996,9201,8806,520000,9001,8807,-4480000,9001,,,,,,,,,,,,, -3072,"NAD83 / Maine CS2000 East",9001,4269,11851,9807,1,0,4499,8801,43.5,9110,8802,-67.523,9110,8805,0.99998,9201,8806,700000,9001,8807,0,9001,,,,,,,,,,,,, -3073,"NAD83 / Maine CS2000 Central",9001,4269,11852,9807,1,1,4499,8801,43,9110,8802,-69.073,9110,8805,0.99998,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3074,"NAD83 / Maine CS2000 West",9001,4269,11853,9807,1,0,4499,8801,42.5,9110,8802,-70.223,9110,8805,0.99998,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -3075,"NAD83(HARN) / Maine CS2000 East",9001,4152,11851,9807,1,0,4499,8801,43.5,9110,8802,-67.523,9110,8805,0.99998,9201,8806,700000,9001,8807,0,9001,,,,,,,,,,,,, -3076,"NAD83(HARN) / Maine CS2000 Central",9001,4152,11852,9807,1,1,4499,8801,43,9110,8802,-69.073,9110,8805,0.99998,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3077,"NAD83(HARN) / Maine CS2000 West",9001,4152,11853,9807,1,0,4499,8801,42.5,9110,8802,-70.223,9110,8805,0.99998,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -3078,"NAD83 / Michigan Oblique Mercator",9001,4269,12150,9812,1,0,4499,8806,2546731.496,9001,8807,-4354009.816,9001,8811,45.1833,9110,8812,-86,9110,8813,337.25556,9102,8814,337.25556,9102,8815,0.9996,9201,,,,,,, -3079,"NAD83(HARN) / Michigan Oblique Mercator",9001,4152,12150,9812,1,0,4499,8806,2546731.496,9001,8807,-4354009.816,9001,8811,45.1833,9110,8812,-86,9110,8813,337.25556,9102,8814,337.25556,9102,8815,0.9996,9201,,,,,,, -3080,"NAD27 / Shackleford",9002,4267,14252,9802,1,0,4495,8821,31.1,9110,8822,-100,9110,8823,27.25,9110,8824,34.55,9110,8826,3000000,9002,8827,3000000,9002,,,,,,,,,, -3081,"NAD83 / Texas State Mapping System",9001,4269,14251,9802,1,0,4499,8821,31.1,9110,8822,-100,9110,8823,27.25,9110,8824,34.55,9110,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -3082,"NAD83 / Texas Centric Lambert Conformal",9001,4269,14253,9802,1,0,4499,8821,18,9110,8822,-100,9110,8823,27.3,9110,8824,35,9110,8826,1500000,9001,8827,5000000,9001,,,,,,,,,, -3083,"NAD83 / Texas Centric Albers Equal Area",9001,4269,14254,9822,1,0,4499,8821,18,9110,8822,-100,9110,8823,27.3,9110,8824,35,9110,8826,1500000,9001,8827,6000000,9001,,,,,,,,,, -3084,"NAD83(HARN) / Texas Centric Lambert Conformal",9001,4152,14253,9802,1,0,4499,8821,18,9110,8822,-100,9110,8823,27.3,9110,8824,35,9110,8826,1500000,9001,8827,5000000,9001,,,,,,,,,, -3085,"NAD83(HARN) / Texas Centric Albers Equal Area",9001,4152,14254,9822,1,0,4499,8821,18,9110,8822,-100,9110,8823,27.3,9110,8824,35,9110,8826,1500000,9001,8827,6000000,9001,,,,,,,,,, -3086,"NAD83 / Florida GDL Albers",9001,4269,10934,9822,1,0,4499,8821,24,9110,8822,-84,9110,8823,24,9110,8824,31.3,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -3087,"NAD83(HARN) / Florida GDL Albers",9001,4152,10934,9822,1,0,4499,8821,24,9110,8822,-84,9110,8823,24,9110,8824,31.3,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -3088,"NAD83 / Kentucky Single Zone",9001,4269,11630,9802,1,0,4499,8821,36.2,9110,8822,-85.45,9110,8823,37.05,9110,8824,38.4,9110,8826,1500000,9001,8827,1000000,9001,,,,,,,,,, -3089,"NAD83 / Kentucky Single Zone (ftUS)",9003,4269,15375,9802,1,0,4497,8821,36.2,9110,8822,-85.45,9110,8823,37.05,9110,8824,38.4,9110,8826,4921250,9003,8827,3280833.333,9003,,,,,,,,,, -3090,"NAD83(HARN) / Kentucky Single Zone",9001,4152,11630,9802,1,0,4499,8821,36.2,9110,8822,-85.45,9110,8823,37.05,9110,8824,38.4,9110,8826,1500000,9001,8827,1000000,9001,,,,,,,,,, -3091,"NAD83(HARN) / Kentucky Single Zone (ftUS)",9003,4152,15375,9802,1,0,4497,8821,36.2,9110,8822,-85.45,9110,8823,37.05,9110,8824,38.4,9110,8826,4921250,9003,8827,3280833.333,9003,,,,,,,,,, -3092,"Tokyo / UTM zone 51N",9001,4301,16051,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3093,"Tokyo / UTM zone 52N",9001,4301,16052,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3094,"Tokyo / UTM zone 53N",9001,4301,16053,9807,1,0,4400,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3095,"Tokyo / UTM zone 54N",9001,4301,16054,9807,1,0,4400,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3096,"Tokyo / UTM zone 55N",9001,4301,16055,9807,1,0,4400,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3097,"JGD2000 / UTM zone 51N",9001,4612,16051,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3098,"JGD2000 / UTM zone 52N",9001,4612,16052,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3099,"JGD2000 / UTM zone 53N",9001,4612,16053,9807,1,0,4400,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3100,"JGD2000 / UTM zone 54N",9001,4612,16054,9807,1,0,4400,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3101,"JGD2000 / UTM zone 55N",9001,4612,16055,9807,1,0,4400,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3102,"American Samoa 1962 / American Samoa Lambert",9003,4169,15376,9801,1,0,4497,8801,-14.16,9110,8802,-170,9110,8805,1,9201,8806,500000,9003,8807,312234.65,9003,,,,,,,,,,,,, -3103,"Mauritania 1999 / UTM zone 28N",9001,4681,16028,9807,1,1,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3104,"Mauritania 1999 / UTM zone 29N",9001,4681,16029,9807,1,1,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3105,"Mauritania 1999 / UTM zone 30N",9001,4681,16030,9807,1,1,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3106,"Gulshan 303 / Bangladesh Transverse Mercator",9001,4682,16490,9807,1,0,4400,8801,0,9102,8802,90,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3107,"GDA94 / SA Lambert",9001,4283,17359,9802,1,0,4400,8821,-32,9102,8822,135,9102,8823,-28,9102,8824,-36,9102,8826,1000000,9001,8827,2000000,9001,,,,,,,,,, -3108,"ETRS89 / Guernsey Grid",9001,4258,19998,9807,1,0,4400,8801,49.3,9110,8802,-2.25,9110,8805,0.999997,9201,8806,47000,9001,8807,50000,9001,,,,,,,,,,,,, -3109,"ETRS89 / Jersey Transverse Mercator",9001,4258,19999,9807,1,0,4400,8801,49.225,9102,8802,-2.135,9102,8805,0.9999999,9201,8806,40000,9001,8807,70000,9001,,,,,,,,,,,,, -3110,"AGD66 / Vicgrid66",9001,4202,17360,9802,1,0,4400,8821,-37,9102,8822,145,9102,8823,-36,9102,8824,-38,9102,8826,2500000,9001,8827,4500000,9001,,,,,,,,,, -3111,"GDA94 / Vicgrid",9001,4283,17361,9802,1,0,4400,8821,-37,9102,8822,145,9102,8823,-36,9102,8824,-38,9102,8826,2500000,9001,8827,2500000,9001,,,,,,,,,, -3112,"GDA94 / Geoscience Australia Lambert",9001,4283,17362,9802,1,0,4400,8821,0,9102,8822,134,9102,8823,-18,9102,8824,-36,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -3113,"GDA94 / BCSG02",9001,4283,17363,9807,1,0,4400,8801,-28,9102,8802,153,9102,8805,0.99999,9201,8806,50000,9001,8807,100000,9001,,,,,,,,,,,,, -3114,"MAGNA-SIRGAS / Colombia Far West zone",9001,4686,18055,9807,1,0,4500,8801,4.35463215,9110,8802,-80.04390285,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -3115,"MAGNA-SIRGAS / Colombia West zone",9001,4686,18056,9807,1,0,4500,8801,4.35463215,9110,8802,-77.04390285,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -3116,"MAGNA-SIRGAS / Colombia Bogota zone",9001,4686,18057,9807,1,0,4500,8801,4.35463215,9110,8802,-74.04390285,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -3117,"MAGNA-SIRGAS / Colombia East Central zone",9001,4686,18058,9807,1,0,4500,8801,4.35463215,9110,8802,-71.04390285,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -3118,"MAGNA-SIRGAS / Colombia East zone",9001,4686,18059,9807,1,0,4500,8801,4.35463215,9110,8802,-68.04390285,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -3119,"Douala 1948 / AEF west",9001,4192,18415,9807,1,0,4400,8801,0,9110,8802,10.3,9110,8805,0.999,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -3120,"Pulkovo 1942(58) / Poland zone I",9001,4179,18280,9809,1,0,4530,8801,50.373,9110,8802,21.05,9110,8805,0.9998,9201,8806,4637000,9001,8807,5467000,9001,,,,,,,,,,,,, -3121,"PRS92 / Philippines zone 1",9001,4683,18171,9807,1,0,4499,8801,0,9102,8802,117,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3122,"PRS92 / Philippines zone 2",9001,4683,18172,9807,1,0,4499,8801,0,9102,8802,119,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3123,"PRS92 / Philippines zone 3",9001,4683,18173,9807,1,0,4499,8801,0,9102,8802,121,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3124,"PRS92 / Philippines zone 4",9001,4683,18174,9807,1,0,4499,8801,0,9102,8802,123,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3125,"PRS92 / Philippines zone 5",9001,4683,18175,9807,1,0,4499,8801,0,9102,8802,125,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3126,"ETRS89 / ETRS-GK19FIN",9001,4258,18183,9807,1,0,4500,8801,0,9102,8802,19,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3127,"ETRS89 / ETRS-GK20FIN",9001,4258,18184,9807,1,0,4500,8801,0,9102,8802,20,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3128,"ETRS89 / ETRS-GK21FIN",9001,4258,18185,9807,1,0,4500,8801,0,9102,8802,21,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3129,"ETRS89 / ETRS-GK22FIN",9001,4258,18186,9807,1,0,4500,8801,0,9102,8802,22,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3130,"ETRS89 / ETRS-GK23FIN",9001,4258,18187,9807,1,0,4500,8801,0,9102,8802,23,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3131,"ETRS89 / ETRS-GK24FIN",9001,4258,18188,9807,1,0,4500,8801,0,9102,8802,24,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3132,"ETRS89 / ETRS-GK25FIN",9001,4258,18189,9807,1,0,4500,8801,0,9102,8802,25,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3133,"ETRS89 / ETRS-GK26FIN",9001,4258,18190,9807,1,0,4500,8801,0,9102,8802,26,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3134,"ETRS89 / ETRS-GK27FIN",9001,4258,18195,9807,1,0,4500,8801,0,9102,8802,27,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3135,"ETRS89 / ETRS-GK28FIN",9001,4258,18196,9807,1,0,4500,8801,0,9102,8802,28,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3136,"ETRS89 / ETRS-GK29FIN",9001,4258,18197,9807,1,0,4500,8801,0,9102,8802,29,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3137,"ETRS89 / ETRS-GK30FIN",9001,4258,18198,9807,1,0,4500,8801,0,9102,8802,30,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3138,"ETRS89 / ETRS-GK31FIN",9001,4258,18199,9807,1,0,4500,8801,0,9102,8802,31,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3139,"Vanua Levu 1915 / Vanua Levu Grid",9098,4748,19878,9833,1,0,4533,8801,-16.15,9110,8802,179.2,9110,8806,1251331.8,9098,8807,1662888.5,9098,,,,,,,,,,,,,,,, -3140,"Viti Levu 1912 / Viti Levu Grid",9098,4752,19879,9806,1,0,4533,8801,-18,9102,8802,178,9102,8806,544000,9098,8807,704000,9098,,,,,,,,,,,,,,,, -3141,"Fiji 1956 / UTM zone 60S",9001,4721,16160,9807,1,0,4400,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3142,"Fiji 1956 / UTM zone 1S",9001,4721,16101,9807,1,0,4400,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3143,"Fiji 1986 / Fiji Map Grid",9001,4720,19880,9807,1,1,4400,8801,-17,9110,8802,178.45,9110,8805,0.99985,9001,8806,2000000,9001,8807,4000000,9001,,,,,,,,,,,,, -3144,"FD54 / Faroe Lambert",9001,4741,19870,9826,1,0,1031,8801,62,9102,8802,-9,9102,8805,1,9201,8806,500000,9001,8807,500000,9001,,,,,,,,,,,,, -3145,"ETRS89 / Faroe Lambert",9001,4258,19870,9826,1,0,1031,8801,62,9102,8802,-9,9102,8805,1,9201,8806,500000,9001,8807,500000,9001,,,,,,,,,,,,, -3146,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 6",9001,4284,16266,9807,1,1,4530,8801,0,9102,8802,18,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -3147,"Pulkovo 1942 / 3-degree Gauss-Kruger CM 18E",9001,4284,16366,9807,1,1,4530,8801,0,9102,8802,18,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3148,"Indian 1960 / UTM zone 48N",9001,4131,16048,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3149,"Indian 1960 / UTM zone 49N",9001,4131,16049,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3150,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 6",9001,4200,16266,9807,1,1,4530,8801,0,9102,8802,18,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -3151,"Pulkovo 1995 / 3-degree Gauss-Kruger CM 18E",9001,4200,16366,9807,1,1,4530,8801,0,9102,8802,18,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3152,ST74,9001,4619,19876,9807,1,0,4531,8801,0,9110,8802,18.0328044,9110,8805,0.99999425,9201,8806,100178.1808,9001,8807,-6500614.7836,9001,,,,,,,,,,,,, -3153,"NAD83(CSRS) / BC Albers",9001,4617,19984,9822,1,0,4400,8821,45,9102,8822,-126,9102,8823,50,9110,8824,58.3,9110,8826,1000000,9001,8827,0,9001,,,,,,,,,, -3154,"NAD83(CSRS) / UTM zone 7N",9001,4617,16007,9807,1,0,4400,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3155,"NAD83(CSRS) / UTM zone 8N",9001,4617,16008,9807,1,0,4400,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3156,"NAD83(CSRS) / UTM zone 9N",9001,4617,16009,9807,1,0,4400,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3157,"NAD83(CSRS) / UTM zone 10N",9001,4617,16010,9807,1,0,4400,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3158,"NAD83(CSRS) / UTM zone 14N",9001,4617,16014,9807,1,0,4400,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3159,"NAD83(CSRS) / UTM zone 15N",9001,4617,16015,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3160,"NAD83(CSRS) / UTM zone 16N",9001,4617,16016,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3161,"NAD83 / Ontario MNR Lambert",9001,4269,19875,9802,1,0,4400,8821,0,9102,8822,-85,9102,8823,44.5,9102,8824,53.5,9102,8826,930000,9001,8827,6430000,9001,,,,,,,,,, -3162,"NAD83(CSRS) / Ontario MNR Lambert",9001,4617,19875,9802,1,0,4400,8821,0,9102,8822,-85,9102,8823,44.5,9102,8824,53.5,9102,8826,930000,9001,8827,6430000,9001,,,,,,,,,, -3163,"RGNC91-93 / Lambert New Caledonia",9001,4749,19981,9802,1,0,4499,8821,-21.3,9110,8822,166,9110,8823,-20.4,9110,8824,-22.2,9110,8826,400000,9001,8827,300000,9001,,,,,,,,,, -3164,"ST87 Ouvea / UTM zone 58S",9001,4750,16158,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3165,"NEA74 Noumea / Noumea Lambert",9001,4644,19873,9802,1,0,4499,8821,-22.16108903,9110,8822,166.26327327,9110,8823,-22.14408903,9110,8824,-22.17408903,9110,8826,0.66,9001,8827,1.02,9001,,,,,,,,,, -3166,"NEA74 Noumea / Noumea Lambert 2",9001,4644,19874,9802,1,0,4499,8821,-22.1611,9110,8822,166.2633,9110,8823,-22.1441,9110,8824,-22.1741,9110,8826,8.313,9001,8827,-2.354,9001,,,,,,,,,, -3167,"Kertau (RSO) / RSO Malaya (ch)",9301,4751,19871,9812,1,0,4410,8806,40000,9301,8807,0,9301,8811,4,9110,8812,102.15,9110,8813,323.01328458,9110,8814,323.07483685,9110,8815,0.99984,9201,,,,,,, -3168,"Kertau (RSO) / RSO Malaya (m)",9001,4751,19872,9812,1,0,4400,8806,804670.24,9001,8807,0,9001,8811,4,9110,8812,102.15,9110,8813,323.01328458,9110,8814,323.07483685,9110,8815,0.99984,9201,,,,,,, -3169,"RGNC91-93 / UTM zone 57S",9001,4749,16157,9807,1,0,4400,8801,0,9102,8802,159,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3170,"RGNC91-93 / UTM zone 58S",9001,4749,16158,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3171,"RGNC91-93 / UTM zone 59S",9001,4749,16159,9807,1,0,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3172,"IGN53 Mare / UTM zone 59S",9001,4641,16159,9807,1,0,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3173,"fk89 / Faroe Lambert FK89",9001,4753,19877,9826,1,0,1031,8801,62,9102,8802,-9,9102,8805,1,9201,8806,700000,9001,8807,700000,9001,,,,,,,,,,,,, -3174,"NAD83 / Great Lakes Albers",9001,4269,15397,9822,1,0,4499,8821,45.568977,9102,8822,-84.455955,9102,8823,42.122774,9102,8824,49.01518,9102,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -3175,"NAD83 / Great Lakes and St Lawrence Albers",9001,4269,15398,9822,1,0,4499,8821,45.568977,9102,8822,-83.248627,9102,8823,42.122774,9102,8824,49.01518,9102,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -3176,"Indian 1960 / TM 106 NE",9001,4131,16506,9807,1,0,4400,8801,0,9102,8802,106,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3177,"LGD2006 / Libya TM",9001,4754,18319,9807,1,0,4499,8801,0,9102,8802,17,9102,8805,0.9965,9201,8806,1000000,9001,8807,0,9001,,,,,,,,,,,,, -3178,"GR96 / UTM zone 18N",9001,4747,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3179,"GR96 / UTM zone 19N",9001,4747,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3180,"GR96 / UTM zone 20N",9001,4747,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3181,"GR96 / UTM zone 21N",9001,4747,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3182,"GR96 / UTM zone 22N",9001,4747,16022,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3183,"GR96 / UTM zone 23N",9001,4747,16023,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3184,"GR96 / UTM zone 24N",9001,4747,16024,9807,1,0,4400,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3185,"GR96 / UTM zone 25N",9001,4747,16025,9807,1,0,4400,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3186,"GR96 / UTM zone 26N",9001,4747,16026,9807,1,0,4400,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3187,"GR96 / UTM zone 27N",9001,4747,16027,9807,1,0,4400,8801,0,9102,8802,-21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3188,"GR96 / UTM zone 28N",9001,4747,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3189,"GR96 / UTM zone 29N",9001,4747,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3190,"LGD2006 / Libya TM zone 5",9001,4754,18310,9807,1,0,4499,8801,0,9102,8802,9,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -3191,"LGD2006 / Libya TM zone 6",9001,4754,18311,9807,1,0,4499,8801,0,9102,8802,11,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -3192,"LGD2006 / Libya TM zone 7",9001,4754,18312,9807,1,0,4499,8801,0,9102,8802,13,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -3193,"LGD2006 / Libya TM zone 8",9001,4754,18313,9807,1,0,4499,8801,0,9102,8802,15,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -3194,"LGD2006 / Libya TM zone 9",9001,4754,18314,9807,1,0,4499,8801,0,9102,8802,17,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -3195,"LGD2006 / Libya TM zone 10",9001,4754,18315,9807,1,0,4499,8801,0,9102,8802,19,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -3196,"LGD2006 / Libya TM zone 11",9001,4754,18316,9807,1,0,4499,8801,0,9102,8802,21,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -3197,"LGD2006 / Libya TM zone 12",9001,4754,18317,9807,1,0,4499,8801,0,9102,8802,23,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -3198,"LGD2006 / Libya TM zone 13",9001,4754,18318,9807,1,0,4499,8801,0,9102,8802,25,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -3199,"LGD2006 / UTM zone 32N",9001,4754,16032,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3200,"FD58 / Iraq zone",9001,4132,19906,9801,1,0,4400,8801,32.3,9110,8802,45,9110,8805,0.9987864078,9201,8806,1500000,9001,8807,1166200,9001,,,,,,,,,,,,, -3201,"LGD2006 / UTM zone 33N",9001,4754,16033,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3202,"LGD2006 / UTM zone 34N",9001,4754,16034,9807,1,0,4400,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3203,"LGD2006 / UTM zone 35N",9001,4754,16035,9807,1,0,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3204,"WGS 84 / SCAR IMW SP19-20",9001,4326,17204,9802,1,0,4400,8821,-90,9102,8822,-66,9102,8823,-60.4,9110,8824,-63.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3205,"WGS 84 / SCAR IMW SP21-22",9001,4326,17205,9802,1,0,4400,8821,-90,9102,8822,-54,9102,8823,-60.4,9110,8824,-63.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3206,"WGS 84 / SCAR IMW SP23-24",9001,4326,17206,9802,1,0,4400,8821,-90,9102,8822,-42,9102,8823,-60.4,9110,8824,-63.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3207,"WGS 84 / SCAR IMW SQ01-02",9001,4326,17207,9802,1,0,4400,8821,-90,9102,8822,-174,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3208,"WGS 84 / SCAR IMW SQ19-20",9001,4326,17208,9802,1,0,4400,8821,-90,9102,8822,-66,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3209,"WGS 84 / SCAR IMW SQ21-22",9001,4326,17209,9802,1,0,4400,8821,-90,9102,8822,-54,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3210,"WGS 84 / SCAR IMW SQ37-38",9001,4326,17210,9802,1,0,4400,8821,-90,9102,8822,42,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3211,"WGS 84 / SCAR IMW SQ39-40",9001,4326,17211,9802,1,0,4400,8821,-90,9102,8822,54,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3212,"WGS 84 / SCAR IMW SQ41-42",9001,4326,17212,9802,1,0,4400,8821,-90,9102,8822,66,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3213,"WGS 84 / SCAR IMW SQ43-44",9001,4326,17213,9802,1,0,4400,8821,-90,9102,8822,78,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3214,"WGS 84 / SCAR IMW SQ45-46",9001,4326,17214,9802,1,0,4400,8821,-90,9102,8822,90,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3215,"WGS 84 / SCAR IMW SQ47-48",9001,4326,17215,9802,1,0,4400,8821,-90,9102,8822,102,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3216,"WGS 84 / SCAR IMW SQ49-50",9001,4326,17216,9802,1,0,4400,8821,-90,9102,8822,114,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3217,"WGS 84 / SCAR IMW SQ51-52",9001,4326,17217,9802,1,0,4400,8821,-90,9102,8822,126,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3218,"WGS 84 / SCAR IMW SQ53-54",9001,4326,17218,9802,1,0,4400,8821,-90,9102,8822,138,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3219,"WGS 84 / SCAR IMW SQ55-56",9001,4326,17219,9802,1,0,4400,8821,-90,9102,8822,150,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3220,"WGS 84 / SCAR IMW SQ57-58",9001,4326,17220,9802,1,0,4400,8821,-90,9102,8822,162,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3221,"WGS 84 / SCAR IMW SR13-14",9001,4326,17221,9802,1,0,4400,8821,-90,9102,8822,-102,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3222,"WGS 84 / SCAR IMW SR15-16",9001,4326,17222,9802,1,0,4400,8821,-90,9102,8822,-90,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3223,"WGS 84 / SCAR IMW SR17-18",9001,4326,17223,9802,1,0,4400,8821,-90,9102,8822,-78,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3224,"WGS 84 / SCAR IMW SR19-20",9001,4326,17224,9802,1,0,4400,8821,-90,9102,8822,-66,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3225,"WGS 84 / SCAR IMW SR27-28",9001,4326,17225,9802,1,0,4400,8821,-90,9102,8822,-18,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3226,"WGS 84 / SCAR IMW SR29-30",9001,4326,17226,9802,1,0,4400,8821,-90,9102,8822,-6,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3227,"WGS 84 / SCAR IMW SR31-32",9001,4326,17227,9802,1,0,4400,8821,-90,9102,8822,6,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3228,"WGS 84 / SCAR IMW SR33-34",9001,4326,17228,9802,1,0,4400,8821,-90,9102,8822,18,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3229,"WGS 84 / SCAR IMW SR35-36",9001,4326,17229,9802,1,0,4400,8821,-90,9102,8822,30,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3230,"WGS 84 / SCAR IMW SR37-38",9001,4326,17230,9802,1,0,4400,8821,-90,9102,8822,42,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3231,"WGS 84 / SCAR IMW SR39-40",9001,4326,17231,9802,1,0,4400,8821,-90,9102,8822,54,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3232,"WGS 84 / SCAR IMW SR41-42",9001,4326,17232,9802,1,0,4400,8821,-90,9102,8822,66,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3233,"WGS 84 / SCAR IMW SR43-44",9001,4326,17233,9802,1,0,4400,8821,-90,9102,8822,78,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3234,"WGS 84 / SCAR IMW SR45-46",9001,4326,17234,9802,1,0,4400,8821,-90,9102,8822,90,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3235,"WGS 84 / SCAR IMW SR47-48",9001,4326,17235,9802,1,0,4400,8821,-90,9102,8822,102,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3236,"WGS 84 / SCAR IMW SR49-50",9001,4326,17236,9802,1,0,4400,8821,-90,9102,8822,114,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3237,"WGS 84 / SCAR IMW SR51-52",9001,4326,17237,9802,1,0,4400,8821,-90,9102,8822,126,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3238,"WGS 84 / SCAR IMW SR53-54",9001,4326,17238,9802,1,0,4400,8821,-90,9102,8822,138,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3239,"WGS 84 / SCAR IMW SR55-56",9001,4326,17239,9802,1,0,4400,8821,-90,9102,8822,150,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3240,"WGS 84 / SCAR IMW SR57-58",9001,4326,17240,9802,1,0,4400,8821,-90,9102,8822,162,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3241,"WGS 84 / SCAR IMW SR59-60",9001,4326,17241,9802,1,0,4400,8821,-90,9102,8822,174,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3242,"WGS 84 / SCAR IMW SS04-06",9001,4326,17242,9802,1,0,4400,8821,-90,9102,8822,-153,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3243,"WGS 84 / SCAR IMW SS07-09",9001,4326,17243,9802,1,0,4400,8821,-90,9102,8822,-135,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3244,"WGS 84 / SCAR IMW SS10-12",9001,4326,17244,9802,1,0,4400,8821,-90,9102,8822,-117,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3245,"WGS 84 / SCAR IMW SS13-15",9001,4326,17245,9802,1,0,4400,8821,-90,9102,8822,-99,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3246,"WGS 84 / SCAR IMW SS16-18",9001,4326,17246,9802,1,0,4400,8821,-90,9102,8822,-81,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3247,"WGS 84 / SCAR IMW SS19-21",9001,4326,17247,9802,1,0,4400,8821,-90,9102,8822,-63,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3248,"WGS 84 / SCAR IMW SS25-27",9001,4326,17248,9802,1,0,4400,8821,-90,9102,8822,-27,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3249,"WGS 84 / SCAR IMW SS28-30",9001,4326,17249,9802,1,0,4400,8821,-90,9102,8822,-9,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3250,"WGS 84 / SCAR IMW SS31-33",9001,4326,17250,9802,1,0,4400,8821,-90,9102,8822,9,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3251,"WGS 84 / SCAR IMW SS34-36",9001,4326,17251,9802,1,0,4400,8821,-90,9102,8822,27,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3252,"WGS 84 / SCAR IMW SS37-39",9001,4326,17252,9802,1,0,4400,8821,-90,9102,8822,45,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3253,"WGS 84 / SCAR IMW SS40-42",9001,4326,17253,9802,1,0,4400,8821,-90,9102,8822,63,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3254,"WGS 84 / SCAR IMW SS43-45",9001,4326,17254,9802,1,0,4400,8821,-90,9102,8822,81,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3255,"WGS 84 / SCAR IMW SS46-48",9001,4326,17255,9802,1,0,4400,8821,-90,9102,8822,99,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3256,"WGS 84 / SCAR IMW SS49-51",9001,4326,17256,9802,1,0,4400,8821,-90,9102,8822,117,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3257,"WGS 84 / SCAR IMW SS52-54",9001,4326,17257,9802,1,0,4400,8821,-90,9102,8822,135,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3258,"WGS 84 / SCAR IMW SS55-57",9001,4326,17258,9802,1,0,4400,8821,-90,9102,8822,153,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3259,"WGS 84 / SCAR IMW SS58-60",9001,4326,17259,9802,1,0,4400,8821,-90,9102,8822,171,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3260,"WGS 84 / SCAR IMW ST01-04",9001,4326,17260,9802,1,0,4400,8821,-90,9102,8822,-168,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3261,"WGS 84 / SCAR IMW ST05-08",9001,4326,17261,9802,1,0,4400,8821,-90,9102,8822,-144,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3262,"WGS 84 / SCAR IMW ST09-12",9001,4326,17262,9802,1,0,4400,8821,-90,9102,8822,-120,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3263,"WGS 84 / SCAR IMW ST13-16",9001,4326,17263,9802,1,0,4400,8821,-90,9102,8822,-96,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3264,"WGS 84 / SCAR IMW ST17-20",9001,4326,17264,9802,1,0,4400,8821,-90,9102,8822,-72,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3265,"WGS 84 / SCAR IMW ST21-24",9001,4326,17265,9802,1,0,4400,8821,-90,9102,8822,-48,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3266,"WGS 84 / SCAR IMW ST25-28",9001,4326,17266,9802,1,0,4400,8821,-90,9102,8822,-24,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3267,"WGS 84 / SCAR IMW ST29-32",9001,4326,17267,9802,1,0,4400,8821,-90,9102,8822,0,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3268,"WGS 84 / SCAR IMW ST33-36",9001,4326,17268,9802,1,0,4400,8821,-90,9102,8822,24,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3269,"WGS 84 / SCAR IMW ST37-40",9001,4326,17269,9802,1,0,4400,8821,-90,9102,8822,48,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3270,"WGS 84 / SCAR IMW ST41-44",9001,4326,17270,9802,1,0,4400,8821,-90,9102,8822,72,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3271,"WGS 84 / SCAR IMW ST45-48",9001,4326,17271,9802,1,0,4400,8821,-90,9102,8822,96,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3272,"WGS 84 / SCAR IMW ST49-52",9001,4326,17272,9802,1,0,4400,8821,-90,9102,8822,120,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3273,"WGS 84 / SCAR IMW ST53-56",9001,4326,17273,9802,1,0,4400,8821,-90,9102,8822,144,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3274,"WGS 84 / SCAR IMW ST57-60",9001,4326,17274,9802,1,0,4400,8821,-90,9102,8822,168,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3275,"WGS 84 / SCAR IMW SU01-05",9001,4326,17275,9829,1,0,4471,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-165,9102,,,,,,,,,,,,,,,, -3276,"WGS 84 / SCAR IMW SU06-10",9001,4326,17276,9829,1,0,4473,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-135,9102,,,,,,,,,,,,,,,, -3277,"WGS 84 / SCAR IMW SU11-15",9001,4326,17277,9829,1,0,4474,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-105,9102,,,,,,,,,,,,,,,, -3278,"WGS 84 / SCAR IMW SU16-20",9001,4326,17278,9829,1,0,4476,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-75,9102,,,,,,,,,,,,,,,, -3279,"WGS 84 / SCAR IMW SU21-25",9001,4326,17279,9829,1,0,4477,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-45,9102,,,,,,,,,,,,,,,, -3280,"WGS 84 / SCAR IMW SU26-30",9001,4326,17280,9829,1,0,4479,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-15,9102,,,,,,,,,,,,,,,, -3281,"WGS 84 / SCAR IMW SU31-35",9001,4326,17281,9829,1,0,4480,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,15,9102,,,,,,,,,,,,,,,, -3282,"WGS 84 / SCAR IMW SU36-40",9001,4326,17282,9829,1,0,4482,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,45,9102,,,,,,,,,,,,,,,, -3283,"WGS 84 / SCAR IMW SU41-45",9001,4326,17283,9829,1,0,4483,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,75,9102,,,,,,,,,,,,,,,, -3284,"WGS 84 / SCAR IMW SU46-50",9001,4326,17284,9829,1,0,4485,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,105,9102,,,,,,,,,,,,,,,, -3285,"WGS 84 / SCAR IMW SU51-55",9001,4326,17285,9829,1,0,4486,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,135,9102,,,,,,,,,,,,,,,, -3286,"WGS 84 / SCAR IMW SU56-60",9001,4326,17286,9829,1,0,4488,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,165,9102,,,,,,,,,,,,,,,, -3287,"WGS 84 / SCAR IMW SV01-10",9001,4326,17287,9829,1,0,4472,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-150,9102,,,,,,,,,,,,,,,, -3288,"WGS 84 / SCAR IMW SV11-20",9001,4326,17288,9829,1,0,4475,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-90,9102,,,,,,,,,,,,,,,, -3289,"WGS 84 / SCAR IMW SV21-30",9001,4326,17289,9829,1,0,4478,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-30,9102,,,,,,,,,,,,,,,, -3290,"WGS 84 / SCAR IMW SV31-40",9001,4326,17290,9829,1,0,4481,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,30,9102,,,,,,,,,,,,,,,, -3291,"WGS 84 / SCAR IMW SV41-50",9001,4326,17291,9829,1,0,4484,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,90,9102,,,,,,,,,,,,,,,, -3292,"WGS 84 / SCAR IMW SV51-60",9001,4326,17292,9829,1,0,4487,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,150,9102,,,,,,,,,,,,,,,, -3293,"WGS 84 / SCAR IMW SW01-60",9001,4326,17293,9829,1,0,4490,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,0,9102,,,,,,,,,,,,,,,, -3294,"WGS 84 / USGS Transantarctic Mountains",9001,4326,17294,9802,1,0,4400,8821,-78,9102,8822,162,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3295,"Guam 1963 / Yap Islands",9001,4675,15399,9832,1,0,4499,8801,9.324815,9110,8802,138.100748,9110,8806,40000,9001,8807,60000,9001,,,,,,,,,,,,,,,, -3296,"RGPF / UTM zone 5S",9001,4687,16105,9807,1,0,4400,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3297,"RGPF / UTM zone 6S",9001,4687,16106,9807,1,0,4400,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3298,"RGPF / UTM zone 7S",9001,4687,16107,9807,1,0,4400,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3299,"RGPF / UTM zone 8S",9001,4687,16108,9807,1,0,4400,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3300,Estonian Coordinate System of 1992,9001,4133,19938,9802,1,0,4530,8821,57.310319415,9110,8822,24,9110,8823,59.2,9110,8824,58,9110,8826,500000,9001,8827,6375000,9001,,,,,,,,,, -3301,Estonian Coordinate System of 1997,9001,4180,19938,9802,1,0,4530,8821,57.310319415,9110,8822,24,9110,8823,59.2,9110,8824,58,9110,8826,500000,9001,8827,6375000,9001,,,,,,,,,, -3302,"IGN63 Hiva Oa / UTM zone 7S",9001,4689,16107,9807,1,0,4400,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3303,"Fatu Iva 72 / UTM zone 7S",9001,4688,16107,9807,1,0,4400,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3304,"Tahiti 79 / UTM zone 6S",9001,4690,16106,9807,1,0,4400,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3305,"Moorea 87 / UTM zone 6S",9001,4691,16106,9807,1,0,4400,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3306,"Maupiti 83 / UTM zone 5S",9001,4692,16105,9807,1,0,4400,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3307,"Nakhl-e Ghanem / UTM zone 39N",9001,4693,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3308,"GDA94 / NSW Lambert",9001,4283,17364,9802,1,0,4400,8821,-33.25,9102,8822,147,9102,8823,-30.75,9102,8824,-35.75,9102,8826,9300000,9001,8827,4500000,9001,,,,,,,,,, -3309,"NAD27 / California Albers",9001,4267,10420,9822,1,0,4499,8821,0,9102,8822,-120,9102,8823,34,9102,8824,40.5,9102,8826,0,9001,8827,-4000000,9001,,,,,,,,,, -3310,"NAD83 / California Albers",9001,4269,10420,9822,1,0,4499,8821,0,9102,8822,-120,9102,8823,34,9102,8824,40.5,9102,8826,0,9001,8827,-4000000,9001,,,,,,,,,, -3311,"NAD83(HARN) / California Albers",9001,4152,10420,9822,1,0,4499,8821,0,9102,8822,-120,9102,8823,34,9102,8824,40.5,9102,8826,0,9001,8827,-4000000,9001,,,,,,,,,, -3312,"CSG67 / UTM zone 21N",9001,4623,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3313,"RGFG95 / UTM zone 21N",9001,4624,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3314,"Katanga 1955 / Katanga Lambert",9001,4695,17401,9802,1,1,4400,8821,0,9102,8822,26,9102,8823,-6.5,9102,8824,-11.5,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -3315,"Katanga 1955 / Katanga TM",9001,4695,17402,9807,1,1,4400,8801,-9,9102,8802,26,9102,8805,0.9998,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3316,"Kasai 1953 / Congo TM zone 22",9001,4696,17422,9807,1,0,4400,8801,0,9102,8802,22,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3317,"Kasai 1953 / Congo TM zone 24",9001,4696,17424,9807,1,0,4400,8801,0,9102,8802,24,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3318,"IGC 1962 / Congo TM zone 12",9001,4697,17412,9807,1,0,4400,8801,0,9102,8802,12,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3319,"IGC 1962 / Congo TM zone 14",9001,4697,17414,9807,1,0,4400,8801,0,9102,8802,14,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3320,"IGC 1962 / Congo TM zone 16",9001,4697,17416,9807,1,0,4400,8801,0,9102,8802,16,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3321,"IGC 1962 / Congo TM zone 18",9001,4697,17418,9807,1,0,4400,8801,0,9102,8802,18,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3322,"IGC 1962 / Congo TM zone 20",9001,4697,17420,9807,1,0,4400,8801,0,9102,8802,20,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3323,"IGC 1962 / Congo TM zone 22",9001,4697,17422,9807,1,0,4400,8801,0,9102,8802,22,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3324,"IGC 1962 / Congo TM zone 24",9001,4697,17424,9807,1,0,4400,8801,0,9102,8802,24,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3325,"IGC 1962 / Congo TM zone 26",9001,4697,17426,9807,1,0,4400,8801,0,9102,8802,26,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3326,"IGC 1962 / Congo TM zone 28",9001,4697,17428,9807,1,0,4400,8801,0,9102,8802,28,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3327,"IGC 1962 / Congo TM zone 30",9001,4697,17430,9807,1,0,4400,8801,0,9102,8802,30,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3328,"Pulkovo 1942(58) / GUGiK-80",9001,4179,18286,9809,1,0,4530,8801,52.1,9110,8802,19.1,9110,8805,0.999714,9201,8806,500000,9001,8807,500000,9001,,,,,,,,,,,,, -3329,"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 5",9001,4179,16265,9807,1,0,4530,8801,0,9102,8802,15,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -3330,"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 6",9001,4179,16266,9807,1,0,4530,8801,0,9102,8802,18,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -3331,"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 7",9001,4179,16267,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -3332,"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 8",9001,4179,16268,9807,1,0,4530,8801,0,9102,8802,24,9102,8805,1,9201,8806,8500000,9001,8807,0,9001,,,,,,,,,,,,, -3333,"Pulkovo 1942(58) / Gauss-Kruger zone 3",9001,4179,16203,9807,1,0,4530,8801,0,9102,8802,15,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -3334,"Pulkovo 1942(58) / Gauss-Kruger zone 4",9001,4179,16204,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -3335,"Pulkovo 1942(58) / Gauss-Kruger zone 5",9001,4179,16205,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -3336,"IGN 1962 Kerguelen / UTM zone 42S",9001,4698,16142,9807,1,0,4400,8801,0,9102,8802,69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3337,"Le Pouce 1934 / Mauritius Grid",9001,4699,19899,9801,1,0,4400,8801,-20.114225,9110,8802,57.311858,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -3338,"NAD83 / Alaska Albers",9001,4269,15021,9822,1,0,4499,8821,50,9102,8822,-154,9102,8823,55,9102,8824,65,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -3339,"IGCB 1955 / Congo TM zone 12",9001,4701,17412,9807,1,0,4400,8801,0,9102,8802,12,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3340,"IGCB 1955 / Congo TM zone 14",9001,4701,17414,9807,1,0,4400,8801,0,9102,8802,14,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3341,"IGCB 1955 / Congo TM zone 16",9001,4701,17416,9807,1,0,4400,8801,0,9102,8802,16,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3342,"IGCB 1955 / UTM zone 33S",9001,4701,16133,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3343,"Mauritania 1999 / UTM zone 28N",9001,4702,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3344,"Mauritania 1999 / UTM zone 29N",9001,4702,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3345,"Mauritania 1999 / UTM zone 30N",9001,4702,16030,9807,1,0,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3346,"LKS94 / Lithuania TM",9001,4669,19934,9807,1,0,4530,8801,0,9102,8802,24,9102,8805,0.9998,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3347,"NAD83 / Statistics Canada Lambert",9001,4269,19897,9802,1,0,4400,8821,63.390675,9102,8822,-91.52,9110,8823,49,9102,8824,77,9102,8826,6200000,9001,8827,3000000,9001,,,,,,,,,, -3348,"NAD83(CSRS) / Statistics Canada Lambert",9001,4617,19897,9802,1,0,4400,8821,63.390675,9102,8822,-91.52,9110,8823,49,9102,8824,77,9102,8826,6200000,9001,8827,3000000,9001,,,,,,,,,, -3349,"WGS 84 / PDC Mercator",9001,4326,19898,9804,1,1,4400,8801,0,9102,8802,-150,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3350,"Pulkovo 1942 / CS63 zone C0",9001,4284,18450,9807,1,0,4530,8801,0.06,9110,8802,21.57,9110,8805,1,9201,8806,250000,9001,8807,0,9001,,,,,,,,,,,,, -3351,"Pulkovo 1942 / CS63 zone C1",9001,4284,18451,9807,1,0,4530,8801,0.06,9110,8802,24.57,9110,8805,1,9201,8806,1250000,9001,8807,0,9001,,,,,,,,,,,,, -3352,"Pulkovo 1942 / CS63 zone C2",9001,4284,18452,9807,1,0,4530,8801,0.06,9110,8802,27.57,9110,8805,1,9201,8806,2250000,9001,8807,0,9001,,,,,,,,,,,,, -3353,"Mhast (onshore) / UTM zone 32S",9001,4704,16132,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3354,"Mhast (offshore) / UTM zone 32S",9001,4705,16132,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3355,"Egypt Gulf of Suez S-650 TL / Red Belt",9001,4706,18072,9807,1,0,4400,8801,30,9102,8802,31,9102,8805,1,9201,8806,615000,9001,8807,810000,9001,,,,,,,,,,,,, -3356,"Grand Cayman 1959 / UTM zone 17N",9001,4723,16017,9807,1,1,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3357,"Little Cayman 1961 / UTM zone 17N",9001,4726,16017,9807,1,1,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3358,"NAD83(HARN) / North Carolina",9001,4152,13230,9802,1,0,4499,8821,33.45,9110,8822,-79,9110,8823,36.1,9110,8824,34.2,9110,8826,609601.22,9001,8827,0,9001,,,,,,,,,, -3359,"NAD83(HARN) / North Carolina (ftUS)",9002,4152,15346,9802,1,1,4495,8821,33.45,9110,8822,-79,9110,8823,36.1,9110,8824,34.2,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -3360,"NAD83(HARN) / South Carolina",9001,4152,13930,9802,1,0,4499,8821,31.5,9110,8822,-81,9110,8823,34.5,9110,8824,32.3,9110,8826,609600,9001,8827,0,9001,,,,,,,,,, -3361,"NAD83(HARN) / South Carolina (ft)",9002,4152,15355,9802,1,0,4495,8821,31.5,9110,8822,-81,9110,8823,34.5,9110,8824,32.3,9110,8826,2000000,9002,8827,0,9002,,,,,,,,,, -3362,"NAD83(HARN) / Pennsylvania North",9001,4152,13731,9802,1,0,4499,8821,40.1,9110,8822,-77.45,9110,8823,41.57,9110,8824,40.53,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3363,"NAD83(HARN) / Pennsylvania North (ftUS)",9003,4152,15353,9802,1,0,4497,8821,40.1,9110,8822,-77.45,9110,8823,41.57,9110,8824,40.53,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3364,"NAD83(HARN) / Pennsylvania South",9001,4152,13732,9802,1,0,4499,8821,39.2,9110,8822,-77.45,9110,8823,40.58,9110,8824,39.56,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3365,"NAD83(HARN) / Pennsylvania South (ftUS)",9003,4152,15354,9802,1,0,4497,8821,39.2,9110,8822,-77.45,9110,8823,40.58,9110,8824,39.56,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3366,Hong Kong 1963 Grid System,9001,4738,19896,9806,1,1,4500,8801,22.184368,9110,8802,114.10428,9110,8806,132033.92,9005,8807,62565.96,9005,,,,,,,,,,,,,,,, -3367,"IGN Astro 1960 / UTM zone 28N",9001,4700,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3368,"IGN Astro 1960 / UTM zone 29N",9001,4700,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3369,"IGN Astro 1960 / UTM zone 30N",9001,4700,16030,9807,1,0,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3370,"NAD27 / UTM zone 59N",9001,4267,16059,9807,1,0,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3371,"NAD27 / UTM zone 60N",9001,4267,16060,9807,1,0,4400,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3372,"NAD83 / UTM zone 59N",9001,4269,16059,9807,1,0,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3373,"NAD83 / UTM zone 60N",9001,4269,16060,9807,1,0,4400,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3374,"FD54 / UTM zone 29N",9001,4741,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3375,"GDM2000 / Peninsula RSO",9001,4742,19895,9812,1,0,4400,8806,804671,9001,8807,0,9001,8811,4,9110,8812,102.15,9110,8813,323.013286728,9110,8814,323.07483685,9110,8815,0.99984,9201,,,,,,, -3376,"GDM2000 / East Malaysia BRSO",9001,4742,19894,9812,1,0,4400,8806,0,9001,8807,0,9001,8811,4,9110,8812,115,9110,8813,53.185691582,9110,8814,53.07483685,9110,8815,0.99984,9201,,,,,,, -3377,"GDM2000 / Johor Grid",9001,4742,19893,9806,1,0,4400,8801,2.071804708,9110,8802,103.254057045,9110,8806,-14810.562,9001,8807,8758.32,9001,,,,,,,,,,,,,,,, -3378,"GDM2000 / Sembilan and Melaka Grid",9001,4742,19892,9806,1,0,4400,8801,2.405645149,9110,8802,101.582965815,9110,8806,3673.785,9001,8807,-4240.573,9001,,,,,,,,,,,,,,,, -3379,"GDM2000 / Pahang Grid",9001,4742,19891,9806,1,0,4400,8801,3.460979712,9110,8802,102.220587634,9110,8806,-7368.228,9001,8807,6485.858,9001,,,,,,,,,,,,,,,, -3380,"GDM2000 / Selangor Grid",9001,4742,19890,9806,1,0,4400,8801,3.410473658,9110,8802,101.232078849,9110,8806,-34836.161,9001,8807,56464.049,9001,,,,,,,,,,,,,,,, -3381,"GDM2000 / Terengganu Grid",9001,4742,19889,9806,1,0,4400,8801,4.583462672,9110,8802,103.041299225,9110,8806,19594.245,9001,8807,3371.895,9001,,,,,,,,,,,,,,,, -3382,"GDM2000 / Pinang Grid",9001,4742,19888,9806,1,0,4400,8801,5.251746315,9110,8802,100.203975707,9110,8806,-23.414,9001,8807,62.283,9001,,,,,,,,,,,,,,,, -3383,"GDM2000 / Kedah and Perlis Grid",9001,4742,19887,9806,1,0,4400,8801,5.575282177,9110,8802,100.3810936,9110,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -3384,"GDM2000 / Perak Grid",9001,4742,19886,9806,1,0,4400,8801,4.513262688,9110,8802,100.485547811,9110,8806,-1.769,9001,8807,133454.779,9001,,,,,,,,,,,,,,,, -3385,"GDM2000 / Kelantan Grid",9001,4742,19885,9806,1,0,4400,8801,5.582115717,9110,8802,102.174287001,9110,8806,13227.851,9001,8807,8739.894,9001,,,,,,,,,,,,,,,, -3386,"KKJ / Finland zone 0",9001,4123,18180,9807,1,0,4530,8801,0,9102,8802,18,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3387,"KKJ / Finland zone 5",9001,4123,18205,9807,1,0,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -3388,"Pulkovo 1942 / Caspian Sea Mercator",9001,4284,19884,9805,1,0,4534,8802,51,9102,8806,0,9001,8807,0,9001,8823,42,9102,,,,,,,,,,,,,,,, -3389,"Pulkovo 1942 / 3-degree Gauss-Kruger zone 60",9001,4284,16099,9807,1,0,4530,8801,0,9102,8802,180,9102,8805,1,9201,8806,60500000,9001,8807,0,9001,,,,,,,,,,,,, -3390,"Pulkovo 1995 / 3-degree Gauss-Kruger zone 60",9001,4200,16099,9807,1,0,4530,8801,0,9102,8802,180,9102,8805,1,9201,8806,60500000,9001,8807,0,9001,,,,,,,,,,,,, -3391,"Karbala 1979 / UTM zone 37N",9001,4743,16037,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3392,"Karbala 1979 / UTM zone 38N",9001,4743,16038,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3393,"Karbala 1979 / UTM zone 39N",9001,4743,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3394,"Nahrwan 1934 / Iraq zone",9001,4744,19906,9801,1,0,4400,8801,32.3,9110,8802,45,9110,8805,0.9987864078,9201,8806,1500000,9001,8807,1166200,9001,,,,,,,,,,,,, -3395,"WGS 84 / World Mercator",9001,4326,19883,9804,1,0,4400,8801,0,9102,8802,0,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3396,"PD/83 / 3-degree Gauss-Kruger zone 3",9001,4746,16263,9807,1,0,4530,8801,0,9102,8802,9,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -3397,"PD/83 / 3-degree Gauss-Kruger zone 4",9001,4746,16264,9807,1,0,4530,8801,0,9102,8802,12,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -3398,"RD/83 / 3-degree Gauss-Kruger zone 4",9001,4745,16264,9807,1,0,4530,8801,0,9102,8802,12,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -3399,"RD/83 / 3-degree Gauss-Kruger zone 5",9001,4745,16265,9807,1,0,4530,8801,0,9102,8802,15,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -3400,"NAD83 / Alberta 10-TM (Forest)",9001,4269,19881,9807,1,0,4400,8801,0,9102,8802,-115,9102,8805,0.9992,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3401,"NAD83 / Alberta 10-TM (Resource)",9001,4269,19882,9807,1,0,4400,8801,0,9102,8802,-115,9102,8805,0.9992,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3402,"NAD83(CSRS) / Alberta 10-TM (Forest)",9001,4617,19881,9807,1,0,4400,8801,0,9102,8802,-115,9102,8805,0.9992,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3403,"NAD83(CSRS) / Alberta 10-TM (Resource)",9001,4617,19882,9807,1,0,4400,8801,0,9102,8802,-115,9102,8805,0.9992,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3404,"NAD83(HARN) / North Carolina (ftUS)",9003,4152,15346,9802,1,0,4497,8821,33.45,9110,8822,-79,9110,8823,36.1,9110,8824,34.2,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -3405,"VN-2000 / UTM zone 48N",9001,4756,16048,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3406,"VN-2000 / UTM zone 49N",9001,4756,16049,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3407,Hong Kong 1963 Grid System,9005,4738,19896,9806,1,0,4502,8801,22.184368,9110,8802,114.10428,9110,8806,132033.92,9005,8807,62565.96,9005,,,,,,,,,,,,,,,, -3408,NSIDC EASE-Grid North,9001,4053,3897,1027,1,0,4469,8801,90,9102,8802,0,9102,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -3409,NSIDC EASE-Grid South,9001,4053,3898,1027,1,0,4470,8801,-90,9102,8802,0,9102,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -3410,NSIDC EASE-Grid Global,9001,4053,19869,9834,1,0,4499,8802,0,9102,8806,0,9001,8807,0,9001,8823,30,9102,,,,,,,,,,,,,,,, -3411,NSIDC Sea Ice Polar Stereographic North,9001,4054,19865,9829,1,0,4468,8806,0,9001,8807,0,9001,8832,70,9102,8833,-45,9102,,,,,,,,,,,,,,,, -3412,NSIDC Sea Ice Polar Stereographic South,9001,4054,19866,9829,1,0,4470,8806,0,9001,8807,0,9001,8832,-70,9102,8833,0,9102,,,,,,,,,,,,,,,, -3413,"WGS 84 / NSIDC Sea Ice Polar Stereographic North",9001,4326,19865,9829,1,0,4468,8806,0,9001,8807,0,9001,8832,70,9102,8833,-45,9102,,,,,,,,,,,,,,,, -3414,"SVY21 / Singapore TM",9001,4757,19864,9807,1,0,4500,8801,1.22,9110,8802,103.5,9110,8805,1,9201,8806,28001.642,9001,8807,38744.572,9001,,,,,,,,,,,,, -3415,"WGS 72BE / South China Sea Lambert",9001,4324,19863,9802,1,0,4400,8821,21,9102,8822,114,9102,8823,18,9102,8824,24,9102,8826,500000,9001,8827,500000,9001,,,,,,,,,, -3416,"ETRS89 / Austria Lambert",9001,4258,19947,9802,1,0,4530,8821,47.3,9110,8822,13.2,9110,8823,49,9110,8824,46,9110,8826,400000,9001,8827,400000,9001,,,,,,,,,, -3417,"NAD83 / Iowa North (ftUS)",9003,4269,15377,9802,1,0,4497,8821,41.3,9110,8822,-93.3,9110,8823,43.16,9110,8824,42.04,9110,8826,4921250,9003,8827,3280833.3333,9003,,,,,,,,,, -3418,"NAD83 / Iowa South (ftUS)",9003,4269,15378,9802,1,0,4497,8821,40,9110,8822,-93.3,9110,8823,41.47,9110,8824,40.37,9110,8826,1640416.6667,9003,8827,0,9003,,,,,,,,,, -3419,"NAD83 / Kansas North (ftUS)",9003,4269,15379,9802,1,0,4497,8821,38.2,9110,8822,-98,9110,8823,39.47,9110,8824,38.43,9110,8826,1312333.3333,9003,8827,0,9003,,,,,,,,,, -3420,"NAD83 / Kansas South (ftUS)",9003,4269,15380,9802,1,0,4497,8821,36.4,9110,8822,-98.3,9110,8823,38.34,9110,8824,37.16,9110,8826,1312333.3333,9003,8827,1312333.3333,9003,,,,,,,,,, -3421,"NAD83 / Nevada East (ftUS)",9003,4269,15381,9807,1,0,4497,8801,34.45,9110,8802,-115.35,9110,8805,0.9999,9201,8806,656166.6667,9003,8807,26246666.6667,9003,,,,,,,,,,,,, -3422,"NAD83 / Nevada Central (ftUS)",9003,4269,15382,9807,1,0,4497,8801,34.45,9110,8802,-116.4,9110,8805,0.9999,9201,8806,1640416.6667,9003,8807,19685000,9003,,,,,,,,,,,,, -3423,"NAD83 / Nevada West (ftUS)",9003,4269,15383,9807,1,0,4497,8801,34.45,9110,8802,-118.35,9110,8805,0.9999,9201,8806,2624666.6667,9003,8807,13123333.3333,9003,,,,,,,,,,,,, -3424,"NAD83 / New Jersey (ftUS)",9003,4269,15384,9807,1,0,4497,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,492125,9003,8807,0,9003,,,,,,,,,,,,, -3425,"NAD83(HARN) / Iowa North (ftUS)",9003,4152,15377,9802,1,0,4497,8821,41.3,9110,8822,-93.3,9110,8823,43.16,9110,8824,42.04,9110,8826,4921250,9003,8827,3280833.3333,9003,,,,,,,,,, -3426,"NAD83(HARN) / Iowa South (ftUS)",9003,4152,15378,9802,1,0,4497,8821,40,9110,8822,-93.3,9110,8823,41.47,9110,8824,40.37,9110,8826,1640416.6667,9003,8827,0,9003,,,,,,,,,, -3427,"NAD83(HARN) / Kansas North (ftUS)",9003,4152,15379,9802,1,0,4497,8821,38.2,9110,8822,-98,9110,8823,39.47,9110,8824,38.43,9110,8826,1312333.3333,9003,8827,0,9003,,,,,,,,,, -3428,"NAD83(HARN) / Kansas South (ftUS)",9003,4152,15380,9802,1,0,4497,8821,36.4,9110,8822,-98.3,9110,8823,38.34,9110,8824,37.16,9110,8826,1312333.3333,9003,8827,1312333.3333,9003,,,,,,,,,, -3429,"NAD83(HARN) / Nevada East (ftUS)",9003,4152,15381,9807,1,0,4497,8801,34.45,9110,8802,-115.35,9110,8805,0.9999,9201,8806,656166.6667,9003,8807,26246666.6667,9003,,,,,,,,,,,,, -3430,"NAD83(HARN) / Nevada Central (ftUS)",9003,4152,15382,9807,1,0,4497,8801,34.45,9110,8802,-116.4,9110,8805,0.9999,9201,8806,1640416.6667,9003,8807,19685000,9003,,,,,,,,,,,,, -3431,"NAD83(HARN) / Nevada West (ftUS)",9003,4152,15383,9807,1,0,4497,8801,34.45,9110,8802,-118.35,9110,8805,0.9999,9201,8806,2624666.6667,9003,8807,13123333.3333,9003,,,,,,,,,,,,, -3432,"NAD83(HARN) / New Jersey (ftUS)",9003,4152,15384,9807,1,0,4497,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,492125,9003,8807,0,9003,,,,,,,,,,,,, -3433,"NAD83 / Arkansas North (ftUS)",9003,4269,15385,9802,1,0,4497,8821,34.2,9110,8822,-92,9110,8823,36.14,9110,8824,34.56,9110,8826,1312333.3333,9003,8827,0,9003,,,,,,,,,, -3434,"NAD83 / Arkansas South (ftUS)",9003,4269,15386,9802,1,0,4497,8821,32.4,9110,8822,-92,9110,8823,34.46,9110,8824,33.18,9110,8826,1312333.3333,9003,8827,1312333.3333,9003,,,,,,,,,, -3435,"NAD83 / Illinois East (ftUS)",9003,4269,15387,9807,1,0,4497,8801,36.4,9110,8802,-88.2,9110,8805,0.999975,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -3436,"NAD83 / Illinois West (ftUS)",9003,4269,15388,9807,1,0,4497,8801,36.4,9110,8802,-90.1,9110,8805,0.999941177,9201,8806,2296583.3333,9003,8807,0,9003,,,,,,,,,,,,, -3437,"NAD83 / New Hampshire (ftUS)",9003,4269,15389,9807,1,0,4497,8801,42.3,9110,8802,-71.4,9110,8805,0.999966667,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -3438,"NAD83 / Rhode Island (ftUS)",9003,4269,15390,9807,1,0,4497,8801,41.05,9110,8802,-71.3,9110,8805,0.99999375,9201,8806,328083.3333,9003,8807,0,9003,,,,,,,,,,,,, -3439,"PSD93 / UTM zone 39N",9001,4134,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3440,"PSD93 / UTM zone 40N",9001,4134,16040,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3441,"NAD83(HARN) / Arkansas North (ftUS)",9003,4152,15385,9802,1,0,4497,8821,34.2,9110,8822,-92,9110,8823,36.14,9110,8824,34.56,9110,8826,1312333.3333,9003,8827,0,9003,,,,,,,,,, -3442,"NAD83(HARN) / Arkansas South (ftUS)",9003,4152,15386,9802,1,0,4497,8821,32.4,9110,8822,-92,9110,8823,34.46,9110,8824,33.18,9110,8826,1312333.3333,9003,8827,1312333.3333,9003,,,,,,,,,, -3443,"NAD83(HARN) / Illinois East (ftUS)",9003,4152,15387,9807,1,0,4497,8801,36.4,9110,8802,-88.2,9110,8805,0.999975,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -3444,"NAD83(HARN) / Illinois West (ftUS)",9003,4152,15388,9807,1,0,4497,8801,36.4,9110,8802,-90.1,9110,8805,0.999941177,9201,8806,2296583.3333,9003,8807,0,9003,,,,,,,,,,,,, -3445,"NAD83(HARN) / New Hampshire (ftUS)",9003,4152,15389,9807,1,0,4497,8801,42.3,9110,8802,-71.4,9110,8805,0.999966667,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -3446,"NAD83(HARN) / Rhode Island (ftUS)",9003,4152,15390,9807,1,0,4497,8801,41.05,9110,8802,-71.3,9110,8805,0.99999375,9201,8806,328083.3333,9003,8807,0,9003,,,,,,,,,,,,, -3447,"ETRS89 / Belgian Lambert 2005",9001,4258,19862,9802,1,0,4499,8821,50.4752134,9110,8822,4.2133177,9110,8823,49.5,9110,8824,51.1,9110,8826,150328,9001,8827,166262,9001,,,,,,,,,, -3448,"JAD2001 / Jamaica Metric Grid",9001,4758,19860,9801,1,0,4400,8801,18,9102,8802,-77,9102,8805,1,9201,8806,750000,9001,8807,650000,9001,,,,,,,,,,,,, -3449,"JAD2001 / UTM zone 17N",9001,4758,16017,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3450,"JAD2001 / UTM zone 18N",9001,4758,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3451,"NAD83 / Louisiana North (ftUS)",9003,4269,15391,9802,1,0,4497,8821,30.3,9110,8822,-92.3,9110,8823,32.4,9110,8824,31.1,9110,8826,3280833.3333,9003,8827,0,9003,,,,,,,,,, -3452,"NAD83 / Louisiana South (ftUS)",9003,4269,15392,9802,1,0,4497,8821,28.3,9110,8822,-91.2,9110,8823,30.42,9110,8824,29.18,9110,8826,3280833.3333,9003,8827,0,9003,,,,,,,,,, -3453,"NAD83 / Louisiana Offshore (ftUS)",9003,4269,15393,9802,1,0,4497,8821,25.3,9110,8822,-91.2,9110,8823,27.5,9110,8824,26.1,9110,8826,3280833.3333,9003,8827,0,9003,,,,,,,,,, -3454,"NAD83 / South Dakota North (ftUS)",9003,4269,15395,9802,1,1,4497,8821,42.2,9110,8822,-100.2,9110,8823,44.24,9110,8824,42.5,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3455,"NAD83 / South Dakota South (ftUS)",9003,4269,15395,9802,1,0,4497,8821,42.2,9110,8822,-100.2,9110,8823,44.24,9110,8824,42.5,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3456,"NAD83(HARN) / Louisiana North (ftUS)",9003,4152,15391,9802,1,0,4497,8821,30.3,9110,8822,-92.3,9110,8823,32.4,9110,8824,31.1,9110,8826,3280833.3333,9003,8827,0,9003,,,,,,,,,, -3457,"NAD83(HARN) / Louisiana South (ftUS)",9003,4152,15392,9802,1,0,4497,8821,28.3,9110,8822,-91.2,9110,8823,30.42,9110,8824,29.18,9110,8826,3280833.3333,9003,8827,0,9003,,,,,,,,,, -3458,"NAD83(HARN) / South Dakota North (ftUS)",9003,4152,15394,9802,1,0,4497,8821,43.5,9110,8822,-100,9110,8823,45.41,9110,8824,44.25,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3459,"NAD83(HARN) / South Dakota South (ftUS)",9003,4152,15395,9802,1,0,4497,8821,42.2,9110,8822,-100.2,9110,8823,44.24,9110,8824,42.5,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3460,"Fiji 1986 / Fiji Map Grid",9001,4720,19859,9807,1,0,4400,8801,-17,9110,8802,178.45,9110,8805,0.99985,9201,8806,2000000,9001,8807,4000000,9001,,,,,,,,,,,,, -3461,"Dabola 1981 / UTM zone 28N",9001,4155,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3462,"Dabola 1981 / UTM zone 29N",9001,4155,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3463,"NAD83 / Maine CS2000 Central",9001,4269,11854,9807,1,0,4499,8801,43.3,9110,8802,-69.073,9110,8805,0.99998,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3464,"NAD83(HARN) / Maine CS2000 Central",9001,4152,11854,9807,1,0,4499,8801,43.3,9110,8802,-69.073,9110,8805,0.99998,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3465,"NAD83(NSRS2007) / Alabama East",9001,4759,10131,9807,1,0,4499,8801,30.3,9110,8802,-85.5,9110,8805,0.99996,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -3466,"NAD83(NSRS2007) / Alabama West",9001,4759,10132,9807,1,0,4499,8801,30,9110,8802,-87.3,9110,8805,0.999933333,9201,8806,600000,9001,8807,0,9001,,,,,,,,,,,,, -3467,"NAD83(NSRS2007) / Alaska Albers",9001,4759,15021,9822,1,0,4499,8821,50,9102,8822,-154,9102,8823,55,9102,8824,65,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -3468,"NAD83(NSRS2007) / Alaska zone 1",9001,4759,15031,9812,1,0,4499,8806,5000000,9001,8807,-5000000,9001,8811,57,9110,8812,-133.4,9110,8813,323.07483685,9110,8814,323.07483685,9110,8815,0.9999,9201,,,,,,, -3469,"NAD83(NSRS2007) / Alaska zone 2",9001,4759,15032,9807,1,0,4499,8801,54,9102,8802,-142,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3470,"NAD83(NSRS2007) / Alaska zone 3",9001,4759,15033,9807,1,0,4499,8801,54,9102,8802,-146,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3471,"NAD83(NSRS2007) / Alaska zone 4",9001,4759,15034,9807,1,0,4499,8801,54,9102,8802,-150,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3472,"NAD83(NSRS2007) / Alaska zone 5",9001,4759,15035,9807,1,0,4499,8801,54,9102,8802,-154,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3473,"NAD83(NSRS2007) / Alaska zone 6",9001,4759,15036,9807,1,0,4499,8801,54,9102,8802,-158,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3474,"NAD83(NSRS2007) / Alaska zone 7",9001,4759,15037,9807,1,0,4499,8801,54,9102,8802,-162,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3475,"NAD83(NSRS2007) / Alaska zone 8",9001,4759,15038,9807,1,0,4499,8801,54,9102,8802,-166,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3476,"NAD83(NSRS2007) / Alaska zone 9",9001,4759,15039,9807,1,0,4499,8801,54,9102,8802,-170,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3477,"NAD83(NSRS2007) / Alaska zone 10",9001,4759,15040,9802,1,0,4499,8821,51,9110,8822,-176,9110,8823,53.5,9110,8824,51.5,9110,8826,1000000,9001,8827,0,9001,,,,,,,,,, -3478,"NAD83(NSRS2007) / Arizona Central",9001,4759,10232,9807,1,0,4499,8801,31,9110,8802,-111.55,9110,8805,0.9999,9201,8806,213360,9001,8807,0,9001,,,,,,,,,,,,, -3479,"NAD83(NSRS2007) / Arizona Central (ft)",9002,4759,15305,9807,1,0,4495,8801,31,9110,8802,-111.55,9110,8805,0.9999,9201,8806,700000,9002,8807,0,9002,,,,,,,,,,,,, -3480,"NAD83(NSRS2007) / Arizona East",9001,4759,10231,9807,1,0,4499,8801,31,9110,8802,-110.1,9110,8805,0.9999,9201,8806,213360,9001,8807,0,9001,,,,,,,,,,,,, -3481,"NAD83(NSRS2007) / Arizona East (ft)",9002,4759,15304,9807,1,0,4495,8801,31,9110,8802,-110.1,9110,8805,0.9999,9201,8806,700000,9002,8807,0,9002,,,,,,,,,,,,, -3482,"NAD83(NSRS2007) / Arizona West",9001,4759,10233,9807,1,0,4499,8801,31,9110,8802,-113.45,9110,8805,0.999933333,9201,8806,213360,9001,8807,0,9001,,,,,,,,,,,,, -3483,"NAD83(NSRS2007) / Arizona West (ft)",9002,4759,15306,9807,1,0,4495,8801,31,9110,8802,-113.45,9110,8805,0.999933333,9201,8806,700000,9002,8807,0,9002,,,,,,,,,,,,, -3484,"NAD83(NSRS2007) / Arkansas North",9001,4759,10331,9802,1,0,4499,8821,34.2,9110,8822,-92,9110,8823,36.14,9110,8824,34.56,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -3485,"NAD83(NSRS2007) / Arkansas North (ftUS)",9003,4759,15385,9802,1,0,4497,8821,34.2,9110,8822,-92,9110,8823,36.14,9110,8824,34.56,9110,8826,1312333.3333,9003,8827,0,9003,,,,,,,,,, -3486,"NAD83(NSRS2007) / Arkansas South",9001,4759,10332,9802,1,0,4499,8821,32.4,9110,8822,-92,9110,8823,34.46,9110,8824,33.18,9110,8826,400000,9001,8827,400000,9001,,,,,,,,,, -3487,"NAD83(NSRS2007) / Arkansas South (ftUS)",9003,4759,15386,9802,1,0,4497,8821,32.4,9110,8822,-92,9110,8823,34.46,9110,8824,33.18,9110,8826,1312333.3333,9003,8827,1312333.3333,9003,,,,,,,,,, -3488,"NAD83(NSRS2007) / California Albers",9001,4759,10420,9822,1,0,4499,8821,0,9102,8822,-120,9102,8823,34,9102,8824,40.5,9102,8826,0,9001,8827,-4000000,9001,,,,,,,,,, -3489,"NAD83(NSRS2007) / California zone 1",9001,4759,10431,9802,1,0,4499,8821,39.2,9110,8822,-122,9110,8823,41.4,9110,8824,40,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -3490,"NAD83(NSRS2007) / California zone 1 (ftUS)",9003,4759,15307,9802,1,0,4497,8821,39.2,9110,8822,-122,9110,8823,41.4,9110,8824,40,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -3491,"NAD83(NSRS2007) / California zone 2",9001,4759,10432,9802,1,0,4499,8821,37.4,9110,8822,-122,9110,8823,39.5,9110,8824,38.2,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -3492,"NAD83(NSRS2007) / California zone 2 (ftUS)",9003,4759,15308,9802,1,0,4497,8821,37.4,9110,8822,-122,9110,8823,39.5,9110,8824,38.2,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -3493,"NAD83(NSRS2007) / California zone 3",9001,4759,10433,9802,1,0,4499,8821,36.3,9110,8822,-120.3,9110,8823,38.26,9110,8824,37.04,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -3494,"NAD83(NSRS2007) / California zone 3 (ftUS)",9003,4759,15309,9802,1,0,4497,8821,36.3,9110,8822,-120.3,9110,8823,38.26,9110,8824,37.04,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -3495,"NAD83(NSRS2007) / California zone 4",9001,4759,10434,9802,1,0,4499,8821,35.2,9110,8822,-119,9110,8823,37.15,9110,8824,36,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -3496,"NAD83(NSRS2007) / California zone 4 (ftUS)",9003,4759,15310,9802,1,0,4497,8821,35.2,9110,8822,-119,9110,8823,37.15,9110,8824,36,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -3497,"NAD83(NSRS2007) / California zone 5",9001,4759,10435,9802,1,0,4499,8821,33.3,9110,8822,-118,9110,8823,35.28,9110,8824,34.02,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -3498,"NAD83(NSRS2007) / California zone 5 (ftUS)",9003,4759,15311,9802,1,0,4497,8821,33.3,9110,8822,-118,9110,8823,35.28,9110,8824,34.02,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -3499,"NAD83(NSRS2007) / California zone 6",9001,4759,10436,9802,1,0,4499,8821,32.1,9110,8822,-116.15,9110,8823,33.53,9110,8824,32.47,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -3500,"NAD83(NSRS2007) / California zone 6 (ftUS)",9003,4759,15312,9802,1,0,4497,8821,32.1,9110,8822,-116.15,9110,8823,33.53,9110,8824,32.47,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -3501,"NAD83(NSRS2007) / Colorado Central",9001,4759,10532,9802,1,0,4499,8821,37.5,9110,8822,-105.3,9110,8823,39.45,9110,8824,38.27,9110,8826,914401.8289,9001,8827,304800.6096,9001,,,,,,,,,, -3502,"NAD83(NSRS2007) / Colorado Central (ftUS)",9003,4759,15314,9802,1,0,4497,8821,37.5,9110,8822,-105.3,9110,8823,39.45,9110,8824,38.27,9110,8826,3000000,9003,8827,1000000,9003,,,,,,,,,, -3503,"NAD83(NSRS2007) / Colorado North",9001,4759,10531,9802,1,0,4499,8821,39.2,9110,8822,-105.3,9110,8823,40.47,9110,8824,39.43,9110,8826,914401.8289,9001,8827,304800.6096,9001,,,,,,,,,, -3504,"NAD83(NSRS2007) / Colorado North (ftUS)",9003,4759,15313,9802,1,0,4497,8821,39.2,9110,8822,-105.3,9110,8823,40.47,9110,8824,39.43,9110,8826,3000000,9003,8827,1000000,9003,,,,,,,,,, -3505,"NAD83(NSRS2007) / Colorado South",9001,4759,10533,9802,1,0,4499,8821,36.4,9110,8822,-105.3,9110,8823,38.26,9110,8824,37.14,9110,8826,914401.8289,9001,8827,304800.6096,9001,,,,,,,,,, -3506,"NAD83(NSRS2007) / Colorado South (ftUS)",9003,4759,15315,9802,1,0,4497,8821,36.4,9110,8822,-105.3,9110,8823,38.26,9110,8824,37.14,9110,8826,3000000,9003,8827,1000000,9003,,,,,,,,,, -3507,"NAD83(NSRS2007) / Connecticut",9001,4759,10630,9802,1,0,4499,8821,40.5,9110,8822,-72.45,9110,8823,41.52,9110,8824,41.12,9110,8826,304800.6096,9001,8827,152400.3048,9001,,,,,,,,,, -3508,"NAD83(NSRS2007) / Connecticut (ftUS)",9003,4759,15316,9802,1,0,4497,8821,40.5,9110,8822,-72.45,9110,8823,41.52,9110,8824,41.12,9110,8826,1000000,9003,8827,500000,9003,,,,,,,,,, -3509,"NAD83(NSRS2007) / Delaware",9001,4759,10730,9807,1,0,4499,8801,38,9110,8802,-75.25,9110,8805,0.999995,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -3510,"NAD83(NSRS2007) / Delaware (ftUS)",9003,4759,15317,9807,1,0,4497,8801,38,9110,8802,-75.25,9110,8805,0.999995,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -3511,"NAD83(NSRS2007) / Florida East",9001,4759,10931,9807,1,0,4499,8801,24.2,9110,8802,-81,9110,8805,0.999941177,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -3512,"NAD83(NSRS2007) / Florida East (ftUS)",9003,4759,15318,9807,1,0,4497,8801,24.2,9110,8802,-81,9110,8805,0.999941177,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -3513,"NAD83(NSRS2007) / Florida GDL Albers",9001,4759,10934,9822,1,0,4499,8821,24,9110,8822,-84,9110,8823,24,9110,8824,31.3,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -3514,"NAD83(NSRS2007) / Florida North",9001,4759,10933,9802,1,0,4499,8821,29,9110,8822,-84.3,9110,8823,30.45,9110,8824,29.35,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3515,"NAD83(NSRS2007) / Florida North (ftUS)",9003,4759,15320,9802,1,0,4497,8821,29,9110,8822,-84.3,9110,8823,30.45,9110,8824,29.35,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3516,"NAD83(NSRS2007) / Florida West",9001,4759,10932,9807,1,0,4499,8801,24.2,9110,8802,-82,9110,8805,0.999941177,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -3517,"NAD83(NSRS2007) / Florida West (ftUS)",9003,4759,15319,9807,1,0,4497,8801,24.2,9110,8802,-82,9110,8805,0.999941177,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -3518,"NAD83(NSRS2007) / Georgia East",9001,4759,11031,9807,1,0,4499,8801,30,9110,8802,-82.1,9110,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -3519,"NAD83(NSRS2007) / Georgia East (ftUS)",9003,4759,15321,9807,1,0,4497,8801,30,9110,8802,-82.1,9110,8805,0.9999,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -3520,"NAD83(NSRS2007) / Georgia West",9001,4759,11032,9807,1,0,4499,8801,30,9110,8802,-84.1,9110,8805,0.9999,9201,8806,700000,9001,8807,0,9001,,,,,,,,,,,,, -3521,"NAD83(NSRS2007) / Georgia West (ftUS)",9003,4759,15322,9807,1,0,4497,8801,30,9110,8802,-84.1,9110,8805,0.9999,9201,8806,2296583.333,9003,8807,0,9003,,,,,,,,,,,,, -3522,"NAD83(NSRS2007) / Idaho Central",9001,4759,11132,9807,1,0,4499,8801,41.4,9110,8802,-114,9110,8805,0.999947368,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3523,"NAD83(NSRS2007) / Idaho Central (ftUS)",9003,4759,15324,9807,1,0,4497,8801,41.4,9110,8802,-114,9110,8805,0.999947368,9201,8806,1640416.667,9003,8807,0,9003,,,,,,,,,,,,, -3524,"NAD83(NSRS2007) / Idaho East",9001,4759,11131,9807,1,0,4499,8801,41.4,9110,8802,-112.1,9110,8805,0.999947368,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -3525,"NAD83(NSRS2007) / Idaho East (ftUS)",9003,4759,15323,9807,1,0,4497,8801,41.4,9110,8802,-112.1,9110,8805,0.999947368,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -3526,"NAD83(NSRS2007) / Idaho West",9001,4759,11133,9807,1,0,4499,8801,41.4,9110,8802,-115.45,9110,8805,0.999933333,9201,8806,800000,9001,8807,0,9001,,,,,,,,,,,,, -3527,"NAD83(NSRS2007) / Idaho West (ftUS)",9003,4759,15325,9807,1,0,4497,8801,41.4,9110,8802,-115.45,9110,8805,0.999933333,9201,8806,2624666.667,9003,8807,0,9003,,,,,,,,,,,,, -3528,"NAD83(NSRS2007) / Illinois East",9001,4759,11231,9807,1,0,4499,8801,36.4,9110,8802,-88.2,9110,8805,0.999975,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -3529,"NAD83(NSRS2007) / Illinois East (ftUS)",9003,4759,15387,9807,1,0,4497,8801,36.4,9110,8802,-88.2,9110,8805,0.999975,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -3530,"NAD83(NSRS2007) / Illinois West",9001,4759,11232,9807,1,0,4499,8801,36.4,9110,8802,-90.1,9110,8805,0.999941177,9201,8806,700000,9001,8807,0,9001,,,,,,,,,,,,, -3531,"NAD83(NSRS2007) / Illinois West (ftUS)",9003,4759,15388,9807,1,0,4497,8801,36.4,9110,8802,-90.1,9110,8805,0.999941177,9201,8806,2296583.3333,9003,8807,0,9003,,,,,,,,,,,,, -3532,"NAD83(NSRS2007) / Indiana East",9001,4759,11331,9807,1,0,4499,8801,37.3,9110,8802,-85.4,9110,8805,0.999966667,9201,8806,100000,9001,8807,250000,9001,,,,,,,,,,,,, -3533,"NAD83(NSRS2007) / Indiana East (ftUS)",9003,4759,15372,9807,1,0,4497,8801,37.3,9110,8802,-85.4,9110,8805,0.999966667,9201,8806,328083.333,9003,8807,820208.333,9003,,,,,,,,,,,,, -3534,"NAD83(NSRS2007) / Indiana West",9001,4759,11332,9807,1,0,4499,8801,37.3,9110,8802,-87.05,9110,8805,0.999966667,9201,8806,900000,9001,8807,250000,9001,,,,,,,,,,,,, -3535,"NAD83(NSRS2007) / Indiana West (ftUS)",9003,4759,15373,9807,1,0,4497,8801,37.3,9110,8802,-87.05,9110,8805,0.999966667,9201,8806,2952750,9003,8807,820208.333,9003,,,,,,,,,,,,, -3536,"NAD83(NSRS2007) / Iowa North",9001,4759,11431,9802,1,0,4499,8821,41.3,9110,8822,-93.3,9110,8823,43.16,9110,8824,42.04,9110,8826,1500000,9001,8827,1000000,9001,,,,,,,,,, -3537,"NAD83(NSRS2007) / Iowa North (ftUS)",9003,4759,15377,9802,1,0,4497,8821,41.3,9110,8822,-93.3,9110,8823,43.16,9110,8824,42.04,9110,8826,4921250,9003,8827,3280833.3333,9003,,,,,,,,,, -3538,"NAD83(NSRS2007) / Iowa South",9001,4759,11432,9802,1,0,4499,8821,40,9110,8822,-93.3,9110,8823,41.47,9110,8824,40.37,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -3539,"NAD83(NSRS2007) / Iowa South (ftUS)",9003,4759,15378,9802,1,0,4497,8821,40,9110,8822,-93.3,9110,8823,41.47,9110,8824,40.37,9110,8826,1640416.6667,9003,8827,0,9003,,,,,,,,,, -3540,"NAD83(NSRS2007) / Kansas North",9001,4759,11531,9802,1,0,4499,8821,38.2,9110,8822,-98,9110,8823,39.47,9110,8824,38.43,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -3541,"NAD83(NSRS2007) / Kansas North (ftUS)",9003,4759,15379,9802,1,0,4497,8821,38.2,9110,8822,-98,9110,8823,39.47,9110,8824,38.43,9110,8826,1312333.3333,9003,8827,0,9003,,,,,,,,,, -3542,"NAD83(NSRS2007) / Kansas South",9001,4759,11532,9802,1,0,4499,8821,36.4,9110,8822,-98.3,9110,8823,38.34,9110,8824,37.16,9110,8826,400000,9001,8827,400000,9001,,,,,,,,,, -3543,"NAD83(NSRS2007) / Kansas South (ftUS)",9003,4759,15380,9802,1,0,4497,8821,36.4,9110,8822,-98.3,9110,8823,38.34,9110,8824,37.16,9110,8826,1312333.3333,9003,8827,1312333.3333,9003,,,,,,,,,, -3544,"NAD83(NSRS2007) / Kentucky North",9001,4759,15303,9802,1,0,4499,8821,37.3,9110,8822,-84.15,9110,8823,37.58,9110,8824,38.58,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -3545,"NAD83(NSRS2007) / Kentucky North (ftUS)",9003,4759,15328,9802,1,0,4497,8821,37.3,9110,8822,-84.15,9110,8823,37.58,9110,8824,38.58,9110,8826,1640416.667,9003,8827,0,9003,,,,,,,,,, -3546,"NAD83(NSRS2007) / Kentucky Single Zone",9001,4759,11630,9802,1,0,4499,8821,36.2,9110,8822,-85.45,9110,8823,37.05,9110,8824,38.4,9110,8826,1500000,9001,8827,1000000,9001,,,,,,,,,, -3547,"NAD83(NSRS2007) / Kentucky Single Zone (ftUS)",9003,4759,15375,9802,1,0,4497,8821,36.2,9110,8822,-85.45,9110,8823,37.05,9110,8824,38.4,9110,8826,4921250,9003,8827,3280833.333,9003,,,,,,,,,, -3548,"NAD83(NSRS2007) / Kentucky South",9001,4759,11632,9802,1,0,4499,8821,36.2,9110,8822,-85.45,9110,8823,37.56,9110,8824,36.44,9110,8826,500000,9001,8827,500000,9001,,,,,,,,,, -3549,"NAD83(NSRS2007) / Kentucky South (ftUS)",9003,4759,15329,9802,1,0,4497,8821,36.2,9110,8822,-85.45,9110,8823,37.56,9110,8824,36.44,9110,8826,1640416.667,9003,8827,1640416.667,9003,,,,,,,,,, -3550,"NAD83(NSRS2007) / Louisiana North",9001,4759,11731,9802,1,0,4499,8821,30.3,9110,8822,-92.3,9110,8823,32.4,9110,8824,31.1,9110,8826,1000000,9001,8827,0,9001,,,,,,,,,, -3551,"NAD83(NSRS2007) / Louisiana North (ftUS)",9003,4759,15391,9802,1,0,4497,8821,30.3,9110,8822,-92.3,9110,8823,32.4,9110,8824,31.1,9110,8826,3280833.3333,9003,8827,0,9003,,,,,,,,,, -3552,"NAD83(NSRS2007) / Louisiana South",9001,4759,11732,9802,1,0,4499,8821,28.3,9110,8822,-91.2,9110,8823,30.42,9110,8824,29.18,9110,8826,1000000,9001,8827,0,9001,,,,,,,,,, -3553,"NAD83(NSRS2007) / Louisiana South (ftUS)",9003,4759,15392,9802,1,0,4497,8821,28.3,9110,8822,-91.2,9110,8823,30.42,9110,8824,29.18,9110,8826,3280833.3333,9003,8827,0,9003,,,,,,,,,, -3554,"NAD83(NSRS2007) / Maine CS2000 Central",9001,4759,11854,9807,1,0,4499,8801,43.3,9110,8802,-69.073,9110,8805,0.99998,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3555,"NAD83(NSRS2007) / Maine CS2000 East",9001,4759,11851,9807,1,0,4499,8801,43.5,9110,8802,-67.523,9110,8805,0.99998,9201,8806,700000,9001,8807,0,9001,,,,,,,,,,,,, -3556,"NAD83(NSRS2007) / Maine CS2000 West",9001,4759,11853,9807,1,0,4499,8801,42.5,9110,8802,-70.223,9110,8805,0.99998,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -3557,"NAD83(NSRS2007) / Maine East",9001,4759,11831,9807,1,0,4499,8801,43.4,9110,8802,-68.3,9110,8805,0.9999,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -3558,"NAD83(NSRS2007) / Maine West",9001,4759,11832,9807,1,0,4499,8801,42.5,9110,8802,-70.1,9110,8805,0.999966667,9201,8806,900000,9001,8807,0,9001,,,,,,,,,,,,, -3559,"NAD83(NSRS2007) / Maryland",9001,4759,11930,9802,1,0,4499,8821,37.4,9110,8822,-77,9110,8823,39.27,9110,8824,38.18,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -3560,"NAD83 / Utah North (ftUS)",9003,4269,15297,9802,1,0,4497,8821,40.2,9110,8822,-111.3,9110,8823,41.47,9110,8824,40.43,9110,8826,1640416.6667,9003,8827,3280833.3333,9003,,,,,,,,,, -3561,"Old Hawaiian / Hawaii zone 1",9003,4135,15101,9807,1,0,4497,8801,18.5,9110,8802,-155.3,9110,8805,0.999966667,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -3562,"Old Hawaiian / Hawaii zone 2",9003,4135,15102,9807,1,0,4497,8801,20.2,9110,8802,-156.4,9110,8805,0.999966667,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -3563,"Old Hawaiian / Hawaii zone 3",9003,4135,15103,9807,1,0,4497,8801,21.1,9110,8802,-158,9110,8805,0.99999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -3564,"Old Hawaiian / Hawaii zone 4",9003,4135,15104,9807,1,0,4497,8801,21.5,9110,8802,-159.3,9110,8805,0.99999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -3565,"Old Hawaiian / Hawaii zone 5",9003,4135,15105,9807,1,0,4497,8801,21.4,9110,8802,-160.1,9110,8805,1,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -3566,"NAD83 / Utah Central (ftUS)",9003,4269,15298,9802,1,0,4497,8821,38.2,9110,8822,-111.3,9110,8823,40.39,9110,8824,39.01,9110,8826,1640416.6667,9003,8827,6561666.6667,9003,,,,,,,,,, -3567,"NAD83 / Utah South (ftUS)",9003,4269,15299,9802,1,0,4497,8821,36.4,9110,8822,-111.3,9110,8823,38.21,9110,8824,37.13,9110,8826,1640416.6667,9003,8827,9842500,9003,,,,,,,,,, -3568,"NAD83(HARN) / Utah North (ftUS)",9003,4152,15297,9802,1,0,4497,8821,40.2,9110,8822,-111.3,9110,8823,41.47,9110,8824,40.43,9110,8826,1640416.6667,9003,8827,3280833.3333,9003,,,,,,,,,, -3569,"NAD83(HARN) / Utah Central (ftUS)",9003,4152,15298,9802,1,0,4497,8821,38.2,9110,8822,-111.3,9110,8823,40.39,9110,8824,39.01,9110,8826,1640416.6667,9003,8827,6561666.6667,9003,,,,,,,,,, -3570,"NAD83(HARN) / Utah South (ftUS)",9003,4152,15299,9802,1,0,4497,8821,36.4,9110,8822,-111.3,9110,8823,38.21,9110,8824,37.13,9110,8826,1640416.6667,9003,8827,9842500,9003,,,,,,,,,, -3571,"WGS 84 / North Pole LAEA Bering Sea",9001,4326,17295,9820,1,0,4464,8801,90,9102,8802,180,9102,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -3572,"WGS 84 / North Pole LAEA Alaska",9001,4326,17296,9820,1,0,4467,8801,90,9102,8802,-150,9102,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -3573,"WGS 84 / North Pole LAEA Canada",9001,4326,17297,9820,1,0,4466,8801,90,9102,8802,-100,9102,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -3574,"WGS 84 / North Pole LAEA Atlantic",9001,4326,17298,9820,1,0,4465,8801,90,9102,8802,-40,9102,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -3575,"WGS 84 / North Pole LAEA Europe",9001,4326,17299,9820,1,0,4463,8801,90,9102,8802,10,9102,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -3576,"WGS 84 / North Pole LAEA Russia",9001,4326,17300,9820,1,0,1035,8801,90,9102,8802,90,9102,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -3577,"GDA94 / Australian Albers",9001,4283,17365,9822,1,0,4400,8821,0,9102,8822,132,9102,8823,-18,9102,8824,-36,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -3578,"NAD83 / Yukon Albers",9001,4269,19858,9822,1,0,4400,8821,59,9110,8822,-132.3,9110,8823,61.4,9110,8824,68,9110,8826,500000,9001,8827,500000,9001,,,,,,,,,, -3579,"NAD83(CSRS) / Yukon Albers",9001,4617,19858,9822,1,0,4400,8821,59,9110,8822,-132.3,9110,8823,61.4,9110,8824,68,9110,8826,500000,9001,8827,500000,9001,,,,,,,,,, -3580,"NAD83 / NWT Lambert",9001,4269,19857,9802,1,0,4400,8821,0,9102,8822,-112,9102,8823,62,9102,8824,70,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -3581,"NAD83(CSRS) / NWT Lambert",9001,4617,19857,9802,1,0,4400,8821,0,9102,8822,-112,9102,8823,62,9102,8824,70,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -3582,"NAD83(NSRS2007) / Maryland (ftUS)",9003,4759,15330,9802,1,0,4497,8821,37.4,9110,8822,-77,9110,8823,39.27,9110,8824,38.18,9110,8826,1312333.333,9003,8827,0,9003,,,,,,,,,, -3583,"NAD83(NSRS2007) / Massachusetts Island",9001,4759,12032,9802,1,0,4499,8821,41,9110,8822,-70.3,9110,8823,41.29,9110,8824,41.17,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -3584,"NAD83(NSRS2007) / Massachusetts Island (ftUS)",9003,4759,15332,9802,1,0,4497,8821,41,9110,8822,-70.3,9110,8823,41.29,9110,8824,41.17,9110,8826,1640416.667,9003,8827,0,9003,,,,,,,,,, -3585,"NAD83(NSRS2007) / Massachusetts Mainland",9001,4759,12031,9802,1,0,4499,8821,41,9110,8822,-71.3,9110,8823,42.41,9110,8824,41.43,9110,8826,200000,9001,8827,750000,9001,,,,,,,,,, -3586,"NAD83(NSRS2007) / Massachusetts Mainland (ftUS)",9003,4759,15331,9802,1,0,4497,8821,41,9110,8822,-71.3,9110,8823,42.41,9110,8824,41.43,9110,8826,656166.667,9003,8827,2460625,9003,,,,,,,,,, -3587,"NAD83(NSRS2007) / Michigan Central",9001,4759,12142,9802,1,0,4499,8821,43.19,9110,8822,-84.22,9110,8823,45.42,9110,8824,44.11,9110,8826,6000000,9001,8827,0,9001,,,,,,,,,, -3588,"NAD83(NSRS2007) / Michigan Central (ft)",9002,4759,15334,9802,1,0,4495,8821,43.19,9110,8822,-84.22,9110,8823,45.42,9110,8824,44.11,9110,8826,19685039.37,9002,8827,0,9002,,,,,,,,,, -3589,"NAD83(NSRS2007) / Michigan North",9001,4759,12141,9802,1,0,4499,8821,44.47,9110,8822,-87,9110,8823,47.05,9110,8824,45.29,9110,8826,8000000,9001,8827,0,9001,,,,,,,,,, -3590,"NAD83(NSRS2007) / Michigan North (ft)",9002,4759,15333,9802,1,0,4495,8821,44.47,9110,8822,-87,9110,8823,47.05,9110,8824,45.29,9110,8826,26246719.16,9002,8827,0,9002,,,,,,,,,, -3591,"NAD83(NSRS2007) / Michigan Oblique Mercator",9001,4759,12150,9812,1,0,4499,8806,2546731.496,9001,8807,-4354009.816,9001,8811,45.1833,9110,8812,-86,9110,8813,337.25556,9102,8814,337.25556,9102,8815,0.9996,9201,,,,,,, -3592,"NAD83(NSRS2007) / Michigan South",9001,4759,12143,9802,1,0,4499,8821,41.3,9110,8822,-84.22,9110,8823,43.4,9110,8824,42.06,9110,8826,4000000,9001,8827,0,9001,,,,,,,,,, -3593,"NAD83(NSRS2007) / Michigan South (ft)",9002,4759,15335,9802,1,0,4495,8821,41.3,9110,8822,-84.22,9110,8823,43.4,9110,8824,42.06,9110,8826,13123359.58,9002,8827,0,9002,,,,,,,,,, -3594,"NAD83(NSRS2007) / Minnesota Central",9001,4759,12232,9802,1,0,4499,8821,45,9110,8822,-94.15,9110,8823,47.03,9110,8824,45.37,9110,8826,800000,9001,8827,100000,9001,,,,,,,,,, -3595,"NAD83(NSRS2007) / Minnesota North",9001,4759,12231,9802,1,0,4499,8821,46.3,9110,8822,-93.06,9110,8823,48.38,9110,8824,47.02,9110,8826,800000,9001,8827,100000,9001,,,,,,,,,, -3596,"NAD83(NSRS2007) / Minnesota South",9001,4759,12233,9802,1,0,4499,8821,43,9110,8822,-94,9110,8823,45.13,9110,8824,43.47,9110,8826,800000,9001,8827,100000,9001,,,,,,,,,, -3597,"NAD83(NSRS2007) / Mississippi East",9001,4759,12331,9807,1,0,4499,8801,29.3,9110,8802,-88.5,9110,8805,0.99995,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -3598,"NAD83(NSRS2007) / Mississippi East (ftUS)",9003,4759,15336,9807,1,0,4497,8801,29.3,9110,8802,-88.5,9110,8805,0.99995,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -3599,"NAD83(NSRS2007) / Mississippi West",9001,4759,12332,9807,1,0,4499,8801,29.3,9110,8802,-90.2,9110,8805,0.99995,9201,8806,700000,9001,8807,0,9001,,,,,,,,,,,,, -3600,"NAD83(NSRS2007) / Mississippi West (ftUS)",9003,4759,15337,9807,1,0,4497,8801,29.3,9110,8802,-90.2,9110,8805,0.99995,9201,8806,2296583.333,9003,8807,0,9003,,,,,,,,,,,,, -3601,"NAD83(NSRS2007) / Missouri Central",9001,4759,12432,9807,1,0,4499,8801,35.5,9110,8802,-92.3,9110,8805,0.999933333,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3602,"NAD83(NSRS2007) / Missouri East",9001,4759,12431,9807,1,0,4499,8801,35.5,9110,8802,-90.3,9110,8805,0.999933333,9201,8806,250000,9001,8807,0,9001,,,,,,,,,,,,, -3603,"NAD83(NSRS2007) / Missouri West",9001,4759,12433,9807,1,0,4499,8801,36.1,9110,8802,-94.3,9110,8805,0.999941177,9201,8806,850000,9001,8807,0,9001,,,,,,,,,,,,, -3604,"NAD83(NSRS2007) / Montana",9001,4759,12530,9802,1,0,4499,8821,44.15,9110,8822,-109.3,9110,8823,49,9110,8824,45,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3605,"NAD83(NSRS2007) / Montana (ft)",9002,4759,15338,9802,1,0,4495,8821,44.15,9110,8822,-109.3,9110,8823,49,9110,8824,45,9110,8826,1968503.937,9002,8827,0,9002,,,,,,,,,, -3606,"NAD83(NSRS2007) / Nebraska",9001,4759,12630,9802,1,0,4499,8821,39.5,9110,8822,-100,9110,8823,43,9110,8824,40,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -3607,"NAD83(NSRS2007) / Nevada Central",9001,4759,12732,9807,1,0,4499,8801,34.45,9110,8802,-116.4,9110,8805,0.9999,9201,8806,500000,9001,8807,6000000,9001,,,,,,,,,,,,, -3608,"NAD83(NSRS2007) / Nevada Central (ftUS)",9003,4759,15382,9807,1,0,4497,8801,34.45,9110,8802,-116.4,9110,8805,0.9999,9201,8806,1640416.6667,9003,8807,19685000,9003,,,,,,,,,,,,, -3609,"NAD83(NSRS2007) / Nevada East",9001,4759,12731,9807,1,0,4499,8801,34.45,9110,8802,-115.35,9110,8805,0.9999,9201,8806,200000,9001,8807,8000000,9001,,,,,,,,,,,,, -3610,"NAD83(NSRS2007) / Nevada East (ftUS)",9003,4759,15381,9807,1,0,4497,8801,34.45,9110,8802,-115.35,9110,8805,0.9999,9201,8806,656166.6667,9003,8807,26246666.6667,9003,,,,,,,,,,,,, -3611,"NAD83(NSRS2007) / Nevada West",9001,4759,12733,9807,1,0,4499,8801,34.45,9110,8802,-118.35,9110,8805,0.9999,9201,8806,800000,9001,8807,4000000,9001,,,,,,,,,,,,, -3612,"NAD83(NSRS2007) / Nevada West (ftUS)",9003,4759,15383,9807,1,0,4497,8801,34.45,9110,8802,-118.35,9110,8805,0.9999,9201,8806,2624666.6667,9003,8807,13123333.3333,9003,,,,,,,,,,,,, -3613,"NAD83(NSRS2007) / New Hampshire",9001,4759,12830,9807,1,0,4499,8801,42.3,9110,8802,-71.4,9110,8805,0.999966667,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -3614,"NAD83(NSRS2007) / New Hampshire (ftUS)",9003,4759,15389,9807,1,0,4497,8801,42.3,9110,8802,-71.4,9110,8805,0.999966667,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -3615,"NAD83(NSRS2007) / New Jersey",9001,4759,12930,9807,1,0,4499,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -3616,"NAD83(NSRS2007) / New Jersey (ftUS)",9003,4759,15384,9807,1,0,4497,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,492125,9003,8807,0,9003,,,,,,,,,,,,, -3617,"NAD83(NSRS2007) / New Mexico Central",9001,4759,13032,9807,1,0,4499,8801,31,9110,8802,-106.15,9110,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3618,"NAD83(NSRS2007) / New Mexico Central (ftUS)",9003,4759,15340,9807,1,0,4497,8801,31,9110,8802,-106.15,9110,8805,0.9999,9201,8806,1640416.667,9003,8807,0,9003,,,,,,,,,,,,, -3619,"NAD83(NSRS2007) / New Mexico East",9001,4759,13031,9807,1,0,4499,8801,31,9110,8802,-104.2,9110,8805,0.999909091,9201,8806,165000,9001,8807,0,9001,,,,,,,,,,,,, -3620,"NAD83(NSRS2007) / New Mexico East (ftUS)",9003,4759,15339,9807,1,0,4497,8801,31,9110,8802,-104.2,9110,8805,0.999909091,9201,8806,541337.5,9003,8807,0,9003,,,,,,,,,,,,, -3621,"NAD83(NSRS2007) / New Mexico West",9001,4759,13033,9807,1,0,4499,8801,31,9110,8802,-107.5,9110,8805,0.999916667,9201,8806,830000,9001,8807,0,9001,,,,,,,,,,,,, -3622,"NAD83(NSRS2007) / New Mexico West (ftUS)",9003,4759,15341,9807,1,0,4497,8801,31,9110,8802,-107.5,9110,8805,0.999916667,9201,8806,2723091.667,9003,8807,0,9003,,,,,,,,,,,,, -3623,"NAD83(NSRS2007) / New York Central",9001,4759,13132,9807,1,0,4499,8801,40,9110,8802,-76.35,9110,8805,0.9999375,9201,8806,250000,9001,8807,0,9001,,,,,,,,,,,,, -3624,"NAD83(NSRS2007) / New York Central (ftUS)",9003,4759,15343,9807,1,0,4497,8801,40,9110,8802,-76.35,9110,8805,0.9999375,9201,8806,820208.333,9003,8807,0,9003,,,,,,,,,,,,, -3625,"NAD83(NSRS2007) / New York East",9001,4759,13131,9807,1,0,4499,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -3626,"NAD83(NSRS2007) / New York East (ftUS)",9003,4759,15342,9807,1,0,4497,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,492125,9003,8807,0,9003,,,,,,,,,,,,, -3627,"NAD83(NSRS2007) / New York Long Island",9001,4759,13134,9802,1,0,4499,8821,40.1,9110,8822,-74,9110,8823,41.02,9110,8824,40.4,9110,8826,300000,9001,8827,0,9001,,,,,,,,,, -3628,"NAD83(NSRS2007) / New York Long Island (ftUS)",9003,4759,15345,9802,1,0,4497,8821,40.1,9110,8822,-74,9110,8823,41.02,9110,8824,40.4,9110,8826,984250,9003,8827,0,9003,,,,,,,,,, -3629,"NAD83(NSRS2007) / New York West",9001,4759,13133,9807,1,0,4499,8801,40,9110,8802,-78.35,9110,8805,0.9999375,9201,8806,350000,9001,8807,0,9001,,,,,,,,,,,,, -3630,"NAD83(NSRS2007) / New York West (ftUS)",9003,4759,15344,9807,1,0,4497,8801,40,9110,8802,-78.35,9110,8805,0.9999375,9201,8806,1148291.667,9003,8807,0,9003,,,,,,,,,,,,, -3631,"NAD83(NSRS2007) / North Carolina",9001,4759,13230,9802,1,0,4499,8821,33.45,9110,8822,-79,9110,8823,36.1,9110,8824,34.2,9110,8826,609601.22,9001,8827,0,9001,,,,,,,,,, -3632,"NAD83(NSRS2007) / North Carolina (ftUS)",9003,4759,15346,9802,1,0,4497,8821,33.45,9110,8822,-79,9110,8823,36.1,9110,8824,34.2,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -3633,"NAD83(NSRS2007) / North Dakota North",9001,4759,13331,9802,1,0,4499,8821,47,9110,8822,-100.3,9110,8823,48.44,9110,8824,47.26,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3634,"NAD83(NSRS2007) / North Dakota North (ft)",9002,4759,15347,9802,1,0,4495,8821,47,9110,8822,-100.3,9110,8823,48.44,9110,8824,47.26,9110,8826,1968503.937,9002,8827,0,9002,,,,,,,,,, -3635,"NAD83(NSRS2007) / North Dakota South",9001,4759,13332,9802,1,0,4499,8821,45.4,9110,8822,-100.3,9110,8823,47.29,9110,8824,46.11,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3636,"NAD83(NSRS2007) / North Dakota South (ft)",9002,4759,15348,9802,1,0,4495,8821,45.4,9110,8822,-100.3,9110,8823,47.29,9110,8824,46.11,9110,8826,1968503.937,9002,8827,0,9002,,,,,,,,,, -3637,"NAD83(NSRS2007) / Ohio North",9001,4759,13431,9802,1,0,4499,8821,39.4,9110,8822,-82.3,9110,8823,41.42,9110,8824,40.26,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3638,"NAD83(NSRS2007) / Ohio South",9001,4759,13432,9802,1,0,4499,8821,38,9110,8822,-82.3,9110,8823,40.02,9110,8824,38.44,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3639,"NAD83(NSRS2007) / Oklahoma North",9001,4759,13531,9802,1,0,4499,8821,35,9110,8822,-98,9110,8823,36.46,9110,8824,35.34,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3640,"NAD83(NSRS2007) / Oklahoma North (ftUS)",9003,4759,15349,9802,1,0,4497,8821,35,9110,8822,-98,9110,8823,36.46,9110,8824,35.34,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3641,"NAD83(NSRS2007) / Oklahoma South",9001,4759,13532,9802,1,0,4499,8821,33.2,9110,8822,-98,9110,8823,35.14,9110,8824,33.56,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3642,"NAD83(NSRS2007) / Oklahoma South (ftUS)",9003,4759,15350,9802,1,0,4497,8821,33.2,9110,8822,-98,9110,8823,35.14,9110,8824,33.56,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3643,"NAD83(NSRS2007) / Oregon LCC (m)",9001,4759,13633,9802,1,0,4499,8821,41.45,9110,8822,-120.3,9110,8823,43,9110,8824,45.3,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -3644,"NAD83(NSRS2007) / Oregon GIC Lambert (ft)",9002,4759,15374,9802,1,0,4495,8821,41.45,9110,8822,-120.3,9110,8823,43,9110,8824,45.3,9110,8826,1312335.958,9002,8827,0,9002,,,,,,,,,, -3645,"NAD83(NSRS2007) / Oregon North",9001,4759,13631,9802,1,0,4499,8821,43.4,9110,8822,-120.3,9110,8823,46,9110,8824,44.2,9110,8826,2500000,9001,8827,0,9001,,,,,,,,,, -3646,"NAD83(NSRS2007) / Oregon North (ft)",9002,4759,15351,9802,1,0,4495,8821,43.4,9110,8822,-120.3,9110,8823,46,9110,8824,44.2,9110,8826,8202099.738,9002,8827,0,9002,,,,,,,,,, -3647,"NAD83(NSRS2007) / Oregon South",9001,4759,13632,9802,1,0,4499,8821,41.4,9110,8822,-120.3,9110,8823,44,9110,8824,42.2,9110,8826,1500000,9001,8827,0,9001,,,,,,,,,, -3648,"NAD83(NSRS2007) / Oregon South (ft)",9002,4759,15352,9802,1,0,4495,8821,41.4,9110,8822,-120.3,9110,8823,44,9110,8824,42.2,9110,8826,4921259.843,9002,8827,0,9002,,,,,,,,,, -3649,"NAD83(NSRS2007) / Pennsylvania North",9001,4759,13731,9802,1,0,4499,8821,40.1,9110,8822,-77.45,9110,8823,41.57,9110,8824,40.53,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3650,"NAD83(NSRS2007) / Pennsylvania North (ftUS)",9003,4759,15353,9802,1,0,4497,8821,40.1,9110,8822,-77.45,9110,8823,41.57,9110,8824,40.53,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3651,"NAD83(NSRS2007) / Pennsylvania South",9001,4759,13732,9802,1,0,4499,8821,39.2,9110,8822,-77.45,9110,8823,40.58,9110,8824,39.56,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3652,"NAD83(NSRS2007) / Pennsylvania South (ftUS)",9003,4759,15354,9802,1,0,4497,8821,39.2,9110,8822,-77.45,9110,8823,40.58,9110,8824,39.56,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3653,"NAD83(NSRS2007) / Rhode Island",9001,4759,13830,9807,1,0,4499,8801,41.05,9110,8802,-71.3,9110,8805,0.99999375,9201,8806,100000,9001,8807,0,9001,,,,,,,,,,,,, -3654,"NAD83(NSRS2007) / Rhode Island (ftUS)",9003,4759,15390,9807,1,0,4497,8801,41.05,9110,8802,-71.3,9110,8805,0.99999375,9201,8806,328083.3333,9003,8807,0,9003,,,,,,,,,,,,, -3655,"NAD83(NSRS2007) / South Carolina",9001,4759,13930,9802,1,0,4499,8821,31.5,9110,8822,-81,9110,8823,34.5,9110,8824,32.3,9110,8826,609600,9001,8827,0,9001,,,,,,,,,, -3656,"NAD83(NSRS2007) / South Carolina (ft)",9002,4759,15355,9802,1,0,4495,8821,31.5,9110,8822,-81,9110,8823,34.5,9110,8824,32.3,9110,8826,2000000,9002,8827,0,9002,,,,,,,,,, -3657,"NAD83(NSRS2007) / South Dakota North",9001,4759,14031,9802,1,0,4499,8821,43.5,9110,8822,-100,9110,8823,45.41,9110,8824,44.25,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3658,"NAD83(NSRS2007) / South Dakota North (ftUS)",9003,4759,15394,9802,1,0,4497,8821,43.5,9110,8822,-100,9110,8823,45.41,9110,8824,44.25,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3659,"NAD83(NSRS2007) / South Dakota South",9001,4759,14032,9802,1,0,4499,8821,42.2,9110,8822,-100.2,9110,8823,44.24,9110,8824,42.5,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3660,"NAD83(NSRS2007) / South Dakota South (ftUS)",9003,4759,15395,9802,1,0,4497,8821,42.2,9110,8822,-100.2,9110,8823,44.24,9110,8824,42.5,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3661,"NAD83(NSRS2007) / Tennessee",9001,4759,14130,9802,1,0,4499,8821,34.2,9110,8822,-86,9110,8823,36.25,9110,8824,35.15,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3662,"NAD83(NSRS2007) / Tennessee (ftUS)",9003,4759,15356,9802,1,0,4497,8821,34.2,9110,8822,-86,9110,8823,36.25,9110,8824,35.15,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3663,"NAD83(NSRS2007) / Texas Central",9001,4759,14233,9802,1,0,4499,8821,29.4,9110,8822,-100.2,9110,8823,31.53,9110,8824,30.07,9110,8826,700000,9001,8827,3000000,9001,,,,,,,,,, -3664,"NAD83(NSRS2007) / Texas Central (ftUS)",9003,4759,15359,9802,1,0,4497,8821,29.4,9110,8822,-100.2,9110,8823,31.53,9110,8824,30.07,9110,8826,2296583.333,9003,8827,9842500,9003,,,,,,,,,, -3665,"NAD83(NSRS2007) / Texas Centric Albers Equal Area",9001,4759,14254,9822,1,0,4499,8821,18,9110,8822,-100,9110,8823,27.3,9110,8824,35,9110,8826,1500000,9001,8827,6000000,9001,,,,,,,,,, -3666,"NAD83(NSRS2007) / Texas Centric Lambert Conformal",9001,4759,14253,9802,1,0,4499,8821,18,9110,8822,-100,9110,8823,27.3,9110,8824,35,9110,8826,1500000,9001,8827,5000000,9001,,,,,,,,,, -3667,"NAD83(NSRS2007) / Texas North",9001,4759,14231,9802,1,0,4499,8821,34,9110,8822,-101.3,9110,8823,36.11,9110,8824,34.39,9110,8826,200000,9001,8827,1000000,9001,,,,,,,,,, -3668,"NAD83(NSRS2007) / Texas North (ftUS)",9003,4759,15357,9802,1,0,4497,8821,34,9110,8822,-101.3,9110,8823,36.11,9110,8824,34.39,9110,8826,656166.667,9003,8827,3280833.333,9003,,,,,,,,,, -3669,"NAD83(NSRS2007) / Texas North Central",9001,4759,14232,9802,1,0,4499,8821,31.4,9110,8822,-98.3,9110,8823,33.58,9110,8824,32.08,9110,8826,600000,9001,8827,2000000,9001,,,,,,,,,, -3670,"NAD83(NSRS2007) / Texas North Central (ftUS)",9003,4759,15358,9802,1,0,4497,8821,31.4,9110,8822,-98.3,9110,8823,33.58,9110,8824,32.08,9110,8826,1968500,9003,8827,6561666.667,9003,,,,,,,,,, -3671,"NAD83(NSRS2007) / Texas South",9001,4759,14235,9802,1,0,4499,8821,25.4,9110,8822,-98.3,9110,8823,27.5,9110,8824,26.1,9110,8826,300000,9001,8827,5000000,9001,,,,,,,,,, -3672,"NAD83(NSRS2007) / Texas South (ftUS)",9003,4759,15361,9802,1,0,4497,8821,25.4,9110,8822,-98.3,9110,8823,27.5,9110,8824,26.1,9110,8826,984250,9003,8827,16404166.667,9003,,,,,,,,,, -3673,"NAD83(NSRS2007) / Texas South Central",9001,4759,14234,9802,1,0,4499,8821,27.5,9110,8822,-99,9110,8823,30.17,9110,8824,28.23,9110,8826,600000,9001,8827,4000000,9001,,,,,,,,,, -3674,"NAD83(NSRS2007) / Texas South Central (ftUS)",9003,4759,15360,9802,1,0,4497,8821,27.5,9110,8822,-99,9110,8823,30.17,9110,8824,28.23,9110,8826,1968500,9003,8827,13123333.333,9003,,,,,,,,,, -3675,"NAD83(NSRS2007) / Utah Central",9001,4759,14332,9802,1,0,4499,8821,38.2,9110,8822,-111.3,9110,8823,40.39,9110,8824,39.01,9110,8826,500000,9001,8827,2000000,9001,,,,,,,,,, -3676,"NAD83(NSRS2007) / Utah Central (ft)",9002,4759,15363,9802,0,0,4495,8821,38.2,9110,8822,-111.3,9110,8823,40.39,9110,8824,39.01,9110,8826,1640419.948,9002,8827,6561679.79,9002,,,,,,,,,, -3677,"NAD83(NSRS2007) / Utah Central (ftUS)",9003,4759,15298,9802,1,0,4497,8821,38.2,9110,8822,-111.3,9110,8823,40.39,9110,8824,39.01,9110,8826,1640416.6667,9003,8827,6561666.6667,9003,,,,,,,,,, -3678,"NAD83(NSRS2007) / Utah North",9001,4759,14331,9802,1,0,4499,8821,40.2,9110,8822,-111.3,9110,8823,41.47,9110,8824,40.43,9110,8826,500000,9001,8827,1000000,9001,,,,,,,,,, -3679,"NAD83(NSRS2007) / Utah North (ft)",9002,4759,15362,9802,0,0,4495,8821,40.2,9110,8822,-111.3,9110,8823,41.47,9110,8824,40.43,9110,8826,1640419.948,9002,8827,3280839.895,9002,,,,,,,,,, -3680,"NAD83(NSRS2007) / Utah North (ftUS)",9003,4759,15297,9802,1,0,4497,8821,40.2,9110,8822,-111.3,9110,8823,41.47,9110,8824,40.43,9110,8826,1640416.6667,9003,8827,3280833.3333,9003,,,,,,,,,, -3681,"NAD83(NSRS2007) / Utah South",9001,4759,14333,9802,1,0,4499,8821,36.4,9110,8822,-111.3,9110,8823,38.21,9110,8824,37.13,9110,8826,500000,9001,8827,3000000,9001,,,,,,,,,, -3682,"NAD83(NSRS2007) / Utah South (ft)",9002,4759,15364,9802,0,0,4495,8821,36.4,9110,8822,-111.3,9110,8823,38.21,9110,8824,37.13,9110,8826,1640419.948,9002,8827,9842519.685,9002,,,,,,,,,, -3683,"NAD83(NSRS2007) / Utah South (ftUS)",9003,4759,15299,9802,1,0,4497,8821,36.4,9110,8822,-111.3,9110,8823,38.21,9110,8824,37.13,9110,8826,1640416.6667,9003,8827,9842500,9003,,,,,,,,,, -3684,"NAD83(NSRS2007) / Vermont",9001,4759,14430,9807,1,0,4499,8801,42.3,9110,8802,-72.3,9110,8805,0.999964286,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3685,"NAD83(NSRS2007) / Virginia North",9001,4759,14531,9802,1,0,4499,8821,37.4,9110,8822,-78.3,9110,8823,39.12,9110,8824,38.02,9110,8826,3500000,9001,8827,2000000,9001,,,,,,,,,, -3686,"NAD83(NSRS2007) / Virginia North (ftUS)",9003,4759,15365,9802,1,0,4497,8821,37.4,9110,8822,-78.3,9110,8823,39.12,9110,8824,38.02,9110,8826,11482916.667,9003,8827,6561666.667,9003,,,,,,,,,, -3687,"NAD83(NSRS2007) / Virginia South",9001,4759,14532,9802,1,0,4499,8821,36.2,9110,8822,-78.3,9110,8823,37.58,9110,8824,36.46,9110,8826,3500000,9001,8827,1000000,9001,,,,,,,,,, -3688,"NAD83(NSRS2007) / Virginia South (ftUS)",9003,4759,15366,9802,1,0,4497,8821,36.2,9110,8822,-78.3,9110,8823,37.58,9110,8824,36.46,9110,8826,11482916.667,9003,8827,3280833.333,9003,,,,,,,,,, -3689,"NAD83(NSRS2007) / Washington North",9001,4759,14631,9802,1,0,4499,8821,47,9110,8822,-120.5,9110,8823,48.44,9110,8824,47.3,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -3690,"NAD83(NSRS2007) / Washington North (ftUS)",9003,4759,15367,9802,1,0,4497,8821,47,9110,8822,-120.5,9110,8823,48.44,9110,8824,47.3,9110,8826,1640416.667,9003,8827,0,9003,,,,,,,,,, -3691,"NAD83(NSRS2007) / Washington South",9001,4759,14632,9802,1,0,4499,8821,45.2,9110,8822,-120.3,9110,8823,47.2,9110,8824,45.5,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -3692,"NAD83(NSRS2007) / Washington South (ftUS)",9003,4759,15368,9802,1,0,4497,8821,45.2,9110,8822,-120.3,9110,8823,47.2,9110,8824,45.5,9110,8826,1640416.667,9003,8827,0,9003,,,,,,,,,, -3693,"NAD83(NSRS2007) / West Virginia North",9001,4759,14731,9802,1,0,4499,8821,38.3,9110,8822,-79.3,9110,8823,40.15,9110,8824,39,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3694,"NAD83(NSRS2007) / West Virginia South",9001,4759,14732,9802,1,0,4499,8821,37,9110,8822,-81,9110,8823,38.53,9110,8824,37.29,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3695,"NAD83(NSRS2007) / Wisconsin Central",9001,4759,14832,9802,1,0,4499,8821,43.5,9110,8822,-90,9110,8823,45.3,9110,8824,44.15,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3696,"NAD83(NSRS2007) / Wisconsin Central (ftUS)",9003,4759,15370,9802,1,0,4497,8821,43.5,9110,8822,-90,9110,8823,45.3,9110,8824,44.15,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3697,"NAD83(NSRS2007) / Wisconsin North",9001,4759,14831,9802,1,0,4499,8821,45.1,9110,8822,-90,9110,8823,46.46,9110,8824,45.34,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3698,"NAD83(NSRS2007) / Wisconsin North (ftUS)",9003,4759,15369,9802,1,0,4497,8821,45.1,9110,8822,-90,9110,8823,46.46,9110,8824,45.34,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3699,"NAD83(NSRS2007) / Wisconsin South",9001,4759,14833,9802,1,0,4499,8821,42,9110,8822,-90,9110,8823,44.04,9110,8824,42.44,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -3700,"NAD83(NSRS2007) / Wisconsin South (ftUS)",9003,4759,15371,9802,1,0,4497,8821,42,9110,8822,-90,9110,8823,44.04,9110,8824,42.44,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3701,"NAD83(NSRS2007) / Wisconsin Transverse Mercator",9001,4759,14841,9807,1,0,4499,8801,0,9102,8802,-90,9102,8805,0.9996,9201,8806,520000,9001,8807,-4480000,9001,,,,,,,,,,,,, -3702,"NAD83(NSRS2007) / Wyoming East",9001,4759,14931,9807,1,0,4499,8801,40.3,9110,8802,-105.1,9110,8805,0.9999375,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -3703,"NAD83(NSRS2007) / Wyoming East Central",9001,4759,14932,9807,1,0,4499,8801,40.3,9110,8802,-107.2,9110,8805,0.9999375,9201,8806,400000,9001,8807,100000,9001,,,,,,,,,,,,, -3704,"NAD83(NSRS2007) / Wyoming West Central",9001,4759,14933,9807,1,0,4499,8801,40.3,9110,8802,-108.45,9110,8805,0.9999375,9201,8806,600000,9001,8807,0,9001,,,,,,,,,,,,, -3705,"NAD83(NSRS2007) / Wyoming West",9001,4759,14934,9807,1,0,4499,8801,40.3,9110,8802,-110.05,9110,8805,0.9999375,9201,8806,800000,9001,8807,100000,9001,,,,,,,,,,,,, -3706,"NAD83(NSRS2007) / UTM zone 59N",9001,4759,16059,9807,1,0,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3707,"NAD83(NSRS2007) / UTM zone 60N",9001,4759,16060,9807,1,0,4400,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3708,"NAD83(NSRS2007) / UTM zone 1N",9001,4759,16001,9807,1,0,4400,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3709,"NAD83(NSRS2007) / UTM zone 2N",9001,4759,16002,9807,1,0,4400,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3710,"NAD83(NSRS2007) / UTM zone 3N",9001,4759,16003,9807,1,0,4400,8801,0,9102,8802,-165,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3711,"NAD83(NSRS2007) / UTM zone 4N",9001,4759,16004,9807,1,0,4400,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3712,"NAD83(NSRS2007) / UTM zone 5N",9001,4759,16005,9807,1,0,4400,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3713,"NAD83(NSRS2007) / UTM zone 6N",9001,4759,16006,9807,1,0,4400,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3714,"NAD83(NSRS2007) / UTM zone 7N",9001,4759,16007,9807,1,0,4400,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3715,"NAD83(NSRS2007) / UTM zone 8N",9001,4759,16008,9807,1,0,4400,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3716,"NAD83(NSRS2007) / UTM zone 9N",9001,4759,16009,9807,1,0,4400,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3717,"NAD83(NSRS2007) / UTM zone 10N",9001,4759,16010,9807,1,0,4400,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3718,"NAD83(NSRS2007) / UTM zone 11N",9001,4759,16011,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3719,"NAD83(NSRS2007) / UTM zone 12N",9001,4759,16012,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3720,"NAD83(NSRS2007) / UTM zone 13N",9001,4759,16013,9807,1,0,4400,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3721,"NAD83(NSRS2007) / UTM zone 14N",9001,4759,16014,9807,1,0,4400,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3722,"NAD83(NSRS2007) / UTM zone 15N",9001,4759,16015,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3723,"NAD83(NSRS2007) / UTM zone 16N",9001,4759,16016,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3724,"NAD83(NSRS2007) / UTM zone 17N",9001,4759,16017,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3725,"NAD83(NSRS2007) / UTM zone 18N",9001,4759,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3726,"NAD83(NSRS2007) / UTM zone 19N",9001,4759,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3727,"Reunion 1947 / TM Reunion",9001,4626,19856,9807,1,0,4499,8801,-21.07,9110,8802,55.32,9110,8805,1,9201,8806,160000,9001,8807,50000,9001,,,,,,,,,,,,, -3728,"NAD83(NSRS2007) / Ohio North (ftUS)",9003,4759,13433,9802,1,0,4497,8821,39.4,9110,8822,-82.3,9110,8823,41.42,9110,8824,40.26,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3729,"NAD83(NSRS2007) / Ohio South (ftUS)",9003,4759,13434,9802,1,0,4497,8821,38,9110,8822,-82.3,9110,8823,40.02,9110,8824,38.44,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3730,"NAD83(NSRS2007) / Wyoming East (ftUS)",9003,4759,14935,9807,1,0,4497,8801,40.3,9110,8802,-105.1,9110,8805,0.9999375,9201,8806,656166.6667,9003,8807,0,9003,,,,,,,,,,,,, -3731,"NAD83(NSRS2007) / Wyoming East Central (ftUS)",9003,4759,14936,9807,1,0,4497,8801,40.3,9110,8802,-107.2,9110,8805,0.9999375,9201,8806,1312333.3333,9003,8807,328083.3333,9003,,,,,,,,,,,,, -3732,"NAD83(NSRS2007) / Wyoming West Central (ftUS)",9003,4759,14937,9807,1,0,4497,8801,40.3,9110,8802,-108.45,9110,8805,0.9999375,9201,8806,1968500,9003,8807,0,9003,,,,,,,,,,,,, -3733,"NAD83(NSRS2007) / Wyoming West (ftUS)",9003,4759,14938,9807,1,0,4497,8801,40.3,9110,8802,-110.05,9110,8805,0.9999375,9201,8806,2624666.6667,9003,8807,328083.3333,9003,,,,,,,,,,,,, -3734,"NAD83 / Ohio North (ftUS)",9003,4269,13433,9802,1,0,4497,8821,39.4,9110,8822,-82.3,9110,8823,41.42,9110,8824,40.26,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3735,"NAD83 / Ohio South (ftUS)",9003,4269,13434,9802,1,0,4497,8821,38,9110,8822,-82.3,9110,8823,40.02,9110,8824,38.44,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3736,"NAD83 / Wyoming East (ftUS)",9003,4269,14935,9807,1,0,4497,8801,40.3,9110,8802,-105.1,9110,8805,0.9999375,9201,8806,656166.6667,9003,8807,0,9003,,,,,,,,,,,,, -3737,"NAD83 / Wyoming East Central (ftUS)",9003,4269,14936,9807,1,0,4497,8801,40.3,9110,8802,-107.2,9110,8805,0.9999375,9201,8806,1312333.3333,9003,8807,328083.3333,9003,,,,,,,,,,,,, -3738,"NAD83 / Wyoming West Central (ftUS)",9003,4269,14937,9807,1,0,4497,8801,40.3,9110,8802,-108.45,9110,8805,0.9999375,9201,8806,1968500,9003,8807,0,9003,,,,,,,,,,,,, -3739,"NAD83 / Wyoming West (ftUS)",9003,4269,14938,9807,1,0,4497,8801,40.3,9110,8802,-110.05,9110,8805,0.9999375,9201,8806,2624666.6667,9003,8807,328083.3333,9003,,,,,,,,,,,,, -3740,"NAD83(HARN) / UTM zone 10N",9001,4152,16010,9807,1,0,4400,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3741,"NAD83(HARN) / UTM zone 11N",9001,4152,16011,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3742,"NAD83(HARN) / UTM zone 12N",9001,4152,16012,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3743,"NAD83(HARN) / UTM zone 13N",9001,4152,16013,9807,1,0,4400,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3744,"NAD83(HARN) / UTM zone 14N",9001,4152,16014,9807,1,0,4400,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3745,"NAD83(HARN) / UTM zone 15N",9001,4152,16015,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3746,"NAD83(HARN) / UTM zone 16N",9001,4152,16016,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3747,"NAD83(HARN) / UTM zone 17N",9001,4152,16017,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3748,"NAD83(HARN) / UTM zone 18N",9001,4152,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3749,"NAD83(HARN) / UTM zone 19N",9001,4152,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3750,"NAD83(HARN) / UTM zone 4N",9001,4152,16004,9807,1,0,4400,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3751,"NAD83(HARN) / UTM zone 5N",9001,4152,16005,9807,1,0,4400,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3752,"WGS 84 / Mercator 41",9001,4326,19855,9804,1,1,4499,8801,-41,9102,8802,100,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3753,"NAD83(HARN) / Ohio North (ftUS)",9003,4152,13433,9802,1,0,4497,8821,39.4,9110,8822,-82.3,9110,8823,41.42,9110,8824,40.26,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3754,"NAD83(HARN) / Ohio South (ftUS)",9003,4152,13434,9802,1,0,4497,8821,38,9110,8822,-82.3,9110,8823,40.02,9110,8824,38.44,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -3755,"NAD83(HARN) / Wyoming East (ftUS)",9003,4152,14935,9807,1,0,4497,8801,40.3,9110,8802,-105.1,9110,8805,0.9999375,9201,8806,656166.6667,9003,8807,0,9003,,,,,,,,,,,,, -3756,"NAD83(HARN) / Wyoming East Central (ftUS)",9003,4152,14936,9807,1,0,4497,8801,40.3,9110,8802,-107.2,9110,8805,0.9999375,9201,8806,1312333.3333,9003,8807,328083.3333,9003,,,,,,,,,,,,, -3757,"NAD83(HARN) / Wyoming West Central (ftUS)",9003,4152,14937,9807,1,0,4497,8801,40.3,9110,8802,-108.45,9110,8805,0.9999375,9201,8806,1968500,9003,8807,0,9003,,,,,,,,,,,,, -3758,"NAD83(HARN) / Wyoming West (ftUS)",9003,4152,14938,9807,1,0,4497,8801,40.3,9110,8802,-110.05,9110,8805,0.9999375,9201,8806,2624666.6667,9003,8807,328083.3333,9003,,,,,,,,,,,,, -3759,"NAD83 / Hawaii zone 3 (ftUS)",9003,4269,15138,9807,1,0,4497,8801,21.1,9110,8802,-158,9110,8805,0.99999,9201,8806,1640416.6667,9003,8807,0,9003,,,,,,,,,,,,, -3760,"NAD83(HARN) / Hawaii zone 3 (ftUS)",9003,4152,15138,9807,1,0,4497,8801,21.1,9110,8802,-158,9110,8805,0.99999,9201,8806,1640416.6667,9003,8807,0,9003,,,,,,,,,,,,, -3761,"NAD83(CSRS) / UTM zone 22N",9001,4617,16022,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3762,"WGS 84 / South Georgia Lambert",9001,4326,19854,9802,1,0,4400,8821,-55,9102,8822,-37,9102,8823,-54,9110,8824,-54.45,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3763,"ETRS89 / Portugal TM06",9001,4258,19853,9807,1,0,4499,8801,39.400573,9110,8802,-8.075919,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3764,"NZGD2000 / Chatham Island Circuit 2000",9001,4167,17959,9807,1,0,4500,8801,-44,9110,8802,-176.3,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,,,,,,,,, -3765,"HTRS96 / Croatia TM",9001,4761,19851,9807,1,0,4400,8801,0,9102,8802,16.5,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3766,"HTRS96 / Croatia LCC",9001,4761,19852,9802,1,0,4400,8821,0,9102,8822,16.3,9110,8823,45.55,9110,8824,43.05,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -3767,"HTRS96 / UTM zone 33N",9001,4761,16033,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3768,"HTRS96 / UTM zone 34N",9001,4761,16034,9807,1,0,4400,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3769,"Bermuda 1957 / UTM zone 20N",9001,4216,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3770,"BDA2000 / Bermuda 2000 National Grid",9001,4762,19849,9807,1,0,4400,8801,32,9110,8802,-64.45,9110,8805,1,9201,8806,550000,9001,8807,100000,9001,,,,,,,,,,,,, -3771,"NAD27 / Alberta 3TM ref merid 111 W",9001,4267,17722,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3772,"NAD27 / Alberta 3TM ref merid 114 W",9001,4267,17723,9807,1,0,4400,8801,0,9102,8802,-114,9102,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3773,"NAD27 / Alberta 3TM ref merid 117 W",9001,4267,17724,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3774,"NAD27 / Alberta 3TM ref merid 120 W",9001,4267,17725,9807,1,1,4400,8801,0,9102,8802,-120,9102,8805,0.9999,9001,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3775,"NAD83 / Alberta 3TM ref merid 111 W",9001,4269,17722,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3776,"NAD83 / Alberta 3TM ref merid 114 W",9001,4269,17723,9807,1,0,4400,8801,0,9102,8802,-114,9102,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3777,"NAD83 / Alberta 3TM ref merid 117 W",9001,4269,17724,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3778,"NAD83 / Alberta 3TM ref merid 120 W",9001,4269,17725,9807,1,1,4400,8801,0,9102,8802,-120,9102,8805,0.9999,9001,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3779,"NAD83(CSRS) / Alberta 3TM ref merid 111 W",9001,4617,17722,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3780,"NAD83(CSRS) / Alberta 3TM ref merid 114 W",9001,4617,17723,9807,1,0,4400,8801,0,9102,8802,-114,9102,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3781,"NAD83(CSRS) / Alberta 3TM ref merid 117 W",9001,4617,17724,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3782,"NAD83(CSRS) / Alberta 3TM ref merid 120 W",9001,4617,17725,9807,1,1,4400,8801,0,9102,8802,-120,9102,8805,0.9999,9001,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3783,"Pitcairn 2006 / Pitcairn TM 2006",9001,4763,19848,9807,1,0,4400,8801,-25.04067894,9110,8802,-130.06466816,9110,8805,1,9201,8806,14200,9001,8807,15500,9001,,,,,,,,,,,,, -3784,"Pitcairn 1967 / UTM zone 9S",9001,4729,16109,9807,1,0,4400,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3785,"Popular Visualisation CRS / Mercator",9001,4055,19847,9841,1,1,4499,8801,0,9102,8802,0,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3786,"World Equidistant Cylindrical (Sphere)",9001,4047,19968,9823,1,1,4499,8801,0,9102,8802,0,9102,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -3787,"MGI / Slovene National Grid",9001,4312,19845,9807,1,1,4498,8801,0,9102,8802,15,9102,8805,0.9999,9201,8806,500000,9001,8807,-5000000,9001,,,,,,,,,,,,, -3788,"NZGD2000 / Auckland Islands TM 2000",9001,4167,17960,9807,1,0,4500,8801,0,9102,8802,166,9102,8805,1,9201,8806,3500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3789,"NZGD2000 / Campbell Island TM 2000",9001,4167,17961,9807,1,0,4500,8801,0,9102,8802,169,9102,8805,1,9201,8806,3500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3790,"NZGD2000 / Antipodes Islands TM 2000",9001,4167,17962,9807,1,0,4500,8801,0,9102,8802,179,9102,8805,1,9201,8806,3500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3791,"NZGD2000 / Raoul Island TM 2000",9001,4167,17963,9807,1,0,4500,8801,0,9102,8802,-178,9102,8805,1,9201,8806,3500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3793,"NZGD2000 / Chatham Islands TM 2000",9001,4167,17965,9807,1,0,4500,8801,0,9110,8802,-176.3,9110,8805,1,9201,8806,3500000,9001,8807,10000000,9001,,,,,,,,,,,,, -3794,"Slovenia 1996 / Slovene National Grid",9001,4765,19845,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9999,9201,8806,500000,9001,8807,-5000000,9001,,,,,,,,,,,,, -3795,"NAD27 / Cuba Norte",9001,4267,18063,9802,1,0,4532,8821,22.21,9110,8822,-81,9110,8823,23,9110,8824,21.42,9110,8826,500000,9001,8827,280296.016,9001,,,,,,,,,, -3796,"NAD27 / Cuba Sur",9001,4267,18064,9802,1,0,4532,8821,20.43,9110,8822,-76.5,9110,8823,21.18,9110,8824,20.08,9110,8826,500000,9001,8827,229126.939,9001,,,,,,,,,, -3797,"NAD27 / MTQ Lambert",9001,4267,19844,9802,1,0,4499,8821,44,9102,8822,-70,9102,8823,50,9102,8824,46,9102,8826,800000,9001,8827,0,9001,,,,,,,,,, -3798,"NAD83 / MTQ Lambert",9001,4269,19844,9802,1,0,4499,8821,44,9102,8822,-70,9102,8823,50,9102,8824,46,9102,8826,800000,9001,8827,0,9001,,,,,,,,,, -3799,"NAD83(CSRS) / MTQ Lambert",9001,4617,19844,9802,1,0,4499,8821,44,9102,8822,-70,9102,8823,50,9102,8824,46,9102,8826,800000,9001,8827,0,9001,,,,,,,,,, -3800,"NAD27 / Alberta 3TM ref merid 120 W",9001,4267,17726,9807,1,0,4400,8801,0,9102,8802,-120,9102,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3801,"NAD83 / Alberta 3TM ref merid 120 W",9001,4269,17726,9807,1,0,4400,8801,0,9102,8802,-120,9102,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3802,"NAD83(CSRS) / Alberta 3TM ref merid 120 W",9001,4617,17726,9807,1,0,4400,8801,0,9102,8802,-120,9102,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3812,"ETRS89 / Belgian Lambert 2008",9001,4258,3811,9802,1,0,4499,8821,50.4752134,9110,8822,4.2133177,9110,8823,49.5,9110,8824,51.1,9110,8826,649328,9001,8827,665262,9001,,,,,,,,,, -3814,"NAD83 / Mississippi TM",9001,4269,3813,9807,1,0,4499,8801,32.3,9110,8802,-89.45,9110,8805,0.9998335,9201,8806,500000,9001,8807,1300000,9001,,,,,,,,,,,,, -3815,"NAD83(HARN) / Mississippi TM",9001,4152,3813,9807,1,0,4499,8801,32.3,9110,8802,-89.45,9110,8805,0.9998335,9201,8806,500000,9001,8807,1300000,9001,,,,,,,,,,,,, -3816,"NAD83(NSRS2007) / Mississippi TM",9001,4759,3813,9807,1,0,4499,8801,32.3,9110,8802,-89.45,9110,8805,0.9998335,9201,8806,500000,9001,8807,1300000,9001,,,,,,,,,,,,, -3825,"TWD97 / TM2 zone 119",9001,3824,3818,9807,1,0,4499,8801,0,9102,8802,119,9102,8805,0.9999,9201,8806,250000,9001,8807,0,9001,,,,,,,,,,,,, -3826,"TWD97 / TM2 zone 121",9001,3824,3820,9807,1,0,4499,8801,0,9102,8802,121,9102,8805,0.9999,9201,8806,250000,9001,8807,0,9001,,,,,,,,,,,,, -3827,"TWD67 / TM2 zone 119",9001,3821,3818,9807,1,0,4499,8801,0,9102,8802,119,9102,8805,0.9999,9201,8806,250000,9001,8807,0,9001,,,,,,,,,,,,, -3828,"TWD67 / TM2 zone 121",9001,3821,3820,9807,1,0,4499,8801,0,9102,8802,121,9102,8805,0.9999,9201,8806,250000,9001,8807,0,9001,,,,,,,,,,,,, -3829,"Hu Tzu Shan 1950 / UTM zone 51N",9001,4236,16051,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3832,"WGS 84 / PDC Mercator",9001,4326,3831,9804,1,0,4400,8801,0,9102,8802,150,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -3833,"Pulkovo 1942(58) / Gauss-Kruger zone 2",9001,4179,16202,9807,1,0,4530,8801,0,9102,8802,9,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -3834,"Pulkovo 1942(83) / Gauss-Kruger zone 2",9001,4178,16202,9807,1,0,4530,8801,0,9102,8802,9,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -3835,"Pulkovo 1942(83) / Gauss-Kruger zone 3",9001,4178,16203,9807,1,0,4530,8801,0,9102,8802,15,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -3836,"Pulkovo 1942(83) / Gauss-Kruger zone 4",9001,4178,16204,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -3837,"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 3",9001,4179,16263,9807,1,0,4530,8801,0,9102,8802,9,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -3838,"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 4",9001,4179,16264,9807,1,0,4530,8801,0,9102,8802,12,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -3839,"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 9",9001,4179,16269,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,9500000,9001,8807,0,9001,,,,,,,,,,,,, -3840,"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 10",9001,4179,16270,9807,1,0,4530,8801,0,9102,8802,30,9102,8805,1,9201,8806,10500000,9001,8807,0,9001,,,,,,,,,,,,, -3841,"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 6",9001,4178,16266,9807,1,0,4530,8801,0,9102,8802,18,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -3842,"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 7",9001,4178,16266,9807,1,1,4530,8801,0,9102,8802,18,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -3843,"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 8",9001,4178,16266,9807,1,1,4530,8801,0,9102,8802,18,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -3844,"Pulkovo 1942(58) / Stereo70",9001,4179,19926,9809,1,0,4530,8801,46,9102,8802,25,9102,8805,0.99975,9201,8806,500000,9001,8807,500000,9001,,,,,,,2.329,-147.042,-92.08,0.309,-0.325,-0.497,5.69 -3845,"SWEREF99 / RT90 7.5 gon V emulation",9001,4619,17339,9807,1,0,4530,8801,0,9110,8802,11.18225,9110,8805,1.000006,9201,8806,1500025.141,9001,8807,-667.282,9001,,,,,,,,,,,,, -3846,"SWEREF99 / RT90 5 gon V emulation",9001,4619,17340,9807,1,0,4530,8801,0,9110,8802,13.332256,9110,8805,1.0000058,9201,8806,1500044.695,9001,8807,-667.13,9001,,,,,,,,,,,,, -3847,"SWEREF99 / RT90 2.5 gon V emulation",9001,4619,17341,9807,1,0,4530,8801,0,9110,8802,15.4822624306,9110,8805,1.00000561024,9201,8806,1500064.274,9001,8807,-667.711,9001,,,,,,,,,,,,, -3848,"SWEREF99 / RT90 0 gon emulation",9001,4619,17342,9807,1,0,4530,8801,0,9110,8802,18.032268,9110,8805,1.0000054,9201,8806,1500083.521,9001,8807,-668.844,9001,,,,,,,,,,,,, -3849,"SWEREF99 / RT90 2.5 gon O emulation",9001,4619,17343,9807,1,0,4530,8801,0,9110,8802,20.182274,9110,8805,1.0000052,9201,8806,1500102.765,9001,8807,-670.706,9001,,,,,,,,,,,,, -3850,"SWEREF99 / RT90 5 gon O emulation",9001,4619,17344,9807,1,0,4530,8801,0,9110,8802,22.33228,9110,8805,1.0000049,9201,8806,1500121.846,9001,8807,-672.557,9001,,,,,,,,,,,,, -3851,"NZGD2000 / NZCS2000",9001,4167,17964,9802,1,0,4500,8821,-41,9110,8822,173,9110,8823,-37.3,9110,8824,-44.3,9110,8826,3000000,9001,8827,7000000,9001,,,,,,,,,, -3852,"RSRGD2000 / DGLC2000",9001,4764,17966,9802,1,0,4500,8821,-90,9110,8822,157,9110,8823,-76.4,9110,8824,-79.2,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -3854,County ST74,9001,4619,3853,9807,1,0,4531,8801,0,9110,8802,18.0328332,9110,8805,0.99999506,9201,8806,100182.7406,9001,8807,-6500620.1207,9001,,,,,,,,,,,,, -3857,"WGS 84 / Pseudo-Mercator",9001,4326,3856,1024,1,0,4499,8801,0,9102,8802,0,9102,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -3873,"ETRS89 / GK19FIN",9001,4258,3860,9807,1,0,4500,8801,0,9102,8802,19,9102,8805,1,9201,8806,19500000,9001,8807,0,9001,,,,,,,,,,,,, -3874,"ETRS89 / GK20FIN",9001,4258,3861,9807,1,0,4500,8801,0,9102,8802,20,9102,8805,1,9201,8806,20500000,9001,8807,0,9001,,,,,,,,,,,,, -3875,"ETRS89 / GK21FIN",9001,4258,3862,9807,1,0,4500,8801,0,9102,8802,21,9102,8805,1,9201,8806,21500000,9001,8807,0,9001,,,,,,,,,,,,, -3876,"ETRS89 / GK22FIN",9001,4258,3863,9807,1,0,4500,8801,0,9102,8802,22,9102,8805,1,9201,8806,22500000,9001,8807,0,9001,,,,,,,,,,,,, -3877,"ETRS89 / GK23FIN",9001,4258,3864,9807,1,0,4500,8801,0,9102,8802,23,9102,8805,1,9201,8806,23500000,9001,8807,0,9001,,,,,,,,,,,,, -3878,"ETRS89 / GK24FIN",9001,4258,3865,9807,1,0,4500,8801,0,9102,8802,24,9102,8805,1,9201,8806,24500000,9001,8807,0,9001,,,,,,,,,,,,, -3879,"ETRS89 / GK25FIN",9001,4258,3866,9807,1,0,4500,8801,0,9102,8802,25,9102,8805,1,9201,8806,25500000,9001,8807,0,9001,,,,,,,,,,,,, -3880,"ETRS89 / GK26FIN",9001,4258,3867,9807,1,0,4500,8801,0,9102,8802,26,9102,8805,1,9201,8806,26500000,9001,8807,0,9001,,,,,,,,,,,,, -3881,"ETRS89 / GK27FIN",9001,4258,3868,9807,1,0,4500,8801,0,9102,8802,27,9102,8805,1,9201,8806,27500000,9001,8807,0,9001,,,,,,,,,,,,, -3882,"ETRS89 / GK28FIN",9001,4258,3869,9807,1,0,4500,8801,0,9102,8802,28,9102,8805,1,9201,8806,28500000,9001,8807,0,9001,,,,,,,,,,,,, -3883,"ETRS89 / GK29FIN",9001,4258,3870,9807,1,0,4500,8801,0,9102,8802,29,9102,8805,1,9201,8806,29500000,9001,8807,0,9001,,,,,,,,,,,,, -3884,"ETRS89 / GK30FIN",9001,4258,3871,9807,1,0,4500,8801,0,9102,8802,30,9102,8805,1,9201,8806,30500000,9001,8807,0,9001,,,,,,,,,,,,, -3885,"ETRS89 / GK31FIN",9001,4258,3872,9807,1,0,4500,8801,0,9102,8802,31,9102,8805,1,9201,8806,31500000,9001,8807,0,9001,,,,,,,,,,,,, -3890,"IGRS / UTM zone 37N",9001,3889,16037,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3891,"IGRS / UTM zone 38N",9001,3889,16038,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3892,"IGRS / UTM zone 39N",9001,3889,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3893,"ED50 / Iraq National Grid",9001,4230,19907,9807,1,0,4400,8801,29.0134566,9110,8802,46.3,9110,8805,0.9994,9201,8806,800000,9001,8807,0,9001,,,,,,,,,,,,, -3907,"MGI 1901 / Balkans zone 5",9001,3906,18275,9807,1,0,4530,8801,0,9102,8802,15,9102,8805,0.9999,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -3908,"MGI 1901 / Balkans zone 6",9001,3906,18276,9807,1,0,4530,8801,0,9102,8802,18,9102,8805,0.9999,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -3909,"MGI 1901 / Balkans zone 7",9001,3906,18277,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,0.9999,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -3910,"MGI 1901 / Balkans zone 8",9001,3906,18278,9807,1,0,4530,8801,0,9102,8802,24,9102,8805,0.9999,9201,8806,8500000,9001,8807,0,9001,,,,,,,,,,,,, -3911,"MGI 1901 / Slovenia Grid",9001,3906,19967,9807,1,0,4530,8801,0,9110,8802,15,9110,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3912,"MGI 1901 / Slovene National Grid",9001,3906,19845,9807,1,0,4498,8801,0,9102,8802,15,9102,8805,0.9999,9201,8806,500000,9001,8807,-5000000,9001,,,,,,,,,,,,, -3920,"Puerto Rico / UTM zone 20N",9001,4139,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -3942,"RGF93 / CC42",9001,4171,18101,9802,1,0,4499,8821,42,9102,8822,3,9102,8823,41.25,9102,8824,42.75,9102,8826,1700000,9001,8827,1200000,9001,,,,,,,,,, -3943,"RGF93 / CC43",9001,4171,18102,9802,1,0,4499,8821,43,9102,8822,3,9102,8823,42.25,9102,8824,43.75,9102,8826,1700000,9001,8827,2200000,9001,,,,,,,,,, -3944,"RGF93 / CC44",9001,4171,18103,9802,1,0,4499,8821,44,9102,8822,3,9102,8823,43.25,9102,8824,44.75,9102,8826,1700000,9001,8827,3200000,9001,,,,,,,,,, -3945,"RGF93 / CC45",9001,4171,18104,9802,1,0,4499,8821,45,9102,8822,3,9102,8823,44.25,9102,8824,45.75,9102,8826,1700000,9001,8827,4200000,9001,,,,,,,,,, -3946,"RGF93 / CC46",9001,4171,18105,9802,1,0,4499,8821,46,9102,8822,3,9102,8823,45.25,9102,8824,46.75,9102,8826,1700000,9001,8827,5200000,9001,,,,,,,,,, -3947,"RGF93 / CC47",9001,4171,18106,9802,1,0,4499,8821,47,9102,8822,3,9102,8823,46.25,9102,8824,47.75,9102,8826,1700000,9001,8827,6200000,9001,,,,,,,,,, -3948,"RGF93 / CC48",9001,4171,18107,9802,1,0,4499,8821,48,9102,8822,3,9102,8823,47.25,9102,8824,48.75,9102,8826,1700000,9001,8827,7200000,9001,,,,,,,,,, -3949,"RGF93 / CC49",9001,4171,18108,9802,1,0,4499,8821,49,9102,8822,3,9102,8823,48.25,9102,8824,49.75,9102,8826,1700000,9001,8827,8200000,9001,,,,,,,,,, -3950,"RGF93 / CC50",9001,4171,18109,9802,1,0,4499,8821,50,9102,8822,3,9102,8823,49.25,9102,8824,50.75,9102,8826,1700000,9001,8827,9200000,9001,,,,,,,,,, -3968,"NAD83 / Virginia Lambert",9001,4269,3967,9802,1,0,4499,8821,36,9102,8822,-79.5,9102,8823,37,9102,8824,39.5,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -3969,"NAD83(HARN) / Virginia Lambert",9001,4152,3967,9802,1,0,4499,8821,36,9102,8822,-79.5,9102,8823,37,9102,8824,39.5,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -3970,"NAD83(NSRS2007) / Virginia Lambert",9001,4759,3967,9802,1,0,4499,8821,36,9102,8822,-79.5,9102,8823,37,9102,8824,39.5,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -3973,"WGS 84 / NSIDC EASE-Grid North",9001,4326,3897,1027,1,1,4469,8801,90,9102,8802,0,9102,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -3974,"WGS 84 / NSIDC EASE-Grid South",9001,4326,3898,1027,1,1,4470,8801,-90,9102,8802,0,9102,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -3975,"WGS 84 / NSIDC EASE-Grid Global",9001,4326,19869,9834,1,1,4499,8802,0,9102,8806,0,9001,8807,0,9001,8823,30,9102,,,,,,,,,,,,,,,, -3976,"WGS 84 / NSIDC Sea Ice Polar Stereographic South",9001,4326,19866,9829,1,0,4470,8806,0,9001,8807,0,9001,8832,-70,9102,8833,0,9102,,,,,,,,,,,,,,,, -3978,"NAD83 / Canada Atlas Lambert",9001,4269,3977,9802,1,0,4400,8821,49,9102,8822,-95,9102,8823,49,9102,8824,77,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -3979,"NAD83(CSRS) / Canada Atlas Lambert",9001,4617,3977,9802,1,0,4400,8821,49,9102,8822,-95,9102,8823,49,9102,8824,77,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -3985,"Katanga 1955 / Katanga Lambert",9001,4695,3980,9802,1,1,4499,8821,9,9102,8822,26,9102,8823,-6.5,9102,8824,-11.5,9102,8826,500000,9001,8827,500000,9001,,,,,,,,,, -3986,"Katanga 1955 / Katanga Gauss zone A",9001,4695,3981,9807,1,0,4499,8801,-9,9102,8802,30,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -3987,"Katanga 1955 / Katanga Gauss zone B",9001,4695,3982,9807,1,0,4499,8801,-9,9102,8802,28,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -3988,"Katanga 1955 / Katanga Gauss zone C",9001,4695,3983,9807,1,0,4499,8801,-9,9102,8802,26,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -3989,"Katanga 1955 / Katanga Gauss zone D",9001,4695,3984,9807,1,0,4499,8801,-9,9102,8802,24,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -3991,Puerto Rico State Plane CS of 1927,9003,4139,15201,9802,1,0,4497,8821,17.5,9110,8822,-66.26,9110,8823,18.26,9110,8824,18.02,9110,8826,500000,9003,8827,0,9003,,,,,,,,,, -3992,"Puerto Rico / St. Croix",9003,4139,15202,9802,1,0,4497,8821,17.5,9110,8822,-66.26,9110,8823,18.26,9110,8824,18.02,9110,8826,500000,9003,8827,100000,9003,,,,,,,,,, -3993,"Guam 1963 / Guam SPCS",9001,4675,15400,9831,1,0,4499,8801,13.282087887,9110,8802,144.445550254,9110,8806,50000,9001,8807,50000,9001,,,,,,,,,,,,,,,, -3994,"WGS 84 / Mercator 41",9001,4326,19843,9805,1,0,4499,8802,100,9102,8806,0,9001,8807,0,9001,8823,-41,9102,,,,,,,,,,,,,,,, -3995,"WGS 84 / Arctic Polar Stereographic",9001,4326,19842,9829,1,0,4469,8806,0,9001,8807,0,9001,8832,71,9102,8833,0,9102,,,,,,,,,,,,,,,, -3996,"WGS 84 / IBCAO Polar Stereographic",9001,4326,19840,9829,1,0,4469,8806,0,9001,8807,0,9001,8832,75,9102,8833,0,9102,,,,,,,,,,,,,,,, -3997,"WGS 84 / Dubai Local TM",9001,4326,19839,9807,1,0,4400,8801,0,9110,8802,55.2,9110,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4026,"MOLDREF99 / Moldova TM",9001,4023,3999,9807,1,0,4530,8801,0,9110,8802,28.24,9110,8805,0.99994,9201,8806,200000,9001,8807,-5000000,9001,,,,,,,,,,,,, -4037,"WGS 84 / TMzn35N",9001,4326,16035,9807,1,0,4500,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4038,"WGS 84 / TMzn36N",9001,4326,16036,9807,1,0,4500,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4048,"RGRDC 2005 / Congo TM zone 12",9001,4046,17412,9807,1,0,4499,8801,0,9102,8802,12,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -4049,"RGRDC 2005 / Congo TM zone 14",9001,4046,17414,9807,1,0,4499,8801,0,9102,8802,14,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -4050,"RGRDC 2005 / Congo TM zone 16",9001,4046,17416,9807,1,0,4499,8801,0,9102,8802,16,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -4051,"RGRDC 2005 / Congo TM zone 18",9001,4046,17418,9807,1,0,4499,8801,0,9102,8802,18,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -4056,"RGRDC 2005 / Congo TM zone 20",9001,4046,17420,9807,1,0,4499,8801,0,9102,8802,20,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -4057,"RGRDC 2005 / Congo TM zone 22",9001,4046,17422,9807,1,0,4499,8801,0,9102,8802,22,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -4058,"RGRDC 2005 / Congo TM zone 24",9001,4046,17424,9807,1,0,4499,8801,0,9102,8802,24,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -4059,"RGRDC 2005 / Congo TM zone 26",9001,4046,17426,9807,1,0,4499,8801,0,9102,8802,26,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -4060,"RGRDC 2005 / Congo TM zone 28",9001,4046,17428,9807,1,0,4499,8801,0,9102,8802,28,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -4061,"RGRDC 2005 / UTM zone 33S",9001,4046,16133,9807,1,0,4499,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -4062,"RGRDC 2005 / UTM zone 34S",9001,4046,16134,9807,1,0,4499,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -4063,"RGRDC 2005 / UTM zone 35S",9001,4046,16135,9807,1,0,4499,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -4071,"Chua / UTM zone 23S",9001,4224,16123,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -4082,"REGCAN95 / UTM zone 27N",9001,4081,16027,9807,1,0,4400,8801,0,9102,8802,-21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4083,"REGCAN95 / UTM zone 28N",9001,4081,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4087,"WGS 84 / World Equidistant Cylindrical",9001,4326,4085,1028,1,0,4499,8802,0,9102,8806,0,9001,8807,0,9001,8823,0,9102,,,,,,,,,,,,,,,, -4088,"World Equidistant Cylindrical (Sphere)",9001,4047,4086,1029,1,0,4499,8802,0,9102,8806,0,9001,8807,0,9001,8823,0,9102,,,,,,,,,,,,,,,, -4093,"ETRS89 / DKTM1",9001,4258,4089,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.99998,9201,8806,200000,9001,8807,-5000000,9001,,,,,,,,,,,,, -4094,"ETRS89 / DKTM2",9001,4258,4090,9807,1,0,4400,8801,0,9102,8802,10,9102,8805,0.99998,9201,8806,400000,9001,8807,-5000000,9001,,,,,,,,,,,,, -4095,"ETRS89 / DKTM3",9001,4258,4091,9807,1,0,4400,8801,0,9102,8802,11.75,9102,8805,0.99998,9201,8806,600000,9001,8807,-5000000,9001,,,,,,,,,,,,, -4096,"ETRS89 / DKTM4",9001,4258,4092,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,1,9201,8806,800000,9001,8807,-5000000,9001,,,,,,,,,,,,, -4217,"NAD83 / BLM 59N (ftUS)",9003,4269,4186,9807,1,0,4497,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4390,"Kertau 1968 / Johor Grid",9001,4245,4114,9806,1,0,4400,8801,2.02333,9110,8802,103.334593,9110,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -4391,"Kertau 1968 / Sembilan and Melaka Grid",9001,4245,4115,9806,1,0,4400,8801,2.424422,9110,8802,101.56282,9110,8806,-242.005,9001,8807,-948.547,9001,,,,,,,,,,,,,,,, -4392,"Kertau 1968 / Pahang Grid",9001,4245,4116,9806,1,0,4400,8801,3.42395,9110,8802,102.261024,9110,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -4393,"Kertau 1968 / Selangor Grid",9001,4245,4117,9806,1,0,4400,8801,3.404924,9110,8802,101.302968,9110,8806,-21759.438,9001,8807,55960.906,9001,,,,,,,,,,,,,,,, -4394,"Kertau 1968 / Terengganu Grid",9001,4245,4177,9806,1,0,4400,8801,4.564611,9110,8802,102.534275,9110,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -4395,"Kertau 1968 / Pinang Grid",9001,4245,4305,9806,1,0,4400,8801,5.251677,9110,8802,100.204513,9110,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -4396,"Kertau 1968 / Kedah and Perlis Grid",9001,4245,4320,9806,1,0,4400,8801,5.575453,9110,8802,100.381534,9110,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -4397,"Kertau 1968 / Perak Revised Grid",9001,4245,4321,9806,1,0,4400,8801,4.513377,9110,8802,100.490036,9110,8806,0,9001,8807,133453.669,9001,,,,,,,,,,,,,,,, -4398,"Kertau 1968 / Kelantan Grid",9001,4245,4323,9806,1,0,4400,8801,5.533812,9110,8802,102.103825,9110,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -4399,"NAD27 / BLM 59N (ftUS)",9003,4267,4186,9807,1,0,4497,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4400,"NAD27 / BLM 60N (ftUS)",9003,4267,4187,9807,1,0,4497,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4401,"NAD27 / BLM 1N (ftUS)",9003,4267,4101,9807,1,0,4497,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4402,"NAD27 / BLM 2N (ftUS)",9003,4267,4102,9807,1,0,4497,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4403,"NAD27 / BLM 3N (ftUS)",9003,4267,4103,9807,1,0,4497,8801,0,9102,8802,-165,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4404,"NAD27 / BLM 4N (ftUS)",9003,4267,4104,9807,1,0,4497,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4405,"NAD27 / BLM 5N (ftUS)",9003,4267,4105,9807,1,0,4497,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4406,"NAD27 / BLM 6N (ftUS)",9003,4267,4106,9807,1,0,4497,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4407,"NAD27 / BLM 7N (ftUS)",9003,4267,4107,9807,1,0,4497,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4408,"NAD27 / BLM 8N (ftUS)",9003,4267,4108,9807,1,0,4497,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4409,"NAD27 / BLM 9N (ftUS)",9003,4267,4109,9807,1,0,4497,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4410,"NAD27 / BLM 10N (ftUS)",9003,4267,4110,9807,1,0,4497,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4411,"NAD27 / BLM 11N (ftUS)",9003,4267,4111,9807,1,0,4497,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4412,"NAD27 / BLM 12N (ftUS)",9003,4267,4112,9807,1,0,4497,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4413,"NAD27 / BLM 13N (ftUS)",9003,4267,4113,9807,1,0,4497,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4414,"NAD83(HARN) / Guam Map Grid",9001,4152,4325,9807,1,0,4499,8801,13.3,9110,8802,144.45,9110,8805,1,9201,8806,100000,9001,8807,200000,9001,,,,,,,,,,,,, -4415,"Katanga 1955 / Katanga Lambert",9001,4695,4416,9802,1,0,4499,8821,-9,9102,8822,26,9102,8823,-6.5,9102,8824,-11.5,9102,8826,500000,9001,8827,500000,9001,,,,,,,,,, -4417,"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 7",9001,4178,16267,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -4418,"NAD27 / BLM 18N (ftUS)",9003,4267,4118,9807,1,0,4497,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4419,"NAD27 / BLM 19N (ftUS)",9003,4267,4119,9807,1,0,4497,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4420,"NAD83 / BLM 60N (ftUS)",9003,4269,4187,9807,1,0,4497,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4421,"NAD83 / BLM 1N (ftUS)",9003,4269,4101,9807,1,0,4497,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4422,"NAD83 / BLM 2N (ftUS)",9003,4269,4102,9807,1,0,4497,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4423,"NAD83 / BLM 3N (ftUS)",9003,4269,4103,9807,1,0,4497,8801,0,9102,8802,-165,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4424,"NAD83 / BLM 4N (ftUS)",9003,4269,4104,9807,1,0,4497,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4425,"NAD83 / BLM 5N (ftUS)",9003,4269,4105,9807,1,0,4497,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4426,"NAD83 / BLM 6N (ftUS)",9003,4269,4106,9807,1,0,4497,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4427,"NAD83 / BLM 7N (ftUS)",9003,4269,4107,9807,1,0,4497,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4428,"NAD83 / BLM 8N (ftUS)",9003,4269,4108,9807,1,0,4497,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4429,"NAD83 / BLM 9N (ftUS)",9003,4269,4109,9807,1,0,4497,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4430,"NAD83 / BLM 10N (ftUS)",9003,4269,4110,9807,1,0,4497,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4431,"NAD83 / BLM 11N (ftUS)",9003,4269,4111,9807,1,0,4497,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4432,"NAD83 / BLM 12N (ftUS)",9003,4269,4112,9807,1,0,4497,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4433,"NAD83 / BLM 13N (ftUS)",9003,4269,4113,9807,1,0,4497,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4434,"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 8",9001,4178,16268,9807,1,0,4530,8801,0,9102,8802,24,9102,8805,1,9201,8806,8500000,9001,8807,0,9001,,,,,,,,,,,,, -4437,"NAD83(NSRS2007) / Puerto Rico and Virgin Is.",9001,4759,15230,9802,1,0,4499,8821,17.5,9110,8822,-66.26,9110,8823,18.26,9110,8824,18.02,9110,8826,200000,9001,8827,200000,9001,,,,,,,,,, -4438,"NAD83 / BLM 18N (ftUS)",9003,4269,4118,9807,1,0,4497,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4439,"NAD83 / BLM 19N (ftUS)",9003,4269,4119,9807,1,0,4497,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -4455,"NAD27 / Pennsylvania South",9003,4267,4436,9802,1,0,4497,8821,39.2,9110,8822,-77.45,9110,8823,40.58,9110,8824,39.56,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -4456,"NAD27 / New York Long Island",9003,4267,4454,9802,1,0,4497,8821,40.3,9110,8822,-74,9110,8823,41.02,9110,8824,40.4,9110,8826,2000000,9003,8827,100000,9003,,,,,,,,,, -4457,"NAD83 / South Dakota North (ftUS)",9003,4269,15394,9802,1,0,4497,8821,43.5,9110,8822,-100,9110,8823,45.41,9110,8824,44.25,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -4462,"WGS 84 / Australian Centre for Remote Sensing Lambert",9001,4326,4460,9802,1,0,4400,8821,-27,9102,8822,132,9102,8823,-18,9102,8824,-36,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -4467,"RGSPM06 / UTM zone 21N",9001,4463,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4471,"RGM04 / UTM zone 38S",9001,4470,16138,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -4474,"Cadastre 1997 / UTM zone 38S",9001,4632,16138,9807,1,1,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -4484,"Mexico ITRF92 / UTM zone 11N",9001,4483,16011,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4485,"Mexico ITRF92 / UTM zone 12N",9001,4483,16012,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4486,"Mexico ITRF92 / UTM zone 13N",9001,4483,16013,9807,1,0,4400,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4487,"Mexico ITRF92 / UTM zone 14N",9001,4483,16014,9807,1,0,4400,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4488,"Mexico ITRF92 / UTM zone 15N",9001,4483,16015,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4489,"Mexico ITRF92 / UTM zone 16N",9001,4483,16016,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4491,"CGCS2000 / Gauss-Kruger zone 13",9001,4490,16213,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,13500000,9001,8807,0,9001,,,,,,,,,,,,, -4492,"CGCS2000 / Gauss-Kruger zone 14",9001,4490,16214,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,14500000,9001,8807,0,9001,,,,,,,,,,,,, -4493,"CGCS2000 / Gauss-Kruger zone 15",9001,4490,16215,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,15500000,9001,8807,0,9001,,,,,,,,,,,,, -4494,"CGCS2000 / Gauss-Kruger zone 16",9001,4490,16216,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,16500000,9001,8807,0,9001,,,,,,,,,,,,, -4495,"CGCS2000 / Gauss-Kruger zone 17",9001,4490,16217,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,17500000,9001,8807,0,9001,,,,,,,,,,,,, -4496,"CGCS2000 / Gauss-Kruger zone 18",9001,4490,16218,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,18500000,9001,8807,0,9001,,,,,,,,,,,,, -4497,"CGCS2000 / Gauss-Kruger zone 19",9001,4490,16219,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,19500000,9001,8807,0,9001,,,,,,,,,,,,, -4498,"CGCS2000 / Gauss-Kruger zone 20",9001,4490,16220,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,20500000,9001,8807,0,9001,,,,,,,,,,,,, -4499,"CGCS2000 / Gauss-Kruger zone 21",9001,4490,16221,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,21500000,9001,8807,0,9001,,,,,,,,,,,,, -4500,"CGCS2000 / Gauss-Kruger zone 22",9001,4490,16222,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,22500000,9001,8807,0,9001,,,,,,,,,,,,, -4501,"CGCS2000 / Gauss-Kruger zone 23",9001,4490,16223,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,23500000,9001,8807,0,9001,,,,,,,,,,,,, -4502,"CGCS2000 / Gauss-Kruger CM 75E",9001,4490,16313,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4503,"CGCS2000 / Gauss-Kruger CM 81E",9001,4490,16314,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4504,"CGCS2000 / Gauss-Kruger CM 87E",9001,4490,16315,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4505,"CGCS2000 / Gauss-Kruger CM 93E",9001,4490,16316,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4506,"CGCS2000 / Gauss-Kruger CM 99E",9001,4490,16317,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4507,"CGCS2000 / Gauss-Kruger CM 105E",9001,4490,16318,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4508,"CGCS2000 / Gauss-Kruger CM 111E",9001,4490,16319,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4509,"CGCS2000 / Gauss-Kruger CM 117E",9001,4490,16320,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4510,"CGCS2000 / Gauss-Kruger CM 123E",9001,4490,16321,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4511,"CGCS2000 / Gauss-Kruger CM 129E",9001,4490,16322,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4512,"CGCS2000 / Gauss-Kruger CM 135E",9001,4490,16323,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4513,"CGCS2000 / 3-degree Gauss-Kruger zone 25",9001,4490,16285,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,25500000,9001,8807,0,9001,,,,,,,,,,,,, -4514,"CGCS2000 / 3-degree Gauss-Kruger zone 26",9001,4490,16286,9807,1,0,4530,8801,0,9102,8802,78,9102,8805,1,9201,8806,26500000,9001,8807,0,9001,,,,,,,,,,,,, -4515,"CGCS2000 / 3-degree Gauss-Kruger zone 27",9001,4490,16287,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,27500000,9001,8807,0,9001,,,,,,,,,,,,, -4516,"CGCS2000 / 3-degree Gauss-Kruger zone 28",9001,4490,16288,9807,1,0,4530,8801,0,9102,8802,84,9102,8805,1,9201,8806,28500000,9001,8807,0,9001,,,,,,,,,,,,, -4517,"CGCS2000 / 3-degree Gauss-Kruger zone 29",9001,4490,16289,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,29500000,9001,8807,0,9001,,,,,,,,,,,,, -4518,"CGCS2000 / 3-degree Gauss-Kruger zone 30",9001,4490,16290,9807,1,0,4530,8801,0,9102,8802,90,9102,8805,1,9201,8806,30500000,9001,8807,0,9001,,,,,,,,,,,,, -4519,"CGCS2000 / 3-degree Gauss-Kruger zone 31",9001,4490,16291,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,31500000,9001,8807,0,9001,,,,,,,,,,,,, -4520,"CGCS2000 / 3-degree Gauss-Kruger zone 32",9001,4490,16292,9807,1,0,4530,8801,0,9102,8802,96,9102,8805,1,9201,8806,32500000,9001,8807,0,9001,,,,,,,,,,,,, -4521,"CGCS2000 / 3-degree Gauss-Kruger zone 33",9001,4490,16293,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,33500000,9001,8807,0,9001,,,,,,,,,,,,, -4522,"CGCS2000 / 3-degree Gauss-Kruger zone 34",9001,4490,16294,9807,1,0,4530,8801,0,9102,8802,102,9102,8805,1,9201,8806,34500000,9001,8807,0,9001,,,,,,,,,,,,, -4523,"CGCS2000 / 3-degree Gauss-Kruger zone 35",9001,4490,16295,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,35500000,9001,8807,0,9001,,,,,,,,,,,,, -4524,"CGCS2000 / 3-degree Gauss-Kruger zone 36",9001,4490,16296,9807,1,0,4530,8801,0,9102,8802,108,9102,8805,1,9201,8806,36500000,9001,8807,0,9001,,,,,,,,,,,,, -4525,"CGCS2000 / 3-degree Gauss-Kruger zone 37",9001,4490,16297,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,37500000,9001,8807,0,9001,,,,,,,,,,,,, -4526,"CGCS2000 / 3-degree Gauss-Kruger zone 38",9001,4490,16298,9807,1,0,4530,8801,0,9102,8802,114,9102,8805,1,9201,8806,38500000,9001,8807,0,9001,,,,,,,,,,,,, -4527,"CGCS2000 / 3-degree Gauss-Kruger zone 39",9001,4490,16299,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,39500000,9001,8807,0,9001,,,,,,,,,,,,, -4528,"CGCS2000 / 3-degree Gauss-Kruger zone 40",9001,4490,16070,9807,1,0,4530,8801,0,9102,8802,120,9102,8805,1,9201,8806,40500000,9001,8807,0,9001,,,,,,,,,,,,, -4529,"CGCS2000 / 3-degree Gauss-Kruger zone 41",9001,4490,16071,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,41500000,9001,8807,0,9001,,,,,,,,,,,,, -4530,"CGCS2000 / 3-degree Gauss-Kruger zone 42",9001,4490,16072,9807,1,0,4530,8801,0,9102,8802,126,9102,8805,1,9201,8806,42500000,9001,8807,0,9001,,,,,,,,,,,,, -4531,"CGCS2000 / 3-degree Gauss-Kruger zone 43",9001,4490,16073,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,43500000,9001,8807,0,9001,,,,,,,,,,,,, -4532,"CGCS2000 / 3-degree Gauss-Kruger zone 44",9001,4490,16074,9807,1,0,4530,8801,0,9102,8802,132,9102,8805,1,9201,8806,44500000,9001,8807,0,9001,,,,,,,,,,,,, -4533,"CGCS2000 / 3-degree Gauss-Kruger zone 45",9001,4490,16075,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,45500000,9001,8807,0,9001,,,,,,,,,,,,, -4534,"CGCS2000 / 3-degree Gauss-Kruger CM 75E",9001,4490,16313,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4535,"CGCS2000 / 3-degree Gauss-Kruger CM 78E",9001,4490,16386,9807,1,0,4530,8801,0,9102,8802,78,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4536,"CGCS2000 / 3-degree Gauss-Kruger CM 81E",9001,4490,16314,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4537,"CGCS2000 / 3-degree Gauss-Kruger CM 84E",9001,4490,16388,9807,1,0,4530,8801,0,9102,8802,84,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4538,"CGCS2000 / 3-degree Gauss-Kruger CM 87E",9001,4490,16315,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4539,"CGCS2000 / 3-degree Gauss-Kruger CM 90E",9001,4490,16390,9807,1,0,4530,8801,0,9102,8802,90,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4540,"CGCS2000 / 3-degree Gauss-Kruger CM 93E",9001,4490,16316,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4541,"CGCS2000 / 3-degree Gauss-Kruger CM 96E",9001,4490,16392,9807,1,0,4530,8801,0,9102,8802,96,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4542,"CGCS2000 / 3-degree Gauss-Kruger CM 99E",9001,4490,16317,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4543,"CGCS2000 / 3-degree Gauss-Kruger CM 102E",9001,4490,16394,9807,1,0,4530,8801,0,9102,8802,102,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4544,"CGCS2000 / 3-degree Gauss-Kruger CM 105E",9001,4490,16318,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4545,"CGCS2000 / 3-degree Gauss-Kruger CM 108E",9001,4490,16396,9807,1,0,4530,8801,0,9102,8802,108,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4546,"CGCS2000 / 3-degree Gauss-Kruger CM 111E",9001,4490,16319,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4547,"CGCS2000 / 3-degree Gauss-Kruger CM 114E",9001,4490,16398,9807,1,0,4530,8801,0,9102,8802,114,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4548,"CGCS2000 / 3-degree Gauss-Kruger CM 117E",9001,4490,16320,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4549,"CGCS2000 / 3-degree Gauss-Kruger CM 120E",9001,4490,16170,9807,1,0,4530,8801,0,9102,8802,120,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4550,"CGCS2000 / 3-degree Gauss-Kruger CM 123E",9001,4490,16321,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4551,"CGCS2000 / 3-degree Gauss-Kruger CM 126E",9001,4490,16172,9807,1,0,4530,8801,0,9102,8802,126,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4552,"CGCS2000 / 3-degree Gauss-Kruger CM 129E",9001,4490,16322,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4553,"CGCS2000 / 3-degree Gauss-Kruger CM 132E",9001,4490,16174,9807,1,0,4530,8801,0,9102,8802,132,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4554,"CGCS2000 / 3-degree Gauss-Kruger CM 135E",9001,4490,16323,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4559,"RRAF 1991 / UTM zone 20N",9001,4558,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4568,"New Beijing / Gauss-Kruger zone 13",9001,4555,16213,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,13500000,9001,8807,0,9001,,,,,,,,,,,,, -4569,"New Beijing / Gauss-Kruger zone 14",9001,4555,16214,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,14500000,9001,8807,0,9001,,,,,,,,,,,,, -4570,"New Beijing / Gauss-Kruger zone 15",9001,4555,16215,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,15500000,9001,8807,0,9001,,,,,,,,,,,,, -4571,"New Beijing / Gauss-Kruger zone 16",9001,4555,16216,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,16500000,9001,8807,0,9001,,,,,,,,,,,,, -4572,"New Beijing / Gauss-Kruger zone 17",9001,4555,16217,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,17500000,9001,8807,0,9001,,,,,,,,,,,,, -4573,"New Beijing / Gauss-Kruger zone 18",9001,4555,16218,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,18500000,9001,8807,0,9001,,,,,,,,,,,,, -4574,"New Beijing / Gauss-Kruger zone 19",9001,4555,16219,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,19500000,9001,8807,0,9001,,,,,,,,,,,,, -4575,"New Beijing / Gauss-Kruger zone 20",9001,4555,16220,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,20500000,9001,8807,0,9001,,,,,,,,,,,,, -4576,"New Beijing / Gauss-Kruger zone 21",9001,4555,16221,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,21500000,9001,8807,0,9001,,,,,,,,,,,,, -4577,"New Beijing / Gauss-Kruger zone 22",9001,4555,16222,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,22500000,9001,8807,0,9001,,,,,,,,,,,,, -4578,"New Beijing / Gauss-Kruger zone 23",9001,4555,16223,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,23500000,9001,8807,0,9001,,,,,,,,,,,,, -4579,"New Beijing / Gauss-Kruger CM 75E",9001,4555,16313,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4580,"New Beijing / Gauss-Kruger CM 81E",9001,4555,16314,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4581,"New Beijing / Gauss-Kruger CM 87E",9001,4555,16315,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4582,"New Beijing / Gauss-Kruger CM 93E",9001,4555,16316,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4583,"New Beijing / Gauss-Kruger CM 99E",9001,4555,16317,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4584,"New Beijing / Gauss-Kruger CM 105E",9001,4555,16318,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4585,"New Beijing / Gauss-Kruger CM 111E",9001,4555,16319,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4586,"New Beijing / Gauss-Kruger CM 117E",9001,4555,16320,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4587,"New Beijing / Gauss-Kruger CM 123E",9001,4555,16321,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4588,"New Beijing / Gauss-Kruger CM 129E",9001,4555,16322,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4589,"New Beijing / Gauss-Kruger CM 135E",9001,4555,16323,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4647,"ETRS89 / UTM zone 32N (zE-N)",9001,4258,4648,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,32500000,9001,8807,0,9001,,,,,,,,,,,,, -4652,"New Beijing / 3-degree Gauss-Kruger zone 25",9001,4555,16285,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,25500000,9001,8807,0,9001,,,,,,,,,,,,, -4653,"New Beijing / 3-degree Gauss-Kruger zone 26",9001,4555,16286,9807,1,0,4530,8801,0,9102,8802,78,9102,8805,1,9201,8806,26500000,9001,8807,0,9001,,,,,,,,,,,,, -4654,"New Beijing / 3-degree Gauss-Kruger zone 27",9001,4555,16287,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,27500000,9001,8807,0,9001,,,,,,,,,,,,, -4655,"New Beijing / 3-degree Gauss-Kruger zone 28",9001,4555,16288,9807,1,0,4530,8801,0,9102,8802,84,9102,8805,1,9201,8806,28500000,9001,8807,0,9001,,,,,,,,,,,,, -4656,"New Beijing / 3-degree Gauss-Kruger zone 29",9001,4555,16289,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,29500000,9001,8807,0,9001,,,,,,,,,,,,, -4766,"New Beijing / 3-degree Gauss-Kruger zone 30",9001,4555,16290,9807,1,0,4530,8801,0,9102,8802,90,9102,8805,1,9201,8806,30500000,9001,8807,0,9001,,,,,,,,,,,,, -4767,"New Beijing / 3-degree Gauss-Kruger zone 31",9001,4555,16291,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,31500000,9001,8807,0,9001,,,,,,,,,,,,, -4768,"New Beijing / 3-degree Gauss-Kruger zone 32",9001,4555,16292,9807,1,0,4530,8801,0,9102,8802,96,9102,8805,1,9201,8806,32500000,9001,8807,0,9001,,,,,,,,,,,,, -4769,"New Beijing / 3-degree Gauss-Kruger zone 33",9001,4555,16293,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,33500000,9001,8807,0,9001,,,,,,,,,,,,, -4770,"New Beijing / 3-degree Gauss-Kruger zone 34",9001,4555,16294,9807,1,0,4530,8801,0,9102,8802,102,9102,8805,1,9201,8806,34500000,9001,8807,0,9001,,,,,,,,,,,,, -4771,"New Beijing / 3-degree Gauss-Kruger zone 35",9001,4555,16295,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,35500000,9001,8807,0,9001,,,,,,,,,,,,, -4772,"New Beijing / 3-degree Gauss-Kruger zone 36",9001,4555,16296,9807,1,0,4530,8801,0,9102,8802,108,9102,8805,1,9201,8806,36500000,9001,8807,0,9001,,,,,,,,,,,,, -4773,"New Beijing / 3-degree Gauss-Kruger zone 37",9001,4555,16297,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,37500000,9001,8807,0,9001,,,,,,,,,,,,, -4774,"New Beijing / 3-degree Gauss-Kruger zone 38",9001,4555,16298,9807,1,0,4530,8801,0,9102,8802,114,9102,8805,1,9201,8806,38500000,9001,8807,0,9001,,,,,,,,,,,,, -4775,"New Beijing / 3-degree Gauss-Kruger zone 39",9001,4555,16299,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,39500000,9001,8807,0,9001,,,,,,,,,,,,, -4776,"New Beijing / 3-degree Gauss-Kruger zone 40",9001,4555,16070,9807,1,0,4530,8801,0,9102,8802,120,9102,8805,1,9201,8806,40500000,9001,8807,0,9001,,,,,,,,,,,,, -4777,"New Beijing / 3-degree Gauss-Kruger zone 41",9001,4555,16071,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,41500000,9001,8807,0,9001,,,,,,,,,,,,, -4778,"New Beijing / 3-degree Gauss-Kruger zone 42",9001,4555,16072,9807,1,0,4530,8801,0,9102,8802,126,9102,8805,1,9201,8806,42500000,9001,8807,0,9001,,,,,,,,,,,,, -4779,"New Beijing / 3-degree Gauss-Kruger zone 43",9001,4555,16073,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,43500000,9001,8807,0,9001,,,,,,,,,,,,, -4780,"New Beijing / 3-degree Gauss-Kruger zone 44",9001,4555,16074,9807,1,0,4530,8801,0,9102,8802,132,9102,8805,1,9201,8806,44500000,9001,8807,0,9001,,,,,,,,,,,,, -4781,"New Beijing / 3-degree Gauss-Kruger zone 45",9001,4555,16075,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,45500000,9001,8807,0,9001,,,,,,,,,,,,, -4782,"New Beijing / 3-degree Gauss-Kruger CM 75E",9001,4555,16313,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4783,"New Beijing / 3-degree Gauss-Kruger CM 78E",9001,4555,16386,9807,1,0,4530,8801,0,9102,8802,78,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4784,"New Beijing / 3-degree Gauss-Kruger CM 81E",9001,4555,16314,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4785,"New Beijing / 3-degree Gauss-Kruger CM 84E",9001,4555,16388,9807,1,0,4530,8801,0,9102,8802,84,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4786,"New Beijing / 3-degree Gauss-Kruger CM 87E",9001,4555,16315,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4787,"New Beijing / 3-degree Gauss-Kruger CM 90E",9001,4555,16390,9807,1,0,4530,8801,0,9102,8802,90,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4788,"New Beijing / 3-degree Gauss-Kruger CM 93E",9001,4555,16316,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4789,"New Beijing / 3-degree Gauss-Kruger CM 96E",9001,4555,16392,9807,1,0,4530,8801,0,9102,8802,96,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4790,"New Beijing / 3-degree Gauss-Kruger CM 99E",9001,4555,16317,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4791,"New Beijing / 3-degree Gauss-Kruger CM 102E",9001,4555,16394,9807,1,0,4530,8801,0,9102,8802,102,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4792,"New Beijing / 3-degree Gauss-Kruger CM 105E",9001,4555,16318,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4793,"New Beijing / 3-degree Gauss-Kruger CM 108E",9001,4555,16396,9807,1,0,4530,8801,0,9102,8802,108,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4794,"New Beijing / 3-degree Gauss-Kruger CM 111E",9001,4555,16319,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4795,"New Beijing / 3-degree Gauss-Kruger CM 114E",9001,4555,16398,9807,1,0,4530,8801,0,9102,8802,114,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4796,"New Beijing / 3-degree Gauss-Kruger CM 117E",9001,4555,16320,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4797,"New Beijing / 3-degree Gauss-Kruger CM 120E",9001,4555,16170,9807,1,0,4530,8801,0,9102,8802,120,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4798,"New Beijing / 3-degree Gauss-Kruger CM 123E",9001,4555,16321,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4799,"New Beijing / 3-degree Gauss-Kruger CM 126E",9001,4555,16172,9807,1,0,4530,8801,0,9102,8802,126,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4800,"New Beijing / 3-degree Gauss-Kruger CM 129E",9001,4555,16322,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4812,"New Beijing / 3-degree Gauss-Kruger CM 132E",9001,4555,16174,9807,1,0,4530,8801,0,9102,8802,132,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4822,"New Beijing / 3-degree Gauss-Kruger CM 135E",9001,4555,16323,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -4826,"WGS 84 / Cape Verde National",9001,4326,4825,9802,1,0,1024,8821,15.5,9110,8822,-24,9110,8823,15,9110,8824,16.4,9110,8826,161587.83,9001,8827,128511.202,9001,,,,,,,,,, -4839,"ETRS89 / LCC Germany (N-E)",9001,4258,4838,9802,1,0,4500,8821,51,9102,8822,10.3,9110,8823,48.4,9110,8824,53.4,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -4855,"ETRS89 / NTM zone 5",9001,4258,4845,9807,1,1,4500,8801,0,9110,8802,5.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4856,"ETRS89 / NTM zone 6",9001,4258,4846,9807,1,1,4500,8801,0,9110,8802,6.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4857,"ETRS89 / NTM zone 7",9001,4258,4847,9807,1,1,4500,8801,0,9110,8802,7.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4858,"ETRS89 / NTM zone 8",9001,4258,4848,9807,1,1,4500,8801,0,9110,8802,8.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4859,"ETRS89 / NTM zone 9",9001,4258,4849,9807,1,1,4500,8801,0,9110,8802,9.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4860,"ETRS89 / NTM zone 10",9001,4258,4850,9807,1,1,4500,8801,0,9110,8802,10.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4861,"ETRS89 / NTM zone 11",9001,4258,4851,9807,1,1,4500,8801,0,9110,8802,11.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4862,"ETRS89 / NTM zone 12",9001,4258,4852,9807,1,1,4500,8801,0,9110,8802,12.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4863,"ETRS89 / NTM zone 13",9001,4258,4853,9807,1,1,4500,8801,0,9110,8802,13.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4864,"ETRS89 / NTM zone 14",9001,4258,4854,9807,1,1,4500,8801,0,9110,8802,14.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4865,"ETRS89 / NTM zone 15",9001,4258,4841,9807,1,1,4500,8801,0,9110,8802,15.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4866,"ETRS89 / NTM zone 16",9001,4258,4842,9807,1,1,4500,8801,0,9110,8802,16.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4867,"ETRS89 / NTM zone 17",9001,4258,4843,9807,1,1,4500,8801,0,9110,8802,17.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4868,"ETRS89 / NTM zone 18",9001,4258,4844,9807,1,1,4500,8801,0,9110,8802,18.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4869,"ETRS89 / NTM zone 19",9001,4258,4881,9807,1,1,4500,8801,0,9110,8802,19.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4870,"ETRS89 / NTM zone 20",9001,4258,5000,9807,1,1,4500,8801,0,9110,8802,20.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4871,"ETRS89 / NTM zone 21",9001,4258,5001,9807,1,1,4500,8801,0,9110,8802,21.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4872,"ETRS89 / NTM zone 22",9001,4258,5002,9807,1,1,4500,8801,0,9110,8802,22.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4873,"ETRS89 / NTM zone 23",9001,4258,5003,9807,1,1,4500,8801,0,9110,8802,23.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4874,"ETRS89 / NTM zone 24",9001,4258,5004,9807,1,1,4500,8801,0,9110,8802,24.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4875,"ETRS89 / NTM zone 25",9001,4258,5005,9807,1,1,4500,8801,0,9110,8802,25.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4876,"ETRS89 / NTM zone 26",9001,4258,5006,9807,1,1,4500,8801,0,9110,8802,26.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4877,"ETRS89 / NTM zone 27",9001,4258,5007,9807,1,1,4500,8801,0,9110,8802,27.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4878,"ETRS89 / NTM zone 28",9001,4258,5008,9807,1,1,4500,8801,0,9110,8802,28.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4879,"ETRS89 / NTM zone 29",9001,4258,5009,9807,1,1,4500,8801,0,9110,8802,29.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -4880,"ETRS89 / NTM zone 30",9001,4258,5010,9807,1,1,4500,8801,0,9110,8802,30.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5014,"PTRA08 / UTM zone 25N",9001,5013,16025,9807,1,0,4400,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5015,"PTRA08 / UTM zone 26N",9001,5013,16026,9807,1,0,4400,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5016,"PTRA08 / UTM zone 28N",9001,5013,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5017,"Lisbon 1890 / Portugal Bonne New",9001,4666,5019,9828,1,0,6509,8801,39.4,9110,8802,-8.0754862,9110,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -5018,"Lisbon / Portuguese Grid New",9001,4207,5020,9807,1,0,4499,8801,39.4,9110,8802,-8.0754862,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -5041,"WGS 84 / UPS North (E,N)",9001,4326,16061,9810,1,0,1026,8801,90,9102,8802,0,9102,8805,0.994,9201,8806,2000000,9001,8807,2000000,9001,,,,,,,,,,,,, -5042,"WGS 84 / UPS South (E,N)",9001,4326,16161,9810,1,0,1027,8801,-90,9102,8802,0,9102,8805,0.994,9201,8806,2000000,9001,8807,2000000,9001,,,,,,,,,,,,, -5048,"ETRS89 / TM35FIN(N,E)",9001,4258,16065,9807,1,0,4500,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5069,"NAD27 / Conus Albers",9001,4267,5068,9822,1,0,4499,8821,23,9102,8822,-96,9102,8823,29.3,9110,8824,45.3,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -5070,"NAD83 / Conus Albers",9001,4269,5068,9822,1,0,4499,8821,23,9102,8822,-96,9102,8823,29.3,9110,8824,45.3,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -5071,"NAD83(HARN) / Conus Albers",9001,4152,5068,9822,1,0,4499,8821,23,9102,8822,-96,9102,8823,29.3,9110,8824,45.3,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -5072,"NAD83(NSRS2007) / Conus Albers",9001,4759,5068,9822,1,0,4499,8821,23,9102,8822,-96,9102,8823,29.3,9110,8824,45.3,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -5105,"ETRS89 / NTM zone 5",9001,4258,5135,9807,1,0,4500,8801,58,9110,8802,5.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5106,"ETRS89 / NTM zone 6",9001,4258,5136,9807,1,0,4500,8801,58,9110,8802,6.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5107,"ETRS89 / NTM zone 7",9001,4258,5137,9807,1,0,4500,8801,58,9110,8802,7.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5108,"ETRS89 / NTM zone 8",9001,4258,5138,9807,1,0,4500,8801,58,9110,8802,8.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5109,"ETRS89 / NTM zone 9",9001,4258,5139,9807,1,0,4500,8801,58,9110,8802,9.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5110,"ETRS89 / NTM zone 10",9001,4258,5140,9807,1,0,4500,8801,58,9110,8802,10.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5111,"ETRS89 / NTM zone 11",9001,4258,5141,9807,1,0,4500,8801,58,9110,8802,11.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5112,"ETRS89 / NTM zone 12",9001,4258,5142,9807,1,0,4500,8801,58,9110,8802,12.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5113,"ETRS89 / NTM zone 13",9001,4258,5143,9807,1,0,4500,8801,58,9110,8802,13.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5114,"ETRS89 / NTM zone 14",9001,4258,5144,9807,1,0,4500,8801,58,9110,8802,14.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5115,"ETRS89 / NTM zone 15",9001,4258,5145,9807,1,0,4500,8801,58,9110,8802,15.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5116,"ETRS89 / NTM zone 16",9001,4258,5146,9807,1,0,4500,8801,58,9110,8802,16.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5117,"ETRS89 / NTM zone 17",9001,4258,5147,9807,1,0,4500,8801,58,9110,8802,17.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5118,"ETRS89 / NTM zone 18",9001,4258,5148,9807,1,0,4500,8801,58,9110,8802,18.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5119,"ETRS89 / NTM zone 19",9001,4258,5149,9807,1,0,4500,8801,58,9110,8802,19.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5120,"ETRS89 / NTM zone 20",9001,4258,5150,9807,1,0,4500,8801,58,9110,8802,20.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5121,"ETRS89 / NTM zone 21",9001,4258,5151,9807,1,0,4500,8801,58,9110,8802,21.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5122,"ETRS89 / NTM zone 22",9001,4258,5152,9807,1,0,4500,8801,58,9110,8802,22.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5123,"ETRS89 / NTM zone 23",9001,4258,5153,9807,1,0,4500,8801,58,9110,8802,23.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5124,"ETRS89 / NTM zone 24",9001,4258,5154,9807,1,0,4500,8801,58,9110,8802,24.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5125,"ETRS89 / NTM zone 25",9001,4258,5155,9807,1,0,4500,8801,58,9110,8802,25.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5126,"ETRS89 / NTM zone 26",9001,4258,5156,9807,1,0,4500,8801,58,9110,8802,26.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5127,"ETRS89 / NTM zone 27",9001,4258,5157,9807,1,0,4500,8801,58,9110,8802,27.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5128,"ETRS89 / NTM zone 28",9001,4258,5158,9807,1,0,4500,8801,58,9110,8802,28.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5129,"ETRS89 / NTM zone 29",9001,4258,5159,9807,1,0,4500,8801,58,9110,8802,29.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5130,"ETRS89 / NTM zone 30",9001,4258,5160,9807,1,0,4500,8801,58,9110,8802,30.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,,,,,,,,, -5167,"Korean 1985 / East Sea Belt",9001,4162,5049,9807,1,0,4530,8801,38,9102,8802,131,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -5168,"Korean 1985 / Central Belt Jeju",9001,4162,5131,9807,1,0,4530,8801,38,9102,8802,127,9102,8805,1,9201,8806,200000,9001,8807,550000,9001,,,,,,,,,,,,, -5169,"Tokyo 1892 / Korea West Belt",9001,5132,18253,9807,1,0,4530,8801,38,9102,8802,125,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -5170,"Tokyo 1892 / Korea Central Belt",9001,5132,18252,9807,1,0,4530,8801,38,9102,8802,127,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -5171,"Tokyo 1892 / Korea East Belt",9001,5132,18251,9807,1,0,4530,8801,38,9102,8802,129,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -5172,"Tokyo 1892 / Korea East Sea Belt",9001,5132,5049,9807,1,0,4530,8801,38,9102,8802,131,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -5173,"Korean 1985 / Modified West Belt",9001,4162,5161,9807,1,0,4530,8801,38,9102,8802,125.0010405,9110,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -5174,"Korean 1985 / Modified Central Belt",9001,4162,5162,9807,1,0,4530,8801,38,9102,8802,127.0010405,9110,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -5175,"Korean 1985 / Modified Central Belt Jeju",9001,4162,5163,9807,1,0,4530,8801,38,9102,8802,127.0010405,9110,8805,1,9201,8806,200000,9001,8807,550000,9001,,,,,,,,,,,,, -5176,"Korean 1985 / Modified East Belt",9001,4162,5164,9807,1,0,4530,8801,38,9102,8802,129.0010405,9110,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -5177,"Korean 1985 / Modified East Sea Belt",9001,4162,5165,9807,1,0,4530,8801,38,9102,8802,131.0010405,9110,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -5178,"Korean 1985 / Unified CS",9001,4162,5100,9807,1,0,4530,8801,38,9102,8802,127.3,9110,8805,0.9996,9201,8806,1000000,9001,8807,2000000,9001,,,,,,,,,,,,, -5179,"Korea 2000 / Unified CS",9001,4737,5100,9807,1,0,4530,8801,38,9102,8802,127.3,9110,8805,0.9996,9201,8806,1000000,9001,8807,2000000,9001,,,,,,,,,,,,, -5180,"Korea 2000 / West Belt",9001,4737,18253,9807,1,0,4530,8801,38,9102,8802,125,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -5181,"Korea 2000 / Central Belt",9001,4737,18252,9807,1,0,4530,8801,38,9102,8802,127,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -5182,"Korea 2000 / Central Belt Jeju",9001,4737,5131,9807,1,0,4530,8801,38,9102,8802,127,9102,8805,1,9201,8806,200000,9001,8807,550000,9001,,,,,,,,,,,,, -5183,"Korea 2000 / East Belt",9001,4737,18251,9807,1,0,4530,8801,38,9102,8802,129,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -5184,"Korea 2000 / East Sea Belt",9001,4737,5049,9807,1,0,4530,8801,38,9102,8802,131,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,,,,,,,,, -5185,"Korea 2000 / West Belt 2010",9001,4737,5101,9807,1,0,4530,8801,38,9102,8802,125,9102,8805,1,9201,8806,200000,9001,8807,600000,9001,,,,,,,,,,,,, -5186,"Korea 2000 / Central Belt 2010",9001,4737,5102,9807,1,0,4530,8801,38,9102,8802,127,9102,8805,1,9201,8806,200000,9001,8807,600000,9001,,,,,,,,,,,,, -5187,"Korea 2000 / East Belt 2010",9001,4737,5103,9807,1,0,4530,8801,38,9102,8802,129,9102,8805,1,9201,8806,200000,9001,8807,600000,9001,,,,,,,,,,,,, -5188,"Korea 2000 / East Sea Belt 2010",9001,4737,5104,9807,1,0,4530,8801,38,9102,8802,131,9102,8805,1,9201,8806,200000,9001,8807,600000,9001,,,,,,,,,,,,, -5221,"S-JTSK (Ferro) / Krovak East North",9001,4818,5218,1041,1,0,4499,1036,30.1717303,9110,8806,0,9001,8807,0,9001,8811,49.3,9110,8818,78.3,9110,8819,0.9999,9201,8833,42.3,9110,,,,,,, -5223,"WGS 84 / Gabon TM",9001,4326,5222,9807,1,0,4499,8801,0,9102,8802,12,9102,8805,0.9996,9201,8806,500000,9001,8807,500000,9001,,,,,,,,,,,,, -5224,"S-JTSK/05 (Ferro) / Modified Krovak",9001,5229,5219,1042,1,0,6501,1026,0.02946529277,9203,1027,0.02515965696,9203,1028,1.193845912e-07,9203,1029,-4.668270147e-07,9203,1030,9.233980362e-12,9203,1031,1.523735715e-12,9203,1032,1.696780024e-18,9203,,,,,,, -5225,"S-JTSK/05 (Ferro) / Modified Krovak East North",9001,5229,5220,1043,1,0,4499,1026,0.02946529277,9203,1027,0.02515965696,9203,1028,1.193845912e-07,9203,1029,-4.668270147e-07,9203,1030,9.233980362e-12,9203,1031,1.523735715e-12,9203,1032,1.696780024e-18,9203,,,,,,, -5234,"Kandawala / Sri Lanka Grid",9001,4244,5231,9807,1,0,4400,8801,7.0001729,9110,8802,80.461816,9110,8805,0.9999238418,9201,8806,200000,9001,8807,200000,9001,,,,,,,,,,,,, -5235,"SLD99 / Sri Lanka Grid 1999",9001,5233,5232,9807,1,0,4400,8801,7.00016975,9110,8802,80.46181671,9110,8805,0.9999238418,9201,8806,500000,9001,8807,500000,9001,,,,,,,,,,,,, -5243,"ETRS89 / LCC Germany (E-N)",9001,4258,4838,9802,1,0,4400,8821,51,9102,8822,10.3,9110,8823,48.4,9110,8824,53.4,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -5247,"GDBD2009 / Brunei BRSO",9001,5246,19894,9812,1,0,4400,8806,0,9001,8807,0,9001,8811,4,9110,8812,115,9110,8813,53.185691582,9110,8814,53.07483685,9110,8815,0.99984,9201,,,,,,, -5253,"TUREF / TM27",9001,5252,16305,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5254,"TUREF / TM30",9001,5252,16370,9807,1,0,4530,8801,0,9102,8802,30,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5255,"TUREF / TM33",9001,5252,16306,9807,1,0,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5256,"TUREF / TM36",9001,5252,16372,9807,1,0,4530,8801,0,9102,8802,36,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5257,"TUREF / TM39",9001,5252,16307,9807,1,0,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5258,"TUREF / TM42",9001,5252,16374,9807,1,0,4530,8801,0,9102,8802,42,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5259,"TUREF / TM45",9001,5252,16308,9807,1,0,4530,8801,0,9102,8802,45,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5266,"DRUKREF 03 / Bhutan National Grid",9001,5264,5265,9807,1,0,4400,8801,0,9102,8802,90,9102,8805,1,9201,8806,250000,9001,8807,0,9001,,,,,,,,,,,,, -5269,"TUREF / 3-degree Gauss-Kruger zone 9",9001,5252,16269,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,9500000,9001,8807,0,9001,,,,,,,,,,,,, -5270,"TUREF / 3-degree Gauss-Kruger zone 10",9001,5252,16270,9807,1,0,4530,8801,0,9102,8802,30,9102,8805,1,9201,8806,10500000,9001,8807,0,9001,,,,,,,,,,,,, -5271,"TUREF / 3-degree Gauss-Kruger zone 11",9001,5252,16271,9807,1,0,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,11500000,9001,8807,0,9001,,,,,,,,,,,,, -5272,"TUREF / 3-degree Gauss-Kruger zone 12",9001,5252,16272,9807,1,0,4530,8801,0,9102,8802,36,9102,8805,1,9201,8806,12500000,9001,8807,0,9001,,,,,,,,,,,,, -5273,"TUREF / 3-degree Gauss-Kruger zone 13",9001,5252,16273,9807,1,0,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,13500000,9001,8807,0,9001,,,,,,,,,,,,, -5274,"TUREF / 3-degree Gauss-Kruger zone 14",9001,5252,16274,9807,1,0,4530,8801,0,9102,8802,42,9102,8805,1,9201,8806,14500000,9001,8807,0,9001,,,,,,,,,,,,, -5275,"TUREF / 3-degree Gauss-Kruger zone 15",9001,5252,16275,9807,1,0,4530,8801,0,9102,8802,45,9102,8805,1,9201,8806,15500000,9001,8807,0,9001,,,,,,,,,,,,, -5292,"DRUKREF 03 / Bumthang TM",9001,5264,5268,9807,1,0,4400,8801,0,9110,8802,90.44,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5293,"DRUKREF 03 / Chhukha TM",9001,5264,5276,9807,1,0,4400,8801,0,9110,8802,89.33,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5294,"DRUKREF 03 / Dagana TM",9001,5264,5277,9807,1,0,4400,8801,0,9110,8802,89.51,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5295,"DRUKREF 03 / Gasa TM",9001,5264,5278,9807,1,0,4400,8801,0,9110,8802,90.02,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5296,"DRUKREF 03 / Ha TM",9001,5264,5279,9807,1,0,4400,8801,0,9110,8802,90.09,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5297,"DRUKREF 03 / Lhuentse TM",9001,5264,5280,9807,1,0,4400,8801,0,9110,8802,91.08,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5298,"DRUKREF 03 / Mongar TM",9001,5264,5281,9807,1,0,4400,8801,0,9110,8802,91.14,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5299,"DRUKREF 03 / Paro TM",9001,5264,5282,9807,1,0,4400,8801,0,9110,8802,89.21,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5300,"DRUKREF 03 / Pemagatshel TM",9001,5264,5283,9807,1,0,4400,8801,0,9110,8802,91.21,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5301,"DRUKREF 03 / Punakha TM",9001,5264,5313,9807,1,0,4400,8801,0,9110,8802,89.51,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5302,"DRUKREF 03 / Samdrup Jongkhar TM",9001,5264,5285,9807,1,0,4400,8801,0,9110,8802,91.34,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5303,"DRUKREF 03 / Samtse TM",9001,5264,5286,9807,1,0,4400,8801,0,9110,8802,89.04,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5304,"DRUKREF 03 / Sarpang TM",9001,5264,5287,9807,1,0,4400,8801,0,9110,8802,90.16,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5305,"DRUKREF 03 / Thimphu TM",9001,5264,5312,9807,1,0,4400,8801,0,9110,8802,89.33,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5306,"DRUKREF 03 / Trashigang TM",9001,5264,5289,9807,1,0,4400,8801,0,9110,8802,91.45,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5307,"DRUKREF 03 / Trongsa TM",9001,5264,5290,9807,1,0,4400,8801,0,9110,8802,90.3,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5308,"DRUKREF 03 / Tsirang TM",9001,5264,5284,9807,1,0,4400,8801,0,9110,8802,90.1,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5309,"DRUKREF 03 / Wangdue Phodrang TM",9001,5264,5288,9807,1,0,4400,8801,0,9110,8802,90.07,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5310,"DRUKREF 03 / Yangtse TM",9001,5264,5314,9807,1,0,4400,8801,0,9110,8802,91.34,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5311,"DRUKREF 03 / Zhemgang TM",9001,5264,5291,9807,1,0,4400,8801,0,9110,8802,90.52,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,,,,,,,,, -5316,"ETRS89 / Faroe TM",9001,4258,5315,9807,1,0,4400,8801,0,9102,8802,-7,9102,8805,0.999997,9201,8806,200000,9001,8807,-6000000,9001,,,,,,,,,,,,, -5320,"NAD83 / Teranet Ontario Lambert",9001,4269,5319,9802,1,0,4499,8821,0,9102,8822,-84,9102,8823,44.3,9110,8824,54.3,9110,8826,1000000,9001,8827,0,9001,,,,,,,,,, -5321,"NAD83(CSRS) / Teranet Ontario Lambert",9001,4617,5319,9802,1,0,4499,8821,0,9102,8822,-84,9102,8823,44.3,9110,8824,54.3,9110,8826,1000000,9001,8827,0,9001,,,,,,,,,, -5325,"ISN2004 / Lambert 2004",9001,5324,5326,9802,1,0,4499,8821,65,9110,8822,-19,9110,8823,64.15,9110,8824,65.45,9110,8826,1700000,9001,8827,300000,9001,,,,,,,,,, -5329,"Segara (Jakarta) / NEIEZ",9001,4820,5328,9804,1,0,4499,8801,0,9102,8802,3.113221,9110,8805,0.997,9201,8806,3900000,9001,8807,900000,9001,,,,,,,,,,,,, -5330,"Batavia (Jakarta) / NEIEZ",9001,4813,5328,9804,1,0,4499,8801,0,9102,8802,3.113221,9110,8805,0.997,9201,8806,3900000,9001,8807,900000,9001,,,,,,,,,,,,, -5331,"Makassar (Jakarta) / NEIEZ",9001,4804,5328,9804,1,0,4499,8801,0,9102,8802,3.113221,9110,8805,0.997,9201,8806,3900000,9001,8807,900000,9001,,,,,,,,,,,,, -5337,"Aratu / UTM zone 25S",9001,4208,16125,9807,1,0,4400,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5343,"POSGAR 2007 / Argentina 1",9001,5340,18031,9807,1,0,4530,8801,-90,9102,8802,-72,9102,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -5344,"POSGAR 2007 / Argentina 2",9001,5340,18032,9807,1,0,4530,8801,-90,9102,8802,-69,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -5345,"POSGAR 2007 / Argentina 3",9001,5340,18033,9807,1,0,4530,8801,-90,9102,8802,-66,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -5346,"POSGAR 2007 / Argentina 4",9001,5340,18034,9807,1,0,4530,8801,-90,9102,8802,-63,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -5347,"POSGAR 2007 / Argentina 5",9001,5340,18035,9807,1,0,4530,8801,-90,9102,8802,-60,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -5348,"POSGAR 2007 / Argentina 6",9001,5340,18036,9807,1,0,4530,8801,-90,9102,8802,-57,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -5349,"POSGAR 2007 / Argentina 7",9001,5340,18037,9807,1,0,4530,8801,-90,9102,8802,-54,9102,8805,1,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -5355,"MARGEN / UTM zone 20S",9001,5354,16120,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5356,"MARGEN / UTM zone 19S",9001,5354,16119,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5357,"MARGEN / UTM zone 21S",9001,5354,16121,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5361,"SIRGAS-Chile / UTM zone 19S",9001,5360,16119,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5362,"SIRGAS-Chile / UTM zone 18S",9001,5360,16118,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5367,"CR05 / CRTM05",9001,5365,5366,9807,1,0,4500,8801,0,9102,8802,-84,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5382,"SIRGAS-ROU98 / UTM zone 21S",9001,5381,16121,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5383,"SIRGAS-ROU98 / UTM zone 22S",9001,5381,16122,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5387,"Peru96 / UTM zone 18S",9001,5373,16118,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5388,"Peru96 / UTM zone 17S",9001,5373,16017,9807,1,1,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5389,"Peru96 / UTM zone 19S",9001,5373,16119,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5396,"SIRGAS 2000 / UTM zone 26S",9001,4674,16126,9807,1,0,4400,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5456,"Ocotepeque 1935 / Costa Rica Norte",9001,5451,5390,9801,1,0,4499,8801,10.28,9110,8802,-84.2,9110,8805,0.99995696,9201,8806,500000,9001,8807,271820.522,9001,,,,,,,,,,,,, -5457,"Ocotepeque 1935 / Costa Rica Sur",9001,5451,5394,9801,1,0,4499,8801,9,9110,8802,-83.4,9110,8805,0.99995696,9201,8806,500000,9001,8807,327987.436,9001,,,,,,,,,,,,, -5458,"Ocotepeque 1935 / Guatemala Norte",9001,4267,18211,9801,1,1,4499,8801,16.49,9110,8802,-90.2,9110,8805,0.99992226,9201,8806,500000,9001,8807,292209.579,9001,,,,,,,,,,,,, -5459,"Ocotepeque 1935 / Guatemala Sur",9001,5451,18212,9801,1,0,4499,8801,14.54,9110,8802,-90.2,9110,8805,0.99989906,9201,8806,500000,9001,8807,325992.681,9001,,,,,,,,,,,,, -5460,"Ocotepeque 1935 / El Salvador Lambert",9001,5451,5399,9801,1,0,4499,8801,13.47,9110,8802,-89,9110,8805,0.99996704,9201,8806,500000,9001,8807,295809.184,9001,,,,,,,,,,,,, -5461,"Ocotepeque 1935 / Nicaragua Norte",9001,5451,5439,9801,1,0,4499,8801,13.52,9110,8802,-85.3,9110,8805,0.99990314,9201,8806,500000,9001,8807,359891.816,9001,,,,,,,,,,,,, -5462,"Ocotepeque 1935 / Nicaragua Sur",9001,5451,5444,9801,1,0,4499,8801,11.44,9110,8802,-85.3,9110,8805,0.99992228,9201,8806,500000,9001,8807,288876.327,9001,,,,,,,,,,,,, -5463,"SAD69 / UTM zone 17N",9001,4618,16017,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5466,"Sibun Gorge 1922 / Colony Grid",9001,5464,5465,9807,1,1,4499,8801,17.0340471,9110,8802,-88.3754687,9110,8805,1,9201,8806,217259.26,9005,8807,445474.83,9005,,,,,,,,,,,,, -5469,"Panama-Colon 1911 / Panama Lambert",9001,5467,5468,9801,1,0,4499,8801,8.25,9110,8802,-80,9110,8805,0.99989909,9201,8806,500000,9001,8807,294865.303,9001,,,,,,,,,,,,, -5472,"Panama-Colon 1911 / Panama Polyconic",9037,5467,5471,9818,1,0,1028,8801,8.15,9110,8802,-81,9110,8806,1000000,9037,8807,1092972.1,9037,,,,,,,,,,,,,,,, -5479,"RSRGD2000 / MSLC2000",9001,4764,5475,9802,1,0,4500,8821,-78,9110,8822,163,9110,8823,-76.4,9110,8824,-79.2,9110,8826,7000000,9001,8827,5000000,9001,,,,,,,,,, -5480,"RSRGD2000 / BCLC2000",9001,4764,5476,9802,1,0,4500,8821,-74.3,9110,8822,165,9110,8823,-73.4,9110,8824,-75.2,9110,8826,5000000,9001,8827,3000000,9001,,,,,,,,,, -5481,"RSRGD2000 / PCLC2000",9001,4764,5477,9802,1,0,4500,8821,-71.3,9110,8822,166,9110,8823,-70.4,9110,8824,-72.2,9110,8826,3000000,9001,8827,1000000,9001,,,,,,,,,, -5482,"RSRGD2000 / RSPS2000",9001,4764,5478,9810,1,0,1044,8801,-90,9102,8802,180,9102,8805,0.994,9201,8806,5000000,9001,8807,1000000,9001,,,,,,,,,,,,, -5490,"RGAF09 / UTM zone 20N",9001,5489,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5513,"S-JTSK / Krovak",9001,4156,5509,9819,1,0,6501,1036,30.1717303,9110,8806,0,9001,8807,0,9001,8811,49.3,9110,8818,78.3,9110,8819,0.9999,9201,8833,24.5,9110,,,,,,, -5514,"S-JTSK / Krovak East North",9001,4156,5510,1041,1,0,4499,1036,30.1717303,9110,8806,0,9001,8807,0,9001,8811,49.3,9110,8818,78.3,9110,8819,0.9999,9201,8833,24.5,9110,,,,,,, -5515,"S-JTSK/05 / Modified Krovak",9001,5228,5511,1042,1,0,6501,1026,0.02946529277,9203,1027,0.02515965696,9203,1028,1.193845912e-07,9203,1029,-4.668270147e-07,9203,1030,9.233980362e-12,9203,1031,1.523735715e-12,9203,1032,1.696780024e-18,9203,,,,,,, -5516,"S-JTSK/05 / Modified Krovak East North",9001,5228,5512,1043,1,0,4499,1026,0.02946529277,9203,1027,0.02515965696,9203,1028,1.193845912e-07,9203,1029,-4.668270147e-07,9203,1030,9.233980362e-12,9203,1031,1.523735715e-12,9203,1032,1.696780024e-18,9203,,,,,,, -5518,"CI1971 / Chatham Islands Map Grid",9001,4672,5517,9807,1,0,4500,8801,-44,9110,8802,-176.3,9110,8805,1,9201,8806,350000,9001,8807,650000,9001,,,,,,,,,,,,, -5519,"CI1979 / Chatham Islands Map Grid",9001,4673,5517,9807,1,0,4500,8801,-44,9110,8802,-176.3,9110,8805,1,9201,8806,350000,9001,8807,650000,9001,,,,,,,,,,,,, -5520,"DHDN / 3-degree Gauss-Kruger zone 1",9001,4314,16261,9807,1,0,4530,8801,0,9102,8802,3,9102,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -5523,"WGS 84 / Gabon TM 2011",9001,4326,5522,9807,1,0,4499,8801,0,9102,8802,11.3,9110,8805,0.9996,9201,8806,1500000,9001,8807,5500000,9001,,,,,,,,,,,,, -5530,"SAD69(96) / Brazil Polyconic",9001,5527,19941,9818,1,0,4499,8801,0,9102,8802,-54,9102,8806,5000000,9001,8807,10000000,9001,,,,,,,,,,,,,,,, -5531,"SAD69(96) / UTM zone 21S",9001,5527,16121,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5532,"SAD69(96) / UTM zone 22S",9001,4618,16122,9807,1,1,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5533,"SAD69(96) / UTM zone 23S",9001,5527,16123,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5534,"SAD69(96) / UTM zone 24S",9001,5527,16124,9807,1,0,4400,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5535,"SAD69(96) / UTM zone 25S",9001,5527,16125,9807,1,0,4400,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5536,"Corrego Alegre 1961 / UTM zone 21S",9001,5524,16121,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5537,"Corrego Alegre 1961 / UTM zone 22S",9001,5524,16122,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5538,"Corrego Alegre 1961 / UTM zone 23S",9001,5524,16123,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5539,"Corrego Alegre 1961 / UTM zone 24S",9001,5524,16124,9807,1,0,4400,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5550,"PNG94 / PNGMG94 zone 54",9001,5546,5547,9807,1,0,4400,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5551,"PNG94 / PNGMG94 zone 55",9001,5546,5548,9807,1,0,4400,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5552,"PNG94 / PNGMG94 zone 56",9001,5546,5549,9807,1,0,4400,8801,0,9102,8802,153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5559,"Ocotepeque 1935 / Guatemala Norte",9001,5451,18211,9801,1,0,4499,8801,16.49,9110,8802,-90.2,9110,8805,0.99992226,9201,8806,500000,9001,8807,292209.579,9001,,,,,,,,,,,,, -5562,"UCS-2000 / Gauss-Kruger zone 4",9001,5561,16204,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -5563,"UCS-2000 / Gauss-Kruger zone 5",9001,5561,16205,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -5564,"UCS-2000 / Gauss-Kruger zone 6",9001,5561,16206,9807,1,0,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -5565,"UCS-2000 / Gauss-Kruger zone 7",9001,5561,16207,9807,1,0,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -5566,"UCS-2000 / Gauss-Kruger CM 21E",9001,5561,16304,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5567,"UCS-2000 / Gauss-Kruger CM 27E",9001,5561,16305,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5568,"UCS-2000 / Gauss-Kruger CM 33E",9001,5561,16306,9807,1,0,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5569,"UCS-2000 / Gauss-Kruger CM 39E",9001,5561,16307,9807,1,0,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5570,"UCS-2000 / 3-degree Gauss-Kruger zone 7",9001,5561,16267,9807,1,1,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -5571,"UCS-2000 / 3-degree Gauss-Kruger zone 8",9001,5561,16268,9807,1,1,4530,8801,0,9102,8802,24,9102,8805,1,9201,8806,8500000,9001,8807,0,9001,,,,,,,,,,,,, -5572,"UCS-2000 / 3-degree Gauss-Kruger zone 9",9001,5561,16269,9807,1,1,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,9500000,9001,8807,0,9001,,,,,,,,,,,,, -5573,"UCS-2000 / 3-degree Gauss-Kruger zone 10",9001,5561,16270,9807,1,1,4530,8801,0,9102,8802,30,9102,8805,1,9201,8806,10500000,9001,8807,0,9001,,,,,,,,,,,,, -5574,"UCS-2000 / 3-degree Gauss-Kruger zone 11",9001,5561,16271,9807,1,1,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,11500000,9001,8807,0,9001,,,,,,,,,,,,, -5575,"UCS-2000 / 3-degree Gauss-Kruger zone 12",9001,5561,16272,9807,1,1,4530,8801,0,9102,8802,36,9102,8805,1,9201,8806,12500000,9001,8807,0,9001,,,,,,,,,,,,, -5576,"UCS-2000 / 3-degree Gauss-Kruger zone 13",9001,5561,16273,9807,1,1,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,13500000,9001,8807,0,9001,,,,,,,,,,,,, -5577,"UCS-2000 / 3-degree Gauss-Kruger CM 21E",9001,5561,16304,9807,1,1,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5578,"UCS-2000 / 3-degree Gauss-Kruger CM 24E",9001,5561,16368,9807,1,1,4530,8801,0,9102,8802,24,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5579,"UCS-2000 / 3-degree Gauss-Kruger CM 27E",9001,5561,16305,9807,1,1,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5580,"UCS-2000 / 3-degree Gauss-Kruger CM 30E",9001,5561,16370,9807,1,1,4530,8801,0,9102,8802,30,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5581,"UCS-2000 / 3-degree Gauss-Kruger CM 33E",9001,5561,16306,9807,1,1,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5582,"UCS-2000 / 3-degree Gauss-Kruger CM 36E",9001,5561,16372,9807,1,1,4530,8801,0,9102,8802,36,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5583,"UCS-2000 / 3-degree Gauss-Kruger CM 39E",9001,5561,16307,9807,1,1,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5588,"NAD27 / New Brunswick Stereographic (NAD27)",9002,4267,5587,9809,1,0,1029,8801,46.3,9110,8802,-66.3,9110,8805,0.999912,9201,8806,1000000,9002,8807,1000000,9002,,,,,,,,,,,,, -5589,"Sibun Gorge 1922 / Colony Grid",9005,5464,5465,9807,1,0,4403,8801,17.0340471,9110,8802,-88.3754687,9110,8805,1,9201,8806,217259.26,9005,8807,445474.83,9005,,,,,,,,,,,,, -5596,"FEH2010 / Fehmarnbelt TM",9001,5593,5595,9807,1,0,4400,8801,0,9110,8802,11.2,9110,8805,1,9201,8806,1000000,9001,8807,0,9001,,,,,,,,,,,,, -5623,"NAD27 / Michigan East",9003,4267,12101,9807,1,0,4497,8801,41.3,9110,8802,-83.4,9110,8805,0.999942857,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -5624,"NAD27 / Michigan Old Central",9003,4267,12102,9807,1,0,4497,8801,41.3,9110,8802,-85.45,9110,8805,0.999909091,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -5625,"NAD27 / Michigan West",9003,4267,12103,9807,1,0,4497,8801,41.3,9110,8802,-88.45,9110,8805,0.999909091,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -5627,"ED50 / TM 6 NE",9001,4230,16406,9807,1,0,4400,8801,0,9102,8802,6,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5629,"Moznet / UTM zone 38S",9001,4130,16138,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5631,"Pulkovo 1942(58) / Gauss-Kruger zone 2 (E-N)",9001,4179,16202,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -5632,"PTRA08 / LCC Europe",9001,5013,19985,9802,1,0,4500,8821,52,9102,8822,10,9102,8823,35,9102,8824,65,9102,8826,4000000,9001,8827,2800000,9001,,,,,,,,,, -5633,"PTRA08 / LAEA Europe",9001,5013,19986,9820,1,0,4532,8801,52,9102,8802,10,9102,8806,4321000,9001,8807,3210000,9001,,,,,,,,,,,,,,,, -5634,"REGCAN95 / LCC Europe",9001,4081,19985,9802,1,0,4500,8821,52,9102,8822,10,9102,8823,35,9102,8824,65,9102,8826,4000000,9001,8827,2800000,9001,,,,,,,,,, -5635,"REGCAN95 / LAEA Europe",9001,4081,19986,9820,1,0,4500,8801,52,9102,8802,10,9102,8806,4321000,9001,8807,3210000,9001,,,,,,,,,,,,,,,, -5636,"TUREF / LAEA Europe",9001,5252,19986,9820,1,0,4532,8801,52,9102,8802,10,9102,8806,4321000,9001,8807,3210000,9001,,,,,,,,,,,,,,,, -5637,"TUREF / LCC Europe",9001,5252,19985,9802,1,0,4500,8821,52,9102,8822,10,9102,8823,35,9102,8824,65,9102,8826,4000000,9001,8827,2800000,9001,,,,,,,,,, -5638,"ISN2004 / LAEA Europe",9001,5324,19986,9820,1,0,4532,8801,52,9102,8802,10,9102,8806,4321000,9001,8807,3210000,9001,,,,,,,,,,,,,,,, -5639,"ISN2004 / LCC Europe",9001,5324,19985,9802,1,0,4500,8821,52,9102,8822,10,9102,8823,35,9102,8824,65,9102,8826,4000000,9001,8827,2800000,9001,,,,,,,,,, -5641,"SIRGAS 2000 / Brazil Mercator",9001,4674,5640,9805,1,0,4499,8802,-43,9102,8806,5000000,9001,8807,10000000,9001,8823,-2,9102,,,,,,,,,,,,,,,, -5643,"ED50 / SPBA LCC",9001,4230,5642,9802,1,0,4400,8821,48,9102,8822,10,9102,8823,52.4,9110,8824,54.2,9110,8826,815000,9001,8827,0,9001,,,,,,,,,, -5644,"RGR92 / UTM zone 39S",9001,4627,16139,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5646,"NAD83 / Vermont (ftUS)",9003,4269,5645,9807,1,0,4497,8801,42.3,9110,8802,-72.3,9110,8805,0.999964286,9201,8806,1640416.6667,9003,8807,0,9003,,,,,,,,,,,,, -5649,"ETRS89 / UTM zone 31N (zE-N)",9001,4258,5647,9807,1,0,4400,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,31500000,9001,8807,0,9001,,,,,,,,,,,,, -5650,"ETRS89 / UTM zone 33N (zE-N)",9001,4258,5648,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,33500000,9001,8807,0,9001,,,,,,,,,,,,, -5651,"ETRS89 / UTM zone 31N (N-zE)",9001,4258,5647,9807,1,0,4500,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,31500000,9001,8807,0,9001,,,,,,,,,,,,, -5652,"ETRS89 / UTM zone 32N (N-zE)",9001,4258,4648,9807,1,0,4500,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,32500000,9001,8807,0,9001,,,,,,,,,,,,, -5653,"ETRS89 / UTM zone 33N (N-zE)",9001,4258,5648,9807,1,0,4500,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,33500000,9001,8807,0,9001,,,,,,,,,,,,, -5654,"NAD83(HARN) / Vermont (ftUS)",9003,4152,5645,9807,1,0,4497,8801,42.3,9110,8802,-72.3,9110,8805,0.999964286,9201,8806,1640416.6667,9003,8807,0,9003,,,,,,,,,,,,, -5655,"NAD83(NSRS2007) / Vermont (ftUS)",9003,4759,5645,9807,1,0,4497,8801,42.3,9110,8802,-72.3,9110,8805,0.999964286,9201,8806,1640416.6667,9003,8807,0,9003,,,,,,,,,,,,, -5659,"Monte Mario / TM Emilia-Romagna",9001,4265,5658,9807,1,0,4499,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500053,9001,8807,-3999820,9001,,,,,,,,,,,,, -5663,"Pulkovo 1942(58) / Gauss-Kruger zone 3 (E-N)",9001,4179,16203,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -5664,"Pulkovo 1942(83) / Gauss-Kruger zone 2 (E-N)",9001,4178,16202,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -5665,"Pulkovo 1942(83) / Gauss-Kruger zone 3 (E-N)",9001,4178,16203,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -5666,"PD/83 / 3-degree Gauss-Kruger zone 3 (E-N)",9001,4746,16263,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -5667,"PD/83 / 3-degree Gauss-Kruger zone 4 (E-N)",9001,4746,16264,9807,1,0,4400,8801,0,9102,8802,12,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -5668,"RD/83 / 3-degree Gauss-Kruger zone 4 (E-N)",9001,4745,16264,9807,1,0,4400,8801,0,9102,8802,12,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -5669,"RD/83 / 3-degree Gauss-Kruger zone 5 (E-N)",9001,4745,16265,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -5670,"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 3 (E-N)",9001,4179,16263,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -5671,"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 4 (E-N)",9001,4179,16264,9807,1,0,4400,8801,0,9102,8802,12,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -5672,"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 5 (E-N)",9001,4179,16265,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -5673,"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 3 (E-N)",9001,4178,16263,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -5674,"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 4 (E-N)",9001,4178,16264,9807,1,0,4400,8801,0,9102,8802,12,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -5675,"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 5 (E-N)",9001,4178,16265,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -5676,"DHDN / 3-degree Gauss-Kruger zone 2 (E-N)",9001,4314,16262,9807,1,0,4400,8801,0,9102,8802,6,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -5677,"DHDN / 3-degree Gauss-Kruger zone 3 (E-N)",9001,4314,16263,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -5678,"DHDN / 3-degree Gauss-Kruger zone 4 (E-N)",9001,4314,16264,9807,1,0,4400,8801,0,9102,8802,12,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -5679,"DHDN / 3-degree Gauss-Kruger zone 5 (E-N)",9001,4314,16265,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -5680,"DHDN / 3-degree Gauss-Kruger zone 1 (E-N)",9001,4314,16261,9807,1,0,4400,8801,0,9102,8802,3,9102,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -5682,"DB_REF / 3-degree Gauss-Kruger zone 2 (E-N)",9001,5681,16262,9807,1,0,4400,8801,0,9102,8802,6,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -5683,"DB_REF / 3-degree Gauss-Kruger zone 3 (E-N)",9001,5681,16263,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -5684,"DB_REF / 3-degree Gauss-Kruger zone 4 (E-N)",9001,5681,16264,9807,1,0,4400,8801,0,9102,8802,12,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -5685,"DB_REF / 3-degree Gauss-Kruger zone 5 (E-N)",9001,5681,16265,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -5700,"NZGD2000 / UTM zone 1S",9001,4167,16101,9807,1,0,4400,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5819,EPSG topocentric example A,9001,4979,15594,9837,1,0,4461,8834,55,9102,8835,5,9102,8836,0,9001,,,,,,,,,,,,,,,,,,, -5820,EPSG topocentric example B,9001,4978,15595,9836,1,0,4461,8837,3771793.97,9001,8838,140253.34,9001,8839,5124304.35,9001,,,,,,,,,,,,,,,,,,, -5821,EPSG vertical perspective example,9001,5819,19850,9838,1,0,4461,8834,55,9102,8835,5,9102,8836,200,9001,8840,5900,9036,,,,,,,,,,,,,,,, -5825,"AGD66 / ACT Standard Grid",9001,4202,5824,9807,1,0,4400,8801,-35.19038506,9110,8802,149.003346139,9110,8805,1.000086,9201,8806,200000,9001,8807,600000,9001,,,,,,,,,,,,, -5836,"Yemen NGN96 / UTM zone 37N",9001,4163,16037,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5837,"Yemen NGN96 / UTM zone 40N",9001,4163,16040,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -5839,"Peru96 / UTM zone 17S",9001,5373,16117,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5842,"WGS 84 / TM 12 SE",9001,4326,16612,9807,1,0,4400,8801,0,9102,8802,12,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5844,"RGRDC 2005 / Congo TM zone 30",9001,4046,17430,9807,1,0,4499,8801,0,9102,8802,30,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5858,"SAD69(96) / UTM zone 22S",9001,5527,16122,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5875,"SAD69(96) / UTM zone 18S",9001,5527,16118,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5876,"SAD69(96) / UTM zone 19S",9001,5527,16119,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5877,"SAD69(96) / UTM zone 20S",9001,5527,16120,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5879,"Cadastre 1997 / UTM zone 38S",9001,4475,16138,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -5880,"SIRGAS 2000 / Brazil Polyconic",9001,4674,19941,9818,1,0,4499,8801,0,9102,8802,-54,9102,8806,5000000,9001,8807,10000000,9001,,,,,,,,,,,,,,,, -5887,"TGD2005 / Tonga Map Grid",9001,5886,5883,9807,1,0,4400,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,1500000,9001,8807,5000000,9001,,,,,,,,,,,,, -5890,JAXA Snow Depth Polar Stereographic North,9001,4054,5889,9829,1,0,1035,8806,0,9001,8807,0,9001,8832,70,9102,8833,90,9102,,,,,,,,,,,,,,,, -5921,"WGS 84 / EPSG Arctic Regional zone A1",9001,4326,5906,9802,1,0,4400,8821,81.19020136,9110,8822,-111,9102,8823,85,9102,8824,77,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -5922,"WGS 84 / EPSG Arctic Regional zone A2",9001,4326,5907,9802,1,0,4400,8821,81.19020136,9110,8822,-39,9102,8823,85,9102,8824,77,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -5923,"WGS 84 / EPSG Arctic Regional zone A3",9001,4326,5908,9802,1,0,4400,8821,81.19020136,9110,8822,33,9102,8823,85,9102,8824,77,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -5924,"WGS 84 / EPSG Arctic Regional zone A4",9001,4326,5909,9802,1,0,4400,8821,81.19020136,9110,8822,105,9102,8823,85,9102,8824,77,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -5925,"WGS 84 / EPSG Arctic Regional zone A5",9001,4326,5910,9802,1,0,4400,8821,81.19020136,9110,8822,177,9102,8823,85,9102,8824,77,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -5926,"WGS 84 / EPSG Arctic Regional zone B1",9001,4326,5911,9802,1,0,4400,8821,73.09206671,9110,8822,-111,9102,8823,77,9102,8824,69,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -5927,"WGS 84 / EPSG Arctic Regional zone B2",9001,4326,5912,9802,1,0,4400,8821,73.09206671,9110,8822,-39,9102,8823,77,9102,8824,69,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -5928,"WGS 84 / EPSG Arctic Regional zone B3",9001,4326,5913,9802,1,0,4400,8821,73.09206671,9110,8822,33,9102,8823,77,9102,8824,69,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -5929,"WGS 84 / EPSG Arctic Regional zone B4",9001,4326,5914,9802,1,0,4400,8821,73.09206671,9110,8822,105,9102,8823,77,9102,8824,69,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -5930,"WGS 84 / EPSG Arctic Regional zone B5",9001,4326,5915,9802,1,0,4400,8821,73.09206671,9110,8822,177,9102,8823,77,9102,8824,69,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -5931,"WGS 84 / EPSG Arctic Regional zone C1",9001,4326,5916,9802,1,0,4400,8821,65.06045752,9110,8822,-111,9102,8823,69,9102,8824,61,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -5932,"WGS 84 / EPSG Arctic Regional zone C2",9001,4326,5917,9802,1,0,4400,8821,65.06045752,9110,8822,-39,9102,8823,69,9102,8824,61,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -5933,"WGS 84 / EPSG Arctic Regional zone C3",9001,4326,5918,9802,1,0,4400,8821,65.06045752,9110,8822,33,9102,8823,69,9102,8824,61,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -5934,"WGS 84 / EPSG Arctic Regional zone C4",9001,4326,5919,9802,1,0,4400,8821,65.06045752,9110,8822,105,9102,8823,69,9102,8824,61,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -5935,"WGS 84 / EPSG Arctic Regional zone C5",9001,4326,5920,9802,1,0,4400,8821,65.06045752,9110,8822,177,9102,8823,69,9102,8824,61,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -5936,"WGS 84 / EPSG Alaska Polar Stereographic",9001,4326,5901,9810,1,0,4467,8801,90,9102,8802,-150,9102,8805,0.994,9201,8806,2000000,9001,8807,2000000,9001,,,,,,,,,,,,, -5937,"WGS 84 / EPSG Canada Polar Stereographic",9001,4326,5902,9810,1,0,4466,8801,90,9102,8802,-100,9102,8805,0.994,9201,8806,2000000,9001,8807,2000000,9001,,,,,,,,,,,,, -5938,"WGS 84 / EPSG Greenland Polar Stereographic",9001,4326,5903,9810,1,0,1036,8801,90,9102,8802,-33,9102,8805,0.994,9201,8806,2000000,9001,8807,2000000,9001,,,,,,,,,,,,, -5939,"WGS 84 / EPSG Norway Polar Stereographic",9001,4326,5904,9810,1,0,1037,8801,90,9102,8802,18,9102,8805,0.994,9201,8806,2000000,9001,8807,2000000,9001,,,,,,,,,,,,, -5940,"WGS 84 / EPSG Russia Polar Stereographic",9001,4326,5905,9810,1,0,1038,8801,90,9102,8802,105,9102,8805,0.994,9201,8806,2000000,9001,8807,2000000,9001,,,,,,,,,,,,, -6050,"GR96 / EPSG Arctic zone 1-25",9001,4747,5979,9802,1,0,4400,8821,85.2613626,9110,8822,-30,9110,8823,87,9110,8824,83.4,9110,8826,25500000,9001,8827,1500000,9001,,,,,,,,,, -6051,"GR96 / EPSG Arctic zone 2-18",9001,4747,5987,9802,1,0,4400,8821,82.03303296,9110,8822,-52,9110,8823,83.4,9110,8824,80.2,9110,8826,18500000,9001,8827,2500000,9001,,,,,,,,,, -6052,"GR96 / EPSG Arctic zone 2-20",9001,4747,5988,9802,1,0,4400,8821,82.03303296,9110,8822,-12,9110,8823,83.4,9110,8824,80.2,9110,8826,20500000,9001,8827,2500000,9001,,,,,,,,,, -6053,"GR96 / EPSG Arctic zone 3-29",9001,4747,6002,9802,1,0,4400,8821,78.42264151,9110,8822,-69,9110,8823,80.2,9110,8824,77,9110,8826,29500000,9001,8827,3500000,9001,,,,,,,,,, -6054,"GR96 / EPSG Arctic zone 3-31",9001,4747,6003,9802,1,0,4400,8821,78.42264151,9110,8822,-39,9110,8823,80.2,9110,8824,77,9110,8826,31500000,9001,8827,3500000,9001,,,,,,,,,, -6055,"GR96 / EPSG Arctic zone 3-33",9001,4747,6004,9802,1,0,4400,8821,78.42264151,9110,8822,-10,9110,8823,80.2,9110,8824,77,9110,8826,33500000,9001,8827,3500000,9001,,,,,,,,,, -6056,"GR96 / EPSG Arctic zone 4-20",9001,4747,6009,9802,1,0,4400,8821,75.21518519,9110,8822,-64,9110,8823,77,9110,8824,73.4,9110,8826,20500000,9001,8827,4500000,9001,,,,,,,,,, -6057,"GR96 / EPSG Arctic zone 4-22",9001,4747,6010,9802,1,0,4400,8821,75.21518519,9110,8822,-39,9110,8823,77,9110,8824,73.4,9110,8826,22500000,9001,8827,4500000,9001,,,,,,,,,, -6058,"GR96 / EPSG Arctic zone 4-24",9001,4747,6011,9802,1,0,4400,8821,75.21518519,9110,8822,-14,9110,8823,77,9110,8824,73.4,9110,8826,24500000,9001,8827,4500000,9001,,,,,,,,,, -6059,"GR96 / EPSG Arctic zone 5-41",9001,4747,6035,9802,1,0,4400,8821,72.01300331,9110,8822,-62,9110,8823,73.4,9110,8824,70.2,9110,8826,41500000,9001,8827,5500000,9001,,,,,,,,,, -6060,"GR96 / EPSG Arctic zone 5-43",9001,4747,6036,9802,1,0,4400,8821,72.01300331,9110,8822,-42,9110,8823,73.4,9110,8824,70.2,9110,8826,43500000,9001,8827,5500000,9001,,,,,,,,,, -6061,"GR96 / EPSG Arctic zone 5-45",9001,4747,6037,9802,1,0,4400,8821,72.01300331,9110,8822,-22,9110,8823,73.4,9110,8824,70.2,9110,8826,45500000,9001,8827,5500000,9001,,,,,,,,,, -6062,"GR96 / EPSG Arctic zone 6-26",9001,4747,6045,9802,1,0,4400,8821,68.4114912,9110,8822,-56,9110,8823,70.2,9110,8824,67,9110,8826,26500000,9001,8827,6500000,9001,,,,,,,,,, -6063,"GR96 / EPSG Arctic zone 6-28",9001,4747,6046,9802,1,0,4400,8821,68.4114912,9110,8822,-38,9110,8823,70.2,9110,8824,67,9110,8826,28500000,9001,8827,6500000,9001,,,,,,,,,, -6064,"GR96 / EPSG Arctic zone 6-30",9001,4747,6047,9802,1,0,4400,8821,68.4114912,9110,8822,-20,9110,8823,70.2,9110,8824,67,9110,8826,30500000,9001,8827,6500000,9001,,,,,,,,,, -6065,"GR96 / EPSG Arctic zone 7-11",9001,4747,6048,9802,1,0,4400,8821,65.21037415,9110,8822,-51,9110,8823,67,9110,8824,63.4,9110,8826,11500000,9001,8827,7500000,9001,,,,,,,,,, -6066,"GR96 / EPSG Arctic zone 7-13",9001,4747,6049,9802,1,0,4400,8821,65.21037415,9110,8822,-34,9110,8823,67,9110,8824,63.4,9110,8826,13500000,9001,8827,7500000,9001,,,,,,,,,, -6067,"GR96 / EPSG Arctic zone 8-20",9001,4747,5943,9802,1,0,4400,8821,62.00551048,9110,8822,-52,9110,8823,63.4,9110,8824,60.2,9110,8826,20500000,9001,8827,8500000,9001,,,,,,,,,, -6068,"GR96 / EPSG Arctic zone 8-22",9001,4747,5944,9802,1,0,4400,8821,62.00551048,9110,8822,-37,9110,8823,63.4,9110,8824,60.2,9110,8826,22500000,9001,8827,8500000,9001,,,,,,,,,, -6069,"ETRS89 / EPSG Arctic zone 2-22",9001,4258,5989,9802,1,0,4400,8821,82.03303296,9110,8822,16,9110,8823,83.4,9110,8824,80.2,9110,8826,22500000,9001,8827,2500000,9001,,,,,,,,,, -6070,"ETRS89 / EPSG Arctic zone 3-11",9001,4258,5993,9802,1,0,4400,8821,78.42264151,9110,8822,21,9110,8823,80.2,9110,8824,77,9110,8826,11500000,9001,8827,3500000,9001,,,,,,,,,, -6071,"ETRS89 / EPSG Arctic zone 4-26",9001,4258,6012,9802,1,0,4400,8821,75.21518519,9110,8822,10,9110,8823,77,9110,8824,73.4,9110,8826,26500000,9001,8827,4500000,9001,,,,,,,,,, -6072,"ETRS89 / EPSG Arctic zone 4-28",9001,4258,6013,9802,1,0,4400,8821,75.21518519,9110,8822,34,9110,8823,77,9110,8824,73.4,9110,8826,28500000,9001,8827,4500000,9001,,,,,,,,,, -6073,"ETRS89 / EPSG Arctic zone 5-11",9001,4258,6020,9802,1,0,4400,8821,72.01300331,9110,8822,14,9110,8823,73.4,9110,8824,70.2,9110,8826,11500000,9001,8827,5500000,9001,,,,,,,,,, -6074,"ETRS89 / EPSG Arctic zone 5-13",9001,4258,6021,9802,1,0,4400,8821,72.01300331,9110,8822,34,9110,8823,73.4,9110,8824,70.2,9110,8826,13500000,9001,8827,5500000,9001,,,,,,,,,, -6075,"WGS 84 / EPSG Arctic zone 2-24",9001,4326,5990,9802,1,0,4400,8821,82.03303296,9110,8822,53,9110,8823,83.4,9110,8824,80.2,9110,8826,24500000,9001,8827,2500000,9001,,,,,,,,,, -6076,"WGS 84 / EPSG Arctic zone 2-26",9001,4326,5991,9802,1,0,4400,8821,82.03303296,9110,8822,93,9110,8823,83.4,9110,8824,80.2,9110,8826,26500000,9001,8827,2500000,9001,,,,,,,,,, -6077,"WGS 84 / EPSG Arctic zone 3-13",9001,4326,5994,9802,1,0,4400,8821,78.42264151,9110,8822,52,9110,8823,80.2,9110,8824,77,9110,8826,13500000,9001,8827,3500000,9001,,,,,,,,,, -6078,"WGS 84 / EPSG Arctic zone 3-15",9001,4326,5995,9802,1,0,4400,8821,78.42264151,9110,8822,83,9110,8823,80.2,9110,8824,77,9110,8826,15500000,9001,8827,3500000,9001,,,,,,,,,, -6079,"WGS 84 / EPSG Arctic zone 3-17",9001,4326,5996,9802,1,0,4400,8821,78.42264151,9110,8822,114,9110,8823,80.2,9110,8824,77,9110,8826,17500000,9001,8827,3500000,9001,,,,,,,,,, -6080,"WGS 84 / EPSG Arctic zone 3-19",9001,4326,5997,9802,1,0,4400,8821,78.42264151,9110,8822,145,9110,8823,80.2,9110,8824,77,9110,8826,19500000,9001,8827,3500000,9001,,,,,,,,,, -6081,"WGS 84 / EPSG Arctic zone 4-30",9001,4326,6014,9802,1,0,4400,8821,75.21518519,9110,8822,58,9110,8823,77,9110,8824,73.4,9110,8826,30500000,9001,8827,4500000,9001,,,,,,,,,, -6082,"WGS 84 / EPSG Arctic zone 4-32",9001,4326,6015,9802,1,0,4400,8821,75.21518519,9110,8822,82,9110,8823,77,9110,8824,73.4,9110,8826,32500000,9001,8827,4500000,9001,,,,,,,,,, -6083,"WGS 84 / EPSG Arctic zone 4-34",9001,4326,6016,9802,1,0,4400,8821,75.21518519,9110,8822,106,9110,8823,77,9110,8824,73.4,9110,8826,34500000,9001,8827,4500000,9001,,,,,,,,,, -6084,"WGS 84 / EPSG Arctic zone 4-36",9001,4326,6017,9802,1,0,4400,8821,75.21518519,9110,8822,130,9110,8823,77,9110,8824,73.4,9110,8826,36500000,9001,8827,4500000,9001,,,,,,,,,, -6085,"WGS 84 / EPSG Arctic zone 4-38",9001,4326,6018,9802,1,0,4400,8821,75.21518519,9110,8822,154,9110,8823,77,9110,8824,73.4,9110,8826,38500000,9001,8827,4500000,9001,,,,,,,,,, -6086,"WGS 84 / EPSG Arctic zone 4-40",9001,4326,6019,9802,1,0,4400,8821,75.21518519,9110,8822,179,9110,8823,77,9110,8824,73.4,9110,8826,40500000,9001,8827,4500000,9001,,,,,,,,,, -6087,"WGS 84 / EPSG Arctic zone 5-15",9001,4326,6022,9802,1,0,4400,8821,72.01300331,9110,8822,54,9110,8823,73.4,9110,8824,70.2,9110,8826,15500000,9001,8827,5500000,9001,,,,,,,,,, -6088,"WGS 84 / EPSG Arctic zone 5-17",9001,4326,6023,9802,1,0,4400,8821,72.01300331,9110,8822,74,9110,8823,73.4,9110,8824,70.2,9110,8826,17500000,9001,8827,5500000,9001,,,,,,,,,, -6089,"WGS 84 / EPSG Arctic zone 5-19",9001,4326,6024,9802,1,0,4400,8821,72.01300331,9110,8822,95,9110,8823,73.4,9110,8824,70.2,9110,8826,19500000,9001,8827,5500000,9001,,,,,,,,,, -6090,"WGS 84 / EPSG Arctic zone 5-21",9001,4326,6025,9802,1,0,4400,8821,72.01300331,9110,8822,116,9110,8823,73.4,9110,8824,70.2,9110,8826,21500000,9001,8827,5500000,9001,,,,,,,,,, -6091,"WGS 84 / EPSG Arctic zone 5-23",9001,4326,6026,9802,1,0,4400,8821,72.01300331,9110,8822,137,9110,8823,73.4,9110,8824,70.2,9110,8826,23500000,9001,8827,5500000,9001,,,,,,,,,, -6092,"WGS 84 / EPSG Arctic zone 5-25",9001,4326,6027,9802,1,0,4400,8821,72.01300331,9110,8822,158,9110,8823,73.4,9110,8824,70.2,9110,8826,25500000,9001,8827,5500000,9001,,,,,,,,,, -6093,"WGS 84 / EPSG Arctic zone 5-27",9001,4326,6028,9802,1,0,4400,8821,72.01300331,9110,8822,179,9110,8823,73.4,9110,8824,70.2,9110,8826,27500000,9001,8827,5500000,9001,,,,,,,,,, -6094,"NAD83(NSRS2007) / EPSG Arctic zone 5-29",9001,4759,6029,9802,1,0,4400,8821,72.01300331,9110,8822,-163,9110,8823,73.4,9110,8824,70.2,9110,8826,29500000,9001,8827,5500000,9001,,,,,,,,,, -6095,"NAD83(NSRS2007) / EPSG Arctic zone 5-31",9001,4759,6030,9802,1,0,4400,8821,72.01300331,9110,8822,-147,9110,8823,73.4,9110,8824,70.2,9110,8826,31500000,9001,8827,5500000,9001,,,,,,,,,, -6096,"NAD83(NSRS2007) / EPSG Arctic zone 6-14",9001,4759,6039,9802,1,0,4400,8821,68.4114912,9110,8822,-165,9110,8823,70.2,9110,8824,67,9110,8826,14500000,9001,8827,6500000,9001,,,,,,,,,, -6097,"NAD83(NSRS2007) / EPSG Arctic zone 6-16",9001,4759,6040,9802,1,0,4400,8821,68.4114912,9110,8822,-147,9110,8823,70.2,9110,8824,67,9110,8826,16500000,9001,8827,6500000,9001,,,,,,,,,, -6098,"NAD83(CSRS) / EPSG Arctic zone 1-23",9001,4617,5978,9802,1,0,4400,8821,85.2613626,9110,8822,-90,9110,8823,87,9110,8824,83.4,9110,8826,23500000,9001,8827,1500000,9001,,,,,,,,,, -6099,"NAD83(CSRS) / EPSG Arctic zone 2-14",9001,4617,5985,9802,1,0,4400,8821,82.03303296,9110,8822,-115,9110,8823,83.4,9110,8824,80.2,9110,8826,14500000,9001,8827,2500000,9001,,,,,,,,,, -6100,"NAD83(CSRS) / EPSG Arctic zone 2-16",9001,4617,5986,9802,1,0,4400,8821,82.03303296,9110,8822,-75,9110,8823,83.4,9110,8824,80.2,9110,8826,16500000,9001,8827,2500000,9001,,,,,,,,,, -6101,"NAD83(CSRS) / EPSG Arctic zone 3-25",9001,4617,6000,9802,1,0,4400,8821,78.42264151,9110,8822,-129,9110,8823,80.2,9110,8824,77,9110,8826,25500000,9001,8827,3500000,9001,,,,,,,,,, -6102,"NAD83(CSRS) / EPSG Arctic zone 3-27",9001,4617,6001,9802,1,0,4400,8821,78.42264151,9110,8822,-99,9110,8823,80.2,9110,8824,77,9110,8826,27500000,9001,8827,3500000,9001,,,,,,,,,, -6103,"NAD83(CSRS) / EPSG Arctic zone 3-29",9001,4617,6002,9802,1,0,4400,8821,78.42264151,9110,8822,-69,9110,8823,80.2,9110,8824,77,9110,8826,29500000,9001,8827,3500000,9001,,,,,,,,,, -6104,"NAD83(CSRS) / EPSG Arctic zone 4-14",9001,4617,6006,9802,1,0,4400,8821,75.21518519,9110,8822,-129,9110,8823,77,9110,8824,73.4,9110,8826,14500000,9001,8827,4500000,9001,,,,,,,,,, -6105,"NAD83(CSRS) / EPSG Arctic zone 4-16",9001,4617,6007,9802,1,0,4400,8821,75.21518519,9110,8822,-104,9110,8823,77,9110,8824,73.4,9110,8826,16500000,9001,8827,4500000,9001,,,,,,,,,, -6106,"NAD83(CSRS) / EPSG Arctic zone 4-18",9001,4617,6008,9802,1,0,4400,8821,75.21518519,9110,8822,-79,9110,8823,77,9110,8824,73.4,9110,8826,18500000,9001,8827,4500000,9001,,,,,,,,,, -6107,"NAD83(CSRS) / EPSG Arctic zone 5-33",9001,4617,6031,9802,1,0,4400,8821,72.01300331,9110,8822,-131,9110,8823,73.4,9110,8824,70.2,9110,8826,33500000,9001,8827,5500000,9001,,,,,,,,,, -6108,"NAD83(CSRS) / EPSG Arctic zone 5-35",9001,4617,6032,9802,1,0,4400,8821,72.01300331,9110,8822,-111,9110,8823,73.4,9110,8824,70.2,9110,8826,35500000,9001,8827,5500000,9001,,,,,,,,,, -6109,"NAD83(CSRS) / EPSG Arctic zone 5-37",9001,4617,6033,9802,1,0,4400,8821,72.01300331,9110,8822,-91,9110,8823,73.4,9110,8824,70.2,9110,8826,37500000,9001,8827,5500000,9001,,,,,,,,,, -6110,"NAD83(CSRS) / EPSG Arctic zone 5-39",9001,4617,6034,9802,1,0,4400,8821,72.01300331,9110,8822,-71,9110,8823,73.4,9110,8824,70.2,9110,8826,39500000,9001,8827,5500000,9001,,,,,,,,,, -6111,"NAD83(CSRS) / EPSG Arctic zone 6-18",9001,4617,6041,9802,1,0,4400,8821,68.4114912,9110,8822,-132,9110,8823,70.2,9110,8824,67,9110,8826,18500000,9001,8827,6500000,9001,,,,,,,,,, -6112,"NAD83(CSRS) / EPSG Arctic zone 6-20",9001,4617,6042,9802,1,0,4400,8821,68.4114912,9110,8822,-113,9110,8823,70.2,9110,8824,67,9110,8826,20500000,9001,8827,6500000,9001,,,,,,,,,, -6113,"NAD83(CSRS) / EPSG Arctic zone 6-22",9001,4617,6043,9802,1,0,4400,8821,68.4114912,9110,8822,-94,9110,8823,70.2,9110,8824,67,9110,8826,22500000,9001,8827,6500000,9001,,,,,,,,,, -6114,"NAD83(CSRS) / EPSG Arctic zone 6-24",9001,4617,6044,9802,1,0,4400,8821,68.4114912,9110,8822,-75,9110,8823,70.2,9110,8824,67,9110,8826,24500000,9001,8827,6500000,9001,,,,,,,,,, -6115,"WGS 84 / EPSG Arctic zone 1-27",9001,4326,5980,9802,1,0,4400,8821,85.2613626,9110,8822,30,9110,8823,87,9110,8824,83.4,9110,8826,27500000,9001,8827,1500000,9001,,,,,,,,,, -6116,"WGS 84 / EPSG Arctic zone 1-29",9001,4326,5981,9802,1,0,4400,8821,85.2613626,9110,8822,90,9110,8823,87,9110,8824,83.4,9110,8826,29500000,9001,8827,1500000,9001,,,,,,,,,, -6117,"WGS 84 / EPSG Arctic zone 1-31",9001,4326,5982,9802,1,0,4400,8821,85.2613626,9110,8822,150,9110,8823,87,9110,8824,83.4,9110,8826,31500000,9001,8827,1500000,9001,,,,,,,,,, -6118,"WGS 84 / EPSG Arctic zone 1-21",9001,4326,5977,9802,1,0,4400,8821,85.2613626,9110,8822,-150,9110,8823,87,9110,8824,83.4,9110,8826,21500000,9001,8827,1500000,9001,,,,,,,,,, -6119,"WGS 84 / EPSG Arctic zone 2-28",9001,4326,5992,9802,1,0,4400,8821,82.03303296,9110,8822,133,9110,8823,83.4,9110,8824,80.2,9110,8826,28500000,9001,8827,2500000,9001,,,,,,,,,, -6120,"WGS 84 / EPSG Arctic zone 2-10",9001,4326,5983,9802,1,0,4400,8821,82.03303296,9110,8822,166,9110,8823,83.4,9110,8824,80.2,9110,8826,10500000,9001,8827,2500000,9001,,,,,,,,,, -6121,"WGS 84 / EPSG Arctic zone 2-12",9001,4326,5984,9802,1,0,4400,8821,82.03303296,9110,8822,-154,9110,8823,83.4,9110,8824,80.2,9110,8826,12500000,9001,8827,2500000,9001,,,,,,,,,, -6122,"WGS 84 / EPSG Arctic zone 3-21",9001,4326,5998,9802,1,0,4400,8821,78.42264151,9110,8822,176,9110,8823,80.2,9110,8824,77,9110,8826,21500000,9001,8827,3500000,9001,,,,,,,,,, -6123,"WGS 84 / EPSG Arctic zone 3-23",9001,4326,5999,9802,1,0,4400,8821,78.42264151,9110,8822,-153,9110,8823,80.2,9110,8824,77,9110,8826,23500000,9001,8827,3500000,9001,,,,,,,,,, -6124,"WGS 84 / EPSG Arctic zone 4-12",9001,4326,6005,9802,1,0,4400,8821,75.21518519,9110,8822,-155,9110,8823,77,9110,8824,73.4,9110,8826,12500000,9001,8827,4500000,9001,,,,,,,,,, -6125,"ETRS89 / EPSG Arctic zone 5-47",9001,4258,6038,9802,1,0,4400,8821,72.01300331,9110,8822,-5,9110,8823,73.4,9110,8824,70.2,9110,8826,47500000,9001,8827,5500000,9001,,,,,,,,,, -6128,Grand Cayman National Grid 1959,9002,4723,6127,9807,1,0,1039,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,1640419.9475,9002,8807,0,9002,,,,,,,,,,,,, -6129,Sister Islands National Grid 1961,9002,4726,6127,9807,1,0,1039,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,1640419.9475,9002,8807,0,9002,,,,,,,,,,,,, -6141,Cayman Islands National Grid 2011,9002,6135,6126,9802,1,1,1039,8821,19.2,9110,8822,80.34,9110,8823,19.2,9110,8824,19.42,9110,8826,2950000,9002,8827,1900000,9002,,,,,,,,,, -6200,"NAD27 / Michigan North",9003,4267,6197,1051,1,1,4497,1038,1.0000382,9201,8821,44.87,9110,8822,-87,9110,8823,45.29,9110,8824,47.05,9110,8826,2000000,9003,8827,0,9003,,,,,,, -6201,"NAD27 / Michigan Central",9003,4267,6198,1051,1,0,4497,1038,1.0000382,9201,8821,43.19,9110,8822,-84.2,9110,8823,44.11,9110,8824,45.42,9110,8826,2000000,9003,8827,0,9003,,,,,,, -6202,"NAD27 / Michigan South",9003,4267,6199,1051,1,0,4497,1038,1.0000382,9201,8821,41.3,9110,8822,-84.2,9110,8823,42.06,9110,8824,43.4,9110,8826,2000000,9003,8827,0,9003,,,,,,, -6204,Macedonia State Coordinate System,9001,3906,6203,9807,1,0,4498,8801,0,9102,8802,21,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6210,"SIRGAS 2000 / UTM zone 23N",9001,4674,16023,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6211,"SIRGAS 2000 / UTM zone 24N",9001,4674,16024,9807,1,0,4400,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6244,"MAGNA-SIRGAS / Arauca urban grid",9001,4686,6212,1052,1,0,4500,1039,100,9001,8801,7.051538301,9110,8802,-70.452991476,9110,8806,1035263.443,9001,8807,1275526.621,9001,,,,,,,,,,,,, -6245,"MAGNA-SIRGAS / Armenia urban grid",9001,4686,6213,1052,1,0,4500,1039,1470,9001,8801,4.315637,9110,8802,-75.4024561,9110,8806,1155824.666,9001,8807,993087.465,9001,,,,,,,,,,,,, -6246,"MAGNA-SIRGAS / Barranquilla urban grid",9001,4686,6214,1052,1,0,4500,1039,100,9001,8801,10.55234591,9110,8802,-74.50035928,9110,8806,917264.406,9001,8807,1699839.935,9001,,,,,,,,,,,,, -6247,"MAGNA-SIRGAS / Bogota urban grid",9001,4686,6215,1052,1,0,4500,1039,2550,9001,8801,4.404975,9110,8802,-74.084773,9110,8806,92334.879,9001,8807,109320.965,9001,,,,,,,,,,,,, -6248,"MAGNA-SIRGAS / Bucaramanga urban grid",9001,4686,6216,1052,1,0,4500,1039,931,9001,8801,7.044399371,9110,8802,-73.11504356,9110,8806,1097241.305,9001,8807,1274642.278,9001,,,,,,,,,,,,, -6249,"MAGNA-SIRGAS / Cali urban grid",9001,4686,6217,1052,1,0,4500,1039,1000,9001,8801,3.263078,9110,8802,-76.3114025,9110,8806,1061900.18,9001,8807,872364.63,9001,,,,,,,,,,,,, -6250,"MAGNA-SIRGAS / Cartagena urban grid",9001,4686,6218,1052,1,0,4500,1039,0,9001,8801,10.2349371,9110,8802,-75.3040345,9110,8806,842981.41,9001,8807,1641887.09,9001,,,,,,,,,,,,, -6251,"MAGNA-SIRGAS / Cucuta urban grid",9001,4686,6219,1052,1,0,4500,1039,308,9001,8801,7.532017225,9110,8802,-72.301033542,9110,8806,842805.406,9001,8807,1364404.57,9001,,,,,,,,,,,,, -6252,"MAGNA-SIRGAS / Florencia urban grid",9001,4686,6220,1052,1,0,4500,1039,300,9001,8801,1.371564426,9110,8802,-75.370882337,9110,8806,1162300.348,9001,8807,671068.716,9001,,,,,,,,,,,,, -6253,"MAGNA-SIRGAS / Ibague urban grid",9001,4686,6221,1052,1,0,4500,1039,1100,9001,8801,4.250988618,9110,8802,-75.104773336,9110,8806,877634.33,9001,8807,980541.348,9001,,,,,,,,,,,,, -6254,"MAGNA-SIRGAS / Inirida urban grid",9001,4686,6222,1052,1,0,4500,1039,96,9001,8801,3.504357746,9110,8802,-67.541883552,9110,8806,1019177.687,9001,8807,491791.326,9001,,,,,,,,,,,,, -6255,"MAGNA-SIRGAS / Leticia urban grid",9001,4686,6223,1052,1,0,4500,1039,89.7,9001,8801,-4.115166257,9110,8802,-69.563411981,9110,8806,25978.217,9001,8807,27501.365,9001,,,,,,,,,,,,, -6256,"MAGNA-SIRGAS / Manizales urban grid",9001,4686,6224,1052,1,0,4500,1039,2100,9001,8801,5.0405354,9110,8802,-75.3039941,9110,8806,1173727.04,9001,8807,1052391.13,9001,,,,,,,,,,,,, -6257,"MAGNA-SIRGAS / Medellin urban grid",9001,4686,6225,1052,1,0,4500,1039,1510,9001,8801,6.1345152,9110,8802,-75.3353593,9110,8806,835378.647,9001,8807,1180816.875,9001,,,,,,,,,,,,, -6258,"MAGNA-SIRGAS / Mitu urban grid",9001,4686,6226,1052,1,0,4500,1039,170,9001,8801,1.145988972,9110,8802,-70.140766196,9110,8806,1093717.398,9001,8807,629997.236,9001,,,,,,,,,,,,, -6259,"MAGNA-SIRGAS / Mocoa urban grid",9001,4686,6227,1052,1,0,4500,1039,655.2,9001,8801,1.082408409,9110,8802,-76.390367639,9110,8806,1047467.388,9001,8807,617828.474,9001,,,,,,,,,,,,, -6260,"MAGNA-SIRGAS / Monteria urban grid",9001,4686,6228,1052,1,0,4500,1039,15,9001,8801,8.462310872,9110,8802,-75.524639199,9110,8806,1131814.934,9001,8807,1462131.119,9001,,,,,,,,,,,,, -6261,"MAGNA-SIRGAS / Neiva urban grid",9001,4686,6229,1052,1,0,4500,1039,430,9001,8801,2.56326942,9110,8802,-75.17471722,9110,8806,864476.923,9001,8807,817199.827,9001,,,,,,,,,,,,, -6262,"MAGNA-SIRGAS / Pasto urban grid",9001,4686,6230,1052,1,0,4500,1039,2530,9001,8801,1.120356225,9110,8802,-77.151125228,9110,8806,980469.695,9001,8807,624555.332,9001,,,,,,,,,,,,, -6263,"MAGNA-SIRGAS / Pereira urban grid",9001,4686,6231,1052,1,0,4500,1039,1500,9001,8801,4.4848937,9110,8802,-75.4138225,9110,8806,1153492.012,9001,8807,1024195.255,9001,,,,,,,,,,,,, -6264,"MAGNA-SIRGAS / Popayan urban grid",9001,4686,6232,1052,1,0,4500,1039,1740,9001,8801,2.272217558,9110,8802,-76.362192989,9110,8806,1052430.525,9001,8807,763366.548,9001,,,,,,,,,,,,, -6265,"MAGNA-SIRGAS / Puerto Carreno urban grid",9001,4686,6233,1052,1,0,4500,1039,51.58,9001,8801,6.105059709,9110,8802,-67.300270089,9110,8806,1063834.703,9001,8807,1175257.481,9001,,,,,,,,,,,,, -6266,"MAGNA-SIRGAS / Quibdo urban grid",9001,4686,6234,1052,1,0,4500,1039,44,9001,8801,5.413929158,9110,8802,-76.390271389,9110,8806,1047273.617,9001,8807,1121443.09,9001,,,,,,,,,,,,, -6267,"MAGNA-SIRGAS / Riohacha urban grid",9001,4686,6235,1052,1,0,4500,1039,6,9001,8801,11.321288798,9110,8802,-72.540996793,9110,8806,1128154.73,9001,8807,1767887.914,9001,,,,,,,,,,,,, -6268,"MAGNA-SIRGAS / San Andres urban grid",9001,4686,6236,1052,1,0,4500,1039,6,9001,8801,12.312565957,9110,8802,-81.434575342,9110,8806,820439.298,9001,8807,1877357.828,9001,,,,,,,,,,,,, -6269,"MAGNA-SIRGAS / San Jose del Guaviare urban grid",9001,4686,6237,1052,1,0,4500,1039,185,9001,8801,2.335068419,9110,8802,-72.382411997,9110,8806,1159876.62,9001,8807,775380.342,9001,,,,,,,,,,,,, -6270,"MAGNA-SIRGAS / Santa Marta urban grid",9001,4686,6238,1052,1,0,4500,1039,29,9001,8801,11.1310715,9110,8802,-74.1330019,9110,8806,983892.409,9001,8807,1732533.518,9001,,,,,,,,,,,,, -6271,"MAGNA-SIRGAS / Sucre urban grid",9001,4686,6239,1052,1,0,4500,1039,20,9001,8801,8.483798132,9110,8802,-74.432088057,9110,8806,929043.607,9001,8807,1466125.658,9001,,,,,,,,,,,,, -6272,"MAGNA-SIRGAS / Tunja urban grid",9001,4686,6240,1052,1,0,4500,1039,2800,9001,8801,5.320310106,9110,8802,-73.210698004,9110,8806,1080514.91,9001,8807,1103772.028,9001,,,,,,,,,,,,, -6273,"MAGNA-SIRGAS / Valledupar urban grid",9001,4686,6241,1052,1,0,4500,1039,200,9001,8801,10.265014,9110,8802,-73.1447657,9110,8806,1090979.66,9001,8807,1647208.93,9001,,,,,,,,,,,,, -6274,"MAGNA-SIRGAS / Villavicencio urban grid",9001,4686,6242,1052,1,0,4500,1039,427.19,9001,8801,4.091935036,9110,8802,-73.372814955,9110,8806,1050678.757,9001,8807,950952.124,9001,,,,,,,,,,,,, -6275,"MAGNA-SIRGAS / Yopal urban grid",9001,4686,6243,1052,1,0,4500,1039,300,9001,8801,5.2114138,9110,8802,-72.2512145,9110,8806,851184.177,9001,8807,1083954.137,9001,,,,,,,,,,,,, -6307,"NAD83(CORS96) / Puerto Rico and Virgin Is.",9001,6783,15230,9802,1,0,4499,8821,17.5,9110,8822,-66.26,9110,8823,18.26,9110,8824,18.02,9110,8826,200000,9001,8827,200000,9001,,,,,,,,,, -6312,"CGRS93 / Cyprus Local Transverse Mercator",9001,6311,6308,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.99995,9201,8806,200000,9001,8807,-3500000,9001,,,,,,,,,,,,, -6316,Macedonia State Coordinate System zone 7,9001,3906,18277,9807,1,0,4498,8801,0,9102,8802,21,9102,8805,0.9999,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -6328,"NAD83(2011) / UTM zone 59N",9001,6318,16059,9807,1,0,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6329,"NAD83(2011) / UTM zone 60N",9001,6318,16060,9807,1,0,4400,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6330,"NAD83(2011) / UTM zone 1N",9001,6318,16001,9807,1,0,4400,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6331,"NAD83(2011) / UTM zone 2N",9001,6318,16002,9807,1,0,4400,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6332,"NAD83(2011) / UTM zone 3N",9001,6318,16003,9807,1,0,4400,8801,0,9102,8802,-165,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6333,"NAD83(2011) / UTM zone 4N",9001,6318,16004,9807,1,0,4400,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6334,"NAD83(2011) / UTM zone 5N",9001,6318,16005,9807,1,0,4400,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6335,"NAD83(2011) / UTM zone 6N",9001,6318,16006,9807,1,0,4400,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6336,"NAD83(2011) / UTM zone 7N",9001,6318,16007,9807,1,0,4400,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6337,"NAD83(2011) / UTM zone 8N",9001,6318,16008,9807,1,0,4400,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6338,"NAD83(2011) / UTM zone 9N",9001,6318,16009,9807,1,0,4400,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6339,"NAD83(2011) / UTM zone 10N",9001,6318,16010,9807,1,0,4400,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6340,"NAD83(2011) / UTM zone 11N",9001,6318,16011,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6341,"NAD83(2011) / UTM zone 12N",9001,6318,16012,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6342,"NAD83(2011) / UTM zone 13N",9001,6318,16013,9807,1,0,4400,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6343,"NAD83(2011) / UTM zone 14N",9001,6318,16014,9807,1,0,4400,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6344,"NAD83(2011) / UTM zone 15N",9001,6318,16015,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6345,"NAD83(2011) / UTM zone 16N",9001,6318,16016,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6346,"NAD83(2011) / UTM zone 17N",9001,6318,16017,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6347,"NAD83(2011) / UTM zone 18N",9001,6318,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6348,"NAD83(2011) / UTM zone 19N",9001,6318,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6350,"NAD83(2011) / Conus Albers",9001,6318,5068,9822,1,0,4499,8821,23,9102,8822,-96,9102,8823,29.3,9110,8824,45.3,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -6351,"NAD83(2011) / EPSG Arctic zone 5-29",9001,6318,6029,9802,1,0,4400,8821,72.01300331,9110,8822,-163,9110,8823,73.4,9110,8824,70.2,9110,8826,29500000,9001,8827,5500000,9001,,,,,,,,,, -6352,"NAD83(2011) / EPSG Arctic zone 5-31",9001,6318,6030,9802,1,0,4400,8821,72.01300331,9110,8822,-147,9110,8823,73.4,9110,8824,70.2,9110,8826,31500000,9001,8827,5500000,9001,,,,,,,,,, -6353,"NAD83(2011) / EPSG Arctic zone 6-14",9001,6318,6039,9802,1,0,4400,8821,68.4114912,9110,8822,-165,9110,8823,70.2,9110,8824,67,9110,8826,14500000,9001,8827,6500000,9001,,,,,,,,,, -6354,"NAD83(2011) / EPSG Arctic zone 6-16",9001,6318,6040,9802,1,0,4400,8821,68.4114912,9110,8822,-147,9110,8823,70.2,9110,8824,67,9110,8826,16500000,9001,8827,6500000,9001,,,,,,,,,, -6355,"NAD83(2011) / Alabama East",9001,6318,10131,9807,1,0,4499,8801,30.3,9110,8802,-85.5,9110,8805,0.99996,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -6356,"NAD83(2011) / Alabama West",9001,6318,10132,9807,1,0,4499,8801,30,9110,8802,-87.3,9110,8805,0.999933333,9201,8806,600000,9001,8807,0,9001,,,,,,,,,,,,, -6362,"Mexico ITRF92 / LCC",9001,4483,6361,9802,1,0,4500,8821,12,9102,8822,-102,9102,8823,17.5,9102,8824,29.5,9102,8826,2500000,9001,8827,0,9001,,,,,,,,,, -6366,"Mexico ITRF2008 / UTM zone 11N",9001,6365,16011,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6367,"Mexico ITRF2008 / UTM zone 12N",9001,6365,16012,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6368,"Mexico ITRF2008 / UTM zone 13N",9001,6365,16013,9807,1,0,4400,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6369,"Mexico ITRF2008 / UTM zone 14N",9001,6365,16014,9807,1,0,4400,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6370,"Mexico ITRF2008 / UTM zone 15N",9001,6365,16015,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6371,"Mexico ITRF2008 / UTM zone 16N",9001,6365,16016,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6372,"Mexico ITRF2008 / LCC",9001,6365,6361,9802,1,0,4500,8821,12,9102,8822,-102,9102,8823,17.5,9102,8824,29.5,9102,8826,2500000,9001,8827,0,9001,,,,,,,,,, -6381,"UCS-2000 / Ukraine TM zone 7",9001,5561,6374,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -6382,"UCS-2000 / Ukraine TM zone 8",9001,5561,6375,9807,1,0,4530,8801,0,9102,8802,24,9102,8805,1,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -6383,"UCS-2000 / Ukraine TM zone 9",9001,5561,6376,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -6384,"UCS-2000 / Ukraine TM zone 10",9001,5561,6377,9807,1,0,4530,8801,0,9102,8802,30,9102,8805,1,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -6385,"UCS-2000 / Ukraine TM zone 11",9001,5561,6378,9807,1,0,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -6386,"UCS-2000 / Ukraine TM zone 12",9001,5561,6379,9807,1,0,4530,8801,0,9102,8802,36,9102,8805,1,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -6387,"UCS-2000 / Ukraine TM zone 13",9001,5561,6380,9807,1,0,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -6391,Cayman Islands National Grid 2011,9002,6135,6390,9802,1,0,1039,8821,19.2,9110,8822,-80.34,9110,8823,19.2,9110,8824,19.42,9110,8826,2950000,9002,8827,1900000,9002,,,,,,,,,, -6393,"NAD83(2011) / Alaska Albers",9001,6318,15021,9822,1,0,4499,8821,50,9102,8822,-154,9102,8823,55,9102,8824,65,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -6394,"NAD83(2011) / Alaska zone 1",9001,6318,15031,9812,1,0,4499,8806,5000000,9001,8807,-5000000,9001,8811,57,9110,8812,-133.4,9110,8813,323.07483685,9110,8814,323.07483685,9110,8815,0.9999,9201,,,,,,, -6395,"NAD83(2011) / Alaska zone 2",9001,6318,15032,9807,1,0,4499,8801,54,9102,8802,-142,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6396,"NAD83(2011) / Alaska zone 3",9001,6318,15033,9807,1,0,4499,8801,54,9102,8802,-146,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6397,"NAD83(2011) / Alaska zone 4",9001,6318,15034,9807,1,0,4499,8801,54,9102,8802,-150,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6398,"NAD83(2011) / Alaska zone 5",9001,6318,15035,9807,1,0,4499,8801,54,9102,8802,-154,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6399,"NAD83(2011) / Alaska zone 6",9001,6318,15036,9807,1,0,4499,8801,54,9102,8802,-158,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6400,"NAD83(2011) / Alaska zone 7",9001,6318,15037,9807,1,0,4499,8801,54,9102,8802,-162,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6401,"NAD83(2011) / Alaska zone 8",9001,6318,15038,9807,1,0,4499,8801,54,9102,8802,-166,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6402,"NAD83(2011) / Alaska zone 9",9001,6318,15039,9807,1,0,4499,8801,54,9102,8802,-170,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6403,"NAD83(2011) / Alaska zone 10",9001,6318,15040,9802,1,0,4499,8821,51,9110,8822,-176,9110,8823,53.5,9110,8824,51.5,9110,8826,1000000,9001,8827,0,9001,,,,,,,,,, -6404,"NAD83(2011) / Arizona Central",9001,6318,10232,9807,1,0,4499,8801,31,9110,8802,-111.55,9110,8805,0.9999,9201,8806,213360,9001,8807,0,9001,,,,,,,,,,,,, -6405,"NAD83(2011) / Arizona Central (ft)",9002,6318,15305,9807,1,0,4495,8801,31,9110,8802,-111.55,9110,8805,0.9999,9201,8806,700000,9002,8807,0,9002,,,,,,,,,,,,, -6406,"NAD83(2011) / Arizona East",9001,6318,10231,9807,1,0,4499,8801,31,9110,8802,-110.1,9110,8805,0.9999,9201,8806,213360,9001,8807,0,9001,,,,,,,,,,,,, -6407,"NAD83(2011) / Arizona East (ft)",9002,6318,15304,9807,1,0,4495,8801,31,9110,8802,-110.1,9110,8805,0.9999,9201,8806,700000,9002,8807,0,9002,,,,,,,,,,,,, -6408,"NAD83(2011) / Arizona West",9001,6318,10233,9807,1,0,4499,8801,31,9110,8802,-113.45,9110,8805,0.999933333,9201,8806,213360,9001,8807,0,9001,,,,,,,,,,,,, -6409,"NAD83(2011) / Arizona West (ft)",9002,6318,15306,9807,1,0,4495,8801,31,9110,8802,-113.45,9110,8805,0.999933333,9201,8806,700000,9002,8807,0,9002,,,,,,,,,,,,, -6410,"NAD83(2011) / Arkansas North",9001,6318,10331,9802,1,0,4499,8821,34.2,9110,8822,-92,9110,8823,36.14,9110,8824,34.56,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -6411,"NAD83(2011) / Arkansas North (ftUS)",9003,6318,15385,9802,1,0,4497,8821,34.2,9110,8822,-92,9110,8823,36.14,9110,8824,34.56,9110,8826,1312333.3333,9003,8827,0,9003,,,,,,,,,, -6412,"NAD83(2011) / Arkansas South",9001,6318,10332,9802,1,0,4499,8821,32.4,9110,8822,-92,9110,8823,34.46,9110,8824,33.18,9110,8826,400000,9001,8827,400000,9001,,,,,,,,,, -6413,"NAD83(2011) / Arkansas South (ftUS)",9003,6318,15386,9802,1,0,4497,8821,32.4,9110,8822,-92,9110,8823,34.46,9110,8824,33.18,9110,8826,1312333.3333,9003,8827,1312333.3333,9003,,,,,,,,,, -6414,"NAD83(2011) / California Albers",9001,6318,10420,9822,1,0,4499,8821,0,9102,8822,-120,9102,8823,34,9102,8824,40.5,9102,8826,0,9001,8827,-4000000,9001,,,,,,,,,, -6415,"NAD83(2011) / California zone 1",9001,6318,10431,9802,1,0,4499,8821,39.2,9110,8822,-122,9110,8823,41.4,9110,8824,40,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -6416,"NAD83(2011) / California zone 1 (ftUS)",9003,6318,15307,9802,1,0,4497,8821,39.2,9110,8822,-122,9110,8823,41.4,9110,8824,40,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -6417,"NAD83(2011) / California zone 2",9001,6318,10432,9802,1,0,4499,8821,37.4,9110,8822,-122,9110,8823,39.5,9110,8824,38.2,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -6418,"NAD83(2011) / California zone 2 (ftUS)",9003,6318,15308,9802,1,0,4497,8821,37.4,9110,8822,-122,9110,8823,39.5,9110,8824,38.2,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -6419,"NAD83(2011) / California zone 3",9001,6318,10433,9802,1,0,4499,8821,36.3,9110,8822,-120.3,9110,8823,38.26,9110,8824,37.04,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -6420,"NAD83(2011) / California zone 3 (ftUS)",9003,6318,15309,9802,1,0,4497,8821,36.3,9110,8822,-120.3,9110,8823,38.26,9110,8824,37.04,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -6421,"NAD83(2011) / California zone 4",9001,6318,10434,9802,1,0,4499,8821,35.2,9110,8822,-119,9110,8823,37.15,9110,8824,36,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -6422,"NAD83(2011) / California zone 4 (ftUS)",9003,6318,15310,9802,1,0,4497,8821,35.2,9110,8822,-119,9110,8823,37.15,9110,8824,36,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -6423,"NAD83(2011) / California zone 5",9001,6318,10435,9802,1,0,4499,8821,33.3,9110,8822,-118,9110,8823,35.28,9110,8824,34.02,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -6424,"NAD83(2011) / California zone 5 (ftUS)",9003,6318,15311,9802,1,0,4497,8821,33.3,9110,8822,-118,9110,8823,35.28,9110,8824,34.02,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -6425,"NAD83(2011) / California zone 6",9001,6318,10436,9802,1,0,4499,8821,32.1,9110,8822,-116.15,9110,8823,33.53,9110,8824,32.47,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -6426,"NAD83(2011) / California zone 6 (ftUS)",9003,6318,15312,9802,1,0,4497,8821,32.1,9110,8822,-116.15,9110,8823,33.53,9110,8824,32.47,9110,8826,6561666.667,9003,8827,1640416.667,9003,,,,,,,,,, -6427,"NAD83(2011) / Colorado Central",9001,6318,10532,9802,1,0,4499,8821,37.5,9110,8822,-105.3,9110,8823,39.45,9110,8824,38.27,9110,8826,914401.8289,9001,8827,304800.6096,9001,,,,,,,,,, -6428,"NAD83(2011) / Colorado Central (ftUS)",9003,6318,15314,9802,1,0,4497,8821,37.5,9110,8822,-105.3,9110,8823,39.45,9110,8824,38.27,9110,8826,3000000,9003,8827,1000000,9003,,,,,,,,,, -6429,"NAD83(2011) / Colorado North",9001,6318,10531,9802,1,0,4499,8821,39.2,9110,8822,-105.3,9110,8823,40.47,9110,8824,39.43,9110,8826,914401.8289,9001,8827,304800.6096,9001,,,,,,,,,, -6430,"NAD83(2011) / Colorado North (ftUS)",9003,6318,15313,9802,1,0,4497,8821,39.2,9110,8822,-105.3,9110,8823,40.47,9110,8824,39.43,9110,8826,3000000,9003,8827,1000000,9003,,,,,,,,,, -6431,"NAD83(2011) / Colorado South",9001,6318,10533,9802,1,0,4499,8821,36.4,9110,8822,-105.3,9110,8823,38.26,9110,8824,37.14,9110,8826,914401.8289,9001,8827,304800.6096,9001,,,,,,,,,, -6432,"NAD83(2011) / Colorado South (ftUS)",9003,6318,15315,9802,1,0,4497,8821,36.4,9110,8822,-105.3,9110,8823,38.26,9110,8824,37.14,9110,8826,3000000,9003,8827,1000000,9003,,,,,,,,,, -6433,"NAD83(2011) / Connecticut",9001,6318,10630,9802,1,0,4499,8821,40.5,9110,8822,-72.45,9110,8823,41.52,9110,8824,41.12,9110,8826,304800.6096,9001,8827,152400.3048,9001,,,,,,,,,, -6434,"NAD83(2011) / Connecticut (ftUS)",9003,6318,15316,9802,1,0,4497,8821,40.5,9110,8822,-72.45,9110,8823,41.52,9110,8824,41.12,9110,8826,1000000,9003,8827,500000,9003,,,,,,,,,, -6435,"NAD83(2011) / Delaware",9001,6318,10730,9807,1,0,4499,8801,38,9110,8802,-75.25,9110,8805,0.999995,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -6436,"NAD83(2011) / Delaware (ftUS)",9003,6318,15317,9807,1,0,4497,8801,38,9110,8802,-75.25,9110,8805,0.999995,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -6437,"NAD83(2011) / Florida East",9001,6318,10931,9807,1,0,4499,8801,24.2,9110,8802,-81,9110,8805,0.999941177,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -6438,"NAD83(2011) / Florida East (ftUS)",9003,6318,15318,9807,1,0,4497,8801,24.2,9110,8802,-81,9110,8805,0.999941177,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -6439,"NAD83(2011) / Florida GDL Albers",9001,6318,10934,9822,1,0,4499,8821,24,9110,8822,-84,9110,8823,24,9110,8824,31.3,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -6440,"NAD83(2011) / Florida North",9001,6318,10933,9802,1,0,4499,8821,29,9110,8822,-84.3,9110,8823,30.45,9110,8824,29.35,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6441,"NAD83(2011) / Florida North (ftUS)",9003,6318,15320,9802,1,0,4497,8821,29,9110,8822,-84.3,9110,8823,30.45,9110,8824,29.35,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -6442,"NAD83(2011) / Florida West",9001,6318,10932,9807,1,0,4499,8801,24.2,9110,8802,-82,9110,8805,0.999941177,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -6443,"NAD83(2011) / Florida West (ftUS)",9003,6318,15319,9807,1,0,4497,8801,24.2,9110,8802,-82,9110,8805,0.999941177,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -6444,"NAD83(2011) / Georgia East",9001,6318,11031,9807,1,0,4499,8801,30,9110,8802,-82.1,9110,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -6445,"NAD83(2011) / Georgia East (ftUS)",9003,6318,15321,9807,1,0,4497,8801,30,9110,8802,-82.1,9110,8805,0.9999,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -6446,"NAD83(2011) / Georgia West",9001,6318,11032,9807,1,0,4499,8801,30,9110,8802,-84.1,9110,8805,0.9999,9201,8806,700000,9001,8807,0,9001,,,,,,,,,,,,, -6447,"NAD83(2011) / Georgia West (ftUS)",9003,6318,15322,9807,1,0,4497,8801,30,9110,8802,-84.1,9110,8805,0.9999,9201,8806,2296583.333,9003,8807,0,9003,,,,,,,,,,,,, -6448,"NAD83(2011) / Idaho Central",9001,6318,11132,9807,1,0,4499,8801,41.4,9110,8802,-114,9110,8805,0.999947368,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6449,"NAD83(2011) / Idaho Central (ftUS)",9003,6318,15324,9807,1,0,4497,8801,41.4,9110,8802,-114,9110,8805,0.999947368,9201,8806,1640416.667,9003,8807,0,9003,,,,,,,,,,,,, -6450,"NAD83(2011) / Idaho East",9001,6318,11131,9807,1,0,4499,8801,41.4,9110,8802,-112.1,9110,8805,0.999947368,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -6451,"NAD83(2011) / Idaho East (ftUS)",9003,6318,15323,9807,1,0,4497,8801,41.4,9110,8802,-112.1,9110,8805,0.999947368,9201,8806,656166.667,9003,8807,0,9003,,,,,,,,,,,,, -6452,"NAD83(2011) / Idaho West",9001,6318,11133,9807,1,0,4499,8801,41.4,9110,8802,-115.45,9110,8805,0.999933333,9201,8806,800000,9001,8807,0,9001,,,,,,,,,,,,, -6453,"NAD83(2011) / Idaho West (ftUS)",9003,6318,15325,9807,1,0,4497,8801,41.4,9110,8802,-115.45,9110,8805,0.999933333,9201,8806,2624666.667,9003,8807,0,9003,,,,,,,,,,,,, -6454,"NAD83(2011) / Illinois East",9001,6318,11231,9807,1,0,4499,8801,36.4,9110,8802,-88.2,9110,8805,0.999975,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -6455,"NAD83(2011) / Illinois East (ftUS)",9003,6318,15387,9807,1,0,4497,8801,36.4,9110,8802,-88.2,9110,8805,0.999975,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -6456,"NAD83(2011) / Illinois West",9001,6318,11232,9807,1,0,4499,8801,36.4,9110,8802,-90.1,9110,8805,0.999941177,9201,8806,700000,9001,8807,0,9001,,,,,,,,,,,,, -6457,"NAD83(2011) / Illinois West (ftUS)",9003,6318,15388,9807,1,0,4497,8801,36.4,9110,8802,-90.1,9110,8805,0.999941177,9201,8806,2296583.3333,9003,8807,0,9003,,,,,,,,,,,,, -6458,"NAD83(2011) / Indiana East",9001,6318,11331,9807,1,0,4499,8801,37.3,9110,8802,-85.4,9110,8805,0.999966667,9201,8806,100000,9001,8807,250000,9001,,,,,,,,,,,,, -6459,"NAD83(2011) / Indiana East (ftUS)",9003,6318,15372,9807,1,0,4497,8801,37.3,9110,8802,-85.4,9110,8805,0.999966667,9201,8806,328083.333,9003,8807,820208.333,9003,,,,,,,,,,,,, -6460,"NAD83(2011) / Indiana West",9001,6318,11332,9807,1,0,4499,8801,37.3,9110,8802,-87.05,9110,8805,0.999966667,9201,8806,900000,9001,8807,250000,9001,,,,,,,,,,,,, -6461,"NAD83(2011) / Indiana West (ftUS)",9003,6318,15373,9807,1,0,4497,8801,37.3,9110,8802,-87.05,9110,8805,0.999966667,9201,8806,2952750,9003,8807,820208.333,9003,,,,,,,,,,,,, -6462,"NAD83(2011) / Iowa North",9001,6318,11431,9802,1,0,4499,8821,41.3,9110,8822,-93.3,9110,8823,43.16,9110,8824,42.04,9110,8826,1500000,9001,8827,1000000,9001,,,,,,,,,, -6463,"NAD83(2011) / Iowa North (ftUS)",9003,6318,15377,9802,1,0,4497,8821,41.3,9110,8822,-93.3,9110,8823,43.16,9110,8824,42.04,9110,8826,4921250,9003,8827,3280833.3333,9003,,,,,,,,,, -6464,"NAD83(2011) / Iowa South",9001,6318,11432,9802,1,0,4499,8821,40,9110,8822,-93.3,9110,8823,41.47,9110,8824,40.37,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -6465,"NAD83(2011) / Iowa South (ftUS)",9003,6318,15378,9802,1,0,4497,8821,40,9110,8822,-93.3,9110,8823,41.47,9110,8824,40.37,9110,8826,1640416.6667,9003,8827,0,9003,,,,,,,,,, -6466,"NAD83(2011) / Kansas North",9001,6318,11531,9802,1,0,4499,8821,38.2,9110,8822,-98,9110,8823,39.47,9110,8824,38.43,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -6467,"NAD83(2011) / Kansas North (ftUS)",9003,6318,15379,9802,1,0,4497,8821,38.2,9110,8822,-98,9110,8823,39.47,9110,8824,38.43,9110,8826,1312333.3333,9003,8827,0,9003,,,,,,,,,, -6468,"NAD83(2011) / Kansas South",9001,6318,11532,9802,1,0,4499,8821,36.4,9110,8822,-98.3,9110,8823,38.34,9110,8824,37.16,9110,8826,400000,9001,8827,400000,9001,,,,,,,,,, -6469,"NAD83(2011) / Kansas South (ftUS)",9003,6318,15380,9802,1,0,4497,8821,36.4,9110,8822,-98.3,9110,8823,38.34,9110,8824,37.16,9110,8826,1312333.3333,9003,8827,1312333.3333,9003,,,,,,,,,, -6470,"NAD83(2011) / Kentucky North",9001,6318,15303,9802,1,0,4499,8821,37.3,9110,8822,-84.15,9110,8823,37.58,9110,8824,38.58,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -6471,"NAD83(2011) / Kentucky North (ftUS)",9003,6318,15328,9802,1,0,4497,8821,37.3,9110,8822,-84.15,9110,8823,37.58,9110,8824,38.58,9110,8826,1640416.667,9003,8827,0,9003,,,,,,,,,, -6472,"NAD83(2011) / Kentucky Single Zone",9001,6318,11630,9802,1,0,4499,8821,36.2,9110,8822,-85.45,9110,8823,37.05,9110,8824,38.4,9110,8826,1500000,9001,8827,1000000,9001,,,,,,,,,, -6473,"NAD83(2011) / Kentucky Single Zone (ftUS)",9003,6318,15375,9802,1,0,4497,8821,36.2,9110,8822,-85.45,9110,8823,37.05,9110,8824,38.4,9110,8826,4921250,9003,8827,3280833.333,9003,,,,,,,,,, -6474,"NAD83(2011) / Kentucky South",9001,6318,11632,9802,1,0,4499,8821,36.2,9110,8822,-85.45,9110,8823,37.56,9110,8824,36.44,9110,8826,500000,9001,8827,500000,9001,,,,,,,,,, -6475,"NAD83(2011) / Kentucky South (ftUS)",9003,6318,15329,9802,1,0,4497,8821,36.2,9110,8822,-85.45,9110,8823,37.56,9110,8824,36.44,9110,8826,1640416.667,9003,8827,1640416.667,9003,,,,,,,,,, -6476,"NAD83(2011) / Louisiana North",9001,6318,11731,9802,1,0,4499,8821,30.3,9110,8822,-92.3,9110,8823,32.4,9110,8824,31.1,9110,8826,1000000,9001,8827,0,9001,,,,,,,,,, -6477,"NAD83(2011) / Louisiana North (ftUS)",9003,6318,15391,9802,1,0,4497,8821,30.3,9110,8822,-92.3,9110,8823,32.4,9110,8824,31.1,9110,8826,3280833.3333,9003,8827,0,9003,,,,,,,,,, -6478,"NAD83(2011) / Louisiana South",9001,6318,11732,9802,1,0,4499,8821,28.3,9110,8822,-91.2,9110,8823,30.42,9110,8824,29.18,9110,8826,1000000,9001,8827,0,9001,,,,,,,,,, -6479,"NAD83(2011) / Louisiana South (ftUS)",9003,6318,15392,9802,1,0,4497,8821,28.3,9110,8822,-91.2,9110,8823,30.42,9110,8824,29.18,9110,8826,3280833.3333,9003,8827,0,9003,,,,,,,,,, -6480,"NAD83(2011) / Maine CS2000 Central",9001,6318,11854,9807,1,0,4499,8801,43.3,9110,8802,-69.073,9110,8805,0.99998,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6481,"NAD83(2011) / Maine CS2000 East",9001,6318,11851,9807,1,0,4499,8801,43.5,9110,8802,-67.523,9110,8805,0.99998,9201,8806,700000,9001,8807,0,9001,,,,,,,,,,,,, -6482,"NAD83(2011) / Maine CS2000 West",9001,6318,11853,9807,1,0,4499,8801,42.5,9110,8802,-70.223,9110,8805,0.99998,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -6483,"NAD83(2011) / Maine East",9001,6318,11831,9807,1,0,4499,8801,43.4,9110,8802,-68.3,9110,8805,0.9999,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -6484,"NAD83(2011) / Maine East (ftUS)",9003,6318,11833,9807,1,0,4497,8801,43.4,9110,8802,-68.3,9110,8805,0.9999,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -6485,"NAD83(2011) / Maine West",9001,6318,11832,9807,1,0,4499,8801,42.5,9110,8802,-70.1,9110,8805,0.999966667,9201,8806,900000,9001,8807,0,9001,,,,,,,,,,,,, -6486,"NAD83(2011) / Maine West (ftUS)",9003,6318,11834,9807,1,0,4497,8801,42.5,9110,8802,-70.1,9110,8805,0.999966667,9201,8806,2952750,9003,8807,0,9003,,,,,,,,,,,,, -6487,"NAD83(2011) / Maryland",9001,6318,11930,9802,1,0,4499,8821,37.4,9110,8822,-77,9110,8823,39.27,9110,8824,38.18,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -6488,"NAD83(2011) / Maryland (ftUS)",9003,6318,15330,9802,1,0,4497,8821,37.4,9110,8822,-77,9110,8823,39.27,9110,8824,38.18,9110,8826,1312333.333,9003,8827,0,9003,,,,,,,,,, -6489,"NAD83(2011) / Massachusetts Island",9001,6318,12032,9802,1,0,4499,8821,41,9110,8822,-70.3,9110,8823,41.29,9110,8824,41.17,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -6490,"NAD83(2011) / Massachusetts Island (ftUS)",9003,6318,15332,9802,1,0,4497,8821,41,9110,8822,-70.3,9110,8823,41.29,9110,8824,41.17,9110,8826,1640416.667,9003,8827,0,9003,,,,,,,,,, -6491,"NAD83(2011) / Massachusetts Mainland",9001,6318,12031,9802,1,0,4499,8821,41,9110,8822,-71.3,9110,8823,42.41,9110,8824,41.43,9110,8826,200000,9001,8827,750000,9001,,,,,,,,,, -6492,"NAD83(2011) / Massachusetts Mainland (ftUS)",9003,6318,15331,9802,1,0,4497,8821,41,9110,8822,-71.3,9110,8823,42.41,9110,8824,41.43,9110,8826,656166.667,9003,8827,2460625,9003,,,,,,,,,, -6493,"NAD83(2011) / Michigan Central",9001,6318,12142,9802,1,0,4499,8821,43.19,9110,8822,-84.22,9110,8823,45.42,9110,8824,44.11,9110,8826,6000000,9001,8827,0,9001,,,,,,,,,, -6494,"NAD83(2011) / Michigan Central (ft)",9002,6318,15334,9802,1,0,4495,8821,43.19,9110,8822,-84.22,9110,8823,45.42,9110,8824,44.11,9110,8826,19685039.37,9002,8827,0,9002,,,,,,,,,, -6495,"NAD83(2011) / Michigan North",9001,6318,12141,9802,1,0,4499,8821,44.47,9110,8822,-87,9110,8823,47.05,9110,8824,45.29,9110,8826,8000000,9001,8827,0,9001,,,,,,,,,, -6496,"NAD83(2011) / Michigan North (ft)",9002,6318,15333,9802,1,0,4495,8821,44.47,9110,8822,-87,9110,8823,47.05,9110,8824,45.29,9110,8826,26246719.16,9002,8827,0,9002,,,,,,,,,, -6497,"NAD83(2011) / Michigan Oblique Mercator",9001,6318,12150,9812,1,0,4499,8806,2546731.496,9001,8807,-4354009.816,9001,8811,45.1833,9110,8812,-86,9110,8813,337.25556,9102,8814,337.25556,9102,8815,0.9996,9201,,,,,,, -6498,"NAD83(2011) / Michigan South",9001,6318,12143,9802,1,0,4499,8821,41.3,9110,8822,-84.22,9110,8823,43.4,9110,8824,42.06,9110,8826,4000000,9001,8827,0,9001,,,,,,,,,, -6499,"NAD83(2011) / Michigan South (ft)",9002,6318,15335,9802,1,0,4495,8821,41.3,9110,8822,-84.22,9110,8823,43.4,9110,8824,42.06,9110,8826,13123359.58,9002,8827,0,9002,,,,,,,,,, -6500,"NAD83(2011) / Minnesota Central",9001,6318,12232,9802,1,0,4499,8821,45,9110,8822,-94.15,9110,8823,47.03,9110,8824,45.37,9110,8826,800000,9001,8827,100000,9001,,,,,,,,,, -6501,"NAD83(2011) / Minnesota Central (ftUS)",9003,6318,12235,9802,1,0,4497,8821,45,9110,8822,-94.15,9110,8823,47.03,9110,8824,45.37,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -6502,"NAD83(2011) / Minnesota North",9001,6318,12231,9802,1,0,4499,8821,46.3,9110,8822,-93.06,9110,8823,48.38,9110,8824,47.02,9110,8826,800000,9001,8827,100000,9001,,,,,,,,,, -6503,"NAD83(2011) / Minnesota North (ftUS)",9003,6318,12234,9802,1,0,4497,8821,46.3,9110,8822,-93.06,9110,8823,48.38,9110,8824,47.02,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -6504,"NAD83(2011) / Minnesota South",9001,6318,12233,9802,1,0,4499,8821,43,9110,8822,-94,9110,8823,45.13,9110,8824,43.47,9110,8826,800000,9001,8827,100000,9001,,,,,,,,,, -6505,"NAD83(2011) / Minnesota South (ftUS)",9003,6318,12236,9802,1,0,4497,8821,43,9110,8822,-94,9110,8823,45.13,9110,8824,43.47,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -6506,"NAD83(2011) / Mississippi East",9001,6318,12331,9807,1,0,4499,8801,29.3,9110,8802,-88.5,9110,8805,0.99995,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -6507,"NAD83(2011) / Mississippi East (ftUS)",9003,6318,15336,9807,1,0,4497,8801,29.3,9110,8802,-88.5,9110,8805,0.99995,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -6508,"NAD83(2011) / Mississippi TM",9001,6318,3813,9807,1,0,4499,8801,32.3,9110,8802,-89.45,9110,8805,0.9998335,9201,8806,500000,9001,8807,1300000,9001,,,,,,,,,,,,, -6509,"NAD83(2011) / Mississippi West",9001,6318,12332,9807,1,0,4499,8801,29.3,9110,8802,-90.2,9110,8805,0.99995,9201,8806,700000,9001,8807,0,9001,,,,,,,,,,,,, -6510,"NAD83(2011) / Mississippi West (ftUS)",9003,6318,15337,9807,1,0,4497,8801,29.3,9110,8802,-90.2,9110,8805,0.99995,9201,8806,2296583.333,9003,8807,0,9003,,,,,,,,,,,,, -6511,"NAD83(2011) / Missouri Central",9001,6318,12432,9807,1,0,4499,8801,35.5,9110,8802,-92.3,9110,8805,0.999933333,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6512,"NAD83(2011) / Missouri East",9001,6318,12431,9807,1,0,4499,8801,35.5,9110,8802,-90.3,9110,8805,0.999933333,9201,8806,250000,9001,8807,0,9001,,,,,,,,,,,,, -6513,"NAD83(2011) / Missouri West",9001,6318,12433,9807,1,0,4499,8801,36.1,9110,8802,-94.3,9110,8805,0.999941177,9201,8806,850000,9001,8807,0,9001,,,,,,,,,,,,, -6514,"NAD83(2011) / Montana",9001,6318,12530,9802,1,0,4499,8821,44.15,9110,8822,-109.3,9110,8823,49,9110,8824,45,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6515,"NAD83(2011) / Montana (ft)",9002,6318,15338,9802,1,0,4495,8821,44.15,9110,8822,-109.3,9110,8823,49,9110,8824,45,9110,8826,1968503.937,9002,8827,0,9002,,,,,,,,,, -6516,"NAD83(2011) / Nebraska",9001,6318,12630,9802,1,0,4499,8821,39.5,9110,8822,-100,9110,8823,43,9110,8824,40,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -6517,"NAD83(2011) / Nebraska (ftUS)",9003,4759,15396,9802,1,1,4497,8821,39.5,9110,8822,-100,9110,8823,43,9110,8824,40,9110,8826,1640416.6667,9003,8827,0,9003,,,,,,,,,, -6518,"NAD83(2011) / Nevada Central",9001,6318,12732,9807,1,0,4499,8801,34.45,9110,8802,-116.4,9110,8805,0.9999,9201,8806,500000,9001,8807,6000000,9001,,,,,,,,,,,,, -6519,"NAD83(2011) / Nevada Central (ftUS)",9003,6318,15382,9807,1,0,4497,8801,34.45,9110,8802,-116.4,9110,8805,0.9999,9201,8806,1640416.6667,9003,8807,19685000,9003,,,,,,,,,,,,, -6520,"NAD83(2011) / Nevada East",9001,6318,12731,9807,1,0,4499,8801,34.45,9110,8802,-115.35,9110,8805,0.9999,9201,8806,200000,9001,8807,8000000,9001,,,,,,,,,,,,, -6521,"NAD83(2011) / Nevada East (ftUS)",9003,6318,15381,9807,1,0,4497,8801,34.45,9110,8802,-115.35,9110,8805,0.9999,9201,8806,656166.6667,9003,8807,26246666.6667,9003,,,,,,,,,,,,, -6522,"NAD83(2011) / Nevada West",9001,6318,12733,9807,1,0,4499,8801,34.45,9110,8802,-118.35,9110,8805,0.9999,9201,8806,800000,9001,8807,4000000,9001,,,,,,,,,,,,, -6523,"NAD83(2011) / Nevada West (ftUS)",9003,6318,15383,9807,1,0,4497,8801,34.45,9110,8802,-118.35,9110,8805,0.9999,9201,8806,2624666.6667,9003,8807,13123333.3333,9003,,,,,,,,,,,,, -6524,"NAD83(2011) / New Hampshire",9001,6318,12830,9807,1,0,4499,8801,42.3,9110,8802,-71.4,9110,8805,0.999966667,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -6525,"NAD83(2011) / New Hampshire (ftUS)",9003,6318,15389,9807,1,0,4497,8801,42.3,9110,8802,-71.4,9110,8805,0.999966667,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -6526,"NAD83(2011) / New Jersey",9001,6318,12930,9807,1,0,4499,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -6527,"NAD83(2011) / New Jersey (ftUS)",9003,6318,15384,9807,1,0,4497,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,492125,9003,8807,0,9003,,,,,,,,,,,,, -6528,"NAD83(2011) / New Mexico Central",9001,6318,13032,9807,1,0,4499,8801,31,9110,8802,-106.15,9110,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6529,"NAD83(2011) / New Mexico Central (ftUS)",9003,6318,15340,9807,1,0,4497,8801,31,9110,8802,-106.15,9110,8805,0.9999,9201,8806,1640416.667,9003,8807,0,9003,,,,,,,,,,,,, -6530,"NAD83(2011) / New Mexico East",9001,6318,13031,9807,1,0,4499,8801,31,9110,8802,-104.2,9110,8805,0.999909091,9201,8806,165000,9001,8807,0,9001,,,,,,,,,,,,, -6531,"NAD83(2011) / New Mexico East (ftUS)",9003,6318,15339,9807,1,0,4497,8801,31,9110,8802,-104.2,9110,8805,0.999909091,9201,8806,541337.5,9003,8807,0,9003,,,,,,,,,,,,, -6532,"NAD83(2011) / New Mexico West",9001,6318,13033,9807,1,0,4499,8801,31,9110,8802,-107.5,9110,8805,0.999916667,9201,8806,830000,9001,8807,0,9001,,,,,,,,,,,,, -6533,"NAD83(2011) / New Mexico West (ftUS)",9003,6318,15341,9807,1,0,4497,8801,31,9110,8802,-107.5,9110,8805,0.999916667,9201,8806,2723091.667,9003,8807,0,9003,,,,,,,,,,,,, -6534,"NAD83(2011) / New York Central",9001,6318,13132,9807,1,0,4499,8801,40,9110,8802,-76.35,9110,8805,0.9999375,9201,8806,250000,9001,8807,0,9001,,,,,,,,,,,,, -6535,"NAD83(2011) / New York Central (ftUS)",9003,6318,15343,9807,1,0,4497,8801,40,9110,8802,-76.35,9110,8805,0.9999375,9201,8806,820208.333,9003,8807,0,9003,,,,,,,,,,,,, -6536,"NAD83(2011) / New York East",9001,6318,13131,9807,1,0,4499,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -6537,"NAD83(2011) / New York East (ftUS)",9003,6318,15342,9807,1,0,4497,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,492125,9003,8807,0,9003,,,,,,,,,,,,, -6538,"NAD83(2011) / New York Long Island",9001,6318,13134,9802,1,0,4499,8821,40.1,9110,8822,-74,9110,8823,41.02,9110,8824,40.4,9110,8826,300000,9001,8827,0,9001,,,,,,,,,, -6539,"NAD83(2011) / New York Long Island (ftUS)",9003,6318,15345,9802,1,0,4497,8821,40.1,9110,8822,-74,9110,8823,41.02,9110,8824,40.4,9110,8826,984250,9003,8827,0,9003,,,,,,,,,, -6540,"NAD83(2011) / New York West",9001,6318,13133,9807,1,0,4499,8801,40,9110,8802,-78.35,9110,8805,0.9999375,9201,8806,350000,9001,8807,0,9001,,,,,,,,,,,,, -6541,"NAD83(2011) / New York West (ftUS)",9003,6318,15344,9807,1,0,4497,8801,40,9110,8802,-78.35,9110,8805,0.9999375,9201,8806,1148291.667,9003,8807,0,9003,,,,,,,,,,,,, -6542,"NAD83(2011) / North Carolina",9001,6318,13230,9802,1,0,4499,8821,33.45,9110,8822,-79,9110,8823,36.1,9110,8824,34.2,9110,8826,609601.22,9001,8827,0,9001,,,,,,,,,, -6543,"NAD83(2011) / North Carolina (ftUS)",9003,6318,15346,9802,1,0,4497,8821,33.45,9110,8822,-79,9110,8823,36.1,9110,8824,34.2,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -6544,"NAD83(2011) / North Dakota North",9001,6318,13331,9802,1,0,4499,8821,47,9110,8822,-100.3,9110,8823,48.44,9110,8824,47.26,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6545,"NAD83(2011) / North Dakota North (ft)",9002,6318,15347,9802,1,0,4495,8821,47,9110,8822,-100.3,9110,8823,48.44,9110,8824,47.26,9110,8826,1968503.937,9002,8827,0,9002,,,,,,,,,, -6546,"NAD83(2011) / North Dakota South",9001,6318,13332,9802,1,0,4499,8821,45.4,9110,8822,-100.3,9110,8823,47.29,9110,8824,46.11,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6547,"NAD83(2011) / North Dakota South (ft)",9002,6318,15348,9802,1,0,4495,8821,45.4,9110,8822,-100.3,9110,8823,47.29,9110,8824,46.11,9110,8826,1968503.937,9002,8827,0,9002,,,,,,,,,, -6548,"NAD83(2011) / Ohio North",9001,6318,13431,9802,1,0,4499,8821,39.4,9110,8822,-82.3,9110,8823,41.42,9110,8824,40.26,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6549,"NAD83(2011) / Ohio North (ftUS)",9003,6318,13433,9802,1,0,4497,8821,39.4,9110,8822,-82.3,9110,8823,41.42,9110,8824,40.26,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -6550,"NAD83(2011) / Ohio South",9001,6318,13432,9802,1,0,4499,8821,38,9110,8822,-82.3,9110,8823,40.02,9110,8824,38.44,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6551,"NAD83(2011) / Ohio South (ftUS)",9003,6318,13434,9802,1,0,4497,8821,38,9110,8822,-82.3,9110,8823,40.02,9110,8824,38.44,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -6552,"NAD83(2011) / Oklahoma North",9001,6318,13531,9802,1,0,4499,8821,35,9110,8822,-98,9110,8823,36.46,9110,8824,35.34,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6553,"NAD83(2011) / Oklahoma North (ftUS)",9003,6318,15349,9802,1,0,4497,8821,35,9110,8822,-98,9110,8823,36.46,9110,8824,35.34,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -6554,"NAD83(2011) / Oklahoma South",9001,6318,13532,9802,1,0,4499,8821,33.2,9110,8822,-98,9110,8823,35.14,9110,8824,33.56,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6555,"NAD83(2011) / Oklahoma South (ftUS)",9003,6318,15350,9802,1,0,4497,8821,33.2,9110,8822,-98,9110,8823,35.14,9110,8824,33.56,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -6556,"NAD83(2011) / Oregon LCC (m)",9001,6318,13633,9802,1,0,4499,8821,41.45,9110,8822,-120.3,9110,8823,43,9110,8824,45.3,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -6557,"NAD83(2011) / Oregon GIC Lambert (ft)",9002,6318,15374,9802,1,0,4495,8821,41.45,9110,8822,-120.3,9110,8823,43,9110,8824,45.3,9110,8826,1312335.958,9002,8827,0,9002,,,,,,,,,, -6558,"NAD83(2011) / Oregon North",9001,6318,13631,9802,1,0,4499,8821,43.4,9110,8822,-120.3,9110,8823,46,9110,8824,44.2,9110,8826,2500000,9001,8827,0,9001,,,,,,,,,, -6559,"NAD83(2011) / Oregon North (ft)",9002,6318,15351,9802,1,0,4495,8821,43.4,9110,8822,-120.3,9110,8823,46,9110,8824,44.2,9110,8826,8202099.738,9002,8827,0,9002,,,,,,,,,, -6560,"NAD83(2011) / Oregon South",9001,6318,13632,9802,1,0,4499,8821,41.4,9110,8822,-120.3,9110,8823,44,9110,8824,42.2,9110,8826,1500000,9001,8827,0,9001,,,,,,,,,, -6561,"NAD83(2011) / Oregon South (ft)",9002,6318,15352,9802,1,0,4495,8821,41.4,9110,8822,-120.3,9110,8823,44,9110,8824,42.2,9110,8826,4921259.843,9002,8827,0,9002,,,,,,,,,, -6562,"NAD83(2011) / Pennsylvania North",9001,6318,13731,9802,1,0,4499,8821,40.1,9110,8822,-77.45,9110,8823,41.57,9110,8824,40.53,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6563,"NAD83(2011) / Pennsylvania North (ftUS)",9003,6318,15353,9802,1,0,4497,8821,40.1,9110,8822,-77.45,9110,8823,41.57,9110,8824,40.53,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -6564,"NAD83(2011) / Pennsylvania South",9001,6318,13732,9802,1,0,4499,8821,39.2,9110,8822,-77.45,9110,8823,40.58,9110,8824,39.56,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6565,"NAD83(2011) / Pennsylvania South (ftUS)",9003,6318,15354,9802,1,0,4497,8821,39.2,9110,8822,-77.45,9110,8823,40.58,9110,8824,39.56,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -6566,"NAD83(2011) / Puerto Rico and Virgin Is.",9001,6318,15230,9802,1,0,4499,8821,17.5,9110,8822,-66.26,9110,8823,18.26,9110,8824,18.02,9110,8826,200000,9001,8827,200000,9001,,,,,,,,,, -6567,"NAD83(2011) / Rhode Island",9001,6318,13830,9807,1,0,4499,8801,41.05,9110,8802,-71.3,9110,8805,0.99999375,9201,8806,100000,9001,8807,0,9001,,,,,,,,,,,,, -6568,"NAD83(2011) / Rhode Island (ftUS)",9003,6318,15390,9807,1,0,4497,8801,41.05,9110,8802,-71.3,9110,8805,0.99999375,9201,8806,328083.3333,9003,8807,0,9003,,,,,,,,,,,,, -6569,"NAD83(2011) / South Carolina",9001,6318,13930,9802,1,0,4499,8821,31.5,9110,8822,-81,9110,8823,34.5,9110,8824,32.3,9110,8826,609600,9001,8827,0,9001,,,,,,,,,, -6570,"NAD83(2011) / South Carolina (ft)",9002,6318,15355,9802,1,0,4495,8821,31.5,9110,8822,-81,9110,8823,34.5,9110,8824,32.3,9110,8826,2000000,9002,8827,0,9002,,,,,,,,,, -6571,"NAD83(2011) / South Dakota North",9001,6318,14031,9802,1,0,4499,8821,43.5,9110,8822,-100,9110,8823,45.41,9110,8824,44.25,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6572,"NAD83(2011) / South Dakota North (ftUS)",9003,6318,15394,9802,1,0,4497,8821,43.5,9110,8822,-100,9110,8823,45.41,9110,8824,44.25,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -6573,"NAD83(2011) / South Dakota South",9001,6318,14032,9802,1,0,4499,8821,42.2,9110,8822,-100.2,9110,8823,44.24,9110,8824,42.5,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6574,"NAD83(2011) / South Dakota South (ftUS)",9003,6318,15395,9802,1,0,4497,8821,42.2,9110,8822,-100.2,9110,8823,44.24,9110,8824,42.5,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -6575,"NAD83(2011) / Tennessee",9001,6318,14130,9802,1,0,4499,8821,34.2,9110,8822,-86,9110,8823,36.25,9110,8824,35.15,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6576,"NAD83(2011) / Tennessee (ftUS)",9003,6318,15356,9802,1,0,4497,8821,34.2,9110,8822,-86,9110,8823,36.25,9110,8824,35.15,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -6577,"NAD83(2011) / Texas Central",9001,6318,14233,9802,1,0,4499,8821,29.4,9110,8822,-100.2,9110,8823,31.53,9110,8824,30.07,9110,8826,700000,9001,8827,3000000,9001,,,,,,,,,, -6578,"NAD83(2011) / Texas Central (ftUS)",9003,6318,15359,9802,1,0,4497,8821,29.4,9110,8822,-100.2,9110,8823,31.53,9110,8824,30.07,9110,8826,2296583.333,9003,8827,9842500,9003,,,,,,,,,, -6579,"NAD83(2011) / Texas Centric Albers Equal Area",9001,6318,14254,9822,1,0,4499,8821,18,9110,8822,-100,9110,8823,27.3,9110,8824,35,9110,8826,1500000,9001,8827,6000000,9001,,,,,,,,,, -6580,"NAD83(2011) / Texas Centric Lambert Conformal",9001,6318,14253,9802,1,0,4499,8821,18,9110,8822,-100,9110,8823,27.3,9110,8824,35,9110,8826,1500000,9001,8827,5000000,9001,,,,,,,,,, -6581,"NAD83(2011) / Texas North",9001,6318,14231,9802,1,0,4499,8821,34,9110,8822,-101.3,9110,8823,36.11,9110,8824,34.39,9110,8826,200000,9001,8827,1000000,9001,,,,,,,,,, -6582,"NAD83(2011) / Texas North (ftUS)",9003,6318,15357,9802,1,0,4497,8821,34,9110,8822,-101.3,9110,8823,36.11,9110,8824,34.39,9110,8826,656166.667,9003,8827,3280833.333,9003,,,,,,,,,, -6583,"NAD83(2011) / Texas North Central",9001,6318,14232,9802,1,0,4499,8821,31.4,9110,8822,-98.3,9110,8823,33.58,9110,8824,32.08,9110,8826,600000,9001,8827,2000000,9001,,,,,,,,,, -6584,"NAD83(2011) / Texas North Central (ftUS)",9003,6318,15358,9802,1,0,4497,8821,31.4,9110,8822,-98.3,9110,8823,33.58,9110,8824,32.08,9110,8826,1968500,9003,8827,6561666.667,9003,,,,,,,,,, -6585,"NAD83(2011) / Texas South",9001,6318,14235,9802,1,0,4499,8821,25.4,9110,8822,-98.3,9110,8823,27.5,9110,8824,26.1,9110,8826,300000,9001,8827,5000000,9001,,,,,,,,,, -6586,"NAD83(2011) / Texas South (ftUS)",9003,6318,15361,9802,1,0,4497,8821,25.4,9110,8822,-98.3,9110,8823,27.5,9110,8824,26.1,9110,8826,984250,9003,8827,16404166.667,9003,,,,,,,,,, -6587,"NAD83(2011) / Texas South Central",9001,6318,14234,9802,1,0,4499,8821,27.5,9110,8822,-99,9110,8823,30.17,9110,8824,28.23,9110,8826,600000,9001,8827,4000000,9001,,,,,,,,,, -6588,"NAD83(2011) / Texas South Central (ftUS)",9003,6318,15360,9802,1,0,4497,8821,27.5,9110,8822,-99,9110,8823,30.17,9110,8824,28.23,9110,8826,1968500,9003,8827,13123333.333,9003,,,,,,,,,, -6589,"NAD83(2011) / Vermont",9001,6318,14430,9807,1,0,4499,8801,42.3,9110,8802,-72.3,9110,8805,0.999964286,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6590,"NAD83(2011) / Vermont (ftUS)",9003,6318,5645,9807,1,0,4497,8801,42.3,9110,8802,-72.3,9110,8805,0.999964286,9201,8806,1640416.6667,9003,8807,0,9003,,,,,,,,,,,,, -6591,"NAD83(2011) / Virginia Lambert",9001,6318,3967,9802,1,0,4499,8821,36,9102,8822,-79.5,9102,8823,37,9102,8824,39.5,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -6592,"NAD83(2011) / Virginia North",9001,6318,14531,9802,1,0,4499,8821,37.4,9110,8822,-78.3,9110,8823,39.12,9110,8824,38.02,9110,8826,3500000,9001,8827,2000000,9001,,,,,,,,,, -6593,"NAD83(2011) / Virginia North (ftUS)",9003,6318,15365,9802,1,0,4497,8821,37.4,9110,8822,-78.3,9110,8823,39.12,9110,8824,38.02,9110,8826,11482916.667,9003,8827,6561666.667,9003,,,,,,,,,, -6594,"NAD83(2011) / Virginia South",9001,6318,14532,9802,1,0,4499,8821,36.2,9110,8822,-78.3,9110,8823,37.58,9110,8824,36.46,9110,8826,3500000,9001,8827,1000000,9001,,,,,,,,,, -6595,"NAD83(2011) / Virginia South (ftUS)",9003,6318,15366,9802,1,0,4497,8821,36.2,9110,8822,-78.3,9110,8823,37.58,9110,8824,36.46,9110,8826,11482916.667,9003,8827,3280833.333,9003,,,,,,,,,, -6596,"NAD83(2011) / Washington North",9001,6318,14631,9802,1,0,4499,8821,47,9110,8822,-120.5,9110,8823,48.44,9110,8824,47.3,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -6597,"NAD83(2011) / Washington North (ftUS)",9003,6318,15367,9802,1,0,4497,8821,47,9110,8822,-120.5,9110,8823,48.44,9110,8824,47.3,9110,8826,1640416.667,9003,8827,0,9003,,,,,,,,,, -6598,"NAD83(2011) / Washington South",9001,6318,14632,9802,1,0,4499,8821,45.2,9110,8822,-120.3,9110,8823,47.2,9110,8824,45.5,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -6599,"NAD83(2011) / Washington South (ftUS)",9003,6318,15368,9802,1,0,4497,8821,45.2,9110,8822,-120.3,9110,8823,47.2,9110,8824,45.5,9110,8826,1640416.667,9003,8827,0,9003,,,,,,,,,, -6600,"NAD83(2011) / West Virginia North",9001,6318,14731,9802,1,0,4499,8821,38.3,9110,8822,-79.3,9110,8823,40.15,9110,8824,39,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6601,"NAD83(2011) / West Virginia North (ftUS)",9003,6318,14735,9802,1,0,4497,8821,38.3,9110,8822,-79.3,9110,8823,40.15,9110,8824,39,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -6602,"NAD83(2011) / West Virginia South",9001,6318,14732,9802,1,0,4499,8821,37,9110,8822,-81,9110,8823,38.53,9110,8824,37.29,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6603,"NAD83(2011) / West Virginia South (ftUS)",9003,6318,14736,9802,1,0,4497,8821,37,9110,8822,-81,9110,8823,38.53,9110,8824,37.29,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -6604,"NAD83(2011) / Wisconsin Central",9001,4759,14832,9802,1,1,4499,8821,43.5,9110,8822,-90,9110,8823,45.3,9110,8824,44.15,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6605,"NAD83(2011) / Wisconsin Central (ftUS)",9003,6318,15370,9802,1,0,4497,8821,43.5,9110,8822,-90,9110,8823,45.3,9110,8824,44.15,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -6606,"NAD83(2011) / Wisconsin North",9001,6318,14831,9802,1,0,4499,8821,45.1,9110,8822,-90,9110,8823,46.46,9110,8824,45.34,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6607,"NAD83(2011) / Wisconsin North (ftUS)",9003,6318,15369,9802,1,0,4497,8821,45.1,9110,8822,-90,9110,8823,46.46,9110,8824,45.34,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -6608,"NAD83(2011) / Wisconsin South",9001,6318,14833,9802,1,0,4499,8821,42,9110,8822,-90,9110,8823,44.04,9110,8824,42.44,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6609,"NAD83(2011) / Wisconsin South (ftUS)",9003,6318,15371,9802,1,0,4497,8821,42,9110,8822,-90,9110,8823,44.04,9110,8824,42.44,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -6610,"NAD83(2011) / Wisconsin Transverse Mercator",9001,6318,14841,9807,1,0,4499,8801,0,9102,8802,-90,9102,8805,0.9996,9201,8806,520000,9001,8807,-4480000,9001,,,,,,,,,,,,, -6611,"NAD83(2011) / Wyoming East",9001,6318,14931,9807,1,0,4499,8801,40.3,9110,8802,-105.1,9110,8805,0.9999375,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -6612,"NAD83(2011) / Wyoming East (ftUS)",9003,6318,14935,9807,1,0,4497,8801,40.3,9110,8802,-105.1,9110,8805,0.9999375,9201,8806,656166.6667,9003,8807,0,9003,,,,,,,,,,,,, -6613,"NAD83(2011) / Wyoming East Central",9001,6318,14932,9807,1,0,4499,8801,40.3,9110,8802,-107.2,9110,8805,0.9999375,9201,8806,400000,9001,8807,100000,9001,,,,,,,,,,,,, -6614,"NAD83(2011) / Wyoming East Central (ftUS)",9003,6318,14936,9807,1,0,4497,8801,40.3,9110,8802,-107.2,9110,8805,0.9999375,9201,8806,1312333.3333,9003,8807,328083.3333,9003,,,,,,,,,,,,, -6615,"NAD83(2011) / Wyoming West",9001,6318,14934,9807,1,0,4499,8801,40.3,9110,8802,-110.05,9110,8805,0.9999375,9201,8806,800000,9001,8807,100000,9001,,,,,,,,,,,,, -6616,"NAD83(2011) / Wyoming West (ftUS)",9003,6318,14938,9807,1,0,4497,8801,40.3,9110,8802,-110.05,9110,8805,0.9999375,9201,8806,2624666.6667,9003,8807,328083.3333,9003,,,,,,,,,,,,, -6617,"NAD83(2011) / Wyoming West Central",9001,6318,14933,9807,1,0,4499,8801,40.3,9110,8802,-108.45,9110,8805,0.9999375,9201,8806,600000,9001,8807,0,9001,,,,,,,,,,,,, -6618,"NAD83(2011) / Wyoming West Central (ftUS)",9003,6318,14937,9807,1,0,4497,8801,40.3,9110,8802,-108.45,9110,8805,0.9999375,9201,8806,1968500,9003,8807,0,9003,,,,,,,,,,,,, -6619,"NAD83(2011) / Utah Central",9001,6318,14332,9802,1,0,4499,8821,38.2,9110,8822,-111.3,9110,8823,40.39,9110,8824,39.01,9110,8826,500000,9001,8827,2000000,9001,,,,,,,,,, -6620,"NAD83(2011) / Utah North",9001,6318,14331,9802,1,0,4499,8821,40.2,9110,8822,-111.3,9110,8823,41.47,9110,8824,40.43,9110,8826,500000,9001,8827,1000000,9001,,,,,,,,,, -6621,"NAD83(2011) / Utah South",9001,6318,14333,9802,1,0,4499,8821,36.4,9110,8822,-111.3,9110,8823,38.21,9110,8824,37.13,9110,8826,500000,9001,8827,3000000,9001,,,,,,,,,, -6622,"NAD83(CSRS) / Quebec Lambert",9001,4617,19944,9802,1,0,4499,8821,44,9110,8822,-68.3,9110,8823,60,9110,8824,46,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -6623,"NAD83 / Quebec Albers",9001,4269,6645,9822,1,0,4499,8821,44,9110,8822,-68.3,9110,8823,60,9110,8824,46,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -6624,"NAD83(CSRS) / Quebec Albers",9001,4617,6645,9822,1,0,4499,8821,44,9110,8822,-68.3,9110,8823,60,9110,8824,46,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -6625,"NAD83(2011) / Utah Central (ftUS)",9003,6318,15298,9802,1,0,4497,8821,38.2,9110,8822,-111.3,9110,8823,40.39,9110,8824,39.01,9110,8826,1640416.6667,9003,8827,6561666.6667,9003,,,,,,,,,, -6626,"NAD83(2011) / Utah North (ftUS)",9003,6318,15297,9802,1,0,4497,8821,40.2,9110,8822,-111.3,9110,8823,41.47,9110,8824,40.43,9110,8826,1640416.6667,9003,8827,3280833.3333,9003,,,,,,,,,, -6627,"NAD83(2011) / Utah South (ftUS)",9003,6318,15299,9802,1,0,4497,8821,36.4,9110,8822,-111.3,9110,8823,38.21,9110,8824,37.13,9110,8826,1640416.6667,9003,8827,9842500,9003,,,,,,,,,, -6628,"NAD83(PA11) / Hawaii zone 1",9001,6322,15131,9807,1,0,4499,8801,18.5,9110,8802,-155.3,9110,8805,0.999966667,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6629,"NAD83(PA11) / Hawaii zone 2",9001,6322,15132,9807,1,0,4499,8801,20.2,9110,8802,-156.4,9110,8805,0.999966667,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6630,"NAD83(PA11) / Hawaii zone 3",9001,6322,15133,9807,1,0,4499,8801,21.1,9110,8802,-158,9110,8805,0.99999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6631,"NAD83(PA11) / Hawaii zone 4",9001,6322,15134,9807,1,0,4499,8801,21.5,9110,8802,-159.3,9110,8805,0.99999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6632,"NAD83(PA11) / Hawaii zone 5",9001,6322,15135,9807,1,0,4499,8801,21.4,9110,8802,-160.1,9110,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6633,"NAD83(PA11) / Hawaii zone 3 (ftUS)",9003,6322,15138,9807,1,0,4497,8801,21.1,9110,8802,-158,9110,8805,0.99999,9201,8806,1640416.6667,9003,8807,0,9003,,,,,,,,,,,,, -6634,"NAD83(PA11) / UTM zone 4N",9001,6322,16004,9807,1,0,4400,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6635,"NAD83(PA11) / UTM zone 5N",9001,6322,16005,9807,1,0,4400,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6636,"NAD83(PA11) / UTM zone 2S",9001,6322,16102,9807,1,0,4400,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -6637,"NAD83(MA11) / Guam Map Grid",9001,6325,4325,9807,1,0,4499,8801,13.3,9110,8802,144.45,9110,8805,1,9201,8806,100000,9001,8807,200000,9001,,,,,,,,,,,,, -6646,"Karbala 1979 / Iraq National Grid",9001,4743,19907,9807,1,0,4400,8801,29.0134566,9110,8802,46.3,9110,8805,0.9994,9201,8806,800000,9001,8807,0,9001,,,,,,,,,,,,, -6669,"JGD2011 / Japan Plane Rectangular CS I",9001,6668,17801,9807,1,0,4530,8801,33,9110,8802,129.3,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6670,"JGD2011 / Japan Plane Rectangular CS II",9001,6668,17802,9807,1,0,4530,8801,33,9110,8802,131,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6671,"JGD2011 / Japan Plane Rectangular CS III",9001,6668,17803,9807,1,0,4530,8801,36,9110,8802,132.1,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6672,"JGD2011 / Japan Plane Rectangular CS IV",9001,6668,17804,9807,1,0,4530,8801,33,9110,8802,133.3,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6673,"JGD2011 / Japan Plane Rectangular CS V",9001,6668,17805,9807,1,0,4530,8801,36,9110,8802,134.2,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6674,"JGD2011 / Japan Plane Rectangular CS VI",9001,6668,17806,9807,1,0,4530,8801,36,9110,8802,136,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6675,"JGD2011 / Japan Plane Rectangular CS VII",9001,6668,17807,9807,1,0,4530,8801,36,9110,8802,137.1,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6676,"JGD2011 / Japan Plane Rectangular CS VIII",9001,6668,17808,9807,1,0,4530,8801,36,9110,8802,138.3,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6677,"JGD2011 / Japan Plane Rectangular CS IX",9001,6668,17809,9807,1,0,4530,8801,36,9110,8802,139.5,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6678,"JGD2011 / Japan Plane Rectangular CS X",9001,6668,17810,9807,1,0,4530,8801,40,9110,8802,140.5,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6679,"JGD2011 / Japan Plane Rectangular CS XI",9001,6668,17811,9807,1,0,4530,8801,44,9110,8802,140.15,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6680,"JGD2011 / Japan Plane Rectangular CS XII",9001,6668,17812,9807,1,0,4530,8801,44,9110,8802,142.15,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6681,"JGD2011 / Japan Plane Rectangular CS XIII",9001,6668,17813,9807,1,0,4530,8801,44,9110,8802,144.15,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6682,"JGD2011 / Japan Plane Rectangular CS XIV",9001,6668,17814,9807,1,0,4530,8801,26,9110,8802,142,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6683,"JGD2011 / Japan Plane Rectangular CS XV",9001,6668,17815,9807,1,0,4530,8801,26,9110,8802,127.3,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6684,"JGD2011 / Japan Plane Rectangular CS XVI",9001,6668,17816,9807,1,0,4530,8801,26,9110,8802,124,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6685,"JGD2011 / Japan Plane Rectangular CS XVII",9001,6668,17817,9807,1,0,4530,8801,26,9110,8802,131,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6686,"JGD2011 / Japan Plane Rectangular CS XVIII",9001,6668,17818,9807,1,0,4530,8801,20,9110,8802,136,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6687,"JGD2011 / Japan Plane Rectangular CS XIX",9001,6668,17819,9807,1,0,4530,8801,26,9110,8802,154,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6688,"JGD2011 / UTM zone 51N",9001,6668,16051,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6689,"JGD2011 / UTM zone 52N",9001,6668,16052,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6690,"JGD2011 / UTM zone 53N",9001,6668,16053,9807,1,0,4400,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6691,"JGD2011 / UTM zone 54N",9001,6668,16054,9807,1,0,4400,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6692,"JGD2011 / UTM zone 55N",9001,6668,16055,9807,1,0,4400,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6703,"WGS 84 / TM 60 SW",9001,4326,6702,9807,1,0,4400,8801,0,9102,8802,-60,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -6707,"RDN2008 / UTM zone 32N (N-E)",9001,6706,16032,9807,1,0,4500,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6708,"RDN2008 / UTM zone 33N (N-E)",9001,6706,16033,9807,1,0,4500,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6709,"RDN2008 / UTM zone 34N (N-E)",9001,6706,16034,9807,1,0,4500,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6720,"WGS 84 / CIG92",9001,4326,6716,9807,1,0,4400,8801,0,9110,8802,105.373,9110,8805,1.000024,9201,8806,50000,9001,8807,1300000,9001,,,,,,,,,,,,, -6721,"GDA94 / CIG94",9001,4283,6717,9807,1,0,4400,8801,0,9110,8802,105.373,9110,8805,1.00002514,9201,8806,50000,9001,8807,1300000,9001,,,,,,,,,,,,, -6722,"WGS 84 / CKIG92",9001,4326,6718,9807,1,0,4400,8801,0,9110,8802,96.523,9110,8805,1,9201,8806,50000,9001,8807,1400000,9001,,,,,,,,,,,,, -6723,"GDA94 / CKIG94",9001,4283,6719,9807,1,0,4400,8801,0,9110,8802,96.523,9110,8805,0.99999387,9201,8806,50000,9001,8807,1500000,9001,,,,,,,,,,,,, -6732,"GDA94 / MGA zone 41",9001,4283,6725,9807,1,1,4400,8801,0,9102,8802,63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -6733,"GDA94 / MGA zone 42",9001,4283,6726,9807,1,1,4400,8801,0,9102,8802,69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -6734,"GDA94 / MGA zone 43",9001,4283,6727,9807,1,1,4400,8801,0,9102,8802,75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -6735,"GDA94 / MGA zone 44",9001,4283,6728,9807,1,1,4400,8801,0,9102,8802,81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -6736,"GDA94 / MGA zone 46",9001,4283,6729,9807,1,0,4400,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -6737,"GDA94 / MGA zone 47",9001,4283,6730,9807,1,0,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -6738,"GDA94 / MGA zone 59",9001,4283,6731,9807,1,0,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -6784,"NAD83(CORS96) / Oregon Baker zone (m)",9001,6783,6741,9807,1,0,4499,8801,44.3,9110,8802,-117.5,9110,8805,1.00016,9201,8806,40000,9001,8807,0,9001,,,,,,,,,,,,, -6785,"NAD83(CORS96) / Oregon Baker zone (ft)",9002,6783,6742,9807,1,0,4495,8801,44.3,9110,8802,-117.5,9110,8805,1.00016,9201,8806,131233.5958,9002,8807,0,9002,,,,,,,,,,,,, -6786,"NAD83(2011) / Oregon Baker zone (m)",9001,6318,6741,9807,1,0,4499,8801,44.3,9110,8802,-117.5,9110,8805,1.00016,9201,8806,40000,9001,8807,0,9001,,,,,,,,,,,,, -6787,"NAD83(2011) / Oregon Baker zone (ft)",9002,6318,6742,9807,1,0,4495,8801,44.3,9110,8802,-117.5,9110,8805,1.00016,9201,8806,131233.5958,9002,8807,0,9002,,,,,,,,,,,,, -6788,"NAD83(CORS96) / Oregon Bend-Klamath Falls zone (m)",9001,6783,6743,9807,1,0,4499,8801,41.45,9110,8802,-121.45,9110,8805,1.0002,9201,8806,80000,9001,8807,0,9001,,,,,,,,,,,,, -6789,"NAD83(CORS96) / Oregon Bend-Klamath Falls zone (ft)",9002,6783,6744,9807,1,0,4495,8801,41.45,9110,8802,-121.45,9110,8805,1.0002,9201,8806,262467.1916,9002,8807,0,9002,,,,,,,,,,,,, -6790,"NAD83(2011) / Oregon Bend-Klamath Falls zone (m)",9001,6318,6743,9807,1,0,4499,8801,41.45,9110,8802,-121.45,9110,8805,1.0002,9201,8806,80000,9001,8807,0,9001,,,,,,,,,,,,, -6791,"NAD83(2011) / Oregon Bend-Klamath Falls zone (ft)",9002,6318,6744,9807,1,0,4495,8801,41.45,9110,8802,-121.45,9110,8805,1.0002,9201,8806,262467.1916,9002,8807,0,9002,,,,,,,,,,,,, -6792,"NAD83(CORS96) / Oregon Bend-Redmond-Prineville zone (m)",9001,6783,6745,9801,1,0,4499,8801,44.4,9110,8802,-121.15,9110,8805,1.00012,9201,8806,80000,9001,8807,130000,9001,,,,,,,,,,,,, -6793,"NAD83(CORS96) / Oregon Bend-Redmond-Prineville zone (ft)",9002,6783,6746,9801,1,0,4495,8801,44.4,9110,8802,-121.15,9110,8805,1.00012,9201,8806,262467.1916,9002,8807,426509.1864,9002,,,,,,,,,,,,, -6794,"NAD83(2011) / Oregon Bend-Redmond-Prineville zone (m)",9001,6318,6745,9801,1,0,4499,8801,44.4,9110,8802,-121.15,9110,8805,1.00012,9201,8806,80000,9001,8807,130000,9001,,,,,,,,,,,,, -6795,"NAD83(2011) / Oregon Bend-Redmond-Prineville zone (ft)",9002,6318,6746,9801,1,0,4495,8801,44.4,9110,8802,-121.15,9110,8805,1.00012,9201,8806,262467.1916,9002,8807,426509.1864,9002,,,,,,,,,,,,, -6796,"NAD83(CORS96) / Oregon Bend-Burns zone (m)",9001,6783,6747,9801,1,0,4499,8801,43.4,9110,8802,-119.45,9110,8805,1.0002,9201,8806,120000,9001,8807,60000,9001,,,,,,,,,,,,, -6797,"NAD83(CORS96) / Oregon Bend-Burns zone (ft)",9002,6783,6748,9801,1,0,4495,8801,43.4,9110,8802,-119.45,9110,8805,1.0002,9201,8806,393700.7874,9002,8807,196850.3937,9002,,,,,,,,,,,,, -6798,"NAD83(2011) / Oregon Bend-Burns zone (m)",9001,6318,6747,9801,1,0,4499,8801,43.4,9110,8802,-119.45,9110,8805,1.0002,9201,8806,120000,9001,8807,60000,9001,,,,,,,,,,,,, -6799,"NAD83(2011) / Oregon Bend-Burns zone (ft)",9002,6318,6748,9801,1,0,4495,8801,43.4,9110,8802,-119.45,9110,8805,1.0002,9201,8806,393700.7874,9002,8807,196850.3937,9002,,,,,,,,,,,,, -6800,"NAD83(CORS96) / Oregon Canyonville-Grants Pass zone (m)",9001,6783,6749,9807,1,0,4499,8801,42.3,9110,8802,-123.2,9110,8805,1.00007,9201,8806,40000,9001,8807,0,9001,,,,,,,,,,,,, -6801,"NAD83(CORS96) / Oregon Canyonville-Grants Pass zone (ft)",9002,6783,6750,9807,1,0,4495,8801,42.3,9110,8802,-123.2,9110,8805,1.00007,9201,8806,131233.5958,9002,8807,0,9002,,,,,,,,,,,,, -6802,"NAD83(2011) / Oregon Canyonville-Grants Pass zone (m)",9001,6318,6749,9807,1,0,4499,8801,42.3,9110,8802,-123.2,9110,8805,1.00007,9201,8806,40000,9001,8807,0,9001,,,,,,,,,,,,, -6803,"NAD83(2011) / Oregon Canyonville-Grants Pass zone (ft)",9002,6318,6750,9807,1,0,4495,8801,42.3,9110,8802,-123.2,9110,8805,1.00007,9201,8806,131233.5958,9002,8807,0,9002,,,,,,,,,,,,, -6804,"NAD83(CORS96) / Oregon Columbia River East zone (m)",9001,6783,6751,9801,1,0,4499,8801,45.4,9110,8802,-120.3,9110,8805,1.000008,9201,8806,150000,9001,8807,30000,9001,,,,,,,,,,,,, -6805,"NAD83(CORS96) / Oregon Columbia River East zone (ft)",9002,6783,6752,9801,1,0,4495,8801,45.4,9110,8802,-120.3,9110,8805,1.000008,9201,8806,492125.9843,9002,8807,98425.1969,9002,,,,,,,,,,,,, -6806,"NAD83(2011) / Oregon Columbia River East zone (m)",9001,6318,6751,9801,1,0,4499,8801,45.4,9110,8802,-120.3,9110,8805,1.000008,9201,8806,150000,9001,8807,30000,9001,,,,,,,,,,,,, -6807,"NAD83(2011) / Oregon Columbia River East zone (ft)",9002,6318,6752,9801,1,0,4495,8801,45.4,9110,8802,-120.3,9110,8805,1.000008,9201,8806,492125.9843,9002,8807,98425.1969,9002,,,,,,,,,,,,, -6808,"NAD83(CORS96) / Oregon Columbia River West zone (m)",9001,6783,6753,9812,1,0,4499,8806,7000000,9001,8807,-3000000,9001,8811,45.55,9110,8812,-123,9110,8813,295,9102,8814,295,9102,8815,1,9201,,,,,,, -6809,"NAD83(CORS96) / Oregon Columbia River West zone (ft)",9002,6783,6754,9812,1,0,4495,8806,22965879.2651,9002,8807,-9842519.685,9002,8811,45.55,9110,8812,-123,9110,8813,295,9102,8814,295,9102,8815,1,9201,,,,,,, -6810,"NAD83(2011) / Oregon Columbia River West zone (m)",9001,6318,6753,9812,1,0,4499,8806,7000000,9001,8807,-3000000,9001,8811,45.55,9110,8812,-123,9110,8813,295,9102,8814,295,9102,8815,1,9201,,,,,,, -6811,"NAD83(2011) / Oregon Columbia River West zone (ft)",9002,6318,6754,9812,1,0,4495,8806,22965879.2651,9002,8807,-9842519.685,9002,8811,45.55,9110,8812,-123,9110,8813,295,9102,8814,295,9102,8815,1,9201,,,,,,, -6812,"NAD83(CORS96) / Oregon Cottage Grove-Canyonville zone (m)",9001,6783,6755,9807,1,0,4499,8801,42.5,9110,8802,-123.2,9110,8805,1.000023,9201,8806,50000,9001,8807,0,9001,,,,,,,,,,,,, -6813,"NAD83(CORS96) / Oregon Cottage Grove-Canyonville zone (ft)",9002,6783,6756,9807,1,0,4495,8801,42.5,9110,8802,-123.2,9110,8805,1.000023,9201,8806,164041.9948,9002,8807,0,9002,,,,,,,,,,,,, -6814,"NAD83(2011) / Oregon Cottage Grove-Canyonville zone (m)",9001,6318,6755,9807,1,0,4499,8801,42.5,9110,8802,-123.2,9110,8805,1.000023,9201,8806,50000,9001,8807,0,9001,,,,,,,,,,,,, -6815,"NAD83(2011) / Oregon Cottage Grove-Canyonville zone (ft)",9002,6318,6756,9807,1,0,4495,8801,42.5,9110,8802,-123.2,9110,8805,1.000023,9201,8806,164041.9948,9002,8807,0,9002,,,,,,,,,,,,, -6816,"NAD83(CORS96) / Oregon Dufur-Madras zone (m)",9001,6783,6757,9807,1,0,4499,8801,44.3,9110,8802,-121,9110,8805,1.00011,9201,8806,80000,9001,8807,0,9001,,,,,,,,,,,,, -6817,"NAD83(CORS96) / Oregon Dufur-Madras zone (ft)",9002,6783,6758,9807,1,0,4495,8801,44.3,9110,8802,-121,9110,8805,1.00011,9201,8806,262467.1916,9002,8807,0,9002,,,,,,,,,,,,, -6818,"NAD83(2011) / Oregon Dufur-Madras zone (m)",9001,6318,6757,9807,1,0,4499,8801,44.3,9110,8802,-121,9110,8805,1.00011,9201,8806,80000,9001,8807,0,9001,,,,,,,,,,,,, -6819,"NAD83(2011) / Oregon Dufur-Madras zone (ft)",9002,6318,6758,9807,1,0,4495,8801,44.3,9110,8802,-121,9110,8805,1.00011,9201,8806,262467.1916,9002,8807,0,9002,,,,,,,,,,,,, -6820,"NAD83(CORS96) / Oregon Eugene zone (m)",9001,6783,6759,9807,1,0,4499,8801,43.45,9110,8802,-123.1,9110,8805,1.000015,9201,8806,50000,9001,8807,0,9001,,,,,,,,,,,,, -6821,"NAD83(CORS96) / Oregon Eugene zone (ft)",9002,6783,6760,9807,1,0,4495,8801,43.45,9110,8802,-123.1,9110,8805,1.000015,9201,8806,164041.9948,9002,8807,0,9002,,,,,,,,,,,,, -6822,"NAD83(2011) / Oregon Eugene zone (m)",9001,6318,6759,9807,1,0,4499,8801,43.45,9110,8802,-123.1,9110,8805,1.000015,9201,8806,50000,9001,8807,0,9001,,,,,,,,,,,,, -6823,"NAD83(2011) / Oregon Eugene zone (ft)",9002,6318,6760,9807,1,0,4495,8801,43.45,9110,8802,-123.1,9110,8805,1.000015,9201,8806,164041.9948,9002,8807,0,9002,,,,,,,,,,,,, -6824,"NAD83(CORS96) / Oregon Grants Pass-Ashland zone (m)",9001,6783,6761,9807,1,0,4499,8801,41.45,9110,8802,-123.2,9110,8805,1.000043,9201,8806,50000,9001,8807,0,9001,,,,,,,,,,,,, -6825,"NAD83(CORS96) / Oregon Grants Pass-Ashland zone (ft)",9002,6783,6762,9807,1,0,4495,8801,41.45,9110,8802,-123.2,9110,8805,1.000043,9201,8806,164041.9948,9002,8807,0,9002,,,,,,,,,,,,, -6826,"NAD83(2011) / Oregon Grants Pass-Ashland zone (m)",9001,6318,6761,9807,1,0,4499,8801,41.45,9110,8802,-123.2,9110,8805,1.000043,9201,8806,50000,9001,8807,0,9001,,,,,,,,,,,,, -6827,"NAD83(2011) / Oregon Grants Pass-Ashland zone (ft)",9002,6318,6762,9807,1,0,4495,8801,41.45,9110,8802,-123.2,9110,8805,1.000043,9201,8806,164041.9948,9002,8807,0,9002,,,,,,,,,,,,, -6828,"NAD83(CORS96) / Oregon Gresham-Warm Springs zone (m)",9001,6783,6763,9807,1,0,4499,8801,45,9110,8802,-122.2,9110,8805,1.00005,9201,8806,10000,9001,8807,0,9001,,,,,,,,,,,,, -6829,"NAD83(CORS96) / Oregon Gresham-Warm Springs zone (ft)",9002,6783,6764,9807,1,0,4495,8801,45,9110,8802,-122.2,9110,8805,1.00005,9201,8806,32808.399,9002,8807,0,9002,,,,,,,,,,,,, -6830,"NAD83(2011) / Oregon Gresham-Warm Springs zone (m)",9001,6318,6763,9807,1,0,4499,8801,45,9110,8802,-122.2,9110,8805,1.00005,9201,8806,10000,9001,8807,0,9001,,,,,,,,,,,,, -6831,"NAD83(2011) / Oregon Gresham-Warm Springs zone (ft)",9002,6318,6764,9807,1,0,4495,8801,45,9110,8802,-122.2,9110,8805,1.00005,9201,8806,32808.399,9002,8807,0,9002,,,,,,,,,,,,, -6832,"NAD83(CORS96) / Oregon La Grande zone (m)",9001,6783,6765,9807,1,0,4499,8801,45,9102,8802,-118,9102,8805,1.00013,9201,8806,40000,9001,8807,0,9001,,,,,,,,,,,,, -6833,"NAD83(CORS96) / Oregon La Grande zone (ft)",9002,6783,6766,9807,1,0,4495,8801,45,9102,8802,-118,9102,8805,1.00013,9201,8806,131233.5958,9002,8807,0,9002,,,,,,,,,,,,, -6834,"NAD83(2011) / Oregon La Grande zone (m)",9001,6318,6765,9807,1,0,4499,8801,45,9102,8802,-118,9102,8805,1.00013,9201,8806,40000,9001,8807,0,9001,,,,,,,,,,,,, -6835,"NAD83(2011) / Oregon La Grande zone (ft)",9002,6318,6766,9807,1,0,4495,8801,45,9102,8802,-118,9102,8805,1.00013,9201,8806,131233.5958,9002,8807,0,9002,,,,,,,,,,,,, -6836,"NAD83(CORS96) / Oregon Ontario zone (m)",9001,6783,6767,9807,1,0,4499,8801,43.15,9110,8802,-117,9110,8805,1.0001,9201,8806,80000,9001,8807,0,9001,,,,,,,,,,,,, -6837,"NAD83(CORS96) / Oregon Ontario zone (ft)",9002,6783,6768,9807,1,0,4495,8801,43.15,9110,8802,-117,9110,8805,1.0001,9201,8806,262467.1916,9002,8807,0,9002,,,,,,,,,,,,, -6838,"NAD83(2011) / Oregon Ontario zone (m)",9001,6318,6767,9807,1,0,4499,8801,43.15,9110,8802,-117,9110,8805,1.0001,9201,8806,80000,9001,8807,0,9001,,,,,,,,,,,,, -6839,"NAD83(2011) / Oregon Ontario zone (ft)",9002,6318,6768,9807,1,0,4495,8801,43.15,9110,8802,-117,9110,8805,1.0001,9201,8806,262467.1916,9002,8807,0,9002,,,,,,,,,,,,, -6840,"NAD83(CORS96) / Oregon Coast zone (m)",9001,6783,6769,9812,1,0,4499,8806,-300000,9001,8807,-4600000,9001,8811,44.45,9110,8812,-124.03,9110,8813,5,9102,8814,5,9102,8815,1,9201,,,,,,, -6841,"NAD83(CORS96) / Oregon Coast zone (ft)",9002,6783,6770,9812,1,0,4495,8806,-984251.9685,9002,8807,-15091863.5171,9002,8811,44.45,9110,8812,-124.03,9110,8813,5,9102,8814,5,9102,8815,1,9201,,,,,,, -6842,"NAD83(2011) / Oregon Coast zone (m)",9001,6318,6769,9812,1,0,4499,8806,-300000,9001,8807,-4600000,9001,8811,44.45,9110,8812,-124.03,9110,8813,5,9102,8814,5,9102,8815,1,9201,,,,,,, -6843,"NAD83(2011) / Oregon Coast zone (ft)",9002,6318,6770,9812,1,0,4495,8806,-984251.9685,9002,8807,-15091863.5171,9002,8811,44.45,9110,8812,-124.03,9110,8813,5,9102,8814,5,9102,8815,1,9201,,,,,,, -6844,"NAD83(CORS96) / Oregon Pendleton zone (m)",9001,6783,6771,9807,1,0,4499,8801,45.15,9110,8802,-119.1,9110,8805,1.000045,9201,8806,60000,9001,8807,0,9001,,,,,,,,,,,,, -6845,"NAD83(CORS96) / Oregon Pendleton zone (ft)",9002,6783,6772,9807,1,0,4495,8801,45.15,9110,8802,-119.1,9110,8805,1.000045,9201,8806,196850.3937,9002,8807,0,9002,,,,,,,,,,,,, -6846,"NAD83(2011) / Oregon Pendleton zone (m)",9001,6318,6771,9807,1,0,4499,8801,45.15,9110,8802,-119.1,9110,8805,1.000045,9201,8806,60000,9001,8807,0,9001,,,,,,,,,,,,, -6847,"NAD83(2011) / Oregon Pendleton zone (ft)",9002,6318,6772,9807,1,0,4495,8801,45.15,9110,8802,-119.1,9110,8805,1.000045,9201,8806,196850.3937,9002,8807,0,9002,,,,,,,,,,,,, -6848,"NAD83(CORS96) / Oregon Pendleton-La Grande zone (m)",9001,6783,6773,9807,1,0,4499,8801,45.05,9110,8802,-118.2,9110,8805,1.000175,9201,8806,30000,9001,8807,0,9001,,,,,,,,,,,,, -6849,"NAD83(CORS96) / Oregon Pendleton-La Grande zone (ft)",9002,6783,6774,9807,1,0,4495,8801,45.05,9110,8802,-118.2,9110,8805,1.000175,9201,8806,98425.1969,9002,8807,0,9002,,,,,,,,,,,,, -6850,"NAD83(2011) / Oregon Pendleton-La Grande zone (m)",9001,6318,6773,9807,1,0,4499,8801,45.05,9110,8802,-118.2,9110,8805,1.000175,9201,8806,30000,9001,8807,0,9001,,,,,,,,,,,,, -6851,"NAD83(2011) / Oregon Pendleton-La Grande zone (ft)",9002,6318,6774,9807,1,0,4495,8801,45.05,9110,8802,-118.2,9110,8805,1.000175,9201,8806,98425.1969,9002,8807,0,9002,,,,,,,,,,,,, -6852,"NAD83(CORS96) / Oregon Portland zone (m)",9001,6783,6775,9801,1,0,4499,8801,45.3,9110,8802,-122.45,9110,8805,1.000002,9201,8806,100000,9001,8807,50000,9001,,,,,,,,,,,,, -6853,"NAD83(CORS96) / Oregon Portland zone (ft)",9002,6783,6776,9801,1,0,4495,8801,45.3,9110,8802,-122.45,9110,8805,1.000002,9201,8806,328083.9895,9002,8807,164041.9948,9002,,,,,,,,,,,,, -6854,"NAD83(2011) / Oregon Portland zone (m)",9001,6318,6775,9801,1,0,4499,8801,45.3,9110,8802,-122.45,9110,8805,1.000002,9201,8806,100000,9001,8807,50000,9001,,,,,,,,,,,,, -6855,"NAD83(2011) / Oregon Portland zone (ft)",9002,6318,6776,9801,1,0,4495,8801,45.3,9110,8802,-122.45,9110,8805,1.000002,9201,8806,328083.9895,9002,8807,164041.9948,9002,,,,,,,,,,,,, -6856,"NAD83(CORS96) / Oregon Salem zone (m)",9001,6783,6777,9807,1,0,4499,8801,44.2,9110,8802,-123.05,9110,8805,1.00001,9201,8806,50000,9001,8807,0,9001,,,,,,,,,,,,, -6857,"NAD83(CORS96) / Oregon Salem zone (ft)",9002,6783,6778,9807,1,0,4495,8801,44.2,9110,8802,-123.05,9110,8805,1.00001,9201,8806,164041.9948,9002,8807,0,9002,,,,,,,,,,,,, -6858,"NAD83(2011) / Oregon Salem zone (m)",9001,6318,6777,9807,1,0,4499,8801,44.2,9110,8802,-123.05,9110,8805,1.00001,9201,8806,50000,9001,8807,0,9001,,,,,,,,,,,,, -6859,"NAD83(2011) / Oregon Salem zone (ft)",9002,6318,6778,9807,1,0,4495,8801,44.2,9110,8802,-123.05,9110,8805,1.00001,9201,8806,164041.9948,9002,8807,0,9002,,,,,,,,,,,,, -6860,"NAD83(CORS96) / Oregon Santiam Pass zone (m)",9001,6783,6779,9807,1,0,4499,8801,44.05,9110,8802,-122.3,9110,8805,1.000155,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6861,"NAD83(CORS96) / Oregon Santiam Pass zone (ft)",9002,6783,6780,9807,1,0,4495,8801,44.05,9110,8802,-122.3,9110,8805,1.000155,9201,8806,0,9002,8807,0,9002,,,,,,,,,,,,, -6862,"NAD83(2011) / Oregon Santiam Pass zone (m)",9001,6318,6779,9807,1,0,4499,8801,44.05,9110,8802,-122.3,9110,8805,1.000155,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -6863,"NAD83(2011) / Oregon Santiam Pass (ft)",9002,6318,6780,9807,1,0,4495,8801,44.05,9110,8802,-122.3,9110,8805,1.000155,9201,8806,0,9002,8807,0,9002,,,,,,,,,,,,, -6867,"NAD83(CORS96) / Oregon LCC (m)",9001,6783,13633,9802,1,0,4499,8821,41.45,9110,8822,-120.3,9110,8823,43,9110,8824,45.3,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -6868,"NAD83(CORS96) / Oregon GIC Lambert (ft)",9002,6783,15374,9802,1,0,4495,8821,41.45,9110,8822,-120.3,9110,8823,43,9110,8824,45.3,9110,8826,1312335.958,9002,8827,0,9002,,,,,,,,,, -6870,"ETRS89 / Albania TM 2010",9001,4258,6869,9807,1,0,4530,8801,0,9102,8802,20,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6875,"RDN2008 / Italy zone (N-E)",9001,6706,6877,9807,1,0,4500,8801,0,9102,8802,12,9102,8805,0.9985,9201,8806,7000000,9001,8807,0,9001,,,,,,,,,,,,, -6876,"RDN2008 / Zone 12 (N-E)",9001,6706,6878,9807,1,0,4500,8801,0,9102,8802,12,9102,8805,1,9201,8806,3000000,9001,8807,0,9001,,,,,,,,,,,,, -6879,"NAD83(2011) / Wisconsin Central",9001,6318,14832,9802,1,0,4499,8821,43.5,9110,8822,-90,9110,8823,45.3,9110,8824,44.15,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -6880,"NAD83(2011) / Nebraska (ftUS)",9003,6318,15396,9802,1,0,4497,8821,39.5,9110,8822,-100,9110,8823,43,9110,8824,40,9110,8826,1640416.6667,9003,8827,0,9003,,,,,,,,,, -6884,"NAD83(CORS96) / Oregon North",9001,6783,13631,9802,1,0,4499,8821,43.4,9110,8822,-120.3,9110,8823,46,9110,8824,44.2,9110,8826,2500000,9001,8827,0,9001,,,,,,,,,, -6885,"NAD83(CORS96) / Oregon North (ft)",9002,6783,15351,9802,1,0,4495,8821,43.4,9110,8822,-120.3,9110,8823,46,9110,8824,44.2,9110,8826,8202099.738,9002,8827,0,9002,,,,,,,,,, -6886,"NAD83(CORS96) / Oregon South",9001,6783,13632,9802,1,0,4499,8821,41.4,9110,8822,-120.3,9110,8823,44,9110,8824,42.2,9110,8826,1500000,9001,8827,0,9001,,,,,,,,,, -6887,"NAD83(CORS96) / Oregon South (ft)",9002,6783,15352,9802,1,0,4495,8821,41.4,9110,8822,-120.3,9110,8823,44,9110,8824,42.2,9110,8826,4921259.843,9002,8827,0,9002,,,,,,,,,, -6915,"South East Island 1943 / UTM zone 40N",9001,6892,16040,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -6922,"NAD83 / Kansas LCC",9001,4269,6920,9802,1,0,4499,8821,36,9110,8822,-98.15,9110,8823,39.3,9110,8824,37.3,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -6923,"NAD83 / Kansas LCC (ftUS)",9003,4269,6921,9802,1,0,4497,8821,36,9110,8822,-98.15,9110,8823,39.3,9110,8824,37.3,9110,8826,1312333.3333,9003,8827,0,9003,,,,,,,,,, -6924,"NAD83(2011) / Kansas LCC",9001,6318,6920,9802,1,0,4499,8821,36,9110,8822,-98.15,9110,8823,39.3,9110,8824,37.3,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -6925,"NAD83(2011) / Kansas LCC (ftUS)",9003,6318,6921,9802,1,0,4497,8821,36,9110,8822,-98.15,9110,8823,39.3,9110,8824,37.3,9110,8826,1312333.3333,9003,8827,0,9003,,,,,,,,,, -6931,"WGS 84 / NSIDC EASE-Grid 2.0 North",9001,4326,6929,9820,1,0,4469,8801,90,9102,8802,0,9102,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -6932,"WGS 84 / NSIDC EASE-Grid 2.0 South",9001,4326,6930,9820,1,0,4470,8801,-90,9102,8802,0,9102,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -6933,"WGS 84 / NSIDC EASE-Grid 2.0 Global",9001,4326,6928,9835,1,0,4499,8802,0,9102,8806,0,9001,8807,0,9001,8823,30,9102,,,,,,,,,,,,,,,, -6956,"VN-2000 / TM-3 zone 481",9001,4756,6952,9807,1,0,4400,8801,0,9102,8802,102,9102,8805,0.9999,9201,8806,0,9001,8807,500000,9001,,,,,,,,,,,,, -6957,"VN-2000 / TM-3 zone 482",9001,4756,6953,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9999,9201,8806,0,9001,8807,500000,9001,,,,,,,,,,,,, -6958,"VN-2000 / TM-3 zone 491",9001,4756,6954,9807,1,0,4400,8801,0,9102,8802,108,9102,8805,0.9999,9201,8806,0,9001,8807,500000,9001,,,,,,,,,,,,, -6959,"VN-2000 / TM-3 Da Nang zone",9001,4756,6955,9807,1,0,4400,8801,0,9110,8802,107.45,9110,8805,0.9999,9201,8806,0,9001,8807,500000,9001,,,,,,,,,,,,, -6962,"ETRS89 / Albania LCC 2010",9001,4258,6961,9802,1,0,4530,8821,41,9102,8822,20,9102,8823,39,9102,8824,43,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -6966,"NAD27 / Michigan North",9003,4267,6965,1051,1,0,4497,1038,1.0000382,9201,8821,44.47,9110,8822,-87,9110,8823,45.29,9110,8824,47.05,9110,8826,2000000,9003,8827,0,9003,,,,,,, -6984,Israeli Grid 05,9001,6983,18204,9807,1,0,4400,8801,31.4403817,9110,8802,35.1216261,9110,8805,1.0000067,9201,8806,219529.584,9001,8807,626907.39,9001,,,,,,,,,,,,, -6991,"Israeli Grid 05/12",9001,6990,18204,9807,1,0,4400,8801,31.4403817,9110,8802,35.1216261,9110,8805,1.0000067,9201,8806,219529.584,9001,8807,626907.39,9001,,,,,,,,,,,,, -6996,"NAD83(2011) / San Francisco CS13",9001,6318,6994,9807,1,1,4499,8801,37.75,9102,8802,-122.45,9102,8805,1.000007,9202,8806,48000,9001,8807,24000,9001,,,,,,,,,,,,, -6997,"NAD83(2011) / San Francisco CS13 (ftUS)",9003,6318,6995,9807,1,1,4497,8801,37.75,9102,8802,-122.45,9102,8805,1.000007,9202,8806,157480,9003,8807,78740,9003,,,,,,,,,,,,, -7005,"Nahrwan 1934 / UTM zone 37N",9001,4744,16037,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -7006,"Nahrwan 1934 / UTM zone 38N",9001,4744,16038,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -7007,"Nahrwan 1934 / UTM zone 39N",9001,4744,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -7057,"NAD83(2011) / IaRCS zone 1",9003,6318,7043,9801,1,0,4497,8801,43.12,9110,8802,-95.15,9110,8805,1.000052,9201,8806,11500000,9003,8807,9600000,9003,,,,,,,,,,,,, -7058,"NAD83(2011) / IaRCS zone 2",9003,6318,7044,9801,1,0,4497,8801,43.1,9110,8802,-92.45,9110,8805,1.000043,9201,8806,12500000,9003,8807,9800000,9003,,,,,,,,,,,,, -7059,"NAD83(2011) / IaRCS zone 3",9003,6318,7045,9807,1,0,4497,8801,40.15,9110,8802,-91.12,9110,8805,1.000035,9201,8806,13500000,9003,8807,8300000,9003,,,,,,,,,,,,, -7060,"NAD83(2011) / IaRCS zone 4",9003,6318,7046,9801,1,0,4497,8801,42.32,9110,8802,-94.5,9110,8805,1.000045,9201,8806,14500000,9003,8807,8600000,9003,,,,,,,,,,,,, -7061,"NAD83(2011) / IaRCS zone 5",9003,6318,7047,9801,1,0,4497,8801,42.39,9110,8802,-92.15,9110,8805,1.000032,9201,8806,15500000,9003,8807,8900000,9003,,,,,,,,,,,,, -7062,"NAD83(2011) / IaRCS zone 6",9003,6318,7048,9807,1,0,4497,8801,40.15,9110,8802,-95.44,9110,8805,1.000039,9201,8806,16500000,9003,8807,6600000,9003,,,,,,,,,,,,, -7063,"NAD83(2011) / IaRCS zone 7",9003,6318,7049,9807,1,0,4497,8801,40.15,9110,8802,-94.38,9110,8805,1.000045,9201,8806,17500000,9003,8807,6800000,9003,,,,,,,,,,,,, -7064,"NAD83(2011) / IaRCS zone 8",9003,6318,7050,9807,1,0,4497,8801,40.15,9110,8802,-93.43,9110,8805,1.000033,9201,8806,18500000,9003,8807,7000000,9003,,,,,,,,,,,,, -7065,"NAD83(2011) / IaRCS zone 9",9003,6318,7051,9807,1,0,4497,8801,40.15,9110,8802,-92.49,9110,8805,1.000027,9201,8806,19500000,9003,8807,7200000,9003,,,,,,,,,,,,, -7066,"NAD83(2011) / IaRCS zone 10",9003,6318,7052,9801,1,0,4497,8801,41.5,9110,8802,-91.4,9110,8805,1.00002,9201,8806,20500000,9003,8807,8000000,9003,,,,,,,,,,,,, -7067,"NAD83(2011) / IaRCS zone 11",9003,6318,7053,9807,1,0,4497,8801,40.15,9110,8802,-90.32,9110,8805,1.000027,9201,8806,21500000,9003,8807,7600000,9003,,,,,,,,,,,,, -7068,"NAD83(2011) / IaRCS zone 12",9003,6318,7054,9801,1,0,4497,8801,40.55,9110,8802,-93.45,9110,8805,1.000037,9201,8806,22500000,9003,8807,6200000,9003,,,,,,,,,,,,, -7069,"NAD83(2011) / IaRCS zone 13",9003,6318,7055,9807,1,0,4497,8801,40.15,9110,8802,-91.55,9110,8805,1.00002,9201,8806,23500000,9003,8807,6400000,9003,,,,,,,,,,,,, -7070,"NAD83(2011) / IaRCS zone 14",9003,6318,7056,9807,1,0,4497,8801,40.15,9110,8802,-91.15,9110,8805,1.000018,9201,8806,24500000,9003,8807,6200000,9003,,,,,,,,,,,,, -7074,"RGTAAF07 / UTM zone 37S",9001,7073,16137,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7075,"RGTAAF07 / UTM zone 38S",9001,7073,16138,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7076,"RGTAAF07 / UTM zone 39S",9001,7073,16139,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7077,"RGTAAF07 / UTM zone 40S",9001,7073,16140,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7078,"RGTAAF07 / UTM zone 41S",9001,7073,16141,9807,1,0,4400,8801,0,9102,8802,63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7079,"RGTAAF07 / UTM zone 42S",9001,7073,16142,9807,1,0,4400,8801,0,9102,8802,69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7080,"RGTAAF07 / UTM zone 43S",9001,7073,16143,9807,1,0,4400,8801,0,9102,8802,75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7081,"RGTAAF07 / UTM zone 44S",9001,7073,16144,9807,1,0,4400,8801,0,9102,8802,81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7082,"RGTAAF07 / Terre Adelie Polar Stereographic",9001,7073,19983,9830,1,0,4400,8826,300000,9001,8827,200000,9001,8832,-67,9102,8833,140,9102,,,,,,,,,,,,,,,, -7109,"NAD83(2011) / RMTCRS St Mary (m)",9001,6318,7089,9807,1,0,4499,8801,48.3,9110,8802,-112.3,9110,8805,1.00016,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -7110,"NAD83(2011) / RMTCRS Blackfeet (m)",9001,6318,7091,9807,1,0,4499,8801,48,9110,8802,-112.3,9110,8805,1.00019,9201,8806,100000,9001,8807,0,9001,,,,,,,,,,,,, -7111,"NAD83(2011) / RMTCRS Milk River (m)",9001,6318,7093,9801,1,0,4499,8801,48.3,9110,8802,-111,9110,8805,1.000145,9201,8806,150000,9001,8807,200000,9001,,,,,,,,,,,,, -7112,"NAD83(2011) / RMTCRS Fort Belknap (m)",9001,6318,7095,9801,1,0,4499,8801,48.3,9110,8802,-108.3,9110,8805,1.00012,9201,8806,200000,9001,8807,150000,9001,,,,,,,,,,,,, -7113,"NAD83(2011) / RMTCRS Fort Peck Assiniboine (m)",9001,6318,7097,9801,1,0,4499,8801,48.2,9110,8802,-105.3,9110,8805,1.00012,9201,8806,200000,9001,8807,100000,9001,,,,,,,,,,,,, -7114,"NAD83(2011) / RMTCRS Fort Peck Sioux (m)",9001,6318,7099,9801,1,0,4499,8801,48.2,9110,8802,-105.3,9110,8805,1.00009,9201,8806,100000,9001,8807,50000,9001,,,,,,,,,,,,, -7115,"NAD83(2011) / RMTCRS Crow (m)",9001,6318,7101,9807,1,0,4499,8801,44.45,9110,8802,-107.45,9110,8805,1.000148,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -7116,"NAD83(2011) / RMTCRS Bobcat (m)",9001,6318,7103,9801,1,0,4499,8801,46.15,9110,8802,-111.15,9110,8805,1.000185,9201,8806,100000,9001,8807,100000,9001,,,,,,,,,,,,, -7117,"NAD83(2011) / RMTCRS Billings (m)",9001,6318,7105,9801,1,0,4499,8801,45.47,9110,8802,-108.25,9110,8805,1.0001515,9201,8806,200000,9001,8807,50000,9001,,,,,,,,,,,,, -7118,"NAD83(2011) / RMTCRS Wind River (m)",9001,6318,7107,9807,1,0,4499,8801,42.4,9110,8802,-108.2,9110,8805,1.00024,9201,8806,100000,9001,8807,0,9001,,,,,,,,,,,,, -7119,"NAD83(2011) / RMTCRS St Mary (ft)",9002,6318,7090,9807,1,0,4495,8801,48.3,9110,8802,-112.3,9110,8805,1.00016,9201,8806,492125.9843,9002,8807,0,9002,,,,,,,,,,,,, -7120,"NAD83(2011) / RMTCRS Blackfeet (ft)",9002,6318,7092,9807,1,0,4495,8801,48,9110,8802,-112.3,9110,8805,1.00019,9201,8806,328083.9895,9002,8807,0,9002,,,,,,,,,,,,, -7121,"NAD83(2011) / RMTCRS Milk River (ft)",9002,6318,7094,9801,1,0,4495,8801,48.3,9110,8802,-111,9110,8805,1.000145,9201,8806,492125.9843,9002,8807,656167.979,9002,,,,,,,,,,,,, -7122,"NAD83(2011) / RMTCRS Fort Belknap (ft)",9002,6318,7096,9801,1,0,4495,8801,48.3,9110,8802,-108.3,9110,8805,1.00012,9201,8806,656167.979,9002,8807,492125.9843,9002,,,,,,,,,,,,, -7123,"NAD83(2011) / RMTCRS Fort Peck Assiniboine (ft)",9002,6318,7098,9801,1,0,4495,8801,48.2,9110,8802,-105.3,9110,8805,1.00012,9201,8806,656167.979,9002,8807,328083.9895,9002,,,,,,,,,,,,, -7124,"NAD83(2011) / RMTCRS Fort Peck Sioux (ft)",9002,6318,7100,9801,1,0,4495,8801,48.2,9110,8802,-105.3,9110,8805,1.00009,9201,8806,328083.9895,9002,8807,164041.9938,9002,,,,,,,,,,,,, -7125,"NAD83(2011) / RMTCRS Crow (ft)",9002,6318,7102,9807,1,0,4495,8801,44.45,9110,8802,-107.45,9110,8805,1.000148,9201,8806,656167.979,9002,8807,0,9002,,,,,,,,,,,,, -7126,"NAD83(2011) / RMTCRS Bobcat (ft)",9002,6318,7104,9801,1,0,4495,8801,46.15,9110,8802,-111.15,9110,8805,1.000185,9201,8806,328083.9895,9002,8807,328083.9895,9002,,,,,,,,,,,,, -7127,"NAD83(2011) / RMTCRS Billings (ft)",9002,6318,7106,9801,1,0,4495,8801,45.47,9110,8802,-108.25,9110,8805,1.0001515,9201,8806,656167.979,9002,8807,164041.9948,9002,,,,,,,,,,,,, -7128,"NAD83(2011) / RMTCRS Wind River (ftUS)",9003,6318,7108,9807,1,0,4497,8801,42.4,9110,8802,-108.2,9110,8805,1.00024,9201,8806,328083.3333,9003,8807,0,9003,,,,,,,,,,,,, -7131,"NAD83(2011) / San Francisco CS13",9001,6318,7129,9807,1,0,4499,8801,37.75,9102,8802,-122.45,9102,8805,1.000007,9201,8806,48000,9001,8807,24000,9001,,,,,,,,,,,,, -7132,"NAD83(2011) / San Francisco CS13 (ftUS)",9003,6318,7130,9807,1,0,4497,8801,37.75,9102,8802,-122.45,9102,8805,1.000007,9201,8806,157480,9003,8807,78740,9003,,,,,,,,,,,,, -7142,"Palestine 1923 / Palestine Grid modified",9001,4281,7141,9807,1,0,4400,8801,31.4402749,9110,8802,35.124349,9110,8805,1,9201,8806,170251.555,9001,8807,126867.909,9001,,,,,,,,,,,,, -7257,"NAD83(2011) / InGCS Adams (m)",9001,6318,7143,9807,1,0,4499,8801,40.33,9110,8802,-84.57,9110,8805,1.000034,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7258,"NAD83(2011) / InGCS Adams (ftUS)",9003,6318,7144,9807,1,0,4497,8801,40.33,9110,8802,-84.57,9110,8805,1.000034,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7259,"NAD83(2011) / InGCS Allen (m)",9001,6318,7145,9807,1,0,4499,8801,40.54,9110,8802,-85.03,9110,8805,1.000031,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7260,"NAD83(2011) / InGCS Allen (ftUS)",9003,6318,7146,9807,1,0,4497,8801,40.54,9110,8802,-85.03,9110,8805,1.000031,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7261,"NAD83(2011) / InGCS Bartholomew (m)",9001,6318,7147,9807,1,0,4499,8801,39,9110,8802,-85.51,9110,8805,1.000026,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7262,"NAD83(2011) / InGCS Bartholomew (ftUS)",9003,6318,7148,9807,1,0,4497,8801,39,9110,8802,-85.51,9110,8805,1.000026,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7263,"NAD83(2011) / InGCS Benton (m)",9001,6318,7149,9807,1,0,4499,8801,40.27,9110,8802,-87.18,9110,8805,1.000029,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7264,"NAD83(2011) / InGCS Benton (ftUS)",9003,6318,7150,9807,1,0,4497,8801,40.27,9110,8802,-87.18,9110,8805,1.000029,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7265,"NAD83(2011) / InGCS Blackford-Delaware (m)",9001,6318,7151,9807,1,0,4499,8801,40.03,9110,8802,-85.24,9110,8805,1.000038,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7266,"NAD83(2011) / InGCS Blackford-Delaware (ftUS)",9003,6318,7152,9807,1,0,4497,8801,40.03,9110,8802,-85.24,9110,8805,1.000038,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7267,"NAD83(2011) / InGCS Boone-Hendricks (m)",9001,6318,7153,9807,1,0,4499,8801,39.36,9110,8802,-86.3,9110,8805,1.000036,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7268,"NAD83(2011) / InGCS Boone-Hendricks (ftUS)",9003,6318,7154,9807,1,0,4497,8801,39.36,9110,8802,-86.3,9110,8805,1.000036,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7269,"NAD83(2011) / InGCS Brown (m)",9001,6318,7155,9807,1,0,4499,8801,39,9110,8802,-86.18,9110,8805,1.00003,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7270,"NAD83(2011) / InGCS Brown (ftUS)",9003,6318,7156,9807,1,0,4497,8801,39,9110,8802,-86.18,9110,8805,1.00003,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7271,"NAD83(2011) / InGCS Carroll (m)",9001,6318,7157,9807,1,0,4499,8801,40.24,9110,8802,-86.39,9110,8805,1.000026,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7272,"NAD83(2011) / InGCS Carroll (ftUS)",9003,6318,7158,9807,1,0,4497,8801,40.24,9110,8802,-86.39,9110,8805,1.000026,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7273,"NAD83(2011) / InGCS Cass (m)",9001,6318,7159,9807,1,0,4499,8801,40.33,9110,8802,-86.24,9110,8805,1.000028,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7274,"NAD83(2011) / InGCS Cass (ftUS)",9003,6318,7160,9807,1,0,4497,8801,40.33,9110,8802,-86.24,9110,8805,1.000028,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7275,"NAD83(2011) / InGCS Clark-Floyd-Scott (m)",9001,6318,7161,9807,1,0,4499,8801,38.09,9110,8802,-85.36,9110,8805,1.000021,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7276,"NAD83(2011) / InGCS Clark-Floyd-Scott (ftUS)",9003,6318,7162,9807,1,0,4497,8801,38.09,9110,8802,-85.36,9110,8805,1.000021,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7277,"NAD83(2011) / InGCS Clay (m)",9001,6318,7163,9807,1,0,4499,8801,39.09,9110,8802,-87.09,9110,8805,1.000024,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7278,"NAD83(2011) / InGCS Clay (ftUS)",9003,6318,7164,9807,1,0,4497,8801,39.09,9110,8802,-87.09,9110,8805,1.000024,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7279,"NAD83(2011) / InGCS Clinton (m)",9001,6318,7165,9807,1,0,4499,8801,40.09,9110,8802,-86.36,9110,8805,1.000032,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7280,"NAD83(2011) / InGCS Clinton (ftUS)",9003,6318,7166,9807,1,0,4497,8801,40.09,9110,8802,-86.36,9110,8805,1.000032,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7281,"NAD83(2011) / InGCS Crawford-Lawrence-Orange (m)",9001,6318,7167,9807,1,0,4499,8801,38.06,9110,8802,-86.3,9110,8805,1.000025,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7282,"NAD83(2011) / InGCS Crawford-Lawrence-Orange (ftUS)",9003,6318,7168,9807,1,0,4497,8801,38.06,9110,8802,-86.3,9110,8805,1.000025,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7283,"NAD83(2011) / InGCS Daviess-Greene (m)",9001,6318,7169,9807,1,0,4499,8801,38.27,9110,8802,-87.06,9110,8805,1.000018,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7284,"NAD83(2011) / InGCS Daviess-Greene (ftUS)",9003,6318,7170,9807,1,0,4497,8801,38.27,9110,8802,-87.06,9110,8805,1.000018,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7285,"NAD83(2011) / InGCS Dearborn-Ohio-Switzerland (m)",9001,6318,7171,9807,1,0,4499,8801,38.39,9110,8802,-84.54,9110,8805,1.000029,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7286,"NAD83(2011) / InGCS Dearborn-Ohio-Switzerland (ftUS)",9003,6318,7172,9807,1,0,4497,8801,38.39,9110,8802,-84.54,9110,8805,1.000029,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7287,"NAD83(2011) / InGCS Decatur-Rush (m)",9001,6318,7173,9807,1,0,4499,8801,39.06,9110,8802,-85.39,9110,8805,1.000036,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7288,"NAD83(2011) / InGCS Decatur-Rush (ftUS)",9003,6318,7174,9807,1,0,4497,8801,39.06,9110,8802,-85.39,9110,8805,1.000036,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7289,"NAD83(2011) / InGCS DeKalb (m)",9001,6318,7175,9807,1,0,4499,8801,41.15,9110,8802,-84.57,9110,8805,1.000036,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7290,"NAD83(2011) / InGCS DeKalb (ftUS)",9003,6318,7176,9807,1,0,4497,8801,41.15,9110,8802,-84.57,9110,8805,1.000036,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7291,"NAD83(2011) / InGCS Dubois-Martin (m)",9001,6318,7177,9807,1,0,4499,8801,38.12,9110,8802,-86.57,9110,8805,1.00002,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7292,"NAD83(2011) / InGCS Dubois-Martin (ftUS)",9003,6318,7178,9807,1,0,4497,8801,38.12,9110,8802,-86.57,9110,8805,1.00002,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7293,"NAD83(2011) / InGCS Elkhart-Kosciusko-Wabash (m)",9001,6318,7179,9807,1,0,4499,8801,40.39,9110,8802,-85.51,9110,8805,1.000033,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7294,"NAD83(2011) / InGCS Elkhart-Kosciusko-Wabash (ftUS)",9003,6318,7180,9807,1,0,4497,8801,40.39,9110,8802,-85.51,9110,8805,1.000033,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7295,"NAD83(2011) / InGCS Fayette-Franklin-Union (m)",9001,6318,7181,9807,1,0,4499,8801,39.15,9110,8802,-85.03,9110,8805,1.000038,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7296,"NAD83(2011) / InGCS Fayette-Franklin-Union (ftUS)",9003,6318,7182,9807,1,0,4497,8801,39.15,9110,8802,-85.03,9110,8805,1.000038,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7297,"NAD83(2011) / InGCS Fountain-Warren (m)",9001,6318,7183,9807,1,0,4499,8801,39.57,9110,8802,-87.18,9110,8805,1.000025,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7298,"NAD83(2011) / InGCS Fountain-Warren (ftUS)",9003,6318,7184,9807,1,0,4497,8801,39.57,9110,8802,-87.18,9110,8805,1.000025,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7299,"NAD83(2011) / InGCS Fulton-Marshall-St. Joseph (m)",9001,6318,7185,9807,1,0,4499,8801,40.54,9110,8802,-86.18,9110,8805,1.000031,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7300,"NAD83(2011) / InGCS Fulton-Marshall-St. Joseph (ftUS)",9003,6318,7186,9807,1,0,4497,8801,40.54,9110,8802,-86.18,9110,8805,1.000031,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7301,"NAD83(2011) / InGCS Gibson (m)",9001,6318,7187,9807,1,0,4499,8801,38.09,9110,8802,-87.39,9110,8805,1.000013,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7302,"NAD83(2011) / InGCS Gibson (ftUS)",9003,6318,7188,9807,1,0,4497,8801,38.09,9110,8802,-87.39,9110,8805,1.000013,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7303,"NAD83(2011) / InGCS Grant (m)",9001,6318,7189,9807,1,0,4499,8801,40.21,9110,8802,-85.42,9110,8805,1.000034,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7304,"NAD83(2011) / InGCS Grant (ftUS)",9003,6318,7190,9807,1,0,4497,8801,40.21,9110,8802,-85.42,9110,8805,1.000034,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7305,"NAD83(2011) / InGCS Hamilton-Tipton (m)",9001,6318,7191,9807,1,0,4499,8801,39.54,9110,8802,-86,9110,8805,1.000034,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7306,"NAD83(2011) / InGCS Hamilton-Tipton (ftUS)",9003,6318,7192,9807,1,0,4497,8801,39.54,9110,8802,-86,9110,8805,1.000034,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7307,"NAD83(2011) / InGCS Hancock-Madison (m)",9001,6318,7193,9807,1,0,4499,8801,39.39,9110,8802,-85.48,9110,8805,1.000036,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7308,"NAD83(2011) / InGCS Hancock-Madison (ftUS)",9003,6318,7194,9807,1,0,4497,8801,39.39,9110,8802,-85.48,9110,8805,1.000036,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7309,"NAD83(2011) / InGCS Harrison-Washington (m)",9001,6318,7195,9807,1,0,4499,8801,37.57,9110,8802,-86.09,9110,8805,1.000027,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7310,"NAD83(2011) / InGCS Harrison-Washington (ftUS)",9003,6318,7196,9807,1,0,4497,8801,37.57,9110,8802,-86.09,9110,8805,1.000027,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7311,"NAD83(2011) / InGCS Henry (m)",9001,6318,7197,9807,1,0,4499,8801,39.45,9110,8802,-85.27,9110,8805,1.000043,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7312,"NAD83(2011) / InGCS Henry (ftUS)",9003,6318,7198,9807,1,0,4497,8801,39.45,9110,8802,-85.27,9110,8805,1.000043,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7313,"NAD83(2011) / InGCS Howard-Miami (m)",9001,6318,7199,9807,1,0,4499,8801,40.21,9110,8802,-86.09,9110,8805,1.000031,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7314,"NAD83(2011) / InGCS Howard-Miami (ftUS)",9003,6318,7200,9807,1,0,4497,8801,40.21,9110,8802,-86.09,9110,8805,1.000031,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7315,"NAD83(2011) / InGCS Huntington-Whitley (m)",9001,6318,7201,9807,1,0,4499,8801,40.39,9110,8802,-85.3,9110,8805,1.000034,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7316,"NAD83(2011) / InGCS Huntington-Whitley (ftUS)",9003,6318,7202,9807,1,0,4497,8801,40.39,9110,8802,-85.3,9110,8805,1.000034,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7317,"NAD83(2011) / InGCS Jackson (m)",9001,6318,7203,9807,1,0,4499,8801,38.42,9110,8802,-85.57,9110,8805,1.000022,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7318,"NAD83(2011) / InGCS Jackson (ftUS)",9003,6318,7204,9807,1,0,4497,8801,38.42,9110,8802,-85.57,9110,8805,1.000022,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7319,"NAD83(2011) / InGCS Jasper-Porter (m)",9001,6318,7205,9807,1,0,4499,8801,40.42,9110,8802,-87.06,9110,8805,1.000027,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7320,"NAD83(2011) / InGCS Jasper-Porter (ftUS)",9003,6318,7206,9807,1,0,4497,8801,40.42,9110,8802,-87.06,9110,8805,1.000027,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7321,"NAD83(2011) / InGCS Jay (m)",9001,6318,7207,9807,1,0,4499,8801,40.18,9110,8802,-85,9110,8805,1.000038,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7322,"NAD83(2011) / InGCS Jay (ftUS)",9003,6318,7208,9807,1,0,4497,8801,40.18,9110,8802,-85,9110,8805,1.000038,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7323,"NAD83(2011) / InGCS Jefferson (m)",9001,6318,7209,9807,1,0,4499,8801,38.33,9110,8802,-85.21,9110,8805,1.000028,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7324,"NAD83(2011) / InGCS Jefferson (ftUS)",9003,6318,7210,9807,1,0,4497,8801,38.33,9110,8802,-85.21,9110,8805,1.000028,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7325,"NAD83(2011) / InGCS Jennings (m)",9001,6318,7211,9807,1,0,4499,8801,38.48,9110,8802,-85.48,9110,8805,1.000025,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7326,"NAD83(2011) / InGCS Jennings (ftUS)",9003,6318,7212,9807,1,0,4497,8801,38.48,9110,8802,-85.48,9110,8805,1.000025,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7327,"NAD83(2011) / InGCS Johnson-Marion (m)",9001,6318,7213,9807,1,0,4499,8801,39.18,9110,8802,-86.09,9110,8805,1.000031,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7328,"NAD83(2011) / InGCS Johnson-Marion (ftUS)",9003,6318,7214,9807,1,0,4497,8801,39.18,9110,8802,-86.09,9110,8805,1.000031,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7329,"NAD83(2011) / InGCS Knox (m)",9001,6318,7215,9807,1,0,4499,8801,38.24,9110,8802,-87.27,9110,8805,1.000015,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7330,"NAD83(2011) / InGCS Knox (ftUS)",9003,6318,7216,9807,1,0,4497,8801,38.24,9110,8802,-87.27,9110,8805,1.000015,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7331,"NAD83(2011) / InGCS LaGrange-Noble (m)",9001,6318,7217,9807,1,0,4499,8801,41.15,9110,8802,-85.27,9110,8805,1.000037,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7332,"NAD83(2011) / InGCS LaGrange-Noble (ftUS)",9003,6318,7218,9807,1,0,4497,8801,41.15,9110,8802,-85.27,9110,8805,1.000037,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7333,"NAD83(2011) / InGCS Lake-Newton (m)",9001,6318,7219,9807,1,0,4499,8801,40.42,9110,8802,-87.24,9110,8805,1.000026,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7334,"NAD83(2011) / InGCS Lake-Newton (ftUS)",9003,6318,7220,9807,1,0,4497,8801,40.42,9110,8802,-87.24,9110,8805,1.000026,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7335,"NAD83(2011) / InGCS LaPorte-Pulaski-Starke (m)",9001,6318,7221,9807,1,0,4499,8801,40.54,9110,8802,-86.45,9110,8805,1.000027,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7336,"NAD83(2011) / InGCS LaPorte-Pulaski-Starke (ftUS)",9003,6318,7222,9807,1,0,4497,8801,40.54,9110,8802,-86.45,9110,8805,1.000027,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7337,"NAD83(2011) / InGCS Monroe-Morgan (m)",9001,6318,7223,9807,1,0,4499,8801,38.57,9110,8802,-86.3,9110,8805,1.000028,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7338,"NAD83(2011) / InGCS Monroe-Morgan (ftUS)",9003,6318,7224,9807,1,0,4497,8801,38.57,9110,8802,-86.3,9110,8805,1.000028,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7339,"NAD83(2011) / InGCS Montgomery-Putnam (m)",9001,6318,7225,9807,1,0,4499,8801,39.27,9110,8802,-86.57,9110,8805,1.000031,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7340,"NAD83(2011) / InGCS Montgomery-Putnam (ftUS)",9003,6318,7226,9807,1,0,4497,8801,39.27,9110,8802,-86.57,9110,8805,1.000031,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7341,"NAD83(2011) / InGCS Owen (m)",9001,6318,7227,9807,1,0,4499,8801,39.09,9110,8802,-86.54,9110,8805,1.000026,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7342,"NAD83(2011) / InGCS Owen (ftUS)",9003,6318,7228,9807,1,0,4497,8801,39.09,9110,8802,-86.54,9110,8805,1.000026,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7343,"NAD83(2011) / InGCS Parke-Vermillion (m)",9001,6318,7229,9807,1,0,4499,8801,39.36,9110,8802,-87.21,9110,8805,1.000022,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7344,"NAD83(2011) / InGCS Parke-Vermillion (ftUS)",9003,6318,7230,9807,1,0,4497,8801,39.36,9110,8802,-87.21,9110,8805,1.000022,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7345,"NAD83(2011) / InGCS Perry (m)",9001,6318,7231,9807,1,0,4499,8801,37.48,9110,8802,-86.42,9110,8805,1.00002,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7346,"NAD83(2011) / InGCS Perry (ftUS)",9003,6318,7232,9807,1,0,4497,8801,37.48,9110,8802,-86.42,9110,8805,1.00002,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7347,"NAD83(2011) / InGCS Pike-Warrick (m)",9001,6318,7233,9807,1,0,4499,8801,37.51,9110,8802,-87.18,9110,8805,1.000015,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7348,"NAD83(2011) / InGCS Pike-Warrick (ftUS)",9003,6318,7234,9807,1,0,4497,8801,37.51,9110,8802,-87.18,9110,8805,1.000015,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7349,"NAD83(2011) / InGCS Posey (m)",9001,6318,7235,9807,1,0,4499,8801,37.45,9110,8802,-87.57,9110,8805,1.000013,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7350,"NAD83(2011) / InGCS Posey (ftUS)",9003,6318,7236,9807,1,0,4497,8801,37.45,9110,8802,-87.57,9110,8805,1.000013,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7351,"NAD83(2011) / InGCS Randolph-Wayne (m)",9001,6318,7237,9807,1,0,4499,8801,39.42,9110,8802,-85.03,9110,8805,1.000044,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7352,"NAD83(2011) / InGCS Randolph-Wayne (ftUS)",9003,6318,7238,9807,1,0,4497,8801,39.42,9110,8802,-85.03,9110,8805,1.000044,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7353,"NAD83(2011) / InGCS Ripley (m)",9001,6318,7239,9807,1,0,4499,8801,38.54,9110,8802,-85.18,9110,8805,1.000038,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7354,"NAD83(2011) / InGCS Ripley (ftUS)",9003,6318,7240,9807,1,0,4497,8801,38.54,9110,8802,-85.18,9110,8805,1.000038,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7355,"NAD83(2011) / InGCS Shelby (m)",9001,6318,7241,9807,1,0,4499,8801,39.18,9110,8802,-85.54,9110,8805,1.00003,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7356,"NAD83(2011) / InGCS Shelby (ftUS)",9003,6318,7242,9807,1,0,4497,8801,39.18,9110,8802,-85.54,9110,8805,1.00003,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7357,"NAD83(2011) / InGCS Spencer (m)",9001,6318,7243,9807,1,0,4499,8801,37.45,9110,8802,-87.03,9110,8805,1.000014,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7358,"NAD83(2011) / InGCS Spencer (ftUS)",9003,6318,7244,9807,1,0,4497,8801,37.45,9110,8802,-87.03,9110,8805,1.000014,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7359,"NAD83(2011) / InGCS Steuben (m)",9001,6318,7245,9807,1,0,4499,8801,41.3,9110,8802,-85,9110,8805,1.000041,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7360,"NAD83(2011) / InGCS Steuben (ftUS)",9003,6318,7246,9807,1,0,4497,8801,41.3,9110,8802,-85,9110,8805,1.000041,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7361,"NAD83(2011) / InGCS Sullivan (m)",9001,6318,7247,9807,1,0,4499,8801,38.54,9110,8802,-87.3,9110,8805,1.000017,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7362,"NAD83(2011) / InGCS Sullivan (ftUS)",9003,6318,7248,9807,1,0,4497,8801,38.54,9110,8802,-87.3,9110,8805,1.000017,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7363,"NAD83(2011) / InGCS Tippecanoe-White (m)",9001,6318,7249,9807,1,0,4499,8801,40.12,9110,8802,-86.54,9110,8805,1.000026,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7364,"NAD83(2011) / InGCS Tippecanoe-White (ftUS)",9003,6318,7250,9807,1,0,4497,8801,40.12,9110,8802,-86.54,9110,8805,1.000026,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7365,"NAD83(2011) / InGCS Vanderburgh (m)",9001,6318,7251,9807,1,0,4499,8801,37.48,9110,8802,-87.33,9110,8805,1.000015,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7366,"NAD83(2011) / InGCS Vanderburgh (ftUS)",9003,6318,7252,9807,1,0,4497,8801,37.48,9110,8802,-87.33,9110,8805,1.000015,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7367,"NAD83(2011) / InGCS Vigo (m)",9001,6318,7253,9807,1,0,4499,8801,39.15,9110,8802,-87.27,9110,8805,1.00002,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7368,"NAD83(2011) / InGCS Vigo (ftUS)",9003,6318,7254,9807,1,0,4497,8801,39.15,9110,8802,-87.27,9110,8805,1.00002,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7369,"NAD83(2011) / InGCS Wells (m)",9001,6318,7255,9807,1,0,4499,8801,40.33,9110,8802,-85.15,9110,8805,1.000034,9201,8806,240000,9001,8807,36000,9001,,,,,,,,,,,,, -7370,"NAD83(2011) / InGCS Wells (ftUS)",9003,6318,7256,9807,1,0,4497,8801,40.33,9110,8802,-85.15,9110,8805,1.000034,9201,8806,787400,9003,8807,118110,9003,,,,,,,,,,,,, -7374,"ONGD14 / UTM zone 39N",9001,7373,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -7375,"ONGD14 / UTM zone 40N",9001,7373,16040,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -7376,"ONGD14 / UTM zone 41N",9001,7373,16041,9807,1,0,4400,8801,0,9102,8802,63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -7528,"NAD83(2011) / WISCRS Adams and Juneau (m)",9001,6318,7484,9807,1,0,4499,8801,43.22,9110,8802,-90,9110,8805,1.0000365285,9201,8806,147218.6942,9001,8807,0.0037,9001,,,,,,,,,,,,, -7529,"NAD83(2011) / WISCRS Ashland (m)",9001,6318,7378,9807,1,0,4499,8801,45.4222,9110,8802,-90.372,9110,8805,1.0000495683,9201,8806,172821.9461,9001,8807,0.0017,9001,,,,,,,,,,,,, -7530,"NAD83(2011) / WISCRS Barron (m)",9001,6318,7426,9807,1,0,4499,8801,45.08,9110,8802,-91.51,9110,8805,1.0000486665,9201,8806,93150,9001,8807,0.0029,9001,,,,,,,,,,,,, -7531,"NAD83(2011) / WISCRS Bayfield (m)",9001,6318,7380,9801,1,0,4499,8801,46.4010734158,9110,8802,-91.091,9110,8805,1.0000331195,9201,8806,228600.4575,9001,8807,148551.4837,9001,,,,,,,,,,,,, -7532,"NAD83(2011) / WISCRS Brown (m)",9001,6318,7428,9807,1,0,4499,8801,43,9102,8802,-88,9102,8805,1.00002,9201,8806,31600,9001,8807,4600,9001,,,,,,,,,,,,, -7533,"NAD83(2011) / WISCRS Buffalo (m)",9001,6318,7430,9807,1,0,4499,8801,43.2853,9110,8802,-91.475,9110,8805,1.0000382778,9201,8806,175260.3502,9001,8807,0.0048,9001,,,,,,,,,,,,, -7534,"NAD83(2011) / WISCRS Burnett (m)",9001,6318,7382,9801,1,0,4499,8801,45.5355373517,9110,8802,-92.2728,9110,8805,1.0000383841,9201,8806,64008.1276,9001,8807,59445.9043,9001,,,,,,,,,,,,, -7535,"NAD83(2011) / WISCRS Calumet, Fond du Lac, Outagamie and Winnebago (m)",9001,6318,7486,9807,1,0,4499,8801,42.431,9110,8802,-88.3,9110,8805,1.0000286569,9201,8806,244754.8893,9001,8807,0.0049,9001,,,,,,,,,,,,, -7536,"NAD83(2011) / WISCRS Chippewa (m)",9001,6318,7432,9801,1,0,4499,8801,44.5840284835,9110,8802,-91.174,9110,8805,1.0000391127,9201,8806,60045.72,9001,8807,44091.4346,9001,,,,,,,,,,,,, -7537,"NAD83(2011) / WISCRS Clark (m)",9001,6318,7434,9807,1,0,4499,8801,43.36,9110,8802,-90.423,9110,8805,1.0000463003,9201,8806,199949.1989,9001,8807,0.0086,9001,,,,,,,,,,,,, -7538,"NAD83(2011) / WISCRS Columbia (m)",9001,6318,7488,9801,1,0,4499,8801,43.2745167925,9110,8802,-89.234,9110,8805,1.00003498,9201,8806,169164.3381,9001,8807,111569.6134,9001,,,,,,,,,,,,, -7539,"NAD83(2011) / WISCRS Crawford (m)",9001,6318,7490,9801,1,0,4499,8801,43.1200200178,9110,8802,-90.562,9110,8805,1.0000349151,9201,8806,113690.6274,9001,8807,53703.1201,9001,,,,,,,,,,,,, -7540,"NAD83(2011) / WISCRS Dane (m)",9001,6318,7492,9801,1,0,4499,8801,43.0410257735,9110,8802,-89.252,9110,8805,1.0000384786,9201,8806,247193.2944,9001,8807,146591.9896,9001,,,,,,,,,,,,, -7541,"NAD83(2011) / WISCRS Dodge and Jefferson (m)",9001,6318,7494,9807,1,0,4499,8801,41.282,9110,8802,-88.463,9110,8805,1.0000346418,9201,8806,263347.7263,9001,8807,0.0076,9001,,,,,,,,,,,,, -7542,"NAD83(2011) / WISCRS Door (m)",9001,6318,7436,9807,1,0,4499,8801,44.24,9110,8802,-87.162,9110,8805,1.0000187521,9201,8806,158801.1176,9001,8807,0.0023,9001,,,,,,,,,,,,, -7543,"NAD83(2011) / WISCRS Douglas (m)",9001,6318,7384,9807,1,0,4499,8801,45.53,9110,8802,-91.55,9110,8805,1.0000385418,9201,8806,59131.3183,9001,8807,0.0041,9001,,,,,,,,,,,,, -7544,"NAD83(2011) / WISCRS Dunn (m)",9001,6318,7438,9807,1,0,4499,8801,44.243,9110,8802,-91.534,9110,8805,1.0000410324,9201,8806,51816.104,9001,8807,0.003,9001,,,,,,,,,,,,, -7545,"NAD83(2011) / WISCRS Eau Claire (m)",9001,6318,7440,9801,1,0,4499,8801,44.5220212055,9110,8802,-91.172,9110,8805,1.000035079,9201,8806,120091.4402,9001,8807,91687.9239,9001,,,,,,,,,,,,, -7546,"NAD83(2011) / WISCRS Florence (m)",9001,6318,7386,9807,1,0,4499,8801,45.262,9110,8802,-88.083,9110,8805,1.0000552095,9201,8806,133502.6683,9001,8807,0.0063,9001,,,,,,,,,,,,, -7547,"NAD83(2011) / WISCRS Forest (m)",9001,6318,7388,9807,1,0,4499,8801,44.002,9110,8802,-88.38,9110,8805,1.0000673004,9201,8806,275844.5533,9001,8807,0.0157,9001,,,,,,,,,,,,, -7548,"NAD83(2011) / WISCRS Grant (m)",9001,6318,7496,9807,1,0,4499,8801,41.244,9110,8802,-90.48,9110,8805,1.0000349452,9201,8806,242316.4841,9001,8807,0.01,9001,,,,,,,,,,,,, -7549,"NAD83(2011) / WISCRS Green and Lafayette (m)",9001,6318,7498,9801,1,0,4499,8801,42.3815224197,9110,8802,-89.502,9110,8805,1.0000390487,9201,8806,170078.7403,9001,8807,45830.2947,9001,,,,,,,,,,,,, -7550,"NAD83(2011) / WISCRS Green Lake and Marquette (m)",9001,6318,7500,9801,1,0,4499,8801,43.4825200424,9110,8802,-89.143,9110,8805,1.0000344057,9201,8806,150876.3018,9001,8807,79170.7795,9001,,,,,,,,,,,,, -7551,"NAD83(2011) / WISCRS Iowa (m)",9001,6318,7502,9807,1,0,4499,8801,42.322,9110,8802,-90.094,9110,8805,1.0000394961,9201,8806,113081.0261,9001,8807,0.0045,9001,,,,,,,,,,,,, -7552,"NAD83(2011) / WISCRS Iron (m)",9001,6318,7390,9807,1,0,4499,8801,45.26,9110,8802,-90.152,9110,8805,1.0000677153,9201,8806,220980.4419,9001,8807,0.0085,9001,,,,,,,,,,,,, -7553,"NAD83(2011) / WISCRS Jackson (m)",9001,6318,7450,9807,1,0,4499,8801,44.151200646,9110,8802,-90.503946747,9110,8805,1.0000353,9201,8806,27000,9001,8807,25000,9001,,,,,,,,,,,,, -7554,"NAD83(2011) / WISCRS Kenosha, Milwaukee, Ozaukee and Racine (m)",9001,6318,7504,9807,1,0,4499,8801,42.13,9110,8802,-87.534,9110,8805,1.0000260649,9201,8806,185928.3728,9001,8807,0.0009,9001,,,,,,,,,,,,, -7555,"NAD83(2011) / WISCRS Kewaunee, Manitowoc and Sheboygan (m)",9001,6318,7506,9807,1,0,4499,8801,43.16,9110,8802,-87.33,9110,8805,1.0000233704,9201,8806,79857.7614,9001,8807,0.0012,9001,,,,,,,,,,,,, -7556,"NAD83(2011) / WISCRS La Crosse (m)",9001,6318,7508,9807,1,0,4499,8801,43.2704,9110,8802,-91.19,9110,8805,1.0000319985,9201,8806,130454.6598,9001,8807,0.0033,9001,,,,,,,,,,,,, -7557,"NAD83(2011) / WISCRS Langlade (m)",9001,6318,7452,9801,1,0,4499,8801,45.0915253579,9110,8802,-89.02,9110,8805,1.0000627024,9201,8806,198425.197,9001,8807,105279.7829,9001,,,,,,,,,,,,, -7558,"NAD83(2011) / WISCRS Lincoln (m)",9001,6318,7454,9807,1,0,4499,8801,44.504,9110,8802,-89.44,9110,8805,1.0000599003,9201,8806,116129.0323,9001,8807,0.0058,9001,,,,,,,,,,,,, -7559,"NAD83(2011) / WISCRS Marathon (m)",9001,6318,7456,9801,1,0,4499,8801,44.5403255925,9110,8802,-89.4612,9110,8805,1.000053289,9201,8806,74676.1493,9001,8807,55049.2669,9001,,,,,,,,,,,,, -7560,"NAD83(2011) / WISCRS Marinette (m)",9001,6318,7458,9807,1,0,4499,8801,44.413,9110,8802,-87.424,9110,8805,1.0000234982,9201,8806,238658.8794,9001,8807,0.0032,9001,,,,,,,,,,,,, -7561,"NAD83(2011) / WISCRS Menominee (m)",9001,6318,7460,9807,1,0,4499,8801,44.43,9110,8802,-88.25,9110,8805,1.0000362499,9201,8806,105461.0121,9001,8807,0.0029,9001,,,,,,,,,,,,, -7562,"NAD83(2011) / WISCRS Monroe (m)",9001,6318,7510,9801,1,0,4499,8801,44.0000266143,9110,8802,-90.383,9110,8805,1.0000434122,9201,8806,204521.209,9001,8807,121923.9861,9001,,,,,,,,,,,,, -7563,"NAD83(2011) / WISCRS Oconto (m)",9001,6318,7462,9807,1,0,4499,8801,44.235,9110,8802,-87.543,9110,8805,1.0000236869,9201,8806,182880.3676,9001,8807,0.0033,9001,,,,,,,,,,,,, -7564,"NAD83(2011) / WISCRS Oneida (m)",9001,6318,7392,9801,1,0,4499,8801,45.4215205573,9110,8802,-89.324,9110,8805,1.0000686968,9201,8806,70104.1401,9001,8807,57588.0346,9001,,,,,,,,,,,,, -7565,"NAD83(2011) / WISCRS Pepin and Pierce (m)",9001,6318,7464,9801,1,0,4499,8801,44.3810135939,9110,8802,-92.134,9110,8805,1.0000362977,9201,8806,167640.3354,9001,8807,86033.0876,9001,,,,,,,,,,,,, -7566,"NAD83(2011) / WISCRS Polk (m)",9001,6318,7466,9807,1,0,4499,8801,44.394,9110,8802,-92.38,9110,8805,1.0000433849,9201,8806,141732.2823,9001,8807,0.0059,9001,,,,,,,,,,,,, -7567,"NAD83(2011) / WISCRS Portage (m)",9001,6318,7468,9801,1,0,4499,8801,44.2500566311,9110,8802,-89.3,9110,8805,1.000039936,9201,8806,56388.1128,9001,8807,50022.1874,9001,,,,,,,,,,,,, -7568,"NAD83(2011) / WISCRS Price (m)",9001,6318,7394,9807,1,0,4499,8801,44.332,9110,8802,-90.292,9110,8805,1.0000649554,9201,8806,227990.8546,9001,8807,0.0109,9001,,,,,,,,,,,,, -7569,"NAD83(2011) / WISCRS Richland (m)",9001,6318,7512,9801,1,0,4499,8801,43.1920326539,9110,8802,-90.255,9110,8805,1.0000375653,9201,8806,202387.6048,9001,8807,134255.4253,9001,,,,,,,,,,,,, -7570,"NAD83(2011) / WISCRS Rock (m)",9001,6318,7514,9807,1,0,4499,8801,41.564,9110,8802,-89.042,9110,8805,1.0000337311,9201,8806,146304.2926,9001,8807,0.0068,9001,,,,,,,,,,,,, -7571,"NAD83(2011) / WISCRS Rusk (m)",9001,6318,7470,9807,1,0,4499,8801,43.551,9110,8802,-91.04,9110,8805,1.0000495976,9201,8806,250546.1013,9001,8807,0.0234,9001,,,,,,,,,,,,, -7572,"NAD83(2011) / WISCRS Sauk (m)",9001,6318,7516,9807,1,0,4499,8801,42.491,9110,8802,-89.54,9110,8805,1.0000373868,9201,8806,185623.5716,9001,8807,0.0051,9001,,,,,,,,,,,,, -7573,"NAD83(2011) / WISCRS Sawyer (m)",9001,6318,7396,9801,1,0,4499,8801,45.5400356873,9110,8802,-91.07,9110,8805,1.0000573461,9201,8806,216713.2336,9001,8807,120734.1631,9001,,,,,,,,,,,,, -7574,"NAD83(2011) / WISCRS Shawano (m)",9001,6318,7472,9807,1,0,4499,8801,44.021,9110,8802,-88.362,9110,8805,1.000032144,9201,8806,262433.3253,9001,8807,0.0096,9001,,,,,,,,,,,,, -7575,"NAD83(2011) / WISCRS St. Croix (m)",9001,6318,7474,9807,1,0,4499,8801,44.021,9110,8802,-92.38,9110,8805,1.0000381803,9201,8806,165506.7302,9001,8807,0.0103,9001,,,,,,,,,,,,, -7576,"NAD83(2011) / WISCRS Taylor (m)",9001,6318,7476,9801,1,0,4499,8801,45.1040159509,9110,8802,-90.29,9110,8805,1.0000597566,9201,8806,187147.5744,9001,8807,107746.7522,9001,,,,,,,,,,,,, -7577,"NAD83(2011) / WISCRS Trempealeau (m)",9001,6318,7478,9807,1,0,4499,8801,43.094,9110,8802,-91.22,9110,8805,1.0000361538,9201,8806,256946.9138,9001,8807,0.0041,9001,,,,,,,,,,,,, -7578,"NAD83(2011) / WISCRS Vernon (m)",9001,6318,7518,9801,1,0,4499,8801,43.3430118583,9110,8802,-90.47,9110,8805,1.0000408158,9201,8806,222504.4451,9001,8807,47532.0602,9001,,,,,,,,,,,,, -7579,"NAD83(2011) / WISCRS Vilas (m)",9001,6318,7398,9801,1,0,4499,8801,46.0440238726,9110,8802,-89.292,9110,8805,1.0000730142,9201,8806,134417.0689,9001,8807,50337.1092,9001,,,,,,,,,,,,, -7580,"NAD83(2011) / WISCRS Walworth (m)",9001,6318,7520,9801,1,0,4499,8801,42.4010063549,9110,8802,-88.323,9110,8805,1.0000367192,9201,8806,232562.8651,9001,8807,111088.2224,9001,,,,,,,,,,,,, -7581,"NAD83(2011) / WISCRS Washburn (m)",9001,6318,7424,9801,1,0,4499,8801,45.57403914,9110,8802,-91.47,9110,8805,1.0000475376,9201,8806,234086.8682,9001,8807,188358.6058,9001,,,,,,,,,,,,, -7582,"NAD83(2011) / WISCRS Washington (m)",9001,6318,7522,9807,1,0,4499,8801,42.5505,9110,8802,-88.035,9110,8805,1.00003738,9201,8806,120091.4415,9001,8807,0.003,9001,,,,,,,,,,,,, -7583,"NAD83(2011) / WISCRS Waukesha (m)",9001,6318,7524,9807,1,0,4499,8801,42.341,9110,8802,-88.133,9110,8805,1.0000346179,9201,8806,208788.418,9001,8807,0.0034,9001,,,,,,,,,,,,, -7584,"NAD83(2011) / WISCRS Waupaca (m)",9001,6318,7480,9807,1,0,4499,8801,43.2513,9110,8802,-88.49,9110,8805,1.0000333645,9201,8806,185013.9709,9001,8807,0.007,9001,,,,,,,,,,,,, -7585,"NAD83(2011) / WISCRS Waushara (m)",9001,6318,7526,9801,1,0,4499,8801,44.0650198565,9110,8802,-89.143,9110,8805,1.0000392096,9201,8806,120091.4402,9001,8807,45069.7587,9001,,,,,,,,,,,,, -7586,"NAD83(2011) / WISCRS Wood (m)",9001,6318,7482,9801,1,0,4499,8801,44.214534369,9110,8802,-90,9110,8805,1.0000421209,9201,8806,208483.6173,9001,8807,134589.754,9001,,,,,,,,,,,,, -7587,"NAD83(2011) / WISCRS Adams and Juneau (ftUS)",9003,6318,7485,9807,1,0,4497,8801,43.22,9110,8802,-90,9110,8805,1.0000365285,9201,8806,482999.999,9003,8807,0.012,9003,,,,,,,,,,,,, -7588,"NAD83(2011) / WISCRS Ashland (ftUS)",9003,6318,7379,9807,1,0,4497,8801,45.4222,9110,8802,-90.372,9110,8805,1.0000495683,9201,8806,567000.001,9003,8807,0.006,9003,,,,,,,,,,,,, -7589,"NAD83(2011) / WISCRS Barron (ftUS)",9003,6318,7427,9807,1,0,4497,8801,45.08,9110,8802,-91.51,9110,8805,1.0000486665,9201,8806,305609.625,9003,8807,0.01,9003,,,,,,,,,,,,, -7590,"NAD83(2011) / WISCRS Bayfield (ftUS)",9003,6318,7381,9801,1,0,4497,8801,46.4010734158,9110,8802,-91.091,9110,8805,1.0000331195,9201,8806,750000.001,9003,8807,487372.659,9003,,,,,,,,,,,,, -7591,"NAD83(2011) / WISCRS Brown (ftUS)",9003,6318,7429,9807,1,0,4497,8801,43,9110,8802,-88,9110,8805,1.00002,9201,8806,103674.333,9003,8807,15091.833,9003,,,,,,,,,,,,, -7592,"NAD83(2011) / WISCRS Buffalo (ftUS)",9003,6318,7431,9807,1,0,4497,8801,43.2853,9110,8802,-91.475,9110,8805,1.0000382778,9201,8806,574999.999,9003,8807,0.016,9003,,,,,,,,,,,,, -7593,"NAD83(2011) / WISCRS Burnett (ftUS)",9003,6318,7383,9801,1,0,4497,8801,45.5355373517,9110,8802,-92.2728,9110,8805,1.0000383841,9201,8806,209999.999,9003,8807,195032.104,9003,,,,,,,,,,,,, -7594,"NAD83(2011) / WISCRS Calumet, Fond du Lac, Outagamie and Winnebago (ftUS)",9003,6318,7487,9807,1,0,4497,8801,42.431,9110,8802,-88.3,9110,8805,1.0000286569,9201,8806,802999.999,9003,8807,0.016,9003,,,,,,,,,,,,, -7595,"NAD83(2011) / WISCRS Chippewa (ftUS)",9003,6318,7433,9801,1,0,4497,8801,44.5840284835,9110,8802,-91.174,9110,8805,1.0000391127,9201,8806,197000,9003,8807,144656.648,9003,,,,,,,,,,,,, -7596,"NAD83(2011) / WISCRS Clark (ftUS)",9003,6318,7435,9807,1,0,4497,8801,43.36,9110,8802,-90.423,9110,8805,1.0000463003,9201,8806,655999.997,9003,8807,0.028,9003,,,,,,,,,,,,, -7597,"NAD83(2011) / WISCRS Columbia (ftUS)",9003,6318,7489,9801,1,0,4497,8801,43.2745167925,9110,8802,-89.234,9110,8805,1.00003498,9201,8806,554999.999,9003,8807,366041.307,9003,,,,,,,,,,,,, -7598,"NAD83(2011) / WISCRS Crawford (ftUS)",9003,6318,7491,9801,1,0,4497,8801,43.1200200178,9110,8802,-90.562,9110,8805,1.0000349151,9201,8806,373000,9003,8807,176190.987,9003,,,,,,,,,,,,, -7599,"NAD83(2011) / WISCRS Dane (ftUS)",9003,6318,7493,9801,1,0,4497,8801,43.0410257735,9110,8802,-89.252,9110,8805,1.0000384786,9201,8806,811000,9003,8807,480943.886,9003,,,,,,,,,,,,, -7600,"NAD83(2011) / WISCRS Dodge and Jefferson (ftUS)",9003,6318,7495,9807,1,0,4497,8801,41.282,9110,8802,-88.463,9110,8805,1.0000346418,9201,8806,863999.999,9003,8807,0.025,9003,,,,,,,,,,,,, -7601,"NAD83(2011) / WISCRS Door (ftUS)",9003,6318,7437,9807,1,0,4497,8801,44.24,9110,8802,-87.162,9110,8805,1.0000187521,9201,8806,521000,9003,8807,0.008,9003,,,,,,,,,,,,, -7602,"NAD83(2011) / WISCRS Douglas (ftUS)",9003,6318,7385,9807,1,0,4497,8801,45.53,9110,8802,-91.55,9110,8805,1.0000385418,9201,8806,194000,9003,8807,0.013,9003,,,,,,,,,,,,, -7603,"NAD83(2011) / WISCRS Dunn (ftUS)",9003,6318,7439,9807,1,0,4497,8801,44.243,9110,8802,-91.534,9110,8805,1.0000410324,9201,8806,170000.001,9003,8807,0.01,9003,,,,,,,,,,,,, -7604,"NAD83(2011) / WISCRS Eau Claire (ftUS)",9003,6318,7441,9801,1,0,4497,8801,44.5220212055,9110,8802,-91.172,9110,8805,1.000035079,9201,8806,394000,9003,8807,300812.797,9003,,,,,,,,,,,,, -7605,"NAD83(2011) / WISCRS Florence (ftUS)",9003,6318,7387,9807,1,0,4497,8801,45.262,9110,8802,-88.083,9110,8805,1.0000552095,9201,8806,438000.004,9003,8807,0.021,9003,,,,,,,,,,,,, -7606,"NAD83(2011) / WISCRS Forest (ftUS)",9003,6318,7389,9807,1,0,4497,8801,44.002,9110,8802,-88.38,9110,8805,1.0000673004,9201,8806,905000.005,9003,8807,0.052,9003,,,,,,,,,,,,, -7607,"NAD83(2011) / WISCRS Grant (ftUS)",9003,6318,7497,9807,1,0,4497,8801,41.244,9110,8802,-90.48,9110,8805,1.0000349452,9201,8806,794999.998,9003,8807,0.033,9003,,,,,,,,,,,,, -7608,"NAD83(2011) / WISCRS Green and Lafayette (ftUS)",9003,6318,7499,9801,1,0,4497,8801,42.3815224197,9110,8802,-89.502,9110,8805,1.0000390487,9201,8806,558000,9003,8807,150361.559,9003,,,,,,,,,,,,, -7609,"NAD83(2011) / WISCRS Green Lake and Marquette (ftUS)",9003,6318,7501,9801,1,0,4497,8801,43.4825200424,9110,8802,-89.143,9110,8805,1.0000344057,9201,8806,495000,9003,8807,259746.132,9003,,,,,,,,,,,,, -7610,"NAD83(2011) / WISCRS Iowa (ftUS)",9003,6318,7503,9807,1,0,4497,8801,42.322,9110,8802,-90.094,9110,8805,1.0000394961,9201,8806,371000,9003,8807,0.015,9003,,,,,,,,,,,,, -7611,"NAD83(2011) / WISCRS Iron (ftUS)",9003,6318,7391,9807,1,0,4497,8801,45.26,9110,8802,-90.152,9110,8805,1.0000677153,9201,8806,725000,9003,8807,0.028,9003,,,,,,,,,,,,, -7612,"NAD83(2011) / WISCRS Jackson (ftUS)",9003,6318,7451,9807,1,0,4497,8801,44.151200646,9110,8802,-90.503946747,9110,8805,1.0000353,9201,8806,88582.5,9003,8807,82020.833,9003,,,,,,,,,,,,, -7613,"NAD83(2011) / WISCRS Kenosha, Milwaukee, Ozaukee and Racine (ftUS)",9003,6318,7505,9807,1,0,4497,8801,42.13,9110,8802,-87.534,9110,8805,1.0000260649,9201,8806,610000.003,9003,8807,0.003,9003,,,,,,,,,,,,, -7614,"NAD83(2011) / WISCRS Kewaunee, Manitowoc and Sheboygan (ftUS)",9003,6318,7507,9807,1,0,4497,8801,43.16,9110,8802,-87.33,9110,8805,1.0000233704,9201,8806,262000.006,9003,8807,0.004,9003,,,,,,,,,,,,, -7615,"NAD83(2011) / WISCRS La Crosse (ftUS)",9003,6318,7509,9807,1,0,4497,8801,43.2704,9110,8802,-91.19,9110,8805,1.0000319985,9201,8806,427999.996,9003,8807,0.011,9003,,,,,,,,,,,,, -7616,"NAD83(2011) / WISCRS Langlade (ftUS)",9003,6318,7453,9801,1,0,4497,8801,45.0915253579,9110,8802,-89.02,9110,8805,1.0000627024,9201,8806,651000,9003,8807,345405.421,9003,,,,,,,,,,,,, -7617,"NAD83(2011) / WISCRS Lincoln (ftUS)",9003,6318,7455,9807,1,0,4497,8801,44.504,9110,8802,-89.44,9110,8805,1.0000599003,9201,8806,381000,9003,8807,0.019,9003,,,,,,,,,,,,, -7618,"NAD83(2011) / WISCRS Marathon (ftUS)",9003,6318,7457,9801,1,0,4497,8801,44.5403255925,9110,8802,-89.4612,9110,8805,1.000053289,9201,8806,245000,9003,8807,180607.47,9003,,,,,,,,,,,,, -7619,"NAD83(2011) / WISCRS Marinette (ftUS)",9003,6318,7459,9807,1,0,4497,8801,44.413,9110,8802,-87.424,9110,8805,1.0000234982,9201,8806,783000.007,9003,8807,0.01,9003,,,,,,,,,,,,, -7620,"NAD83(2011) / WISCRS Menominee (ftUS)",9003,6318,7461,9807,1,0,4497,8801,44.43,9110,8802,-88.25,9110,8805,1.0000362499,9201,8806,346000.004,9003,8807,0.01,9003,,,,,,,,,,,,, -7621,"NAD83(2011) / WISCRS Monroe (ftUS)",9003,6318,7511,9801,1,0,4497,8801,44.0000266143,9110,8802,-90.383,9110,8805,1.0000434122,9201,8806,671000,9003,8807,400012.278,9003,,,,,,,,,,,,, -7622,"NAD83(2011) / WISCRS Oconto (ftUS)",9003,6318,7463,9807,1,0,4497,8801,44.235,9110,8802,-87.543,9110,8805,1.0000236869,9201,8806,600000.006,9003,8807,0.011,9003,,,,,,,,,,,,, -7623,"NAD83(2011) / WISCRS Oneida (ftUS)",9003,6318,7393,9801,1,0,4497,8801,45.4215205573,9110,8802,-89.324,9110,8805,1.0000686968,9201,8806,230000,9003,8807,188936.744,9003,,,,,,,,,,,,, -7624,"NAD83(2011) / WISCRS Pepin and Pierce (ftUS)",9003,6318,7465,9801,1,0,4497,8801,44.3810135939,9110,8802,-92.134,9110,8805,1.0000362977,9201,8806,550000,9003,8807,282260.222,9003,,,,,,,,,,,,, -7625,"NAD83(2011) / WISCRS Polk (ftUS)",9003,6318,7467,9807,1,0,4497,8801,44.394,9110,8802,-92.38,9110,8805,1.0000433849,9201,8806,464999.996,9003,8807,0.019,9003,,,,,,,,,,,,, -7626,"NAD83(2011) / WISCRS Portage (ftUS)",9003,6318,7469,9801,1,0,4497,8801,44.2500566311,9110,8802,-89.3,9110,8805,1.000039936,9201,8806,185000,9003,8807,164114.46,9003,,,,,,,,,,,,, -7627,"NAD83(2011) / WISCRS Price (ftUS)",9003,6318,7395,9807,1,0,4497,8801,44.332,9110,8802,-90.292,9110,8805,1.0000649554,9201,8806,747999.995,9003,8807,0.036,9003,,,,,,,,,,,,, -7628,"NAD83(2011) / WISCRS Richland (ftUS)",9003,6318,7513,9801,1,0,4497,8801,43.1920326539,9110,8802,-90.255,9110,8805,1.0000375653,9201,8806,664000,9003,8807,440469.675,9003,,,,,,,,,,,,, -7629,"NAD83(2011) / WISCRS Rock (ftUS)",9003,6318,7515,9807,1,0,4497,8801,41.564,9110,8802,-89.042,9110,8805,1.0000337311,9201,8806,480000,9003,8807,0.022,9003,,,,,,,,,,,,, -7630,"NAD83(2011) / WISCRS Rusk (ftUS)",9003,6318,7471,9807,1,0,4497,8801,43.551,9110,8802,-91.04,9110,8805,1.0000495976,9201,8806,822000.001,9003,8807,0.077,9003,,,,,,,,,,,,, -7631,"NAD83(2011) / WISCRS Sauk (ftUS)",9003,6318,7517,9807,1,0,4497,8801,42.491,9110,8802,-89.54,9110,8805,1.0000373868,9201,8806,609000.001,9003,8807,0.017,9003,,,,,,,,,,,,, -7632,"NAD83(2011) / WISCRS Sawyer (ftUS)",9003,6318,7397,9801,1,0,4497,8801,45.5400356873,9110,8802,-91.07,9110,8805,1.0000573461,9201,8806,711000.001,9003,8807,396108.667,9003,,,,,,,,,,,,, -7633,"NAD83(2011) / WISCRS Shawano (ftUS)",9003,6318,7473,9807,1,0,4497,8801,44.021,9110,8802,-88.362,9110,8805,1.000032144,9201,8806,861000.001,9003,8807,0.031,9003,,,,,,,,,,,,, -7634,"NAD83(2011) / WISCRS St. Croix (ftUS)",9003,6318,7475,9807,1,0,4497,8801,44.021,9110,8802,-92.38,9110,8805,1.0000381803,9201,8806,542999.997,9003,8807,0.034,9003,,,,,,,,,,,,, -7635,"NAD83(2011) / WISCRS Taylor (ftUS)",9003,6318,7477,9801,1,0,4497,8801,45.1040159509,9110,8802,-90.29,9110,8805,1.0000597566,9201,8806,614000,9003,8807,353499.136,9003,,,,,,,,,,,,, -7636,"NAD83(2011) / WISCRS Trempealeau (ftUS)",9003,6318,7479,9807,1,0,4497,8801,43.094,9110,8802,-91.22,9110,8805,1.0000361538,9201,8806,843000,9003,8807,0.013,9003,,,,,,,,,,,,, -7637,"NAD83(2011) / WISCRS Vernon (ftUS)",9003,6318,7519,9801,1,0,4497,8801,43.3430118583,9110,8802,-90.47,9110,8805,1.0000408158,9201,8806,730000,9003,8807,155944.768,9003,,,,,,,,,,,,, -7638,"NAD83(2011) / WISCRS Vilas (ftUS)",9003,6318,7399,9801,1,0,4497,8801,46.0440238726,9110,8802,-89.292,9110,8805,1.0000730142,9201,8806,441000,9003,8807,165147.666,9003,,,,,,,,,,,,, -7639,"NAD83(2011) / WISCRS Walworth (ftUS)",9003,6318,7521,9801,1,0,4497,8801,42.4010063549,9110,8802,-88.323,9110,8805,1.0000367192,9201,8806,763000,9003,8807,364461.943,9003,,,,,,,,,,,,, -7640,"NAD83(2011) / WISCRS Washburn (ftUS)",9003,6318,7425,9801,1,0,4497,8801,45.57403914,9110,8802,-91.47,9110,8805,1.0000475376,9201,8806,768000,9003,8807,617973.193,9003,,,,,,,,,,,,, -7641,"NAD83(2011) / WISCRS Washington (ftUS)",9003,6318,7523,9807,1,0,4497,8801,42.5505,9110,8802,-88.035,9110,8805,1.00003738,9201,8806,394000.004,9003,8807,0.01,9003,,,,,,,,,,,,, -7642,"NAD83(2011) / WISCRS Waukesha (ftUS)",9003,6318,7525,9807,1,0,4497,8801,42.341,9110,8802,-88.133,9110,8805,1.0000346179,9201,8806,685000.001,9003,8807,0.011,9003,,,,,,,,,,,,, -7643,"NAD83(2011) / WISCRS Waupaca (ftUS)",9003,6318,7481,9807,1,0,4497,8801,43.2513,9110,8802,-88.49,9110,8805,1.0000333645,9201,8806,607000.003,9003,8807,0.023,9003,,,,,,,,,,,,, -7644,"NAD83(2011) / WISCRS Waushara (ftUS)",9003,6318,7527,9801,1,0,4497,8801,44.0650198565,9110,8802,-89.143,9110,8805,1.0000392096,9201,8806,394000,9003,8807,147866.367,9003,,,,,,,,,,,,, -7645,"NAD83(2011) / WISCRS Wood (ftUS)",9003,6318,7483,9801,1,0,4497,8801,44.214534369,9110,8802,-90,9110,8805,1.0000421209,9201,8806,684000.001,9003,8807,441566.551,9003,,,,,,,,,,,,, -7692,"Kyrg-06 / zone 1",9001,7686,7687,9807,1,0,4400,8801,0,9110,8802,68.31,9110,8805,1,9201,8806,1300000,9001,8807,14743.5,9001,,,,,,,,,,,,, -7693,"Kyrg-06 / zone 2",9001,7686,7688,9807,1,0,4400,8801,0,9110,8802,71.31,9110,8805,1,9201,8806,2300000,9001,8807,14743.5,9001,,,,,,,,,,,,, -7694,"Kyrg-06 / zone 3",9001,7686,7689,9807,1,0,4400,8801,0,9110,8802,74.31,9110,8805,1,9201,8806,3300000,9001,8807,14743.5,9001,,,,,,,,,,,,, -7695,"Kyrg-06 / zone 4",9001,7686,7690,9807,1,0,4400,8801,0,9110,8802,77.31,9110,8805,1,9201,8806,4300000,9001,8807,14743.5,9001,,,,,,,,,,,,, -7696,"Kyrg-06 / zone 5",9001,7686,7691,9807,1,0,4400,8801,0,9110,8802,80.31,9110,8805,1,9201,8806,5300000,9001,8807,14743.5,9001,,,,,,,,,,,,, -7755,"WGS 84 / India NSF LCC",9001,4326,7722,9802,1,0,4499,8821,24,9102,8822,80,9102,8823,12.2822638,9110,8824,35.1022096,9110,8826,4000000,9001,8827,4000000,9001,,,,,,,,,, -7756,"WGS 84 / Andhra Pradesh",9001,4326,7723,9802,1,0,4499,8821,16.25543298,9102,8822,80.875,9102,8823,13.75,9102,8824,18.75,9102,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7757,"WGS 84 / Arunachal Pradesh",9001,4326,7724,9802,1,0,4499,8821,28.00157897,9102,8822,94.5,9102,8823,27,9102,8824,29,9102,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7758,"WGS 84 / Assam",9001,4326,7725,9802,1,0,4499,8821,26.00257703,9102,8822,92.75,9102,8823,24.4,9110,8824,27.2,9110,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7759,"WGS 84 / Bihar",9001,4326,7726,9802,1,0,4499,8821,25.87725247,9102,8822,85.875,9102,8823,24.625,9102,8824,27.125,9102,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7760,"WGS 84 / Delhi",9001,4326,7727,9802,1,0,4499,8821,28.62510126,9102,8822,77,9102,8823,28.223,9110,8824,28.523,9110,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7761,"WGS 84 / Gujarat",9001,4326,7728,9802,1,0,4499,8821,22.37807121,9102,8822,71.375,9102,8823,20.473,9110,8824,23.573,9110,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7762,"WGS 84 / Haryana",9001,4326,7729,9802,1,0,4499,8821,29.25226266,9102,8822,76,9102,8823,28.05,9110,8824,30.25,9110,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7763,"WGS 84 / Himachal Pradesh",9001,4326,7730,9802,1,0,4499,8821,31.75183497,9102,8822,77.375,9102,8823,30.75,9102,8824,32.75,9102,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7764,"WGS 84 / Jammu and Kashmir",9001,4326,7731,9802,1,0,4499,8821,34.75570874,9102,8822,76.5,9102,8823,33.05,9110,8824,36.25,9110,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7765,"WGS 84 / Jharkhand",9001,4326,7732,9802,1,0,4499,8821,23.62652682,9102,8822,85.625,9102,8823,22.323,9110,8824,24.423,9110,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7766,"WGS 84 / Madhya Pradesh",9001,4326,7733,9802,1,0,4499,8821,24.00529821,9102,8822,78.375,9102,8823,22,9102,8824,26,9102,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7767,"WGS 84 / Maharashtra",9001,4326,7734,9802,1,0,4499,8821,18.88015774,9102,8822,76.75,9102,8823,16.373,9110,8824,21.073,9110,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7768,"WGS 84 / Manipur",9001,4326,7735,9802,1,0,4499,8821,24.75060911,9102,8822,94,9102,8823,24.05,9110,8824,25.25,9110,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7769,"WGS 84 / Meghalaya",9001,4326,7736,9802,1,0,4499,8821,25.62524747,9102,8822,91.375,9102,8823,25.123,9110,8824,26.023,9110,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7770,"WGS 84 / Nagaland",9001,4326,7737,9802,1,0,4499,8821,26.12581974,9102,8822,94.375,9102,8823,25.223,9110,8824,26.523,9110,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7771,"WGS 84 / India Northeast",9001,4326,7738,9802,1,0,4499,8821,25.63452135,9102,8822,93.5,9102,8823,23.023,9110,8824,28.123,9110,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7772,"WGS 84 / Orissa",9001,4326,7739,9802,1,0,4499,8821,20.25305174,9102,8822,84.375,9102,8823,18.35,9110,8824,21.55,9110,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7773,"WGS 84 / Punjab",9001,4326,7740,9802,1,0,4499,8821,31.00178226,9102,8822,75.375,9102,8823,30,9102,8824,32,9102,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7774,"WGS 84 / Rajasthan",9001,4326,7741,9802,1,0,4499,8821,26.88505546,9102,8822,73.875,9102,8823,24.173,9110,8824,29.273,9110,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7775,"WGS 84 / Uttar Pradesh",9001,4326,7742,9802,1,0,4499,8821,27.13270823,9102,8822,80.875,9102,8823,24.523,9110,8824,29.223,9110,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7776,"WGS 84 / Uttaranchal",9001,4326,7743,9802,1,0,4499,8821,30.0017132,9102,8822,79.375,9102,8823,29,9102,8824,31,9102,8826,1000000,9001,8827,1000000,9001,,,,,,,,,, -7777,"WGS 84 / Andaman and Nicobar",9001,4326,7744,9807,1,0,4499,8801,10.25,9102,8802,93.25,9102,8805,0.9999428,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -7778,"WGS 84 / Chhattisgarh",9001,4326,7745,9807,1,0,4499,8801,21,9102,8802,82.25,9102,8805,0.9998332,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -7779,"WGS 84 / Goa",9001,4326,7746,9807,1,0,4499,8801,15.375,9102,8802,74,9102,8805,0.9999913,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -7780,"WGS 84 / Karnataka",9001,4326,7747,9807,1,0,4499,8801,15.125,9102,8802,76.375,9102,8805,0.9998012,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -7781,"WGS 84 / Kerala",9001,4326,7748,9807,1,0,4499,8801,10.5,9102,8802,76,9102,8805,0.9999177,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -7782,"WGS 84 / Lakshadweep",9001,4326,7749,9807,1,0,4499,8801,10,9102,8802,73.125,9102,8805,0.9999536,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -7783,"WGS 84 / Mizoram",9001,4326,7750,9807,1,0,4499,8801,23.125,9102,8802,92.75,9102,8805,0.9999821,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -7784,"WGS 84 / Sikkim",9001,4326,7751,9807,1,0,4499,8801,27.625,9102,8802,88.5,9102,8805,0.9999926,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -7785,"WGS 84 / Tamil Nadu",9001,4326,7752,9807,1,0,4499,8801,10.875,9102,8802,78.375,9102,8805,0.9997942,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -7786,"WGS 84 / Tripura",9001,4326,7753,9807,1,0,4499,8801,23.75,9102,8802,91.75,9102,8805,0.9999822,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -7787,"WGS 84 / West Bengal",9001,4326,7754,9807,1,0,4499,8801,24.375,9102,8802,87.875,9102,8805,0.9998584,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -7791,"RDN2008 / UTM zone 32N",9001,6706,16032,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -7792,"RDN2008 / UTM zone 33N",9001,6706,16033,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -7793,"RDN2008 / UTM zone 34N",9001,6706,16034,9807,1,0,4400,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -7794,"RDN2008 / Italy zone (E-N)",9001,6706,6877,9807,1,0,4400,8801,0,9102,8802,12,9102,8805,0.9985,9201,8806,7000000,9001,8807,0,9001,,,,,,,,,,,,, -7795,"RDN2008 / Zone 12 (E-N)",9001,6706,6878,9807,1,0,4400,8801,0,9102,8802,12,9102,8805,1,9201,8806,3000000,9001,8807,0,9001,,,,,,,,,,,,, -7799,"BGS2005 / UTM zone 34N (N-E)",9001,7798,16034,9807,1,0,4531,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -7800,"BGS2005 / UTM zone 35N (N-E)",9001,7798,16035,9807,1,0,4531,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -7801,"BGS2005 / CCS2005",9001,7798,7802,9802,1,0,4531,8821,42.400435246,9110,8822,25.3,9110,8823,42,9110,8824,43.2,9110,8826,500000,9001,8827,4725824.3591,9001,,,,,,,,,, -7803,"BGS2005 / UTM zone 34N",9001,7798,16034,9807,1,0,4400,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -7804,"BGS2005 / UTM zone 35N",9001,7798,16034,9807,1,0,4400,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -7805,"BGS2005 / UTM zone 36N",9001,7798,16036,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -7825,"Pulkovo 1942 / CS63 zone X1",9001,4284,7818,9807,1,0,4530,8801,0.05,9110,8802,23.3,9110,8805,1,9201,8806,1300000,9001,8807,0,9001,,,,,,,,,,,,, -7826,"Pulkovo 1942 / CS63 zone X2",9001,4284,7819,9807,1,0,4530,8801,0.05,9110,8802,26.3,9110,8805,1,9201,8806,2300000,9001,8807,0,9001,,,,,,,,,,,,, -7827,"Pulkovo 1942 / CS63 zone X3",9001,4284,7820,9807,1,0,4530,8801,0.05,9110,8802,29.3,9110,8805,1,9201,8806,3300000,9001,8807,0,9001,,,,,,,,,,,,, -7828,"Pulkovo 1942 / CS63 zone X4",9001,4284,7821,9807,1,0,4530,8801,0.05,9110,8802,32.3,9110,8805,1,9201,8806,4300000,9001,8807,0,9001,,,,,,,,,,,,, -7829,"Pulkovo 1942 / CS63 zone X5",9001,4284,7822,9807,1,0,4530,8801,0.05,9110,8802,35.3,9110,8805,1,9201,8806,5300000,9001,8807,0,9001,,,,,,,,,,,,, -7830,"Pulkovo 1942 / CS63 zone X6",9001,4284,7823,9807,1,0,4530,8801,0.05,9110,8802,38.3,9110,8805,1,9201,8806,6300000,9001,8807,0,9001,,,,,,,,,,,,, -7831,"Pulkovo 1942 / CS63 zone X7",9001,4284,7824,9807,1,0,4530,8801,0.05,9110,8802,41.3,9110,8805,1,9201,8806,7300000,9001,8807,0,9001,,,,,,,,,,,,, -7845,"GDA2020 / GA LCC",9001,7844,17362,9802,1,0,4400,8821,0,9102,8822,134,9102,8823,-18,9102,8824,-36,9102,8826,0,9001,8827,0,9001,,,,,,,,,, -7846,"GDA2020 / MGA zone 46",9001,7844,6729,9807,1,0,4400,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7847,"GDA2020 / MGA zone 47",9001,7844,6730,9807,1,0,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7848,"GDA2020 / MGA zone 48",9001,7844,17348,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7849,"GDA2020 / MGA zone 49",9001,7844,17349,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7850,"GDA2020 / MGA zone 50",9001,7844,17350,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7851,"GDA2020 / MGA zone 51",9001,7844,17351,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7852,"GDA2020 / MGA zone 52",9001,7844,17352,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7853,"GDA2020 / MGA zone 53",9001,7844,17353,9807,1,0,4400,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7854,"GDA2020 / MGA zone 54",9001,7844,17354,9807,1,0,4400,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7855,"GDA2020 / MGA zone 55",9001,7844,17355,9807,1,0,4400,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7856,"GDA2020 / MGA zone 56",9001,7844,17356,9807,1,0,4400,8801,0,9102,8802,153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7857,"GDA2020 / MGA zone 57",9001,7844,17357,9807,1,0,4400,8801,0,9102,8802,159,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7858,"GDA2020 / MGA zone 58",9001,7844,17358,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7859,"GDA2020 / MGA zone 59",9001,7844,6731,9807,1,0,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7877,"Astro DOS 71 / SHLG71",9001,4710,7875,9807,1,0,4400,8801,-15.58,9110,8802,-5.43,9110,8805,1,9201,8806,300000,9001,8807,2000000,9001,,,,,,,,,,,,, -7878,"Astro DOS 71 / UTM zone 30S",9001,4710,16130,9807,1,0,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7882,"St. Helena Tritan / SHLG(Tritan)",9001,7881,7876,9807,1,0,4400,8801,-15.58,9110,8802,-5.43,9110,8805,1,9201,8806,299483.737,9001,8807,2000527.879,9001,,,,,,,,,,,,, -7883,"St. Helena Tritan / UTM zone 30S",9001,7881,16130,9807,1,0,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7887,SHMG2015,9001,7886,16130,9807,1,0,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -7899,"GDA2020 / Vicgrid",9001,7844,17361,9802,1,0,4400,8821,-37,9102,8822,145,9102,8823,-36,9102,8824,-38,9102,8826,2500000,9001,8827,2500000,9001,,,,,,,,,, -20004,"Pulkovo 1995 / Gauss-Kruger zone 4",9001,4200,16204,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -20005,"Pulkovo 1995 / Gauss-Kruger zone 5",9001,4200,16205,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -20006,"Pulkovo 1995 / Gauss-Kruger zone 6",9001,4200,16206,9807,1,0,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -20007,"Pulkovo 1995 / Gauss-Kruger zone 7",9001,4200,16207,9807,1,0,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -20008,"Pulkovo 1995 / Gauss-Kruger zone 8",9001,4200,16208,9807,1,0,4530,8801,0,9102,8802,45,9102,8805,1,9201,8806,8500000,9001,8807,0,9001,,,,,,,,,,,,, -20009,"Pulkovo 1995 / Gauss-Kruger zone 9",9001,4200,16209,9807,1,0,4530,8801,0,9102,8802,51,9102,8805,1,9201,8806,9500000,9001,8807,0,9001,,,,,,,,,,,,, -20010,"Pulkovo 1995 / Gauss-Kruger zone 10",9001,4200,16210,9807,1,0,4530,8801,0,9102,8802,57,9102,8805,1,9201,8806,10500000,9001,8807,0,9001,,,,,,,,,,,,, -20011,"Pulkovo 1995 / Gauss-Kruger zone 11",9001,4200,16211,9807,1,0,4530,8801,0,9102,8802,63,9102,8805,1,9201,8806,11500000,9001,8807,0,9001,,,,,,,,,,,,, -20012,"Pulkovo 1995 / Gauss-Kruger zone 12",9001,4200,16212,9807,1,0,4530,8801,0,9102,8802,69,9102,8805,1,9201,8806,12500000,9001,8807,0,9001,,,,,,,,,,,,, -20013,"Pulkovo 1995 / Gauss-Kruger zone 13",9001,4200,16213,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,13500000,9001,8807,0,9001,,,,,,,,,,,,, -20014,"Pulkovo 1995 / Gauss-Kruger zone 14",9001,4200,16214,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,14500000,9001,8807,0,9001,,,,,,,,,,,,, -20015,"Pulkovo 1995 / Gauss-Kruger zone 15",9001,4200,16215,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,15500000,9001,8807,0,9001,,,,,,,,,,,,, -20016,"Pulkovo 1995 / Gauss-Kruger zone 16",9001,4200,16216,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,16500000,9001,8807,0,9001,,,,,,,,,,,,, -20017,"Pulkovo 1995 / Gauss-Kruger zone 17",9001,4200,16217,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,17500000,9001,8807,0,9001,,,,,,,,,,,,, -20018,"Pulkovo 1995 / Gauss-Kruger zone 18",9001,4200,16218,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,18500000,9001,8807,0,9001,,,,,,,,,,,,, -20019,"Pulkovo 1995 / Gauss-Kruger zone 19",9001,4200,16219,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,19500000,9001,8807,0,9001,,,,,,,,,,,,, -20020,"Pulkovo 1995 / Gauss-Kruger zone 20",9001,4200,16220,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,20500000,9001,8807,0,9001,,,,,,,,,,,,, -20021,"Pulkovo 1995 / Gauss-Kruger zone 21",9001,4200,16221,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,21500000,9001,8807,0,9001,,,,,,,,,,,,, -20022,"Pulkovo 1995 / Gauss-Kruger zone 22",9001,4200,16222,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,22500000,9001,8807,0,9001,,,,,,,,,,,,, -20023,"Pulkovo 1995 / Gauss-Kruger zone 23",9001,4200,16223,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,23500000,9001,8807,0,9001,,,,,,,,,,,,, -20024,"Pulkovo 1995 / Gauss-Kruger zone 24",9001,4200,16224,9807,1,0,4530,8801,0,9102,8802,141,9102,8805,1,9201,8806,24500000,9001,8807,0,9001,,,,,,,,,,,,, -20025,"Pulkovo 1995 / Gauss-Kruger zone 25",9001,4200,16225,9807,1,0,4530,8801,0,9102,8802,147,9102,8805,1,9201,8806,25500000,9001,8807,0,9001,,,,,,,,,,,,, -20026,"Pulkovo 1995 / Gauss-Kruger zone 26",9001,4200,16226,9807,1,0,4530,8801,0,9102,8802,153,9102,8805,1,9201,8806,26500000,9001,8807,0,9001,,,,,,,,,,,,, -20027,"Pulkovo 1995 / Gauss-Kruger zone 27",9001,4200,16227,9807,1,0,4530,8801,0,9102,8802,159,9102,8805,1,9201,8806,27500000,9001,8807,0,9001,,,,,,,,,,,,, -20028,"Pulkovo 1995 / Gauss-Kruger zone 28",9001,4200,16228,9807,1,0,4530,8801,0,9102,8802,165,9102,8805,1,9201,8806,28500000,9001,8807,0,9001,,,,,,,,,,,,, -20029,"Pulkovo 1995 / Gauss-Kruger zone 29",9001,4200,16229,9807,1,0,4530,8801,0,9102,8802,171,9102,8805,1,9201,8806,29500000,9001,8807,0,9001,,,,,,,,,,,,, -20030,"Pulkovo 1995 / Gauss-Kruger zone 30",9001,4200,16230,9807,1,0,4530,8801,0,9102,8802,177,9102,8805,1,9201,8806,30500000,9001,8807,0,9001,,,,,,,,,,,,, -20031,"Pulkovo 1995 / Gauss-Kruger zone 31",9001,4200,16231,9807,1,0,4530,8801,0,9102,8802,-177,9102,8805,1,9201,8806,31500000,9001,8807,0,9001,,,,,,,,,,,,, -20032,"Pulkovo 1995 / Gauss-Kruger zone 32",9001,4200,16232,9807,1,0,4530,8801,0,9102,8802,-171,9102,8805,1,9201,8806,32500000,9001,8807,0,9001,,,,,,,,,,,,, -20064,"Pulkovo 1995 / Gauss-Kruger 4N",9001,4200,16304,9807,1,1,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20065,"Pulkovo 1995 / Gauss-Kruger 5N",9001,4200,16305,9807,1,1,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20066,"Pulkovo 1995 / Gauss-Kruger 6N",9001,4200,16306,9807,1,1,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20067,"Pulkovo 1995 / Gauss-Kruger 7N",9001,4200,16307,9807,1,1,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20068,"Pulkovo 1995 / Gauss-Kruger 8N",9001,4200,16308,9807,1,1,4530,8801,0,9102,8802,45,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20069,"Pulkovo 1995 / Gauss-Kruger 9N",9001,4200,16309,9807,1,1,4530,8801,0,9102,8802,51,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20070,"Pulkovo 1995 / Gauss-Kruger 10N",9001,4200,16310,9807,1,1,4530,8801,0,9102,8802,57,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20071,"Pulkovo 1995 / Gauss-Kruger 11N",9001,4200,16311,9807,1,1,4530,8801,0,9102,8802,63,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20072,"Pulkovo 1995 / Gauss-Kruger 12N",9001,4200,16312,9807,1,1,4530,8801,0,9102,8802,69,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20073,"Pulkovo 1995 / Gauss-Kruger 13N",9001,4200,16313,9807,1,1,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20074,"Pulkovo 1995 / Gauss-Kruger 14N",9001,4200,16314,9807,1,1,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20075,"Pulkovo 1995 / Gauss-Kruger 15N",9001,4200,16315,9807,1,1,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20076,"Pulkovo 1995 / Gauss-Kruger 16N",9001,4200,16316,9807,1,1,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20077,"Pulkovo 1995 / Gauss-Kruger 17N",9001,4200,16317,9807,1,1,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20078,"Pulkovo 1995 / Gauss-Kruger 18N",9001,4200,16318,9807,1,1,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20079,"Pulkovo 1995 / Gauss-Kruger 19N",9001,4200,16319,9807,1,1,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20080,"Pulkovo 1995 / Gauss-Kruger 20N",9001,4200,16320,9807,1,1,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20081,"Pulkovo 1995 / Gauss-Kruger 21N",9001,4200,16321,9807,1,1,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20082,"Pulkovo 1995 / Gauss-Kruger 22N",9001,4200,16322,9807,1,1,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20083,"Pulkovo 1995 / Gauss-Kruger 23N",9001,4200,16323,9807,1,1,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20084,"Pulkovo 1995 / Gauss-Kruger 24N",9001,4200,16324,9807,1,1,4530,8801,0,9102,8802,141,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20085,"Pulkovo 1995 / Gauss-Kruger 25N",9001,4200,16325,9807,1,1,4530,8801,0,9102,8802,147,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20086,"Pulkovo 1995 / Gauss-Kruger 26N",9001,4200,16326,9807,1,1,4530,8801,0,9102,8802,153,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20087,"Pulkovo 1995 / Gauss-Kruger 27N",9001,4200,16327,9807,1,1,4530,8801,0,9102,8802,159,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20088,"Pulkovo 1995 / Gauss-Kruger 28N",9001,4200,16328,9807,1,1,4530,8801,0,9102,8802,165,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20089,"Pulkovo 1995 / Gauss-Kruger 29N",9001,4200,16329,9807,1,1,4530,8801,0,9102,8802,171,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20090,"Pulkovo 1995 / Gauss-Kruger 30N",9001,4200,16330,9807,1,1,4530,8801,0,9102,8802,177,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20091,"Pulkovo 1995 / Gauss-Kruger 31N",9001,4200,16331,9807,1,1,4530,8801,0,9102,8802,-177,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20092,"Pulkovo 1995 / Gauss-Kruger 32N",9001,4200,16332,9807,1,1,4530,8801,0,9102,8802,-171,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20135,"Adindan / UTM zone 35N",9001,4201,16035,9807,1,0,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20136,"Adindan / UTM zone 36N",9001,4201,16036,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20137,"Adindan / UTM zone 37N",9001,4201,16037,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20138,"Adindan / UTM zone 38N",9001,4201,16038,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20248,"AGD66 / AMG zone 48",9001,4202,17448,9807,1,1,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20249,"AGD66 / AMG zone 49",9001,4202,17449,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20250,"AGD66 / AMG zone 50",9001,4202,17450,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20251,"AGD66 / AMG zone 51",9001,4202,17451,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20252,"AGD66 / AMG zone 52",9001,4202,17452,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20253,"AGD66 / AMG zone 53",9001,4202,17453,9807,1,0,4400,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20254,"AGD66 / AMG zone 54",9001,4202,17454,9807,1,0,4400,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20255,"AGD66 / AMG zone 55",9001,4202,17455,9807,1,0,4400,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20256,"AGD66 / AMG zone 56",9001,4202,17456,9807,1,0,4400,8801,0,9102,8802,153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20257,"AGD66 / AMG zone 57",9001,4202,17457,9807,1,0,4400,8801,0,9102,8802,159,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20258,"AGD66 / AMG zone 58",9001,4202,17458,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20348,"AGD84 / AMG zone 48",9001,4203,17448,9807,1,1,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20349,"AGD84 / AMG zone 49",9001,4203,17449,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20350,"AGD84 / AMG zone 50",9001,4203,17450,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20351,"AGD84 / AMG zone 51",9001,4203,17451,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20352,"AGD84 / AMG zone 52",9001,4203,17452,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20353,"AGD84 / AMG zone 53",9001,4203,17453,9807,1,0,4400,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20354,"AGD84 / AMG zone 54",9001,4203,17454,9807,1,0,4400,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20355,"AGD84 / AMG zone 55",9001,4203,17455,9807,1,0,4400,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20356,"AGD84 / AMG zone 56",9001,4203,17456,9807,1,0,4400,8801,0,9102,8802,153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20357,"AGD84 / AMG zone 57",9001,4203,17457,9807,1,1,4400,8801,0,9102,8802,159,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20358,"AGD84 / AMG zone 58",9001,4203,17458,9807,1,1,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20436,"Ain el Abd / UTM zone 36N",9001,4204,16036,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20437,"Ain el Abd / UTM zone 37N",9001,4204,16037,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20438,"Ain el Abd / UTM zone 38N",9001,4204,16038,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20439,"Ain el Abd / UTM zone 39N",9001,4204,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20440,"Ain el Abd / UTM zone 40N",9001,4204,16040,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20499,"Ain el Abd / Bahrain Grid",9001,4204,19900,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20538,"Afgooye / UTM zone 38N",9001,4205,16038,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20539,"Afgooye / UTM zone 39N",9001,4205,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -20790,"Lisbon (Lisbon) / Portuguese National Grid",9001,4803,19936,9807,1,0,4499,8801,39.4,9110,8802,1,9110,8805,1,9201,8806,200000,9001,8807,300000,9001,,,,,,,,,,,,, -20791,"Lisbon (Lisbon) / Portuguese Grid",9001,4803,19969,9807,1,0,4499,8801,39.4,9110,8802,1,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -20822,"Aratu / UTM zone 22S",9001,4208,16122,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20823,"Aratu / UTM zone 23S",9001,4208,16123,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20824,"Aratu / UTM zone 24S",9001,4208,16124,9807,1,0,4400,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20934,"Arc 1950 / UTM zone 34S",9001,4209,16134,9807,1,0,4400,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20935,"Arc 1950 / UTM zone 35S",9001,4209,16135,9807,1,0,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -20936,"Arc 1950 / UTM zone 36S",9001,4209,16136,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -21035,"Arc 1960 / UTM zone 35S",9001,4210,16135,9807,1,0,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -21036,"Arc 1960 / UTM zone 36S",9001,4210,16136,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -21037,"Arc 1960 / UTM zone 37S",9001,4210,16137,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -21095,"Arc 1960 / UTM zone 35N",9001,4210,16035,9807,1,0,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21096,"Arc 1960 / UTM zone 36N",9001,4210,16036,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21097,"Arc 1960 / UTM zone 37N",9001,4210,16037,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21100,"Batavia (Jakarta) / NEIEZ",9001,4813,19905,9804,1,1,4499,8801,0,9102,8802,110,9102,8805,0.997,9201,8806,3900000,9001,8807,900000,9001,,,,,,,,,,,,, -21148,"Batavia / UTM zone 48S",9001,4211,16148,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -21149,"Batavia / UTM zone 49S",9001,4211,16149,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -21150,"Batavia / UTM zone 50S",9001,4211,16150,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -21291,"Barbados 1938 / British West Indies Grid",9001,4212,19942,9807,1,0,4400,8801,0,9102,8802,-62,9102,8805,0.9995,9201,8806,400000,9001,8807,0,9001,,,,,,,,,,,,, -21292,"Barbados 1938 / Barbados National Grid",9001,4212,19943,9807,1,0,4400,8801,13.1035,9110,8802,-59.3335,9110,8805,0.9999986,9201,8806,30000,9001,8807,75000,9001,,,,,,,,,,,,, -21413,"Beijing 1954 / Gauss-Kruger zone 13",9001,4214,16213,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,13500000,9001,8807,0,9001,,,,,,,,,,,,, -21414,"Beijing 1954 / Gauss-Kruger zone 14",9001,4214,16214,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,14500000,9001,8807,0,9001,,,,,,,,,,,,, -21415,"Beijing 1954 / Gauss-Kruger zone 15",9001,4214,16215,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,15500000,9001,8807,0,9001,,,,,,,,,,,,, -21416,"Beijing 1954 / Gauss-Kruger zone 16",9001,4214,16216,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,16500000,9001,8807,0,9001,,,,,,,,,,,,, -21417,"Beijing 1954 / Gauss-Kruger zone 17",9001,4214,16217,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,17500000,9001,8807,0,9001,,,,,,,,,,,,, -21418,"Beijing 1954 / Gauss-Kruger zone 18",9001,4214,16218,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,18500000,9001,8807,0,9001,,,,,,,,,,,,, -21419,"Beijing 1954 / Gauss-Kruger zone 19",9001,4214,16219,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,19500000,9001,8807,0,9001,,,,,,,,,,,,, -21420,"Beijing 1954 / Gauss-Kruger zone 20",9001,4214,16220,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,20500000,9001,8807,0,9001,,,,,,,,,,,,, -21421,"Beijing 1954 / Gauss-Kruger zone 21",9001,4214,16221,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,21500000,9001,8807,0,9001,,,,,,,,,,,,, -21422,"Beijing 1954 / Gauss-Kruger zone 22",9001,4214,16222,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,22500000,9001,8807,0,9001,,,,,,,,,,,,, -21423,"Beijing 1954 / Gauss-Kruger zone 23",9001,4214,16223,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,23500000,9001,8807,0,9001,,,,,,,,,,,,, -21453,"Beijing 1954 / Gauss-Kruger CM 75E",9001,4214,16313,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21454,"Beijing 1954 / Gauss-Kruger CM 81E",9001,4214,16314,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21455,"Beijing 1954 / Gauss-Kruger CM 87E",9001,4214,16315,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21456,"Beijing 1954 / Gauss-Kruger CM 93E",9001,4214,16316,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21457,"Beijing 1954 / Gauss-Kruger CM 99E",9001,4214,16317,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21458,"Beijing 1954 / Gauss-Kruger CM 105E",9001,4214,16318,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21459,"Beijing 1954 / Gauss-Kruger CM 111E",9001,4214,16319,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21460,"Beijing 1954 / Gauss-Kruger CM 117E",9001,4214,16320,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21461,"Beijing 1954 / Gauss-Kruger CM 123E",9001,4214,16321,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21462,"Beijing 1954 / Gauss-Kruger CM 129E",9001,4214,16322,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21463,"Beijing 1954 / Gauss-Kruger CM 135E",9001,4214,16323,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21473,"Beijing 1954 / Gauss-Kruger 13N",9001,4214,16313,9807,1,1,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21474,"Beijing 1954 / Gauss-Kruger 14N",9001,4214,16314,9807,1,1,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21475,"Beijing 1954 / Gauss-Kruger 15N",9001,4214,16315,9807,1,1,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21476,"Beijing 1954 / Gauss-Kruger 16N",9001,4214,16316,9807,1,1,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21477,"Beijing 1954 / Gauss-Kruger 17N",9001,4214,16317,9807,1,1,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21478,"Beijing 1954 / Gauss-Kruger 18N",9001,4214,16318,9807,1,1,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21479,"Beijing 1954 / Gauss-Kruger 19N",9001,4214,16319,9807,1,1,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21480,"Beijing 1954 / Gauss-Kruger 20N",9001,4214,16320,9807,1,1,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21481,"Beijing 1954 / Gauss-Kruger 21N",9001,4214,16321,9807,1,1,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21482,"Beijing 1954 / Gauss-Kruger 22N",9001,4214,16322,9807,1,1,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21483,"Beijing 1954 / Gauss-Kruger 23N",9001,4214,16323,9807,1,1,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21500,"Belge 1950 (Brussels) / Belge Lambert 50",9001,4809,19901,9802,1,0,4499,8821,90,9110,8822,0,9110,8823,49.5,9110,8824,51.1,9110,8826,150000,9001,8827,5400000,9001,,,,,,,,,, -21780,"Bern 1898 (Bern) / LV03C",9001,4801,19923,9815,1,0,4498,8811,46.570866,9110,8812,0,9110,8813,90,9110,8814,90,9110,8815,1,9201,8816,0,9001,8817,0,9001,,,,,,, -21781,"CH1903 / LV03",9001,4149,19922,9815,1,0,4498,8811,46.570866,9110,8812,7.26225,9110,8813,90,9110,8814,90,9110,8815,1,9201,8816,600000,9001,8817,200000,9001,,,,,,, -21782,"CH1903 / LV03C-G",9001,4149,19841,9815,1,0,4498,8811,46.570866,9110,8812,7.26225,9110,8813,90,9110,8814,90,9110,8815,1,9201,8816,0,9001,8817,0,9001,,,,,,, -21817,"Bogota 1975 / UTM zone 17N",9001,4218,16017,9807,1,1,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21818,"Bogota 1975 / UTM zone 18N",9001,4218,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -21891,"Bogota 1975 / Colombia West zone",9001,4218,18051,9807,1,1,4499,8801,4.355657,9110,8802,-77.04513,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -21892,"Bogota 1975 / Colombia Bogota zone",9001,4218,18052,9807,1,1,4499,8801,4.355657,9110,8802,-74.04513,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -21893,"Bogota 1975 / Colombia East Central zone",9001,4218,18053,9807,1,1,4499,8801,4.355657,9110,8802,-71.04513,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -21894,"Bogota 1975 / Colombia East",9001,4218,18054,9807,1,1,4499,8801,4.355657,9110,8802,-68.04513,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -21896,"Bogota 1975 / Colombia West zone",9001,4218,18051,9807,1,0,4530,8801,4.355657,9110,8802,-77.04513,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -21897,"Bogota 1975 / Colombia Bogota zone",9001,4218,18052,9807,1,0,4530,8801,4.355657,9110,8802,-74.04513,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -21898,"Bogota 1975 / Colombia East Central zone",9001,4218,18053,9807,1,0,4530,8801,4.355657,9110,8802,-71.04513,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -21899,"Bogota 1975 / Colombia East",9001,4218,18054,9807,1,0,4530,8801,4.355657,9110,8802,-68.04513,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,,,,,,,,, -22032,"Camacupa / UTM zone 32S",9001,4220,16132,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -22033,"Camacupa / UTM zone 33S",9001,4220,16133,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -22091,"Camacupa / TM 11.30 SE",9001,4220,16611,9807,1,0,4400,8801,0,9110,8802,11.3,9110,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -22092,"Camacupa / TM 12 SE",9001,4220,16612,9807,1,0,4400,8801,0,9102,8802,12,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -22171,"POSGAR 98 / Argentina 1",9001,4190,18031,9807,1,0,4530,8801,-90,9102,8802,-72,9102,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -22172,"POSGAR 98 / Argentina 2",9001,4190,18032,9807,1,0,4530,8801,-90,9102,8802,-69,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -22173,"POSGAR 98 / Argentina 3",9001,4190,18033,9807,1,0,4530,8801,-90,9102,8802,-66,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -22174,"POSGAR 98 / Argentina 4",9001,4190,18034,9807,1,0,4530,8801,-90,9102,8802,-63,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -22175,"POSGAR 98 / Argentina 5",9001,4190,18035,9807,1,0,4530,8801,-90,9102,8802,-60,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -22176,"POSGAR 98 / Argentina 6",9001,4190,18036,9807,1,0,4530,8801,-90,9102,8802,-57,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -22177,"POSGAR 98 / Argentina 7",9001,4190,18037,9807,1,0,4530,8801,-90,9102,8802,-54,9102,8805,1,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -22181,"POSGAR 94 / Argentina 1",9001,4694,18031,9807,1,0,4530,8801,-90,9102,8802,-72,9102,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -22182,"POSGAR 94 / Argentina 2",9001,4694,18032,9807,1,0,4530,8801,-90,9102,8802,-69,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -22183,"POSGAR 94 / Argentina 3",9001,4694,18033,9807,1,0,4530,8801,-90,9102,8802,-66,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -22184,"POSGAR 94 / Argentina 4",9001,4694,18034,9807,1,0,4530,8801,-90,9102,8802,-63,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -22185,"POSGAR 94 / Argentina 5",9001,4694,18035,9807,1,0,4530,8801,-90,9102,8802,-60,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -22186,"POSGAR 94 / Argentina 6",9001,4694,18036,9807,1,0,4530,8801,-90,9102,8802,-57,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -22187,"POSGAR 94 / Argentina 7",9001,4694,18037,9807,1,0,4530,8801,-90,9102,8802,-54,9102,8805,1,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -22191,"Campo Inchauspe / Argentina 1",9001,4221,18031,9807,1,0,4530,8801,-90,9102,8802,-72,9102,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -22192,"Campo Inchauspe / Argentina 2",9001,4221,18032,9807,1,0,4530,8801,-90,9102,8802,-69,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -22193,"Campo Inchauspe / Argentina 3",9001,4221,18033,9807,1,0,4530,8801,-90,9102,8802,-66,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -22194,"Campo Inchauspe / Argentina 4",9001,4221,18034,9807,1,0,4530,8801,-90,9102,8802,-63,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -22195,"Campo Inchauspe / Argentina 5",9001,4221,18035,9807,1,0,4530,8801,-90,9102,8802,-60,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -22196,"Campo Inchauspe / Argentina 6",9001,4221,18036,9807,1,0,4530,8801,-90,9102,8802,-57,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -22197,"Campo Inchauspe / Argentina 7",9001,4221,18037,9807,1,0,4530,8801,-90,9102,8802,-54,9102,8805,1,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -22234,"Cape / UTM zone 34S",9001,4222,16134,9807,1,0,4400,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -22235,"Cape / UTM zone 35S",9001,4222,16135,9807,1,0,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -22236,"Cape / UTM zone 36S",9001,4222,16136,9807,1,1,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -22275,"Cape / Lo15",9001,4222,17515,9808,1,0,6503,8801,0,9102,8802,15,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -22277,"Cape / Lo17",9001,4222,17517,9808,1,0,6503,8801,0,9102,8802,17,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -22279,"Cape / Lo19",9001,4222,17519,9808,1,0,6503,8801,0,9102,8802,19,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -22281,"Cape / Lo21",9001,4222,17521,9808,1,0,6503,8801,0,9102,8802,21,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -22283,"Cape / Lo23",9001,4222,17523,9808,1,0,6503,8801,0,9102,8802,23,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -22285,"Cape / Lo25",9001,4222,17525,9808,1,0,6503,8801,0,9102,8802,25,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -22287,"Cape / Lo27",9001,4222,17527,9808,1,0,6503,8801,0,9102,8802,27,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -22289,"Cape / Lo29",9001,4222,17529,9808,1,0,6503,8801,0,9102,8802,29,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -22291,"Cape / Lo31",9001,4222,17531,9808,1,0,6503,8801,0,9102,8802,31,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -22293,"Cape / Lo33",9001,4222,17533,9808,1,0,6503,8801,0,9102,8802,33,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -22300,"Carthage (Paris) / Tunisia Mining Grid",9036,4816,19937,9816,1,0,4406,8821,36.5964,9105,8822,7.83445,9105,8826,270,9036,8827,360,9036,,,,,,,,,,,,,,,, -22332,"Carthage / UTM zone 32N",9001,4223,16032,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -22391,"Carthage / Nord Tunisie",9001,4223,18181,9801,1,0,4499,8801,40,9105,8802,11,9105,8805,0.999625544,9201,8806,500000,9001,8807,300000,9001,,,,,,,,,,,,, -22392,"Carthage / Sud Tunisie",9001,4223,18182,9801,1,0,4499,8801,37,9105,8802,11,9105,8805,0.999625769,9201,8806,500000,9001,8807,300000,9001,,,,,,,,,,,,, -22521,"Corrego Alegre 1970-72 / UTM zone 21S",9001,4225,16121,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -22522,"Corrego Alegre 1970-72 / UTM zone 22S",9001,4225,16122,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -22523,"Corrego Alegre 1970-72 / UTM zone 23S",9001,4225,16123,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -22524,"Corrego Alegre 1970-72 / UTM zone 24S",9001,4225,16124,9807,1,0,4400,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -22525,"Corrego Alegre 1970-72 / UTM zone 25S",9001,4225,16125,9807,1,0,4400,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -22700,"Deir ez Zor / Levant Zone",9001,4227,19940,9817,1,0,4499,8801,34.39,9110,8802,37.21,9110,8805,0.9996256,9201,8806,300000,9001,8807,300000,9001,,,,,,,,,,,,, -22770,"Deir ez Zor / Syria Lambert",9001,4227,19948,9801,1,0,4499,8801,34.39,9110,8802,37.21,9110,8805,0.9996256,9201,8806,300000,9001,8807,300000,9001,,,,,,,,,,,,, -22780,"Deir ez Zor / Levant Stereographic",9001,4227,19949,9809,1,0,4499,8801,38,9105,8802,43.5,9105,8805,0.9995341,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -22832,"Douala / UTM zone 32N",9001,4228,16032,9807,1,1,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -22991,"Egypt 1907 / Blue Belt",9001,4229,18071,9807,1,0,4400,8801,30,9102,8802,35,9102,8805,1,9201,8806,300000,9001,8807,1100000,9001,,,,,,,,,,,,, -22992,"Egypt 1907 / Red Belt",9001,4229,18072,9807,1,0,4400,8801,30,9102,8802,31,9102,8805,1,9201,8806,615000,9001,8807,810000,9001,,,,,,,,,,,,, -22993,"Egypt 1907 / Purple Belt",9001,4229,18073,9807,1,0,4400,8801,30,9102,8802,27,9102,8805,1,9201,8806,700000,9001,8807,200000,9001,,,,,,,,,,,,, -22994,"Egypt 1907 / Extended Purple Belt",9001,4229,18074,9807,1,0,4400,8801,30,9102,8802,27,9102,8805,1,9201,8806,700000,9001,8807,1200000,9001,,,,,,,,,,,,, -23028,"ED50 / UTM zone 28N",9001,4230,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23029,"ED50 / UTM zone 29N",9001,4230,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23030,"ED50 / UTM zone 30N",9001,4230,16030,9807,1,0,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23031,"ED50 / UTM zone 31N",9001,4230,16031,9807,1,0,4400,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23032,"ED50 / UTM zone 32N",9001,4230,16032,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23033,"ED50 / UTM zone 33N",9001,4230,16033,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23034,"ED50 / UTM zone 34N",9001,4230,16034,9807,1,0,4400,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23035,"ED50 / UTM zone 35N",9001,4230,16035,9807,1,0,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23036,"ED50 / UTM zone 36N",9001,4230,16036,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23037,"ED50 / UTM zone 37N",9001,4230,16037,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23038,"ED50 / UTM zone 38N",9001,4230,16038,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23090,"ED50 / TM 0 N",9001,4230,16400,9807,1,0,4400,8801,0,9102,8802,0,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23095,"ED50 / TM 5 NE",9001,4230,16405,9807,1,0,4400,8801,0,9102,8802,5,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23239,"Fahud / UTM zone 39N",9001,4232,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23240,"Fahud / UTM zone 40N",9001,4232,16040,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23433,"Garoua / UTM zone 33N",9001,4234,16033,9807,1,1,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23700,"HD72 / EOV",9001,4237,19931,9815,1,0,4498,8811,47.08398174,9110,8812,19.02548584,9110,8813,90,9110,8814,90,9110,8815,0.99993,9201,8816,650000,9001,8817,200000,9001,,,,,,, -23830,"DGN95 / Indonesia TM-3 zone 46.2",9001,4755,17432,9807,1,0,4499,8801,0,9102,8802,94.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,,,,,,,,, -23831,"DGN95 / Indonesia TM-3 zone 47.1",9001,4755,17433,9807,1,0,4499,8801,0,9102,8802,97.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,,,,,,,,, -23832,"DGN95 / Indonesia TM-3 zone 47.2",9001,4755,17434,9807,1,0,4499,8801,0,9102,8802,100.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,,,,,,,,, -23833,"DGN95 / Indonesia TM-3 zone 48.1",9001,4755,17435,9807,1,0,4499,8801,0,9102,8802,103.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,,,,,,,,, -23834,"DGN95 / Indonesia TM-3 zone 48.2",9001,4755,17436,9807,1,0,4499,8801,0,9102,8802,106.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,,,,,,,,, -23835,"DGN95 / Indonesia TM-3 zone 49.1",9001,4755,17437,9807,1,0,4499,8801,0,9102,8802,109.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,,,,,,,,, -23836,"DGN95 / Indonesia TM-3 zone 49.2",9001,4755,17438,9807,1,0,4499,8801,0,9102,8802,112.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,,,,,,,,, -23837,"DGN95 / Indonesia TM-3 zone 50.1",9001,4755,17439,9807,1,0,4499,8801,0,9102,8802,115.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,,,,,,,,, -23838,"DGN95 / Indonesia TM-3 zone 50.2",9001,4755,17440,9807,1,0,4499,8801,0,9102,8802,118.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,,,,,,,,, -23839,"DGN95 / Indonesia TM-3 zone 51.1",9001,4755,17441,9807,1,0,4499,8801,0,9102,8802,121.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,,,,,,,,, -23840,"DGN95 / Indonesia TM-3 zone 51.2",9001,4755,17442,9807,1,0,4499,8801,0,9102,8802,124.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,,,,,,,,, -23841,"DGN95 / Indonesia TM-3 zone 52.1",9001,4755,17443,9807,1,0,4499,8801,0,9102,8802,127.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,,,,,,,,, -23842,"DGN95 / Indonesia TM-3 zone 52.2",9001,4755,17444,9807,1,0,4499,8801,0,9102,8802,130.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,,,,,,,,, -23843,"DGN95 / Indonesia TM-3 zone 53.1",9001,4755,17445,9807,1,0,4499,8801,0,9102,8802,133.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,,,,,,,,, -23844,"DGN95 / Indonesia TM-3 zone 53.2",9001,4755,17446,9807,1,0,4499,8801,0,9102,8802,136.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,,,,,,,,, -23845,"DGN95 / Indonesia TM-3 zone 54.1",9001,4755,17447,9807,1,0,4499,8801,0,9102,8802,139.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,,,,,,,,, -23846,"ID74 / UTM zone 46N",9001,4238,16046,9807,1,0,4400,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23847,"ID74 / UTM zone 47N",9001,4238,16047,9807,1,0,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23848,"ID74 / UTM zone 48N",9001,4238,16048,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23849,"ID74 / UTM zone 49N",9001,4238,16049,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23850,"ID74 / UTM zone 50N",9001,4238,16050,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23851,"ID74 / UTM zone 51N",9001,4238,16051,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23852,"ID74 / UTM zone 52N",9001,4238,16052,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23853,"ID74 / UTM zone 53N",9001,4238,16053,9807,1,1,4400,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23866,"DGN95 / UTM zone 46N",9001,4755,16046,9807,1,0,4400,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23867,"DGN95 / UTM zone 47N",9001,4755,16047,9807,1,0,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23868,"DGN95 / UTM zone 48N",9001,4755,16048,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23869,"DGN95 / UTM zone 49N",9001,4755,16049,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23870,"DGN95 / UTM zone 50N",9001,4755,16050,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23871,"DGN95 / UTM zone 51N",9001,4755,16051,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23872,"DGN95 / UTM zone 52N",9001,4755,16052,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23877,"DGN95 / UTM zone 47S",9001,4755,16147,9807,1,0,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23878,"DGN95 / UTM zone 48S",9001,4755,16148,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23879,"DGN95 / UTM zone 49S",9001,4755,16149,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23880,"DGN95 / UTM zone 50S",9001,4755,16150,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23881,"DGN95 / UTM zone 51S",9001,4755,16151,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23882,"DGN95 / UTM zone 52S",9001,4755,16152,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23883,"DGN95 / UTM zone 53S",9001,4755,16153,9807,1,0,4400,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23884,"DGN95 / UTM zone 54S",9001,4755,16154,9807,1,0,4400,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23886,"ID74 / UTM zone 46S",9001,4238,16146,9807,1,1,4400,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23887,"ID74 / UTM zone 47S",9001,4238,16147,9807,1,0,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23888,"ID74 / UTM zone 48S",9001,4238,16148,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23889,"ID74 / UTM zone 49S",9001,4238,16149,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23890,"ID74 / UTM zone 50S",9001,4238,16150,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23891,"ID74 / UTM zone 51S",9001,4238,16151,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23892,"ID74 / UTM zone 52S",9001,4238,16152,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23893,"ID74 / UTM zone 53S",9001,4238,16153,9807,1,0,4400,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23894,"ID74 / UTM zone 54S",9001,4238,16154,9807,1,0,4400,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -23946,"Indian 1954 / UTM zone 46N",9001,4239,16046,9807,1,0,4400,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23947,"Indian 1954 / UTM zone 47N",9001,4239,16047,9807,1,0,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -23948,"Indian 1954 / UTM zone 48N",9001,4239,16048,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24047,"Indian 1975 / UTM zone 47N",9001,4240,16047,9807,1,0,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24048,"Indian 1975 / UTM zone 48N",9001,4240,16048,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24100,"Jamaica 1875 / Jamaica (Old Grid)",9005,4241,19909,9801,1,0,4403,8801,18,9102,8802,-77,9102,8805,1,9201,8806,550000,9005,8807,400000,9005,,,,,,,,,,,,, -24200,"JAD69 / Jamaica National Grid",9001,4242,19910,9801,1,0,4400,8801,18,9102,8802,-77,9102,8805,1,9201,8806,250000,9001,8807,150000,9001,,,,,,,,,,,,, -24305,"Kalianpur 1937 / UTM zone 45N",9001,4144,16045,9807,1,0,4400,8801,0,9102,8802,87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24306,"Kalianpur 1937 / UTM zone 46N",9001,4144,16046,9807,1,0,4400,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24311,"Kalianpur 1962 / UTM zone 41N",9001,4145,16041,9807,1,0,4400,8801,0,9102,8802,63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24312,"Kalianpur 1962 / UTM zone 42N",9001,4145,16042,9807,1,0,4400,8801,0,9102,8802,69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24313,"Kalianpur 1962 / UTM zone 43N",9001,4145,16043,9807,1,0,4400,8801,0,9102,8802,75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24342,"Kalianpur 1975 / UTM zone 42N",9001,4146,16042,9807,1,0,4400,8801,0,9102,8802,69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24343,"Kalianpur 1975 / UTM zone 43N",9001,4146,16043,9807,1,0,4400,8801,0,9102,8802,75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24344,"Kalianpur 1975 / UTM zone 44N",9001,4146,16044,9807,1,0,4400,8801,0,9102,8802,81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24345,"Kalianpur 1975 / UTM zone 45N",9001,4146,16045,9807,1,0,4400,8801,0,9102,8802,87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24346,"Kalianpur 1975 / UTM zone 46N",9001,4146,16046,9807,1,0,4400,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24347,"Kalianpur 1975 / UTM zone 47N",9001,4146,16047,9807,1,0,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24370,"Kalianpur 1880 / India zone 0",9084,4243,18110,9801,1,0,4408,8801,39.3,9110,8802,68,9110,8805,0.99846154,9201,8806,2355500,9084,8807,2590000,9084,,,,,,,,,,,,, -24371,"Kalianpur 1880 / India zone I",9084,4243,18111,9801,1,0,4408,8801,32.3,9110,8802,68,9110,8805,0.99878641,9201,8806,3000000,9084,8807,1000000,9084,,,,,,,,,,,,, -24372,"Kalianpur 1880 / India zone IIa",9084,4243,18112,9801,1,0,4408,8801,26,9102,8802,74,9102,8805,0.99878641,9201,8806,3000000,9084,8807,1000000,9084,,,,,,,,,,,,, -24373,"Kalianpur 1880 / India zone IIIa",9084,4243,18114,9801,1,0,4408,8801,19,9102,8802,80,9102,8805,0.99878641,9201,8806,3000000,9084,8807,1000000,9084,,,,,,,,,,,,, -24374,"Kalianpur 1880 / India zone IVa",9084,4243,18116,9801,1,0,4408,8801,12,9102,8802,80,9102,8805,0.99878641,9201,8806,3000000,9084,8807,1000000,9084,,,,,,,,,,,,, -24375,"Kalianpur 1937 / India zone IIb",9001,4144,18238,9801,1,0,4400,8801,26,9102,8802,90,9102,8805,0.99878641,9201,8806,2743185.69,9001,8807,914395.23,9001,,,,,,,,,,,,, -24376,"Kalianpur 1962 / India zone I",9001,4145,18236,9801,1,0,4400,8801,32.3,9110,8802,68,9110,8805,0.99878641,9201,8806,2743196.4,9001,8807,914398.8,9001,,,,,,,,,,,,, -24377,"Kalianpur 1962 / India zone IIa",9001,4145,18237,9801,1,0,4400,8801,26,9102,8802,74,9102,8805,0.99878641,9201,8806,2743196.4,9001,8807,914398.8,9001,,,,,,,,,,,,, -24378,"Kalianpur 1975 / India zone I",9001,4146,18231,9801,1,0,4400,8801,32.3,9110,8802,68,9110,8805,0.99878641,9201,8806,2743195.5,9001,8807,914398.5,9001,,,,,,,,,,,,, -24379,"Kalianpur 1975 / India zone IIa",9001,4146,18232,9801,1,0,4400,8801,26,9102,8802,74,9102,8805,0.99878641,9201,8806,2743195.5,9001,8807,914398.5,9001,,,,,,,,,,,,, -24380,"Kalianpur 1975 / India zone IIb",9001,4146,18235,9801,1,0,4400,8801,26,9102,8802,90,9102,8805,0.99878641,9201,8806,2743195.5,9001,8807,914398.5,9001,,,,,,,,,,,,, -24381,"Kalianpur 1975 / India zone IIIa",9001,4146,18233,9801,1,0,4400,8801,19,9102,8802,80,9102,8805,0.99878641,9201,8806,2743195.5,9001,8807,914398.5,9001,,,,,,,,,,,,, -24382,"Kalianpur 1880 / India zone IIb",9084,4243,18113,9801,1,0,4408,8801,26,9102,8802,90,9102,8805,0.99878641,9201,8806,3000000,9084,8807,1000000,9084,,,,,,,,,,,,, -24383,"Kalianpur 1975 / India zone IVa",9001,4146,18234,9801,1,0,4400,8801,12,9102,8802,80,9102,8805,0.99878641,9201,8806,2743195.5,9001,8807,914398.5,9001,,,,,,,,,,,,, -24500,"Kertau 1968 / Singapore Grid",9001,4245,19920,9806,1,0,4400,8801,1.1715528,9110,8802,103.5110808,9110,8806,30000,9001,8807,30000,9001,,,,,,,,,,,,,,,, -24547,"Kertau 1968 / UTM zone 47N",9001,4245,16047,9807,1,0,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24548,"Kertau 1968 / UTM zone 48N",9001,4245,16048,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24571,"Kertau / R.S.O. Malaya (ch)",9062,4245,19935,9812,1,1,4401,8806,40000,9062,8807,0,9062,8811,4,9110,8812,102.15,9110,8813,323.01328458,9110,8814,323.07483685,9110,8815,0.99984,9201,,,,,,, -24600,KOC Lambert,9001,4246,19906,9801,1,0,4400,8801,32.3,9110,8802,45,9110,8805,0.9987864078,9201,8806,1500000,9001,8807,1166200,9001,,,,,,,,,,,,, -24718,"La Canoa / UTM zone 18N",9001,4247,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24719,"La Canoa / UTM zone 19N",9001,4247,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24720,"La Canoa / UTM zone 20N",9001,4247,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24817,"PSAD56 / UTM zone 17N",9001,4248,16017,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24818,"PSAD56 / UTM zone 18N",9001,4248,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24819,"PSAD56 / UTM zone 19N",9001,4248,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24820,"PSAD56 / UTM zone 20N",9001,4248,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24821,"PSAD56 / UTM zone 21N",9001,4248,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -24877,"PSAD56 / UTM zone 17S",9001,4248,16117,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -24878,"PSAD56 / UTM zone 18S",9001,4248,16118,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -24879,"PSAD56 / UTM zone 19S",9001,4248,16119,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -24880,"PSAD56 / UTM zone 20S",9001,4248,16120,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -24881,"PSAD56 / UTM zone 21S",9001,4248,16121,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -24882,"PSAD56 / UTM zone 22S",9001,4248,16122,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -24891,"PSAD56 / Peru west zone",9001,4248,18161,9807,1,0,4499,8801,-6,9110,8802,-80.3,9110,8805,0.99983008,9201,8806,222000,9001,8807,1426834.743,9001,,,,,,,,,,,,, -24892,"PSAD56 / Peru central zone",9001,4248,18162,9807,1,0,4499,8801,-9.3,9110,8802,-76,9110,8805,0.99932994,9201,8806,720000,9001,8807,1039979.159,9001,,,,,,,,,,,,, -24893,"PSAD56 / Peru east zone",9001,4248,18163,9807,1,0,4499,8801,-9.3,9110,8802,-70.3,9110,8805,0.99952992,9201,8806,1324000,9001,8807,1040084.558,9001,,,,,,,,,,,,, -25000,"Leigon / Ghana Metre Grid",9001,4250,19904,9807,1,0,4400,8801,4.4,9110,8802,-1,9110,8805,0.99975,9201,8806,274319.51,9001,8807,0,9001,,,,,,,,,,,,, -25231,"Lome / UTM zone 31N",9001,4252,16031,9807,1,0,4400,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25391,"Luzon 1911 / Philippines zone I",9001,4253,18171,9807,1,0,4499,8801,0,9102,8802,117,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25392,"Luzon 1911 / Philippines zone II",9001,4253,18172,9807,1,0,4499,8801,0,9102,8802,119,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25393,"Luzon 1911 / Philippines zone III",9001,4253,18173,9807,1,0,4499,8801,0,9102,8802,121,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25394,"Luzon 1911 / Philippines zone IV",9001,4253,18174,9807,1,0,4499,8801,0,9102,8802,123,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25395,"Luzon 1911 / Philippines zone V",9001,4253,18175,9807,1,0,4499,8801,0,9102,8802,125,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25700,"Makassar (Jakarta) / NEIEZ",9001,4804,19905,9804,1,1,4499,8801,0,9102,8802,110,9102,8805,0.997,9201,8806,3900000,9001,8807,900000,9001,,,,,,,,,,,,, -25828,"ETRS89 / UTM zone 28N",9001,4258,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25829,"ETRS89 / UTM zone 29N",9001,4258,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25830,"ETRS89 / UTM zone 30N",9001,4258,16030,9807,1,0,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25831,"ETRS89 / UTM zone 31N",9001,4258,16031,9807,1,0,4400,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25832,"ETRS89 / UTM zone 32N",9001,4258,16032,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25833,"ETRS89 / UTM zone 33N",9001,4258,16033,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25834,"ETRS89 / UTM zone 34N",9001,4258,16034,9807,1,0,4400,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25835,"ETRS89 / UTM zone 35N",9001,4258,16035,9807,1,0,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25836,"ETRS89 / UTM zone 36N",9001,4258,16036,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25837,"ETRS89 / UTM zone 37N",9001,4258,16037,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25838,"ETRS89 / UTM zone 38N",9001,4258,16038,9807,1,1,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25884,"ETRS89 / TM Baltic93",9001,4258,19939,9807,1,0,4530,8801,0,9102,8802,24,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -25932,"Malongo 1987 / UTM zone 32S",9001,4259,16132,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -26191,"Merchich / Nord Maroc",9001,4261,18131,9801,1,0,4499,8801,37,9105,8802,-6,9105,8805,0.999625769,9201,8806,500000,9001,8807,300000,9001,,,,,,,,,,,,, -26192,"Merchich / Sud Maroc",9001,4261,18132,9801,1,0,4499,8801,33,9105,8802,-6,9105,8805,0.999615596,9201,8806,500000,9001,8807,300000,9001,,,,,,,,,,,,, -26193,"Merchich / Sahara",9001,4261,18133,9801,1,1,4499,8801,29,9105,8802,-6,9105,8805,0.9996,9201,8806,1200000,9001,8807,400000,9001,,,,,,,,,,,,, -26194,"Merchich / Sahara Nord",9001,4261,18134,9801,1,0,4499,8801,29,9105,8802,-6,9105,8805,0.999616304,9201,8806,1200000,9001,8807,400000,9001,,,,,,,,,,,,, -26195,"Merchich / Sahara Sud",9001,4261,18135,9801,1,0,4499,8801,25,9105,8802,-6,9105,8805,0.999616437,9201,8806,1500000,9001,8807,400000,9001,,,,,,,,,,,,, -26237,"Massawa / UTM zone 37N",9001,4262,16037,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26331,"Minna / UTM zone 31N",9001,4263,16031,9807,1,0,4400,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26332,"Minna / UTM zone 32N",9001,4263,16032,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26391,"Minna / Nigeria West Belt",9001,4263,18151,9807,1,0,4400,8801,4,9110,8802,4.3,9110,8805,0.99975,9201,8806,230738.26,9001,8807,0,9001,,,,,,,,,,,,, -26392,"Minna / Nigeria Mid Belt",9001,4263,18152,9807,1,0,4400,8801,4,9110,8802,8.3,9110,8805,0.99975,9201,8806,670553.98,9001,8807,0,9001,,,,,,,,,,,,, -26393,"Minna / Nigeria East Belt",9001,4263,18153,9807,1,0,4400,8801,4,9110,8802,12.3,9110,8805,0.99975,9201,8806,1110369.7,9001,8807,0,9001,,,,,,,,,,,,, -26432,"Mhast / UTM zone 32S",9001,4264,16132,9807,1,1,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -26591,"Monte Mario (Rome) / Italy zone 1",9001,4806,18121,9807,1,1,4499,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -26592,"Monte Mario (Rome) / Italy zone 2",9001,4806,18122,9807,1,1,4499,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,2520000,9001,8807,0,9001,,,,,,,,,,,,, -26632,"M'poraloko / UTM zone 32N",9001,4266,16032,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26692,"M'poraloko / UTM zone 32S",9001,4266,16132,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -26701,"NAD27 / UTM zone 1N",9001,4267,16001,9807,1,0,4400,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26702,"NAD27 / UTM zone 2N",9001,4267,16002,9807,1,0,4400,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26703,"NAD27 / UTM zone 3N",9001,4267,16003,9807,1,0,4400,8801,0,9102,8802,-165,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26704,"NAD27 / UTM zone 4N",9001,4267,16004,9807,1,0,4400,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26705,"NAD27 / UTM zone 5N",9001,4267,16005,9807,1,0,4400,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26706,"NAD27 / UTM zone 6N",9001,4267,16006,9807,1,0,4400,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26707,"NAD27 / UTM zone 7N",9001,4267,16007,9807,1,0,4400,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26708,"NAD27 / UTM zone 8N",9001,4267,16008,9807,1,0,4400,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26709,"NAD27 / UTM zone 9N",9001,4267,16009,9807,1,0,4400,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26710,"NAD27 / UTM zone 10N",9001,4267,16010,9807,1,0,4400,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26711,"NAD27 / UTM zone 11N",9001,4267,16011,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26712,"NAD27 / UTM zone 12N",9001,4267,16012,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26713,"NAD27 / UTM zone 13N",9001,4267,16013,9807,1,0,4400,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26714,"NAD27 / UTM zone 14N",9001,4267,16014,9807,1,0,4400,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26715,"NAD27 / UTM zone 15N",9001,4267,16015,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26716,"NAD27 / UTM zone 16N",9001,4267,16016,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26717,"NAD27 / UTM zone 17N",9001,4267,16017,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26718,"NAD27 / UTM zone 18N",9001,4267,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26719,"NAD27 / UTM zone 19N",9001,4267,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26720,"NAD27 / UTM zone 20N",9001,4267,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26721,"NAD27 / UTM zone 21N",9001,4267,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26722,"NAD27 / UTM zone 22N",9001,4267,16022,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26729,"NAD27 / Alabama East",9003,4267,10101,9807,1,0,4497,8801,30.3,9110,8802,-85.5,9110,8805,0.99996,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26730,"NAD27 / Alabama West",9003,4267,10102,9807,1,0,4497,8801,30,9110,8802,-87.3,9110,8805,0.999933333,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26731,"NAD27 / Alaska zone 1",9003,4267,15001,9812,1,0,4497,8806,16404166.67,9003,8807,-16404166.67,9003,8811,57,9110,8812,-133.4,9110,8813,323.07483685,9110,8814,323.07483685,9110,8815,0.9999,9201,,,,,,, -26732,"NAD27 / Alaska zone 2",9003,4267,15002,9807,1,0,4497,8801,54,9102,8802,-142,9102,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26733,"NAD27 / Alaska zone 3",9003,4267,15003,9807,1,0,4497,8801,54,9102,8802,-146,9102,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26734,"NAD27 / Alaska zone 4",9003,4267,15004,9807,1,0,4497,8801,54,9102,8802,-150,9102,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26735,"NAD27 / Alaska zone 5",9003,4267,15005,9807,1,0,4497,8801,54,9102,8802,-154,9102,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26736,"NAD27 / Alaska zone 6",9003,4267,15006,9807,1,0,4497,8801,54,9102,8802,-158,9102,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26737,"NAD27 / Alaska zone 7",9003,4267,15007,9807,1,0,4497,8801,54,9102,8802,-162,9102,8805,0.9999,9201,8806,700000,9003,8807,0,9003,,,,,,,,,,,,, -26738,"NAD27 / Alaska zone 8",9003,4267,15008,9807,1,0,4497,8801,54,9102,8802,-166,9102,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26739,"NAD27 / Alaska zone 9",9003,4267,15009,9807,1,0,4497,8801,54,9102,8802,-170,9102,8805,0.9999,9201,8806,600000,9003,8807,0,9003,,,,,,,,,,,,, -26740,"NAD27 / Alaska zone 10",9003,4267,15010,9802,1,0,4497,8821,51,9110,8822,-176,9110,8823,53.5,9110,8824,51.5,9110,8826,3000000,9003,8827,0,9003,,,,,,,,,, -26741,"NAD27 / California zone I",9003,4267,10401,9802,1,0,4497,8821,39.2,9110,8822,-122,9110,8823,41.4,9110,8824,40,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26742,"NAD27 / California zone II",9003,4267,10402,9802,1,0,4497,8821,37.4,9110,8822,-122,9110,8823,39.5,9110,8824,38.2,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26743,"NAD27 / California zone III",9003,4267,10403,9802,1,0,4497,8821,36.3,9110,8822,-120.3,9110,8823,38.26,9110,8824,37.04,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26744,"NAD27 / California zone IV",9003,4267,10404,9802,1,0,4497,8821,35.2,9110,8822,-119,9110,8823,37.15,9110,8824,36,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26745,"NAD27 / California zone V",9003,4267,10405,9802,1,0,4497,8821,33.3,9110,8822,-118,9110,8823,35.28,9110,8824,34.02,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26746,"NAD27 / California zone VI",9003,4267,10406,9802,1,0,4497,8821,32.1,9110,8822,-116.15,9110,8823,33.53,9110,8824,32.47,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26747,"NAD27 / California zone VII",9003,4267,10407,9802,1,1,4497,8821,34.08,9110,8822,-118.2,9110,8823,34.25,9110,8824,33.52,9110,8826,4186692.58,9003,8827,416926.74,9003,,,,,,,,,, -26748,"NAD27 / Arizona East",9003,4267,10201,9807,1,0,4497,8801,31,9110,8802,-110.1,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26749,"NAD27 / Arizona Central",9003,4267,10202,9807,1,0,4497,8801,31,9110,8802,-111.55,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26750,"NAD27 / Arizona West",9003,4267,10203,9807,1,0,4497,8801,31,9110,8802,-113.45,9110,8805,0.999933333,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26751,"NAD27 / Arkansas North",9003,4267,10301,9802,1,0,4497,8821,34.2,9110,8822,-92,9110,8823,36.14,9110,8824,34.56,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26752,"NAD27 / Arkansas South",9003,4267,10302,9802,1,0,4497,8821,32.4,9110,8822,-92,9110,8823,34.46,9110,8824,33.18,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26753,"NAD27 / Colorado North",9003,4267,10501,9802,1,0,4497,8821,39.2,9110,8822,-105.3,9110,8823,39.43,9110,8824,40.47,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26754,"NAD27 / Colorado Central",9003,4267,10502,9802,1,0,4497,8821,37.5,9110,8822,-105.3,9110,8823,39.45,9110,8824,38.27,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26755,"NAD27 / Colorado South",9003,4267,10503,9802,1,0,4497,8821,36.4,9110,8822,-105.3,9110,8823,38.26,9110,8824,37.14,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26756,"NAD27 / Connecticut",9003,4267,10600,9802,1,0,4497,8821,40.5,9110,8822,-72.45,9110,8823,41.52,9110,8824,41.12,9110,8826,600000,9003,8827,0,9003,,,,,,,,,, -26757,"NAD27 / Delaware",9003,4267,10700,9807,1,0,4497,8801,38,9110,8802,-75.25,9110,8805,0.999995,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26758,"NAD27 / Florida East",9003,4267,10901,9807,1,0,4497,8801,24.2,9110,8802,-81,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26759,"NAD27 / Florida West",9003,4267,10902,9807,1,0,4497,8801,24.2,9110,8802,-82,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26760,"NAD27 / Florida North",9003,4267,10903,9802,1,0,4497,8821,29,9110,8822,-84.3,9110,8823,30.45,9110,8824,29.35,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26766,"NAD27 / Georgia East",9003,4267,11001,9807,1,0,4497,8801,30,9110,8802,-82.1,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26767,"NAD27 / Georgia West",9003,4267,11002,9807,1,0,4497,8801,30,9110,8802,-84.1,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26768,"NAD27 / Idaho East",9003,4267,11101,9807,1,0,4497,8801,41.4,9110,8802,-112.1,9110,8805,0.999947368,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26769,"NAD27 / Idaho Central",9003,4267,11102,9807,1,0,4497,8801,41.4,9110,8802,-114,9110,8805,0.999947368,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26770,"NAD27 / Idaho West",9003,4267,11103,9807,1,0,4497,8801,41.4,9110,8802,-115.45,9110,8805,0.999933333,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26771,"NAD27 / Illinois East",9003,4267,11201,9807,1,0,4497,8801,36.4,9110,8802,-88.2,9110,8805,0.999975,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26772,"NAD27 / Illinois West",9003,4267,11202,9807,1,0,4497,8801,36.4,9110,8802,-90.1,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26773,"NAD27 / Indiana East",9003,4267,11301,9807,1,0,4497,8801,37.3,9110,8802,-85.4,9110,8805,0.999966667,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26774,"NAD27 / Indiana West",9003,4267,11302,9807,1,0,4497,8801,37.3,9110,8802,-87.05,9110,8805,0.999966667,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26775,"NAD27 / Iowa North",9003,4267,11401,9802,1,0,4497,8821,41.3,9110,8822,-93.3,9110,8823,43.16,9110,8824,42.04,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26776,"NAD27 / Iowa South",9003,4267,11402,9802,1,0,4497,8821,40,9110,8822,-93.3,9110,8823,41.47,9110,8824,40.37,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26777,"NAD27 / Kansas North",9003,4267,11501,9802,1,0,4497,8821,38.2,9110,8822,-98,9110,8823,39.47,9110,8824,38.43,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26778,"NAD27 / Kansas South",9003,4267,11502,9802,1,0,4497,8821,36.4,9110,8822,-98.3,9110,8823,38.34,9110,8824,37.16,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26779,"NAD27 / Kentucky North",9003,4267,11601,9802,1,0,4497,8821,37.3,9110,8822,-84.15,9110,8823,37.58,9110,8824,38.58,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26780,"NAD27 / Kentucky South",9003,4267,11602,9802,1,0,4497,8821,36.2,9110,8822,-85.45,9110,8823,36.44,9110,8824,37.56,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26781,"NAD27 / Louisiana North",9003,4267,11701,9802,1,0,4497,8821,30.4,9110,8822,-92.3,9110,8823,31.1,9110,8824,32.4,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26782,"NAD27 / Louisiana South",9003,4267,11702,9802,1,0,4497,8821,28.4,9110,8822,-91.2,9110,8823,29.18,9110,8824,30.42,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26783,"NAD27 / Maine East",9003,4267,11801,9807,1,0,4497,8801,43.5,9110,8802,-68.3,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26784,"NAD27 / Maine West",9003,4267,11802,9807,1,0,4497,8801,42.5,9110,8802,-70.1,9110,8805,0.999966667,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26785,"NAD27 / Maryland",9003,4267,11900,9802,1,0,4497,8821,37.5,9110,8822,-77,9110,8823,38.18,9110,8824,39.27,9110,8826,800000,9003,8827,0,9003,,,,,,,,,, -26786,"NAD27 / Massachusetts Mainland",9003,4267,12001,9802,1,0,4497,8821,41,9110,8822,-71.3,9110,8823,41.43,9110,8824,42.41,9110,8826,600000,9003,8827,0,9003,,,,,,,,,, -26787,"NAD27 / Massachusetts Island",9003,4267,12002,9802,1,0,4497,8821,41,9110,8822,-70.3,9110,8823,41.17,9110,8824,41.29,9110,8826,200000,9003,8827,0,9003,,,,,,,,,, -26791,"NAD27 / Minnesota North",9003,4267,12201,9802,1,0,4497,8821,46.3,9110,8822,-93.06,9110,8823,47.02,9110,8824,48.38,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26792,"NAD27 / Minnesota Central",9003,4267,12202,9802,1,0,4497,8821,45,9110,8822,-94.15,9110,8823,45.37,9110,8824,47.03,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26793,"NAD27 / Minnesota South",9003,4267,12203,9802,1,0,4497,8821,43,9110,8822,-94,9110,8823,43.47,9110,8824,45.13,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26794,"NAD27 / Mississippi East",9003,4267,12301,9807,1,0,4497,8801,29.4,9110,8802,-88.5,9110,8805,0.99996,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26795,"NAD27 / Mississippi West",9003,4267,12302,9807,1,0,4497,8801,30.3,9110,8802,-90.2,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26796,"NAD27 / Missouri East",9003,4267,12401,9807,1,0,4497,8801,35.5,9110,8802,-90.3,9110,8805,0.999933333,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26797,"NAD27 / Missouri Central",9003,4267,12402,9807,1,0,4497,8801,35.5,9110,8802,-92.3,9110,8805,0.999933333,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26798,"NAD27 / Missouri West",9003,4267,12403,9807,1,0,4497,8801,36.1,9110,8802,-94.3,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26799,"NAD27 / California zone VII",9003,4267,10408,9802,1,0,4497,8821,34.08,9110,8822,-118.2,9110,8823,34.25,9110,8824,33.52,9110,8826,4186692.58,9003,8827,4160926.74,9003,,,,,,,,,, -26801,"NAD Michigan / Michigan East",9003,4268,12101,9807,1,1,4497,8801,41.3,9110,8802,-83.4,9110,8805,0.999942857,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26802,"NAD Michigan / Michigan Old Central",9003,4268,12102,9807,1,1,4497,8801,41.3,9110,8802,-85.45,9110,8805,0.999909091,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26803,"NAD Michigan / Michigan West",9003,4268,12103,9807,1,1,4497,8801,41.3,9110,8802,-88.45,9110,8805,0.999909091,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -26811,"NAD Michigan / Michigan North",9003,4268,12111,9802,1,1,4497,8821,44.47,9110,8822,-87,9110,8823,45.29,9110,8824,47.05,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26812,"NAD Michigan / Michigan Central",9003,4268,12112,9802,1,1,4497,8821,43.19,9110,8822,-84.2,9110,8823,44.11,9110,8824,45.42,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26813,"NAD Michigan / Michigan South",9003,4268,12113,9802,1,1,4497,8821,41.3,9110,8822,-84.2,9110,8823,42.06,9110,8824,43.4,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -26814,"NAD83 / Maine East (ftUS)",9001,4269,11833,9807,1,1,4499,8801,43.4,9110,8802,-68.3,9110,8805,0.9999,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -26815,"NAD83 / Maine West (ftUS)",9001,4269,11834,9807,1,1,4499,8801,42.5,9110,8802,-70.1,9110,8805,0.999966667,9201,8806,2952750,9003,8807,0,9003,,,,,,,,,,,,, -26819,"NAD83 / Minnesota North (ftUS)",9001,4269,12234,9802,1,1,4499,8821,46.3,9110,8822,-93.06,9110,8823,48.38,9110,8824,47.02,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26820,"NAD83 / Minnesota Central (ftUS)",9001,4269,12235,9802,1,1,4499,8821,45,9110,8822,-94.15,9110,8823,47.03,9110,8824,45.37,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26821,"NAD83 / Minnesota South (ftUS)",9001,4269,12236,9802,1,1,4499,8821,43,9110,8822,-94,9110,8823,45.13,9110,8824,43.47,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26822,"NAD83 / Nebraska (ftUS)",9001,4269,15396,9802,1,1,4499,8821,39.5,9110,8822,-100,9110,8823,43,9110,8824,40,9110,8826,1640416.6667,9003,8827,0,9003,,,,,,,,,, -26823,"NAD83 / West Virginia North (ftUS)",9001,4269,14733,9802,1,1,4499,8821,38.3,9110,8822,-79.3,9110,8823,40.15,9110,8824,39,9110,8826,1968500,9001,8827,0,9001,,,,,,,,,, -26824,"NAD83 / West Virginia South (ftUS)",9001,4269,14734,9802,1,1,4499,8821,37,9110,8822,-81,9110,8823,38.53,9110,8824,37.29,9110,8826,1968500,9001,8827,0,9001,,,,,,,,,, -26825,"NAD83(HARN) / Maine East (ftUS)",9001,4152,11833,9807,1,1,4499,8801,43.4,9110,8802,-68.3,9110,8805,0.9999,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -26826,"NAD83(HARN) / Maine West (ftUS)",9001,4152,11834,9807,1,1,4499,8801,42.5,9110,8802,-70.1,9110,8805,0.999966667,9201,8806,2952750,9003,8807,0,9003,,,,,,,,,,,,, -26830,"NAD83(HARN) / Minnesota North (ftUS)",9001,4152,12234,9802,1,1,4499,8821,46.3,9110,8822,-93.06,9110,8823,48.38,9110,8824,47.02,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26831,"NAD83(HARN) / Minnesota Central (ftUS)",9001,4152,12235,9802,1,1,4499,8821,45,9110,8822,-94.15,9110,8823,47.03,9110,8824,45.37,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26832,"NAD83(HARN) / Minnesota South (ftUS)",9001,4152,12236,9802,1,1,4499,8821,43,9110,8822,-94,9110,8823,45.13,9110,8824,43.47,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26833,"NAD83(HARN) / Nebraska (ftUS)",9001,4152,15396,9802,1,1,4499,8821,39.5,9110,8822,-100,9110,8823,43,9110,8824,40,9110,8826,1640416.6667,9003,8827,0,9003,,,,,,,,,, -26834,"NAD83(HARN) / West Virginia North (ftUS)",9001,4152,14733,9802,1,1,4499,8821,38.3,9110,8822,-79.3,9110,8823,40.15,9110,8824,39,9110,8826,1968500,9001,8827,0,9001,,,,,,,,,, -26835,"NAD83(HARN) / West Virginia South (ftUS)",9001,4152,14734,9802,1,1,4499,8821,37,9110,8822,-81,9110,8823,38.53,9110,8824,37.29,9110,8826,1968500,9001,8827,0,9001,,,,,,,,,, -26836,"NAD83(NSRS2007) / Maine East (ftUS)",9001,4759,11833,9807,1,1,4499,8801,43.4,9110,8802,-68.3,9110,8805,0.9999,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -26837,"NAD83(NSRS2007) / Maine West (ftUS)",9001,4759,11834,9807,1,1,4499,8801,42.5,9110,8802,-70.1,9110,8805,0.999966667,9201,8806,2952750,9003,8807,0,9003,,,,,,,,,,,,, -26841,"NAD83(NSRS2007) / Minnesota North (ftUS)",9001,4759,12234,9802,1,1,4499,8821,46.3,9110,8822,-93.06,9110,8823,48.38,9110,8824,47.02,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26842,"NAD83(NSRS2007) / Minnesota Central (ftUS)",9001,4759,12235,9802,1,1,4499,8821,45,9110,8822,-94.15,9110,8823,47.03,9110,8824,45.37,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26843,"NAD83(NSRS2007) / Minnesota South (ftUS)",9001,4759,12236,9802,1,1,4499,8821,43,9110,8822,-94,9110,8823,45.13,9110,8824,43.47,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26844,"NAD83(NSRS2007) / Nebraska (ftUS)",9001,4759,15396,9802,1,1,4499,8821,39.5,9110,8822,-100,9110,8823,43,9110,8824,40,9110,8826,1640416.6667,9003,8827,0,9003,,,,,,,,,, -26845,"NAD83(NSRS2007) / West Virginia North (ftUS)",9001,4759,14733,9802,1,1,4499,8821,38.3,9110,8822,-79.3,9110,8823,40.15,9110,8824,39,9110,8826,1968500,9001,8827,0,9001,,,,,,,,,, -26846,"NAD83(NSRS2007) / West Virginia South (ftUS)",9001,4759,14734,9802,1,1,4499,8821,37,9110,8822,-81,9110,8823,38.53,9110,8824,37.29,9110,8826,1968500,9001,8827,0,9001,,,,,,,,,, -26847,"NAD83 / Maine East (ftUS)",9003,4269,11833,9807,1,0,4497,8801,43.4,9110,8802,-68.3,9110,8805,0.9999,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -26848,"NAD83 / Maine West (ftUS)",9003,4269,11834,9807,1,0,4497,8801,42.5,9110,8802,-70.1,9110,8805,0.999966667,9201,8806,2952750,9003,8807,0,9003,,,,,,,,,,,,, -26849,"NAD83 / Minnesota North (ftUS)",9003,4269,12234,9802,1,0,4497,8821,46.3,9110,8822,-93.06,9110,8823,48.38,9110,8824,47.02,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26850,"NAD83 / Minnesota Central (ftUS)",9003,4269,12235,9802,1,0,4497,8821,45,9110,8822,-94.15,9110,8823,47.03,9110,8824,45.37,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26851,"NAD83 / Minnesota South (ftUS)",9003,4269,12236,9802,1,0,4497,8821,43,9110,8822,-94,9110,8823,45.13,9110,8824,43.47,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26852,"NAD83 / Nebraska (ftUS)",9003,4269,15396,9802,1,0,4497,8821,39.5,9110,8822,-100,9110,8823,43,9110,8824,40,9110,8826,1640416.6667,9003,8827,0,9003,,,,,,,,,, -26853,"NAD83 / West Virginia North (ftUS)",9003,4269,14735,9802,1,0,4497,8821,38.3,9110,8822,-79.3,9110,8823,40.15,9110,8824,39,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -26854,"NAD83 / West Virginia South (ftUS)",9003,4269,14736,9802,1,0,4497,8821,37,9110,8822,-81,9110,8823,38.53,9110,8824,37.29,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -26855,"NAD83(HARN) / Maine East (ftUS)",9003,4152,11833,9807,1,0,4497,8801,43.4,9110,8802,-68.3,9110,8805,0.9999,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -26856,"NAD83(HARN) / Maine West (ftUS)",9003,4152,11834,9807,1,0,4497,8801,42.5,9110,8802,-70.1,9110,8805,0.999966667,9201,8806,2952750,9003,8807,0,9003,,,,,,,,,,,,, -26857,"NAD83(HARN) / Minnesota North (ftUS)",9003,4152,12234,9802,1,0,4497,8821,46.3,9110,8822,-93.06,9110,8823,48.38,9110,8824,47.02,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26858,"NAD83(HARN) / Minnesota Central (ftUS)",9003,4152,12235,9802,1,0,4497,8821,45,9110,8822,-94.15,9110,8823,47.03,9110,8824,45.37,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26859,"NAD83(HARN) / Minnesota South (ftUS)",9003,4152,12236,9802,1,0,4497,8821,43,9110,8822,-94,9110,8823,45.13,9110,8824,43.47,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26860,"NAD83(HARN) / Nebraska (ftUS)",9003,4152,15396,9802,1,0,4497,8821,39.5,9110,8822,-100,9110,8823,43,9110,8824,40,9110,8826,1640416.6667,9003,8827,0,9003,,,,,,,,,, -26861,"NAD83(HARN) / West Virginia North (ftUS)",9003,4152,14735,9802,1,0,4497,8821,38.3,9110,8822,-79.3,9110,8823,40.15,9110,8824,39,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -26862,"NAD83(HARN) / West Virginia South (ftUS)",9003,4152,14736,9802,1,0,4497,8821,37,9110,8822,-81,9110,8823,38.53,9110,8824,37.29,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -26863,"NAD83(NSRS2007) / Maine East (ftUS)",9003,4759,11833,9807,1,0,4497,8801,43.4,9110,8802,-68.3,9110,8805,0.9999,9201,8806,984250,9003,8807,0,9003,,,,,,,,,,,,, -26864,"NAD83(NSRS2007) / Maine West (ftUS)",9003,4759,11834,9807,1,0,4497,8801,42.5,9110,8802,-70.1,9110,8805,0.999966667,9201,8806,2952750,9003,8807,0,9003,,,,,,,,,,,,, -26865,"NAD83(NSRS2007) / Minnesota North (ftUS)",9003,4759,12234,9802,1,0,4497,8821,46.3,9110,8822,-93.06,9110,8823,48.38,9110,8824,47.02,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26866,"NAD83(NSRS2007) / Minnesota Central (ftUS)",9003,4759,12235,9802,1,0,4497,8821,45,9110,8822,-94.15,9110,8823,47.03,9110,8824,45.37,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26867,"NAD83(NSRS2007) / Minnesota South (ftUS)",9003,4759,12236,9802,1,0,4497,8821,43,9110,8822,-94,9110,8823,45.13,9110,8824,43.47,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,,,,,,,,, -26868,"NAD83(NSRS2007) / Nebraska (ftUS)",9003,4759,15396,9802,1,0,4497,8821,39.5,9110,8822,-100,9110,8823,43,9110,8824,40,9110,8826,1640416.6667,9003,8827,0,9003,,,,,,,,,, -26869,"NAD83(NSRS2007) / West Virginia North (ftUS)",9003,4759,14735,9802,1,0,4497,8821,38.3,9110,8822,-79.3,9110,8823,40.15,9110,8824,39,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -26870,"NAD83(NSRS2007) / West Virginia South (ftUS)",9003,4759,14736,9802,1,0,4497,8821,37,9110,8822,-81,9110,8823,38.53,9110,8824,37.29,9110,8826,1968500,9003,8827,0,9003,,,,,,,,,, -26891,"NAD83(CSRS) / MTM zone 11",9001,4617,17711,9807,1,0,4400,8801,0,9110,8802,-82.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -26892,"NAD83(CSRS) / MTM zone 12",9001,4617,17712,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -26893,"NAD83(CSRS) / MTM zone 13",9001,4617,17713,9807,1,0,4400,8801,0,9102,8802,-84,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -26894,"NAD83(CSRS) / MTM zone 14",9001,4617,17714,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -26895,"NAD83(CSRS) / MTM zone 15",9001,4617,17715,9807,1,0,4400,8801,0,9102,8802,-90,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -26896,"NAD83(CSRS) / MTM zone 16",9001,4617,17716,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -26897,"NAD83(CSRS) / MTM zone 17",9001,4617,17717,9807,1,0,4400,8801,0,9102,8802,-96,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -26898,"NAD83(CSRS) / MTM zone 1",9001,4617,17701,9807,1,0,4496,8801,0,9102,8802,-53,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -26899,"NAD83(CSRS) / MTM zone 2",9001,4617,17702,9807,1,0,4496,8801,0,9102,8802,-56,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -26901,"NAD83 / UTM zone 1N",9001,4269,16001,9807,1,0,4400,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26902,"NAD83 / UTM zone 2N",9001,4269,16002,9807,1,0,4400,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26903,"NAD83 / UTM zone 3N",9001,4269,16003,9807,1,0,4400,8801,0,9102,8802,-165,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26904,"NAD83 / UTM zone 4N",9001,4269,16004,9807,1,0,4400,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26905,"NAD83 / UTM zone 5N",9001,4269,16005,9807,1,0,4400,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26906,"NAD83 / UTM zone 6N",9001,4269,16006,9807,1,0,4400,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26907,"NAD83 / UTM zone 7N",9001,4269,16007,9807,1,0,4400,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26908,"NAD83 / UTM zone 8N",9001,4269,16008,9807,1,0,4400,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26909,"NAD83 / UTM zone 9N",9001,4269,16009,9807,1,0,4400,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26910,"NAD83 / UTM zone 10N",9001,4269,16010,9807,1,0,4400,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26911,"NAD83 / UTM zone 11N",9001,4269,16011,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26912,"NAD83 / UTM zone 12N",9001,4269,16012,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26913,"NAD83 / UTM zone 13N",9001,4269,16013,9807,1,0,4400,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26914,"NAD83 / UTM zone 14N",9001,4269,16014,9807,1,0,4400,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26915,"NAD83 / UTM zone 15N",9001,4269,16015,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26916,"NAD83 / UTM zone 16N",9001,4269,16016,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26917,"NAD83 / UTM zone 17N",9001,4269,16017,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26918,"NAD83 / UTM zone 18N",9001,4269,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26919,"NAD83 / UTM zone 19N",9001,4269,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26920,"NAD83 / UTM zone 20N",9001,4269,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26921,"NAD83 / UTM zone 21N",9001,4269,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26922,"NAD83 / UTM zone 22N",9001,4269,16022,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26923,"NAD83 / UTM zone 23N",9001,4269,16023,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26929,"NAD83 / Alabama East",9001,4269,10131,9807,1,0,4499,8801,30.3,9110,8802,-85.5,9110,8805,0.99996,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -26930,"NAD83 / Alabama West",9001,4269,10132,9807,1,0,4499,8801,30,9110,8802,-87.3,9110,8805,0.999933333,9201,8806,600000,9001,8807,0,9001,,,,,,,,,,,,, -26931,"NAD83 / Alaska zone 1",9001,4269,15031,9812,1,0,4499,8806,5000000,9001,8807,-5000000,9001,8811,57,9110,8812,-133.4,9110,8813,323.07483685,9110,8814,323.07483685,9110,8815,0.9999,9201,,,,,,, -26932,"NAD83 / Alaska zone 2",9001,4269,15032,9807,1,0,4499,8801,54,9102,8802,-142,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26933,"NAD83 / Alaska zone 3",9001,4269,15033,9807,1,0,4499,8801,54,9102,8802,-146,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26934,"NAD83 / Alaska zone 4",9001,4269,15034,9807,1,0,4499,8801,54,9102,8802,-150,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26935,"NAD83 / Alaska zone 5",9001,4269,15035,9807,1,0,4499,8801,54,9102,8802,-154,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26936,"NAD83 / Alaska zone 6",9001,4269,15036,9807,1,0,4499,8801,54,9102,8802,-158,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26937,"NAD83 / Alaska zone 7",9001,4269,15037,9807,1,0,4499,8801,54,9102,8802,-162,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26938,"NAD83 / Alaska zone 8",9001,4269,15038,9807,1,0,4499,8801,54,9102,8802,-166,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26939,"NAD83 / Alaska zone 9",9001,4269,15039,9807,1,0,4499,8801,54,9102,8802,-170,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26940,"NAD83 / Alaska zone 10",9001,4269,15040,9802,1,0,4499,8821,51,9110,8822,-176,9110,8823,53.5,9110,8824,51.5,9110,8826,1000000,9001,8827,0,9001,,,,,,,,,, -26941,"NAD83 / California zone 1",9001,4269,10431,9802,1,0,4499,8821,39.2,9110,8822,-122,9110,8823,41.4,9110,8824,40,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -26942,"NAD83 / California zone 2",9001,4269,10432,9802,1,0,4499,8821,37.4,9110,8822,-122,9110,8823,39.5,9110,8824,38.2,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -26943,"NAD83 / California zone 3",9001,4269,10433,9802,1,0,4499,8821,36.3,9110,8822,-120.3,9110,8823,38.26,9110,8824,37.04,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -26944,"NAD83 / California zone 4",9001,4269,10434,9802,1,0,4499,8821,35.2,9110,8822,-119,9110,8823,37.15,9110,8824,36,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -26945,"NAD83 / California zone 5",9001,4269,10435,9802,1,0,4499,8821,33.3,9110,8822,-118,9110,8823,35.28,9110,8824,34.02,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -26946,"NAD83 / California zone 6",9001,4269,10436,9802,1,0,4499,8821,32.1,9110,8822,-116.15,9110,8823,33.53,9110,8824,32.47,9110,8826,2000000,9001,8827,500000,9001,,,,,,,,,, -26948,"NAD83 / Arizona East",9001,4269,10231,9807,1,0,4499,8801,31,9110,8802,-110.1,9110,8805,0.9999,9201,8806,213360,9001,8807,0,9001,,,,,,,,,,,,, -26949,"NAD83 / Arizona Central",9001,4269,10232,9807,1,0,4499,8801,31,9110,8802,-111.55,9110,8805,0.9999,9201,8806,213360,9001,8807,0,9001,,,,,,,,,,,,, -26950,"NAD83 / Arizona West",9001,4269,10233,9807,1,0,4499,8801,31,9110,8802,-113.45,9110,8805,0.999933333,9201,8806,213360,9001,8807,0,9001,,,,,,,,,,,,, -26951,"NAD83 / Arkansas North",9001,4269,10331,9802,1,0,4499,8821,34.2,9110,8822,-92,9110,8823,36.14,9110,8824,34.56,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -26952,"NAD83 / Arkansas South",9001,4269,10332,9802,1,0,4499,8821,32.4,9110,8822,-92,9110,8823,34.46,9110,8824,33.18,9110,8826,400000,9001,8827,400000,9001,,,,,,,,,, -26953,"NAD83 / Colorado North",9001,4269,10531,9802,1,0,4499,8821,39.2,9110,8822,-105.3,9110,8823,40.47,9110,8824,39.43,9110,8826,914401.8289,9001,8827,304800.6096,9001,,,,,,,,,, -26954,"NAD83 / Colorado Central",9001,4269,10532,9802,1,0,4499,8821,37.5,9110,8822,-105.3,9110,8823,39.45,9110,8824,38.27,9110,8826,914401.8289,9001,8827,304800.6096,9001,,,,,,,,,, -26955,"NAD83 / Colorado South",9001,4269,10533,9802,1,0,4499,8821,36.4,9110,8822,-105.3,9110,8823,38.26,9110,8824,37.14,9110,8826,914401.8289,9001,8827,304800.6096,9001,,,,,,,,,, -26956,"NAD83 / Connecticut",9001,4269,10630,9802,1,0,4499,8821,40.5,9110,8822,-72.45,9110,8823,41.52,9110,8824,41.12,9110,8826,304800.6096,9001,8827,152400.3048,9001,,,,,,,,,, -26957,"NAD83 / Delaware",9001,4269,10730,9807,1,0,4499,8801,38,9110,8802,-75.25,9110,8805,0.999995,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -26958,"NAD83 / Florida East",9001,4269,10931,9807,1,0,4499,8801,24.2,9110,8802,-81,9110,8805,0.999941177,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -26959,"NAD83 / Florida West",9001,4269,10932,9807,1,0,4499,8801,24.2,9110,8802,-82,9110,8805,0.999941177,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -26960,"NAD83 / Florida North",9001,4269,10933,9802,1,0,4499,8821,29,9110,8822,-84.3,9110,8823,30.45,9110,8824,29.35,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -26961,"NAD83 / Hawaii zone 1",9001,4269,15131,9807,1,0,4499,8801,18.5,9110,8802,-155.3,9110,8805,0.999966667,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26962,"NAD83 / Hawaii zone 2",9001,4269,15132,9807,1,0,4499,8801,20.2,9110,8802,-156.4,9110,8805,0.999966667,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26963,"NAD83 / Hawaii zone 3",9001,4269,15133,9807,1,0,4499,8801,21.1,9110,8802,-158,9110,8805,0.99999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26964,"NAD83 / Hawaii zone 4",9001,4269,15134,9807,1,0,4499,8801,21.5,9110,8802,-159.3,9110,8805,0.99999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26965,"NAD83 / Hawaii zone 5",9001,4269,15135,9807,1,0,4499,8801,21.4,9110,8802,-160.1,9110,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26966,"NAD83 / Georgia East",9001,4269,11031,9807,1,0,4499,8801,30,9110,8802,-82.1,9110,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -26967,"NAD83 / Georgia West",9001,4269,11032,9807,1,0,4499,8801,30,9110,8802,-84.1,9110,8805,0.9999,9201,8806,700000,9001,8807,0,9001,,,,,,,,,,,,, -26968,"NAD83 / Idaho East",9001,4269,11131,9807,1,0,4499,8801,41.4,9110,8802,-112.1,9110,8805,0.999947368,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -26969,"NAD83 / Idaho Central",9001,4269,11132,9807,1,0,4499,8801,41.4,9110,8802,-114,9110,8805,0.999947368,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26970,"NAD83 / Idaho West",9001,4269,11133,9807,1,0,4499,8801,41.4,9110,8802,-115.45,9110,8805,0.999933333,9201,8806,800000,9001,8807,0,9001,,,,,,,,,,,,, -26971,"NAD83 / Illinois East",9001,4269,11231,9807,1,0,4499,8801,36.4,9110,8802,-88.2,9110,8805,0.999975,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -26972,"NAD83 / Illinois West",9001,4269,11232,9807,1,0,4499,8801,36.4,9110,8802,-90.1,9110,8805,0.999941177,9201,8806,700000,9001,8807,0,9001,,,,,,,,,,,,, -26973,"NAD83 / Indiana East",9001,4269,11331,9807,1,0,4499,8801,37.3,9110,8802,-85.4,9110,8805,0.999966667,9201,8806,100000,9001,8807,250000,9001,,,,,,,,,,,,, -26974,"NAD83 / Indiana West",9001,4269,11332,9807,1,0,4499,8801,37.3,9110,8802,-87.05,9110,8805,0.999966667,9201,8806,900000,9001,8807,250000,9001,,,,,,,,,,,,, -26975,"NAD83 / Iowa North",9001,4269,11431,9802,1,0,4499,8821,41.3,9110,8822,-93.3,9110,8823,43.16,9110,8824,42.04,9110,8826,1500000,9001,8827,1000000,9001,,,,,,,,,, -26976,"NAD83 / Iowa South",9001,4269,11432,9802,1,0,4499,8821,40,9110,8822,-93.3,9110,8823,41.47,9110,8824,40.37,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -26977,"NAD83 / Kansas North",9001,4269,11531,9802,1,0,4499,8821,38.2,9110,8822,-98,9110,8823,39.47,9110,8824,38.43,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -26978,"NAD83 / Kansas South",9001,4269,11532,9802,1,0,4499,8821,36.4,9110,8822,-98.3,9110,8823,38.34,9110,8824,37.16,9110,8826,400000,9001,8827,400000,9001,,,,,,,,,, -26979,"NAD83 / Kentucky North",9001,4269,11631,9802,1,1,4499,8821,37.3,9110,8822,-84.15,9110,8823,37.58,9110,8824,37.58,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -26980,"NAD83 / Kentucky South",9001,4269,11632,9802,1,0,4499,8821,36.2,9110,8822,-85.45,9110,8823,37.56,9110,8824,36.44,9110,8826,500000,9001,8827,500000,9001,,,,,,,,,, -26981,"NAD83 / Louisiana North",9001,4269,11731,9802,1,0,4499,8821,30.3,9110,8822,-92.3,9110,8823,32.4,9110,8824,31.1,9110,8826,1000000,9001,8827,0,9001,,,,,,,,,, -26982,"NAD83 / Louisiana South",9001,4269,11732,9802,1,0,4499,8821,28.3,9110,8822,-91.2,9110,8823,30.42,9110,8824,29.18,9110,8826,1000000,9001,8827,0,9001,,,,,,,,,, -26983,"NAD83 / Maine East",9001,4269,11831,9807,1,0,4499,8801,43.4,9110,8802,-68.3,9110,8805,0.9999,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -26984,"NAD83 / Maine West",9001,4269,11832,9807,1,0,4499,8801,42.5,9110,8802,-70.1,9110,8805,0.999966667,9201,8806,900000,9001,8807,0,9001,,,,,,,,,,,,, -26985,"NAD83 / Maryland",9001,4269,11930,9802,1,0,4499,8821,37.4,9110,8822,-77,9110,8823,39.27,9110,8824,38.18,9110,8826,400000,9001,8827,0,9001,,,,,,,,,, -26986,"NAD83 / Massachusetts Mainland",9001,4269,12031,9802,1,0,4499,8821,41,9110,8822,-71.3,9110,8823,42.41,9110,8824,41.43,9110,8826,200000,9001,8827,750000,9001,,,,,,,,,, -26987,"NAD83 / Massachusetts Island",9001,4269,12032,9802,1,0,4499,8821,41,9110,8822,-70.3,9110,8823,41.29,9110,8824,41.17,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -26988,"NAD83 / Michigan North",9001,4269,12141,9802,1,0,4499,8821,44.47,9110,8822,-87,9110,8823,47.05,9110,8824,45.29,9110,8826,8000000,9001,8827,0,9001,,,,,,,,,, -26989,"NAD83 / Michigan Central",9001,4269,12142,9802,1,0,4499,8821,43.19,9110,8822,-84.22,9110,8823,45.42,9110,8824,44.11,9110,8826,6000000,9001,8827,0,9001,,,,,,,,,, -26990,"NAD83 / Michigan South",9001,4269,12143,9802,1,0,4499,8821,41.3,9110,8822,-84.22,9110,8823,43.4,9110,8824,42.06,9110,8826,4000000,9001,8827,0,9001,,,,,,,,,, -26991,"NAD83 / Minnesota North",9001,4269,12231,9802,1,0,4499,8821,46.3,9110,8822,-93.06,9110,8823,48.38,9110,8824,47.02,9110,8826,800000,9001,8827,100000,9001,,,,,,,,,, -26992,"NAD83 / Minnesota Central",9001,4269,12232,9802,1,0,4499,8821,45,9110,8822,-94.15,9110,8823,47.03,9110,8824,45.37,9110,8826,800000,9001,8827,100000,9001,,,,,,,,,, -26993,"NAD83 / Minnesota South",9001,4269,12233,9802,1,0,4499,8821,43,9110,8822,-94,9110,8823,45.13,9110,8824,43.47,9110,8826,800000,9001,8827,100000,9001,,,,,,,,,, -26994,"NAD83 / Mississippi East",9001,4269,12331,9807,1,0,4499,8801,29.3,9110,8802,-88.5,9110,8805,0.99995,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -26995,"NAD83 / Mississippi West",9001,4269,12332,9807,1,0,4499,8801,29.3,9110,8802,-90.2,9110,8805,0.99995,9201,8806,700000,9001,8807,0,9001,,,,,,,,,,,,, -26996,"NAD83 / Missouri East",9001,4269,12431,9807,1,0,4499,8801,35.5,9110,8802,-90.3,9110,8805,0.999933333,9201,8806,250000,9001,8807,0,9001,,,,,,,,,,,,, -26997,"NAD83 / Missouri Central",9001,4269,12432,9807,1,0,4499,8801,35.5,9110,8802,-92.3,9110,8805,0.999933333,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -26998,"NAD83 / Missouri West",9001,4269,12433,9807,1,0,4499,8801,36.1,9110,8802,-94.3,9110,8805,0.999941177,9201,8806,850000,9001,8807,0,9001,,,,,,,,,,,,, -27037,"Nahrwan 1967 / UTM zone 37N",9001,4270,16037,9807,1,1,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -27038,"Nahrwan 1967 / UTM zone 38N",9001,4270,16038,9807,1,1,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -27039,"Nahrwan 1967 / UTM zone 39N",9001,4270,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -27040,"Nahrwan 1967 / UTM zone 40N",9001,4270,16040,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -27120,"Naparima 1972 / UTM zone 20N",9001,4271,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -27200,"NZGD49 / New Zealand Map Grid",9001,4272,19917,9811,1,0,4400,8801,-41,9102,8802,173,9102,8806,2510000,9001,8807,6023150,9001,,,,,,,,,,,,,,,, -27205,"NZGD49 / Mount Eden Circuit",9001,4272,17901,9807,1,0,4500,8801,-36.5247515,9110,8802,174.45516217,9110,8805,0.9999,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27206,"NZGD49 / Bay of Plenty Circuit",9001,4272,17902,9807,1,0,4500,8801,-37.45404993,9110,8802,176.27583101,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27207,"NZGD49 / Poverty Bay Circuit",9001,4272,17903,9807,1,0,4500,8801,-38.372893,9110,8802,177.53082906,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27208,"NZGD49 / Hawkes Bay Circuit",9001,4272,17904,9807,1,0,4500,8801,-39.39033455,9110,8802,176.40252499,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27209,"NZGD49 / Taranaki Circuit",9001,4272,17905,9807,1,0,4500,8801,-39.08087299,9110,8802,174.13408423,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27210,"NZGD49 / Tuhirangi Circuit",9001,4272,17906,9807,1,0,4500,8801,-39.30448934,9110,8802,175.38241325,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27211,"NZGD49 / Wanganui Circuit",9001,4272,17907,9807,1,0,4500,8801,-40.14310097,9110,8802,175.29171586,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27212,"NZGD49 / Wairarapa Circuit",9001,4272,17908,9807,1,0,4500,8801,-40.55319175,9110,8802,175.38504588,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27213,"NZGD49 / Wellington Circuit",9001,4272,17909,9807,1,0,4500,8801,-41.18047507,9110,8802,174.46358432,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27214,"NZGD49 / Collingwood Circuit",9001,4272,17910,9807,1,0,4500,8801,-40.42531326,9110,8802,172.40193674,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27215,"NZGD49 / Nelson Circuit",9001,4272,17911,9807,1,0,4500,8801,-41.1628361,9110,8802,173.17575405,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27216,"NZGD49 / Karamea Circuit",9001,4272,17912,9807,1,0,4500,8801,-41.17236815,9110,8802,172.06325015,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27217,"NZGD49 / Buller Circuit",9001,4272,17913,9807,1,0,4500,8801,-41.48388903,9110,8802,171.34525362,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27218,"NZGD49 / Grey Circuit",9001,4272,17914,9807,1,0,4500,8801,-42.20012994,9110,8802,171.32591767,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27219,"NZGD49 / Amuri Circuit",9001,4272,17915,9807,1,0,4500,8801,-42.41208197,9110,8802,173.00364802,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27220,"NZGD49 / Marlborough Circuit",9001,4272,17916,9807,1,0,4500,8801,-41.3240152,9110,8802,173.48074668,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27221,"NZGD49 / Hokitika Circuit",9001,4272,17917,9807,1,0,4500,8801,-42.53107605,9110,8802,170.58479766,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27222,"NZGD49 / Okarito Circuit",9001,4272,17918,9807,1,0,4500,8801,-43.06364613,9110,8802,170.1539333,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27223,"NZGD49 / Jacksons Bay Circuit",9001,4272,17919,9807,1,0,4500,8801,-43.58400904,9110,8802,168.36225612,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27224,"NZGD49 / Mount Pleasant Circuit",9001,4272,17920,9807,1,0,4500,8801,-43.35262953,9110,8802,172.43378969,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27225,"NZGD49 / Gawler Circuit",9001,4272,17921,9807,1,0,4500,8801,-43.44553616,9110,8802,171.21386945,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27226,"NZGD49 / Timaru Circuit",9001,4272,17922,9807,1,0,4500,8801,-44.24079933,9110,8802,171.0326103,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27227,"NZGD49 / Lindis Peak Circuit",9001,4272,17923,9807,1,0,4500,8801,-44.44069647,9110,8802,169.28039183,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27228,"NZGD49 / Mount Nicholas Circuit",9001,4272,17924,9807,1,0,4500,8801,-45.07584493,9110,8802,168.23551083,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27229,"NZGD49 / Mount York Circuit",9001,4272,17925,9807,1,0,4500,8801,-45.33494142,9110,8802,167.44199024,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27230,"NZGD49 / Observation Point Circuit",9001,4272,17926,9807,1,0,4500,8801,-45.48583078,9110,8802,170.37429426,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27231,"NZGD49 / North Taieri Circuit",9001,4272,17927,9807,1,0,4500,8801,-45.51414481,9110,8802,170.16573208,9110,8805,0.99996,9201,8806,300000,9001,8807,700000,9001,,,,,,,,,,,,, -27232,"NZGD49 / Bluff Circuit",9001,4272,17928,9807,1,0,4500,8801,-46.36000346,9110,8802,168.20343392,9110,8805,1,9201,8806,300002.66,9001,8807,699999.58,9001,,,,,,,,,,,,, -27258,"NZGD49 / UTM zone 58S",9001,4272,16158,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -27259,"NZGD49 / UTM zone 59S",9001,4272,16159,9807,1,0,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -27260,"NZGD49 / UTM zone 60S",9001,4272,16160,9807,1,0,4400,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -27291,"NZGD49 / North Island Grid",9040,4272,18141,9807,1,0,4409,8801,-39,9110,8802,175.3,9110,8805,1,9201,8806,300000,9040,8807,400000,9040,,,,,,,,,,,,, -27292,"NZGD49 / South Island Grid",9040,4272,18142,9807,1,0,4409,8801,-44,9110,8802,171.3,9110,8805,1,9201,8806,500000,9040,8807,500000,9040,,,,,,,,,,,,, -27391,"NGO 1948 (Oslo) / NGO zone I",9001,4817,18221,9807,1,0,4531,8801,58,9110,8802,-4.4,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -27392,"NGO 1948 (Oslo) / NGO zone II",9001,4817,18222,9807,1,0,4531,8801,58,9110,8802,-2.2,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -27393,"NGO 1948 (Oslo) / NGO zone III",9001,4817,18223,9807,1,0,4531,8801,58,9110,8802,0,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -27394,"NGO 1948 (Oslo) / NGO zone IV",9001,4817,18224,9807,1,0,4531,8801,58,9110,8802,2.3,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -27395,"NGO 1948 (Oslo) / NGO zone V",9001,4817,18225,9807,1,0,4531,8801,58,9110,8802,6.1,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -27396,"NGO 1948 (Oslo) / NGO zone VI",9001,4817,18226,9807,1,0,4531,8801,58,9110,8802,10.1,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -27397,"NGO 1948 (Oslo) / NGO zone VII",9001,4817,18227,9807,1,0,4531,8801,58,9110,8802,14.1,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -27398,"NGO 1948 (Oslo) / NGO zone VIII",9001,4817,18228,9807,1,0,4531,8801,58,9110,8802,18.2,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -27429,"Datum 73 / UTM zone 29N",9001,4274,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -27492,"Datum 73 / Modified Portuguese Grid",9001,4274,19974,9807,1,1,4530,8801,39.4,9110,8802,-8.0754862,9110,8805,1,9201,8806,180.598,9001,8807,-86.99,9001,,,,,,,,,,,,, -27493,"Datum 73 / Modified Portuguese Grid",9001,4274,19974,9807,1,0,4499,8801,39.4,9110,8802,-8.0754862,9110,8805,1,9201,8806,180.598,9001,8807,-86.99,9001,,,,,,,,,,,,, -27500,"ATF (Paris) / Nord de Guerre",9001,4901,19903,9801,1,0,4499,8801,55,9105,8802,6,9105,8805,0.99950908,9201,8806,500000,9001,8807,300000,9001,,,,,,,,,,,,, -27561,"NTF (Paris) / Lambert Nord France",9001,4807,18091,9801,1,0,4499,8801,55,9105,8802,0,9105,8805,0.999877341,9201,8806,600000,9001,8807,200000,9001,,,,,,,,,,,,, -27562,"NTF (Paris) / Lambert Centre France",9001,4807,18092,9801,1,0,4499,8801,52,9105,8802,0,9105,8805,0.99987742,9201,8806,600000,9001,8807,200000,9001,,,,,,,,,,,,, -27563,"NTF (Paris) / Lambert Sud France",9001,4807,18093,9801,1,0,4499,8801,49,9105,8802,0,9105,8805,0.999877499,9201,8806,600000,9001,8807,200000,9001,,,,,,,,,,,,, -27564,"NTF (Paris) / Lambert Corse",9001,4807,18094,9801,1,0,4499,8801,46.85,9105,8802,0,9105,8805,0.99994471,9201,8806,234.358,9001,8807,185861.369,9001,,,,,,,,,,,,, -27571,"NTF (Paris) / Lambert zone I",9001,4807,18081,9801,1,0,4499,8801,55,9105,8802,0,9105,8805,0.999877341,9201,8806,600000,9001,8807,1200000,9001,,,,,,,,,,,,, -27572,"NTF (Paris) / Lambert zone II",9001,4807,18082,9801,1,0,4499,8801,52,9105,8802,0,9105,8805,0.99987742,9201,8806,600000,9001,8807,2200000,9001,,,,,,,,,,,,, -27573,"NTF (Paris) / Lambert zone III",9001,4807,18083,9801,1,0,4499,8801,49,9105,8802,0,9105,8805,0.999877499,9201,8806,600000,9001,8807,3200000,9001,,,,,,,,,,,,, -27574,"NTF (Paris) / Lambert zone IV",9001,4807,18084,9801,1,0,4499,8801,46.85,9105,8802,0,9105,8805,0.99994471,9201,8806,234.358,9001,8807,4185861.369,9001,,,,,,,,,,,,, -27581,"NTF (Paris) / France I",9001,4807,18081,9801,1,1,4499,8801,55,9105,8802,0,9105,8805,0.999877341,9201,8806,600000,9001,8807,1200000,9001,,,,,,,,,,,,, -27582,"NTF (Paris) / France II",9001,4807,18082,9801,1,1,4499,8801,52,9105,8802,0,9105,8805,0.99987742,9201,8806,600000,9001,8807,2200000,9001,,,,,,,,,,,,, -27583,"NTF (Paris) / France III",9001,4807,18083,9801,1,1,4499,8801,49,9105,8802,0,9105,8805,0.999877499,9201,8806,600000,9001,8807,3200000,9001,,,,,,,,,,,,, -27584,"NTF (Paris) / France IV",9001,4807,18084,9801,1,1,4499,8801,46.85,9105,8802,0,9105,8805,0.99994471,9201,8806,234.358,9001,8807,4185861.369,9001,,,,,,,,,,,,, -27591,"NTF (Paris) / Nord France",9001,4807,18091,9801,1,1,4499,8801,55,9105,8802,0,9105,8805,0.999877341,9201,8806,600000,9001,8807,200000,9001,,,,,,,,,,,,, -27592,"NTF (Paris) / Centre France",9001,4807,18092,9801,1,1,4499,8801,52,9105,8802,0,9105,8805,0.99987742,9201,8806,600000,9001,8807,200000,9001,,,,,,,,,,,,, -27593,"NTF (Paris) / Sud France",9001,4807,18093,9801,1,1,4499,8801,49,9105,8802,0,9105,8805,0.999877499,9201,8806,600000,9001,8807,200000,9001,,,,,,,,,,,,, -27594,"NTF (Paris) / Corse",9001,4807,18094,9801,1,1,4499,8801,46.85,9105,8802,0,9105,8805,0.99994471,9201,8806,234.358,9001,8807,185861.369,9001,,,,,,,,,,,,, -27700,"OSGB 1936 / British National Grid",9001,4277,19916,9807,1,0,4400,8801,49,9102,8802,-2,9102,8805,0.9996012717,9201,8806,400000,9001,8807,-100000,9001,,,,,,,,,,,,, -28191,"Palestine 1923 / Palestine Grid",9001,4281,18201,9806,1,0,4400,8801,31.4402749,9110,8802,35.124349,9110,8806,170251.555,9001,8807,126867.909,9001,,,,,,,,,,,,,,,, -28192,"Palestine 1923 / Palestine Belt",9001,4281,18202,9807,1,0,4400,8801,31.4402749,9110,8802,35.124349,9110,8805,1,9201,8806,170251.555,9001,8807,1126867.909,9001,,,,,,,,,,,,, -28193,"Palestine 1923 / Israeli CS Grid",9001,4281,18203,9806,1,0,4400,8801,31.4402749,9110,8802,35.124349,9110,8806,170251.555,9001,8807,1126867.909,9001,,,,,,,,,,,,,,,, -28232,"Pointe Noire / UTM zone 32S",9001,4282,16132,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -28348,"GDA94 / MGA zone 48",9001,4283,17348,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -28349,"GDA94 / MGA zone 49",9001,4283,17349,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -28350,"GDA94 / MGA zone 50",9001,4283,17350,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -28351,"GDA94 / MGA zone 51",9001,4283,17351,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -28352,"GDA94 / MGA zone 52",9001,4283,17352,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -28353,"GDA94 / MGA zone 53",9001,4283,17353,9807,1,0,4400,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -28354,"GDA94 / MGA zone 54",9001,4283,17354,9807,1,0,4400,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -28355,"GDA94 / MGA zone 55",9001,4283,17355,9807,1,0,4400,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -28356,"GDA94 / MGA zone 56",9001,4283,17356,9807,1,0,4400,8801,0,9102,8802,153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -28357,"GDA94 / MGA zone 57",9001,4283,17357,9807,1,0,4400,8801,0,9102,8802,159,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -28358,"GDA94 / MGA zone 58",9001,4283,17358,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -28402,"Pulkovo 1942 / Gauss-Kruger zone 2",9001,4284,16202,9807,1,1,4530,8801,0,9102,8802,9,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -28403,"Pulkovo 1942 / Gauss-Kruger zone 3",9001,4284,16203,9807,1,1,4530,8801,0,9102,8802,15,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -28404,"Pulkovo 1942 / Gauss-Kruger zone 4",9001,4284,16204,9807,1,0,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -28405,"Pulkovo 1942 / Gauss-Kruger zone 5",9001,4284,16205,9807,1,0,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -28406,"Pulkovo 1942 / Gauss-Kruger zone 6",9001,4284,16206,9807,1,0,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -28407,"Pulkovo 1942 / Gauss-Kruger zone 7",9001,4284,16207,9807,1,0,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -28408,"Pulkovo 1942 / Gauss-Kruger zone 8",9001,4284,16208,9807,1,0,4530,8801,0,9102,8802,45,9102,8805,1,9201,8806,8500000,9001,8807,0,9001,,,,,,,,,,,,, -28409,"Pulkovo 1942 / Gauss-Kruger zone 9",9001,4284,16209,9807,1,0,4530,8801,0,9102,8802,51,9102,8805,1,9201,8806,9500000,9001,8807,0,9001,,,,,,,,,,,,, -28410,"Pulkovo 1942 / Gauss-Kruger zone 10",9001,4284,16210,9807,1,0,4530,8801,0,9102,8802,57,9102,8805,1,9201,8806,10500000,9001,8807,0,9001,,,,,,,,,,,,, -28411,"Pulkovo 1942 / Gauss-Kruger zone 11",9001,4284,16211,9807,1,0,4530,8801,0,9102,8802,63,9102,8805,1,9201,8806,11500000,9001,8807,0,9001,,,,,,,,,,,,, -28412,"Pulkovo 1942 / Gauss-Kruger zone 12",9001,4284,16212,9807,1,0,4530,8801,0,9102,8802,69,9102,8805,1,9201,8806,12500000,9001,8807,0,9001,,,,,,,,,,,,, -28413,"Pulkovo 1942 / Gauss-Kruger zone 13",9001,4284,16213,9807,1,0,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,13500000,9001,8807,0,9001,,,,,,,,,,,,, -28414,"Pulkovo 1942 / Gauss-Kruger zone 14",9001,4284,16214,9807,1,0,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,14500000,9001,8807,0,9001,,,,,,,,,,,,, -28415,"Pulkovo 1942 / Gauss-Kruger zone 15",9001,4284,16215,9807,1,0,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,15500000,9001,8807,0,9001,,,,,,,,,,,,, -28416,"Pulkovo 1942 / Gauss-Kruger zone 16",9001,4284,16216,9807,1,0,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,16500000,9001,8807,0,9001,,,,,,,,,,,,, -28417,"Pulkovo 1942 / Gauss-Kruger zone 17",9001,4284,16217,9807,1,0,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,17500000,9001,8807,0,9001,,,,,,,,,,,,, -28418,"Pulkovo 1942 / Gauss-Kruger zone 18",9001,4284,16218,9807,1,0,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,18500000,9001,8807,0,9001,,,,,,,,,,,,, -28419,"Pulkovo 1942 / Gauss-Kruger zone 19",9001,4284,16219,9807,1,0,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,19500000,9001,8807,0,9001,,,,,,,,,,,,, -28420,"Pulkovo 1942 / Gauss-Kruger zone 20",9001,4284,16220,9807,1,0,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,20500000,9001,8807,0,9001,,,,,,,,,,,,, -28421,"Pulkovo 1942 / Gauss-Kruger zone 21",9001,4284,16221,9807,1,0,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,21500000,9001,8807,0,9001,,,,,,,,,,,,, -28422,"Pulkovo 1942 / Gauss-Kruger zone 22",9001,4284,16222,9807,1,0,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,22500000,9001,8807,0,9001,,,,,,,,,,,,, -28423,"Pulkovo 1942 / Gauss-Kruger zone 23",9001,4284,16223,9807,1,0,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,23500000,9001,8807,0,9001,,,,,,,,,,,,, -28424,"Pulkovo 1942 / Gauss-Kruger zone 24",9001,4284,16224,9807,1,0,4530,8801,0,9102,8802,141,9102,8805,1,9201,8806,24500000,9001,8807,0,9001,,,,,,,,,,,,, -28425,"Pulkovo 1942 / Gauss-Kruger zone 25",9001,4284,16225,9807,1,0,4530,8801,0,9102,8802,147,9102,8805,1,9201,8806,25500000,9001,8807,0,9001,,,,,,,,,,,,, -28426,"Pulkovo 1942 / Gauss-Kruger zone 26",9001,4284,16226,9807,1,0,4530,8801,0,9102,8802,153,9102,8805,1,9201,8806,26500000,9001,8807,0,9001,,,,,,,,,,,,, -28427,"Pulkovo 1942 / Gauss-Kruger zone 27",9001,4284,16227,9807,1,0,4530,8801,0,9102,8802,159,9102,8805,1,9201,8806,27500000,9001,8807,0,9001,,,,,,,,,,,,, -28428,"Pulkovo 1942 / Gauss-Kruger zone 28",9001,4284,16228,9807,1,0,4530,8801,0,9102,8802,165,9102,8805,1,9201,8806,28500000,9001,8807,0,9001,,,,,,,,,,,,, -28429,"Pulkovo 1942 / Gauss-Kruger zone 29",9001,4284,16229,9807,1,0,4530,8801,0,9102,8802,171,9102,8805,1,9201,8806,29500000,9001,8807,0,9001,,,,,,,,,,,,, -28430,"Pulkovo 1942 / Gauss-Kruger zone 30",9001,4284,16230,9807,1,0,4530,8801,0,9102,8802,177,9102,8805,1,9201,8806,30500000,9001,8807,0,9001,,,,,,,,,,,,, -28431,"Pulkovo 1942 / Gauss-Kruger zone 31",9001,4284,16231,9807,1,0,4530,8801,0,9102,8802,-177,9102,8805,1,9201,8806,31500000,9001,8807,0,9001,,,,,,,,,,,,, -28432,"Pulkovo 1942 / Gauss-Kruger zone 32",9001,4284,16232,9807,1,0,4530,8801,0,9102,8802,-171,9102,8805,1,9201,8806,32500000,9001,8807,0,9001,,,,,,,,,,,,, -28462,"Pulkovo 1942 / Gauss-Kruger 2N",9001,4284,16302,9807,1,1,4530,8801,0,9102,8802,9,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28463,"Pulkovo 1942 / Gauss-Kruger 3N",9001,4284,16303,9807,1,1,4530,8801,0,9102,8802,15,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28464,"Pulkovo 1942 / Gauss-Kruger 4N",9001,4284,16304,9807,1,1,4530,8801,0,9102,8802,21,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28465,"Pulkovo 1942 / Gauss-Kruger 5N",9001,4284,16305,9807,1,1,4530,8801,0,9102,8802,27,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28466,"Pulkovo 1942 / Gauss-Kruger 6N",9001,4284,16306,9807,1,1,4530,8801,0,9102,8802,33,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28467,"Pulkovo 1942 / Gauss-Kruger 7N",9001,4284,16307,9807,1,1,4530,8801,0,9102,8802,39,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28468,"Pulkovo 1942 / Gauss-Kruger 8N",9001,4284,16308,9807,1,1,4530,8801,0,9102,8802,45,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28469,"Pulkovo 1942 / Gauss-Kruger 9N",9001,4284,16309,9807,1,1,4530,8801,0,9102,8802,51,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28470,"Pulkovo 1942 / Gauss-Kruger 10N",9001,4284,16310,9807,1,1,4530,8801,0,9102,8802,57,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28471,"Pulkovo 1942 / Gauss-Kruger 11N",9001,4284,16311,9807,1,1,4530,8801,0,9102,8802,63,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28472,"Pulkovo 1942 / Gauss-Kruger 12N",9001,4284,16312,9807,1,1,4530,8801,0,9102,8802,69,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28473,"Pulkovo 1942 / Gauss-Kruger 13N",9001,4284,16313,9807,1,1,4530,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28474,"Pulkovo 1942 / Gauss-Kruger 14N",9001,4284,16314,9807,1,1,4530,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28475,"Pulkovo 1942 / Gauss-Kruger 15N",9001,4284,16315,9807,1,1,4530,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28476,"Pulkovo 1942 / Gauss-Kruger 16N",9001,4284,16316,9807,1,1,4530,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28477,"Pulkovo 1942 / Gauss-Kruger 17N",9001,4284,16317,9807,1,1,4530,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28478,"Pulkovo 1942 / Gauss-Kruger 18N",9001,4284,16318,9807,1,1,4530,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28479,"Pulkovo 1942 / Gauss-Kruger 19N",9001,4284,16319,9807,1,1,4530,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28480,"Pulkovo 1942 / Gauss-Kruger 20N",9001,4284,16320,9807,1,1,4530,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28481,"Pulkovo 1942 / Gauss-Kruger 21N",9001,4284,16321,9807,1,1,4530,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28482,"Pulkovo 1942 / Gauss-Kruger 22N",9001,4284,16322,9807,1,1,4530,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28483,"Pulkovo 1942 / Gauss-Kruger 23N",9001,4284,16323,9807,1,1,4530,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28484,"Pulkovo 1942 / Gauss-Kruger 24N",9001,4284,16324,9807,1,1,4530,8801,0,9102,8802,141,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28485,"Pulkovo 1942 / Gauss-Kruger 25N",9001,4284,16325,9807,1,1,4530,8801,0,9102,8802,147,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28486,"Pulkovo 1942 / Gauss-Kruger 26N",9001,4284,16326,9807,1,1,4530,8801,0,9102,8802,153,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28487,"Pulkovo 1942 / Gauss-Kruger 27N",9001,4284,16327,9807,1,1,4530,8801,0,9102,8802,159,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28488,"Pulkovo 1942 / Gauss-Kruger 28N",9001,4284,16328,9807,1,1,4530,8801,0,9102,8802,165,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28489,"Pulkovo 1942 / Gauss-Kruger 29N",9001,4284,16329,9807,1,1,4530,8801,0,9102,8802,171,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28490,"Pulkovo 1942 / Gauss-Kruger 30N",9001,4284,16330,9807,1,1,4530,8801,0,9102,8802,177,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28491,"Pulkovo 1942 / Gauss-Kruger 31N",9001,4284,16331,9807,1,1,4530,8801,0,9102,8802,-177,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28492,"Pulkovo 1942 / Gauss-Kruger 32N",9001,4284,16332,9807,1,1,4530,8801,0,9102,8802,-171,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -28600,"Qatar 1974 / Qatar National Grid",9001,4285,19919,9807,1,0,4400,8801,24.27,9110,8802,51.13,9110,8805,0.99999,9201,8806,200000,9001,8807,300000,9001,,,,,,,,,,,,, -28991,"Amersfoort / RD Old",9001,4289,19913,9809,1,0,4499,8801,52.0922178,9110,8802,5.23155,9110,8805,0.9999079,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -28992,"Amersfoort / RD New",9001,4289,19914,9809,1,0,4499,8801,52.0922178,9110,8802,5.23155,9110,8805,0.9999079,9201,8806,155000,9001,8807,463000,9001,,,,,,,,,,,,, -29100,"SAD69 / Brazil Polyconic",9001,4291,19941,9818,1,1,4499,8801,0,9102,8802,-54,9102,8806,5000000,9001,8807,10000000,9001,,,,,,,,,,,,,,,, -29101,"SAD69 / Brazil Polyconic",9001,4618,19941,9818,1,0,4499,8801,0,9102,8802,-54,9102,8806,5000000,9001,8807,10000000,9001,,,,,,,,,,,,,,,, -29118,"SAD69 / UTM zone 18N",9001,4291,16018,9807,1,1,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -29119,"SAD69 / UTM zone 19N",9001,4291,16019,9807,1,1,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -29120,"SAD69 / UTM zone 20N",9001,4291,16020,9807,1,1,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -29121,"SAD69 / UTM zone 21N",9001,4291,16021,9807,1,1,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -29122,"SAD69 / UTM zone 22N",9001,4291,16022,9807,1,1,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -29168,"SAD69 / UTM zone 18N",9001,4618,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -29169,"SAD69 / UTM zone 19N",9001,4618,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -29170,"SAD69 / UTM zone 20N",9001,4618,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -29171,"SAD69 / UTM zone 21N",9001,4618,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -29172,"SAD69 / UTM zone 22N",9001,4618,16022,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -29177,"SAD69 / UTM zone 17S",9001,4291,16117,9807,1,1,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29178,"SAD69 / UTM zone 18S",9001,4291,16118,9807,1,1,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29179,"SAD69 / UTM zone 19S",9001,4291,16119,9807,1,1,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29180,"SAD69 / UTM zone 20S",9001,4291,16120,9807,1,1,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29181,"SAD69 / UTM zone 21S",9001,4291,16121,9807,1,1,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29182,"SAD69 / UTM zone 22S",9001,4291,16122,9807,1,1,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29183,"SAD69 / UTM zone 23S",9001,4291,16123,9807,1,1,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29184,"SAD69 / UTM zone 24S",9001,4291,16124,9807,1,1,4400,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29185,"SAD69 / UTM zone 25S",9001,4291,16125,9807,1,1,4400,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29187,"SAD69 / UTM zone 17S",9001,4618,16117,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29188,"SAD69 / UTM zone 18S",9001,4618,16118,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29189,"SAD69 / UTM zone 19S",9001,4618,16119,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29190,"SAD69 / UTM zone 20S",9001,4618,16120,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29191,"SAD69 / UTM zone 21S",9001,4618,16121,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29192,"SAD69 / UTM zone 22S",9001,4618,16122,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29193,"SAD69 / UTM zone 23S",9001,4618,16123,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29194,"SAD69 / UTM zone 24S",9001,4618,16124,9807,1,0,4400,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29195,"SAD69 / UTM zone 25S",9001,4618,16125,9807,1,0,4400,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29220,"Sapper Hill 1943 / UTM zone 20S",9001,4292,16120,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29221,"Sapper Hill 1943 / UTM zone 21S",9001,4292,16121,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29333,"Schwarzeck / UTM zone 33S",9001,4293,16133,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29371,"Schwarzeck / Lo22/11",9031,4293,17611,9808,1,0,6502,8801,-22,9102,8802,11,9102,8805,1,9201,8806,0,9031,8807,0,9031,,,,,,,,,,,,, -29373,"Schwarzeck / Lo22/13",9031,4293,17613,9808,1,0,6502,8801,-22,9102,8802,13,9102,8805,1,9201,8806,0,9031,8807,0,9031,,,,,,,,,,,,, -29375,"Schwarzeck / Lo22/15",9031,4293,17615,9808,1,0,6502,8801,-22,9102,8802,15,9102,8805,1,9201,8806,0,9031,8807,0,9031,,,,,,,,,,,,, -29377,"Schwarzeck / Lo22/17",9031,4293,17617,9808,1,0,6502,8801,-22,9102,8802,17,9102,8805,1,9201,8806,0,9031,8807,0,9031,,,,,,,,,,,,, -29379,"Schwarzeck / Lo22/19",9031,4293,17619,9808,1,0,6502,8801,-22,9102,8802,19,9102,8805,1,9201,8806,0,9031,8807,0,9031,,,,,,,,,,,,, -29381,"Schwarzeck / Lo22/21",9031,4293,17621,9808,1,0,6502,8801,-22,9102,8802,21,9102,8805,1,9201,8806,0,9031,8807,0,9031,,,,,,,,,,,,, -29383,"Schwarzeck / Lo22/23",9031,4293,17623,9808,1,0,6502,8801,-22,9102,8802,23,9102,8805,1,9201,8806,0,9031,8807,0,9031,,,,,,,,,,,,, -29385,"Schwarzeck / Lo22/25",9031,4293,17625,9808,1,0,6502,8801,-22,9102,8802,25,9102,8805,1,9201,8806,0,9031,8807,0,9031,,,,,,,,,,,,, -29635,"Sudan / UTM zone 35N",9001,4296,16035,9807,1,1,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -29636,"Sudan / UTM zone 36N",9001,4296,16036,9807,1,1,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -29700,"Tananarive (Paris) / Laborde Grid",9001,4810,19911,9815,1,1,4499,8811,-21,9105,8812,49,9105,8813,21,9105,8814,21,9105,8815,0.9995,9201,8816,400000,9001,8817,800000,9001,,,,,,, -29701,"Tananarive (Paris) / Laborde Grid",9001,4810,19861,9813,1,0,4530,8806,400000,9001,8807,800000,9001,8811,-21,9105,8812,49,9105,8813,21,9105,8815,0.9995,9201,,,,,,,,,, -29702,"Tananarive (Paris) / Laborde Grid approximation",9001,4810,19911,9815,1,0,4530,8811,-21,9105,8812,49,9105,8813,21,9105,8814,21,9105,8815,0.9995,9201,8816,400000,9001,8817,800000,9001,,,,,,, -29738,"Tananarive / UTM zone 38S",9001,4297,16138,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29739,"Tananarive / UTM zone 39S",9001,4297,16139,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -29849,"Timbalai 1948 / UTM zone 49N",9001,4298,16049,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -29850,"Timbalai 1948 / UTM zone 50N",9001,4298,16050,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -29871,"Timbalai 1948 / RSO Borneo (ch)",9042,4298,19956,9815,1,0,4402,8811,4,9110,8812,115,9110,8813,53.18569537,9110,8814,53.07483685,9110,8815,0.99984,9201,8816,29352.4763,9042,8817,22014.3572,9042,,,,,,, -29872,"Timbalai 1948 / RSO Borneo (ftSe)",9041,4298,19957,9815,1,0,4405,8811,4,9110,8812,115,9110,8813,53.18569537,9110,8814,53.07483685,9110,8815,0.99984,9201,8816,1937263.44,9041,8817,1452947.58,9041,,,,,,, -29873,"Timbalai 1948 / RSO Borneo (m)",9001,4298,19958,9815,1,0,4400,8811,4,9110,8812,115,9110,8813,53.18569537,9110,8814,53.07483685,9110,8815,0.99984,9201,8816,590476.87,9001,8817,442857.65,9001,,,,,,, -29900,"TM65 / Irish National Grid",9001,4299,19908,9807,1,1,4400,8801,53.3,9110,8802,-8,9110,8805,1.000035,9201,8806,200000,9001,8807,250000,9001,,,,,,,,,,,,, -29901,"OSNI 1952 / Irish National Grid",9001,4188,19973,9807,1,0,4400,8801,53.3,9110,8802,-8,9110,8805,1,9201,8806,200000,9001,8807,250000,9001,,,,,,,,,,,,, -29902,"TM65 / Irish Grid",9001,4299,19972,9807,1,0,4400,8801,53.3,9110,8802,-8,9110,8805,1.000035,9201,8806,200000,9001,8807,250000,9001,,,,,,,,,,,,, -29903,"TM75 / Irish Grid",9001,4300,19972,9807,1,0,4400,8801,53.3,9110,8802,-8,9110,8805,1.000035,9201,8806,200000,9001,8807,250000,9001,,,,,,,,,,,,, -30161,"Tokyo / Japan Plane Rectangular CS I",9001,4301,17801,9807,1,0,4530,8801,33,9110,8802,129.3,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30162,"Tokyo / Japan Plane Rectangular CS II",9001,4301,17802,9807,1,0,4530,8801,33,9110,8802,131,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30163,"Tokyo / Japan Plane Rectangular CS III",9001,4301,17803,9807,1,0,4530,8801,36,9110,8802,132.1,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30164,"Tokyo / Japan Plane Rectangular CS IV",9001,4301,17804,9807,1,0,4530,8801,33,9110,8802,133.3,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30165,"Tokyo / Japan Plane Rectangular CS V",9001,4301,17805,9807,1,0,4530,8801,36,9110,8802,134.2,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30166,"Tokyo / Japan Plane Rectangular CS VI",9001,4301,17806,9807,1,0,4530,8801,36,9110,8802,136,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30167,"Tokyo / Japan Plane Rectangular CS VII",9001,4301,17807,9807,1,0,4530,8801,36,9110,8802,137.1,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30168,"Tokyo / Japan Plane Rectangular CS VIII",9001,4301,17808,9807,1,0,4530,8801,36,9110,8802,138.3,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30169,"Tokyo / Japan Plane Rectangular CS IX",9001,4301,17809,9807,1,0,4530,8801,36,9110,8802,139.5,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30170,"Tokyo / Japan Plane Rectangular CS X",9001,4301,17810,9807,1,0,4530,8801,40,9110,8802,140.5,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30171,"Tokyo / Japan Plane Rectangular CS XI",9001,4301,17811,9807,1,0,4530,8801,44,9110,8802,140.15,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30172,"Tokyo / Japan Plane Rectangular CS XII",9001,4301,17812,9807,1,0,4530,8801,44,9110,8802,142.15,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30173,"Tokyo / Japan Plane Rectangular CS XIII",9001,4301,17813,9807,1,0,4530,8801,44,9110,8802,144.15,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30174,"Tokyo / Japan Plane Rectangular CS XIV",9001,4301,17814,9807,1,0,4530,8801,26,9110,8802,142,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30175,"Tokyo / Japan Plane Rectangular CS XV",9001,4301,17815,9807,1,0,4530,8801,26,9110,8802,127.3,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30176,"Tokyo / Japan Plane Rectangular CS XVI",9001,4301,17816,9807,1,0,4530,8801,26,9110,8802,124,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30177,"Tokyo / Japan Plane Rectangular CS XVII",9001,4301,17817,9807,1,0,4530,8801,26,9110,8802,131,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30178,"Tokyo / Japan Plane Rectangular CS XVIII",9001,4301,17818,9807,1,0,4530,8801,20,9110,8802,136,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30179,"Tokyo / Japan Plane Rectangular CS XIX",9001,4301,17819,9807,1,0,4530,8801,26,9110,8802,154,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -30200,"Trinidad 1903 / Trinidad Grid",9039,4302,19925,9806,1,0,4407,8801,10.263,9110,8802,-61.2,9110,8806,430000,9039,8807,325000,9039,,,,,,,,,,,,,,,, -30339,"TC(1948) / UTM zone 39N",9001,4303,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -30340,"TC(1948) / UTM zone 40N",9001,4303,16040,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -30491,"Voirol 1875 / Nord Algerie (ancienne)",9001,4304,18011,9801,1,0,4499,8801,40,9105,8802,3,9105,8805,0.999625544,9201,8806,500000,9001,8807,300000,9001,,,,,,,,,,,,, -30492,"Voirol 1875 / Sud Algerie (ancienne)",9001,4304,18012,9801,1,0,4499,8801,37,9105,8802,3,9105,8805,0.999625769,9201,8806,500000,9001,8807,300000,9001,,,,,,,,,,,,, -30493,"Voirol 1879 / Nord Algerie (ancienne)",9001,4671,18011,9801,1,0,4499,8801,40,9105,8802,3,9105,8805,0.999625544,9201,8806,500000,9001,8807,300000,9001,,,,,,,,,,,,, -30494,"Voirol 1879 / Sud Algerie (ancienne)",9001,4671,18012,9801,1,0,4499,8801,37,9105,8802,3,9105,8805,0.999625769,9201,8806,500000,9001,8807,300000,9001,,,,,,,,,,,,, -30729,"Nord Sahara 1959 / UTM zone 29N",9001,4307,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -30730,"Nord Sahara 1959 / UTM zone 30N",9001,4307,16030,9807,1,0,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -30731,"Nord Sahara 1959 / UTM zone 31N",9001,4307,16031,9807,1,0,4400,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -30732,"Nord Sahara 1959 / UTM zone 32N",9001,4307,16032,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -30791,"Nord Sahara 1959 / Nord Algerie",9001,4307,18021,9801,1,0,4499,8801,40,9105,8802,3,9105,8805,0.999625544,9201,8806,500135,9001,8807,300090,9001,,,,,,,,,,,,, -30792,"Nord Sahara 1959 / Sud Algerie",9001,4307,18022,9801,1,0,4499,8801,37,9105,8802,3,9105,8805,0.999625769,9201,8806,500135,9001,8807,300090,9001,,,,,,,,,,,,, -30800,RT38 2.5 gon W,9001,4308,19929,9807,1,1,4530,8801,0,9110,8802,15.48298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -31028,"Yoff / UTM zone 28N",9001,4310,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31121,"Zanderij / UTM zone 21N",9001,4311,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31154,"Zanderij / TM 54 NW",9001,4311,17054,9807,1,0,4400,8801,0,9102,8802,-54,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31170,"Zanderij / Suriname Old TM",9001,4311,19954,9807,1,0,4400,8801,0,9110,8802,-55.41,9110,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31171,"Zanderij / Suriname TM",9001,4311,19955,9807,1,0,4400,8801,0,9110,8802,-55.41,9110,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31251,"MGI (Ferro) / Austria GK West Zone",9001,4805,18001,9807,1,0,4530,8801,0,9102,8802,28,9102,8805,1,9201,8806,0,9001,8807,-5000000,9001,,,,,,,577.326,90.129,463.919,5.137,1.474,5.297,2.4232 -31252,"MGI (Ferro) / Austria GK Central Zone",9001,4805,18002,9807,1,0,4530,8801,0,9102,8802,31,9102,8805,1,9201,8806,0,9001,8807,-5000000,9001,,,,,,,577.326,90.129,463.919,5.137,1.474,5.297,2.4232 -31253,"MGI (Ferro) / Austria GK East Zone",9001,4805,18003,9807,1,0,4530,8801,0,9102,8802,34,9102,8805,1,9201,8806,0,9001,8807,-5000000,9001,,,,,,,577.326,90.129,463.919,5.137,1.474,5.297,2.4232 -31254,"MGI / Austria GK West",9001,4312,18004,9807,1,0,4530,8801,0,9110,8802,10.2,9110,8805,1,9201,8806,0,9001,8807,-5000000,9001,,,,,,,,,,,,, -31255,"MGI / Austria GK Central",9001,4312,18005,9807,1,0,4530,8801,0,9110,8802,13.2,9110,8805,1,9201,8806,0,9001,8807,-5000000,9001,,,,,,,,,,,,, -31256,"MGI / Austria GK East",9001,4312,18006,9807,1,0,4530,8801,0,9110,8802,16.2,9110,8805,1,9201,8806,0,9001,8807,-5000000,9001,,,,,,,,,,,,, -31257,"MGI / Austria GK M28",9001,4312,18007,9807,1,0,4530,8801,0,9110,8802,10.2,9110,8805,1,9201,8806,150000,9001,8807,-5000000,9001,,,,,,,,,,,,, -31258,"MGI / Austria GK M31",9001,4312,18008,9807,1,0,4530,8801,0,9110,8802,13.2,9110,8805,1,9201,8806,450000,9001,8807,-5000000,9001,,,,,,,,,,,,, -31259,"MGI / Austria GK M34",9001,4312,18009,9807,1,0,4530,8801,0,9110,8802,16.2,9110,8805,1,9201,8806,750000,9001,8807,-5000000,9001,,,,,,,,,,,,, -31265,"MGI / 3-degree Gauss zone 5",9001,4312,16265,9807,1,1,4499,8801,0,9102,8802,15,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -31266,"MGI / 3-degree Gauss zone 6",9001,4312,16266,9807,1,1,4499,8801,0,9102,8802,18,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -31267,"MGI / 3-degree Gauss zone 7",9001,4312,16267,9807,1,1,4499,8801,0,9102,8802,21,9102,8805,1,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -31268,"MGI / 3-degree Gauss zone 8",9001,4312,16268,9807,1,1,4499,8801,0,9102,8802,24,9102,8805,1,9201,8806,8500000,9001,8807,0,9001,,,,,,,,,,,,, -31275,"MGI / Balkans zone 5",9001,4312,18275,9807,1,1,4530,8801,0,9102,8802,15,9102,8805,0.9999,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -31276,"MGI / Balkans zone 6",9001,4312,18276,9807,1,1,4530,8801,0,9102,8802,18,9102,8805,0.9999,9201,8806,6500000,9001,8807,0,9001,,,,,,,,,,,,, -31277,"MGI / Balkans zone 7",9001,4312,18277,9807,1,1,4530,8801,0,9102,8802,21,9102,8805,0.9999,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -31278,"MGI / Balkans zone 8",9001,4312,18277,9807,1,1,4530,8801,0,9102,8802,21,9102,8805,0.9999,9201,8806,7500000,9001,8807,0,9001,,,,,,,,,,,,, -31279,"MGI / Balkans zone 8",9001,4312,18278,9807,1,1,4530,8801,0,9102,8802,24,9102,8805,0.9999,9201,8806,8500000,9001,8807,0,9001,,,,,,,,,,,,, -31281,"MGI (Ferro) / Austria West Zone",9001,4805,18041,9807,1,0,4530,8801,0,9102,8802,28,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -31282,"MGI (Ferro) / Austria Central Zone",9001,4805,18042,9807,1,0,4530,8801,0,9102,8802,31,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -31283,"MGI (Ferro) / Austria East Zone",9001,4805,18043,9807,1,0,4530,8801,0,9102,8802,34,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -31284,"MGI / Austria M28",9001,4312,18044,9807,1,0,4530,8801,0,9110,8802,10.2,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -31285,"MGI / Austria M31",9001,4312,18045,9807,1,0,4530,8801,0,9110,8802,13.2,9110,8805,1,9201,8806,450000,9001,8807,0,9001,,,,,,,,,,,,, -31286,"MGI / Austria M34",9001,4312,18046,9807,1,0,4530,8801,0,9110,8802,16.2,9110,8805,1,9201,8806,750000,9001,8807,0,9001,,,,,,,,,,,,, -31287,"MGI / Austria Lambert",9001,4312,19947,9802,1,0,4530,8821,47.3,9110,8822,13.2,9110,8823,49,9110,8824,46,9110,8826,400000,9001,8827,400000,9001,,,,,,,,,, -31288,"MGI (Ferro) / M28",9001,4805,18047,9807,1,0,4530,8801,0,9102,8802,28,9102,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -31289,"MGI (Ferro) / M31",9001,4805,18048,9807,1,0,4530,8801,0,9102,8802,31,9102,8805,1,9201,8806,450000,9001,8807,0,9001,,,,,,,,,,,,, -31290,"MGI (Ferro) / M34",9001,4805,18049,9807,1,0,4530,8801,0,9102,8802,34,9102,8805,1,9201,8806,750000,9001,8807,0,9001,,,,,,,,,,,,, -31291,"MGI (Ferro) / Austria West Zone",9001,4805,18041,9807,1,1,4499,8801,0,9102,8802,28,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -31292,"MGI (Ferro) / Austria Central Zone",9001,4805,18042,9807,1,1,4499,8801,0,9102,8802,31,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -31293,"MGI (Ferro) / Austria East Zone",9001,4805,18043,9807,1,1,4499,8801,0,9102,8802,34,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,,,,,,,,, -31294,"MGI / M28",9001,4312,18044,9807,1,1,4499,8801,0,9110,8802,10.2,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -31295,"MGI / M31",9001,4312,18045,9807,1,1,4499,8801,0,9110,8802,13.2,9110,8805,1,9201,8806,450000,9001,8807,0,9001,,,,,,,,,,,,, -31296,"MGI / M34",9001,4312,18046,9807,1,1,4499,8801,0,9110,8802,16.2,9110,8805,1,9201,8806,750000,9001,8807,0,9001,,,,,,,,,,,,, -31297,"MGI / Austria Lambert",9001,4312,19947,9802,1,1,4499,8821,47.3,9110,8822,13.2,9110,8823,49,9110,8824,46,9110,8826,400000,9001,8827,400000,9001,,,,,,,,,, -31300,"Belge 1972 / Belge Lambert 72",9001,4313,19902,9803,1,0,4499,8821,90,9110,8822,4.2124983,9110,8823,49.5,9110,8824,51.1,9110,8826,150000.01256,9001,8827,5400088.4378,9001,,,,,,,,,, -31370,"Belge 1972 / Belgian Lambert 72",9001,4313,19961,9802,1,0,4499,8821,90,9110,8822,4.2202952,9110,8823,51.100000204,9110,8824,49.500000204,9110,8826,150000.013,9001,8827,5400088.438,9001,,,,,,,,,, -31461,"DHDN / 3-degree Gauss zone 1",9001,4314,16261,9807,1,1,4499,8801,0,9102,8802,3,9102,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -31462,"DHDN / 3-degree Gauss zone 2",9001,4314,16262,9807,1,1,4499,8801,0,9102,8802,6,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -31463,"DHDN / 3-degree Gauss zone 3",9001,4314,16263,9807,1,1,4499,8801,0,9102,8802,9,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -31464,"DHDN / 3-degree Gauss zone 4",9001,4314,16264,9807,1,1,4499,8801,0,9102,8802,12,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -31465,"DHDN / 3-degree Gauss zone 5",9001,4314,16265,9807,1,1,4499,8801,0,9102,8802,15,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -31466,"DHDN / 3-degree Gauss-Kruger zone 2",9001,4314,16262,9807,1,0,4530,8801,0,9102,8802,6,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,,,,,,,,, -31467,"DHDN / 3-degree Gauss-Kruger zone 3",9001,4314,16263,9807,1,0,4530,8801,0,9102,8802,9,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,,,,,,,,, -31468,"DHDN / 3-degree Gauss-Kruger zone 4",9001,4314,16264,9807,1,0,4530,8801,0,9102,8802,12,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,,,,,,,,, -31469,"DHDN / 3-degree Gauss-Kruger zone 5",9001,4314,16265,9807,1,0,4530,8801,0,9102,8802,15,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,,,,,,,,, -31528,"Conakry 1905 / UTM zone 28N",9001,4315,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31529,"Conakry 1905 / UTM zone 29N",9001,4315,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31600,"Dealul Piscului 1930 / Stereo 33",9001,4316,19927,9809,1,0,4499,8801,45.54,9110,8802,25.23328772,9110,8805,0.9996667,9201,8806,500000,9001,8807,500000,9001,,,,,,,,,,,,, -31700,"Dealul Piscului 1970/ Stereo 70",9001,4317,19926,9809,1,1,4530,8801,46,9102,8802,25,9102,8805,0.99975,9201,8806,500000,9001,8807,500000,9001,,,,,,,,,,,,, -31838,"NGN / UTM zone 38N",9001,4318,16038,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31839,"NGN / UTM zone 39N",9001,4318,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31900,"KUDAMS / KTM",9001,4319,19928,9807,1,1,4400,8801,0,9102,8802,48,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31901,"KUDAMS / KTM",9001,4319,19997,9807,1,0,4400,8801,0,9102,8802,48,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31965,"SIRGAS 2000 / UTM zone 11N",9001,4674,16011,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31966,"SIRGAS 2000 / UTM zone 12N",9001,4674,16012,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31967,"SIRGAS 2000 / UTM zone 13N",9001,4674,16013,9807,1,0,4400,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31968,"SIRGAS 2000 / UTM zone 14N",9001,4674,16014,9807,1,0,4400,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31969,"SIRGAS 2000 / UTM zone 15N",9001,4674,16015,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31970,"SIRGAS 2000 / UTM zone 16N",9001,4674,16016,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31971,"SIRGAS 2000 / UTM zone 17N",9001,4674,16017,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31972,"SIRGAS 2000 / UTM zone 18N",9001,4674,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31973,"SIRGAS 2000 / UTM zone 19N",9001,4674,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31974,"SIRGAS 2000 / UTM zone 20N",9001,4674,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31975,"SIRGAS 2000 / UTM zone 21N",9001,4674,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31976,"SIRGAS 2000 / UTM zone 22N",9001,4674,16022,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31977,"SIRGAS 2000 / UTM zone 17S",9001,4674,16117,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -31978,"SIRGAS 2000 / UTM zone 18S",9001,4674,16118,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -31979,"SIRGAS 2000 / UTM zone 19S",9001,4674,16119,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -31980,"SIRGAS 2000 / UTM zone 20S",9001,4674,16120,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -31981,"SIRGAS 2000 / UTM zone 21S",9001,4674,16121,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -31982,"SIRGAS 2000 / UTM zone 22S",9001,4674,16122,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -31983,"SIRGAS 2000 / UTM zone 23S",9001,4674,16123,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -31984,"SIRGAS 2000 / UTM zone 24S",9001,4674,16124,9807,1,0,4400,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -31985,"SIRGAS 2000 / UTM zone 25S",9001,4674,16125,9807,1,0,4400,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -31986,"SIRGAS 1995 / UTM zone 17N",9001,4170,16017,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31987,"SIRGAS 1995 / UTM zone 18N",9001,4170,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31988,"SIRGAS 1995 / UTM zone 19N",9001,4170,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31989,"SIRGAS 1995 / UTM zone 20N",9001,4170,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31990,"SIRGAS 1995 / UTM zone 21N",9001,4170,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31991,"SIRGAS 1995 / UTM zone 22N",9001,4170,16022,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -31992,"SIRGAS 1995 / UTM zone 17S",9001,4170,16117,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -31993,"SIRGAS 1995 / UTM zone 18S",9001,4170,16118,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -31994,"SIRGAS 1995 / UTM zone 19S",9001,4170,16119,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -31995,"SIRGAS 1995 / UTM zone 20S",9001,4170,16120,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -31996,"SIRGAS 1995 / UTM zone 21S",9001,4170,16121,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -31997,"SIRGAS 1995 / UTM zone 22S",9001,4170,16122,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -31998,"SIRGAS 1995 / UTM zone 23S",9001,4170,16123,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -31999,"SIRGAS 1995 / UTM zone 24S",9001,4170,16124,9807,1,0,4400,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32000,"SIRGAS 1995 / UTM zone 25S",9001,4170,16125,9807,1,0,4400,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32001,"NAD27 / Montana North",9003,4267,12501,9802,1,0,4497,8821,47,9110,8822,-109.3,9110,8823,48.43,9110,8824,47.51,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32002,"NAD27 / Montana Central",9003,4267,12502,9802,1,0,4497,8821,45.5,9110,8822,-109.3,9110,8823,47.53,9110,8824,46.27,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32003,"NAD27 / Montana South",9003,4267,12503,9802,1,0,4497,8821,44,9110,8822,-109.3,9110,8823,46.24,9110,8824,44.52,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32005,"NAD27 / Nebraska North",9003,4267,12601,9802,1,0,4497,8821,41.2,9110,8822,-100,9110,8823,41.51,9110,8824,42.49,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32006,"NAD27 / Nebraska South",9003,4267,12602,9802,1,0,4497,8821,39.4,9110,8822,-99.3,9110,8823,40.17,9110,8824,41.43,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32007,"NAD27 / Nevada East",9003,4267,12701,9807,1,0,4497,8801,34.45,9110,8802,-115.35,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -32008,"NAD27 / Nevada Central",9003,4267,12702,9807,1,0,4497,8801,34.45,9110,8802,-116.4,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -32009,"NAD27 / Nevada West",9003,4267,12703,9807,1,0,4497,8801,34.45,9110,8802,-118.35,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -32010,"NAD27 / New Hampshire",9003,4267,12800,9807,1,0,4497,8801,42.3,9110,8802,-71.4,9110,8805,0.999966667,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -32011,"NAD27 / New Jersey",9003,4267,12900,9807,1,0,4497,8801,38.5,9110,8802,-74.4,9110,8805,0.999975,9201,8806,2000000,9003,8807,0,9003,,,,,,,,,,,,, -32012,"NAD27 / New Mexico East",9003,4267,13001,9807,1,0,4497,8801,31,9110,8802,-104.2,9110,8805,0.999909091,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -32013,"NAD27 / New Mexico Central",9003,4267,13002,9807,1,0,4497,8801,31,9110,8802,-106.15,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -32014,"NAD27 / New Mexico West",9003,4267,13003,9807,1,0,4497,8801,31,9110,8802,-107.5,9110,8805,0.999916667,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -32015,"NAD27 / New York East",9003,4267,13101,9807,1,0,4497,8801,40,9110,8802,-74.2,9110,8805,0.999966667,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -32016,"NAD27 / New York Central",9003,4267,13102,9807,1,0,4497,8801,40,9110,8802,-76.35,9110,8805,0.9999375,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -32017,"NAD27 / New York West",9003,4267,13103,9807,1,0,4497,8801,40,9110,8802,-78.35,9110,8805,0.9999375,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -32018,"NAD27 / New York Long Island",9003,4267,13104,9802,1,1,4497,8821,40.3,9110,8822,-74,9110,8823,41.02,9110,8824,40.4,9110,8826,1000000,9003,8827,0,9003,,,,,,,,,, -32019,"NAD27 / North Carolina",9003,4267,13200,9802,1,0,4497,8821,33.45,9110,8822,-79,9110,8823,34.2,9110,8824,36.1,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32020,"NAD27 / North Dakota North",9003,4267,13301,9802,1,0,4497,8821,47,9110,8822,-100.3,9110,8823,47.26,9110,8824,48.44,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32021,"NAD27 / North Dakota South",9003,4267,13302,9802,1,0,4497,8821,45.4,9110,8822,-100.3,9110,8823,46.11,9110,8824,47.29,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32022,"NAD27 / Ohio North",9003,4267,13401,9802,1,0,4497,8821,39.4,9110,8822,-82.3,9110,8823,40.26,9110,8824,41.42,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32023,"NAD27 / Ohio South",9003,4267,13402,9802,1,0,4497,8821,38,9110,8822,-82.3,9110,8823,38.44,9110,8824,40.02,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32024,"NAD27 / Oklahoma North",9003,4267,13501,9802,1,0,4497,8821,35,9110,8822,-98,9110,8823,35.34,9110,8824,36.46,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32025,"NAD27 / Oklahoma South",9003,4267,13502,9802,1,0,4497,8821,33.2,9110,8822,-98,9110,8823,33.56,9110,8824,35.14,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32026,"NAD27 / Oregon North",9003,4267,13601,9802,1,0,4497,8821,43.4,9110,8822,-120.3,9110,8823,44.2,9110,8824,46,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32027,"NAD27 / Oregon South",9003,4267,13602,9802,1,0,4497,8821,41.4,9110,8822,-120.3,9110,8823,42.2,9110,8824,44,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32028,"NAD27 / Pennsylvania North",9003,4267,13701,9802,1,0,4497,8821,40.1,9110,8822,-77.45,9110,8823,40.53,9110,8824,41.57,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32029,"NAD27 / Pennsylvania South",9003,4267,13702,9802,1,1,4497,8821,39.2,9110,8822,-77.45,9110,8823,39.56,9110,8824,40.48,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32030,"NAD27 / Rhode Island",9003,4267,13800,9807,1,0,4497,8801,41.05,9110,8802,-71.3,9110,8805,0.9999938,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -32031,"NAD27 / South Carolina North",9003,4267,13901,9802,1,0,4497,8821,33,9110,8822,-81,9110,8823,33.46,9110,8824,34.58,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32033,"NAD27 / South Carolina South",9003,4267,13902,9802,1,0,4497,8821,31.5,9110,8822,-81,9110,8823,32.2,9110,8824,33.4,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32034,"NAD27 / South Dakota North",9003,4267,14001,9802,1,0,4497,8821,43.5,9110,8822,-100,9110,8823,44.25,9110,8824,45.41,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32035,"NAD27 / South Dakota South",9003,4267,14002,9802,1,0,4497,8821,42.2,9110,8822,-100.2,9110,8823,42.5,9110,8824,44.24,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32036,"NAD27 / Tennessee",9003,4267,14100,9802,1,1,4497,8821,34.4,9110,8822,-86,9110,8823,35.15,9110,8824,36.25,9110,8826,100000,9003,8827,0,9003,,,,,,,,,, -32037,"NAD27 / Texas North",9003,4267,14201,9802,1,0,4497,8821,34,9110,8822,-101.3,9110,8823,34.39,9110,8824,36.11,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32038,"NAD27 / Texas North Central",9003,4267,14202,9802,1,0,4497,8821,31.4,9110,8822,-97.3,9110,8823,32.08,9110,8824,33.58,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32039,"NAD27 / Texas Central",9003,4267,14203,9802,1,0,4497,8821,29.4,9110,8822,-100.2,9110,8823,30.07,9110,8824,31.53,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32040,"NAD27 / Texas South Central",9003,4267,14204,9802,1,0,4497,8821,27.5,9110,8822,-99,9110,8823,28.23,9110,8824,30.17,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32041,"NAD27 / Texas South",9003,4267,14205,9802,1,0,4497,8821,25.4,9110,8822,-98.3,9110,8823,26.1,9110,8824,27.5,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32042,"NAD27 / Utah North",9003,4267,14301,9802,1,0,4497,8821,40.2,9110,8822,-111.3,9110,8823,40.43,9110,8824,41.47,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32043,"NAD27 / Utah Central",9003,4267,14302,9802,1,0,4497,8821,38.2,9110,8822,-111.3,9110,8823,39.01,9110,8824,40.39,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32044,"NAD27 / Utah South",9003,4267,14303,9802,1,0,4497,8821,36.4,9110,8822,-111.3,9110,8823,37.13,9110,8824,38.21,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32045,"NAD27 / Vermont",9003,4267,14400,9807,1,0,4497,8801,42.3,9110,8802,-72.3,9110,8805,0.999964286,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -32046,"NAD27 / Virginia North",9003,4267,14501,9802,1,0,4497,8821,37.4,9110,8822,-78.3,9110,8823,38.02,9110,8824,39.12,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32047,"NAD27 / Virginia South",9003,4267,14502,9802,1,0,4497,8821,36.2,9110,8822,-78.3,9110,8823,36.46,9110,8824,37.58,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32048,"NAD27 / Washington North",9003,4267,14601,9802,1,0,4497,8821,47,9110,8822,-120.5,9110,8823,47.3,9110,8824,48.44,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32049,"NAD27 / Washington South",9003,4267,14602,9802,1,0,4497,8821,45.2,9110,8822,-120.3,9110,8823,45.5,9110,8824,47.2,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32050,"NAD27 / West Virginia North",9003,4267,14701,9802,1,0,4497,8821,38.3,9110,8822,-79.3,9110,8823,39,9110,8824,40.15,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32051,"NAD27 / West Virginia South",9003,4267,14702,9802,1,0,4497,8821,37,9110,8822,-81,9110,8823,37.29,9110,8824,38.53,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32052,"NAD27 / Wisconsin North",9003,4267,14801,9802,1,0,4497,8821,45.1,9110,8822,-90,9110,8823,45.34,9110,8824,46.46,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32053,"NAD27 / Wisconsin Central",9003,4267,14802,9802,1,0,4497,8821,43.5,9110,8822,-90,9110,8823,44.15,9110,8824,45.3,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32054,"NAD27 / Wisconsin South",9003,4267,14803,9802,1,0,4497,8821,42,9110,8822,-90,9110,8823,42.44,9110,8824,44.04,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32055,"NAD27 / Wyoming East",9003,4267,14901,9807,1,0,4497,8801,40.4,9110,8802,-105.1,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -32056,"NAD27 / Wyoming East Central",9003,4267,14902,9807,1,0,4497,8801,40.4,9110,8802,-107.2,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -32057,"NAD27 / Wyoming West Central",9003,4267,14903,9807,1,0,4497,8801,40.4,9110,8802,-108.45,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -32058,"NAD27 / Wyoming West",9003,4267,14904,9807,1,0,4497,8801,40.4,9110,8802,-110.05,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,,,,,,,,, -32061,"NAD27 / Guatemala Norte",9001,4267,18211,9801,1,1,4499,8801,16.49,9110,8802,-90.2,9110,8805,0.99992226,9201,8806,500000,9001,8807,292209.579,9001,,,,,,,,,,,,, -32062,"NAD27 / Guatemala Sur",9001,4267,18212,9801,1,1,4499,8801,14.54,9110,8802,-90.2,9110,8805,0.99989906,9201,8806,500000,9001,8807,325992.681,9001,,,,,,,,,,,,, -32064,"NAD27 / BLM 14N (ftUS)",9003,4267,15914,9807,1,0,4497,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -32065,"NAD27 / BLM 15N (ftUS)",9003,4267,15915,9807,1,0,4497,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -32066,"NAD27 / BLM 16N (ftUS)",9003,4267,15916,9807,1,0,4497,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -32067,"NAD27 / BLM 17N (ftUS)",9003,4267,15917,9807,1,0,4497,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -32074,"NAD27 / BLM 14N (feet)",9003,4267,15914,9807,1,1,4497,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -32075,"NAD27 / BLM 15N (feet)",9003,4267,15915,9807,1,1,4497,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -32076,"NAD27 / BLM 16N (feet)",9003,4267,15916,9807,1,1,4497,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -32077,"NAD27 / BLM 17N (feet)",9003,4267,15917,9807,1,1,4497,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -32081,"NAD27 / MTM zone 1",9001,4267,17701,9807,1,0,4400,8801,0,9102,8802,-53,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32082,"NAD27 / MTM zone 2",9001,4267,17702,9807,1,0,4400,8801,0,9102,8802,-56,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32083,"NAD27 / MTM zone 3",9001,4267,17703,9807,1,0,4400,8801,0,9110,8802,-58.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32084,"NAD27 / MTM zone 4",9001,4267,17704,9807,1,0,4400,8801,0,9110,8802,-61.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32085,"NAD27 / MTM zone 5",9001,4267,17705,9807,1,0,4400,8801,0,9110,8802,-64.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32086,"NAD27 / MTM zone 6",9001,4267,17706,9807,1,0,4400,8801,0,9110,8802,-67.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32098,"NAD27 / Quebec Lambert",9001,4267,19944,9802,1,0,4499,8821,44,9110,8822,-68.3,9110,8823,60,9110,8824,46,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -32099,"NAD27 / Louisiana Offshore",9003,4267,11703,9802,1,0,4497,8821,25.4,9110,8822,-91.2,9110,8823,27.5,9110,8824,26.1,9110,8826,2000000,9003,8827,0,9003,,,,,,,,,, -32100,"NAD83 / Montana",9001,4269,12530,9802,1,0,4499,8821,44.15,9110,8822,-109.3,9110,8823,49,9110,8824,45,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32104,"NAD83 / Nebraska",9001,4269,12630,9802,1,0,4499,8821,39.5,9110,8822,-100,9110,8823,43,9110,8824,40,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -32107,"NAD83 / Nevada East",9001,4269,12731,9807,1,0,4499,8801,34.45,9110,8802,-115.35,9110,8805,0.9999,9201,8806,200000,9001,8807,8000000,9001,,,,,,,,,,,,, -32108,"NAD83 / Nevada Central",9001,4269,12732,9807,1,0,4499,8801,34.45,9110,8802,-116.4,9110,8805,0.9999,9201,8806,500000,9001,8807,6000000,9001,,,,,,,,,,,,, -32109,"NAD83 / Nevada West",9001,4269,12733,9807,1,0,4499,8801,34.45,9110,8802,-118.35,9110,8805,0.9999,9201,8806,800000,9001,8807,4000000,9001,,,,,,,,,,,,, -32110,"NAD83 / New Hampshire",9001,4269,12830,9807,1,0,4499,8801,42.3,9110,8802,-71.4,9110,8805,0.999966667,9201,8806,300000,9001,8807,0,9001,,,,,,,,,,,,, -32111,"NAD83 / New Jersey",9001,4269,12930,9807,1,0,4499,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -32112,"NAD83 / New Mexico East",9001,4269,13031,9807,1,0,4499,8801,31,9110,8802,-104.2,9110,8805,0.999909091,9201,8806,165000,9001,8807,0,9001,,,,,,,,,,,,, -32113,"NAD83 / New Mexico Central",9001,4269,13032,9807,1,0,4499,8801,31,9110,8802,-106.15,9110,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32114,"NAD83 / New Mexico West",9001,4269,13033,9807,1,0,4499,8801,31,9110,8802,-107.5,9110,8805,0.999916667,9201,8806,830000,9001,8807,0,9001,,,,,,,,,,,,, -32115,"NAD83 / New York East",9001,4269,13131,9807,1,0,4499,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,150000,9001,8807,0,9001,,,,,,,,,,,,, -32116,"NAD83 / New York Central",9001,4269,13132,9807,1,0,4499,8801,40,9110,8802,-76.35,9110,8805,0.9999375,9201,8806,250000,9001,8807,0,9001,,,,,,,,,,,,, -32117,"NAD83 / New York West",9001,4269,13133,9807,1,0,4499,8801,40,9110,8802,-78.35,9110,8805,0.9999375,9201,8806,350000,9001,8807,0,9001,,,,,,,,,,,,, -32118,"NAD83 / New York Long Island",9001,4269,13134,9802,1,0,4499,8821,40.1,9110,8822,-74,9110,8823,41.02,9110,8824,40.4,9110,8826,300000,9001,8827,0,9001,,,,,,,,,, -32119,"NAD83 / North Carolina",9001,4269,13230,9802,1,0,4499,8821,33.45,9110,8822,-79,9110,8823,36.1,9110,8824,34.2,9110,8826,609601.22,9001,8827,0,9001,,,,,,,,,, -32120,"NAD83 / North Dakota North",9001,4269,13331,9802,1,0,4499,8821,47,9110,8822,-100.3,9110,8823,48.44,9110,8824,47.26,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32121,"NAD83 / North Dakota South",9001,4269,13332,9802,1,0,4499,8821,45.4,9110,8822,-100.3,9110,8823,47.29,9110,8824,46.11,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32122,"NAD83 / Ohio North",9001,4269,13431,9802,1,0,4499,8821,39.4,9110,8822,-82.3,9110,8823,41.42,9110,8824,40.26,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32123,"NAD83 / Ohio South",9001,4269,13432,9802,1,0,4499,8821,38,9110,8822,-82.3,9110,8823,40.02,9110,8824,38.44,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32124,"NAD83 / Oklahoma North",9001,4269,13531,9802,1,0,4499,8821,35,9110,8822,-98,9110,8823,36.46,9110,8824,35.34,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32125,"NAD83 / Oklahoma South",9001,4269,13532,9802,1,0,4499,8821,33.2,9110,8822,-98,9110,8823,35.14,9110,8824,33.56,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32126,"NAD83 / Oregon North",9001,4269,13631,9802,1,0,4499,8821,43.4,9110,8822,-120.3,9110,8823,46,9110,8824,44.2,9110,8826,2500000,9001,8827,0,9001,,,,,,,,,, -32127,"NAD83 / Oregon South",9001,4269,13632,9802,1,0,4499,8821,41.4,9110,8822,-120.3,9110,8823,44,9110,8824,42.2,9110,8826,1500000,9001,8827,0,9001,,,,,,,,,, -32128,"NAD83 / Pennsylvania North",9001,4269,13731,9802,1,0,4499,8821,40.1,9110,8822,-77.45,9110,8823,41.57,9110,8824,40.53,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32129,"NAD83 / Pennsylvania South",9001,4269,13732,9802,1,0,4499,8821,39.2,9110,8822,-77.45,9110,8823,40.58,9110,8824,39.56,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32130,"NAD83 / Rhode Island",9001,4269,13830,9807,1,0,4499,8801,41.05,9110,8802,-71.3,9110,8805,0.99999375,9201,8806,100000,9001,8807,0,9001,,,,,,,,,,,,, -32133,"NAD83 / South Carolina",9001,4269,13930,9802,1,0,4499,8821,31.5,9110,8822,-81,9110,8823,34.5,9110,8824,32.3,9110,8826,609600,9001,8827,0,9001,,,,,,,,,, -32134,"NAD83 / South Dakota North",9001,4269,14031,9802,1,0,4499,8821,43.5,9110,8822,-100,9110,8823,45.41,9110,8824,44.25,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32135,"NAD83 / South Dakota South",9001,4269,14032,9802,1,0,4499,8821,42.2,9110,8822,-100.2,9110,8823,44.24,9110,8824,42.5,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32136,"NAD83 / Tennessee",9001,4269,14130,9802,1,0,4499,8821,34.2,9110,8822,-86,9110,8823,36.25,9110,8824,35.15,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32137,"NAD83 / Texas North",9001,4269,14231,9802,1,0,4499,8821,34,9110,8822,-101.3,9110,8823,36.11,9110,8824,34.39,9110,8826,200000,9001,8827,1000000,9001,,,,,,,,,, -32138,"NAD83 / Texas North Central",9001,4269,14232,9802,1,0,4499,8821,31.4,9110,8822,-98.3,9110,8823,33.58,9110,8824,32.08,9110,8826,600000,9001,8827,2000000,9001,,,,,,,,,, -32139,"NAD83 / Texas Central",9001,4269,14233,9802,1,0,4499,8821,29.4,9110,8822,-100.2,9110,8823,31.53,9110,8824,30.07,9110,8826,700000,9001,8827,3000000,9001,,,,,,,,,, -32140,"NAD83 / Texas South Central",9001,4269,14234,9802,1,0,4499,8821,27.5,9110,8822,-99,9110,8823,30.17,9110,8824,28.23,9110,8826,600000,9001,8827,4000000,9001,,,,,,,,,, -32141,"NAD83 / Texas South",9001,4269,14235,9802,1,0,4499,8821,25.4,9110,8822,-98.3,9110,8823,27.5,9110,8824,26.1,9110,8826,300000,9001,8827,5000000,9001,,,,,,,,,, -32142,"NAD83 / Utah North",9001,4269,14331,9802,1,0,4499,8821,40.2,9110,8822,-111.3,9110,8823,41.47,9110,8824,40.43,9110,8826,500000,9001,8827,1000000,9001,,,,,,,,,, -32143,"NAD83 / Utah Central",9001,4269,14332,9802,1,0,4499,8821,38.2,9110,8822,-111.3,9110,8823,40.39,9110,8824,39.01,9110,8826,500000,9001,8827,2000000,9001,,,,,,,,,, -32144,"NAD83 / Utah South",9001,4269,14333,9802,1,0,4499,8821,36.4,9110,8822,-111.3,9110,8823,38.21,9110,8824,37.13,9110,8826,500000,9001,8827,3000000,9001,,,,,,,,,, -32145,"NAD83 / Vermont",9001,4269,14430,9807,1,0,4499,8801,42.3,9110,8802,-72.3,9110,8805,0.999964286,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32146,"NAD83 / Virginia North",9001,4269,14531,9802,1,0,4499,8821,37.4,9110,8822,-78.3,9110,8823,39.12,9110,8824,38.02,9110,8826,3500000,9001,8827,2000000,9001,,,,,,,,,, -32147,"NAD83 / Virginia South",9001,4269,14532,9802,1,0,4499,8821,36.2,9110,8822,-78.3,9110,8823,37.58,9110,8824,36.46,9110,8826,3500000,9001,8827,1000000,9001,,,,,,,,,, -32148,"NAD83 / Washington North",9001,4269,14631,9802,1,0,4499,8821,47,9110,8822,-120.5,9110,8823,48.44,9110,8824,47.3,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -32149,"NAD83 / Washington South",9001,4269,14632,9802,1,0,4499,8821,45.2,9110,8822,-120.3,9110,8823,47.2,9110,8824,45.5,9110,8826,500000,9001,8827,0,9001,,,,,,,,,, -32150,"NAD83 / West Virginia North",9001,4269,14731,9802,1,0,4499,8821,38.3,9110,8822,-79.3,9110,8823,40.15,9110,8824,39,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32151,"NAD83 / West Virginia South",9001,4269,14732,9802,1,0,4499,8821,37,9110,8822,-81,9110,8823,38.53,9110,8824,37.29,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32152,"NAD83 / Wisconsin North",9001,4269,14831,9802,1,0,4499,8821,45.1,9110,8822,-90,9110,8823,46.46,9110,8824,45.34,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32153,"NAD83 / Wisconsin Central",9001,4269,14832,9802,1,0,4499,8821,43.5,9110,8822,-90,9110,8823,45.3,9110,8824,44.15,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32154,"NAD83 / Wisconsin South",9001,4269,14833,9802,1,0,4499,8821,42,9110,8822,-90,9110,8823,44.04,9110,8824,42.44,9110,8826,600000,9001,8827,0,9001,,,,,,,,,, -32155,"NAD83 / Wyoming East",9001,4269,14931,9807,1,0,4499,8801,40.3,9110,8802,-105.1,9110,8805,0.9999375,9201,8806,200000,9001,8807,0,9001,,,,,,,,,,,,, -32156,"NAD83 / Wyoming East Central",9001,4269,14932,9807,1,0,4499,8801,40.3,9110,8802,-107.2,9110,8805,0.9999375,9201,8806,400000,9001,8807,100000,9001,,,,,,,,,,,,, -32157,"NAD83 / Wyoming West Central",9001,4269,14933,9807,1,0,4499,8801,40.3,9110,8802,-108.45,9110,8805,0.9999375,9201,8806,600000,9001,8807,0,9001,,,,,,,,,,,,, -32158,"NAD83 / Wyoming West",9001,4269,14934,9807,1,0,4499,8801,40.3,9110,8802,-110.05,9110,8805,0.9999375,9201,8806,800000,9001,8807,100000,9001,,,,,,,,,,,,, -32161,"NAD83 / Puerto Rico & Virgin Is.",9001,4269,15230,9802,1,0,4499,8821,17.5,9110,8822,-66.26,9110,8823,18.26,9110,8824,18.02,9110,8826,200000,9001,8827,200000,9001,,,,,,,,,, -32164,"NAD83 / BLM 14N (ftUS)",9003,4269,15914,9807,1,0,4497,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -32165,"NAD83 / BLM 15N (ftUS)",9003,4269,15915,9807,1,0,4497,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -32166,"NAD83 / BLM 16N (ftUS)",9003,4269,15916,9807,1,0,4497,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -32167,"NAD83 / BLM 17N (ftUS)",9003,4269,15917,9807,1,0,4497,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -32180,"NAD83 / SCoPQ zone 2",9001,4269,17700,9807,1,1,4499,8801,0,9110,8802,-55.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32181,"NAD83 / MTM zone 1",9001,4269,17701,9807,1,0,4496,8801,0,9102,8802,-53,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32182,"NAD83 / MTM zone 2",9001,4269,17702,9807,1,0,4496,8801,0,9102,8802,-56,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32183,"NAD83 / MTM zone 3",9001,4269,17703,9807,1,0,4496,8801,0,9110,8802,-58.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32184,"NAD83 / MTM zone 4",9001,4269,17704,9807,1,0,4496,8801,0,9110,8802,-61.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32185,"NAD83 / MTM zone 5",9001,4269,17705,9807,1,0,4496,8801,0,9110,8802,-64.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32186,"NAD83 / MTM zone 6",9001,4269,17706,9807,1,0,4496,8801,0,9110,8802,-67.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32187,"NAD83 / MTM zone 7",9001,4269,17707,9807,1,0,4496,8801,0,9110,8802,-70.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32188,"NAD83 / MTM zone 8",9001,4269,17708,9807,1,0,4496,8801,0,9110,8802,-73.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32189,"NAD83 / MTM zone 9",9001,4269,17709,9807,1,0,4496,8801,0,9110,8802,-76.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32190,"NAD83 / MTM zone 10",9001,4269,17710,9807,1,0,4496,8801,0,9110,8802,-79.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32191,"NAD83 / MTM zone 11",9001,4269,17711,9807,1,0,4400,8801,0,9110,8802,-82.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32192,"NAD83 / MTM zone 12",9001,4269,17712,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32193,"NAD83 / MTM zone 13",9001,4269,17713,9807,1,0,4400,8801,0,9102,8802,-84,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32194,"NAD83 / MTM zone 14",9001,4269,17714,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32195,"NAD83 / MTM zone 15",9001,4269,17715,9807,1,0,4400,8801,0,9102,8802,-90,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32196,"NAD83 / MTM zone 16",9001,4269,17716,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32197,"NAD83 / MTM zone 17",9001,4269,17717,9807,1,0,4400,8801,0,9102,8802,-96,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,,,,,,,,, -32198,"NAD83 / Quebec Lambert",9001,4269,19944,9802,1,0,4499,8821,44,9110,8822,-68.3,9110,8823,60,9110,8824,46,9110,8826,0,9001,8827,0,9001,,,,,,,,,, -32199,"NAD83 / Louisiana Offshore",9001,4269,11733,9802,1,0,4499,8821,25.3,9110,8822,-91.2,9110,8823,27.5,9110,8824,26.1,9110,8826,1000000,9001,8827,0,9001,,,,,,,,,, -32201,"WGS 72 / UTM zone 1N",9001,4322,16001,9807,1,0,4400,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32202,"WGS 72 / UTM zone 2N",9001,4322,16002,9807,1,0,4400,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32203,"WGS 72 / UTM zone 3N",9001,4322,16003,9807,1,0,4400,8801,0,9102,8802,-165,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32204,"WGS 72 / UTM zone 4N",9001,4322,16004,9807,1,0,4400,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32205,"WGS 72 / UTM zone 5N",9001,4322,16005,9807,1,0,4400,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32206,"WGS 72 / UTM zone 6N",9001,4322,16006,9807,1,0,4400,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32207,"WGS 72 / UTM zone 7N",9001,4322,16007,9807,1,0,4400,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32208,"WGS 72 / UTM zone 8N",9001,4322,16008,9807,1,0,4400,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32209,"WGS 72 / UTM zone 9N",9001,4322,16009,9807,1,0,4400,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32210,"WGS 72 / UTM zone 10N",9001,4322,16010,9807,1,0,4400,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32211,"WGS 72 / UTM zone 11N",9001,4322,16011,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32212,"WGS 72 / UTM zone 12N",9001,4322,16012,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32213,"WGS 72 / UTM zone 13N",9001,4322,16013,9807,1,0,4400,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32214,"WGS 72 / UTM zone 14N",9001,4322,16014,9807,1,0,4400,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32215,"WGS 72 / UTM zone 15N",9001,4322,16015,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32216,"WGS 72 / UTM zone 16N",9001,4322,16016,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32217,"WGS 72 / UTM zone 17N",9001,4322,16017,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32218,"WGS 72 / UTM zone 18N",9001,4322,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32219,"WGS 72 / UTM zone 19N",9001,4322,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32220,"WGS 72 / UTM zone 20N",9001,4322,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32221,"WGS 72 / UTM zone 21N",9001,4322,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32222,"WGS 72 / UTM zone 22N",9001,4322,16022,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32223,"WGS 72 / UTM zone 23N",9001,4322,16023,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32224,"WGS 72 / UTM zone 24N",9001,4322,16024,9807,1,0,4400,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32225,"WGS 72 / UTM zone 25N",9001,4322,16025,9807,1,0,4400,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32226,"WGS 72 / UTM zone 26N",9001,4322,16026,9807,1,0,4400,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32227,"WGS 72 / UTM zone 27N",9001,4322,16027,9807,1,0,4400,8801,0,9102,8802,-21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32228,"WGS 72 / UTM zone 28N",9001,4322,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32229,"WGS 72 / UTM zone 29N",9001,4322,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32230,"WGS 72 / UTM zone 30N",9001,4322,16030,9807,1,0,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32231,"WGS 72 / UTM zone 31N",9001,4322,16031,9807,1,0,4400,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32232,"WGS 72 / UTM zone 32N",9001,4322,16032,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32233,"WGS 72 / UTM zone 33N",9001,4322,16033,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32234,"WGS 72 / UTM zone 34N",9001,4322,16034,9807,1,0,4400,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32235,"WGS 72 / UTM zone 35N",9001,4322,16035,9807,1,0,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32236,"WGS 72 / UTM zone 36N",9001,4322,16036,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32237,"WGS 72 / UTM zone 37N",9001,4322,16037,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32238,"WGS 72 / UTM zone 38N",9001,4322,16038,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32239,"WGS 72 / UTM zone 39N",9001,4322,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32240,"WGS 72 / UTM zone 40N",9001,4322,16040,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32241,"WGS 72 / UTM zone 41N",9001,4322,16041,9807,1,0,4400,8801,0,9102,8802,63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32242,"WGS 72 / UTM zone 42N",9001,4322,16042,9807,1,0,4400,8801,0,9102,8802,69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32243,"WGS 72 / UTM zone 43N",9001,4322,16043,9807,1,0,4400,8801,0,9102,8802,75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32244,"WGS 72 / UTM zone 44N",9001,4322,16044,9807,1,0,4400,8801,0,9102,8802,81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32245,"WGS 72 / UTM zone 45N",9001,4322,16045,9807,1,0,4400,8801,0,9102,8802,87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32246,"WGS 72 / UTM zone 46N",9001,4322,16046,9807,1,0,4400,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32247,"WGS 72 / UTM zone 47N",9001,4322,16047,9807,1,0,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32248,"WGS 72 / UTM zone 48N",9001,4322,16048,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32249,"WGS 72 / UTM zone 49N",9001,4322,16049,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32250,"WGS 72 / UTM zone 50N",9001,4322,16050,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32251,"WGS 72 / UTM zone 51N",9001,4322,16051,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32252,"WGS 72 / UTM zone 52N",9001,4322,16052,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32253,"WGS 72 / UTM zone 53N",9001,4322,16053,9807,1,0,4400,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32254,"WGS 72 / UTM zone 54N",9001,4322,16054,9807,1,0,4400,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32255,"WGS 72 / UTM zone 55N",9001,4322,16055,9807,1,0,4400,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32256,"WGS 72 / UTM zone 56N",9001,4322,16056,9807,1,0,4400,8801,0,9102,8802,153,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32257,"WGS 72 / UTM zone 57N",9001,4322,16057,9807,1,0,4400,8801,0,9102,8802,159,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32258,"WGS 72 / UTM zone 58N",9001,4322,16058,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32259,"WGS 72 / UTM zone 59N",9001,4322,16059,9807,1,0,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32260,"WGS 72 / UTM zone 60N",9001,4322,16060,9807,1,0,4400,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32301,"WGS 72 / UTM zone 1S",9001,4322,16101,9807,1,0,4400,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32302,"WGS 72 / UTM zone 2S",9001,4322,16102,9807,1,0,4400,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32303,"WGS 72 / UTM zone 3S",9001,4322,16103,9807,1,0,4400,8801,0,9102,8802,-165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32304,"WGS 72 / UTM zone 4S",9001,4322,16104,9807,1,0,4400,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32305,"WGS 72 / UTM zone 5S",9001,4322,16105,9807,1,0,4400,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32306,"WGS 72 / UTM zone 6S",9001,4322,16106,9807,1,0,4400,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32307,"WGS 72 / UTM zone 7S",9001,4322,16107,9807,1,0,4400,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32308,"WGS 72 / UTM zone 8S",9001,4322,16108,9807,1,0,4400,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32309,"WGS 72 / UTM zone 9S",9001,4322,16109,9807,1,0,4400,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32310,"WGS 72 / UTM zone 10S",9001,4322,16110,9807,1,0,4400,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32311,"WGS 72 / UTM zone 11S",9001,4322,16111,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32312,"WGS 72 / UTM zone 12S",9001,4322,16112,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32313,"WGS 72 / UTM zone 13S",9001,4322,16113,9807,1,0,4400,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32314,"WGS 72 / UTM zone 14S",9001,4322,16114,9807,1,0,4400,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32315,"WGS 72 / UTM zone 15S",9001,4322,16115,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32316,"WGS 72 / UTM zone 16S",9001,4322,16116,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32317,"WGS 72 / UTM zone 17S",9001,4322,16117,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32318,"WGS 72 / UTM zone 18S",9001,4322,16118,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32319,"WGS 72 / UTM zone 19S",9001,4322,16119,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32320,"WGS 72 / UTM zone 20S",9001,4322,16120,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32321,"WGS 72 / UTM zone 21S",9001,4322,16121,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32322,"WGS 72 / UTM zone 22S",9001,4322,16122,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32323,"WGS 72 / UTM zone 23S",9001,4322,16123,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32324,"WGS 72 / UTM zone 24S",9001,4322,16124,9807,1,0,4400,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32325,"WGS 72 / UTM zone 25S",9001,4322,16125,9807,1,0,4400,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32326,"WGS 72 / UTM zone 26S",9001,4322,16126,9807,1,0,4400,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32327,"WGS 72 / UTM zone 27S",9001,4322,16127,9807,1,0,4400,8801,0,9102,8802,-21,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32328,"WGS 72 / UTM zone 28S",9001,4322,16128,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32329,"WGS 72 / UTM zone 29S",9001,4322,16129,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32330,"WGS 72 / UTM zone 30S",9001,4322,16130,9807,1,0,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32331,"WGS 72 / UTM zone 31S",9001,4322,16131,9807,1,0,4400,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32332,"WGS 72 / UTM zone 32S",9001,4322,16132,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32333,"WGS 72 / UTM zone 33S",9001,4322,16133,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32334,"WGS 72 / UTM zone 34S",9001,4322,16134,9807,1,0,4400,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32335,"WGS 72 / UTM zone 35S",9001,4322,16135,9807,1,0,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32336,"WGS 72 / UTM zone 36S",9001,4322,16136,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32337,"WGS 72 / UTM zone 37S",9001,4322,16137,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32338,"WGS 72 / UTM zone 38S",9001,4322,16138,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32339,"WGS 72 / UTM zone 39S",9001,4322,16139,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32340,"WGS 72 / UTM zone 40S",9001,4322,16140,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32341,"WGS 72 / UTM zone 41S",9001,4322,16141,9807,1,0,4400,8801,0,9102,8802,63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32342,"WGS 72 / UTM zone 42S",9001,4322,16142,9807,1,0,4400,8801,0,9102,8802,69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32343,"WGS 72 / UTM zone 43S",9001,4322,16143,9807,1,0,4400,8801,0,9102,8802,75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32344,"WGS 72 / UTM zone 44S",9001,4322,16144,9807,1,0,4400,8801,0,9102,8802,81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32345,"WGS 72 / UTM zone 45S",9001,4322,16145,9807,1,0,4400,8801,0,9102,8802,87,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32346,"WGS 72 / UTM zone 46S",9001,4322,16146,9807,1,0,4400,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32347,"WGS 72 / UTM zone 47S",9001,4322,16147,9807,1,0,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32348,"WGS 72 / UTM zone 48S",9001,4322,16148,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32349,"WGS 72 / UTM zone 49S",9001,4322,16149,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32350,"WGS 72 / UTM zone 50S",9001,4322,16150,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32351,"WGS 72 / UTM zone 51S",9001,4322,16151,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32352,"WGS 72 / UTM zone 52S",9001,4322,16152,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32353,"WGS 72 / UTM zone 53S",9001,4322,16153,9807,1,0,4400,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32354,"WGS 72 / UTM zone 54S",9001,4322,16154,9807,1,0,4400,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32355,"WGS 72 / UTM zone 55S",9001,4322,16155,9807,1,0,4400,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32356,"WGS 72 / UTM zone 56S",9001,4322,16156,9807,1,0,4400,8801,0,9102,8802,153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32357,"WGS 72 / UTM zone 57S",9001,4322,16157,9807,1,0,4400,8801,0,9102,8802,159,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32358,"WGS 72 / UTM zone 58S",9001,4322,16158,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32359,"WGS 72 / UTM zone 59S",9001,4322,16159,9807,1,0,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32360,"WGS 72 / UTM zone 60S",9001,4322,16160,9807,1,0,4400,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32401,"WGS 72BE / UTM zone 1N",9001,4324,16001,9807,1,0,4400,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32402,"WGS 72BE / UTM zone 2N",9001,4324,16002,9807,1,0,4400,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32403,"WGS 72BE / UTM zone 3N",9001,4324,16003,9807,1,0,4400,8801,0,9102,8802,-165,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32404,"WGS 72BE / UTM zone 4N",9001,4324,16004,9807,1,0,4400,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32405,"WGS 72BE / UTM zone 5N",9001,4324,16005,9807,1,0,4400,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32406,"WGS 72BE / UTM zone 6N",9001,4324,16006,9807,1,0,4400,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32407,"WGS 72BE / UTM zone 7N",9001,4324,16007,9807,1,0,4400,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32408,"WGS 72BE / UTM zone 8N",9001,4324,16008,9807,1,0,4400,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32409,"WGS 72BE / UTM zone 9N",9001,4324,16009,9807,1,0,4400,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32410,"WGS 72BE / UTM zone 10N",9001,4324,16010,9807,1,0,4400,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32411,"WGS 72BE / UTM zone 11N",9001,4324,16011,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32412,"WGS 72BE / UTM zone 12N",9001,4324,16012,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32413,"WGS 72BE / UTM zone 13N",9001,4324,16013,9807,1,0,4400,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32414,"WGS 72BE / UTM zone 14N",9001,4324,16014,9807,1,0,4400,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32415,"WGS 72BE / UTM zone 15N",9001,4324,16015,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32416,"WGS 72BE / UTM zone 16N",9001,4324,16016,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32417,"WGS 72BE / UTM zone 17N",9001,4324,16017,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32418,"WGS 72BE / UTM zone 18N",9001,4324,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32419,"WGS 72BE / UTM zone 19N",9001,4324,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32420,"WGS 72BE / UTM zone 20N",9001,4324,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32421,"WGS 72BE / UTM zone 21N",9001,4324,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32422,"WGS 72BE / UTM zone 22N",9001,4324,16022,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32423,"WGS 72BE / UTM zone 23N",9001,4324,16023,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32424,"WGS 72BE / UTM zone 24N",9001,4324,16024,9807,1,0,4400,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32425,"WGS 72BE / UTM zone 25N",9001,4324,16025,9807,1,0,4400,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32426,"WGS 72BE / UTM zone 26N",9001,4324,16026,9807,1,0,4400,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32427,"WGS 72BE / UTM zone 27N",9001,4324,16027,9807,1,0,4400,8801,0,9102,8802,-21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32428,"WGS 72BE / UTM zone 28N",9001,4324,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32429,"WGS 72BE / UTM zone 29N",9001,4324,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32430,"WGS 72BE / UTM zone 30N",9001,4324,16030,9807,1,0,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32431,"WGS 72BE / UTM zone 31N",9001,4324,16031,9807,1,0,4400,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32432,"WGS 72BE / UTM zone 32N",9001,4324,16032,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32433,"WGS 72BE / UTM zone 33N",9001,4324,16033,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32434,"WGS 72BE / UTM zone 34N",9001,4324,16034,9807,1,0,4400,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32435,"WGS 72BE / UTM zone 35N",9001,4324,16035,9807,1,0,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32436,"WGS 72BE / UTM zone 36N",9001,4324,16036,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32437,"WGS 72BE / UTM zone 37N",9001,4324,16037,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32438,"WGS 72BE / UTM zone 38N",9001,4324,16038,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32439,"WGS 72BE / UTM zone 39N",9001,4324,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32440,"WGS 72BE / UTM zone 40N",9001,4324,16040,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32441,"WGS 72BE / UTM zone 41N",9001,4324,16041,9807,1,0,4400,8801,0,9102,8802,63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32442,"WGS 72BE / UTM zone 42N",9001,4324,16042,9807,1,0,4400,8801,0,9102,8802,69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32443,"WGS 72BE / UTM zone 43N",9001,4324,16043,9807,1,0,4400,8801,0,9102,8802,75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32444,"WGS 72BE / UTM zone 44N",9001,4324,16044,9807,1,0,4400,8801,0,9102,8802,81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32445,"WGS 72BE / UTM zone 45N",9001,4324,16045,9807,1,0,4400,8801,0,9102,8802,87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32446,"WGS 72BE / UTM zone 46N",9001,4324,16046,9807,1,0,4400,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32447,"WGS 72BE / UTM zone 47N",9001,4324,16047,9807,1,0,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32448,"WGS 72BE / UTM zone 48N",9001,4324,16048,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32449,"WGS 72BE / UTM zone 49N",9001,4324,16049,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32450,"WGS 72BE / UTM zone 50N",9001,4324,16050,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32451,"WGS 72BE / UTM zone 51N",9001,4324,16051,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32452,"WGS 72BE / UTM zone 52N",9001,4324,16052,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32453,"WGS 72BE / UTM zone 53N",9001,4324,16053,9807,1,0,4400,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32454,"WGS 72BE / UTM zone 54N",9001,4324,16054,9807,1,0,4400,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32455,"WGS 72BE / UTM zone 55N",9001,4324,16055,9807,1,0,4400,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32456,"WGS 72BE / UTM zone 56N",9001,4324,16056,9807,1,0,4400,8801,0,9102,8802,153,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32457,"WGS 72BE / UTM zone 57N",9001,4324,16057,9807,1,0,4400,8801,0,9102,8802,159,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32458,"WGS 72BE / UTM zone 58N",9001,4324,16058,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32459,"WGS 72BE / UTM zone 59N",9001,4324,16059,9807,1,0,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32460,"WGS 72BE / UTM zone 60N",9001,4324,16060,9807,1,0,4400,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32501,"WGS 72BE / UTM zone 1S",9001,4324,16101,9807,1,0,4400,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32502,"WGS 72BE / UTM zone 2S",9001,4324,16102,9807,1,0,4400,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32503,"WGS 72BE / UTM zone 3S",9001,4324,16103,9807,1,0,4400,8801,0,9102,8802,-165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32504,"WGS 72BE / UTM zone 4S",9001,4324,16104,9807,1,0,4400,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32505,"WGS 72BE / UTM zone 5S",9001,4324,16105,9807,1,0,4400,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32506,"WGS 72BE / UTM zone 6S",9001,4324,16106,9807,1,0,4400,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32507,"WGS 72BE / UTM zone 7S",9001,4324,16107,9807,1,0,4400,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32508,"WGS 72BE / UTM zone 8S",9001,4324,16108,9807,1,0,4400,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32509,"WGS 72BE / UTM zone 9S",9001,4324,16109,9807,1,0,4400,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32510,"WGS 72BE / UTM zone 10S",9001,4324,16110,9807,1,0,4400,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32511,"WGS 72BE / UTM zone 11S",9001,4324,16111,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32512,"WGS 72BE / UTM zone 12S",9001,4324,16112,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32513,"WGS 72BE / UTM zone 13S",9001,4324,16113,9807,1,0,4400,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32514,"WGS 72BE / UTM zone 14S",9001,4324,16114,9807,1,0,4400,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32515,"WGS 72BE / UTM zone 15S",9001,4324,16115,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32516,"WGS 72BE / UTM zone 16S",9001,4324,16116,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32517,"WGS 72BE / UTM zone 17S",9001,4324,16117,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32518,"WGS 72BE / UTM zone 18S",9001,4324,16118,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32519,"WGS 72BE / UTM zone 19S",9001,4324,16119,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32520,"WGS 72BE / UTM zone 20S",9001,4324,16120,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32521,"WGS 72BE / UTM zone 21S",9001,4324,16121,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32522,"WGS 72BE / UTM zone 22S",9001,4324,16122,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32523,"WGS 72BE / UTM zone 23S",9001,4324,16123,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32524,"WGS 72BE / UTM zone 24S",9001,4324,16124,9807,1,0,4400,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32525,"WGS 72BE / UTM zone 25S",9001,4324,16125,9807,1,0,4400,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32526,"WGS 72BE / UTM zone 26S",9001,4324,16126,9807,1,0,4400,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32527,"WGS 72BE / UTM zone 27S",9001,4324,16127,9807,1,0,4400,8801,0,9102,8802,-21,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32528,"WGS 72BE / UTM zone 28S",9001,4324,16128,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32529,"WGS 72BE / UTM zone 29S",9001,4324,16129,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32530,"WGS 72BE / UTM zone 30S",9001,4324,16130,9807,1,0,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32531,"WGS 72BE / UTM zone 31S",9001,4324,16131,9807,1,0,4400,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32532,"WGS 72BE / UTM zone 32S",9001,4324,16132,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32533,"WGS 72BE / UTM zone 33S",9001,4324,16133,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32534,"WGS 72BE / UTM zone 34S",9001,4324,16134,9807,1,0,4400,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32535,"WGS 72BE / UTM zone 35S",9001,4324,16135,9807,1,0,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32536,"WGS 72BE / UTM zone 36S",9001,4324,16136,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32537,"WGS 72BE / UTM zone 37S",9001,4324,16137,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32538,"WGS 72BE / UTM zone 38S",9001,4324,16138,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32539,"WGS 72BE / UTM zone 39S",9001,4324,16139,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32540,"WGS 72BE / UTM zone 40S",9001,4324,16140,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32541,"WGS 72BE / UTM zone 41S",9001,4324,16141,9807,1,0,4400,8801,0,9102,8802,63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32542,"WGS 72BE / UTM zone 42S",9001,4324,16142,9807,1,0,4400,8801,0,9102,8802,69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32543,"WGS 72BE / UTM zone 43S",9001,4324,16143,9807,1,0,4400,8801,0,9102,8802,75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32544,"WGS 72BE / UTM zone 44S",9001,4324,16144,9807,1,0,4400,8801,0,9102,8802,81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32545,"WGS 72BE / UTM zone 45S",9001,4324,16145,9807,1,0,4400,8801,0,9102,8802,87,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32546,"WGS 72BE / UTM zone 46S",9001,4324,16146,9807,1,0,4400,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32547,"WGS 72BE / UTM zone 47S",9001,4324,16147,9807,1,0,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32548,"WGS 72BE / UTM zone 48S",9001,4324,16148,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32549,"WGS 72BE / UTM zone 49S",9001,4324,16149,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32550,"WGS 72BE / UTM zone 50S",9001,4324,16150,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32551,"WGS 72BE / UTM zone 51S",9001,4324,16151,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32552,"WGS 72BE / UTM zone 52S",9001,4324,16152,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32553,"WGS 72BE / UTM zone 53S",9001,4324,16153,9807,1,0,4400,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32554,"WGS 72BE / UTM zone 54S",9001,4324,16154,9807,1,0,4400,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32555,"WGS 72BE / UTM zone 55S",9001,4324,16155,9807,1,0,4400,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32556,"WGS 72BE / UTM zone 56S",9001,4324,16156,9807,1,0,4400,8801,0,9102,8802,153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32557,"WGS 72BE / UTM zone 57S",9001,4324,16157,9807,1,0,4400,8801,0,9102,8802,159,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32558,"WGS 72BE / UTM zone 58S",9001,4324,16158,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32559,"WGS 72BE / UTM zone 59S",9001,4324,16159,9807,1,0,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32560,"WGS 72BE / UTM zone 60S",9001,4324,16160,9807,1,0,4400,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32600,"WGS 84 / UTM grid system (northern hemisphere)",9001,4326,16000,9824,1,0,4400,8801,0,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,8830,-180,9102,8831,6,9102,,,,,,,,,, -32601,"WGS 84 / UTM zone 1N",9001,4326,16001,9807,1,0,4400,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32602,"WGS 84 / UTM zone 2N",9001,4326,16002,9807,1,0,4400,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32603,"WGS 84 / UTM zone 3N",9001,4326,16003,9807,1,0,4400,8801,0,9102,8802,-165,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32604,"WGS 84 / UTM zone 4N",9001,4326,16004,9807,1,0,4400,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32605,"WGS 84 / UTM zone 5N",9001,4326,16005,9807,1,0,4400,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32606,"WGS 84 / UTM zone 6N",9001,4326,16006,9807,1,0,4400,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32607,"WGS 84 / UTM zone 7N",9001,4326,16007,9807,1,0,4400,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32608,"WGS 84 / UTM zone 8N",9001,4326,16008,9807,1,0,4400,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32609,"WGS 84 / UTM zone 9N",9001,4326,16009,9807,1,0,4400,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32610,"WGS 84 / UTM zone 10N",9001,4326,16010,9807,1,0,4400,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32611,"WGS 84 / UTM zone 11N",9001,4326,16011,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32612,"WGS 84 / UTM zone 12N",9001,4326,16012,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32613,"WGS 84 / UTM zone 13N",9001,4326,16013,9807,1,0,4400,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32614,"WGS 84 / UTM zone 14N",9001,4326,16014,9807,1,0,4400,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32615,"WGS 84 / UTM zone 15N",9001,4326,16015,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32616,"WGS 84 / UTM zone 16N",9001,4326,16016,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32617,"WGS 84 / UTM zone 17N",9001,4326,16017,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32618,"WGS 84 / UTM zone 18N",9001,4326,16018,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32619,"WGS 84 / UTM zone 19N",9001,4326,16019,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32620,"WGS 84 / UTM zone 20N",9001,4326,16020,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32621,"WGS 84 / UTM zone 21N",9001,4326,16021,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32622,"WGS 84 / UTM zone 22N",9001,4326,16022,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32623,"WGS 84 / UTM zone 23N",9001,4326,16023,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32624,"WGS 84 / UTM zone 24N",9001,4326,16024,9807,1,0,4400,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32625,"WGS 84 / UTM zone 25N",9001,4326,16025,9807,1,0,4400,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32626,"WGS 84 / UTM zone 26N",9001,4326,16026,9807,1,0,4400,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32627,"WGS 84 / UTM zone 27N",9001,4326,16027,9807,1,0,4400,8801,0,9102,8802,-21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32628,"WGS 84 / UTM zone 28N",9001,4326,16028,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32629,"WGS 84 / UTM zone 29N",9001,4326,16029,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32630,"WGS 84 / UTM zone 30N",9001,4326,16030,9807,1,0,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32631,"WGS 84 / UTM zone 31N",9001,4326,16031,9807,1,0,4400,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32632,"WGS 84 / UTM zone 32N",9001,4326,16032,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32633,"WGS 84 / UTM zone 33N",9001,4326,16033,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32634,"WGS 84 / UTM zone 34N",9001,4326,16034,9807,1,0,4400,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32635,"WGS 84 / UTM zone 35N",9001,4326,16035,9807,1,0,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32636,"WGS 84 / UTM zone 36N",9001,4326,16036,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32637,"WGS 84 / UTM zone 37N",9001,4326,16037,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32638,"WGS 84 / UTM zone 38N",9001,4326,16038,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32639,"WGS 84 / UTM zone 39N",9001,4326,16039,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32640,"WGS 84 / UTM zone 40N",9001,4326,16040,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32641,"WGS 84 / UTM zone 41N",9001,4326,16041,9807,1,0,4400,8801,0,9102,8802,63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32642,"WGS 84 / UTM zone 42N",9001,4326,16042,9807,1,0,4400,8801,0,9102,8802,69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32643,"WGS 84 / UTM zone 43N",9001,4326,16043,9807,1,0,4400,8801,0,9102,8802,75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32644,"WGS 84 / UTM zone 44N",9001,4326,16044,9807,1,0,4400,8801,0,9102,8802,81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32645,"WGS 84 / UTM zone 45N",9001,4326,16045,9807,1,0,4400,8801,0,9102,8802,87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32646,"WGS 84 / UTM zone 46N",9001,4326,16046,9807,1,0,4400,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32647,"WGS 84 / UTM zone 47N",9001,4326,16047,9807,1,0,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32648,"WGS 84 / UTM zone 48N",9001,4326,16048,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32649,"WGS 84 / UTM zone 49N",9001,4326,16049,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32650,"WGS 84 / UTM zone 50N",9001,4326,16050,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32651,"WGS 84 / UTM zone 51N",9001,4326,16051,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32652,"WGS 84 / UTM zone 52N",9001,4326,16052,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32653,"WGS 84 / UTM zone 53N",9001,4326,16053,9807,1,0,4400,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32654,"WGS 84 / UTM zone 54N",9001,4326,16054,9807,1,0,4400,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32655,"WGS 84 / UTM zone 55N",9001,4326,16055,9807,1,0,4400,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32656,"WGS 84 / UTM zone 56N",9001,4326,16056,9807,1,0,4400,8801,0,9102,8802,153,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32657,"WGS 84 / UTM zone 57N",9001,4326,16057,9807,1,0,4400,8801,0,9102,8802,159,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32658,"WGS 84 / UTM zone 58N",9001,4326,16058,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32659,"WGS 84 / UTM zone 59N",9001,4326,16059,9807,1,0,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32660,"WGS 84 / UTM zone 60N",9001,4326,16060,9807,1,0,4400,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,,,,,,,,, -32661,"WGS 84 / UPS North (N,E)",9001,4326,16061,9810,1,0,4493,8801,90,9102,8802,0,9102,8805,0.994,9201,8806,2000000,9001,8807,2000000,9001,,,,,,,,,,,,, -32662,"WGS 84 / Plate Carree",9001,4326,19968,9823,1,1,4499,8801,0,9102,8802,0,9102,8806,0,9001,8807,0,9001,,,,,,,,,,,,,,,, -32663,"WGS 84 / World Equidistant Cylindrical",9001,4326,19846,9842,1,1,4499,8801,0,9102,8806,0,9001,8807,0,9001,8822,0,9102,,,,,,,,,,,,,,,, -32664,"WGS 84 / BLM 14N (ftUS)",9003,4326,15914,9807,1,0,4497,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -32665,"WGS 84 / BLM 15N (ftUS)",9003,4326,15915,9807,1,0,4497,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -32666,"WGS 84 / BLM 16N (ftUS)",9003,4326,15916,9807,1,0,4497,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -32667,"WGS 84 / BLM 17N (ftUS)",9003,4326,15917,9807,1,0,4497,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,,,,,,,,, -32700,"WGS 84 / UTM grid system (southern hemisphere)",9001,4326,16100,9824,1,0,4400,8801,0,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,8830,-180,9102,8831,6,9102,,,,,,,,,, -32701,"WGS 84 / UTM zone 1S",9001,4326,16101,9807,1,0,4400,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32702,"WGS 84 / UTM zone 2S",9001,4326,16102,9807,1,0,4400,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32703,"WGS 84 / UTM zone 3S",9001,4326,16103,9807,1,0,4400,8801,0,9102,8802,-165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32704,"WGS 84 / UTM zone 4S",9001,4326,16104,9807,1,0,4400,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32705,"WGS 84 / UTM zone 5S",9001,4326,16105,9807,1,0,4400,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32706,"WGS 84 / UTM zone 6S",9001,4326,16106,9807,1,0,4400,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32707,"WGS 84 / UTM zone 7S",9001,4326,16107,9807,1,0,4400,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32708,"WGS 84 / UTM zone 8S",9001,4326,16108,9807,1,0,4400,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32709,"WGS 84 / UTM zone 9S",9001,4326,16109,9807,1,0,4400,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32710,"WGS 84 / UTM zone 10S",9001,4326,16110,9807,1,0,4400,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32711,"WGS 84 / UTM zone 11S",9001,4326,16111,9807,1,0,4400,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32712,"WGS 84 / UTM zone 12S",9001,4326,16112,9807,1,0,4400,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32713,"WGS 84 / UTM zone 13S",9001,4326,16113,9807,1,0,4400,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32714,"WGS 84 / UTM zone 14S",9001,4326,16114,9807,1,0,4400,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32715,"WGS 84 / UTM zone 15S",9001,4326,16115,9807,1,0,4400,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32716,"WGS 84 / UTM zone 16S",9001,4326,16116,9807,1,0,4400,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32717,"WGS 84 / UTM zone 17S",9001,4326,16117,9807,1,0,4400,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32718,"WGS 84 / UTM zone 18S",9001,4326,16118,9807,1,0,4400,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32719,"WGS 84 / UTM zone 19S",9001,4326,16119,9807,1,0,4400,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32720,"WGS 84 / UTM zone 20S",9001,4326,16120,9807,1,0,4400,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32721,"WGS 84 / UTM zone 21S",9001,4326,16121,9807,1,0,4400,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32722,"WGS 84 / UTM zone 22S",9001,4326,16122,9807,1,0,4400,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32723,"WGS 84 / UTM zone 23S",9001,4326,16123,9807,1,0,4400,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32724,"WGS 84 / UTM zone 24S",9001,4326,16124,9807,1,0,4400,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32725,"WGS 84 / UTM zone 25S",9001,4326,16125,9807,1,0,4400,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32726,"WGS 84 / UTM zone 26S",9001,4326,16126,9807,1,0,4400,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32727,"WGS 84 / UTM zone 27S",9001,4326,16127,9807,1,0,4400,8801,0,9102,8802,-21,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32728,"WGS 84 / UTM zone 28S",9001,4326,16128,9807,1,0,4400,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32729,"WGS 84 / UTM zone 29S",9001,4326,16129,9807,1,0,4400,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32730,"WGS 84 / UTM zone 30S",9001,4326,16130,9807,1,0,4400,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32731,"WGS 84 / UTM zone 31S",9001,4326,16131,9807,1,0,4400,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32732,"WGS 84 / UTM zone 32S",9001,4326,16132,9807,1,0,4400,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32733,"WGS 84 / UTM zone 33S",9001,4326,16133,9807,1,0,4400,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32734,"WGS 84 / UTM zone 34S",9001,4326,16134,9807,1,0,4400,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32735,"WGS 84 / UTM zone 35S",9001,4326,16135,9807,1,0,4400,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32736,"WGS 84 / UTM zone 36S",9001,4326,16136,9807,1,0,4400,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32737,"WGS 84 / UTM zone 37S",9001,4326,16137,9807,1,0,4400,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32738,"WGS 84 / UTM zone 38S",9001,4326,16138,9807,1,0,4400,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32739,"WGS 84 / UTM zone 39S",9001,4326,16139,9807,1,0,4400,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32740,"WGS 84 / UTM zone 40S",9001,4326,16140,9807,1,0,4400,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32741,"WGS 84 / UTM zone 41S",9001,4326,16141,9807,1,0,4400,8801,0,9102,8802,63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32742,"WGS 84 / UTM zone 42S",9001,4326,16142,9807,1,0,4400,8801,0,9102,8802,69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32743,"WGS 84 / UTM zone 43S",9001,4326,16143,9807,1,0,4400,8801,0,9102,8802,75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32744,"WGS 84 / UTM zone 44S",9001,4326,16144,9807,1,0,4400,8801,0,9102,8802,81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32745,"WGS 84 / UTM zone 45S",9001,4326,16145,9807,1,0,4400,8801,0,9102,8802,87,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32746,"WGS 84 / UTM zone 46S",9001,4326,16146,9807,1,0,4400,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32747,"WGS 84 / UTM zone 47S",9001,4326,16147,9807,1,0,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32748,"WGS 84 / UTM zone 48S",9001,4326,16148,9807,1,0,4400,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32749,"WGS 84 / UTM zone 49S",9001,4326,16149,9807,1,0,4400,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32750,"WGS 84 / UTM zone 50S",9001,4326,16150,9807,1,0,4400,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32751,"WGS 84 / UTM zone 51S",9001,4326,16151,9807,1,0,4400,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32752,"WGS 84 / UTM zone 52S",9001,4326,16152,9807,1,0,4400,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32753,"WGS 84 / UTM zone 53S",9001,4326,16153,9807,1,0,4400,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32754,"WGS 84 / UTM zone 54S",9001,4326,16154,9807,1,0,4400,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32755,"WGS 84 / UTM zone 55S",9001,4326,16155,9807,1,0,4400,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32756,"WGS 84 / UTM zone 56S",9001,4326,16156,9807,1,0,4400,8801,0,9102,8802,153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32757,"WGS 84 / UTM zone 57S",9001,4326,16157,9807,1,0,4400,8801,0,9102,8802,159,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32758,"WGS 84 / UTM zone 58S",9001,4326,16158,9807,1,0,4400,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32759,"WGS 84 / UTM zone 59S",9001,4326,16159,9807,1,0,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32760,"WGS 84 / UTM zone 60S",9001,4326,16160,9807,1,0,4400,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, -32761,"WGS 84 / UPS South (N,E)",9001,4326,16161,9810,1,0,4494,8801,-90,9102,8802,0,9102,8805,0.994,9201,8806,2000000,9001,8807,2000000,9001,,,,,,,,,,,,, -32766,"WGS 84 / TM 36 SE",9001,4326,16636,9807,1,0,4400,8801,0,9102,8802,36,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,,,,,,,, diff --git a/bin/gdal_data/pcs.override.csv b/bin/gdal_data/pcs.override.csv deleted file mode 100644 index b8cd3cb5..00000000 --- a/bin/gdal_data/pcs.override.csv +++ /dev/null @@ -1,19 +0,0 @@ -"COORD_REF_SYS_CODE","COORD_REF_SYS_NAME","UOM_CODE","SOURCE_GEOGCRS_CODE","COORD_OP_CODE","COORD_OP_METHOD_CODE","SHOW_CRS","DEPRECATED","COORD_SYS_CODE","PARAMETER_CODE_1","PARAMETER_VALUE_1","PARAMETER_UOM_1","PARAMETER_CODE_2","PARAMETER_VALUE_2","PARAMETER_UOM_2","PARAMETER_CODE_3","PARAMETER_VALUE_3","PARAMETER_UOM_3","PARAMETER_CODE_4","PARAMETER_VALUE_4","PARAMETER_UOM_4","PARAMETER_CODE_5","PARAMETER_VALUE_5","PARAMETER_UOM_5","PARAMETER_CODE_6","PARAMETER_VALUE_6","PARAMETER_UOM_6","PARAMETER_CODE_7","PARAMETER_VALUE_7","PARAMETER_UOM_7","DX","DY","DZ","RX","RY","RZ","DS" -# -# NOTICE: The master version of this file is in the libgeotiff subversion at: -# -# https://svn.osgeo.org/metacrs/geotiff/trunk/libgeotiff/csv/pcs.override.csv -# -# Do *not* change other copies without upstreaming the results to libgeotiff. -# -# -# -# Adjust central meridian to be relative to prime meridian. -# -26591,"Monte Mario (Rome) / Italy zone 1",9001,4806,18121,9807,1,1,4499,8801,0,9102,8802,-3.45233333333333,9102,8805,0.9996,9201,8806,1500000,9001,8807,0,9001,,,,,,,,,,,,, -26592,"Monte Mario (Rome) / Italy zone 2",9001,4806,18122,9807,1,1,4499,8801,0,9102,8802,2.54766666666666,9102,8805,0.9996,9201,8806,2520000,9001,8807,0,9001,,,,,,,,,,,,, -# -# 26799 is deprecated, because of the error in the false northing. However, -# we "fix" the original to reduce problems folks would otherwise encounter. -# -26799,"NAD27 / California zone VII",9003,4267,10408,9802,1,0,4497,8821,34.08,9110,8822,-118.2,9110,8823,34.25,9110,8824,33.52,9110,8826,4186692.58,9003,8827,4160926.74,9003,,,,,,,,,, diff --git a/bin/gdal_data/plscenesconf.json b/bin/gdal_data/plscenesconf.json deleted file mode 100644 index af5881ef..00000000 --- a/bin/gdal_data/plscenesconf.json +++ /dev/null @@ -1,296 +0,0 @@ -{ - "v1_data": { - "PSOrthoTile" : { - "fields": [ - { "name": "acquired", "type": "datetime" }, - { "name": "anomalous_pixels", "type": "double" }, - { "name": "black_fill", "type": "double" }, - { "name": "cloud_cover", "type": "double" }, - { "name": "columns", "type": "int" }, - { "name": "epsg_code", "type": "int" }, - { "name": "grid_cell", "type": "string" }, - { "name": "gsd", "type": "double" }, - { "name": "item_type", "type": "string" }, - { "name": "origin_x", "type": "double" }, - { "name": "origin_y", "type": "double" }, - { "name": "pixel_resolution", "type": "double" }, - { "name": "provider", "type": "string" }, - { "name": "published", "type": "datetime" }, - { "name": "rows", "type": "int" }, - { "name": "satellite_id", "type": "string" }, - { "name": "sun_azimuth", "type": "double" }, - { "name": "sun_elevation", "type": "double" }, - { "name": "updated", "type": "datetime" }, - { "name": "usable_data", "type": "double" }, - { "name": "view_angle", "type": "double" } - ], - "assets": [ - "analytic", - "analytic_dn", - "analytic_dn_xml", - "analytic_xml", - "udm", - "visual", - "visual_xml" - ] - }, - "REOrthoTile" : { - "fields" : [ - { "name": "acquired", "type": "datetime" }, - { "name": "anomalous_pixels", "type": "double" }, - { "name": "black_fill", "type": "double" }, - { "name": "catalog_id", "type": "string" }, - { "name": "cloud_cover", "type": "double" }, - { "name": "columns", "type": "int" }, - { "name": "epsg_code", "type": "int" }, - { "name": "grid_cell", "type": "string" }, - { "name": "gsd", "type": "double" }, - { "name": "item_type", "type": "string" }, - { "name": "origin_x", "type": "double" }, - { "name": "origin_y", "type": "double" }, - { "name": "pixel_resolution", "type": "double" }, - { "name": "provider", "type": "string" }, - { "name": "published", "type": "datetime" }, - { "name": "rows", "type": "int" }, - { "name": "satellite_id", "type": "string" }, - { "name": "strip_id", "type": "string" }, - { "name": "sun_azimuth", "type": "double" }, - { "name": "sun_elevation", "type": "double" }, - { "name": "updated", "type": "datetime" }, - { "name": "usable_data", "type": "double" }, - { "name": "view_angle", "type": "double" } - ], - "assets": [ - "analytic", - "analytic_xml", - "udm", - "visual", - "visual_xml" - ] - }, - "PSScene3Band" : { - "fields": [ - { "name": "acquired", "type": "datetime" }, - { "name": "anomalous_pixels", "type": "double" }, - { "name": "cloud_cover", "type": "double" }, - { "name": "columns", "type": "int" }, - { "name": "epsg_code", "type": "int" }, - { "name": "gsd", "type": "double" }, - { "name": "instrument", "type": "string" }, - { "name": "item_type", "type": "string" }, - { "name": "origin_x", "type": "double" }, - { "name": "origin_y", "type": "double" }, - { "name": "pixel_resolution", "type": "double" }, - { "name": "provider", "type": "string" }, - { "name": "published", "type": "datetime" }, - { "name": "quality_category", "type": "string" }, - { "name": "rows", "type": "int" }, - { "name": "satellite_id", "type": "string" }, - { "name": "strip_id", "type": "string" }, - { "name": "sun_azimuth", "type": "double" }, - { "name": "sun_elevation", "type": "double" }, - { "name": "updated", "type": "datetime" }, - { "name": "usable_data", "type": "double" }, - { "name": "view_angle", "type": "double" } - ], - "assets": [ - "analytic", - "analytic_dn", - "analytic_dn_xml", - "analytic_xml", - "basic_analytic", - "basic_analytic_dn", - "basic_analytic_dn_rpc", - "basic_analytic_dn_xml", - "basic_analytic_rpc", - "basic_analytic_xml", - "basic_udm", - "udm", - "visual", - "visual_xml" - ] - }, - "PSScene4Band" : { - "fields": [ - { "name": "acquired", "type": "datetime" }, - { "name": "anomalous_pixels", "type": "double" }, - { "name": "cloud_cover", "type": "double" }, - { "name": "columns", "type": "int" }, - { "name": "epsg_code", "type": "int" }, - { "name": "gsd", "type": "double" }, - { "name": "instrument", "type": "string" }, - { "name": "item_type", "type": "string" }, - { "name": "origin_x", "type": "double" }, - { "name": "origin_y", "type": "double" }, - { "name": "pixel_resolution", "type": "double" }, - { "name": "provider", "type": "string" }, - { "name": "published", "type": "datetime" }, - { "name": "quality_category", "type": "string" }, - { "name": "rows", "type": "int" }, - { "name": "satellite_id", "type": "string" }, - { "name": "strip_id", "type": "string" }, - { "name": "sun_azimuth", "type": "double" }, - { "name": "sun_elevation", "type": "double" }, - { "name": "updated", "type": "datetime" }, - { "name": "usable_data", "type": "double" }, - { "name": "view_angle", "type": "double" } - ], - "assets": [ - "analytic", - "analytic_dn", - "analytic_dn_xml", - "analytic_xml", - "basic_analytic", - "basic_analytic_dn", - "basic_analytic_dn_nitf", - "basic_analytic_dn_rpc", - "basic_analytic_dn_rpc_nitf", - "basic_analytic_dn_xml", - "basic_analytic_dn_xml_nitf", - "basic_analytic_nitf", - "basic_analytic_rpc", - "basic_analytic_rpc_nitf", - "basic_analytic_xml", - "basic_analytic_xml_nitf", - "basic_udm", - "udm" - ] - }, - "REScene" : { - "fields": [ - { "name": "acquired", "type": "datetime" }, - { "name": "anomalous_pixels", "type": "double" }, - { "name": "black_fill", "type": "double" }, - { "name": "catalog_id", "type": "string" }, - { "name": "cloud_cover", "type": "double" }, - { "name": "columns", "type": "int" }, - { "name": "gsd", "type": "double" }, - { "name": "item_type", "type": "string" }, - { "name": "provider", "type": "string" }, - { "name": "published", "type": "datetime" }, - { "name": "rows", "type": "int" }, - { "name": "satellite_id", "type": "string" }, - { "name": "strip_id", "type": "string" }, - { "name": "sun_azimuth", "type": "double" }, - { "name": "sun_elevation", "type": "double" }, - { "name": "updated", "type": "datetime" }, - { "name": "usable_data", "type": "double" }, - { "name": "view_angle", "type": "double" } - ], - "assets": [ - "basic_analytic_b1", - "basic_analytic_b1_nitf", - "basic_analytic_b2", - "basic_analytic_b2_nitf", - "basic_analytic_b3", - "basic_analytic_b3_nitf", - "basic_analytic_b4", - "basic_analytic_b4_nitf", - "basic_analytic_b5", - "basic_analytic_b5_nitf", - "basic_analytic_rpc", - "basic_analytic_sci", - "basic_analytic_xml", - "basic_analytic_xml_nitf", - "basic_udm", - "browse" - ] - }, - "Landsat8L1G" : { - "fields": [ - { "name": "acquired", "type": "datetime" }, - { "name": "anomalous_pixels", "type": "double" }, - { "name": "cloud_cover", "type": "double" }, - { "name": "columns", "type": "int" }, - { "name": "data_type", "type": "string" }, - { "name": "epsg_code", "type": "int" }, - { "name": "gsd", "type": "double" }, - { "name": "instrument", "type": "string" }, - { "name": "item_type", "type": "string" }, - { "name": "origin_x", "type": "double" }, - { "name": "origin_y", "type": "double" }, - { "name": "pixel_resolution", "type": "double" }, - { "name": "provider", "type": "string" }, - { "name": "published", "type": "datetime" }, - { "name": "quality_category", "type": "string" }, - { "name": "rows", "type": "int" }, - { "name": "satellite_id", "type": "string" }, - { "name": "sun_azimuth", "type": "double" }, - { "name": "sun_elevation", "type": "double" }, - { "name": "updated", "type": "datetime" }, - { "name": "usable_data", "type": "double" }, - { "name": "view_angle", "type": "double" }, - { "name": "wrs_path", "type": "int" }, - { "name": "wrs_row", "type": "int" } - ], - "assets": [ - "analytic_b1", - "analytic_b2", - "analytic_b3", - "analytic_b4", - "analytic_b5", - "analytic_b6", - "analytic_b7", - "analytic_b8", - "analytic_b9", - "analytic_b10", - "analytic_b11", - "analytic_bqa", - "metadata_txt", - "visual" - ] - }, - "Sentinel2L1C" : { - "fields": [ - { "name": "abs_orbit_number", "type": "int" }, - { "name": "acquired", "type": "datetime" }, - { "name": "anomalous_pixels", "type": "double" }, - { "name": "black_fill", "type": "double" }, - { "name": "cloud_cover", "type": "double" }, - { "name": "columns", "type": "int" }, - { "name": "data_type", "type": "string" }, - { "name": "datatake_id", "type": "string" }, - { "name": "epsg_code", "type": "int" }, - { "name": "granule_id", "type": "string" }, - { "name": "gsd", "type": "double" }, - { "name": "instrument", "type": "string" }, - { "name": "item_type", "type": "string" }, - { "name": "mgrs_grid_id", "type": "string" }, - { "name": "origin_x", "type": "double" }, - { "name": "origin_y", "type": "double" }, - { "name": "pixel_resolution", "type": "double" }, - { "name": "product_generation_time", "type": "datetime" }, - { "name": "product_id", "type": "string" }, - { "name": "provider", "type": "string" }, - { "name": "published", "type": "datetime" }, - { "name": "quality_category", "type": "string" }, - { "name": "rel_orbit_number", "type": "int" }, - { "name": "rows", "type": "int" }, - { "name": "s2_processor_version", "type": "string" }, - { "name": "satellite_id", "type": "string" }, - { "name": "sun_azimuth", "type": "double" }, - { "name": "sun_elevation", "type": "double" }, - { "name": "updated", "type": "datetime" }, - { "name": "usable_data", "type": "double" }, - { "name": "view_angle", "type": "double" } - ], - "assets": [ - "analytic_b1", - "analytic_b2", - "analytic_b3", - "analytic_b4", - "analytic_b5", - "analytic_b6", - "analytic_b7", - "analytic_b8", - "analytic_b8a", - "analytic_b9", - "analytic_b10", - "analytic_b11", - "analytic_b12", - "metadata_aux" - ] - } - } -} - diff --git a/bin/gdal_data/prime_meridian.csv b/bin/gdal_data/prime_meridian.csv deleted file mode 100644 index fa79cacc..00000000 --- a/bin/gdal_data/prime_meridian.csv +++ /dev/null @@ -1,15 +0,0 @@ -prime_meridian_code,prime_meridian_name,greenwich_longitude,uom_code,remarks,information_source,data_source,revision_date,change_id,deprecated -8901,Greenwich,0,9102,The international reference meridian as defined first by the 1884 International Meridian Conference and later by the Bureau International de l'Heure (BIH) and then the International Earth Rotation Service (IERS).,OGP,IOGP,2016/12/15,1996.290 2016.045,0 -8902,Lisbon,-9.0754862,9110,,"Instituto Geografico e Cadastral; Lisbon",OGP,2014/06/27,1996.290 2014.040,0 -8903,Paris,2.5969213,9105,"Value adopted by IGN (Paris) in 1936. Equivalent to 2°20'14.025"". Preferred by EPSG to earlier value of 2°20'13.95"" (2.596898 grads) used by RGS London.","Institut Geographique National (IGN); Paris",OGP,2008/06/24,2008.045,0 -8904,Bogota,-74.04513,9110,,"Instituto Geografico ""Augustin Cadazzi"" (IGAC); Bogota",OGP,2014/06/27,1996.290 2014.040,0 -8905,Madrid,-3.411658,9110,,,OGP,2014/06/27,1996.290 2014.040,0 -8906,Rome,12.27084,9110,,,OGP,1995/06/02,1996.290,0 -8907,Bern,7.26225,9110,"1895 value. Newer value of 7°26'22.335"" determined in 1938.",Bundesamt für Landestopographie,OGP,2008/06/24,1996.290 2008.045,0 -8908,Jakarta,106.482779,9110,,,OGP,1995/06/02,1996.290,0 -8909,Ferro,-17.4,9110,Used in Austria and former Czechoslovakia.,,OGP,2014/06/27,1996.290 2014.040,0 -8910,Brussels,4.220471,9110,,,OGP,1995/06/02,1996.290,0 -8911,Stockholm,18.03298,9110,,,OGP,1995/06/02,1996.290,0 -8912,Athens,23.4258815,9110,Used in Greece for older mapping based on Hatt projection.,"Topography Department; National Technical University of Athens.",OGP,1997/06/16,,0 -8913,Oslo,10.43225,9110,Formerly known as Kristiania or Christiania.,Statens Kartverk - Geodesidivisjonen,OGP,1999/10/20,,0 -8914,Paris RGS,2.201395,9110,Value replaced by IGN (France) in 1936 - see code 8903. Equivalent to 2.596898 grads.,"Royal Geographic Society, London",OGP,2007/11/01,,0 diff --git a/bin/gdal_data/projop_wparm.csv b/bin/gdal_data/projop_wparm.csv deleted file mode 100644 index c28202bb..00000000 --- a/bin/gdal_data/projop_wparm.csv +++ /dev/null @@ -1,2302 +0,0 @@ -"COORD_OP_CODE","COORD_OP_NAME","COORD_OP_METHOD_CODE","PARAMETER_CODE_1","PARAMETER_VALUE_1","PARAMETER_UOM_1","PARAMETER_CODE_2","PARAMETER_VALUE_2","PARAMETER_UOM_2","PARAMETER_CODE_3","PARAMETER_VALUE_3","PARAMETER_UOM_3","PARAMETER_CODE_4","PARAMETER_VALUE_4","PARAMETER_UOM_4","PARAMETER_CODE_5","PARAMETER_VALUE_5","PARAMETER_UOM_5","PARAMETER_CODE_6","PARAMETER_VALUE_6","PARAMETER_UOM_6","PARAMETER_CODE_7","PARAMETER_VALUE_7","PARAMETER_UOM_7" -101,deg to DMSH,9637,,,,,,,,,,,,,,,,,,,,, -102,degH to DMSH,9638,,,,,,,,,,,,,,,,,,,,, -103,Hdeg to DMSH,9639,,,,,,,,,,,,,,,,,,,,, -104,DM to DMSH,9640,,,,,,,,,,,,,,,,,,,,, -105,DMH to DMSH,9641,,,,,,,,,,,,,,,,,,,,, -106,HDM to DMSH,9642,,,,,,,,,,,,,,,,,,,,, -107,DMS to DMSH,9643,,,,,,,,,,,,,,,,,,,,, -108,HDMS to DMSH,9644,,,,,,,,,,,,,,,,,,,,, -3811,Belgian Lambert 2008,9802,8821,50.4752134,9110,8822,4.2133177,9110,8823,49.5,9110,8824,51.1,9110,8826,649328,9001,8827,665262,9001,,, -3813,Mississippi Transverse Mercator,9807,8801,32.3,9110,8802,-89.45,9110,8805,0.9998335,9201,8806,500000,9001,8807,1300000,9001,,,,,, -3818,Taiwan 2-degree TM zone 119,9807,8801,0,9102,8802,119,9102,8805,0.9999,9201,8806,250000,9001,8807,0,9001,,,,,, -3820,Taiwan 2-degree TM zone 121,9807,8801,0,9102,8802,121,9102,8805,0.9999,9201,8806,250000,9001,8807,0,9001,,,,,, -3831,Pacific Disaster Center Mercator,9804,8801,0,9102,8802,150,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -3853,County ST74,9807,8801,0,9110,8802,18.0328332,9110,8805,0.99999506,9201,8806,100182.7406,9001,8807,-6500620.1207,9001,,,,,, -3856,Popular Visualisation Pseudo-Mercator,1024,8801,0,9102,8802,0,9102,8806,0,9001,8807,0,9001,,,,,,,,, -3860,Finland Gauss-Kruger zone 19,9807,8801,0,9102,8802,19,9102,8805,1,9201,8806,19500000,9001,8807,0,9001,,,,,, -3861,Finland Gauss-Kruger zone 20,9807,8801,0,9102,8802,20,9102,8805,1,9201,8806,20500000,9001,8807,0,9001,,,,,, -3862,Finland Gauss-Kruger zone 21,9807,8801,0,9102,8802,21,9102,8805,1,9201,8806,21500000,9001,8807,0,9001,,,,,, -3863,Finland Gauss-Kruger zone 22,9807,8801,0,9102,8802,22,9102,8805,1,9201,8806,22500000,9001,8807,0,9001,,,,,, -3864,Finland Gauss-Kruger zone 23,9807,8801,0,9102,8802,23,9102,8805,1,9201,8806,23500000,9001,8807,0,9001,,,,,, -3865,Finland Gauss-Kruger zone 24,9807,8801,0,9102,8802,24,9102,8805,1,9201,8806,24500000,9001,8807,0,9001,,,,,, -3866,Finland Gauss-Kruger zone 25,9807,8801,0,9102,8802,25,9102,8805,1,9201,8806,25500000,9001,8807,0,9001,,,,,, -3867,Finland Gauss-Kruger zone 26,9807,8801,0,9102,8802,26,9102,8805,1,9201,8806,26500000,9001,8807,0,9001,,,,,, -3868,Finland Gauss-Kruger zone 27,9807,8801,0,9102,8802,27,9102,8805,1,9201,8806,27500000,9001,8807,0,9001,,,,,, -3869,Finland Gauss-Kruger zone 28,9807,8801,0,9102,8802,28,9102,8805,1,9201,8806,28500000,9001,8807,0,9001,,,,,, -3870,Finland Gauss-Kruger zone 29,9807,8801,0,9102,8802,29,9102,8805,1,9201,8806,29500000,9001,8807,0,9001,,,,,, -3871,Finland Gauss-Kruger zone 30,9807,8801,0,9102,8802,30,9102,8805,1,9201,8806,30500000,9001,8807,0,9001,,,,,, -3872,Finland Gauss-Kruger zone 31,9807,8801,0,9102,8802,31,9102,8805,1,9201,8806,31500000,9001,8807,0,9001,,,,,, -3897,US NSIDC Equal Area north projection,1027,8801,90,9102,8802,0,9102,8806,0,9001,8807,0,9001,,,,,,,,, -3898,US NSIDC Equal Area south projection,1027,8801,-90,9102,8802,0,9102,8806,0,9001,8807,0,9001,,,,,,,,, -3899,US National Atlas Equal Area,1027,8801,45,9102,8802,-100,9102,8806,0,9001,8807,0,9001,,,,,,,,, -3967,Virginia Lambert Conic Conformal,9802,8821,36,9102,8822,-79.5,9102,8823,37,9102,8824,39.5,9102,8826,0,9001,8827,0,9001,,, -3977,Canada Atlas Lambert,9802,8821,49,9102,8822,-95,9102,8823,49,9102,8824,77,9102,8826,0,9001,8827,0,9001,,, -3980,Katanga Lambert,9802,8821,9,9102,8822,26,9102,8823,-6.5,9102,8824,-11.5,9102,8826,500000,9001,8827,500000,9001,,, -3981,Katanga Gauss zone A,9807,8801,-9,9102,8802,30,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,, -3982,Katanga Gauss zone B,9807,8801,-9,9102,8802,28,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,, -3983,Katanga Gauss zone C,9807,8801,-9,9102,8802,26,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,, -3984,Katanga Gauss zone D,9807,8801,-9,9102,8802,24,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,, -3999,Moldova Transverse Mercator,9807,8801,0,9110,8802,28.24,9110,8805,0.99994,9201,8806,200000,9001,8807,-5000000,9001,,,,,, -4085,World Equidistant Cylindrical,1028,8802,0,9102,8806,0,9001,8807,0,9001,8823,0,9102,,,,,,,,, -4086,"World Equidistant Cylindrical (Sphere)",1029,8802,0,9102,8806,0,9001,8807,0,9001,8823,0,9102,,,,,,,,, -4089,DKTM1,9807,8801,0,9102,8802,9,9102,8805,0.99998,9201,8806,200000,9001,8807,-5000000,9001,,,,,, -4090,DKTM2,9807,8801,0,9102,8802,10,9102,8805,0.99998,9201,8806,400000,9001,8807,-5000000,9001,,,,,, -4091,DKTM3,9807,8801,0,9102,8802,11.75,9102,8805,0.99998,9201,8806,600000,9001,8807,-5000000,9001,,,,,, -4092,DKTM4,9807,8801,0,9102,8802,15,9102,8805,1,9201,8806,800000,9001,8807,-5000000,9001,,,,,, -4101,"BLM zone 1N (US survey feet)",9807,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4102,"BLM zone 2N (US survey feet)",9807,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4103,"BLM zone 3N (US survey feet)",9807,8801,0,9102,8802,-165,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4104,"BLM zone 4N (US survey feet)",9807,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4105,"BLM zone 5N (US survey feet)",9807,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4106,"BLM zone 6N (US survey feet)",9807,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4107,"BLM zone 7N (US survey feet)",9807,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4108,"BLM zone 8N (US survey feet)",9807,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4109,"BLM zone 9N (US survey feet)",9807,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4110,"BLM zone 10N (US survey feet)",9807,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4111,"BLM zone 11N (US survey feet)",9807,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4112,"BLM zone 12N (US survey feet)",9807,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4113,"BLM zone 13N (US survey feet)",9807,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4114,Johor Cassini Grid,9806,8801,2.02333,9110,8802,103.334593,9110,8806,0,9001,8807,0,9001,,,,,,,,, -4115,Sembilan and Melaka Cassini Grid,9806,8801,2.424422,9110,8802,101.56282,9110,8806,-242.005,9001,8807,-948.547,9001,,,,,,,,, -4116,Pahang Cassini Grid,9806,8801,3.42395,9110,8802,102.261024,9110,8806,0,9001,8807,0,9001,,,,,,,,, -4117,Selangor Cassini Grid,9806,8801,3.404924,9110,8802,101.302968,9110,8806,-21759.438,9001,8807,55960.906,9001,,,,,,,,, -4118,"BLM zone 18N (US survey feet)",9807,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4119,"BLM zone 19N (US survey feet)",9807,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4177,Terengganu Cassini Grid,9806,8801,4.564611,9110,8802,102.534275,9110,8806,0,9001,8807,0,9001,,,,,,,,, -4186,"BLM zone 59N (US survey feet)",9807,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4187,"BLM zone 60N (US survey feet)",9807,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -4305,Pinang Cassini Grid,9806,8801,5.251677,9110,8802,100.204513,9110,8806,0,9001,8807,0,9001,,,,,,,,, -4320,Kedah and Perlis Cassini Grid,9806,8801,5.575453,9110,8802,100.381534,9110,8806,0,9001,8807,0,9001,,,,,,,,, -4321,Perak Revised Cassini Grid,9806,8801,4.513377,9110,8802,100.490036,9110,8806,0,9001,8807,133453.669,9001,,,,,,,,, -4323,Kelantan Cassini Grid,9806,8801,5.533812,9110,8802,102.103825,9110,8806,0,9001,8807,0,9001,,,,,,,,, -4325,Guam Map Grid,9807,8801,13.3,9110,8802,144.45,9110,8805,1,9201,8806,100000,9001,8807,200000,9001,,,,,, -4416,Katanga Lambert,9802,8821,-9,9102,8822,26,9102,8823,-6.5,9102,8824,-11.5,9102,8826,500000,9001,8827,500000,9001,,, -4436,Pennsylvania CS27 South zone,9802,8821,39.2,9110,8822,-77.45,9110,8823,40.58,9110,8824,39.56,9110,8826,2000000,9003,8827,0,9003,,, -4454,New York CS27 Long Island zone,9802,8821,40.3,9110,8822,-74,9110,8823,41.02,9110,8824,40.4,9110,8826,2000000,9003,8827,100000,9003,,, -4460,Australian Centre for Remote Sensing Lambert Conformal Projection,9802,8821,-27,9102,8822,132,9102,8823,-18,9102,8824,-36,9102,8826,0,9001,8827,0,9001,,, -4648,UTM zone 32N with prefix,9807,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,32500000,9001,8807,0,9001,,,,,, -4825,Cape Verde National,9802,8821,15.5,9110,8822,-24,9110,8823,15,9110,8824,16.4,9110,8826,161587.83,9001,8827,128511.202,9001,,, -4838,LCC Germany,9802,8821,51,9102,8822,10.3,9110,8823,48.4,9110,8824,53.4,9110,8826,0,9001,8827,0,9001,,, -4841,Norway TM zone 15,9807,8801,0,9110,8802,15.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -4842,Norway TM zone 16,9807,8801,0,9110,8802,16.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -4843,Norway TM zone 17,9807,8801,0,9110,8802,17.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -4844,Norway TM zone 18,9807,8801,0,9110,8802,18.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -4845,Norway TM zone 5,9807,8801,0,9110,8802,5.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -4846,Norway TM zone 6,9807,8801,0,9110,8802,6.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -4847,Norway TM zone 7,9807,8801,0,9110,8802,7.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -4848,Norway TM zone 8,9807,8801,0,9110,8802,8.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -4849,Norway TM zone 9,9807,8801,0,9110,8802,9.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -4850,Norway TM zone 10,9807,8801,0,9110,8802,10.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -4851,Norway TM zone 11,9807,8801,0,9110,8802,11.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -4852,Norway TM zone 12,9807,8801,0,9110,8802,12.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -4853,Norway TM zone 13,9807,8801,0,9110,8802,13.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -4854,Norway TM zone 14,9807,8801,0,9110,8802,14.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -4881,Norway TM zone 19,9807,8801,0,9110,8802,19.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5000,Norway TM zone 20,9807,8801,0,9110,8802,20.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5001,Norway TM zone 21,9807,8801,0,9110,8802,21.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5002,Norway TM zone 22,9807,8801,0,9110,8802,22.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5003,Norway TM zone 23,9807,8801,0,9110,8802,23.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5004,Norway TM zone 24,9807,8801,0,9110,8802,24.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5005,Norway TM zone 25,9807,8801,0,9110,8802,25.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5006,Norway TM zone 26,9807,8801,0,9110,8802,26.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5007,Norway TM zone 27,9807,8801,0,9110,8802,27.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5008,Norway TM zone 28,9807,8801,0,9110,8802,28.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5009,Norway TM zone 29,9807,8801,0,9110,8802,29.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5010,Norway TM zone 30,9807,8801,0,9110,8802,30.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5019,Portugal Bonne New,9828,8801,39.4,9110,8802,-8.0754862,9110,8806,0,9001,8807,0,9001,,,,,,,,, -5020,Portuguese Grid New,9807,8801,39.4,9110,8802,-8.0754862,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -5049,Korea East Sea Belt,9807,8801,38,9102,8802,131,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,, -5068,Conus Albers,9822,8821,23,9102,8822,-96,9102,8823,29.3,9110,8824,45.3,9110,8826,0,9001,8827,0,9001,,, -5100,Korea Unified Belt,9807,8801,38,9102,8802,127.3,9110,8805,0.9996,9201,8806,1000000,9001,8807,2000000,9001,,,,,, -5101,Korea West Belt 2010,9807,8801,38,9102,8802,125,9102,8805,1,9201,8806,200000,9001,8807,600000,9001,,,,,, -5102,Korea Central Belt 2010,9807,8801,38,9102,8802,127,9102,8805,1,9201,8806,200000,9001,8807,600000,9001,,,,,, -5103,Korea East Belt 2010,9807,8801,38,9102,8802,129,9102,8805,1,9201,8806,200000,9001,8807,600000,9001,,,,,, -5104,Korea East Sea Belt 2010,9807,8801,38,9102,8802,131,9102,8805,1,9201,8806,200000,9001,8807,600000,9001,,,,,, -5131,Korea Central Belt Jeju,9807,8801,38,9102,8802,127,9102,8805,1,9201,8806,200000,9001,8807,550000,9001,,,,,, -5135,Norway TM zone 5,9807,8801,58,9110,8802,5.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5136,Norway TM zone 6,9807,8801,58,9110,8802,6.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5137,Norway TM zone 7,9807,8801,58,9110,8802,7.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5138,Norway TM zone 8,9807,8801,58,9110,8802,8.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5139,Norway TM zone 9,9807,8801,58,9110,8802,9.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5140,Norway TM zone 10,9807,8801,58,9110,8802,10.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5141,Norway TM zone 11,9807,8801,58,9110,8802,11.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5142,Norway TM zone 12,9807,8801,58,9110,8802,12.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5143,Norway TM zone 13,9807,8801,58,9110,8802,13.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5144,Norway TM zone 14,9807,8801,58,9110,8802,14.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5145,Norway TM zone 15,9807,8801,58,9110,8802,15.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5146,Norway TM zone 16,9807,8801,58,9110,8802,16.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5147,Norway TM zone 17,9807,8801,58,9110,8802,17.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5148,Norway TM zone 18,9807,8801,58,9110,8802,18.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5149,Norway TM zone 19,9807,8801,58,9110,8802,19.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5150,Norway TM zone 20,9807,8801,58,9110,8802,20.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5151,Norway TM zone 21,9807,8801,58,9110,8802,21.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5152,Norway TM zone 22,9807,8801,58,9110,8802,22.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5153,Norway TM zone 23,9807,8801,58,9110,8802,23.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5154,Norway TM zone 24,9807,8801,58,9110,8802,24.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5155,Norway TM zone 25,9807,8801,58,9110,8802,25.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5156,Norway TM zone 26,9807,8801,58,9110,8802,26.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5157,Norway TM zone 27,9807,8801,58,9110,8802,27.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5158,Norway TM zone 28,9807,8801,58,9110,8802,28.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5159,Norway TM zone 29,9807,8801,58,9110,8802,29.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5160,Norway TM zone 30,9807,8801,58,9110,8802,30.3,9110,8805,1,9201,8806,100000,9001,8807,1000000,9001,,,,,, -5161,Korea Modified West Belt,9807,8801,38,9102,8802,125.0010405,9110,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,, -5162,Korea Modified Central Belt,9807,8801,38,9102,8802,127.0010405,9110,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,, -5163,Korea Modified Central Belt Jeju,9807,8801,38,9102,8802,127.0010405,9110,8805,1,9201,8806,200000,9001,8807,550000,9001,,,,,, -5164,Korea Modified East Belt,9807,8801,38,9102,8802,129.0010405,9110,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,, -5165,Korea Modified East Sea Belt,9807,8801,38,9102,8802,131.0010405,9110,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,, -5218,Krovak East North,1041,1036,30.1717303,9110,8806,0,9001,8807,0,9001,8811,49.3,9110,8818,78.3,9110,8819,0.9999,9201,8833,42.3,9110 -5219,Modified Krovak,1042,1026,0.02946529277,9203,1027,0.02515965696,9203,1028,1.193845912e-07,9203,1029,-4.668270147e-07,9203,1030,9.233980362e-12,9203,1031,1.523735715e-12,9203,1032,1.696780024e-18,9203 -5220,Modified Krovak East North,1043,1026,0.02946529277,9203,1027,0.02515965696,9203,1028,1.193845912e-07,9203,1029,-4.668270147e-07,9203,1030,9.233980362e-12,9203,1031,1.523735715e-12,9203,1032,1.696780024e-18,9203 -5222,Gabon Transverse Mercator,9807,8801,0,9102,8802,12,9102,8805,0.9996,9201,8806,500000,9001,8807,500000,9001,,,,,, -5231,Sri Lanka Grid,9807,8801,7.0001729,9110,8802,80.461816,9110,8805,0.9999238418,9201,8806,200000,9001,8807,200000,9001,,,,,, -5232,Sri Lanka Grid 1999,9807,8801,7.00016975,9110,8802,80.46181671,9110,8805,0.9999238418,9201,8806,500000,9001,8807,500000,9001,,,,,, -5265,Bhutan National Grid,9807,8801,0,9102,8802,90,9102,8805,1,9201,8806,250000,9001,8807,0,9001,,,,,, -5268,Bumthang TM,9807,8801,0,9110,8802,90.44,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5276,Chhukha TM,9807,8801,0,9110,8802,89.33,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5277,Dagana TM,9807,8801,0,9110,8802,89.51,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5278,Gasa TM,9807,8801,0,9110,8802,90.02,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5279,Ha TM,9807,8801,0,9110,8802,90.09,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5280,Lhuentse TM,9807,8801,0,9110,8802,91.08,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5281,Mongar TM,9807,8801,0,9110,8802,91.14,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5282,Paro TM,9807,8801,0,9110,8802,89.21,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5283,Pemagatshel TM,9807,8801,0,9110,8802,91.21,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5284,Tsirang TM,9807,8801,0,9110,8802,90.1,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5285,Samdrup Jongkhar TM,9807,8801,0,9110,8802,91.34,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5286,Samtse TM,9807,8801,0,9110,8802,89.04,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5287,Sarpang TM,9807,8801,0,9110,8802,90.16,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5288,Wangdue Phodrang TM,9807,8801,0,9110,8802,90.07,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5289,Trashigang TM,9807,8801,0,9110,8802,91.45,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5290,Trongsa TM,9807,8801,0,9110,8802,90.3,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5291,Zhemgang TM,9807,8801,0,9110,8802,90.52,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5312,Thimphu TM,9807,8801,0,9110,8802,89.33,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5313,Punakha TM,9807,8801,0,9110,8802,89.51,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5314,Yangtse TM,9807,8801,0,9110,8802,91.34,9110,8805,1,9201,8806,250000,9001,8807,-2500000,9001,,,,,, -5315,Faroe Transverse Mercator,9807,8801,0,9102,8802,-7,9102,8805,0.999997,9201,8806,200000,9001,8807,-6000000,9001,,,,,, -5319,Teranet Ontario Lambert,9802,8821,0,9102,8822,-84,9102,8823,44.3,9110,8824,54.3,9110,8826,1000000,9001,8827,0,9001,,, -5326,Iceland Lambert 2004,9802,8821,65,9110,8822,-19,9110,8823,64.15,9110,8824,65.45,9110,8826,1700000,9001,8827,300000,9001,,, -5328,"Netherlands East Indies Equatorial Zone (Jkt)",9804,8801,0,9102,8802,3.113221,9110,8805,0.997,9201,8806,3900000,9001,8807,900000,9001,,,,,, -5366,Costa Rica TM 2005,9807,8801,0,9102,8802,-84,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,, -5390,Costa Rica Norte,9801,8801,10.28,9110,8802,-84.2,9110,8805,0.99995696,9201,8806,500000,9001,8807,271820.522,9001,,,,,, -5394,Costa Rica Sur,9801,8801,9,9110,8802,-83.4,9110,8805,0.99995696,9201,8806,500000,9001,8807,327987.436,9001,,,,,, -5397,Honduras Norte,9801,8801,15.3,9110,8802,-86.1,9110,8805,0.99993273,9201,8806,500000,9001,8807,296917.439,9001,,,,,, -5398,Honduras Sur,9801,8801,13.47,9110,8802,-86.1,9110,8805,0.9999514,9201,8806,500000,9001,8807,296215.903,9001,,,,,, -5399,El Salvador Lambert,9801,8801,13.47,9110,8802,-89,9110,8805,0.99996704,9201,8806,500000,9001,8807,295809.184,9001,,,,,, -5439,Nicaragua Norte,9801,8801,13.52,9110,8802,-85.3,9110,8805,0.99990314,9201,8806,500000,9001,8807,359891.816,9001,,,,,, -5444,Nicaragua Sur,9801,8801,11.44,9110,8802,-85.3,9110,8805,0.99992228,9201,8806,500000,9001,8807,288876.327,9001,,,,,, -5465,Belize Colony Grid,9807,8801,17.0340471,9110,8802,-88.3754687,9110,8805,1,9201,8806,217259.26,9005,8807,445474.83,9005,,,,,, -5468,Panama Lambert,9801,8801,8.25,9110,8802,-80,9110,8805,0.99989909,9201,8806,500000,9001,8807,294865.303,9001,,,,,, -5471,Panama Polyconic,9818,8801,8.15,9110,8802,-81,9110,8806,1000000,9037,8807,1092972.1,9037,,,,,,,,, -5475,McMurdo Sound Lambert Conformal 2000,9802,8821,-78,9110,8822,163,9110,8823,-76.4,9110,8824,-79.2,9110,8826,7000000,9001,8827,5000000,9001,,, -5476,Borchgrevink Coast Lambert Conformal 2000,9802,8821,-74.3,9110,8822,165,9110,8823,-73.4,9110,8824,-75.2,9110,8826,5000000,9001,8827,3000000,9001,,, -5477,Pennell Coast Lambert Conformal 2000,9802,8821,-71.3,9110,8822,166,9110,8823,-70.4,9110,8824,-72.2,9110,8826,3000000,9001,8827,1000000,9001,,, -5478,Ross Sea Polar Stereographic 2000,9810,8801,-90,9102,8802,180,9102,8805,0.994,9201,8806,5000000,9001,8807,1000000,9001,,,,,, -5509,"Krovak (Greenwich)",9819,1036,30.1717303,9110,8806,0,9001,8807,0,9001,8811,49.3,9110,8818,78.3,9110,8819,0.9999,9201,8833,24.5,9110 -5510,"Krovak East North (Greenwich)",1041,1036,30.1717303,9110,8806,0,9001,8807,0,9001,8811,49.3,9110,8818,78.3,9110,8819,0.9999,9201,8833,24.5,9110 -5511,"Modified Krovak (Greenwich)",1042,1026,0.02946529277,9203,1027,0.02515965696,9203,1028,1.193845912e-07,9203,1029,-4.668270147e-07,9203,1030,9.233980362e-12,9203,1031,1.523735715e-12,9203,1032,1.696780024e-18,9203 -5512,"Modified Krovak East North (Greenwich)",1043,1026,0.02946529277,9203,1027,0.02515965696,9203,1028,1.193845912e-07,9203,1029,-4.668270147e-07,9203,1030,9.233980362e-12,9203,1031,1.523735715e-12,9203,1032,1.696780024e-18,9203 -5517,Chatham Islands Map Grid,9807,8801,-44,9110,8802,-176.3,9110,8805,1,9201,8806,350000,9001,8807,650000,9001,,,,,, -5522,Gabon Transverse Mercator 2011,9807,8801,0,9102,8802,11.3,9110,8805,0.9996,9201,8806,1500000,9001,8807,5500000,9001,,,,,, -5547,Papua New Guinea Map Grid 1994 zone 54,9807,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -5548,Papua New Guinea Map Grid 1994 zone 55,9807,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -5549,Papua New Guinea Map Grid 1994 zone 56,9807,8801,0,9102,8802,153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -5587,"New Brunswick Stereographic (NAD27)",9809,8801,46.3,9110,8802,-66.3,9110,8805,0.999912,9201,8806,1000000,9002,8807,1000000,9002,,,,,, -5595,Fehmarnbelt TM,9807,8801,0,9110,8802,11.2,9110,8805,1,9201,8806,1000000,9001,8807,0,9001,,,,,, -5640,Petrobras Mercator,9805,8802,-43,9102,8806,5000000,9001,8807,10000000,9001,8823,-2,9102,,,,,,,,, -5642,Southern Permian Basin Atlas Lambert,9802,8821,48,9102,8822,10,9102,8823,52.4,9110,8824,54.2,9110,8826,815000,9001,8827,0,9001,,, -5645,"SPCS83 Vermont zone (US Survey feet)",9807,8801,42.3,9110,8802,-72.3,9110,8805,0.999964286,9201,8806,1640416.6667,9003,8807,0,9003,,,,,, -5647,UTM zone 31N with prefix,9807,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,31500000,9001,8807,0,9001,,,,,, -5648,UTM zone 33N with prefix,9807,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,33500000,9001,8807,0,9001,,,,,, -5658,TM Emilia-Romagna,9807,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500053,9001,8807,-3999820,9001,,,,,, -5824,ACT Standard Grid,9807,8801,-35.19038506,9110,8802,149.003346139,9110,8805,1.000086,9201,8806,200000,9001,8807,600000,9001,,,,,, -5883,Tonga Map Grid,9807,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,1500000,9001,8807,5000000,9001,,,,,, -5889,JAXA Snow Depth Polar Stereographic North,9829,8806,0,9001,8807,0,9001,8832,70,9102,8833,90,9102,,,,,,,,, -5901,EPSG Alaska Polar Stereographic,9810,8801,90,9102,8802,-150,9102,8805,0.994,9201,8806,2000000,9001,8807,2000000,9001,,,,,, -5902,EPSG Canada Polar Stereographic,9810,8801,90,9102,8802,-100,9102,8805,0.994,9201,8806,2000000,9001,8807,2000000,9001,,,,,, -5903,EPSG Greenland Polar Stereographic,9810,8801,90,9102,8802,-33,9102,8805,0.994,9201,8806,2000000,9001,8807,2000000,9001,,,,,, -5904,EPSG Norway Polar Stereographic,9810,8801,90,9102,8802,18,9102,8805,0.994,9201,8806,2000000,9001,8807,2000000,9001,,,,,, -5905,EPSG Russia Polar Stereographic,9810,8801,90,9102,8802,105,9102,8805,0.994,9201,8806,2000000,9001,8807,2000000,9001,,,,,, -5906,EPSG Arctic Regional LCC zone A1,9802,8821,81.19020136,9110,8822,-111,9102,8823,85,9102,8824,77,9102,8826,0,9001,8827,0,9001,,, -5907,EPSG Arctic Regional LCC zone A2,9802,8821,81.19020136,9110,8822,-39,9102,8823,85,9102,8824,77,9102,8826,0,9001,8827,0,9001,,, -5908,EPSG Arctic Regional LCC zone A3,9802,8821,81.19020136,9110,8822,33,9102,8823,85,9102,8824,77,9102,8826,0,9001,8827,0,9001,,, -5909,EPSG Arctic Regional LCC zone A4,9802,8821,81.19020136,9110,8822,105,9102,8823,85,9102,8824,77,9102,8826,0,9001,8827,0,9001,,, -5910,EPSG Arctic Regional LCC zone A5,9802,8821,81.19020136,9110,8822,177,9102,8823,85,9102,8824,77,9102,8826,0,9001,8827,0,9001,,, -5911,EPSG Arctic Regional LCC zone B1,9802,8821,73.09206671,9110,8822,-111,9102,8823,77,9102,8824,69,9102,8826,0,9001,8827,0,9001,,, -5912,EPSG Arctic Regional LCC zone B2,9802,8821,73.09206671,9110,8822,-39,9102,8823,77,9102,8824,69,9102,8826,0,9001,8827,0,9001,,, -5913,EPSG Arctic Regional LCC zone B3,9802,8821,73.09206671,9110,8822,33,9102,8823,77,9102,8824,69,9102,8826,0,9001,8827,0,9001,,, -5914,EPSG Arctic Regional LCC zone B4,9802,8821,73.09206671,9110,8822,105,9102,8823,77,9102,8824,69,9102,8826,0,9001,8827,0,9001,,, -5915,EPSG Arctic Regional LCC zone B5,9802,8821,73.09206671,9110,8822,177,9102,8823,77,9102,8824,69,9102,8826,0,9001,8827,0,9001,,, -5916,EPSG Arctic Regional LCC zone C1,9802,8821,65.06045752,9110,8822,-111,9102,8823,69,9102,8824,61,9102,8826,0,9001,8827,0,9001,,, -5917,EPSG Arctic Regional LCC zone C2,9802,8821,65.06045752,9110,8822,-39,9102,8823,69,9102,8824,61,9102,8826,0,9001,8827,0,9001,,, -5918,EPSG Arctic Regional LCC zone C3,9802,8821,65.06045752,9110,8822,33,9102,8823,69,9102,8824,61,9102,8826,0,9001,8827,0,9001,,, -5919,EPSG Arctic Regional LCC zone C4,9802,8821,65.06045752,9110,8822,105,9102,8823,69,9102,8824,61,9102,8826,0,9001,8827,0,9001,,, -5920,EPSG Arctic Regional LCC zone C5,9802,8821,65.06045752,9110,8822,177,9102,8823,69,9102,8824,61,9102,8826,0,9001,8827,0,9001,,, -5943,EPSG Arctic LCC zone 8-20,9802,8821,62.00551048,9110,8822,-52,9110,8823,63.4,9110,8824,60.2,9110,8826,20500000,9001,8827,8500000,9001,,, -5944,EPSG Arctic LCC zone 8-22,9802,8821,62.00551048,9110,8822,-37,9110,8823,63.4,9110,8824,60.2,9110,8826,22500000,9001,8827,8500000,9001,,, -5977,EPSG Arctic LCC zone 1-21,9802,8821,85.2613626,9110,8822,-150,9110,8823,87,9110,8824,83.4,9110,8826,21500000,9001,8827,1500000,9001,,, -5978,EPSG Arctic LCC zone 1-23,9802,8821,85.2613626,9110,8822,-90,9110,8823,87,9110,8824,83.4,9110,8826,23500000,9001,8827,1500000,9001,,, -5979,EPSG Arctic LCC zone 1-25,9802,8821,85.2613626,9110,8822,-30,9110,8823,87,9110,8824,83.4,9110,8826,25500000,9001,8827,1500000,9001,,, -5980,EPSG Arctic LCC zone 1-27,9802,8821,85.2613626,9110,8822,30,9110,8823,87,9110,8824,83.4,9110,8826,27500000,9001,8827,1500000,9001,,, -5981,EPSG Arctic LCC zone 1-29,9802,8821,85.2613626,9110,8822,90,9110,8823,87,9110,8824,83.4,9110,8826,29500000,9001,8827,1500000,9001,,, -5982,EPSG Arctic LCC zone 1-31,9802,8821,85.2613626,9110,8822,150,9110,8823,87,9110,8824,83.4,9110,8826,31500000,9001,8827,1500000,9001,,, -5983,EPSG Arctic LCC zone 2-10,9802,8821,82.03303296,9110,8822,166,9110,8823,83.4,9110,8824,80.2,9110,8826,10500000,9001,8827,2500000,9001,,, -5984,EPSG Arctic LCC zone 2-12,9802,8821,82.03303296,9110,8822,-154,9110,8823,83.4,9110,8824,80.2,9110,8826,12500000,9001,8827,2500000,9001,,, -5985,EPSG Arctic LCC zone 2-14,9802,8821,82.03303296,9110,8822,-115,9110,8823,83.4,9110,8824,80.2,9110,8826,14500000,9001,8827,2500000,9001,,, -5986,EPSG Arctic LCC zone 2-16,9802,8821,82.03303296,9110,8822,-75,9110,8823,83.4,9110,8824,80.2,9110,8826,16500000,9001,8827,2500000,9001,,, -5987,EPSG Arctic LCC zone 2-18,9802,8821,82.03303296,9110,8822,-52,9110,8823,83.4,9110,8824,80.2,9110,8826,18500000,9001,8827,2500000,9001,,, -5988,EPSG Arctic LCC zone 2-20,9802,8821,82.03303296,9110,8822,-12,9110,8823,83.4,9110,8824,80.2,9110,8826,20500000,9001,8827,2500000,9001,,, -5989,EPSG Arctic LCC zone 2-22,9802,8821,82.03303296,9110,8822,16,9110,8823,83.4,9110,8824,80.2,9110,8826,22500000,9001,8827,2500000,9001,,, -5990,EPSG Arctic LCC zone 2-24,9802,8821,82.03303296,9110,8822,53,9110,8823,83.4,9110,8824,80.2,9110,8826,24500000,9001,8827,2500000,9001,,, -5991,EPSG Arctic LCC zone 2-26,9802,8821,82.03303296,9110,8822,93,9110,8823,83.4,9110,8824,80.2,9110,8826,26500000,9001,8827,2500000,9001,,, -5992,EPSG Arctic LCC zone 2-28,9802,8821,82.03303296,9110,8822,133,9110,8823,83.4,9110,8824,80.2,9110,8826,28500000,9001,8827,2500000,9001,,, -5993,EPSG Arctic LCC zone 3-11,9802,8821,78.42264151,9110,8822,21,9110,8823,80.2,9110,8824,77,9110,8826,11500000,9001,8827,3500000,9001,,, -5994,EPSG Arctic LCC zone 3-13,9802,8821,78.42264151,9110,8822,52,9110,8823,80.2,9110,8824,77,9110,8826,13500000,9001,8827,3500000,9001,,, -5995,EPSG Arctic LCC zone 3-15,9802,8821,78.42264151,9110,8822,83,9110,8823,80.2,9110,8824,77,9110,8826,15500000,9001,8827,3500000,9001,,, -5996,EPSG Arctic LCC zone 3-17,9802,8821,78.42264151,9110,8822,114,9110,8823,80.2,9110,8824,77,9110,8826,17500000,9001,8827,3500000,9001,,, -5997,EPSG Arctic LCC zone 3-19,9802,8821,78.42264151,9110,8822,145,9110,8823,80.2,9110,8824,77,9110,8826,19500000,9001,8827,3500000,9001,,, -5998,EPSG Arctic LCC zone 3-21,9802,8821,78.42264151,9110,8822,176,9110,8823,80.2,9110,8824,77,9110,8826,21500000,9001,8827,3500000,9001,,, -5999,EPSG Arctic LCC zone 3-23,9802,8821,78.42264151,9110,8822,-153,9110,8823,80.2,9110,8824,77,9110,8826,23500000,9001,8827,3500000,9001,,, -6000,EPSG Arctic LCC zone 3-25,9802,8821,78.42264151,9110,8822,-129,9110,8823,80.2,9110,8824,77,9110,8826,25500000,9001,8827,3500000,9001,,, -6001,EPSG Arctic LCC zone 3-27,9802,8821,78.42264151,9110,8822,-99,9110,8823,80.2,9110,8824,77,9110,8826,27500000,9001,8827,3500000,9001,,, -6002,EPSG Arctic LCC zone 3-29,9802,8821,78.42264151,9110,8822,-69,9110,8823,80.2,9110,8824,77,9110,8826,29500000,9001,8827,3500000,9001,,, -6003,EPSG Arctic LCC zone 3-31,9802,8821,78.42264151,9110,8822,-39,9110,8823,80.2,9110,8824,77,9110,8826,31500000,9001,8827,3500000,9001,,, -6004,EPSG Arctic LCC zone 3-33,9802,8821,78.42264151,9110,8822,-10,9110,8823,80.2,9110,8824,77,9110,8826,33500000,9001,8827,3500000,9001,,, -6005,EPSG Arctic LCC zone 4-12,9802,8821,75.21518519,9110,8822,-155,9110,8823,77,9110,8824,73.4,9110,8826,12500000,9001,8827,4500000,9001,,, -6006,EPSG Arctic LCC zone 4-14,9802,8821,75.21518519,9110,8822,-129,9110,8823,77,9110,8824,73.4,9110,8826,14500000,9001,8827,4500000,9001,,, -6007,EPSG Arctic LCC zone 4-16,9802,8821,75.21518519,9110,8822,-104,9110,8823,77,9110,8824,73.4,9110,8826,16500000,9001,8827,4500000,9001,,, -6008,EPSG Arctic LCC zone 4-18,9802,8821,75.21518519,9110,8822,-79,9110,8823,77,9110,8824,73.4,9110,8826,18500000,9001,8827,4500000,9001,,, -6009,EPSG Arctic LCC zone 4-20,9802,8821,75.21518519,9110,8822,-64,9110,8823,77,9110,8824,73.4,9110,8826,20500000,9001,8827,4500000,9001,,, -6010,EPSG Arctic LCC zone 4-22,9802,8821,75.21518519,9110,8822,-39,9110,8823,77,9110,8824,73.4,9110,8826,22500000,9001,8827,4500000,9001,,, -6011,EPSG Arctic LCC zone 4-24,9802,8821,75.21518519,9110,8822,-14,9110,8823,77,9110,8824,73.4,9110,8826,24500000,9001,8827,4500000,9001,,, -6012,EPSG Arctic LCC zone 4-26,9802,8821,75.21518519,9110,8822,10,9110,8823,77,9110,8824,73.4,9110,8826,26500000,9001,8827,4500000,9001,,, -6013,EPSG Arctic LCC zone 4-28,9802,8821,75.21518519,9110,8822,34,9110,8823,77,9110,8824,73.4,9110,8826,28500000,9001,8827,4500000,9001,,, -6014,EPSG Arctic LCC zone 4-30,9802,8821,75.21518519,9110,8822,58,9110,8823,77,9110,8824,73.4,9110,8826,30500000,9001,8827,4500000,9001,,, -6015,EPSG Arctic LCC zone 4-32,9802,8821,75.21518519,9110,8822,82,9110,8823,77,9110,8824,73.4,9110,8826,32500000,9001,8827,4500000,9001,,, -6016,EPSG Arctic LCC zone 4-34,9802,8821,75.21518519,9110,8822,106,9110,8823,77,9110,8824,73.4,9110,8826,34500000,9001,8827,4500000,9001,,, -6017,EPSG Arctic LCC zone 4-36,9802,8821,75.21518519,9110,8822,130,9110,8823,77,9110,8824,73.4,9110,8826,36500000,9001,8827,4500000,9001,,, -6018,EPSG Arctic LCC zone 4-38,9802,8821,75.21518519,9110,8822,154,9110,8823,77,9110,8824,73.4,9110,8826,38500000,9001,8827,4500000,9001,,, -6019,EPSG Arctic LCC zone 4-40,9802,8821,75.21518519,9110,8822,179,9110,8823,77,9110,8824,73.4,9110,8826,40500000,9001,8827,4500000,9001,,, -6020,EPSG Arctic LCC zone 5-11,9802,8821,72.01300331,9110,8822,14,9110,8823,73.4,9110,8824,70.2,9110,8826,11500000,9001,8827,5500000,9001,,, -6021,EPSG Arctic LCC zone 5-13,9802,8821,72.01300331,9110,8822,34,9110,8823,73.4,9110,8824,70.2,9110,8826,13500000,9001,8827,5500000,9001,,, -6022,EPSG Arctic LCC zone 5-15,9802,8821,72.01300331,9110,8822,54,9110,8823,73.4,9110,8824,70.2,9110,8826,15500000,9001,8827,5500000,9001,,, -6023,EPSG Arctic LCC zone 5-17,9802,8821,72.01300331,9110,8822,74,9110,8823,73.4,9110,8824,70.2,9110,8826,17500000,9001,8827,5500000,9001,,, -6024,EPSG Arctic LCC zone 5-19,9802,8821,72.01300331,9110,8822,95,9110,8823,73.4,9110,8824,70.2,9110,8826,19500000,9001,8827,5500000,9001,,, -6025,EPSG Arctic LCC zone 5-21,9802,8821,72.01300331,9110,8822,116,9110,8823,73.4,9110,8824,70.2,9110,8826,21500000,9001,8827,5500000,9001,,, -6026,EPSG Arctic LCC zone 5-23,9802,8821,72.01300331,9110,8822,137,9110,8823,73.4,9110,8824,70.2,9110,8826,23500000,9001,8827,5500000,9001,,, -6027,EPSG Arctic LCC zone 5-25,9802,8821,72.01300331,9110,8822,158,9110,8823,73.4,9110,8824,70.2,9110,8826,25500000,9001,8827,5500000,9001,,, -6028,EPSG Arctic LCC zone 5-27,9802,8821,72.01300331,9110,8822,179,9110,8823,73.4,9110,8824,70.2,9110,8826,27500000,9001,8827,5500000,9001,,, -6029,EPSG Arctic LCC zone 5-29,9802,8821,72.01300331,9110,8822,-163,9110,8823,73.4,9110,8824,70.2,9110,8826,29500000,9001,8827,5500000,9001,,, -6030,EPSG Arctic LCC zone 5-31,9802,8821,72.01300331,9110,8822,-147,9110,8823,73.4,9110,8824,70.2,9110,8826,31500000,9001,8827,5500000,9001,,, -6031,EPSG Arctic LCC zone 5-33,9802,8821,72.01300331,9110,8822,-131,9110,8823,73.4,9110,8824,70.2,9110,8826,33500000,9001,8827,5500000,9001,,, -6032,EPSG Arctic LCC zone 5-35,9802,8821,72.01300331,9110,8822,-111,9110,8823,73.4,9110,8824,70.2,9110,8826,35500000,9001,8827,5500000,9001,,, -6033,EPSG Arctic LCC zone 5-37,9802,8821,72.01300331,9110,8822,-91,9110,8823,73.4,9110,8824,70.2,9110,8826,37500000,9001,8827,5500000,9001,,, -6034,EPSG Arctic LCC zone 5-39,9802,8821,72.01300331,9110,8822,-71,9110,8823,73.4,9110,8824,70.2,9110,8826,39500000,9001,8827,5500000,9001,,, -6035,EPSG Arctic LCC zone 5-41,9802,8821,72.01300331,9110,8822,-62,9110,8823,73.4,9110,8824,70.2,9110,8826,41500000,9001,8827,5500000,9001,,, -6036,EPSG Arctic LCC zone 5-43,9802,8821,72.01300331,9110,8822,-42,9110,8823,73.4,9110,8824,70.2,9110,8826,43500000,9001,8827,5500000,9001,,, -6037,EPSG Arctic LCC zone 5-45,9802,8821,72.01300331,9110,8822,-22,9110,8823,73.4,9110,8824,70.2,9110,8826,45500000,9001,8827,5500000,9001,,, -6038,EPSG Arctic LCC zone 5-47,9802,8821,72.01300331,9110,8822,-5,9110,8823,73.4,9110,8824,70.2,9110,8826,47500000,9001,8827,5500000,9001,,, -6039,EPSG Arctic LCC zone 6-14,9802,8821,68.4114912,9110,8822,-165,9110,8823,70.2,9110,8824,67,9110,8826,14500000,9001,8827,6500000,9001,,, -6040,EPSG Arctic LCC zone 6-16,9802,8821,68.4114912,9110,8822,-147,9110,8823,70.2,9110,8824,67,9110,8826,16500000,9001,8827,6500000,9001,,, -6041,EPSG Arctic LCC zone 6-18,9802,8821,68.4114912,9110,8822,-132,9110,8823,70.2,9110,8824,67,9110,8826,18500000,9001,8827,6500000,9001,,, -6042,EPSG Arctic LCC zone 6-20,9802,8821,68.4114912,9110,8822,-113,9110,8823,70.2,9110,8824,67,9110,8826,20500000,9001,8827,6500000,9001,,, -6043,EPSG Arctic LCC zone 6-22,9802,8821,68.4114912,9110,8822,-94,9110,8823,70.2,9110,8824,67,9110,8826,22500000,9001,8827,6500000,9001,,, -6044,EPSG Arctic LCC zone 6-24,9802,8821,68.4114912,9110,8822,-75,9110,8823,70.2,9110,8824,67,9110,8826,24500000,9001,8827,6500000,9001,,, -6045,EPSG Arctic LCC zone 6-26,9802,8821,68.4114912,9110,8822,-56,9110,8823,70.2,9110,8824,67,9110,8826,26500000,9001,8827,6500000,9001,,, -6046,EPSG Arctic LCC zone 6-28,9802,8821,68.4114912,9110,8822,-38,9110,8823,70.2,9110,8824,67,9110,8826,28500000,9001,8827,6500000,9001,,, -6047,EPSG Arctic LCC zone 6-30,9802,8821,68.4114912,9110,8822,-20,9110,8823,70.2,9110,8824,67,9110,8826,30500000,9001,8827,6500000,9001,,, -6048,EPSG Arctic LCC zone 7-11,9802,8821,65.21037415,9110,8822,-51,9110,8823,67,9110,8824,63.4,9110,8826,11500000,9001,8827,7500000,9001,,, -6049,EPSG Arctic LCC zone 7-13,9802,8821,65.21037415,9110,8822,-34,9110,8823,67,9110,8824,63.4,9110,8826,13500000,9001,8827,7500000,9001,,, -6126,"Cayman Islands LCC (ft)",9802,8821,19.2,9110,8822,80.34,9110,8823,19.2,9110,8824,19.42,9110,8826,2950000,9002,8827,1900000,9002,,, -6127,"Cayman Islands TM (ft)",9807,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,1640419.9475,9002,8807,0,9002,,,,,, -6197,Michigan CS27 North zone,1051,1038,1.0000382,9201,8821,44.87,9110,8822,-87,9110,8823,45.29,9110,8824,47.05,9110,8826,2000000,9003,8827,0,9003 -6198,Michigan CS27 Central zone,1051,1038,1.0000382,9201,8821,43.19,9110,8822,-84.2,9110,8823,44.11,9110,8824,45.42,9110,8826,2000000,9003,8827,0,9003 -6199,Michigan CS27 South zone,1051,1038,1.0000382,9201,8821,41.3,9110,8822,-84.2,9110,8823,42.06,9110,8824,43.4,9110,8826,2000000,9003,8827,0,9003 -6203,Macedonia Gauss-Kruger,9807,8801,0,9102,8802,21,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,, -6212,Arauca urban grid,1052,1039,100,9001,8801,7.051538301,9110,8802,-70.452991476,9110,8806,1035263.443,9001,8807,1275526.621,9001,,,,,, -6213,Armenia urban grid,1052,1039,1470,9001,8801,4.315637,9110,8802,-75.4024561,9110,8806,1155824.666,9001,8807,993087.465,9001,,,,,, -6214,Barranquilla urban grid,1052,1039,100,9001,8801,10.55234591,9110,8802,-74.50035928,9110,8806,917264.406,9001,8807,1699839.935,9001,,,,,, -6215,Bogota urban grid,1052,1039,2550,9001,8801,4.404975,9110,8802,-74.084773,9110,8806,92334.879,9001,8807,109320.965,9001,,,,,, -6216,Bucaramanga urban grid,1052,1039,931,9001,8801,7.044399371,9110,8802,-73.11504356,9110,8806,1097241.305,9001,8807,1274642.278,9001,,,,,, -6217,Cali urban grid,1052,1039,1000,9001,8801,3.263078,9110,8802,-76.3114025,9110,8806,1061900.18,9001,8807,872364.63,9001,,,,,, -6218,Cartagena urban grid,1052,1039,0,9001,8801,10.2349371,9110,8802,-75.3040345,9110,8806,842981.41,9001,8807,1641887.09,9001,,,,,, -6219,Cucuta urban grid,1052,1039,308,9001,8801,7.532017225,9110,8802,-72.301033542,9110,8806,842805.406,9001,8807,1364404.57,9001,,,,,, -6220,Florencia urban grid,1052,1039,300,9001,8801,1.371564426,9110,8802,-75.370882337,9110,8806,1162300.348,9001,8807,671068.716,9001,,,,,, -6221,Ibague urban grid,1052,1039,1100,9001,8801,4.250988618,9110,8802,-75.104773336,9110,8806,877634.33,9001,8807,980541.348,9001,,,,,, -6222,Inirida urban grid,1052,1039,96,9001,8801,3.504357746,9110,8802,-67.541883552,9110,8806,1019177.687,9001,8807,491791.326,9001,,,,,, -6223,Leticia urban grid,1052,1039,89.7,9001,8801,-4.115166257,9110,8802,-69.563411981,9110,8806,25978.217,9001,8807,27501.365,9001,,,,,, -6224,Manizales urban grid,1052,1039,2100,9001,8801,5.0405354,9110,8802,-75.3039941,9110,8806,1173727.04,9001,8807,1052391.13,9001,,,,,, -6225,Medellin urban grid,1052,1039,1510,9001,8801,6.1345152,9110,8802,-75.3353593,9110,8806,835378.647,9001,8807,1180816.875,9001,,,,,, -6226,Mitu urban grid,1052,1039,170,9001,8801,1.145988972,9110,8802,-70.140766196,9110,8806,1093717.398,9001,8807,629997.236,9001,,,,,, -6227,Mocoa urban grid,1052,1039,655.2,9001,8801,1.082408409,9110,8802,-76.390367639,9110,8806,1047467.388,9001,8807,617828.474,9001,,,,,, -6228,Monteria urban grid,1052,1039,15,9001,8801,8.462310872,9110,8802,-75.524639199,9110,8806,1131814.934,9001,8807,1462131.119,9001,,,,,, -6229,Neiva urban grid,1052,1039,430,9001,8801,2.56326942,9110,8802,-75.17471722,9110,8806,864476.923,9001,8807,817199.827,9001,,,,,, -6230,Pasto urban grid,1052,1039,2530,9001,8801,1.120356225,9110,8802,-77.151125228,9110,8806,980469.695,9001,8807,624555.332,9001,,,,,, -6231,Pereira urban grid,1052,1039,1500,9001,8801,4.4848937,9110,8802,-75.4138225,9110,8806,1153492.012,9001,8807,1024195.255,9001,,,,,, -6232,Popayan urban grid,1052,1039,1740,9001,8801,2.272217558,9110,8802,-76.362192989,9110,8806,1052430.525,9001,8807,763366.548,9001,,,,,, -6233,Puerto Carreno urban grid,1052,1039,51.58,9001,8801,6.105059709,9110,8802,-67.300270089,9110,8806,1063834.703,9001,8807,1175257.481,9001,,,,,, -6234,Quibdo urban grid,1052,1039,44,9001,8801,5.413929158,9110,8802,-76.390271389,9110,8806,1047273.617,9001,8807,1121443.09,9001,,,,,, -6235,Riohacha urban grid,1052,1039,6,9001,8801,11.321288798,9110,8802,-72.540996793,9110,8806,1128154.73,9001,8807,1767887.914,9001,,,,,, -6236,San Andres urban grid,1052,1039,6,9001,8801,12.312565957,9110,8802,-81.434575342,9110,8806,820439.298,9001,8807,1877357.828,9001,,,,,, -6237,San Jose del Guaviare urban grid,1052,1039,185,9001,8801,2.335068419,9110,8802,-72.382411997,9110,8806,1159876.62,9001,8807,775380.342,9001,,,,,, -6238,Santa Marta urban grid,1052,1039,29,9001,8801,11.1310715,9110,8802,-74.1330019,9110,8806,983892.409,9001,8807,1732533.518,9001,,,,,, -6239,Sucre urban grid,1052,1039,20,9001,8801,8.483798132,9110,8802,-74.432088057,9110,8806,929043.607,9001,8807,1466125.658,9001,,,,,, -6240,Tunja urban grid,1052,1039,2800,9001,8801,5.320310106,9110,8802,-73.210698004,9110,8806,1080514.91,9001,8807,1103772.028,9001,,,,,, -6241,Valledupar urban grid,1052,1039,200,9001,8801,10.265014,9110,8802,-73.1447657,9110,8806,1090979.66,9001,8807,1647208.93,9001,,,,,, -6242,Villavicencio urban grid,1052,1039,427.19,9001,8801,4.091935036,9110,8802,-73.372814955,9110,8806,1050678.757,9001,8807,950952.124,9001,,,,,, -6243,Yopal urban grid,1052,1039,300,9001,8801,5.2114138,9110,8802,-72.2512145,9110,8806,851184.177,9001,8807,1083954.137,9001,,,,,, -6308,Cyprus Transverse Mercator,9807,8801,0,9102,8802,33,9102,8805,0.99995,9201,8806,200000,9001,8807,-3500000,9001,,,,,, -6361,Mexico LCC,9802,8821,12,9102,8822,-102,9102,8823,17.5,9102,8824,29.5,9102,8826,2500000,9001,8827,0,9001,,, -6374,Ukraine TM zone 7,9807,8801,0,9102,8802,21,9102,8805,1,9201,8806,300000,9001,8807,0,9001,,,,,, -6375,Ukraine TM zone 8,9807,8801,0,9102,8802,24,9102,8805,1,9201,8806,300000,9001,8807,0,9001,,,,,, -6376,Ukraine TM zone 9,9807,8801,0,9102,8802,27,9102,8805,1,9201,8806,300000,9001,8807,0,9001,,,,,, -6377,Ukraine TM zone 10,9807,8801,0,9102,8802,30,9102,8805,1,9201,8806,300000,9001,8807,0,9001,,,,,, -6378,Ukraine TM zone 11,9807,8801,0,9102,8802,33,9102,8805,1,9201,8806,300000,9001,8807,0,9001,,,,,, -6379,Ukraine TM zone 12,9807,8801,0,9102,8802,36,9102,8805,1,9201,8806,300000,9001,8807,0,9001,,,,,, -6380,Ukraine TM zone 13,9807,8801,0,9102,8802,39,9102,8805,1,9201,8806,300000,9001,8807,0,9001,,,,,, -6390,"Cayman Islands LCC (ft)",9802,8821,19.2,9110,8822,-80.34,9110,8823,19.2,9110,8824,19.42,9110,8826,2950000,9002,8827,1900000,9002,,, -6645,Quebec Albers Projection,9822,8821,44,9110,8822,-68.3,9110,8823,60,9110,8824,46,9110,8826,0,9001,8827,0,9001,,, -6702,TM 60 SW,9807,8801,0,9102,8802,-60,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -6716,Christmas Island Grid 1992,9807,8801,0,9110,8802,105.373,9110,8805,1.000024,9201,8806,50000,9001,8807,1300000,9001,,,,,, -6717,Christmas Island Grid 1994,9807,8801,0,9110,8802,105.373,9110,8805,1.00002514,9201,8806,50000,9001,8807,1300000,9001,,,,,, -6718,Cocos Island Grid 1992,9807,8801,0,9110,8802,96.523,9110,8805,1,9201,8806,50000,9001,8807,1400000,9001,,,,,, -6719,Cocos Island Grid 1994,9807,8801,0,9110,8802,96.523,9110,8805,0.99999387,9201,8806,50000,9001,8807,1500000,9001,,,,,, -6725,Map Grid of Australia zone 41,9807,8801,0,9102,8802,63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -6726,Map Grid of Australia zone 42,9807,8801,0,9102,8802,69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -6727,Map Grid of Australia zone 43,9807,8801,0,9102,8802,75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -6728,Map Grid of Australia zone 44,9807,8801,0,9102,8802,81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -6729,Map Grid of Australia zone 46,9807,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -6730,Map Grid of Australia zone 47,9807,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -6731,Map Grid of Australia zone 59,9807,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -6741,"Oregon Baker zone (meters)",9807,8801,44.3,9110,8802,-117.5,9110,8805,1.00016,9201,8806,40000,9001,8807,0,9001,,,,,, -6742,"Oregon Baker zone (International feet)",9807,8801,44.3,9110,8802,-117.5,9110,8805,1.00016,9201,8806,131233.5958,9002,8807,0,9002,,,,,, -6743,"Oregon Bend-Klamath Falls zone (meters)",9807,8801,41.45,9110,8802,-121.45,9110,8805,1.0002,9201,8806,80000,9001,8807,0,9001,,,,,, -6744,"Oregon Bend-Klamath Falls zone (International feet)",9807,8801,41.45,9110,8802,-121.45,9110,8805,1.0002,9201,8806,262467.1916,9002,8807,0,9002,,,,,, -6745,"Oregon Bend-Redmond-Prineville zone (meters)",9801,8801,44.4,9110,8802,-121.15,9110,8805,1.00012,9201,8806,80000,9001,8807,130000,9001,,,,,, -6746,"Oregon Bend-Redmond-Prineville zone (International feet)",9801,8801,44.4,9110,8802,-121.15,9110,8805,1.00012,9201,8806,262467.1916,9002,8807,426509.1864,9002,,,,,, -6747,"Oregon Bend-Burns zone (meters)",9801,8801,43.4,9110,8802,-119.45,9110,8805,1.0002,9201,8806,120000,9001,8807,60000,9001,,,,,, -6748,"Oregon Bend-Burns zone (International feet)",9801,8801,43.4,9110,8802,-119.45,9110,8805,1.0002,9201,8806,393700.7874,9002,8807,196850.3937,9002,,,,,, -6749,"Oregon Canyonville-Grants Pass zone (meters)",9807,8801,42.3,9110,8802,-123.2,9110,8805,1.00007,9201,8806,40000,9001,8807,0,9001,,,,,, -6750,"Oregon Canyonville-Grants Pass zone (International feet)",9807,8801,42.3,9110,8802,-123.2,9110,8805,1.00007,9201,8806,131233.5958,9002,8807,0,9002,,,,,, -6751,"Oregon Columbia River East zone (meters)",9801,8801,45.4,9110,8802,-120.3,9110,8805,1.000008,9201,8806,150000,9001,8807,30000,9001,,,,,, -6752,"Oregon Columbia River East zone (International feet)",9801,8801,45.4,9110,8802,-120.3,9110,8805,1.000008,9201,8806,492125.9843,9002,8807,98425.1969,9002,,,,,, -6753,"Oregon Columbia River West zone (meters)",9812,8806,7000000,9001,8807,-3000000,9001,8811,45.55,9110,8812,-123,9110,8813,295,9102,8814,295,9102,8815,1,9201 -6754,"Oregon Columbia River West zone (International feet)",9812,8806,22965879.2651,9002,8807,-9842519.685,9002,8811,45.55,9110,8812,-123,9110,8813,295,9102,8814,295,9102,8815,1,9201 -6755,"Oregon Cottage Grove-Canyonville zone (meters)",9807,8801,42.5,9110,8802,-123.2,9110,8805,1.000023,9201,8806,50000,9001,8807,0,9001,,,,,, -6756,"Oregon Cottage Grove-Canyonville zone (International feet)",9807,8801,42.5,9110,8802,-123.2,9110,8805,1.000023,9201,8806,164041.9948,9002,8807,0,9002,,,,,, -6757,"Oregon Dufur-Madras zone (meters)",9807,8801,44.3,9110,8802,-121,9110,8805,1.00011,9201,8806,80000,9001,8807,0,9001,,,,,, -6758,"Oregon Dufur-Madras zone (International feet)",9807,8801,44.3,9110,8802,-121,9110,8805,1.00011,9201,8806,262467.1916,9002,8807,0,9002,,,,,, -6759,"Oregon Eugene zone (meters)",9807,8801,43.45,9110,8802,-123.1,9110,8805,1.000015,9201,8806,50000,9001,8807,0,9001,,,,,, -6760,"Oregon Eugene zone (International feet)",9807,8801,43.45,9110,8802,-123.1,9110,8805,1.000015,9201,8806,164041.9948,9002,8807,0,9002,,,,,, -6761,"Oregon Grants Pass-Ashland zone (meters)",9807,8801,41.45,9110,8802,-123.2,9110,8805,1.000043,9201,8806,50000,9001,8807,0,9001,,,,,, -6762,"Oregon Grants Pass-Ashland zone (International feet)",9807,8801,41.45,9110,8802,-123.2,9110,8805,1.000043,9201,8806,164041.9948,9002,8807,0,9002,,,,,, -6763,"Oregon Gresham-Warm Springs zone (meters)",9807,8801,45,9110,8802,-122.2,9110,8805,1.00005,9201,8806,10000,9001,8807,0,9001,,,,,, -6764,"Oregon Gresham-Warm Springs zone (International feet)",9807,8801,45,9110,8802,-122.2,9110,8805,1.00005,9201,8806,32808.399,9002,8807,0,9002,,,,,, -6765,"Oregon La Grande zone (meters)",9807,8801,45,9102,8802,-118,9102,8805,1.00013,9201,8806,40000,9001,8807,0,9001,,,,,, -6766,"Oregon La Grande zone (International feet)",9807,8801,45,9102,8802,-118,9102,8805,1.00013,9201,8806,131233.5958,9002,8807,0,9002,,,,,, -6767,"Oregon Ontario zone (meters)",9807,8801,43.15,9110,8802,-117,9110,8805,1.0001,9201,8806,80000,9001,8807,0,9001,,,,,, -6768,"Oregon Ontario zone (International feet)",9807,8801,43.15,9110,8802,-117,9110,8805,1.0001,9201,8806,262467.1916,9002,8807,0,9002,,,,,, -6769,"Oregon Coast zone (meters)",9812,8806,-300000,9001,8807,-4600000,9001,8811,44.45,9110,8812,-124.03,9110,8813,5,9102,8814,5,9102,8815,1,9201 -6770,"Oregon Coast zone (International feet)",9812,8806,-984251.9685,9002,8807,-15091863.5171,9002,8811,44.45,9110,8812,-124.03,9110,8813,5,9102,8814,5,9102,8815,1,9201 -6771,"Oregon Pendleton zone (meters)",9807,8801,45.15,9110,8802,-119.1,9110,8805,1.000045,9201,8806,60000,9001,8807,0,9001,,,,,, -6772,"Oregon Pendleton zone (International feet)",9807,8801,45.15,9110,8802,-119.1,9110,8805,1.000045,9201,8806,196850.3937,9002,8807,0,9002,,,,,, -6773,"Oregon Pendleton-La Grande zone (meters)",9807,8801,45.05,9110,8802,-118.2,9110,8805,1.000175,9201,8806,30000,9001,8807,0,9001,,,,,, -6774,"Oregon Pendleton-La Grande zone (International feet)",9807,8801,45.05,9110,8802,-118.2,9110,8805,1.000175,9201,8806,98425.1969,9002,8807,0,9002,,,,,, -6775,"Oregon Portland zone (meters)",9801,8801,45.3,9110,8802,-122.45,9110,8805,1.000002,9201,8806,100000,9001,8807,50000,9001,,,,,, -6776,"Oregon Portland zone (International feet)",9801,8801,45.3,9110,8802,-122.45,9110,8805,1.000002,9201,8806,328083.9895,9002,8807,164041.9948,9002,,,,,, -6777,"Oregon Salem zone (meters)",9807,8801,44.2,9110,8802,-123.05,9110,8805,1.00001,9201,8806,50000,9001,8807,0,9001,,,,,, -6778,"Oregon Salem zone (International feet)",9807,8801,44.2,9110,8802,-123.05,9110,8805,1.00001,9201,8806,164041.9948,9002,8807,0,9002,,,,,, -6779,"Oregon Santiam Pass zone (meters)",9807,8801,44.05,9110,8802,-122.3,9110,8805,1.000155,9201,8806,0,9001,8807,0,9001,,,,,, -6780,"Oregon Santiam Pass zone (International feet)",9807,8801,44.05,9110,8802,-122.3,9110,8805,1.000155,9201,8806,0,9002,8807,0,9002,,,,,, -6869,Albania TM 2010,9807,8801,0,9102,8802,20,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -6877,Italy zone,9807,8801,0,9102,8802,12,9102,8805,0.9985,9201,8806,7000000,9001,8807,0,9001,,,,,, -6878,Italy zone 12,9807,8801,0,9102,8802,12,9102,8805,1,9201,8806,3000000,9001,8807,0,9001,,,,,, -6920,"Kansas DOT Lambert (meters)",9802,8821,36,9110,8822,-98.15,9110,8823,39.3,9110,8824,37.3,9110,8826,400000,9001,8827,0,9001,,, -6921,"Kansas DOT Lambert (US Survey feet)",9802,8821,36,9110,8822,-98.15,9110,8823,39.3,9110,8824,37.3,9110,8826,1312333.3333,9003,8827,0,9003,,, -6928,US NSIDC EASE-Grid 2.0 Global,9835,8802,0,9102,8806,0,9001,8807,0,9001,8823,30,9102,,,,,,,,, -6929,US NSIDC EASE-Grid 2.0 North,9820,8801,90,9102,8802,0,9102,8806,0,9001,8807,0,9001,,,,,,,,, -6930,US NSIDC EASE-Grid 2.0 South,9820,8801,-90,9102,8802,0,9102,8806,0,9001,8807,0,9001,,,,,,,,, -6952,Vietnam TM-3 zone 481,9807,8801,0,9102,8802,102,9102,8805,0.9999,9201,8806,0,9001,8807,500000,9001,,,,,, -6953,Vietnam TM-3 zone 482,9807,8801,0,9102,8802,105,9102,8805,0.9999,9201,8806,0,9001,8807,500000,9001,,,,,, -6954,Vietnam TM-3 zone 491,9807,8801,0,9102,8802,108,9102,8805,0.9999,9201,8806,0,9001,8807,500000,9001,,,,,, -6955,Vietnam TM-3 Da Nang zone,9807,8801,0,9110,8802,107.45,9110,8805,0.9999,9201,8806,0,9001,8807,500000,9001,,,,,, -6961,Albania LCC 2010,9802,8821,41,9102,8822,20,9102,8823,39,9102,8824,43,9102,8826,0,9001,8827,0,9001,,, -6965,Michigan CS27 North zone,1051,1038,1.0000382,9201,8821,44.47,9110,8822,-87,9110,8823,45.29,9110,8824,47.05,9110,8826,2000000,9003,8827,0,9003 -6994,"City and County of San Francisco CS13 (meters)",9807,8801,37.75,9102,8802,-122.45,9102,8805,1.000007,9202,8806,48000,9001,8807,24000,9001,,,,,, -6995,"City and County of San Francisco CS13 (US Survey feet)",9807,8801,37.75,9102,8802,-122.45,9102,8805,1.000007,9202,8806,157480,9003,8807,78740,9003,,,,,, -7043,Iowa regional zone 1 Spencer,9801,8801,43.12,9110,8802,-95.15,9110,8805,1.000052,9201,8806,11500000,9003,8807,9600000,9003,,,,,, -7044,Iowa regional zone 2 Mason City,9801,8801,43.1,9110,8802,-92.45,9110,8805,1.000043,9201,8806,12500000,9003,8807,9800000,9003,,,,,, -7045,Iowa regional zone 3 Elkader,9807,8801,40.15,9110,8802,-91.12,9110,8805,1.000035,9201,8806,13500000,9003,8807,8300000,9003,,,,,, -7046,Iowa regional zone 4 Sioux City-Iowa Falls,9801,8801,42.32,9110,8802,-94.5,9110,8805,1.000045,9201,8806,14500000,9003,8807,8600000,9003,,,,,, -7047,Iowa regional zone 5 Waterloo,9801,8801,42.39,9110,8802,-92.15,9110,8805,1.000032,9201,8806,15500000,9003,8807,8900000,9003,,,,,, -7048,Iowa regional zone 6 Council Bluffs,9807,8801,40.15,9110,8802,-95.44,9110,8805,1.000039,9201,8806,16500000,9003,8807,6600000,9003,,,,,, -7049,Iowa regional zone 7 Carroll-Atlantic,9807,8801,40.15,9110,8802,-94.38,9110,8805,1.000045,9201,8806,17500000,9003,8807,6800000,9003,,,,,, -7050,Iowa regional zone 8 Ames-Des Moines,9807,8801,40.15,9110,8802,-93.43,9110,8805,1.000033,9201,8806,18500000,9003,8807,7000000,9003,,,,,, -7051,Iowa regional zone 9 Newton,9807,8801,40.15,9110,8802,-92.49,9110,8805,1.000027,9201,8806,19500000,9003,8807,7200000,9003,,,,,, -7052,Iowa regional zone 10 Cedar Rapids,9801,8801,41.5,9110,8802,-91.4,9110,8805,1.00002,9201,8806,20500000,9003,8807,8000000,9003,,,,,, -7053,Iowa regional zone 11 Dubuque-Davenport,9807,8801,40.15,9110,8802,-90.32,9110,8805,1.000027,9201,8806,21500000,9003,8807,7600000,9003,,,,,, -7054,Iowa regional zone 12 Red Oak-Ottumwa,9801,8801,40.55,9110,8802,-93.45,9110,8805,1.000037,9201,8806,22500000,9003,8807,6200000,9003,,,,,, -7055,Iowa regional zone 13 Fairfield,9807,8801,40.15,9110,8802,-91.55,9110,8805,1.00002,9201,8806,23500000,9003,8807,6400000,9003,,,,,, -7056,Iowa regional zone 14 Burlington,9807,8801,40.15,9110,8802,-91.15,9110,8805,1.000018,9201,8806,24500000,9003,8807,6200000,9003,,,,,, -7089,"Montana Blackfeet St Mary Valley (meters)",9807,8801,48.3,9110,8802,-112.3,9110,8805,1.00016,9201,8806,150000,9001,8807,0,9001,,,,,, -7090,"Montana Blackfeet St Mary Valley (International feet)",9807,8801,48.3,9110,8802,-112.3,9110,8805,1.00016,9201,8806,492125.9843,9002,8807,0,9002,,,,,, -7091,"Montana Blackfeet (meters)",9807,8801,48,9110,8802,-112.3,9110,8805,1.00019,9201,8806,100000,9001,8807,0,9001,,,,,, -7092,"Montana Blackfeet (International feet)",9807,8801,48,9110,8802,-112.3,9110,8805,1.00019,9201,8806,328083.9895,9002,8807,0,9002,,,,,, -7093,"Montana Milk River (meters)",9801,8801,48.3,9110,8802,-111,9110,8805,1.000145,9201,8806,150000,9001,8807,200000,9001,,,,,, -7094,"Montana Milk River (International feet)",9801,8801,48.3,9110,8802,-111,9110,8805,1.000145,9201,8806,492125.9843,9002,8807,656167.979,9002,,,,,, -7095,"Montana Fort Belknap (meters)",9801,8801,48.3,9110,8802,-108.3,9110,8805,1.00012,9201,8806,200000,9001,8807,150000,9001,,,,,, -7096,"Montana Fort Belknap (International feet)",9801,8801,48.3,9110,8802,-108.3,9110,8805,1.00012,9201,8806,656167.979,9002,8807,492125.9843,9002,,,,,, -7097,"Montana Fort Peck Assiniboine (meters)",9801,8801,48.2,9110,8802,-105.3,9110,8805,1.00012,9201,8806,200000,9001,8807,100000,9001,,,,,, -7098,"Montana Fort Peck Assiniboine (International feet)",9801,8801,48.2,9110,8802,-105.3,9110,8805,1.00012,9201,8806,656167.979,9002,8807,328083.9895,9002,,,,,, -7099,"Montana Fort Peck Sioux (meters)",9801,8801,48.2,9110,8802,-105.3,9110,8805,1.00009,9201,8806,100000,9001,8807,50000,9001,,,,,, -7100,"Montana Fort Peck Sioux (International feet)",9801,8801,48.2,9110,8802,-105.3,9110,8805,1.00009,9201,8806,328083.9895,9002,8807,164041.9938,9002,,,,,, -7101,"Montana Crow (meters)",9807,8801,44.45,9110,8802,-107.45,9110,8805,1.000148,9201,8806,200000,9001,8807,0,9001,,,,,, -7102,"Montana Crow (International feet)",9807,8801,44.45,9110,8802,-107.45,9110,8805,1.000148,9201,8806,656167.979,9002,8807,0,9002,,,,,, -7103,"Montana Bobcat (meters)",9801,8801,46.15,9110,8802,-111.15,9110,8805,1.000185,9201,8806,100000,9001,8807,100000,9001,,,,,, -7104,"Montana Bobcat (International feet)",9801,8801,46.15,9110,8802,-111.15,9110,8805,1.000185,9201,8806,328083.9895,9002,8807,328083.9895,9002,,,,,, -7105,"Montana Billings (meters)",9801,8801,45.47,9110,8802,-108.25,9110,8805,1.0001515,9201,8806,200000,9001,8807,50000,9001,,,,,, -7106,"Montana Billings (International feet)",9801,8801,45.47,9110,8802,-108.25,9110,8805,1.0001515,9201,8806,656167.979,9002,8807,164041.9948,9002,,,,,, -7107,"Wyoming Wind River (meters)",9807,8801,42.4,9110,8802,-108.2,9110,8805,1.00024,9201,8806,100000,9001,8807,0,9001,,,,,, -7108,"Wyoming Wind River (US Survey feet)",9807,8801,42.4,9110,8802,-108.2,9110,8805,1.00024,9201,8806,328083.3333,9003,8807,0,9003,,,,,, -7129,"City and County of San Francisco CS13 (meters)",9807,8801,37.75,9102,8802,-122.45,9102,8805,1.000007,9201,8806,48000,9001,8807,24000,9001,,,,,, -7130,"City and County of San Francisco CS13 (US Survey feet)",9807,8801,37.75,9102,8802,-122.45,9102,8805,1.000007,9201,8806,157480,9003,8807,78740,9003,,,,,, -7141,Palestine Grid modified,9807,8801,31.4402749,9110,8802,35.124349,9110,8805,1,9201,8806,170251.555,9001,8807,126867.909,9001,,,,,, -7143,"InGCS Adams (m)",9807,8801,40.33,9110,8802,-84.57,9110,8805,1.000034,9201,8806,240000,9001,8807,36000,9001,,,,,, -7144,"InGCS Adams (ftUS)",9807,8801,40.33,9110,8802,-84.57,9110,8805,1.000034,9201,8806,787400,9003,8807,118110,9003,,,,,, -7145,"InGCS Allen (m)",9807,8801,40.54,9110,8802,-85.03,9110,8805,1.000031,9201,8806,240000,9001,8807,36000,9001,,,,,, -7146,"InGCS Allen (ftUS)",9807,8801,40.54,9110,8802,-85.03,9110,8805,1.000031,9201,8806,787400,9003,8807,118110,9003,,,,,, -7147,"InGCS Bartholomew (m)",9807,8801,39,9110,8802,-85.51,9110,8805,1.000026,9201,8806,240000,9001,8807,36000,9001,,,,,, -7148,"InGCS Bartholomew (ftUS)",9807,8801,39,9110,8802,-85.51,9110,8805,1.000026,9201,8806,787400,9003,8807,118110,9003,,,,,, -7149,"InGCS Benton (m)",9807,8801,40.27,9110,8802,-87.18,9110,8805,1.000029,9201,8806,240000,9001,8807,36000,9001,,,,,, -7150,"InGCS Benton (ftUS)",9807,8801,40.27,9110,8802,-87.18,9110,8805,1.000029,9201,8806,787400,9003,8807,118110,9003,,,,,, -7151,"InGCS Blackford-Delaware (m)",9807,8801,40.03,9110,8802,-85.24,9110,8805,1.000038,9201,8806,240000,9001,8807,36000,9001,,,,,, -7152,"InGCS Blackford-Delaware (ftUS)",9807,8801,40.03,9110,8802,-85.24,9110,8805,1.000038,9201,8806,787400,9003,8807,118110,9003,,,,,, -7153,"InGCS Boone-Hendricks (m)",9807,8801,39.36,9110,8802,-86.3,9110,8805,1.000036,9201,8806,240000,9001,8807,36000,9001,,,,,, -7154,"InGCS Boone-Hendricks (ftUS)",9807,8801,39.36,9110,8802,-86.3,9110,8805,1.000036,9201,8806,787400,9003,8807,118110,9003,,,,,, -7155,"InGCS Brown (m)",9807,8801,39,9110,8802,-86.18,9110,8805,1.00003,9201,8806,240000,9001,8807,36000,9001,,,,,, -7156,"InGCS Brown (ftUS)",9807,8801,39,9110,8802,-86.18,9110,8805,1.00003,9201,8806,787400,9003,8807,118110,9003,,,,,, -7157,"InGCS Carroll (m)",9807,8801,40.24,9110,8802,-86.39,9110,8805,1.000026,9201,8806,240000,9001,8807,36000,9001,,,,,, -7158,"InGCS Carroll (ftUS)",9807,8801,40.24,9110,8802,-86.39,9110,8805,1.000026,9201,8806,787400,9003,8807,118110,9003,,,,,, -7159,"InGCS Cass (m)",9807,8801,40.33,9110,8802,-86.24,9110,8805,1.000028,9201,8806,240000,9001,8807,36000,9001,,,,,, -7160,"InGCS Cass (ftUS)",9807,8801,40.33,9110,8802,-86.24,9110,8805,1.000028,9201,8806,787400,9003,8807,118110,9003,,,,,, -7161,"InGCS Clark-Floyd-Scott (m)",9807,8801,38.09,9110,8802,-85.36,9110,8805,1.000021,9201,8806,240000,9001,8807,36000,9001,,,,,, -7162,"InGCS Clark-Floyd-Scott (ftUS)",9807,8801,38.09,9110,8802,-85.36,9110,8805,1.000021,9201,8806,787400,9003,8807,118110,9003,,,,,, -7163,"InGCS Clay (m)",9807,8801,39.09,9110,8802,-87.09,9110,8805,1.000024,9201,8806,240000,9001,8807,36000,9001,,,,,, -7164,"InGCS Clay (ftUS)",9807,8801,39.09,9110,8802,-87.09,9110,8805,1.000024,9201,8806,787400,9003,8807,118110,9003,,,,,, -7165,"InGCS Clinton (m)",9807,8801,40.09,9110,8802,-86.36,9110,8805,1.000032,9201,8806,240000,9001,8807,36000,9001,,,,,, -7166,"InGCS Clinton (ftUS)",9807,8801,40.09,9110,8802,-86.36,9110,8805,1.000032,9201,8806,787400,9003,8807,118110,9003,,,,,, -7167,"InGCS Crawford-Lawrence-Orange (m)",9807,8801,38.06,9110,8802,-86.3,9110,8805,1.000025,9201,8806,240000,9001,8807,36000,9001,,,,,, -7168,"InGCS Crawford-Lawrence-Orange (ftUS)",9807,8801,38.06,9110,8802,-86.3,9110,8805,1.000025,9201,8806,787400,9003,8807,118110,9003,,,,,, -7169,"InGCS Daviess-Greene (m)",9807,8801,38.27,9110,8802,-87.06,9110,8805,1.000018,9201,8806,240000,9001,8807,36000,9001,,,,,, -7170,"InGCS Daviess-Greene (ftUS)",9807,8801,38.27,9110,8802,-87.06,9110,8805,1.000018,9201,8806,787400,9003,8807,118110,9003,,,,,, -7171,"InGCS Dearborn-Ohio-Switzerland (m)",9807,8801,38.39,9110,8802,-84.54,9110,8805,1.000029,9201,8806,240000,9001,8807,36000,9001,,,,,, -7172,"InGCS Dearborn-Ohio-Switzerland (ftUS)",9807,8801,38.39,9110,8802,-84.54,9110,8805,1.000029,9201,8806,787400,9003,8807,118110,9003,,,,,, -7173,"InGCS Decatur-Rush (m)",9807,8801,39.06,9110,8802,-85.39,9110,8805,1.000036,9201,8806,240000,9001,8807,36000,9001,,,,,, -7174,"InGCS Decatur-Rush (ftUS)",9807,8801,39.06,9110,8802,-85.39,9110,8805,1.000036,9201,8806,787400,9003,8807,118110,9003,,,,,, -7175,"InGCS DeKalb (m)",9807,8801,41.15,9110,8802,-84.57,9110,8805,1.000036,9201,8806,240000,9001,8807,36000,9001,,,,,, -7176,"InGCS DeKalb (ftUS)",9807,8801,41.15,9110,8802,-84.57,9110,8805,1.000036,9201,8806,787400,9003,8807,118110,9003,,,,,, -7177,"InGCS Dubois-Martin (m)",9807,8801,38.12,9110,8802,-86.57,9110,8805,1.00002,9201,8806,240000,9001,8807,36000,9001,,,,,, -7178,"InGCS Dubois-Martin (ftUS)",9807,8801,38.12,9110,8802,-86.57,9110,8805,1.00002,9201,8806,787400,9003,8807,118110,9003,,,,,, -7179,"InGCS Elkhart-Kosciusko-Wabash (m)",9807,8801,40.39,9110,8802,-85.51,9110,8805,1.000033,9201,8806,240000,9001,8807,36000,9001,,,,,, -7180,"InGCS Elkhart-Kosciusko-Wabash (ftUS)",9807,8801,40.39,9110,8802,-85.51,9110,8805,1.000033,9201,8806,787400,9003,8807,118110,9003,,,,,, -7181,"InGCS Fayette-Franklin-Union (m)",9807,8801,39.15,9110,8802,-85.03,9110,8805,1.000038,9201,8806,240000,9001,8807,36000,9001,,,,,, -7182,"InGCS Fayette-Franklin-Union (ftUS)",9807,8801,39.15,9110,8802,-85.03,9110,8805,1.000038,9201,8806,787400,9003,8807,118110,9003,,,,,, -7183,"InGCS Fountain-Warren (m)",9807,8801,39.57,9110,8802,-87.18,9110,8805,1.000025,9201,8806,240000,9001,8807,36000,9001,,,,,, -7184,"InGCS Fountain-Warren (ftUS)",9807,8801,39.57,9110,8802,-87.18,9110,8805,1.000025,9201,8806,787400,9003,8807,118110,9003,,,,,, -7185,"InGCS Fulton-Marshall-St. Joseph (m)",9807,8801,40.54,9110,8802,-86.18,9110,8805,1.000031,9201,8806,240000,9001,8807,36000,9001,,,,,, -7186,"InGCS Fulton-Marshall-St. Joseph (ftUS)",9807,8801,40.54,9110,8802,-86.18,9110,8805,1.000031,9201,8806,787400,9003,8807,118110,9003,,,,,, -7187,"InGCS Gibson (m)",9807,8801,38.09,9110,8802,-87.39,9110,8805,1.000013,9201,8806,240000,9001,8807,36000,9001,,,,,, -7188,"InGCS Gibson (ftUS)",9807,8801,38.09,9110,8802,-87.39,9110,8805,1.000013,9201,8806,787400,9003,8807,118110,9003,,,,,, -7189,"InGCS Grant (m)",9807,8801,40.21,9110,8802,-85.42,9110,8805,1.000034,9201,8806,240000,9001,8807,36000,9001,,,,,, -7190,"InGCS Grant (ftUS)",9807,8801,40.21,9110,8802,-85.42,9110,8805,1.000034,9201,8806,787400,9003,8807,118110,9003,,,,,, -7191,"InGCS Hamilton-Tipton (m)",9807,8801,39.54,9110,8802,-86,9110,8805,1.000034,9201,8806,240000,9001,8807,36000,9001,,,,,, -7192,"InGCS Hamilton-Tipton (ftUS)",9807,8801,39.54,9110,8802,-86,9110,8805,1.000034,9201,8806,787400,9003,8807,118110,9003,,,,,, -7193,"InGCS Hancock-Madison (m)",9807,8801,39.39,9110,8802,-85.48,9110,8805,1.000036,9201,8806,240000,9001,8807,36000,9001,,,,,, -7194,"InGCS Hancock-Madison (ftUS)",9807,8801,39.39,9110,8802,-85.48,9110,8805,1.000036,9201,8806,787400,9003,8807,118110,9003,,,,,, -7195,"InGCS Harrison-Washington (m)",9807,8801,37.57,9110,8802,-86.09,9110,8805,1.000027,9201,8806,240000,9001,8807,36000,9001,,,,,, -7196,"InGCS Harrison-Washington (ftUS)",9807,8801,37.57,9110,8802,-86.09,9110,8805,1.000027,9201,8806,787400,9003,8807,118110,9003,,,,,, -7197,"InGCS Henry (m)",9807,8801,39.45,9110,8802,-85.27,9110,8805,1.000043,9201,8806,240000,9001,8807,36000,9001,,,,,, -7198,"InGCS Henry (ftUS)",9807,8801,39.45,9110,8802,-85.27,9110,8805,1.000043,9201,8806,787400,9003,8807,118110,9003,,,,,, -7199,"InGCS Howard-Miami (m)",9807,8801,40.21,9110,8802,-86.09,9110,8805,1.000031,9201,8806,240000,9001,8807,36000,9001,,,,,, -7200,"InGCS Howard-Miami (ftUS)",9807,8801,40.21,9110,8802,-86.09,9110,8805,1.000031,9201,8806,787400,9003,8807,118110,9003,,,,,, -7201,"InGCS Huntington-Whitley (m)",9807,8801,40.39,9110,8802,-85.3,9110,8805,1.000034,9201,8806,240000,9001,8807,36000,9001,,,,,, -7202,"InGCS Huntington-Whitley (ftUS)",9807,8801,40.39,9110,8802,-85.3,9110,8805,1.000034,9201,8806,787400,9003,8807,118110,9003,,,,,, -7203,"InGCS Jackson (m)",9807,8801,38.42,9110,8802,-85.57,9110,8805,1.000022,9201,8806,240000,9001,8807,36000,9001,,,,,, -7204,"InGCS Jackson (ftUS)",9807,8801,38.42,9110,8802,-85.57,9110,8805,1.000022,9201,8806,787400,9003,8807,118110,9003,,,,,, -7205,"InGCS Jasper-Porter (m)",9807,8801,40.42,9110,8802,-87.06,9110,8805,1.000027,9201,8806,240000,9001,8807,36000,9001,,,,,, -7206,"InGCS Jasper-Porter (ftUS)",9807,8801,40.42,9110,8802,-87.06,9110,8805,1.000027,9201,8806,787400,9003,8807,118110,9003,,,,,, -7207,"InGCS Jay (m)",9807,8801,40.18,9110,8802,-85,9110,8805,1.000038,9201,8806,240000,9001,8807,36000,9001,,,,,, -7208,"InGCS Jay (ftUS)",9807,8801,40.18,9110,8802,-85,9110,8805,1.000038,9201,8806,787400,9003,8807,118110,9003,,,,,, -7209,"InGCS Jefferson (m)",9807,8801,38.33,9110,8802,-85.21,9110,8805,1.000028,9201,8806,240000,9001,8807,36000,9001,,,,,, -7210,"InGCS Jefferson (ftUS)",9807,8801,38.33,9110,8802,-85.21,9110,8805,1.000028,9201,8806,787400,9003,8807,118110,9003,,,,,, -7211,"InGCS Jennings (m)",9807,8801,38.48,9110,8802,-85.48,9110,8805,1.000025,9201,8806,240000,9001,8807,36000,9001,,,,,, -7212,"InGCS Jennings (ftUS)",9807,8801,38.48,9110,8802,-85.48,9110,8805,1.000025,9201,8806,787400,9003,8807,118110,9003,,,,,, -7213,"InGCS Johnson-Marion (m)",9807,8801,39.18,9110,8802,-86.09,9110,8805,1.000031,9201,8806,240000,9001,8807,36000,9001,,,,,, -7214,"InGCS Johnson-Marion (ftUS)",9807,8801,39.18,9110,8802,-86.09,9110,8805,1.000031,9201,8806,787400,9003,8807,118110,9003,,,,,, -7215,"InGCS Knox (m)",9807,8801,38.24,9110,8802,-87.27,9110,8805,1.000015,9201,8806,240000,9001,8807,36000,9001,,,,,, -7216,"InGCS Knox (ftUS)",9807,8801,38.24,9110,8802,-87.27,9110,8805,1.000015,9201,8806,787400,9003,8807,118110,9003,,,,,, -7217,"InGCS LaGrange-Noble (m)",9807,8801,41.15,9110,8802,-85.27,9110,8805,1.000037,9201,8806,240000,9001,8807,36000,9001,,,,,, -7218,"InGCS LaGrange-Noble (ftUS)",9807,8801,41.15,9110,8802,-85.27,9110,8805,1.000037,9201,8806,787400,9003,8807,118110,9003,,,,,, -7219,"InGCS Lake-Newton (m)",9807,8801,40.42,9110,8802,-87.24,9110,8805,1.000026,9201,8806,240000,9001,8807,36000,9001,,,,,, -7220,"InGCS Lake-Newton (ftUS)",9807,8801,40.42,9110,8802,-87.24,9110,8805,1.000026,9201,8806,787400,9003,8807,118110,9003,,,,,, -7221,"InGCS LaPorte-Pulaski-Starke (m)",9807,8801,40.54,9110,8802,-86.45,9110,8805,1.000027,9201,8806,240000,9001,8807,36000,9001,,,,,, -7222,"InGCS LaPorte-Pulaski-Starke (ftUS)",9807,8801,40.54,9110,8802,-86.45,9110,8805,1.000027,9201,8806,787400,9003,8807,118110,9003,,,,,, -7223,"InGCS Monroe-Morgan (m)",9807,8801,38.57,9110,8802,-86.3,9110,8805,1.000028,9201,8806,240000,9001,8807,36000,9001,,,,,, -7224,"InGCS Monroe-Morgan (ftUS)",9807,8801,38.57,9110,8802,-86.3,9110,8805,1.000028,9201,8806,787400,9003,8807,118110,9003,,,,,, -7225,"InGCS Montgomery-Putnam (m)",9807,8801,39.27,9110,8802,-86.57,9110,8805,1.000031,9201,8806,240000,9001,8807,36000,9001,,,,,, -7226,"InGCS Montgomery-Putnam (ftUS)",9807,8801,39.27,9110,8802,-86.57,9110,8805,1.000031,9201,8806,787400,9003,8807,118110,9003,,,,,, -7227,"InGCS Owen (m)",9807,8801,39.09,9110,8802,-86.54,9110,8805,1.000026,9201,8806,240000,9001,8807,36000,9001,,,,,, -7228,"InGCS Owen (ftUS)",9807,8801,39.09,9110,8802,-86.54,9110,8805,1.000026,9201,8806,787400,9003,8807,118110,9003,,,,,, -7229,"InGCS Parke-Vermillion (m)",9807,8801,39.36,9110,8802,-87.21,9110,8805,1.000022,9201,8806,240000,9001,8807,36000,9001,,,,,, -7230,"InGCS Parke-Vermillion (ftUS)",9807,8801,39.36,9110,8802,-87.21,9110,8805,1.000022,9201,8806,787400,9003,8807,118110,9003,,,,,, -7231,"InGCS Perry (m)",9807,8801,37.48,9110,8802,-86.42,9110,8805,1.00002,9201,8806,240000,9001,8807,36000,9001,,,,,, -7232,"InGCS Perry (ftUS)",9807,8801,37.48,9110,8802,-86.42,9110,8805,1.00002,9201,8806,787400,9003,8807,118110,9003,,,,,, -7233,"InGCS Pike-Warrick (m)",9807,8801,37.51,9110,8802,-87.18,9110,8805,1.000015,9201,8806,240000,9001,8807,36000,9001,,,,,, -7234,"InGCS Pike-Warrick (ftUS)",9807,8801,37.51,9110,8802,-87.18,9110,8805,1.000015,9201,8806,787400,9003,8807,118110,9003,,,,,, -7235,"InGCS Posey (m)",9807,8801,37.45,9110,8802,-87.57,9110,8805,1.000013,9201,8806,240000,9001,8807,36000,9001,,,,,, -7236,"InGCS Posey (ftUS)",9807,8801,37.45,9110,8802,-87.57,9110,8805,1.000013,9201,8806,787400,9003,8807,118110,9003,,,,,, -7237,"InGCS Randolph-Wayne (m)",9807,8801,39.42,9110,8802,-85.03,9110,8805,1.000044,9201,8806,240000,9001,8807,36000,9001,,,,,, -7238,"InGCS Randolph-Wayne (ftUS)",9807,8801,39.42,9110,8802,-85.03,9110,8805,1.000044,9201,8806,787400,9003,8807,118110,9003,,,,,, -7239,"InGCS Ripley (m)",9807,8801,38.54,9110,8802,-85.18,9110,8805,1.000038,9201,8806,240000,9001,8807,36000,9001,,,,,, -7240,"InGCS Ripley (ftUS)",9807,8801,38.54,9110,8802,-85.18,9110,8805,1.000038,9201,8806,787400,9003,8807,118110,9003,,,,,, -7241,"InGCS Shelby (m)",9807,8801,39.18,9110,8802,-85.54,9110,8805,1.00003,9201,8806,240000,9001,8807,36000,9001,,,,,, -7242,"InGCS Shelby (ftUS)",9807,8801,39.18,9110,8802,-85.54,9110,8805,1.00003,9201,8806,787400,9003,8807,118110,9003,,,,,, -7243,"InGCS Spencer (m)",9807,8801,37.45,9110,8802,-87.03,9110,8805,1.000014,9201,8806,240000,9001,8807,36000,9001,,,,,, -7244,"InGCS Spencer (ftUS)",9807,8801,37.45,9110,8802,-87.03,9110,8805,1.000014,9201,8806,787400,9003,8807,118110,9003,,,,,, -7245,"InGCS Steuben (m)",9807,8801,41.3,9110,8802,-85,9110,8805,1.000041,9201,8806,240000,9001,8807,36000,9001,,,,,, -7246,"InGCS Steuben (ftUS)",9807,8801,41.3,9110,8802,-85,9110,8805,1.000041,9201,8806,787400,9003,8807,118110,9003,,,,,, -7247,"InGCS Sullivan (m)",9807,8801,38.54,9110,8802,-87.3,9110,8805,1.000017,9201,8806,240000,9001,8807,36000,9001,,,,,, -7248,"InGCS Sullivan (ftUS)",9807,8801,38.54,9110,8802,-87.3,9110,8805,1.000017,9201,8806,787400,9003,8807,118110,9003,,,,,, -7249,"InGCS Tippecanoe-White (m)",9807,8801,40.12,9110,8802,-86.54,9110,8805,1.000026,9201,8806,240000,9001,8807,36000,9001,,,,,, -7250,"InGCS Tippecanoe-White (ftUS)",9807,8801,40.12,9110,8802,-86.54,9110,8805,1.000026,9201,8806,787400,9003,8807,118110,9003,,,,,, -7251,"InGCS Vanderburgh (m)",9807,8801,37.48,9110,8802,-87.33,9110,8805,1.000015,9201,8806,240000,9001,8807,36000,9001,,,,,, -7252,"InGCS Vanderburgh (ftUS)",9807,8801,37.48,9110,8802,-87.33,9110,8805,1.000015,9201,8806,787400,9003,8807,118110,9003,,,,,, -7253,"InGCS Vigo (m)",9807,8801,39.15,9110,8802,-87.27,9110,8805,1.00002,9201,8806,240000,9001,8807,36000,9001,,,,,, -7254,"InGCS Vigo (ftUS)",9807,8801,39.15,9110,8802,-87.27,9110,8805,1.00002,9201,8806,787400,9003,8807,118110,9003,,,,,, -7255,"InGCS Wells (m)",9807,8801,40.33,9110,8802,-85.15,9110,8805,1.000034,9201,8806,240000,9001,8807,36000,9001,,,,,, -7256,"InGCS Wells (ftUS)",9807,8801,40.33,9110,8802,-85.15,9110,8805,1.000034,9201,8806,787400,9003,8807,118110,9003,,,,,, -7378,"WISCRS Ashland County (m)",9807,8801,45.4222,9110,8802,-90.372,9110,8805,1.0000495683,9201,8806,172821.9461,9001,8807,0.0017,9001,,,,,, -7379,"WISCRS Ashland County (ftUS)",9807,8801,45.4222,9110,8802,-90.372,9110,8805,1.0000495683,9201,8806,567000.001,9003,8807,0.006,9003,,,,,, -7380,"WISCRS Bayfield County (m)",9801,8801,46.4010734158,9110,8802,-91.091,9110,8805,1.0000331195,9201,8806,228600.4575,9001,8807,148551.4837,9001,,,,,, -7381,"WISCRS Bayfield County (ftUS)",9801,8801,46.4010734158,9110,8802,-91.091,9110,8805,1.0000331195,9201,8806,750000.001,9003,8807,487372.659,9003,,,,,, -7382,"WISCRS Burnett County (m)",9801,8801,45.5355373517,9110,8802,-92.2728,9110,8805,1.0000383841,9201,8806,64008.1276,9001,8807,59445.9043,9001,,,,,, -7383,"WISCRS Burnett County (ftUS)",9801,8801,45.5355373517,9110,8802,-92.2728,9110,8805,1.0000383841,9201,8806,209999.999,9003,8807,195032.104,9003,,,,,, -7384,"WISCRS Douglas County (m)",9807,8801,45.53,9110,8802,-91.55,9110,8805,1.0000385418,9201,8806,59131.3183,9001,8807,0.0041,9001,,,,,, -7385,"WISCRS Douglas County (ftUS)",9807,8801,45.53,9110,8802,-91.55,9110,8805,1.0000385418,9201,8806,194000,9003,8807,0.013,9003,,,,,, -7386,"WISCRS Florence County (m)",9807,8801,45.262,9110,8802,-88.083,9110,8805,1.0000552095,9201,8806,133502.6683,9001,8807,0.0063,9001,,,,,, -7387,"WISCRS Florence County (ftUS)",9807,8801,45.262,9110,8802,-88.083,9110,8805,1.0000552095,9201,8806,438000.004,9003,8807,0.021,9003,,,,,, -7388,"WISCRS Forest County (m)",9807,8801,44.002,9110,8802,-88.38,9110,8805,1.0000673004,9201,8806,275844.5533,9001,8807,0.0157,9001,,,,,, -7389,"WISCRS Forest County (ftUS)",9807,8801,44.002,9110,8802,-88.38,9110,8805,1.0000673004,9201,8806,905000.005,9003,8807,0.052,9003,,,,,, -7390,"WISCRS Iron County (m)",9807,8801,45.26,9110,8802,-90.152,9110,8805,1.0000677153,9201,8806,220980.4419,9001,8807,0.0085,9001,,,,,, -7391,"WISCRS Iron County (ftUS)",9807,8801,45.26,9110,8802,-90.152,9110,8805,1.0000677153,9201,8806,725000,9003,8807,0.028,9003,,,,,, -7392,"WISCRS Oneida County (m)",9801,8801,45.4215205573,9110,8802,-89.324,9110,8805,1.0000686968,9201,8806,70104.1401,9001,8807,57588.0346,9001,,,,,, -7393,"WISCRS Oneida County (ftUS)",9801,8801,45.4215205573,9110,8802,-89.324,9110,8805,1.0000686968,9201,8806,230000,9003,8807,188936.744,9003,,,,,, -7394,"WISCRS Price County (m)",9807,8801,44.332,9110,8802,-90.292,9110,8805,1.0000649554,9201,8806,227990.8546,9001,8807,0.0109,9001,,,,,, -7395,"WISCRS Price County (ftUS)",9807,8801,44.332,9110,8802,-90.292,9110,8805,1.0000649554,9201,8806,747999.995,9003,8807,0.036,9003,,,,,, -7396,"WISCRS Sawyer County (m)",9801,8801,45.5400356873,9110,8802,-91.07,9110,8805,1.0000573461,9201,8806,216713.2336,9001,8807,120734.1631,9001,,,,,, -7397,"WISCRS Sawyer County (ftUS)",9801,8801,45.5400356873,9110,8802,-91.07,9110,8805,1.0000573461,9201,8806,711000.001,9003,8807,396108.667,9003,,,,,, -7398,"WISCRS Vilas County (m)",9801,8801,46.0440238726,9110,8802,-89.292,9110,8805,1.0000730142,9201,8806,134417.0689,9001,8807,50337.1092,9001,,,,,, -7399,"WISCRS Vilas County (ftUS)",9801,8801,46.0440238726,9110,8802,-89.292,9110,8805,1.0000730142,9201,8806,441000,9003,8807,165147.666,9003,,,,,, -7424,"WISCRS Washburn County (m)",9801,8801,45.57403914,9110,8802,-91.47,9110,8805,1.0000475376,9201,8806,234086.8682,9001,8807,188358.6058,9001,,,,,, -7425,"WISCRS Washburn County (ftUS)",9801,8801,45.57403914,9110,8802,-91.47,9110,8805,1.0000475376,9201,8806,768000,9003,8807,617973.193,9003,,,,,, -7426,"WISCRS Barron County (m)",9807,8801,45.08,9110,8802,-91.51,9110,8805,1.0000486665,9201,8806,93150,9001,8807,0.0029,9001,,,,,, -7427,"WISCRS Barron County (ftUS)",9807,8801,45.08,9110,8802,-91.51,9110,8805,1.0000486665,9201,8806,305609.625,9003,8807,0.01,9003,,,,,, -7428,"WISCRS Brown County (m)",9807,8801,43,9102,8802,-88,9102,8805,1.00002,9201,8806,31600,9001,8807,4600,9001,,,,,, -7429,"WISCRS Brown County (ftUS)",9807,8801,43,9110,8802,-88,9110,8805,1.00002,9201,8806,103674.333,9003,8807,15091.833,9003,,,,,, -7430,"WISCRS Buffalo County (m)",9807,8801,43.2853,9110,8802,-91.475,9110,8805,1.0000382778,9201,8806,175260.3502,9001,8807,0.0048,9001,,,,,, -7431,"WISCRS Buffalo County (ftUS)",9807,8801,43.2853,9110,8802,-91.475,9110,8805,1.0000382778,9201,8806,574999.999,9003,8807,0.016,9003,,,,,, -7432,"WISCRS Chippewa County (m)",9801,8801,44.5840284835,9110,8802,-91.174,9110,8805,1.0000391127,9201,8806,60045.72,9001,8807,44091.4346,9001,,,,,, -7433,"WISCRS Chippewa County (ftUS)",9801,8801,44.5840284835,9110,8802,-91.174,9110,8805,1.0000391127,9201,8806,197000,9003,8807,144656.648,9003,,,,,, -7434,"WISCRS Clark County (m)",9807,8801,43.36,9110,8802,-90.423,9110,8805,1.0000463003,9201,8806,199949.1989,9001,8807,0.0086,9001,,,,,, -7435,"WISCRS Clark County (ftUS)",9807,8801,43.36,9110,8802,-90.423,9110,8805,1.0000463003,9201,8806,655999.997,9003,8807,0.028,9003,,,,,, -7436,"WISCRS Door County (m)",9807,8801,44.24,9110,8802,-87.162,9110,8805,1.0000187521,9201,8806,158801.1176,9001,8807,0.0023,9001,,,,,, -7437,"WISCRS Door County (ftUS)",9807,8801,44.24,9110,8802,-87.162,9110,8805,1.0000187521,9201,8806,521000,9003,8807,0.008,9003,,,,,, -7438,"WISCRS Dunn County (m)",9807,8801,44.243,9110,8802,-91.534,9110,8805,1.0000410324,9201,8806,51816.104,9001,8807,0.003,9001,,,,,, -7439,"WISCRS Dunn County (ftUS)",9807,8801,44.243,9110,8802,-91.534,9110,8805,1.0000410324,9201,8806,170000.001,9003,8807,0.01,9003,,,,,, -7440,"WISCRS Eau Claire County (m)",9801,8801,44.5220212055,9110,8802,-91.172,9110,8805,1.000035079,9201,8806,120091.4402,9001,8807,91687.9239,9001,,,,,, -7441,"WISCRS Eau Claire County (ftUS)",9801,8801,44.5220212055,9110,8802,-91.172,9110,8805,1.000035079,9201,8806,394000,9003,8807,300812.797,9003,,,,,, -7450,"WISCRS Jackson County (m)",9807,8801,44.151200646,9110,8802,-90.503946747,9110,8805,1.0000353,9201,8806,27000,9001,8807,25000,9001,,,,,, -7451,"WISCRS Jackson County (ftUS)",9807,8801,44.151200646,9110,8802,-90.503946747,9110,8805,1.0000353,9201,8806,88582.5,9003,8807,82020.833,9003,,,,,, -7452,"WISCRS Langlade County (m)",9801,8801,45.0915253579,9110,8802,-89.02,9110,8805,1.0000627024,9201,8806,198425.197,9001,8807,105279.7829,9001,,,,,, -7453,"WISCRS Langlade County (ftUS)",9801,8801,45.0915253579,9110,8802,-89.02,9110,8805,1.0000627024,9201,8806,651000,9003,8807,345405.421,9003,,,,,, -7454,"WISCRS Lincoln County (m)",9807,8801,44.504,9110,8802,-89.44,9110,8805,1.0000599003,9201,8806,116129.0323,9001,8807,0.0058,9001,,,,,, -7455,"WISCRS Lincoln County (ftUS)",9807,8801,44.504,9110,8802,-89.44,9110,8805,1.0000599003,9201,8806,381000,9003,8807,0.019,9003,,,,,, -7456,"WISCRS Marathon County (m)",9801,8801,44.5403255925,9110,8802,-89.4612,9110,8805,1.000053289,9201,8806,74676.1493,9001,8807,55049.2669,9001,,,,,, -7457,"WISCRS Marathon County (ftUS)",9801,8801,44.5403255925,9110,8802,-89.4612,9110,8805,1.000053289,9201,8806,245000,9003,8807,180607.47,9003,,,,,, -7458,"WISCRS Marinette County (m)",9807,8801,44.413,9110,8802,-87.424,9110,8805,1.0000234982,9201,8806,238658.8794,9001,8807,0.0032,9001,,,,,, -7459,"WISCRS Marinette County (ftUS)",9807,8801,44.413,9110,8802,-87.424,9110,8805,1.0000234982,9201,8806,783000.007,9003,8807,0.01,9003,,,,,, -7460,"WISCRS Menominee County (m)",9807,8801,44.43,9110,8802,-88.25,9110,8805,1.0000362499,9201,8806,105461.0121,9001,8807,0.0029,9001,,,,,, -7461,"WISCRS Menominee County (ftUS)",9807,8801,44.43,9110,8802,-88.25,9110,8805,1.0000362499,9201,8806,346000.004,9003,8807,0.01,9003,,,,,, -7462,"WISCRS Oconto County (m)",9807,8801,44.235,9110,8802,-87.543,9110,8805,1.0000236869,9201,8806,182880.3676,9001,8807,0.0033,9001,,,,,, -7463,"WISCRS Oconto County (ftUS)",9807,8801,44.235,9110,8802,-87.543,9110,8805,1.0000236869,9201,8806,600000.006,9003,8807,0.011,9003,,,,,, -7464,"WISCRS Pepin and Pierce Counties (m)",9801,8801,44.3810135939,9110,8802,-92.134,9110,8805,1.0000362977,9201,8806,167640.3354,9001,8807,86033.0876,9001,,,,,, -7465,"WISCRS Pepin and Pierce Counties (ftUS)",9801,8801,44.3810135939,9110,8802,-92.134,9110,8805,1.0000362977,9201,8806,550000,9003,8807,282260.222,9003,,,,,, -7466,"WISCRS Polk County (m)",9807,8801,44.394,9110,8802,-92.38,9110,8805,1.0000433849,9201,8806,141732.2823,9001,8807,0.0059,9001,,,,,, -7467,"WISCRS Polk County (ftUS)",9807,8801,44.394,9110,8802,-92.38,9110,8805,1.0000433849,9201,8806,464999.996,9003,8807,0.019,9003,,,,,, -7468,"WISCRS Portage County (m)",9801,8801,44.2500566311,9110,8802,-89.3,9110,8805,1.000039936,9201,8806,56388.1128,9001,8807,50022.1874,9001,,,,,, -7469,"WISCRS Portage County (ftUS)",9801,8801,44.2500566311,9110,8802,-89.3,9110,8805,1.000039936,9201,8806,185000,9003,8807,164114.46,9003,,,,,, -7470,"WISCRS Rusk County (m)",9807,8801,43.551,9110,8802,-91.04,9110,8805,1.0000495976,9201,8806,250546.1013,9001,8807,0.0234,9001,,,,,, -7471,"WISCRS Rusk County (ftUS)",9807,8801,43.551,9110,8802,-91.04,9110,8805,1.0000495976,9201,8806,822000.001,9003,8807,0.077,9003,,,,,, -7472,"WISCRS Shawano County (m)",9807,8801,44.021,9110,8802,-88.362,9110,8805,1.000032144,9201,8806,262433.3253,9001,8807,0.0096,9001,,,,,, -7473,"WISCRS Shawano County (ftUS)",9807,8801,44.021,9110,8802,-88.362,9110,8805,1.000032144,9201,8806,861000.001,9003,8807,0.031,9003,,,,,, -7474,"WISCRS St. Croix County (m)",9807,8801,44.021,9110,8802,-92.38,9110,8805,1.0000381803,9201,8806,165506.7302,9001,8807,0.0103,9001,,,,,, -7475,"WISCRS St. Croix County (ftUS)",9807,8801,44.021,9110,8802,-92.38,9110,8805,1.0000381803,9201,8806,542999.997,9003,8807,0.034,9003,,,,,, -7476,"WISCRS Taylor County (m)",9801,8801,45.1040159509,9110,8802,-90.29,9110,8805,1.0000597566,9201,8806,187147.5744,9001,8807,107746.7522,9001,,,,,, -7477,"WISCRS Taylor County (ftUS)",9801,8801,45.1040159509,9110,8802,-90.29,9110,8805,1.0000597566,9201,8806,614000,9003,8807,353499.136,9003,,,,,, -7478,"WISCRS Trempealeau County (m)",9807,8801,43.094,9110,8802,-91.22,9110,8805,1.0000361538,9201,8806,256946.9138,9001,8807,0.0041,9001,,,,,, -7479,"WISCRS Trempealeau County (ftUS)",9807,8801,43.094,9110,8802,-91.22,9110,8805,1.0000361538,9201,8806,843000,9003,8807,0.013,9003,,,,,, -7480,"WISCRS Waupaca County (m)",9807,8801,43.2513,9110,8802,-88.49,9110,8805,1.0000333645,9201,8806,185013.9709,9001,8807,0.007,9001,,,,,, -7481,"WISCRS Waupaca County (ftUS)",9807,8801,43.2513,9110,8802,-88.49,9110,8805,1.0000333645,9201,8806,607000.003,9003,8807,0.023,9003,,,,,, -7482,"WISCRS Wood County (m)",9801,8801,44.214534369,9110,8802,-90,9110,8805,1.0000421209,9201,8806,208483.6173,9001,8807,134589.754,9001,,,,,, -7483,"WISCRS Wood County (ftUS)",9801,8801,44.214534369,9110,8802,-90,9110,8805,1.0000421209,9201,8806,684000.001,9003,8807,441566.551,9003,,,,,, -7484,"WISCRS Adams and Juneau Counties (m)",9807,8801,43.22,9110,8802,-90,9110,8805,1.0000365285,9201,8806,147218.6942,9001,8807,0.0037,9001,,,,,, -7485,"WISCRS Adams and Juneau Counties (ftUS)",9807,8801,43.22,9110,8802,-90,9110,8805,1.0000365285,9201,8806,482999.999,9003,8807,0.012,9003,,,,,, -7486,"WISCRS Calumet, Fond du Lac, Outagamie and Winnebago Counties (m)",9807,8801,42.431,9110,8802,-88.3,9110,8805,1.0000286569,9201,8806,244754.8893,9001,8807,0.0049,9001,,,,,, -7487,"WISCRS Calumet, Fond du Lac, Outagamie and Winnebago Counties (ftUS)",9807,8801,42.431,9110,8802,-88.3,9110,8805,1.0000286569,9201,8806,802999.999,9003,8807,0.016,9003,,,,,, -7488,"WISCRS Columbia County (m)",9801,8801,43.2745167925,9110,8802,-89.234,9110,8805,1.00003498,9201,8806,169164.3381,9001,8807,111569.6134,9001,,,,,, -7489,"WISCRS Columbia County (ftUS)",9801,8801,43.2745167925,9110,8802,-89.234,9110,8805,1.00003498,9201,8806,554999.999,9003,8807,366041.307,9003,,,,,, -7490,"WISCRS Crawford County (m)",9801,8801,43.1200200178,9110,8802,-90.562,9110,8805,1.0000349151,9201,8806,113690.6274,9001,8807,53703.1201,9001,,,,,, -7491,"WISCRS Crawford County (ftUS)",9801,8801,43.1200200178,9110,8802,-90.562,9110,8805,1.0000349151,9201,8806,373000,9003,8807,176190.987,9003,,,,,, -7492,"WISCRS Dane County (m)",9801,8801,43.0410257735,9110,8802,-89.252,9110,8805,1.0000384786,9201,8806,247193.2944,9001,8807,146591.9896,9001,,,,,, -7493,"WISCRS Dane County (ftUS)",9801,8801,43.0410257735,9110,8802,-89.252,9110,8805,1.0000384786,9201,8806,811000,9003,8807,480943.886,9003,,,,,, -7494,"WISCRS Dodge and Jefferson Counties (m)",9807,8801,41.282,9110,8802,-88.463,9110,8805,1.0000346418,9201,8806,263347.7263,9001,8807,0.0076,9001,,,,,, -7495,"WISCRS Dodge and Jefferson Counties (ftUS)",9807,8801,41.282,9110,8802,-88.463,9110,8805,1.0000346418,9201,8806,863999.999,9003,8807,0.025,9003,,,,,, -7496,"WISCRS Grant County (m)",9807,8801,41.244,9110,8802,-90.48,9110,8805,1.0000349452,9201,8806,242316.4841,9001,8807,0.01,9001,,,,,, -7497,"WISCRS Grant County (ftUS)",9807,8801,41.244,9110,8802,-90.48,9110,8805,1.0000349452,9201,8806,794999.998,9003,8807,0.033,9003,,,,,, -7498,"WISCRS Green and Lafayette Counties (m)",9801,8801,42.3815224197,9110,8802,-89.502,9110,8805,1.0000390487,9201,8806,170078.7403,9001,8807,45830.2947,9001,,,,,, -7499,"WISCRS Green and Lafayette Counties (ftUS)",9801,8801,42.3815224197,9110,8802,-89.502,9110,8805,1.0000390487,9201,8806,558000,9003,8807,150361.559,9003,,,,,, -7500,"WISCRS Green Lake and Marquette Counties (m)",9801,8801,43.4825200424,9110,8802,-89.143,9110,8805,1.0000344057,9201,8806,150876.3018,9001,8807,79170.7795,9001,,,,,, -7501,"WISCRS Green Lake and Marquette Counties (ftUS)",9801,8801,43.4825200424,9110,8802,-89.143,9110,8805,1.0000344057,9201,8806,495000,9003,8807,259746.132,9003,,,,,, -7502,"WISCRS Iowa County (m)",9807,8801,42.322,9110,8802,-90.094,9110,8805,1.0000394961,9201,8806,113081.0261,9001,8807,0.0045,9001,,,,,, -7503,"WISCRS Iowa County (ftUS)",9807,8801,42.322,9110,8802,-90.094,9110,8805,1.0000394961,9201,8806,371000,9003,8807,0.015,9003,,,,,, -7504,"WISCRS Kenosha, Milwaukee, Ozaukee and Racine Counties (m)",9807,8801,42.13,9110,8802,-87.534,9110,8805,1.0000260649,9201,8806,185928.3728,9001,8807,0.0009,9001,,,,,, -7505,"WISCRS Kenosha, Milwaukee, Ozaukee and Racine Counties (ftUS)",9807,8801,42.13,9110,8802,-87.534,9110,8805,1.0000260649,9201,8806,610000.003,9003,8807,0.003,9003,,,,,, -7506,"WISCRS Kewaunee, Manitowoc and Sheboygan Counties (m)",9807,8801,43.16,9110,8802,-87.33,9110,8805,1.0000233704,9201,8806,79857.7614,9001,8807,0.0012,9001,,,,,, -7507,"WISCRS Kewaunee, Manitowoc and Sheboygan Counties (ftUS)",9807,8801,43.16,9110,8802,-87.33,9110,8805,1.0000233704,9201,8806,262000.006,9003,8807,0.004,9003,,,,,, -7508,"WISCRS La Crosse County (m)",9807,8801,43.2704,9110,8802,-91.19,9110,8805,1.0000319985,9201,8806,130454.6598,9001,8807,0.0033,9001,,,,,, -7509,"WISCRS La Crosse County (ftUS)",9807,8801,43.2704,9110,8802,-91.19,9110,8805,1.0000319985,9201,8806,427999.996,9003,8807,0.011,9003,,,,,, -7510,"WISCRS Monroe County (m)",9801,8801,44.0000266143,9110,8802,-90.383,9110,8805,1.0000434122,9201,8806,204521.209,9001,8807,121923.9861,9001,,,,,, -7511,"WISCRS Monroe County (ftUS)",9801,8801,44.0000266143,9110,8802,-90.383,9110,8805,1.0000434122,9201,8806,671000,9003,8807,400012.278,9003,,,,,, -7512,"WISCRS Richland County (m)",9801,8801,43.1920326539,9110,8802,-90.255,9110,8805,1.0000375653,9201,8806,202387.6048,9001,8807,134255.4253,9001,,,,,, -7513,"WISCRS Richland County (ftUS)",9801,8801,43.1920326539,9110,8802,-90.255,9110,8805,1.0000375653,9201,8806,664000,9003,8807,440469.675,9003,,,,,, -7514,"WISCRS Rock County (m)",9807,8801,41.564,9110,8802,-89.042,9110,8805,1.0000337311,9201,8806,146304.2926,9001,8807,0.0068,9001,,,,,, -7515,"WISCRS Rock County (ftUS)",9807,8801,41.564,9110,8802,-89.042,9110,8805,1.0000337311,9201,8806,480000,9003,8807,0.022,9003,,,,,, -7516,"WISCRS Sauk County (m)",9807,8801,42.491,9110,8802,-89.54,9110,8805,1.0000373868,9201,8806,185623.5716,9001,8807,0.0051,9001,,,,,, -7517,"WISCRS Sauk County (ftUS)",9807,8801,42.491,9110,8802,-89.54,9110,8805,1.0000373868,9201,8806,609000.001,9003,8807,0.017,9003,,,,,, -7518,"WISCRS Vernon County (m)",9801,8801,43.3430118583,9110,8802,-90.47,9110,8805,1.0000408158,9201,8806,222504.4451,9001,8807,47532.0602,9001,,,,,, -7519,"WISCRS Vernon County (ftUS)",9801,8801,43.3430118583,9110,8802,-90.47,9110,8805,1.0000408158,9201,8806,730000,9003,8807,155944.768,9003,,,,,, -7520,"WISCRS Walworth County (m)",9801,8801,42.4010063549,9110,8802,-88.323,9110,8805,1.0000367192,9201,8806,232562.8651,9001,8807,111088.2224,9001,,,,,, -7521,"WISCRS Walworth County (ftUS)",9801,8801,42.4010063549,9110,8802,-88.323,9110,8805,1.0000367192,9201,8806,763000,9003,8807,364461.943,9003,,,,,, -7522,"WISCRS Washington County (m)",9807,8801,42.5505,9110,8802,-88.035,9110,8805,1.00003738,9201,8806,120091.4415,9001,8807,0.003,9001,,,,,, -7523,"WISCRS Washington County (ftUS)",9807,8801,42.5505,9110,8802,-88.035,9110,8805,1.00003738,9201,8806,394000.004,9003,8807,0.01,9003,,,,,, -7524,"WISCRS Waukesha County (m)",9807,8801,42.341,9110,8802,-88.133,9110,8805,1.0000346179,9201,8806,208788.418,9001,8807,0.0034,9001,,,,,, -7525,"WISCRS Waukesha County (ftUS)",9807,8801,42.341,9110,8802,-88.133,9110,8805,1.0000346179,9201,8806,685000.001,9003,8807,0.011,9003,,,,,, -7526,"WISCRS Waushara County (m)",9801,8801,44.0650198565,9110,8802,-89.143,9110,8805,1.0000392096,9201,8806,120091.4402,9001,8807,45069.7587,9001,,,,,, -7527,"WISCRS Waushara County (ftUS)",9801,8801,44.0650198565,9110,8802,-89.143,9110,8805,1.0000392096,9201,8806,394000,9003,8807,147866.367,9003,,,,,, -7687,Kyrgyzstan zone 1,9807,8801,0,9110,8802,68.31,9110,8805,1,9201,8806,1300000,9001,8807,14743.5,9001,,,,,, -7688,Kyrgyzstan zone 2,9807,8801,0,9110,8802,71.31,9110,8805,1,9201,8806,2300000,9001,8807,14743.5,9001,,,,,, -7689,Kyrgyzstan zone 3,9807,8801,0,9110,8802,74.31,9110,8805,1,9201,8806,3300000,9001,8807,14743.5,9001,,,,,, -7690,Kyrgyzstan zone 4,9807,8801,0,9110,8802,77.31,9110,8805,1,9201,8806,4300000,9001,8807,14743.5,9001,,,,,, -7691,Kyrgyzstan zone 5,9807,8801,0,9110,8802,80.31,9110,8805,1,9201,8806,5300000,9001,8807,14743.5,9001,,,,,, -7722,Survey of India Lambert,9802,8821,24,9102,8822,80,9102,8823,12.2822638,9110,8824,35.1022096,9110,8826,4000000,9001,8827,4000000,9001,,, -7723,Andhra Pradesh NSF LCC,9802,8821,16.25543298,9102,8822,80.875,9102,8823,13.75,9102,8824,18.75,9102,8826,1000000,9001,8827,1000000,9001,,, -7724,Arunachal Pradesh NSF LCC,9802,8821,28.00157897,9102,8822,94.5,9102,8823,27,9102,8824,29,9102,8826,1000000,9001,8827,1000000,9001,,, -7725,Assam NSF LCC,9802,8821,26.00257703,9102,8822,92.75,9102,8823,24.4,9110,8824,27.2,9110,8826,1000000,9001,8827,1000000,9001,,, -7726,Bihar NSF LCC,9802,8821,25.87725247,9102,8822,85.875,9102,8823,24.625,9102,8824,27.125,9102,8826,1000000,9001,8827,1000000,9001,,, -7727,Delhi NSF LCC,9802,8821,28.62510126,9102,8822,77,9102,8823,28.223,9110,8824,28.523,9110,8826,1000000,9001,8827,1000000,9001,,, -7728,Gujarat NSF LCC,9802,8821,22.37807121,9102,8822,71.375,9102,8823,20.473,9110,8824,23.573,9110,8826,1000000,9001,8827,1000000,9001,,, -7729,Haryana NSF LCC,9802,8821,29.25226266,9102,8822,76,9102,8823,28.05,9110,8824,30.25,9110,8826,1000000,9001,8827,1000000,9001,,, -7730,Himachal Pradesh NSF LCC,9802,8821,31.75183497,9102,8822,77.375,9102,8823,30.75,9102,8824,32.75,9102,8826,1000000,9001,8827,1000000,9001,,, -7731,Jammu and Kashmir NSF LCC,9802,8821,34.75570874,9102,8822,76.5,9102,8823,33.05,9110,8824,36.25,9110,8826,1000000,9001,8827,1000000,9001,,, -7732,Jharkhand NSF LCC,9802,8821,23.62652682,9102,8822,85.625,9102,8823,22.323,9110,8824,24.423,9110,8826,1000000,9001,8827,1000000,9001,,, -7733,Madhya Pradesh NSF LCC,9802,8821,24.00529821,9102,8822,78.375,9102,8823,22,9102,8824,26,9102,8826,1000000,9001,8827,1000000,9001,,, -7734,Maharashtra NSF LCC,9802,8821,18.88015774,9102,8822,76.75,9102,8823,16.373,9110,8824,21.073,9110,8826,1000000,9001,8827,1000000,9001,,, -7735,Manipur NSF LCC,9802,8821,24.75060911,9102,8822,94,9102,8823,24.05,9110,8824,25.25,9110,8826,1000000,9001,8827,1000000,9001,,, -7736,Meghalaya NSF LCC,9802,8821,25.62524747,9102,8822,91.375,9102,8823,25.123,9110,8824,26.023,9110,8826,1000000,9001,8827,1000000,9001,,, -7737,Nagaland NSF LCC,9802,8821,26.12581974,9102,8822,94.375,9102,8823,25.223,9110,8824,26.523,9110,8826,1000000,9001,8827,1000000,9001,,, -7738,Northeast India NSF LCC,9802,8821,25.63452135,9102,8822,93.5,9102,8823,23.023,9110,8824,28.123,9110,8826,1000000,9001,8827,1000000,9001,,, -7739,Orissa NSF LCC,9802,8821,20.25305174,9102,8822,84.375,9102,8823,18.35,9110,8824,21.55,9110,8826,1000000,9001,8827,1000000,9001,,, -7740,Punjab NSF LCC,9802,8821,31.00178226,9102,8822,75.375,9102,8823,30,9102,8824,32,9102,8826,1000000,9001,8827,1000000,9001,,, -7741,Rajasthan NSF LCC,9802,8821,26.88505546,9102,8822,73.875,9102,8823,24.173,9110,8824,29.273,9110,8826,1000000,9001,8827,1000000,9001,,, -7742,Uttar Pradesh NSF LCC,9802,8821,27.13270823,9102,8822,80.875,9102,8823,24.523,9110,8824,29.223,9110,8826,1000000,9001,8827,1000000,9001,,, -7743,Uttaranchal NSF LCC,9802,8821,30.0017132,9102,8822,79.375,9102,8823,29,9102,8824,31,9102,8826,1000000,9001,8827,1000000,9001,,, -7744,Andaman and Nicobar NSF TM,9807,8801,10.25,9102,8802,93.25,9102,8805,0.9999428,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -7745,Chhattisgarh NSF TM,9807,8801,21,9102,8802,82.25,9102,8805,0.9998332,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -7746,Goa NSF TM,9807,8801,15.375,9102,8802,74,9102,8805,0.9999913,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -7747,Karnataka NSF TM,9807,8801,15.125,9102,8802,76.375,9102,8805,0.9998012,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -7748,Kerala NSF TM,9807,8801,10.5,9102,8802,76,9102,8805,0.9999177,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -7749,Lakshadweep NSF TM,9807,8801,10,9102,8802,73.125,9102,8805,0.9999536,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -7750,Mizoram NSF TM,9807,8801,23.125,9102,8802,92.75,9102,8805,0.9999821,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -7751,Sikkim NSF TM,9807,8801,27.625,9102,8802,88.5,9102,8805,0.9999926,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -7752,Tamil Nadu NSF TM,9807,8801,10.875,9102,8802,78.375,9102,8805,0.9997942,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -7753,Tripura NSF TM,9807,8801,23.75,9102,8802,91.75,9102,8805,0.9999822,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -7754,West Bengal NSF TM,9807,8801,24.375,9102,8802,87.875,9102,8805,0.9998584,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -7802,Cadastral Coordinate System 2005,9802,8821,42.400435246,9110,8822,25.3,9110,8823,42,9110,8824,43.2,9110,8826,500000,9001,8827,4725824.3591,9001,,, -7818,CS63 zone X1,9807,8801,0.05,9110,8802,23.3,9110,8805,1,9201,8806,1300000,9001,8807,0,9001,,,,,, -7819,CS63 zone X2,9807,8801,0.05,9110,8802,26.3,9110,8805,1,9201,8806,2300000,9001,8807,0,9001,,,,,, -7820,CS63 zone X3,9807,8801,0.05,9110,8802,29.3,9110,8805,1,9201,8806,3300000,9001,8807,0,9001,,,,,, -7821,CS63 zone X4,9807,8801,0.05,9110,8802,32.3,9110,8805,1,9201,8806,4300000,9001,8807,0,9001,,,,,, -7822,CS63 zone X5,9807,8801,0.05,9110,8802,35.3,9110,8805,1,9201,8806,5300000,9001,8807,0,9001,,,,,, -7823,CS63 zone X6,9807,8801,0.05,9110,8802,38.3,9110,8805,1,9201,8806,6300000,9001,8807,0,9001,,,,,, -7824,CS63 zone X7,9807,8801,0.05,9110,8802,41.3,9110,8805,1,9201,8806,7300000,9001,8807,0,9001,,,,,, -7875,St. Helena Local Grid 1971,9807,8801,-15.58,9110,8802,-5.43,9110,8805,1,9201,8806,300000,9001,8807,2000000,9001,,,,,, -7876,"St. Helena Local Grid (Tritan)",9807,8801,-15.58,9110,8802,-5.43,9110,8805,1,9201,8806,299483.737,9001,8807,2000527.879,9001,,,,,, -10101,Alabama CS27 East zone,9807,8801,30.3,9110,8802,-85.5,9110,8805,0.99996,9201,8806,500000,9003,8807,0,9003,,,,,, -10102,Alabama CS27 West zone,9807,8801,30,9110,8802,-87.3,9110,8805,0.999933333,9201,8806,500000,9003,8807,0,9003,,,,,, -10131,"SPCS83 Alabama East zone (meters)",9807,8801,30.3,9110,8802,-85.5,9110,8805,0.99996,9201,8806,200000,9001,8807,0,9001,,,,,, -10132,"SPCS83 Alabama West zone (meters)",9807,8801,30,9110,8802,-87.3,9110,8805,0.999933333,9201,8806,600000,9001,8807,0,9001,,,,,, -10201,Arizona Coordinate System East zone,9807,8801,31,9110,8802,-110.1,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,, -10202,Arizona Coordinate System Central zone,9807,8801,31,9110,8802,-111.55,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,, -10203,Arizona Coordinate System West zone,9807,8801,31,9110,8802,-113.45,9110,8805,0.999933333,9201,8806,500000,9003,8807,0,9003,,,,,, -10231,"SPCS83 Arizona East zone (meters)",9807,8801,31,9110,8802,-110.1,9110,8805,0.9999,9201,8806,213360,9001,8807,0,9001,,,,,, -10232,"SPCS83 Arizona Central zone (meters)",9807,8801,31,9110,8802,-111.55,9110,8805,0.9999,9201,8806,213360,9001,8807,0,9001,,,,,, -10233,"SPCS83 Arizona West zone (meters)",9807,8801,31,9110,8802,-113.45,9110,8805,0.999933333,9201,8806,213360,9001,8807,0,9001,,,,,, -10301,Arkansas CS27 North,9802,8821,34.2,9110,8822,-92,9110,8823,36.14,9110,8824,34.56,9110,8826,2000000,9003,8827,0,9003,,, -10302,Arkansas CS27 South,9802,8821,32.4,9110,8822,-92,9110,8823,34.46,9110,8824,33.18,9110,8826,2000000,9003,8827,0,9003,,, -10331,"SPCS83 Arkansas North zone (meters)",9802,8821,34.2,9110,8822,-92,9110,8823,36.14,9110,8824,34.56,9110,8826,400000,9001,8827,0,9001,,, -10332,"SPCS83 Arkansas South zone (meters)",9802,8821,32.4,9110,8822,-92,9110,8823,34.46,9110,8824,33.18,9110,8826,400000,9001,8827,400000,9001,,, -10401,California CS27 zone I,9802,8821,39.2,9110,8822,-122,9110,8823,41.4,9110,8824,40,9110,8826,2000000,9003,8827,0,9003,,, -10402,California CS27 zone II,9802,8821,37.4,9110,8822,-122,9110,8823,39.5,9110,8824,38.2,9110,8826,2000000,9003,8827,0,9003,,, -10403,California CS27 zone III,9802,8821,36.3,9110,8822,-120.3,9110,8823,38.26,9110,8824,37.04,9110,8826,2000000,9003,8827,0,9003,,, -10404,California CS27 zone IV,9802,8821,35.2,9110,8822,-119,9110,8823,37.15,9110,8824,36,9110,8826,2000000,9003,8827,0,9003,,, -10405,California CS27 zone V,9802,8821,33.3,9110,8822,-118,9110,8823,35.28,9110,8824,34.02,9110,8826,2000000,9003,8827,0,9003,,, -10406,California CS27 zone VI,9802,8821,32.1,9110,8822,-116.15,9110,8823,33.53,9110,8824,32.47,9110,8826,2000000,9003,8827,0,9003,,, -10407,California CS27 zone VII,9802,8821,34.08,9110,8822,-118.2,9110,8823,34.25,9110,8824,33.52,9110,8826,4186692.58,9003,8827,416926.74,9003,,, -10408,California CS27 zone VII,9802,8821,34.08,9110,8822,-118.2,9110,8823,34.25,9110,8824,33.52,9110,8826,4186692.58,9003,8827,4160926.74,9003,,, -10420,California Albers,9822,8821,0,9102,8822,-120,9102,8823,34,9102,8824,40.5,9102,8826,0,9001,8827,-4000000,9001,,, -10431,"SPCS83 California zone 1 (meters)",9802,8821,39.2,9110,8822,-122,9110,8823,41.4,9110,8824,40,9110,8826,2000000,9001,8827,500000,9001,,, -10432,"SPCS83 California zone 2 (meters)",9802,8821,37.4,9110,8822,-122,9110,8823,39.5,9110,8824,38.2,9110,8826,2000000,9001,8827,500000,9001,,, -10433,"SPCS83 California zone 3 (meters)",9802,8821,36.3,9110,8822,-120.3,9110,8823,38.26,9110,8824,37.04,9110,8826,2000000,9001,8827,500000,9001,,, -10434,"SPCS83 California zone 4 (meters)",9802,8821,35.2,9110,8822,-119,9110,8823,37.15,9110,8824,36,9110,8826,2000000,9001,8827,500000,9001,,, -10435,"SPCS83 California zone 5 (meters)",9802,8821,33.3,9110,8822,-118,9110,8823,35.28,9110,8824,34.02,9110,8826,2000000,9001,8827,500000,9001,,, -10436,"SPCS83 California zone 6 (meters)",9802,8821,32.1,9110,8822,-116.15,9110,8823,33.53,9110,8824,32.47,9110,8826,2000000,9001,8827,500000,9001,,, -10501,Colorado CS27 North zone,9802,8821,39.2,9110,8822,-105.3,9110,8823,39.43,9110,8824,40.47,9110,8826,2000000,9003,8827,0,9003,,, -10502,Colorado CS27 Central zone,9802,8821,37.5,9110,8822,-105.3,9110,8823,39.45,9110,8824,38.27,9110,8826,2000000,9003,8827,0,9003,,, -10503,Colorado CS27 South zone,9802,8821,36.4,9110,8822,-105.3,9110,8823,38.26,9110,8824,37.14,9110,8826,2000000,9003,8827,0,9003,,, -10531,"SPCS83 Colorado North zone (meters)",9802,8821,39.2,9110,8822,-105.3,9110,8823,40.47,9110,8824,39.43,9110,8826,914401.8289,9001,8827,304800.6096,9001,,, -10532,"SPCS83 Colorado Central zone (meters)",9802,8821,37.5,9110,8822,-105.3,9110,8823,39.45,9110,8824,38.27,9110,8826,914401.8289,9001,8827,304800.6096,9001,,, -10533,"SPCS83 Colorado South zone (meters)",9802,8821,36.4,9110,8822,-105.3,9110,8823,38.26,9110,8824,37.14,9110,8826,914401.8289,9001,8827,304800.6096,9001,,, -10600,Connecticut CS27,9802,8821,40.5,9110,8822,-72.45,9110,8823,41.52,9110,8824,41.12,9110,8826,600000,9003,8827,0,9003,,, -10630,"SPCS83 Connecticut zone (meters)",9802,8821,40.5,9110,8822,-72.45,9110,8823,41.52,9110,8824,41.12,9110,8826,304800.6096,9001,8827,152400.3048,9001,,, -10700,Delaware CS27,9807,8801,38,9110,8802,-75.25,9110,8805,0.999995,9201,8806,500000,9003,8807,0,9003,,,,,, -10730,"SPCS83 Delaware zone (meters)",9807,8801,38,9110,8802,-75.25,9110,8805,0.999995,9201,8806,200000,9001,8807,0,9001,,,,,, -10901,Florida CS27 East zone,9807,8801,24.2,9110,8802,-81,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,, -10902,Florida CS27 West zone,9807,8801,24.2,9110,8802,-82,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,, -10903,Florida CS27 North zone,9802,8821,29,9110,8822,-84.3,9110,8823,30.45,9110,8824,29.35,9110,8826,2000000,9003,8827,0,9003,,, -10931,"SPCS83 Florida East zone (meters)",9807,8801,24.2,9110,8802,-81,9110,8805,0.999941177,9201,8806,200000,9001,8807,0,9001,,,,,, -10932,"SPCS83 Florida West zone (meters)",9807,8801,24.2,9110,8802,-82,9110,8805,0.999941177,9201,8806,200000,9001,8807,0,9001,,,,,, -10933,"SPCS83 Florida North zone (meters)",9802,8821,29,9110,8822,-84.3,9110,8823,30.45,9110,8824,29.35,9110,8826,600000,9001,8827,0,9001,,, -10934,"Florida GDL Albers (meters)",9822,8821,24,9110,8822,-84,9110,8823,24,9110,8824,31.3,9110,8826,400000,9001,8827,0,9001,,, -11001,Georgia CS27 East zone,9807,8801,30,9110,8802,-82.1,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,, -11002,Georgia CS27 West zone,9807,8801,30,9110,8802,-84.1,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,, -11031,"SPCS83 Georgia East zone (meters)",9807,8801,30,9110,8802,-82.1,9110,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,, -11032,"SPCS83 Georgia West zone (meters)",9807,8801,30,9110,8802,-84.1,9110,8805,0.9999,9201,8806,700000,9001,8807,0,9001,,,,,, -11101,Idaho CS27 East zone,9807,8801,41.4,9110,8802,-112.1,9110,8805,0.999947368,9201,8806,500000,9003,8807,0,9003,,,,,, -11102,Idaho CS27 Central zone,9807,8801,41.4,9110,8802,-114,9110,8805,0.999947368,9201,8806,500000,9003,8807,0,9003,,,,,, -11103,Idaho CS27 West zone,9807,8801,41.4,9110,8802,-115.45,9110,8805,0.999933333,9201,8806,500000,9003,8807,0,9003,,,,,, -11131,"SPCS83 Idaho East zone (meters)",9807,8801,41.4,9110,8802,-112.1,9110,8805,0.999947368,9201,8806,200000,9001,8807,0,9001,,,,,, -11132,"SPCS83 Idaho Central zone (meters)",9807,8801,41.4,9110,8802,-114,9110,8805,0.999947368,9201,8806,500000,9001,8807,0,9001,,,,,, -11133,"SPCS83 Idaho West zone (meters)",9807,8801,41.4,9110,8802,-115.45,9110,8805,0.999933333,9201,8806,800000,9001,8807,0,9001,,,,,, -11201,Illinois CS27 East zone,9807,8801,36.4,9110,8802,-88.2,9110,8805,0.999975,9201,8806,500000,9003,8807,0,9003,,,,,, -11202,Illinois CS27 West zone,9807,8801,36.4,9110,8802,-90.1,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,, -11231,"SPCS83 Illinois East zone (meters)",9807,8801,36.4,9110,8802,-88.2,9110,8805,0.999975,9201,8806,300000,9001,8807,0,9001,,,,,, -11232,"SPCS83 Illinois West zone (meters)",9807,8801,36.4,9110,8802,-90.1,9110,8805,0.999941177,9201,8806,700000,9001,8807,0,9001,,,,,, -11301,Indiana CS27 East zone,9807,8801,37.3,9110,8802,-85.4,9110,8805,0.999966667,9201,8806,500000,9003,8807,0,9003,,,,,, -11302,Indiana CS27 West zone,9807,8801,37.3,9110,8802,-87.05,9110,8805,0.999966667,9201,8806,500000,9003,8807,0,9003,,,,,, -11331,"SPCS83 Indiana East zone (meters)",9807,8801,37.3,9110,8802,-85.4,9110,8805,0.999966667,9201,8806,100000,9001,8807,250000,9001,,,,,, -11332,"SPCS83 Indiana West zone (meters)",9807,8801,37.3,9110,8802,-87.05,9110,8805,0.999966667,9201,8806,900000,9001,8807,250000,9001,,,,,, -11401,Iowa CS27 North zone,9802,8821,41.3,9110,8822,-93.3,9110,8823,43.16,9110,8824,42.04,9110,8826,2000000,9003,8827,0,9003,,, -11402,Iowa CS27 South zone,9802,8821,40,9110,8822,-93.3,9110,8823,41.47,9110,8824,40.37,9110,8826,2000000,9003,8827,0,9003,,, -11431,"SPCS83 Iowa North zone (meters)",9802,8821,41.3,9110,8822,-93.3,9110,8823,43.16,9110,8824,42.04,9110,8826,1500000,9001,8827,1000000,9001,,, -11432,"SPCS83 Iowa South zone (meters)",9802,8821,40,9110,8822,-93.3,9110,8823,41.47,9110,8824,40.37,9110,8826,500000,9001,8827,0,9001,,, -11501,Kansas CS27 North zone,9802,8821,38.2,9110,8822,-98,9110,8823,39.47,9110,8824,38.43,9110,8826,2000000,9003,8827,0,9003,,, -11502,Kansas CS27 South zone,9802,8821,36.4,9110,8822,-98.3,9110,8823,38.34,9110,8824,37.16,9110,8826,2000000,9003,8827,0,9003,,, -11531,"SPCS83 Kansas North zone (meters)",9802,8821,38.2,9110,8822,-98,9110,8823,39.47,9110,8824,38.43,9110,8826,400000,9001,8827,0,9001,,, -11532,"SPCS83 Kansas South zone (meters)",9802,8821,36.4,9110,8822,-98.3,9110,8823,38.34,9110,8824,37.16,9110,8826,400000,9001,8827,400000,9001,,, -11601,Kentucky CS27 North zone,9802,8821,37.3,9110,8822,-84.15,9110,8823,37.58,9110,8824,38.58,9110,8826,2000000,9003,8827,0,9003,,, -11602,Kentucky CS27 South zone,9802,8821,36.2,9110,8822,-85.45,9110,8823,36.44,9110,8824,37.56,9110,8826,2000000,9003,8827,0,9003,,, -11630,"SPCS83 Kentucky Single Zone (meters)",9802,8821,36.2,9110,8822,-85.45,9110,8823,37.05,9110,8824,38.4,9110,8826,1500000,9001,8827,1000000,9001,,, -11631,Kentucky CS83 North zone,9802,8821,37.3,9110,8822,-84.15,9110,8823,37.58,9110,8824,37.58,9110,8826,500000,9001,8827,0,9001,,, -11632,"SPCS83 Kentucky South zone (meters)",9802,8821,36.2,9110,8822,-85.45,9110,8823,37.56,9110,8824,36.44,9110,8826,500000,9001,8827,500000,9001,,, -11701,Louisiana CS27 North zone,9802,8821,30.4,9110,8822,-92.3,9110,8823,31.1,9110,8824,32.4,9110,8826,2000000,9003,8827,0,9003,,, -11702,Louisiana CS27 South zone,9802,8821,28.4,9110,8822,-91.2,9110,8823,29.18,9110,8824,30.42,9110,8826,2000000,9003,8827,0,9003,,, -11703,Louisiana CS27 Offshore zone,9802,8821,25.4,9110,8822,-91.2,9110,8823,27.5,9110,8824,26.1,9110,8826,2000000,9003,8827,0,9003,,, -11731,"SPCS83 Louisiana North zone (meters)",9802,8821,30.3,9110,8822,-92.3,9110,8823,32.4,9110,8824,31.1,9110,8826,1000000,9001,8827,0,9001,,, -11732,"SPCS83 Louisiana South zone (meters)",9802,8821,28.3,9110,8822,-91.2,9110,8823,30.42,9110,8824,29.18,9110,8826,1000000,9001,8827,0,9001,,, -11733,"SPCS83 Louisiana Offshore zone (meters)",9802,8821,25.3,9110,8822,-91.2,9110,8823,27.5,9110,8824,26.1,9110,8826,1000000,9001,8827,0,9001,,, -11801,Maine CS27 East zone,9807,8801,43.5,9110,8802,-68.3,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,, -11802,Maine CS27 West zone,9807,8801,42.5,9110,8802,-70.1,9110,8805,0.999966667,9201,8806,500000,9003,8807,0,9003,,,,,, -11831,"SPCS83 Maine East zone (meters)",9807,8801,43.4,9110,8802,-68.3,9110,8805,0.9999,9201,8806,300000,9001,8807,0,9001,,,,,, -11832,"SPCS83 Maine West zone (meters)",9807,8801,42.5,9110,8802,-70.1,9110,8805,0.999966667,9201,8806,900000,9001,8807,0,9001,,,,,, -11833,"SPCS83 Maine East zone (US Survey feet)",9807,8801,43.4,9110,8802,-68.3,9110,8805,0.9999,9201,8806,984250,9003,8807,0,9003,,,,,, -11834,"SPCS83 Maine West zone (US Survey feet)",9807,8801,42.5,9110,8802,-70.1,9110,8805,0.999966667,9201,8806,2952750,9003,8807,0,9003,,,,,, -11851,"Maine CS2000 East zone (meters)",9807,8801,43.5,9110,8802,-67.523,9110,8805,0.99998,9201,8806,700000,9001,8807,0,9001,,,,,, -11852,Maine CS2000 Central zone,9807,8801,43,9110,8802,-69.073,9110,8805,0.99998,9201,8806,500000,9001,8807,0,9001,,,,,, -11853,"Maine CS2000 West zone (meters)",9807,8801,42.5,9110,8802,-70.223,9110,8805,0.99998,9201,8806,300000,9001,8807,0,9001,,,,,, -11854,"Maine CS2000 Central zone (meters)",9807,8801,43.3,9110,8802,-69.073,9110,8805,0.99998,9201,8806,500000,9001,8807,0,9001,,,,,, -11900,Maryland CS27,9802,8821,37.5,9110,8822,-77,9110,8823,38.18,9110,8824,39.27,9110,8826,800000,9003,8827,0,9003,,, -11930,"SPCS83 Maryland zone (meters)",9802,8821,37.4,9110,8822,-77,9110,8823,39.27,9110,8824,38.18,9110,8826,400000,9001,8827,0,9001,,, -12001,Massachusetts CS27 Mainland zone,9802,8821,41,9110,8822,-71.3,9110,8823,41.43,9110,8824,42.41,9110,8826,600000,9003,8827,0,9003,,, -12002,Massachusetts CS27 Island zone,9802,8821,41,9110,8822,-70.3,9110,8823,41.17,9110,8824,41.29,9110,8826,200000,9003,8827,0,9003,,, -12031,"SPCS83 Massachusetts Mainland zone (meters)",9802,8821,41,9110,8822,-71.3,9110,8823,42.41,9110,8824,41.43,9110,8826,200000,9001,8827,750000,9001,,, -12032,"SPCS83 Massachusetts Island zone (meters)",9802,8821,41,9110,8822,-70.3,9110,8823,41.29,9110,8824,41.17,9110,8826,500000,9001,8827,0,9001,,, -12101,Michigan State Plane East zone,9807,8801,41.3,9110,8802,-83.4,9110,8805,0.999942857,9201,8806,500000,9003,8807,0,9003,,,,,, -12102,Michigan State Plane Old Central zone,9807,8801,41.3,9110,8802,-85.45,9110,8805,0.999909091,9201,8806,500000,9003,8807,0,9003,,,,,, -12103,Michigan State Plane West zone,9807,8801,41.3,9110,8802,-88.45,9110,8805,0.999909091,9201,8806,500000,9003,8807,0,9003,,,,,, -12111,Michigan CS27 North zone,9802,8821,44.47,9110,8822,-87,9110,8823,45.29,9110,8824,47.05,9110,8826,2000000,9003,8827,0,9003,,, -12112,Michigan CS27 Central zone,9802,8821,43.19,9110,8822,-84.2,9110,8823,44.11,9110,8824,45.42,9110,8826,2000000,9003,8827,0,9003,,, -12113,Michigan CS27 South zone,9802,8821,41.3,9110,8822,-84.2,9110,8823,42.06,9110,8824,43.4,9110,8826,2000000,9003,8827,0,9003,,, -12141,"SPCS83 Michigan North zone (meters)",9802,8821,44.47,9110,8822,-87,9110,8823,47.05,9110,8824,45.29,9110,8826,8000000,9001,8827,0,9001,,, -12142,"SPCS83 Michigan Central zone (meters)",9802,8821,43.19,9110,8822,-84.22,9110,8823,45.42,9110,8824,44.11,9110,8826,6000000,9001,8827,0,9001,,, -12143,"SPCS83 Michigan South zone (meters)",9802,8821,41.3,9110,8822,-84.22,9110,8823,43.4,9110,8824,42.06,9110,8826,4000000,9001,8827,0,9001,,, -12150,"Michigan Oblique Mercator (meters)",9812,8806,2546731.496,9001,8807,-4354009.816,9001,8811,45.1833,9110,8812,-86,9110,8813,337.25556,9102,8814,337.25556,9102,8815,0.9996,9201 -12201,Minnesota CS27 North zone,9802,8821,46.3,9110,8822,-93.06,9110,8823,47.02,9110,8824,48.38,9110,8826,2000000,9003,8827,0,9003,,, -12202,Minnesota CS27 Central zone,9802,8821,45,9110,8822,-94.15,9110,8823,45.37,9110,8824,47.03,9110,8826,2000000,9003,8827,0,9003,,, -12203,Minnesota CS27 South zone,9802,8821,43,9110,8822,-94,9110,8823,43.47,9110,8824,45.13,9110,8826,2000000,9003,8827,0,9003,,, -12231,"SPCS83 Minnesota North zone (meters)",9802,8821,46.3,9110,8822,-93.06,9110,8823,48.38,9110,8824,47.02,9110,8826,800000,9001,8827,100000,9001,,, -12232,"SPCS83 Minnesota Central zone (meters)",9802,8821,45,9110,8822,-94.15,9110,8823,47.03,9110,8824,45.37,9110,8826,800000,9001,8827,100000,9001,,, -12233,"SPCS83 Minnesota South zone (meters)",9802,8821,43,9110,8822,-94,9110,8823,45.13,9110,8824,43.47,9110,8826,800000,9001,8827,100000,9001,,, -12234,"SPCS83 Minnesota North zone (US Survey feet)",9802,8821,46.3,9110,8822,-93.06,9110,8823,48.38,9110,8824,47.02,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,, -12235,"SPCS83 Minnesota Central zone (US Survey feet)",9802,8821,45,9110,8822,-94.15,9110,8823,47.03,9110,8824,45.37,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,, -12236,"SPCS83 Minnesota South zone (US Survey feet)",9802,8821,43,9110,8822,-94,9110,8823,45.13,9110,8824,43.47,9110,8826,2624666.6667,9003,8827,328083.3333,9003,,, -12301,Mississippi CS27 East zone,9807,8801,29.4,9110,8802,-88.5,9110,8805,0.99996,9201,8806,500000,9003,8807,0,9003,,,,,, -12302,Mississippi CS27 West zone,9807,8801,30.3,9110,8802,-90.2,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,, -12331,"SPCS83 Mississippi East zone (meters)",9807,8801,29.3,9110,8802,-88.5,9110,8805,0.99995,9201,8806,300000,9001,8807,0,9001,,,,,, -12332,"SPCS83 Mississippi West zone (meters)",9807,8801,29.3,9110,8802,-90.2,9110,8805,0.99995,9201,8806,700000,9001,8807,0,9001,,,,,, -12401,Missouri CS27 East zone,9807,8801,35.5,9110,8802,-90.3,9110,8805,0.999933333,9201,8806,500000,9003,8807,0,9003,,,,,, -12402,Missouri CS27 Central zone,9807,8801,35.5,9110,8802,-92.3,9110,8805,0.999933333,9201,8806,500000,9003,8807,0,9003,,,,,, -12403,Missouri CS27 West zone,9807,8801,36.1,9110,8802,-94.3,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,, -12431,"SPCS83 Missouri East zone (meters)",9807,8801,35.5,9110,8802,-90.3,9110,8805,0.999933333,9201,8806,250000,9001,8807,0,9001,,,,,, -12432,"SPCS83 Missouri Central zone (meters)",9807,8801,35.5,9110,8802,-92.3,9110,8805,0.999933333,9201,8806,500000,9001,8807,0,9001,,,,,, -12433,"SPCS83 Missouri West zone (meters)",9807,8801,36.1,9110,8802,-94.3,9110,8805,0.999941177,9201,8806,850000,9001,8807,0,9001,,,,,, -12501,Montana CS27 North zone,9802,8821,47,9110,8822,-109.3,9110,8823,48.43,9110,8824,47.51,9110,8826,2000000,9003,8827,0,9003,,, -12502,Montana CS27 Central zone,9802,8821,45.5,9110,8822,-109.3,9110,8823,47.53,9110,8824,46.27,9110,8826,2000000,9003,8827,0,9003,,, -12503,Montana CS27 South zone,9802,8821,44,9110,8822,-109.3,9110,8823,46.24,9110,8824,44.52,9110,8826,2000000,9003,8827,0,9003,,, -12530,"SPCS83 Montana zone (meters)",9802,8821,44.15,9110,8822,-109.3,9110,8823,49,9110,8824,45,9110,8826,600000,9001,8827,0,9001,,, -12601,Nebraska CS27 North zone,9802,8821,41.2,9110,8822,-100,9110,8823,41.51,9110,8824,42.49,9110,8826,2000000,9003,8827,0,9003,,, -12602,Nebraska CS27 South zone,9802,8821,39.4,9110,8822,-99.3,9110,8823,40.17,9110,8824,41.43,9110,8826,2000000,9003,8827,0,9003,,, -12630,"SPCS83 Nebraska zone (meters)",9802,8821,39.5,9110,8822,-100,9110,8823,43,9110,8824,40,9110,8826,500000,9001,8827,0,9001,,, -12701,Nevada CS27 East zone,9807,8801,34.45,9110,8802,-115.35,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,, -12702,Nevada CS27 Central zone,9807,8801,34.45,9110,8802,-116.4,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,, -12703,Nevada CS27 West zone,9807,8801,34.45,9110,8802,-118.35,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,, -12731,"SPCS83 Nevada East zone (meters)",9807,8801,34.45,9110,8802,-115.35,9110,8805,0.9999,9201,8806,200000,9001,8807,8000000,9001,,,,,, -12732,"SPCS83 Nevada Central zone (meters)",9807,8801,34.45,9110,8802,-116.4,9110,8805,0.9999,9201,8806,500000,9001,8807,6000000,9001,,,,,, -12733,"SPCS83 Nevada West zone (meters)",9807,8801,34.45,9110,8802,-118.35,9110,8805,0.9999,9201,8806,800000,9001,8807,4000000,9001,,,,,, -12800,New Hampshire CS27,9807,8801,42.3,9110,8802,-71.4,9110,8805,0.999966667,9201,8806,500000,9003,8807,0,9003,,,,,, -12830,"SPCS83 New Hampshire zone (meters)",9807,8801,42.3,9110,8802,-71.4,9110,8805,0.999966667,9201,8806,300000,9001,8807,0,9001,,,,,, -12900,New Jersey CS27,9807,8801,38.5,9110,8802,-74.4,9110,8805,0.999975,9201,8806,2000000,9003,8807,0,9003,,,,,, -12930,"SPCS83 New Jersey zone (meters)",9807,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,150000,9001,8807,0,9001,,,,,, -13001,New Mexico CS27 East zone,9807,8801,31,9110,8802,-104.2,9110,8805,0.999909091,9201,8806,500000,9003,8807,0,9003,,,,,, -13002,New Mexico CS27 Central zone,9807,8801,31,9110,8802,-106.15,9110,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,, -13003,New Mexico CS27 West zone,9807,8801,31,9110,8802,-107.5,9110,8805,0.999916667,9201,8806,500000,9003,8807,0,9003,,,,,, -13031,"SPCS83 New Mexico East zone (meters)",9807,8801,31,9110,8802,-104.2,9110,8805,0.999909091,9201,8806,165000,9001,8807,0,9001,,,,,, -13032,"SPCS83 New Mexico Central zone (meters)",9807,8801,31,9110,8802,-106.15,9110,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,, -13033,"SPCS83 New Mexico West zone (meters)",9807,8801,31,9110,8802,-107.5,9110,8805,0.999916667,9201,8806,830000,9001,8807,0,9001,,,,,, -13101,New York CS27 East zone,9807,8801,40,9110,8802,-74.2,9110,8805,0.999966667,9201,8806,500000,9003,8807,0,9003,,,,,, -13102,New York CS27 Central zone,9807,8801,40,9110,8802,-76.35,9110,8805,0.9999375,9201,8806,500000,9003,8807,0,9003,,,,,, -13103,New York CS27 West zone,9807,8801,40,9110,8802,-78.35,9110,8805,0.9999375,9201,8806,500000,9003,8807,0,9003,,,,,, -13104,New York CS27 Long Island zone,9802,8821,40.3,9110,8822,-74,9110,8823,41.02,9110,8824,40.4,9110,8826,1000000,9003,8827,0,9003,,, -13131,"SPCS83 New York East zone (meters)",9807,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,150000,9001,8807,0,9001,,,,,, -13132,"SPCS83 New York Central zone (meters)",9807,8801,40,9110,8802,-76.35,9110,8805,0.9999375,9201,8806,250000,9001,8807,0,9001,,,,,, -13133,"SPCS83 New York West zone (meters)",9807,8801,40,9110,8802,-78.35,9110,8805,0.9999375,9201,8806,350000,9001,8807,0,9001,,,,,, -13134,"SPCS83 New York Long Island zone (meters)",9802,8821,40.1,9110,8822,-74,9110,8823,41.02,9110,8824,40.4,9110,8826,300000,9001,8827,0,9001,,, -13200,North Carolina CS27,9802,8821,33.45,9110,8822,-79,9110,8823,34.2,9110,8824,36.1,9110,8826,2000000,9003,8827,0,9003,,, -13230,"SPCS83 North Carolina zone (meters)",9802,8821,33.45,9110,8822,-79,9110,8823,36.1,9110,8824,34.2,9110,8826,609601.22,9001,8827,0,9001,,, -13301,North Dakota CS27 North zone,9802,8821,47,9110,8822,-100.3,9110,8823,47.26,9110,8824,48.44,9110,8826,2000000,9003,8827,0,9003,,, -13302,North Dakota CS27 South zone,9802,8821,45.4,9110,8822,-100.3,9110,8823,46.11,9110,8824,47.29,9110,8826,2000000,9003,8827,0,9003,,, -13331,"SPCS83 North Dakota North zone (meters)",9802,8821,47,9110,8822,-100.3,9110,8823,48.44,9110,8824,47.26,9110,8826,600000,9001,8827,0,9001,,, -13332,"SPCS83 North Dakota South zone (meters)",9802,8821,45.4,9110,8822,-100.3,9110,8823,47.29,9110,8824,46.11,9110,8826,600000,9001,8827,0,9001,,, -13401,Ohio CS27 North zone,9802,8821,39.4,9110,8822,-82.3,9110,8823,40.26,9110,8824,41.42,9110,8826,2000000,9003,8827,0,9003,,, -13402,Ohio CS27 South zone,9802,8821,38,9110,8822,-82.3,9110,8823,38.44,9110,8824,40.02,9110,8826,2000000,9003,8827,0,9003,,, -13431,"SPCS83 Ohio North zone (meters)",9802,8821,39.4,9110,8822,-82.3,9110,8823,41.42,9110,8824,40.26,9110,8826,600000,9001,8827,0,9001,,, -13432,"SPCS83 Ohio South zone (meters)",9802,8821,38,9110,8822,-82.3,9110,8823,40.02,9110,8824,38.44,9110,8826,600000,9001,8827,0,9001,,, -13433,"SPCS83 Ohio North zone (US Survey feet)",9802,8821,39.4,9110,8822,-82.3,9110,8823,41.42,9110,8824,40.26,9110,8826,1968500,9003,8827,0,9003,,, -13434,"SPCS83 Ohio South zone (US Survey feet)",9802,8821,38,9110,8822,-82.3,9110,8823,40.02,9110,8824,38.44,9110,8826,1968500,9003,8827,0,9003,,, -13501,Oklahoma CS27 North zone,9802,8821,35,9110,8822,-98,9110,8823,35.34,9110,8824,36.46,9110,8826,2000000,9003,8827,0,9003,,, -13502,Oklahoma CS27 South zone,9802,8821,33.2,9110,8822,-98,9110,8823,33.56,9110,8824,35.14,9110,8826,2000000,9003,8827,0,9003,,, -13531,"SPCS83 Oklahoma North zone (meters)",9802,8821,35,9110,8822,-98,9110,8823,36.46,9110,8824,35.34,9110,8826,600000,9001,8827,0,9001,,, -13532,"SPCS83 Oklahoma South zone (meters)",9802,8821,33.2,9110,8822,-98,9110,8823,35.14,9110,8824,33.56,9110,8826,600000,9001,8827,0,9001,,, -13601,Oregon CS27 North zone,9802,8821,43.4,9110,8822,-120.3,9110,8823,44.2,9110,8824,46,9110,8826,2000000,9003,8827,0,9003,,, -13602,Oregon CS27 South zone,9802,8821,41.4,9110,8822,-120.3,9110,8823,42.2,9110,8824,44,9110,8826,2000000,9003,8827,0,9003,,, -13631,"SPCS83 Oregon North zone (meters)",9802,8821,43.4,9110,8822,-120.3,9110,8823,46,9110,8824,44.2,9110,8826,2500000,9001,8827,0,9001,,, -13632,"SPCS83 Oregon South zone (meters)",9802,8821,41.4,9110,8822,-120.3,9110,8823,44,9110,8824,42.2,9110,8826,1500000,9001,8827,0,9001,,, -13633,"Oregon Lambert (meters)",9802,8821,41.45,9110,8822,-120.3,9110,8823,43,9110,8824,45.3,9110,8826,400000,9001,8827,0,9001,,, -13701,Pennsylvania CS27 North zone,9802,8821,40.1,9110,8822,-77.45,9110,8823,40.53,9110,8824,41.57,9110,8826,2000000,9003,8827,0,9003,,, -13702,Pennsylvania CS27 South zone,9802,8821,39.2,9110,8822,-77.45,9110,8823,39.56,9110,8824,40.48,9110,8826,2000000,9003,8827,0,9003,,, -13731,"SPCS83 Pennsylvania North zone (meters)",9802,8821,40.1,9110,8822,-77.45,9110,8823,41.57,9110,8824,40.53,9110,8826,600000,9001,8827,0,9001,,, -13732,"SPCS83 Pennsylvania South zone (meters)",9802,8821,39.2,9110,8822,-77.45,9110,8823,40.58,9110,8824,39.56,9110,8826,600000,9001,8827,0,9001,,, -13800,Rhode Island CS27,9807,8801,41.05,9110,8802,-71.3,9110,8805,0.9999938,9201,8806,500000,9003,8807,0,9003,,,,,, -13830,"SPCS83 Rhode Island zone (meters)",9807,8801,41.05,9110,8802,-71.3,9110,8805,0.99999375,9201,8806,100000,9001,8807,0,9001,,,,,, -13901,South Carolina CS27 North zone,9802,8821,33,9110,8822,-81,9110,8823,33.46,9110,8824,34.58,9110,8826,2000000,9003,8827,0,9003,,, -13902,South Carolina CS27 South zone,9802,8821,31.5,9110,8822,-81,9110,8823,32.2,9110,8824,33.4,9110,8826,2000000,9003,8827,0,9003,,, -13930,"SPCS83 South Carolina zone (meters)",9802,8821,31.5,9110,8822,-81,9110,8823,34.5,9110,8824,32.3,9110,8826,609600,9001,8827,0,9001,,, -14001,South Dakota CS27 North zone,9802,8821,43.5,9110,8822,-100,9110,8823,44.25,9110,8824,45.41,9110,8826,2000000,9003,8827,0,9003,,, -14002,South Dakota CS27 South zone,9802,8821,42.2,9110,8822,-100.2,9110,8823,42.5,9110,8824,44.24,9110,8826,2000000,9003,8827,0,9003,,, -14031,"SPCS83 South Dakota North zone (meters)",9802,8821,43.5,9110,8822,-100,9110,8823,45.41,9110,8824,44.25,9110,8826,600000,9001,8827,0,9001,,, -14032,"SPCS83 South Dakota South zone (meters)",9802,8821,42.2,9110,8822,-100.2,9110,8823,44.24,9110,8824,42.5,9110,8826,600000,9001,8827,0,9001,,, -14100,Tennessee CS27,9802,8821,34.4,9110,8822,-86,9110,8823,35.15,9110,8824,36.25,9110,8826,100000,9003,8827,0,9003,,, -14130,"SPCS83 Tennessee zone (meters)",9802,8821,34.2,9110,8822,-86,9110,8823,36.25,9110,8824,35.15,9110,8826,600000,9001,8827,0,9001,,, -14201,Texas CS27 North zone,9802,8821,34,9110,8822,-101.3,9110,8823,34.39,9110,8824,36.11,9110,8826,2000000,9003,8827,0,9003,,, -14202,Texas CS27 North Central zone,9802,8821,31.4,9110,8822,-97.3,9110,8823,32.08,9110,8824,33.58,9110,8826,2000000,9003,8827,0,9003,,, -14203,Texas CS27 Central zone,9802,8821,29.4,9110,8822,-100.2,9110,8823,30.07,9110,8824,31.53,9110,8826,2000000,9003,8827,0,9003,,, -14204,Texas CS27 South Central zone,9802,8821,27.5,9110,8822,-99,9110,8823,28.23,9110,8824,30.17,9110,8826,2000000,9003,8827,0,9003,,, -14205,Texas CS27 South zone,9802,8821,25.4,9110,8822,-98.3,9110,8823,26.1,9110,8824,27.5,9110,8826,2000000,9003,8827,0,9003,,, -14231,"SPCS83 Texas North zone (meters)",9802,8821,34,9110,8822,-101.3,9110,8823,36.11,9110,8824,34.39,9110,8826,200000,9001,8827,1000000,9001,,, -14232,"SPCS83 Texas North Central zone (meters)",9802,8821,31.4,9110,8822,-98.3,9110,8823,33.58,9110,8824,32.08,9110,8826,600000,9001,8827,2000000,9001,,, -14233,"SPCS83 Texas Central zone (meters)",9802,8821,29.4,9110,8822,-100.2,9110,8823,31.53,9110,8824,30.07,9110,8826,700000,9001,8827,3000000,9001,,, -14234,"SPCS83 Texas South Central zone (meters)",9802,8821,27.5,9110,8822,-99,9110,8823,30.17,9110,8824,28.23,9110,8826,600000,9001,8827,4000000,9001,,, -14235,"SPCS83 Texas South zone (meters)",9802,8821,25.4,9110,8822,-98.3,9110,8823,27.5,9110,8824,26.1,9110,8826,300000,9001,8827,5000000,9001,,, -14251,"Texas State Mapping System (meters)",9802,8821,31.1,9110,8822,-100,9110,8823,27.25,9110,8824,34.55,9110,8826,1000000,9001,8827,1000000,9001,,, -14252,Shackleford,9802,8821,31.1,9110,8822,-100,9110,8823,27.25,9110,8824,34.55,9110,8826,3000000,9002,8827,3000000,9002,,, -14253,Texas Centric Lambert Conformal,9802,8821,18,9110,8822,-100,9110,8823,27.3,9110,8824,35,9110,8826,1500000,9001,8827,5000000,9001,,, -14254,Texas Centric Albers Equal Area,9822,8821,18,9110,8822,-100,9110,8823,27.3,9110,8824,35,9110,8826,1500000,9001,8827,6000000,9001,,, -14301,Utah CS27 North zone,9802,8821,40.2,9110,8822,-111.3,9110,8823,40.43,9110,8824,41.47,9110,8826,2000000,9003,8827,0,9003,,, -14302,Utah CS27 Central zone,9802,8821,38.2,9110,8822,-111.3,9110,8823,39.01,9110,8824,40.39,9110,8826,2000000,9003,8827,0,9003,,, -14303,Utah CS27 South zone,9802,8821,36.4,9110,8822,-111.3,9110,8823,37.13,9110,8824,38.21,9110,8826,2000000,9003,8827,0,9003,,, -14331,"SPCS83 Utah North zone (meters)",9802,8821,40.2,9110,8822,-111.3,9110,8823,41.47,9110,8824,40.43,9110,8826,500000,9001,8827,1000000,9001,,, -14332,"SPCS83 Utah Central zone (meters)",9802,8821,38.2,9110,8822,-111.3,9110,8823,40.39,9110,8824,39.01,9110,8826,500000,9001,8827,2000000,9001,,, -14333,"SPCS83 Utah South zone (meters)",9802,8821,36.4,9110,8822,-111.3,9110,8823,38.21,9110,8824,37.13,9110,8826,500000,9001,8827,3000000,9001,,, -14400,Vermont CS27,9807,8801,42.3,9110,8802,-72.3,9110,8805,0.999964286,9201,8806,500000,9003,8807,0,9003,,,,,, -14430,"SPCS83 Vermont zone (meters)",9807,8801,42.3,9110,8802,-72.3,9110,8805,0.999964286,9201,8806,500000,9001,8807,0,9001,,,,,, -14501,Virginia CS27 North zone,9802,8821,37.4,9110,8822,-78.3,9110,8823,38.02,9110,8824,39.12,9110,8826,2000000,9003,8827,0,9003,,, -14502,Virginia CS27 South zone,9802,8821,36.2,9110,8822,-78.3,9110,8823,36.46,9110,8824,37.58,9110,8826,2000000,9003,8827,0,9003,,, -14531,"SPCS83 Virginia North zone (meters)",9802,8821,37.4,9110,8822,-78.3,9110,8823,39.12,9110,8824,38.02,9110,8826,3500000,9001,8827,2000000,9001,,, -14532,"SPCS83 Virginia South zone (meters)",9802,8821,36.2,9110,8822,-78.3,9110,8823,37.58,9110,8824,36.46,9110,8826,3500000,9001,8827,1000000,9001,,, -14601,Washington CS27 North zone,9802,8821,47,9110,8822,-120.5,9110,8823,47.3,9110,8824,48.44,9110,8826,2000000,9003,8827,0,9003,,, -14602,Washington CS27 South zone,9802,8821,45.2,9110,8822,-120.3,9110,8823,45.5,9110,8824,47.2,9110,8826,2000000,9003,8827,0,9003,,, -14631,"SPCS83 Washington North zone (meters)",9802,8821,47,9110,8822,-120.5,9110,8823,48.44,9110,8824,47.3,9110,8826,500000,9001,8827,0,9001,,, -14632,"SPCS83 Washington South zone (meters)",9802,8821,45.2,9110,8822,-120.3,9110,8823,47.2,9110,8824,45.5,9110,8826,500000,9001,8827,0,9001,,, -14701,West Virginia CS27 North zone,9802,8821,38.3,9110,8822,-79.3,9110,8823,39,9110,8824,40.15,9110,8826,2000000,9003,8827,0,9003,,, -14702,West Virginia CS27 South zone,9802,8821,37,9110,8822,-81,9110,8823,37.29,9110,8824,38.53,9110,8826,2000000,9003,8827,0,9003,,, -14731,"SPCS83 West Virginia North zone (meters)",9802,8821,38.3,9110,8822,-79.3,9110,8823,40.15,9110,8824,39,9110,8826,600000,9001,8827,0,9001,,, -14732,"SPCS83 West Virginia South zone (meters)",9802,8821,37,9110,8822,-81,9110,8823,38.53,9110,8824,37.29,9110,8826,600000,9001,8827,0,9001,,, -14733,"SPCS83 West Virginia North zone (US Survey feet)",9802,8821,38.3,9110,8822,-79.3,9110,8823,40.15,9110,8824,39,9110,8826,1968500,9001,8827,0,9001,,, -14734,"SPCS83 West Virginia South zone (US Survey feet)",9802,8821,37,9110,8822,-81,9110,8823,38.53,9110,8824,37.29,9110,8826,1968500,9001,8827,0,9001,,, -14735,"SPCS83 West Virginia North zone (US Survey feet)",9802,8821,38.3,9110,8822,-79.3,9110,8823,40.15,9110,8824,39,9110,8826,1968500,9003,8827,0,9003,,, -14736,"SPCS83 West Virginia South zone (US Survey feet)",9802,8821,37,9110,8822,-81,9110,8823,38.53,9110,8824,37.29,9110,8826,1968500,9003,8827,0,9003,,, -14801,Wisconsin CS27 North zone,9802,8821,45.1,9110,8822,-90,9110,8823,45.34,9110,8824,46.46,9110,8826,2000000,9003,8827,0,9003,,, -14802,Wisconsin CS27 Central zone,9802,8821,43.5,9110,8822,-90,9110,8823,44.15,9110,8824,45.3,9110,8826,2000000,9003,8827,0,9003,,, -14803,Wisconsin CS27 South zone,9802,8821,42,9110,8822,-90,9110,8823,42.44,9110,8824,44.04,9110,8826,2000000,9003,8827,0,9003,,, -14811,Wisconsin Transverse Mercator 27,9807,8801,0,9102,8802,-90,9102,8805,0.9996,9201,8806,500000,9001,8807,-4500000,9001,,,,,, -14831,"SPCS83 Wisconsin North zone (meters)",9802,8821,45.1,9110,8822,-90,9110,8823,46.46,9110,8824,45.34,9110,8826,600000,9001,8827,0,9001,,, -14832,"SPCS83 Wisconsin Central zone (meters)",9802,8821,43.5,9110,8822,-90,9110,8823,45.3,9110,8824,44.15,9110,8826,600000,9001,8827,0,9001,,, -14833,"SPCS83 Wisconsin South zone (meters)",9802,8821,42,9110,8822,-90,9110,8823,44.04,9110,8824,42.44,9110,8826,600000,9001,8827,0,9001,,, -14841,Wisconsin Transverse Mercator 83,9807,8801,0,9102,8802,-90,9102,8805,0.9996,9201,8806,520000,9001,8807,-4480000,9001,,,,,, -14901,Wyoming CS27 East zone,9807,8801,40.4,9110,8802,-105.1,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,, -14902,Wyoming CS27 East Central zone,9807,8801,40.4,9110,8802,-107.2,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,, -14903,Wyoming CS27 West Central zone,9807,8801,40.4,9110,8802,-108.45,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,, -14904,Wyoming CS27 West zone,9807,8801,40.4,9110,8802,-110.05,9110,8805,0.999941177,9201,8806,500000,9003,8807,0,9003,,,,,, -14931,"SPCS83 Wyoming East zone (meters)",9807,8801,40.3,9110,8802,-105.1,9110,8805,0.9999375,9201,8806,200000,9001,8807,0,9001,,,,,, -14932,"SPCS83 Wyoming East Central zone (meters)",9807,8801,40.3,9110,8802,-107.2,9110,8805,0.9999375,9201,8806,400000,9001,8807,100000,9001,,,,,, -14933,"SPCS83 Wyoming West Central zone (meters)",9807,8801,40.3,9110,8802,-108.45,9110,8805,0.9999375,9201,8806,600000,9001,8807,0,9001,,,,,, -14934,"SPCS83 Wyoming West zone (meters)",9807,8801,40.3,9110,8802,-110.05,9110,8805,0.9999375,9201,8806,800000,9001,8807,100000,9001,,,,,, -14935,"SPCS83 Wyoming East zone (US Survey feet)",9807,8801,40.3,9110,8802,-105.1,9110,8805,0.9999375,9201,8806,656166.6667,9003,8807,0,9003,,,,,, -14936,"SPCS83 Wyoming East Central zone (US Survey feet)",9807,8801,40.3,9110,8802,-107.2,9110,8805,0.9999375,9201,8806,1312333.3333,9003,8807,328083.3333,9003,,,,,, -14937,"SPCS83 Wyoming West Central zone (US Survey feet)",9807,8801,40.3,9110,8802,-108.45,9110,8805,0.9999375,9201,8806,1968500,9003,8807,0,9003,,,,,, -14938,"SPCS83 Wyoming West zone (US Survey feet)",9807,8801,40.3,9110,8802,-110.05,9110,8805,0.9999375,9201,8806,2624666.6667,9003,8807,328083.3333,9003,,,,,, -15001,Alaska CS27 zone 1,9812,8806,16404166.67,9003,8807,-16404166.67,9003,8811,57,9110,8812,-133.4,9110,8813,323.07483685,9110,8814,323.07483685,9110,8815,0.9999,9201 -15002,Alaska CS27 zone 2,9807,8801,54,9102,8802,-142,9102,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,, -15003,Alaska CS27 zone 3,9807,8801,54,9102,8802,-146,9102,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,, -15004,Alaska CS27 zone 4,9807,8801,54,9102,8802,-150,9102,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,, -15005,Alaska CS27 zone 5,9807,8801,54,9102,8802,-154,9102,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,, -15006,Alaska CS27 zone 6,9807,8801,54,9102,8802,-158,9102,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,, -15007,Alaska CS27 zone 7,9807,8801,54,9102,8802,-162,9102,8805,0.9999,9201,8806,700000,9003,8807,0,9003,,,,,, -15008,Alaska CS27 zone 8,9807,8801,54,9102,8802,-166,9102,8805,0.9999,9201,8806,500000,9003,8807,0,9003,,,,,, -15009,Alaska CS27 zone 9,9807,8801,54,9102,8802,-170,9102,8805,0.9999,9201,8806,600000,9003,8807,0,9003,,,,,, -15010,Alaska CS27 zone 10,9802,8821,51,9110,8822,-176,9110,8823,53.5,9110,8824,51.5,9110,8826,3000000,9003,8827,0,9003,,, -15020,Alaska Albers,9822,8821,50,9102,8822,-154,9102,8823,55,9102,8824,65,9102,8826,0,9003,8827,0,9003,,, -15021,"Alaska Albers (meters)",9822,8821,50,9102,8822,-154,9102,8823,55,9102,8824,65,9102,8826,0,9001,8827,0,9001,,, -15031,"SPCS83 Alaska zone 1 (meters)",9812,8806,5000000,9001,8807,-5000000,9001,8811,57,9110,8812,-133.4,9110,8813,323.07483685,9110,8814,323.07483685,9110,8815,0.9999,9201 -15032,"SPCS83 Alaska zone 2 (meters)",9807,8801,54,9102,8802,-142,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,, -15033,"SPCS83 Alaska zone 3 (meters)",9807,8801,54,9102,8802,-146,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,, -15034,"SPCS83 Alaska zone 4 (meters)",9807,8801,54,9102,8802,-150,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,, -15035,"SPCS83 Alaska zone 5 (meters)",9807,8801,54,9102,8802,-154,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,, -15036,"SPCS83 Alaska zone 6 (meters)",9807,8801,54,9102,8802,-158,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,, -15037,"SPCS83 Alaska zone 7 (meters)",9807,8801,54,9102,8802,-162,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,, -15038,"SPCS83 Alaska zone 8 (meters)",9807,8801,54,9102,8802,-166,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,, -15039,"SPCS83 Alaska zone 9 (meters)",9807,8801,54,9102,8802,-170,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,, -15040,"SPCS83 Alaska zone 10 (meters)",9802,8821,51,9110,8822,-176,9110,8823,53.5,9110,8824,51.5,9110,8826,1000000,9001,8827,0,9001,,, -15101,Hawaii CS27 zone 1,9807,8801,18.5,9110,8802,-155.3,9110,8805,0.999966667,9201,8806,500000,9003,8807,0,9003,,,,,, -15102,Hawaii CS27 zone 2,9807,8801,20.2,9110,8802,-156.4,9110,8805,0.999966667,9201,8806,500000,9003,8807,0,9003,,,,,, -15103,Hawaii CS27 zone 3,9807,8801,21.1,9110,8802,-158,9110,8805,0.99999,9201,8806,500000,9003,8807,0,9003,,,,,, -15104,Hawaii CS27 zone 4,9807,8801,21.5,9110,8802,-159.3,9110,8805,0.99999,9201,8806,500000,9003,8807,0,9003,,,,,, -15105,Hawaii CS27 zone 5,9807,8801,21.4,9110,8802,-160.1,9110,8805,1,9201,8806,500000,9003,8807,0,9003,,,,,, -15131,"SPCS83 Hawaii zone 1 (meters)",9807,8801,18.5,9110,8802,-155.3,9110,8805,0.999966667,9201,8806,500000,9001,8807,0,9001,,,,,, -15132,"SPCS83 Hawaii zone 2 (meters)",9807,8801,20.2,9110,8802,-156.4,9110,8805,0.999966667,9201,8806,500000,9001,8807,0,9001,,,,,, -15133,"SPCS83 Hawaii zone 3 (meters)",9807,8801,21.1,9110,8802,-158,9110,8805,0.99999,9201,8806,500000,9001,8807,0,9001,,,,,, -15134,"SPCS83 Hawaii zone 4 (meters)",9807,8801,21.5,9110,8802,-159.3,9110,8805,0.99999,9201,8806,500000,9001,8807,0,9001,,,,,, -15135,"SPCS83 Hawaii zone 5 (meters)",9807,8801,21.4,9110,8802,-160.1,9110,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -15138,"SPCS83 Hawaii zone 3 (US Survey feet)",9807,8801,21.1,9110,8802,-158,9110,8805,0.99999,9201,8806,1640416.6667,9003,8807,0,9003,,,,,, -15201,Puerto Rico CS27,9802,8821,17.5,9110,8822,-66.26,9110,8823,18.26,9110,8824,18.02,9110,8826,500000,9003,8827,0,9003,,, -15202,St. Croix CS27,9802,8821,17.5,9110,8822,-66.26,9110,8823,18.26,9110,8824,18.02,9110,8826,500000,9003,8827,100000,9003,,, -15230,"SPCS83 Puerto Rico & Virgin Islands zone (meters)",9802,8821,17.5,9110,8822,-66.26,9110,8823,18.26,9110,8824,18.02,9110,8826,200000,9001,8827,200000,9001,,, -15297,"SPCS83 Utah North zone (US Survey feet)",9802,8821,40.2,9110,8822,-111.3,9110,8823,41.47,9110,8824,40.43,9110,8826,1640416.6667,9003,8827,3280833.3333,9003,,, -15298,"SPCS83 Utah Central zone (US Survey feet)",9802,8821,38.2,9110,8822,-111.3,9110,8823,40.39,9110,8824,39.01,9110,8826,1640416.6667,9003,8827,6561666.6667,9003,,, -15299,"SPCS83 Utah South zone (US Survey feet)",9802,8821,36.4,9110,8822,-111.3,9110,8823,38.21,9110,8824,37.13,9110,8826,1640416.6667,9003,8827,9842500,9003,,, -15300,American Samoa Lambert,9801,8801,-14.16,9110,8802,170,9110,8805,1,9201,8806,500000,9003,8807,0,9003,,,,,, -15301,American Samoa Lambert,9801,8801,-14.16,9110,8802,-170,9110,8805,1,9201,8806,500000,9003,8807,0,9003,,,,,, -15302,Tennessee CS27,9802,8821,34.4,9110,8822,-86,9110,8823,35.15,9110,8824,36.25,9110,8826,2000000,9003,8827,100000,9003,,, -15303,"SPCS83 Kentucky North zone (meters)",9802,8821,37.3,9110,8822,-84.15,9110,8823,37.58,9110,8824,38.58,9110,8826,500000,9001,8827,0,9001,,, -15304,"SPCS83 Arizona East zone (International feet)",9807,8801,31,9110,8802,-110.1,9110,8805,0.9999,9201,8806,700000,9002,8807,0,9002,,,,,, -15305,"SPCS83 Arizona Central zone (International feet)",9807,8801,31,9110,8802,-111.55,9110,8805,0.9999,9201,8806,700000,9002,8807,0,9002,,,,,, -15306,"SPCS83 Arizona West zone (International feet)",9807,8801,31,9110,8802,-113.45,9110,8805,0.999933333,9201,8806,700000,9002,8807,0,9002,,,,,, -15307,"SPCS83 California zone 1 (US Survey feet)",9802,8821,39.2,9110,8822,-122,9110,8823,41.4,9110,8824,40,9110,8826,6561666.667,9003,8827,1640416.667,9003,,, -15308,"SPCS83 California zone 2 (US Survey feet)",9802,8821,37.4,9110,8822,-122,9110,8823,39.5,9110,8824,38.2,9110,8826,6561666.667,9003,8827,1640416.667,9003,,, -15309,"SPCS83 California zone 3 (US Survey feet)",9802,8821,36.3,9110,8822,-120.3,9110,8823,38.26,9110,8824,37.04,9110,8826,6561666.667,9003,8827,1640416.667,9003,,, -15310,"SPCS83 California zone 4 (US Survey feet)",9802,8821,35.2,9110,8822,-119,9110,8823,37.15,9110,8824,36,9110,8826,6561666.667,9003,8827,1640416.667,9003,,, -15311,"SPCS83 California zone 5 (US Survey feet)",9802,8821,33.3,9110,8822,-118,9110,8823,35.28,9110,8824,34.02,9110,8826,6561666.667,9003,8827,1640416.667,9003,,, -15312,"SPCS83 California zone 6 (US Survey feet)",9802,8821,32.1,9110,8822,-116.15,9110,8823,33.53,9110,8824,32.47,9110,8826,6561666.667,9003,8827,1640416.667,9003,,, -15313,"SPCS83 Colorado North zone (US Survey feet)",9802,8821,39.2,9110,8822,-105.3,9110,8823,40.47,9110,8824,39.43,9110,8826,3000000,9003,8827,1000000,9003,,, -15314,"SPCS83 Colorado Central zone (US Survey feet)",9802,8821,37.5,9110,8822,-105.3,9110,8823,39.45,9110,8824,38.27,9110,8826,3000000,9003,8827,1000000,9003,,, -15315,"SPCS83 Colorado South zone (US Survey feet)",9802,8821,36.4,9110,8822,-105.3,9110,8823,38.26,9110,8824,37.14,9110,8826,3000000,9003,8827,1000000,9003,,, -15316,"SPCS83 Connecticut zone (US Survey feet)",9802,8821,40.5,9110,8822,-72.45,9110,8823,41.52,9110,8824,41.12,9110,8826,1000000,9003,8827,500000,9003,,, -15317,"SPCS83 Delaware zone (US Survey feet)",9807,8801,38,9110,8802,-75.25,9110,8805,0.999995,9201,8806,656166.667,9003,8807,0,9003,,,,,, -15318,"SPCS83 Florida East zone (US Survey feet)",9807,8801,24.2,9110,8802,-81,9110,8805,0.999941177,9201,8806,656166.667,9003,8807,0,9003,,,,,, -15319,"SPCS83 Florida West zone (US Survey feet)",9807,8801,24.2,9110,8802,-82,9110,8805,0.999941177,9201,8806,656166.667,9003,8807,0,9003,,,,,, -15320,"SPCS83 Florida North zone (US Survey feet)",9802,8821,29,9110,8822,-84.3,9110,8823,30.45,9110,8824,29.35,9110,8826,1968500,9003,8827,0,9003,,, -15321,"SPCS83 Georgia East zone (US Survey feet)",9807,8801,30,9110,8802,-82.1,9110,8805,0.9999,9201,8806,656166.667,9003,8807,0,9003,,,,,, -15322,"SPCS83 Georgia West zone (US Survey feet)",9807,8801,30,9110,8802,-84.1,9110,8805,0.9999,9201,8806,2296583.333,9003,8807,0,9003,,,,,, -15323,"SPCS83 Idaho East zone (US Survey feet)",9807,8801,41.4,9110,8802,-112.1,9110,8805,0.999947368,9201,8806,656166.667,9003,8807,0,9003,,,,,, -15324,"SPCS83 Idaho Central zone (US Survey feet)",9807,8801,41.4,9110,8802,-114,9110,8805,0.999947368,9201,8806,1640416.667,9003,8807,0,9003,,,,,, -15325,"SPCS83 Idaho West zone (US Survey feet)",9807,8801,41.4,9110,8802,-115.45,9110,8805,0.999933333,9201,8806,2624666.667,9003,8807,0,9003,,,,,, -15326,"SPCS83 Indiana East zone (US Survey feet)",9807,8801,37.3,9110,8802,-85.4,9110,8805,0.999966667,9201,8806,328083.333,9003,8807,818125,9003,,,,,, -15327,"SPCS83 Indiana West zone (US Survey feet)",9807,8801,37.3,9110,8802,-87.05,9110,8805,0.999966667,9201,8806,2952750,9003,8807,818125,9003,,,,,, -15328,"SPCS83 Kentucky North zone (US Survey feet)",9802,8821,37.3,9110,8822,-84.15,9110,8823,37.58,9110,8824,38.58,9110,8826,1640416.667,9003,8827,0,9003,,, -15329,"SPCS83 Kentucky South zone (US Survey feet)",9802,8821,36.2,9110,8822,-85.45,9110,8823,37.56,9110,8824,36.44,9110,8826,1640416.667,9003,8827,1640416.667,9003,,, -15330,"SPCS83 Maryland zone (US Survey feet)",9802,8821,37.4,9110,8822,-77,9110,8823,39.27,9110,8824,38.18,9110,8826,1312333.333,9003,8827,0,9003,,, -15331,"SPCS83 Massachusetts Mainland zone (US Survey feet)",9802,8821,41,9110,8822,-71.3,9110,8823,42.41,9110,8824,41.43,9110,8826,656166.667,9003,8827,2460625,9003,,, -15332,"SPCS83 Massachusetts Island zone (US Survey feet)",9802,8821,41,9110,8822,-70.3,9110,8823,41.29,9110,8824,41.17,9110,8826,1640416.667,9003,8827,0,9003,,, -15333,"SPCS83 Michigan North zone (International feet)",9802,8821,44.47,9110,8822,-87,9110,8823,47.05,9110,8824,45.29,9110,8826,26246719.16,9002,8827,0,9002,,, -15334,"SPCS83 Michigan Central zone (International feet)",9802,8821,43.19,9110,8822,-84.22,9110,8823,45.42,9110,8824,44.11,9110,8826,19685039.37,9002,8827,0,9002,,, -15335,"SPCS83 Michigan South zone (International feet)",9802,8821,41.3,9110,8822,-84.22,9110,8823,43.4,9110,8824,42.06,9110,8826,13123359.58,9002,8827,0,9002,,, -15336,"SPCS83 Mississippi East zone (US Survey feet)",9807,8801,29.3,9110,8802,-88.5,9110,8805,0.99995,9201,8806,984250,9003,8807,0,9003,,,,,, -15337,"SPCS83 Mississippi West zone (US Survey feet)",9807,8801,29.3,9110,8802,-90.2,9110,8805,0.99995,9201,8806,2296583.333,9003,8807,0,9003,,,,,, -15338,"SPCS83 Montana zone (International feet)",9802,8821,44.15,9110,8822,-109.3,9110,8823,49,9110,8824,45,9110,8826,1968503.937,9002,8827,0,9002,,, -15339,"SPCS83 New Mexico East zone (US Survey feet)",9807,8801,31,9110,8802,-104.2,9110,8805,0.999909091,9201,8806,541337.5,9003,8807,0,9003,,,,,, -15340,"SPCS83 New Mexico Central zone (US Survey feet)",9807,8801,31,9110,8802,-106.15,9110,8805,0.9999,9201,8806,1640416.667,9003,8807,0,9003,,,,,, -15341,"SPCS83 New Mexico West zone (US Survey feet)",9807,8801,31,9110,8802,-107.5,9110,8805,0.999916667,9201,8806,2723091.667,9003,8807,0,9003,,,,,, -15342,"SPCS83 New York East zone (US Survey feet)",9807,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,492125,9003,8807,0,9003,,,,,, -15343,"SPCS83 New York Central zone (US Survey feet)",9807,8801,40,9110,8802,-76.35,9110,8805,0.9999375,9201,8806,820208.333,9003,8807,0,9003,,,,,, -15344,"SPCS83 New York West zone (US Survey feet)",9807,8801,40,9110,8802,-78.35,9110,8805,0.9999375,9201,8806,1148291.667,9003,8807,0,9003,,,,,, -15345,"SPCS83 New York Long Island zone (US Survey feet)",9802,8821,40.1,9110,8822,-74,9110,8823,41.02,9110,8824,40.4,9110,8826,984250,9003,8827,0,9003,,, -15346,"SPCS83 North Carolina zone (US Survey feet)",9802,8821,33.45,9110,8822,-79,9110,8823,36.1,9110,8824,34.2,9110,8826,2000000,9003,8827,0,9003,,, -15347,"SPCS83 North Dakota North zone (International feet)",9802,8821,47,9110,8822,-100.3,9110,8823,48.44,9110,8824,47.26,9110,8826,1968503.937,9002,8827,0,9002,,, -15348,"SPCS83 North Dakota South zone (International feet)",9802,8821,45.4,9110,8822,-100.3,9110,8823,47.29,9110,8824,46.11,9110,8826,1968503.937,9002,8827,0,9002,,, -15349,"SPCS83 Oklahoma North zone (US Survey feet)",9802,8821,35,9110,8822,-98,9110,8823,36.46,9110,8824,35.34,9110,8826,1968500,9003,8827,0,9003,,, -15350,"SPCS83 Oklahoma South zone (US Survey feet)",9802,8821,33.2,9110,8822,-98,9110,8823,35.14,9110,8824,33.56,9110,8826,1968500,9003,8827,0,9003,,, -15351,"SPCS83 Oregon North zone (International feet)",9802,8821,43.4,9110,8822,-120.3,9110,8823,46,9110,8824,44.2,9110,8826,8202099.738,9002,8827,0,9002,,, -15352,"SPCS83 Oregon South zone (International feet)",9802,8821,41.4,9110,8822,-120.3,9110,8823,44,9110,8824,42.2,9110,8826,4921259.843,9002,8827,0,9002,,, -15353,"SPCS83 Pennsylvania North zone (US Survey feet)",9802,8821,40.1,9110,8822,-77.45,9110,8823,41.57,9110,8824,40.53,9110,8826,1968500,9003,8827,0,9003,,, -15354,"SPCS83 Pennsylvania South zone (US Survey feet)",9802,8821,39.2,9110,8822,-77.45,9110,8823,40.58,9110,8824,39.56,9110,8826,1968500,9003,8827,0,9003,,, -15355,"SPCS83 South Carolina zone (International feet)",9802,8821,31.5,9110,8822,-81,9110,8823,34.5,9110,8824,32.3,9110,8826,2000000,9002,8827,0,9002,,, -15356,"SPCS83 Tennessee zone (US Survey feet)",9802,8821,34.2,9110,8822,-86,9110,8823,36.25,9110,8824,35.15,9110,8826,1968500,9003,8827,0,9003,,, -15357,"SPCS83 Texas North zone (US Survey feet)",9802,8821,34,9110,8822,-101.3,9110,8823,36.11,9110,8824,34.39,9110,8826,656166.667,9003,8827,3280833.333,9003,,, -15358,"SPCS83 Texas North Central zone (US Survey feet)",9802,8821,31.4,9110,8822,-98.3,9110,8823,33.58,9110,8824,32.08,9110,8826,1968500,9003,8827,6561666.667,9003,,, -15359,"SPCS83 Texas Central zone (US Survey feet)",9802,8821,29.4,9110,8822,-100.2,9110,8823,31.53,9110,8824,30.07,9110,8826,2296583.333,9003,8827,9842500,9003,,, -15360,"SPCS83 Texas South Central zone (US Survey feet)",9802,8821,27.5,9110,8822,-99,9110,8823,30.17,9110,8824,28.23,9110,8826,1968500,9003,8827,13123333.333,9003,,, -15361,"SPCS83 Texas South zone (US Survey feet)",9802,8821,25.4,9110,8822,-98.3,9110,8823,27.5,9110,8824,26.1,9110,8826,984250,9003,8827,16404166.667,9003,,, -15362,"SPCS83 Utah North zone (International feet)",9802,8821,40.2,9110,8822,-111.3,9110,8823,41.47,9110,8824,40.43,9110,8826,1640419.948,9002,8827,3280839.895,9002,,, -15363,"SPCS83 Utah Central zone (International feet)",9802,8821,38.2,9110,8822,-111.3,9110,8823,40.39,9110,8824,39.01,9110,8826,1640419.948,9002,8827,6561679.79,9002,,, -15364,"SPCS83 Utah South zone (International feet)",9802,8821,36.4,9110,8822,-111.3,9110,8823,38.21,9110,8824,37.13,9110,8826,1640419.948,9002,8827,9842519.685,9002,,, -15365,"SPCS83 Virginia North zone (US Survey feet)",9802,8821,37.4,9110,8822,-78.3,9110,8823,39.12,9110,8824,38.02,9110,8826,11482916.667,9003,8827,6561666.667,9003,,, -15366,"SPCS83 Virginia South zone (US Survey feet)",9802,8821,36.2,9110,8822,-78.3,9110,8823,37.58,9110,8824,36.46,9110,8826,11482916.667,9003,8827,3280833.333,9003,,, -15367,"SPCS83 Washington North zone (US Survey feet)",9802,8821,47,9110,8822,-120.5,9110,8823,48.44,9110,8824,47.3,9110,8826,1640416.667,9003,8827,0,9003,,, -15368,"SPCS83 Washington South zone (US Survey feet)",9802,8821,45.2,9110,8822,-120.3,9110,8823,47.2,9110,8824,45.5,9110,8826,1640416.667,9003,8827,0,9003,,, -15369,"SPCS83 Wisconsin North zone (US Survey feet)",9802,8821,45.1,9110,8822,-90,9110,8823,46.46,9110,8824,45.34,9110,8826,1968500,9003,8827,0,9003,,, -15370,"SPCS83 Wisconsin Central zone (US Survey feet)",9802,8821,43.5,9110,8822,-90,9110,8823,45.3,9110,8824,44.15,9110,8826,1968500,9003,8827,0,9003,,, -15371,"SPCS83 Wisconsin South zone (US Survey feet)",9802,8821,42,9110,8822,-90,9110,8823,44.04,9110,8824,42.44,9110,8826,1968500,9003,8827,0,9003,,, -15372,"SPCS83 Indiana East zone (US Survey feet)",9807,8801,37.3,9110,8802,-85.4,9110,8805,0.999966667,9201,8806,328083.333,9003,8807,820208.333,9003,,,,,, -15373,"SPCS83 Indiana West zone (US Survey feet)",9807,8801,37.3,9110,8802,-87.05,9110,8805,0.999966667,9201,8806,2952750,9003,8807,820208.333,9003,,,,,, -15374,"Oregon GIC Lambert (International feet)",9802,8821,41.45,9110,8822,-120.3,9110,8823,43,9110,8824,45.3,9110,8826,1312335.958,9002,8827,0,9002,,, -15375,"SPCS83 Kentucky Single Zone (US Survey feet)",9802,8821,36.2,9110,8822,-85.45,9110,8823,37.05,9110,8824,38.4,9110,8826,4921250,9003,8827,3280833.333,9003,,, -15376,American Samoa Lambert,9801,8801,-14.16,9110,8802,-170,9110,8805,1,9201,8806,500000,9003,8807,312234.65,9003,,,,,, -15377,"SPCS83 Iowa North zone (US Survey feet)",9802,8821,41.3,9110,8822,-93.3,9110,8823,43.16,9110,8824,42.04,9110,8826,4921250,9003,8827,3280833.3333,9003,,, -15378,"SPCS83 Iowa South zone (US Survey feet)",9802,8821,40,9110,8822,-93.3,9110,8823,41.47,9110,8824,40.37,9110,8826,1640416.6667,9003,8827,0,9003,,, -15379,"SPCS83 Kansas North zone (US Survey feet)",9802,8821,38.2,9110,8822,-98,9110,8823,39.47,9110,8824,38.43,9110,8826,1312333.3333,9003,8827,0,9003,,, -15380,"SPCS83 Kansas South zone (US Survey feet)",9802,8821,36.4,9110,8822,-98.3,9110,8823,38.34,9110,8824,37.16,9110,8826,1312333.3333,9003,8827,1312333.3333,9003,,, -15381,"SPCS83 Nevada East zone (US Survey feet)",9807,8801,34.45,9110,8802,-115.35,9110,8805,0.9999,9201,8806,656166.6667,9003,8807,26246666.6667,9003,,,,,, -15382,"SPCS83 Nevada Central zone (US Survey feet)",9807,8801,34.45,9110,8802,-116.4,9110,8805,0.9999,9201,8806,1640416.6667,9003,8807,19685000,9003,,,,,, -15383,"SPCS83 Nevada West zone (US Survey feet)",9807,8801,34.45,9110,8802,-118.35,9110,8805,0.9999,9201,8806,2624666.6667,9003,8807,13123333.3333,9003,,,,,, -15384,"SPCS83 New Jersey zone (US Survey feet)",9807,8801,38.5,9110,8802,-74.3,9110,8805,0.9999,9201,8806,492125,9003,8807,0,9003,,,,,, -15385,"SPCS83 Arkansas North zone (US Survey feet)",9802,8821,34.2,9110,8822,-92,9110,8823,36.14,9110,8824,34.56,9110,8826,1312333.3333,9003,8827,0,9003,,, -15386,"SPCS83 Arkansas South zone (US Survey feet)",9802,8821,32.4,9110,8822,-92,9110,8823,34.46,9110,8824,33.18,9110,8826,1312333.3333,9003,8827,1312333.3333,9003,,, -15387,"SPCS83 Illinois East zone (US Survey feet)",9807,8801,36.4,9110,8802,-88.2,9110,8805,0.999975,9201,8806,984250,9003,8807,0,9003,,,,,, -15388,"SPCS83 Illinois West zone (US Survey feet)",9807,8801,36.4,9110,8802,-90.1,9110,8805,0.999941177,9201,8806,2296583.3333,9003,8807,0,9003,,,,,, -15389,"SPCS83 New Hampshire zone (US Survey feet)",9807,8801,42.3,9110,8802,-71.4,9110,8805,0.999966667,9201,8806,984250,9003,8807,0,9003,,,,,, -15390,"SPCS83 Rhode Island zone (US Survey feet)",9807,8801,41.05,9110,8802,-71.3,9110,8805,0.99999375,9201,8806,328083.3333,9003,8807,0,9003,,,,,, -15391,"SPCS83 Louisiana North zone (US Survey feet)",9802,8821,30.3,9110,8822,-92.3,9110,8823,32.4,9110,8824,31.1,9110,8826,3280833.3333,9003,8827,0,9003,,, -15392,"SPCS83 Louisiana South zone (US Survey feet)",9802,8821,28.3,9110,8822,-91.2,9110,8823,30.42,9110,8824,29.18,9110,8826,3280833.3333,9003,8827,0,9003,,, -15393,"SPCS83 Louisiana Offshore zone (US Survey feet)",9802,8821,25.3,9110,8822,-91.2,9110,8823,27.5,9110,8824,26.1,9110,8826,3280833.3333,9003,8827,0,9003,,, -15394,"SPCS83 South Dakota North zone (US Survey feet)",9802,8821,43.5,9110,8822,-100,9110,8823,45.41,9110,8824,44.25,9110,8826,1968500,9003,8827,0,9003,,, -15395,"SPCS83 South Dakota South zone (US Survey feet)",9802,8821,42.2,9110,8822,-100.2,9110,8823,44.24,9110,8824,42.5,9110,8826,1968500,9003,8827,0,9003,,, -15396,"SPCS83 Nebraska zone (US Survey feet)",9802,8821,39.5,9110,8822,-100,9110,8823,43,9110,8824,40,9110,8826,1640416.6667,9003,8827,0,9003,,, -15397,Great Lakes Albers,9822,8821,45.568977,9102,8822,-84.455955,9102,8823,42.122774,9102,8824,49.01518,9102,8826,1000000,9001,8827,1000000,9001,,, -15398,Great Lakes and St Lawrence Albers,9822,8821,45.568977,9102,8822,-83.248627,9102,8823,42.122774,9102,8824,49.01518,9102,8826,1000000,9001,8827,1000000,9001,,, -15399,Yap Islands,9832,8801,9.324815,9110,8802,138.100748,9110,8806,40000,9001,8807,60000,9001,,,,,,,,, -15400,Guam SPCS,9831,8801,13.282087887,9110,8802,144.445550254,9110,8806,50000,9001,8807,50000,9001,,,,,,,,, -15498,"axis order change (2D)",9843,,,,,,,,,,,,,,,,,,,,, -15499,"axis order change (geographic3D horizontal)",9844,,,,,,,,,,,,,,,,,,,,, -15500,Australian Antarctic geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15501,Australian Antarctic geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15502,CHTRF95 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15503,CHTRF95 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15504,EST97 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15505,EST97 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15506,ETRS89 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15507,ETRS89 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15508,GDA94 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15509,GDA94 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15510,Hartebeesthoek94 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15511,Hartebeesthoek94 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15512,IRENET95 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15513,IRENET95 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15514,ISN93 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15515,ISN93 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15516,JGD2000 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15517,JGD2000 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15518,LKS92 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15519,LKS92 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15520,LKS94 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15521,LKS94 geocentric to geog3D,9659,,,,,,,,,,,,,,,,,,,,, -15522,Moznet geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15523,Moznet geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15524,"NAD83(CSRS) geocentric to geog3D",9602,,,,,,,,,,,,,,,,,,,,, -15525,"NAD83(CSRS) geog3D to geog2D",9659,,,,,,,,,,,,,,,,,,,,, -15526,"NAD83(HARN) geocentric to geog3D",9602,,,,,,,,,,,,,,,,,,,,, -15527,"NAD83(HARN) geog3D to geog2D",9659,,,,,,,,,,,,,,,,,,,,, -15528,NZGD2000 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15529,NZGD2000 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15530,POSGAR 98 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15531,POSGAR 98 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15532,REGVEN geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15533,REGVEN geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15534,RGF93 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15535,RGF93 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15536,RGFG95 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15537,RGFG95 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15538,RGNC91-93 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15539,RGNC91-93 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15540,RGR92 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15541,RGR92 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15542,RRAF 1991 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15543,RRAF 1991 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15544,SIRGAS geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15545,SIRGAS geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15546,SWEREF99 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15547,SWEREF99 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15548,WGS 84 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15549,WGS 84 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15550,Yemen NGN96 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15551,Yemen NGN96 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15552,IGM95 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15553,IGM95 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15554,WGS 72 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15555,WGS 72 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15556,WGS 72BE geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15557,WGS 72BE geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15558,SIRGAS 2000 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15559,SIRGAS 2000 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15560,Lao 1993 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15561,Lao 1993 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15562,Lao 1997 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15563,Lao 1997 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15564,PRS92 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15565,PRS92 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15566,MAGNA-SIRGAS geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15567,MAGNA-SIRGAS geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15568,RGPF geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15569,RGPF geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15570,POSGAR 94 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15571,POSGAR 94 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15572,Korean 2000 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15573,Korean 2000 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15574,Mauritania 1999 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15575,Mauritania 1999 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15576,PZ-90 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15577,PZ-90 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15578,GDM2000 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15579,GDM2000 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15580,GR96 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15581,GR96 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15582,LGD2006 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15583,LGD2006 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15584,DGN95 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15585,DGN95 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15586,JAD2001 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15587,JAD2001 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15588,"NAD83(NSRS2007) geocentric to geog3D",9602,,,,,,,,,,,,,,,,,,,,, -15589,"NAD83(NSRS2007) geog3D to geog2D",9659,,,,,,,,,,,,,,,,,,,,, -15590,WGS 66 geocentric to geog3D,9602,,,,,,,,,,,,,,,,,,,,, -15591,WGS 66 geog3D to geog2D,9659,,,,,,,,,,,,,,,,,,,,, -15592,geocentric to geographic3D,9602,,,,,,,,,,,,,,,,,,,,, -15593,geographic3D to geographic2D,9659,,,,,,,,,,,,,,,,,,,,, -15594,EPSG topocentric example A,9837,8834,55,9102,8835,5,9102,8836,0,9001,,,,,,,,,,,, -15595,EPSG topocentric example B,9836,8837,3771793.97,9001,8838,140253.34,9001,8839,5124304.35,9001,,,,,,,,,,,, -15914,"BLM zone 14N (US survey feet)",9807,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -15915,"BLM zone 15N (US survey feet)",9807,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -15916,"BLM zone 16N (US survey feet)",9807,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -15917,"BLM zone 17N (US survey feet)",9807,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,1640416.67,9003,8807,0,9003,,,,,, -16000,"UTM grid system (northern hemisphere)",9824,8801,0,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,8830,-180,9102,8831,6,9102,,, -16001,UTM zone 1N,9807,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16002,UTM zone 2N,9807,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16003,UTM zone 3N,9807,8801,0,9102,8802,-165,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16004,UTM zone 4N,9807,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16005,UTM zone 5N,9807,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16006,UTM zone 6N,9807,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16007,UTM zone 7N,9807,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16008,UTM zone 8N,9807,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16009,UTM zone 9N,9807,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16010,UTM zone 10N,9807,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16011,UTM zone 11N,9807,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16012,UTM zone 12N,9807,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16013,UTM zone 13N,9807,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16014,UTM zone 14N,9807,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16015,UTM zone 15N,9807,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16016,UTM zone 16N,9807,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16017,UTM zone 17N,9807,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16018,UTM zone 18N,9807,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16019,UTM zone 19N,9807,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16020,UTM zone 20N,9807,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16021,UTM zone 21N,9807,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16022,UTM zone 22N,9807,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16023,UTM zone 23N,9807,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16024,UTM zone 24N,9807,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16025,UTM zone 25N,9807,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16026,UTM zone 26N,9807,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16027,UTM zone 27N,9807,8801,0,9102,8802,-21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16028,UTM zone 28N,9807,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16029,UTM zone 29N,9807,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16030,UTM zone 30N,9807,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16031,UTM zone 31N,9807,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16032,UTM zone 32N,9807,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16033,UTM zone 33N,9807,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16034,UTM zone 34N,9807,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16035,UTM zone 35N,9807,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16036,UTM zone 36N,9807,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16037,UTM zone 37N,9807,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16038,UTM zone 38N,9807,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16039,UTM zone 39N,9807,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16040,UTM zone 40N,9807,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16041,UTM zone 41N,9807,8801,0,9102,8802,63,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16042,UTM zone 42N,9807,8801,0,9102,8802,69,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16043,UTM zone 43N,9807,8801,0,9102,8802,75,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16044,UTM zone 44N,9807,8801,0,9102,8802,81,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16045,UTM zone 45N,9807,8801,0,9102,8802,87,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16046,UTM zone 46N,9807,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16047,UTM zone 47N,9807,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16048,UTM zone 48N,9807,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16049,UTM zone 49N,9807,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16050,UTM zone 50N,9807,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16051,UTM zone 51N,9807,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16052,UTM zone 52N,9807,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16053,UTM zone 53N,9807,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16054,UTM zone 54N,9807,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16055,UTM zone 55N,9807,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16056,UTM zone 56N,9807,8801,0,9102,8802,153,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16057,UTM zone 57N,9807,8801,0,9102,8802,159,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16058,UTM zone 58N,9807,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16059,UTM zone 59N,9807,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16060,UTM zone 60N,9807,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16061,Universal Polar Stereographic North,9810,8801,90,9102,8802,0,9102,8805,0.994,9201,8806,2000000,9001,8807,2000000,9001,,,,,, -16065,TM35FIN,9807,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16070,3-degree Gauss-Kruger zone 40,9807,8801,0,9102,8802,120,9102,8805,1,9201,8806,40500000,9001,8807,0,9001,,,,,, -16071,3-degree Gauss-Kruger zone 41,9807,8801,0,9102,8802,123,9102,8805,1,9201,8806,41500000,9001,8807,0,9001,,,,,, -16072,3-degree Gauss-Kruger zone 42,9807,8801,0,9102,8802,126,9102,8805,1,9201,8806,42500000,9001,8807,0,9001,,,,,, -16073,3-degree Gauss-Kruger zone 43,9807,8801,0,9102,8802,129,9102,8805,1,9201,8806,43500000,9001,8807,0,9001,,,,,, -16074,3-degree Gauss-Kruger zone 44,9807,8801,0,9102,8802,132,9102,8805,1,9201,8806,44500000,9001,8807,0,9001,,,,,, -16075,3-degree Gauss-Kruger zone 45,9807,8801,0,9102,8802,135,9102,8805,1,9201,8806,45500000,9001,8807,0,9001,,,,,, -16076,3-degree Gauss-Kruger zone 46,9807,8801,0,9102,8802,138,9102,8805,1,9201,8806,46500000,9001,8807,0,9001,,,,,, -16077,3-degree Gauss-Kruger zone 47,9807,8801,0,9102,8802,141,9102,8805,1,9201,8806,47500000,9001,8807,0,9001,,,,,, -16078,3-degree Gauss-Kruger zone 48,9807,8801,0,9102,8802,144,9102,8805,1,9201,8806,48500000,9001,8807,0,9001,,,,,, -16079,3-degree Gauss-Kruger zone 49,9807,8801,0,9102,8802,147,9102,8805,1,9201,8806,49500000,9001,8807,0,9001,,,,,, -16080,3-degree Gauss-Kruger zone 50,9807,8801,0,9102,8802,150,9102,8805,1,9201,8806,50500000,9001,8807,0,9001,,,,,, -16081,3-degree Gauss-Kruger zone 51,9807,8801,0,9102,8802,153,9102,8805,1,9201,8806,51500000,9001,8807,0,9001,,,,,, -16082,3-degree Gauss-Kruger zone 52,9807,8801,0,9102,8802,156,9102,8805,1,9201,8806,52500000,9001,8807,0,9001,,,,,, -16083,3-degree Gauss-Kruger zone 53,9807,8801,0,9102,8802,159,9102,8805,1,9201,8806,53500000,9001,8807,0,9001,,,,,, -16084,3-degree Gauss-Kruger zone 54,9807,8801,0,9102,8802,162,9102,8805,1,9201,8806,54500000,9001,8807,0,9001,,,,,, -16085,3-degree Gauss-Kruger zone 55,9807,8801,0,9102,8802,165,9102,8805,1,9201,8806,55500000,9001,8807,0,9001,,,,,, -16086,3-degree Gauss-Kruger zone 56,9807,8801,0,9102,8802,168,9102,8805,1,9201,8806,56500000,9001,8807,0,9001,,,,,, -16087,3-degree Gauss-Kruger zone 57,9807,8801,0,9102,8802,171,9102,8805,1,9201,8806,57500000,9001,8807,0,9001,,,,,, -16088,3-degree Gauss-Kruger zone 58,9807,8801,0,9102,8802,174,9102,8805,1,9201,8806,58500000,9001,8807,0,9001,,,,,, -16089,3-degree Gauss-Kruger zone 59,9807,8801,0,9102,8802,177,9102,8805,1,9201,8806,59500000,9001,8807,0,9001,,,,,, -16090,3-degree Gauss-Kruger zone 60,9807,8801,0,9102,8802,180,9102,8805,1,9201,8806,60000000,9001,8807,0,9001,,,,,, -16091,3-degree Gauss-Kruger zone 61,9807,8801,0,9102,8802,-177,9102,8805,1,9201,8806,61500000,9001,8807,0,9001,,,,,, -16092,3-degree Gauss-Kruger zone 62,9807,8801,0,9102,8802,-174,9102,8805,1,9201,8806,62500000,9001,8807,0,9001,,,,,, -16093,3-degree Gauss-Kruger zone 63,9807,8801,0,9102,8802,-171,9102,8805,1,9201,8806,63500000,9001,8807,0,9001,,,,,, -16094,3-degree Gauss-Kruger zone 64,9807,8801,0,9102,8802,-168,9102,8805,1,9201,8806,64500000,9001,8807,0,9001,,,,,, -16099,3-degree Gauss-Kruger zone 60,9807,8801,0,9102,8802,180,9102,8805,1,9201,8806,60500000,9001,8807,0,9001,,,,,, -16100,"UTM grid system (southern hemisphere)",9824,8801,0,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,8830,-180,9102,8831,6,9102,,, -16101,UTM zone 1S,9807,8801,0,9102,8802,-177,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16102,UTM zone 2S,9807,8801,0,9102,8802,-171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16103,UTM zone 3S,9807,8801,0,9102,8802,-165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16104,UTM zone 4S,9807,8801,0,9102,8802,-159,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16105,UTM zone 5S,9807,8801,0,9102,8802,-153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16106,UTM zone 6S,9807,8801,0,9102,8802,-147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16107,UTM zone 7S,9807,8801,0,9102,8802,-141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16108,UTM zone 8S,9807,8801,0,9102,8802,-135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16109,UTM zone 9S,9807,8801,0,9102,8802,-129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16110,UTM zone 10S,9807,8801,0,9102,8802,-123,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16111,UTM zone 11S,9807,8801,0,9102,8802,-117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16112,UTM zone 12S,9807,8801,0,9102,8802,-111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16113,UTM zone 13S,9807,8801,0,9102,8802,-105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16114,UTM zone 14S,9807,8801,0,9102,8802,-99,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16115,UTM zone 15S,9807,8801,0,9102,8802,-93,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16116,UTM zone 16S,9807,8801,0,9102,8802,-87,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16117,UTM zone 17S,9807,8801,0,9102,8802,-81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16118,UTM zone 18S,9807,8801,0,9102,8802,-75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16119,UTM zone 19S,9807,8801,0,9102,8802,-69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16120,UTM zone 20S,9807,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16121,UTM zone 21S,9807,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16122,UTM zone 22S,9807,8801,0,9102,8802,-51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16123,UTM zone 23S,9807,8801,0,9102,8802,-45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16124,UTM zone 24S,9807,8801,0,9102,8802,-39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16125,UTM zone 25S,9807,8801,0,9102,8802,-33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16126,UTM zone 26S,9807,8801,0,9102,8802,-27,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16127,UTM zone 27S,9807,8801,0,9102,8802,-21,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16128,UTM zone 28S,9807,8801,0,9102,8802,-15,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16129,UTM zone 29S,9807,8801,0,9102,8802,-9,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16130,UTM zone 30S,9807,8801,0,9102,8802,-3,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16131,UTM zone 31S,9807,8801,0,9102,8802,3,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16132,UTM zone 32S,9807,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16133,UTM zone 33S,9807,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16134,UTM zone 34S,9807,8801,0,9102,8802,21,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16135,UTM zone 35S,9807,8801,0,9102,8802,27,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16136,UTM zone 36S,9807,8801,0,9102,8802,33,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16137,UTM zone 37S,9807,8801,0,9102,8802,39,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16138,UTM zone 38S,9807,8801,0,9102,8802,45,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16139,UTM zone 39S,9807,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16140,UTM zone 40S,9807,8801,0,9102,8802,57,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16141,UTM zone 41S,9807,8801,0,9102,8802,63,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16142,UTM zone 42S,9807,8801,0,9102,8802,69,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16143,UTM zone 43S,9807,8801,0,9102,8802,75,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16144,UTM zone 44S,9807,8801,0,9102,8802,81,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16145,UTM zone 45S,9807,8801,0,9102,8802,87,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16146,UTM zone 46S,9807,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16147,UTM zone 47S,9807,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16148,UTM zone 48S,9807,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16149,UTM zone 49S,9807,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16150,UTM zone 50S,9807,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16151,UTM zone 51S,9807,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16152,UTM zone 52S,9807,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16153,UTM zone 53S,9807,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16154,UTM zone 54S,9807,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16155,UTM zone 55S,9807,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16156,UTM zone 56S,9807,8801,0,9102,8802,153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16157,UTM zone 57S,9807,8801,0,9102,8802,159,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16158,UTM zone 58S,9807,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16159,UTM zone 59S,9807,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16160,UTM zone 60S,9807,8801,0,9102,8802,177,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16161,Universal Polar Stereographic South,9810,8801,-90,9102,8802,0,9102,8805,0.994,9201,8806,2000000,9001,8807,2000000,9001,,,,,, -16170,3-degree Gauss-Kruger CM 120E,9807,8801,0,9102,8802,120,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16171,3-degree Gauss-Kruger CM 123E,9807,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16172,3-degree Gauss-Kruger CM 126E,9807,8801,0,9102,8802,126,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16173,3-degree Gauss-Kruger CM 129E,9807,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16174,3-degree Gauss-Kruger CM 132E,9807,8801,0,9102,8802,132,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16175,3-degree Gauss-Kruger CM 135E,9807,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16176,3-degree Gauss-Kruger CM 138E,9807,8801,0,9102,8802,138,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16177,3-degree Gauss-Kruger CM 141E,9807,8801,0,9102,8802,141,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16178,3-degree Gauss-Kruger CM 144E,9807,8801,0,9102,8802,144,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16179,3-degree Gauss-Kruger CM 147E,9807,8801,0,9102,8802,147,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16180,3-degree Gauss-Kruger CM 150E,9807,8801,0,9102,8802,150,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16181,3-degree Gauss-Kruger CM 153E,9807,8801,0,9102,8802,153,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16182,3-degree Gauss-Kruger CM 156E,9807,8801,0,9102,8802,156,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16183,3-degree Gauss-Kruger CM 159E,9807,8801,0,9102,8802,159,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16184,3-degree Gauss-Kruger CM 162E,9807,8801,0,9102,8802,162,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16185,3-degree Gauss-Kruger CM 165E,9807,8801,0,9102,8802,165,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16186,3-degree Gauss-Kruger CM 168E,9807,8801,0,9102,8802,168,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16187,3-degree Gauss-Kruger CM 171E,9807,8801,0,9102,8802,171,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16188,3-degree Gauss-Kruger CM 174E,9807,8801,0,9102,8802,174,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16189,3-degree Gauss-Kruger CM 177E,9807,8801,0,9102,8802,177,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16190,3-degree Gauss-Kruger CM 180,9807,8801,0,9102,8802,180,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16191,3-degree Gauss-Kruger CM 177W,9807,8801,0,9102,8802,-177,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16192,3-degree Gauss-Kruger CM 174W,9807,8801,0,9102,8802,-174,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16193,3-degree Gauss-Kruger CM 171W,9807,8801,0,9102,8802,-171,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16194,3-degree Gauss-Kruger CM 168W,9807,8801,0,9102,8802,-168,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16201,6-degree Gauss-Kruger zone 1,9807,8801,0,9102,8802,3,9102,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,, -16202,6-degree Gauss-Kruger zone 2,9807,8801,0,9102,8802,9,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,, -16203,6-degree Gauss-Kruger zone 3,9807,8801,0,9102,8802,15,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,, -16204,6-degree Gauss-Kruger zone 4,9807,8801,0,9102,8802,21,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,, -16205,6-degree Gauss-Kruger zone 5,9807,8801,0,9102,8802,27,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,, -16206,6-degree Gauss-Kruger zone 6,9807,8801,0,9102,8802,33,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,, -16207,6-degree Gauss-Kruger zone 7,9807,8801,0,9102,8802,39,9102,8805,1,9201,8806,7500000,9001,8807,0,9001,,,,,, -16208,6-degree Gauss-Kruger zone 8,9807,8801,0,9102,8802,45,9102,8805,1,9201,8806,8500000,9001,8807,0,9001,,,,,, -16209,6-degree Gauss-Kruger zone 9,9807,8801,0,9102,8802,51,9102,8805,1,9201,8806,9500000,9001,8807,0,9001,,,,,, -16210,6-degree Gauss-Kruger zone 10,9807,8801,0,9102,8802,57,9102,8805,1,9201,8806,10500000,9001,8807,0,9001,,,,,, -16211,6-degree Gauss-Kruger zone 11,9807,8801,0,9102,8802,63,9102,8805,1,9201,8806,11500000,9001,8807,0,9001,,,,,, -16212,6-degree Gauss-Kruger zone 12,9807,8801,0,9102,8802,69,9102,8805,1,9201,8806,12500000,9001,8807,0,9001,,,,,, -16213,6-degree Gauss-Kruger zone 13,9807,8801,0,9102,8802,75,9102,8805,1,9201,8806,13500000,9001,8807,0,9001,,,,,, -16214,6-degree Gauss-Kruger zone 14,9807,8801,0,9102,8802,81,9102,8805,1,9201,8806,14500000,9001,8807,0,9001,,,,,, -16215,6-degree Gauss-Kruger zone 15,9807,8801,0,9102,8802,87,9102,8805,1,9201,8806,15500000,9001,8807,0,9001,,,,,, -16216,6-degree Gauss-Kruger zone 16,9807,8801,0,9102,8802,93,9102,8805,1,9201,8806,16500000,9001,8807,0,9001,,,,,, -16217,6-degree Gauss-Kruger zone 17,9807,8801,0,9102,8802,99,9102,8805,1,9201,8806,17500000,9001,8807,0,9001,,,,,, -16218,6-degree Gauss-Kruger zone 18,9807,8801,0,9102,8802,105,9102,8805,1,9201,8806,18500000,9001,8807,0,9001,,,,,, -16219,6-degree Gauss-Kruger zone 19,9807,8801,0,9102,8802,111,9102,8805,1,9201,8806,19500000,9001,8807,0,9001,,,,,, -16220,6-degree Gauss-Kruger zone 20,9807,8801,0,9102,8802,117,9102,8805,1,9201,8806,20500000,9001,8807,0,9001,,,,,, -16221,6-degree Gauss-Kruger zone 21,9807,8801,0,9102,8802,123,9102,8805,1,9201,8806,21500000,9001,8807,0,9001,,,,,, -16222,6-degree Gauss-Kruger zone 22,9807,8801,0,9102,8802,129,9102,8805,1,9201,8806,22500000,9001,8807,0,9001,,,,,, -16223,6-degree Gauss-Kruger zone 23,9807,8801,0,9102,8802,135,9102,8805,1,9201,8806,23500000,9001,8807,0,9001,,,,,, -16224,6-degree Gauss-Kruger zone 24,9807,8801,0,9102,8802,141,9102,8805,1,9201,8806,24500000,9001,8807,0,9001,,,,,, -16225,6-degree Gauss-Kruger zone 25,9807,8801,0,9102,8802,147,9102,8805,1,9201,8806,25500000,9001,8807,0,9001,,,,,, -16226,6-degree Gauss-Kruger zone 26,9807,8801,0,9102,8802,153,9102,8805,1,9201,8806,26500000,9001,8807,0,9001,,,,,, -16227,6-degree Gauss-Kruger zone 27,9807,8801,0,9102,8802,159,9102,8805,1,9201,8806,27500000,9001,8807,0,9001,,,,,, -16228,6-degree Gauss-Kruger zone 28,9807,8801,0,9102,8802,165,9102,8805,1,9201,8806,28500000,9001,8807,0,9001,,,,,, -16229,6-degree Gauss-Kruger zone 29,9807,8801,0,9102,8802,171,9102,8805,1,9201,8806,29500000,9001,8807,0,9001,,,,,, -16230,6-degree Gauss-Kruger zone 30,9807,8801,0,9102,8802,177,9102,8805,1,9201,8806,30500000,9001,8807,0,9001,,,,,, -16231,6-degree Gauss-Kruger zone 31,9807,8801,0,9102,8802,-177,9102,8805,1,9201,8806,31500000,9001,8807,0,9001,,,,,, -16232,6-degree Gauss-Kruger zone 32,9807,8801,0,9102,8802,-171,9102,8805,1,9201,8806,32500000,9001,8807,0,9001,,,,,, -16233,6-degree Gauss-Kruger zone 33,9807,8801,0,9102,8802,-165,9102,8805,1,9201,8806,33500000,9001,8807,0,9001,,,,,, -16234,6-degree Gauss-Kruger zone 34,9807,8801,0,9102,8802,-159,9102,8805,1,9201,8806,34500000,9001,8807,0,9001,,,,,, -16235,6-degree Gauss-Kruger zone 35,9807,8801,0,9102,8802,-153,9102,8805,1,9201,8806,35500000,9001,8807,0,9001,,,,,, -16236,6-degree Gauss-Kruger zone 36,9807,8801,0,9102,8802,-147,9102,8805,1,9201,8806,36500000,9001,8807,0,9001,,,,,, -16237,6-degree Gauss-Kruger zone 37,9807,8801,0,9102,8802,-141,9102,8805,1,9201,8806,37500000,9001,8807,0,9001,,,,,, -16238,6-degree Gauss-Kruger zone 38,9807,8801,0,9102,8802,-135,9102,8805,1,9201,8806,38500000,9001,8807,0,9001,,,,,, -16239,6-degree Gauss-Kruger zone 39,9807,8801,0,9102,8802,-129,9102,8805,1,9201,8806,39500000,9001,8807,0,9001,,,,,, -16240,6-degree Gauss-Kruger zone 40,9807,8801,0,9102,8802,-123,9102,8805,1,9201,8806,40500000,9001,8807,0,9001,,,,,, -16241,6-degree Gauss-Kruger zone 41,9807,8801,0,9102,8802,-117,9102,8805,1,9201,8806,41500000,9001,8807,0,9001,,,,,, -16242,6-degree Gauss-Kruger zone 42,9807,8801,0,9102,8802,-111,9102,8805,1,9201,8806,42500000,9001,8807,0,9001,,,,,, -16243,6-degree Gauss-Kruger zone 43,9807,8801,0,9102,8802,-105,9102,8805,1,9201,8806,43500000,9001,8807,0,9001,,,,,, -16244,6-degree Gauss-Kruger zone 44,9807,8801,0,9102,8802,-99,9102,8805,1,9201,8806,44500000,9001,8807,0,9001,,,,,, -16245,6-degree Gauss-Kruger zone 45,9807,8801,0,9102,8802,-93,9102,8805,1,9201,8806,45500000,9001,8807,0,9001,,,,,, -16246,6-degree Gauss-Kruger zone 46,9807,8801,0,9102,8802,-87,9102,8805,1,9201,8806,46500000,9001,8807,0,9001,,,,,, -16247,6-degree Gauss-Kruger zone 47,9807,8801,0,9102,8802,-81,9102,8805,1,9201,8806,47500000,9001,8807,0,9001,,,,,, -16248,6-degree Gauss-Kruger zone 48,9807,8801,0,9102,8802,-75,9102,8805,1,9201,8806,48500000,9001,8807,0,9001,,,,,, -16249,6-degree Gauss-Kruger zone 49,9807,8801,0,9102,8802,-69,9102,8805,1,9201,8806,49500000,9001,8807,0,9001,,,,,, -16250,6-degree Gauss-Kruger zone 50,9807,8801,0,9102,8802,-63,9102,8805,1,9201,8806,50500000,9001,8807,0,9001,,,,,, -16251,6-degree Gauss-Kruger zone 51,9807,8801,0,9102,8802,-57,9102,8805,1,9201,8806,51500000,9001,8807,0,9001,,,,,, -16252,6-degree Gauss-Kruger zone 52,9807,8801,0,9102,8802,-51,9102,8805,1,9201,8806,52500000,9001,8807,0,9001,,,,,, -16253,6-degree Gauss-Kruger zone 53,9807,8801,0,9102,8802,-45,9102,8805,1,9201,8806,53500000,9001,8807,0,9001,,,,,, -16254,6-degree Gauss-Kruger zone 54,9807,8801,0,9102,8802,-39,9102,8805,1,9201,8806,54500000,9001,8807,0,9001,,,,,, -16255,6-degree Gauss-Kruger zone 55,9807,8801,0,9102,8802,-33,9102,8805,1,9201,8806,55500000,9001,8807,0,9001,,,,,, -16256,6-degree Gauss-Kruger zone 56,9807,8801,0,9102,8802,-27,9102,8805,1,9201,8806,56500000,9001,8807,0,9001,,,,,, -16257,6-degree Gauss-Kruger zone 57,9807,8801,0,9102,8802,-21,9102,8805,1,9201,8806,57500000,9001,8807,0,9001,,,,,, -16258,6-degree Gauss-Kruger zone 58,9807,8801,0,9102,8802,-15,9102,8805,1,9201,8806,58500000,9001,8807,0,9001,,,,,, -16259,6-degree Gauss-Kruger zone 59,9807,8801,0,9102,8802,-9,9102,8805,1,9201,8806,59500000,9001,8807,0,9001,,,,,, -16260,6-degree Gauss-Kruger zone 60,9807,8801,0,9102,8802,-3,9102,8805,1,9201,8806,60500000,9001,8807,0,9001,,,,,, -16261,3-degree Gauss-Kruger zone 1,9807,8801,0,9102,8802,3,9102,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,, -16262,3-degree Gauss-Kruger zone 2,9807,8801,0,9102,8802,6,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,, -16263,3-degree Gauss-Kruger zone 3,9807,8801,0,9102,8802,9,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,, -16264,3-degree Gauss-Kruger zone 4,9807,8801,0,9102,8802,12,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,, -16265,3-degree Gauss-Kruger zone 5,9807,8801,0,9102,8802,15,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,, -16266,3-degree Gauss-Kruger zone 6,9807,8801,0,9102,8802,18,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,, -16267,3-degree Gauss-Kruger zone 7,9807,8801,0,9102,8802,21,9102,8805,1,9201,8806,7500000,9001,8807,0,9001,,,,,, -16268,3-degree Gauss-Kruger zone 8,9807,8801,0,9102,8802,24,9102,8805,1,9201,8806,8500000,9001,8807,0,9001,,,,,, -16269,3-degree Gauss-Kruger zone 9,9807,8801,0,9102,8802,27,9102,8805,1,9201,8806,9500000,9001,8807,0,9001,,,,,, -16270,3-degree Gauss-Kruger zone 10,9807,8801,0,9102,8802,30,9102,8805,1,9201,8806,10500000,9001,8807,0,9001,,,,,, -16271,3-degree Gauss-Kruger zone 11,9807,8801,0,9102,8802,33,9102,8805,1,9201,8806,11500000,9001,8807,0,9001,,,,,, -16272,3-degree Gauss-Kruger zone 12,9807,8801,0,9102,8802,36,9102,8805,1,9201,8806,12500000,9001,8807,0,9001,,,,,, -16273,3-degree Gauss-Kruger zone 13,9807,8801,0,9102,8802,39,9102,8805,1,9201,8806,13500000,9001,8807,0,9001,,,,,, -16274,3-degree Gauss-Kruger zone 14,9807,8801,0,9102,8802,42,9102,8805,1,9201,8806,14500000,9001,8807,0,9001,,,,,, -16275,3-degree Gauss-Kruger zone 15,9807,8801,0,9102,8802,45,9102,8805,1,9201,8806,15500000,9001,8807,0,9001,,,,,, -16276,3-degree Gauss-Kruger zone 16,9807,8801,0,9102,8802,48,9102,8805,1,9201,8806,16500000,9001,8807,0,9001,,,,,, -16277,3-degree Gauss-Kruger zone 17,9807,8801,0,9102,8802,51,9102,8805,1,9201,8806,17500000,9001,8807,0,9001,,,,,, -16278,3-degree Gauss-Kruger zone 18,9807,8801,0,9102,8802,54,9102,8805,1,9201,8806,18500000,9001,8807,0,9001,,,,,, -16279,3-degree Gauss-Kruger zone 19,9807,8801,0,9102,8802,57,9102,8805,1,9201,8806,19500000,9001,8807,0,9001,,,,,, -16280,3-degree Gauss-Kruger zone 20,9807,8801,0,9102,8802,60,9102,8805,1,9201,8806,20500000,9001,8807,0,9001,,,,,, -16281,3-degree Gauss-Kruger zone 21,9807,8801,0,9102,8802,63,9102,8805,1,9201,8806,21500000,9001,8807,0,9001,,,,,, -16282,3-degree Gauss-Kruger zone 22,9807,8801,0,9102,8802,66,9102,8805,1,9201,8806,22500000,9001,8807,0,9001,,,,,, -16283,3-degree Gauss-Kruger zone 23,9807,8801,0,9102,8802,69,9102,8805,1,9201,8806,23500000,9001,8807,0,9001,,,,,, -16284,3-degree Gauss-Kruger zone 24,9807,8801,0,9102,8802,72,9102,8805,1,9201,8806,24500000,9001,8807,0,9001,,,,,, -16285,3-degree Gauss-Kruger zone 25,9807,8801,0,9102,8802,75,9102,8805,1,9201,8806,25500000,9001,8807,0,9001,,,,,, -16286,3-degree Gauss-Kruger zone 26,9807,8801,0,9102,8802,78,9102,8805,1,9201,8806,26500000,9001,8807,0,9001,,,,,, -16287,3-degree Gauss-Kruger zone 27,9807,8801,0,9102,8802,81,9102,8805,1,9201,8806,27500000,9001,8807,0,9001,,,,,, -16288,3-degree Gauss-Kruger zone 28,9807,8801,0,9102,8802,84,9102,8805,1,9201,8806,28500000,9001,8807,0,9001,,,,,, -16289,3-degree Gauss-Kruger zone 29,9807,8801,0,9102,8802,87,9102,8805,1,9201,8806,29500000,9001,8807,0,9001,,,,,, -16290,3-degree Gauss-Kruger zone 30,9807,8801,0,9102,8802,90,9102,8805,1,9201,8806,30500000,9001,8807,0,9001,,,,,, -16291,3-degree Gauss-Kruger zone 31,9807,8801,0,9102,8802,93,9102,8805,1,9201,8806,31500000,9001,8807,0,9001,,,,,, -16292,3-degree Gauss-Kruger zone 32,9807,8801,0,9102,8802,96,9102,8805,1,9201,8806,32500000,9001,8807,0,9001,,,,,, -16293,3-degree Gauss-Kruger zone 33,9807,8801,0,9102,8802,99,9102,8805,1,9201,8806,33500000,9001,8807,0,9001,,,,,, -16294,3-degree Gauss-Kruger zone 34,9807,8801,0,9102,8802,102,9102,8805,1,9201,8806,34500000,9001,8807,0,9001,,,,,, -16295,3-degree Gauss-Kruger zone 35,9807,8801,0,9102,8802,105,9102,8805,1,9201,8806,35500000,9001,8807,0,9001,,,,,, -16296,3-degree Gauss-Kruger zone 36,9807,8801,0,9102,8802,108,9102,8805,1,9201,8806,36500000,9001,8807,0,9001,,,,,, -16297,3-degree Gauss-Kruger zone 37,9807,8801,0,9102,8802,111,9102,8805,1,9201,8806,37500000,9001,8807,0,9001,,,,,, -16298,3-degree Gauss-Kruger zone 38,9807,8801,0,9102,8802,114,9102,8805,1,9201,8806,38500000,9001,8807,0,9001,,,,,, -16299,3-degree Gauss-Kruger zone 39,9807,8801,0,9102,8802,117,9102,8805,1,9201,8806,39500000,9001,8807,0,9001,,,,,, -16301,Gauss-Kruger CM 3E,9807,8801,0,9102,8802,3,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16302,Gauss-Kruger CM 9E,9807,8801,0,9102,8802,9,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16303,Gauss-Kruger CM 15E,9807,8801,0,9102,8802,15,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16304,Gauss-Kruger CM 21E,9807,8801,0,9102,8802,21,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16305,Gauss-Kruger CM 27E,9807,8801,0,9102,8802,27,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16306,Gauss-Kruger CM 33E,9807,8801,0,9102,8802,33,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16307,Gauss-Kruger CM 39E,9807,8801,0,9102,8802,39,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16308,Gauss-Kruger CM 45E,9807,8801,0,9102,8802,45,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16309,Gauss-Kruger CM 51E,9807,8801,0,9102,8802,51,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16310,Gauss-Kruger CM 57E,9807,8801,0,9102,8802,57,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16311,Gauss-Kruger CM 63E,9807,8801,0,9102,8802,63,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16312,Gauss-Kruger CM 69E,9807,8801,0,9102,8802,69,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16313,Gauss-Kruger CM 75E,9807,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16314,Gauss-Kruger CM 81E,9807,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16315,Gauss-Kruger CM 87E,9807,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16316,Gauss-Kruger CM 93E,9807,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16317,Gauss-Kruger CM 99E,9807,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16318,Gauss-Kruger CM 105E,9807,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16319,Gauss-Kruger CM 111E,9807,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16320,Gauss-Kruger CM 117E,9807,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16321,Gauss-Kruger CM 123E,9807,8801,0,9102,8802,123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16322,Gauss-Kruger CM 129E,9807,8801,0,9102,8802,129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16323,Gauss-Kruger CM 135E,9807,8801,0,9102,8802,135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16324,Gauss-Kruger CM 141E,9807,8801,0,9102,8802,141,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16325,Gauss-Kruger CM 147E,9807,8801,0,9102,8802,147,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16326,Gauss-Kruger CM 153E,9807,8801,0,9102,8802,153,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16327,Gauss-Kruger CM 159E,9807,8801,0,9102,8802,159,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16328,Gauss-Kruger CM 165E,9807,8801,0,9102,8802,165,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16329,Gauss-Kruger CM 171E,9807,8801,0,9102,8802,171,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16330,Gauss-Kruger CM 177E,9807,8801,0,9102,8802,177,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16331,Gauss-Kruger CM 177W,9807,8801,0,9102,8802,-177,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16332,Gauss-Kruger CM 171W,9807,8801,0,9102,8802,-171,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16333,Gauss-Kruger CM 165W,9807,8801,0,9102,8802,-165,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16334,Gauss-Kruger CM 159W,9807,8801,0,9102,8802,-159,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16335,Gauss-Kruger CM 153W,9807,8801,0,9102,8802,-153,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16336,Gauss-Kruger CM 147W,9807,8801,0,9102,8802,-147,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16337,Gauss-Kruger CM 141W,9807,8801,0,9102,8802,-141,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16338,Gauss-Kruger CM 135W,9807,8801,0,9102,8802,-135,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16339,Gauss-Kruger CM 129W,9807,8801,0,9102,8802,-129,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16340,Gauss-Kruger CM 123W,9807,8801,0,9102,8802,-123,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16341,Gauss-Kruger CM 117W,9807,8801,0,9102,8802,-117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16342,Gauss-Kruger CM 111W,9807,8801,0,9102,8802,-111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16343,Gauss-Kruger CM 105W,9807,8801,0,9102,8802,-105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16344,Gauss-Kruger CM 99W,9807,8801,0,9102,8802,-99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16345,Gauss-Kruger CM 93W,9807,8801,0,9102,8802,-93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16346,Gauss-Kruger CM 87W,9807,8801,0,9102,8802,-87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16347,Gauss-Kruger CM 81W,9807,8801,0,9102,8802,-81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16348,Gauss-Kruger CM 75W,9807,8801,0,9102,8802,-75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16349,Gauss-Kruger CM 69W,9807,8801,0,9102,8802,-69,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16350,Gauss-Kruger CM 63W,9807,8801,0,9102,8802,-63,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16351,Gauss-Kruger CM 57W,9807,8801,0,9102,8802,-57,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16352,Gauss-Kruger CM 51W,9807,8801,0,9102,8802,-51,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16353,Gauss-Kruger CM 45W,9807,8801,0,9102,8802,-45,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16354,Gauss-Kruger CM 39W,9807,8801,0,9102,8802,-39,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16355,Gauss-Kruger CM 33W,9807,8801,0,9102,8802,-33,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16356,Gauss-Kruger CM 27W,9807,8801,0,9102,8802,-27,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16357,Gauss-Kruger CM 21W,9807,8801,0,9102,8802,-21,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16358,Gauss-Kruger CM 15W,9807,8801,0,9102,8802,-15,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16359,Gauss-Kruger CM 9W,9807,8801,0,9102,8802,-9,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16360,Gauss-Kruger CM 3W,9807,8801,0,9102,8802,-3,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16361,3-degree Gauss-Kruger CM 3E,9807,8801,0,9102,8802,3,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16362,3-degree Gauss-Kruger CM 6E,9807,8801,0,9102,8802,6,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16363,3-degree Gauss-Kruger CM 9E,9807,8801,0,9102,8802,9,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16364,3-degree Gauss-Kruger CM 12E,9807,8801,0,9102,8802,12,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16365,3-degree Gauss-Kruger CM 15E,9807,8801,0,9102,8802,15,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16366,3-degree Gauss-Kruger CM 18E,9807,8801,0,9102,8802,18,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16367,3-degree Gauss-Kruger CM 21E,9807,8801,0,9102,8802,21,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16368,3-degree Gauss-Kruger CM 24E,9807,8801,0,9102,8802,24,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16369,3-degree Gauss-Kruger CM 27E,9807,8801,0,9102,8802,27,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16370,3-degree Gauss-Kruger CM 30E,9807,8801,0,9102,8802,30,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16371,3-degree Gauss-Kruger CM 33E,9807,8801,0,9102,8802,33,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16372,3-degree Gauss-Kruger CM 36E,9807,8801,0,9102,8802,36,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16373,3-degree Gauss-Kruger CM 39E,9807,8801,0,9102,8802,39,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16374,3-degree Gauss-Kruger CM 42E,9807,8801,0,9102,8802,42,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16375,3-degree Gauss-Kruger CM 45E,9807,8801,0,9102,8802,45,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16376,3-degree Gauss-Kruger CM 48E,9807,8801,0,9102,8802,48,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16377,3-degree Gauss-Kruger CM 51E,9807,8801,0,9102,8802,51,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16378,3-degree Gauss-Kruger CM 54E,9807,8801,0,9102,8802,54,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16379,3-degree Gauss-Kruger CM 57E,9807,8801,0,9102,8802,57,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16380,3-degree Gauss-Kruger CM 60E,9807,8801,0,9102,8802,60,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16381,3-degree Gauss-Kruger CM 63E,9807,8801,0,9102,8802,63,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16382,3-degree Gauss-Kruger CM 66E,9807,8801,0,9102,8802,66,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16383,3-degree Gauss-Kruger CM 69E,9807,8801,0,9102,8802,69,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16384,3-degree Gauss-Kruger CM 72E,9807,8801,0,9102,8802,72,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16385,3-degree Gauss-Kruger CM 75E,9807,8801,0,9102,8802,75,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16386,3-degree Gauss-Kruger CM 78E,9807,8801,0,9102,8802,78,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16387,3-degree Gauss-Kruger CM 81E,9807,8801,0,9102,8802,81,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16388,3-degree Gauss-Kruger CM 84E,9807,8801,0,9102,8802,84,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16389,3-degree Gauss-Kruger CM 87E,9807,8801,0,9102,8802,87,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16390,3-degree Gauss-Kruger CM 90E,9807,8801,0,9102,8802,90,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16391,3-degree Gauss-Kruger CM 93E,9807,8801,0,9102,8802,93,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16392,3-degree Gauss-Kruger CM 96E,9807,8801,0,9102,8802,96,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16393,3-degree Gauss-Kruger CM 99E,9807,8801,0,9102,8802,99,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16394,3-degree Gauss-Kruger CM 102E,9807,8801,0,9102,8802,102,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16395,3-degree Gauss-Kruger CM 105E,9807,8801,0,9102,8802,105,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16396,3-degree Gauss-Kruger CM 108E,9807,8801,0,9102,8802,108,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16397,3-degree Gauss-Kruger CM 111E,9807,8801,0,9102,8802,111,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16398,3-degree Gauss-Kruger CM 114E,9807,8801,0,9102,8802,114,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16399,3-degree Gauss-Kruger CM 117E,9807,8801,0,9102,8802,117,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16400,TM 0 N,9807,8801,0,9102,8802,0,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16405,TM 5 NE,9807,8801,0,9102,8802,5,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16406,TM 6 NE,9807,8801,0,9102,8802,6,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16411,TM 11 NE,9807,8801,0,9102,8802,11,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16412,TM 12 NE,9807,8801,0,9102,8802,12,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16413,TM 13 NE,9807,8801,0,9102,8802,13,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16430,TM 30 NE,9807,8801,0,9102,8802,30,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16490,Bangladesh Transverse Mercator,9807,8801,0,9102,8802,90,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16506,TM 106 NE,9807,8801,0,9102,8802,106,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -16586,GK 106 NE,9807,8801,0,9102,8802,106,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -16611,TM 11.30 SE,9807,8801,0,9110,8802,11.3,9110,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16612,TM 12 SE,9807,8801,0,9102,8802,12,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16636,TM 36 SE,9807,8801,0,9102,8802,36,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16709,TM 109 SE,9807,8801,0,9102,8802,109,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16716,TM 116 SE,9807,8801,0,9102,8802,116,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -16732,TM 132 SE,9807,8801,0,9102,8802,132,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17001,TM 1 NW,9807,8801,0,9102,8802,-1,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -17005,TM 5 NW,9807,8801,0,9102,8802,-5,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -17054,TM 54 NW,9807,8801,0,9102,8802,-54,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -17204,SCAR IMW SP19-20,9802,8821,-90,9102,8822,-66,9102,8823,-60.4,9110,8824,-63.2,9110,8826,0,9001,8827,0,9001,,, -17205,SCAR IMW SP21-22,9802,8821,-90,9102,8822,-54,9102,8823,-60.4,9110,8824,-63.2,9110,8826,0,9001,8827,0,9001,,, -17206,SCAR IMW SP23-24,9802,8821,-90,9102,8822,-42,9102,8823,-60.4,9110,8824,-63.2,9110,8826,0,9001,8827,0,9001,,, -17207,SCAR IMW SQ01-02,9802,8821,-90,9102,8822,-174,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,, -17208,SCAR IMW SQ19-20,9802,8821,-90,9102,8822,-66,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,, -17209,SCAR IMW SQ21-22,9802,8821,-90,9102,8822,-54,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,, -17210,SCAR IMW SQ37-38,9802,8821,-90,9102,8822,42,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,, -17211,SCAR IMW SQ39-40,9802,8821,-90,9102,8822,54,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,, -17212,SCAR IMW SQ41-42,9802,8821,-90,9102,8822,66,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,, -17213,SCAR IMW SQ43-44,9802,8821,-90,9102,8822,78,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,, -17214,SCAR IMW SQ45-46,9802,8821,-90,9102,8822,90,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,, -17215,SCAR IMW SQ47-48,9802,8821,-90,9102,8822,102,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,, -17216,SCAR IMW SQ49-50,9802,8821,-90,9102,8822,114,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,, -17217,SCAR IMW SQ51-52,9802,8821,-90,9102,8822,126,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,, -17218,SCAR IMW SQ53-54,9802,8821,-90,9102,8822,138,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,, -17219,SCAR IMW SQ55-56,9802,8821,-90,9102,8822,150,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,, -17220,SCAR IMW SQ57-58,9802,8821,-90,9102,8822,162,9102,8823,-64.4,9110,8824,-67.2,9110,8826,0,9001,8827,0,9001,,, -17221,SCAR IMW SR13-14,9802,8821,-90,9102,8822,-102,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17222,SCAR IMW SR15-16,9802,8821,-90,9102,8822,-90,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17223,SCAR IMW SR17-18,9802,8821,-90,9102,8822,-78,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17224,SCAR IMW SR19-20,9802,8821,-90,9102,8822,-66,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17225,SCAR IMW SR27-28,9802,8821,-90,9102,8822,-18,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17226,SCAR IMW SR29-30,9802,8821,-90,9102,8822,-6,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17227,SCAR IMW SR31-32,9802,8821,-90,9102,8822,6,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17228,SCAR IMW SR33-34,9802,8821,-90,9102,8822,18,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17229,SCAR IMW SR35-36,9802,8821,-90,9102,8822,30,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17230,SCAR IMW SR37-38,9802,8821,-90,9102,8822,42,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17231,SCAR IMW SR39-40,9802,8821,-90,9102,8822,54,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17232,SCAR IMW SR41-42,9802,8821,-90,9102,8822,66,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17233,SCAR IMW SR43-44,9802,8821,-90,9102,8822,78,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17234,SCAR IMW SR45-46,9802,8821,-90,9102,8822,90,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17235,SCAR IMW SR47-48,9802,8821,-90,9102,8822,102,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17236,SCAR IMW SR49-50,9802,8821,-90,9102,8822,114,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17237,SCAR IMW SR51-52,9802,8821,-90,9102,8822,126,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17238,SCAR IMW SR53-54,9802,8821,-90,9102,8822,138,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17239,SCAR IMW SR55-56,9802,8821,-90,9102,8822,150,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17240,SCAR IMW SR57-58,9802,8821,-90,9102,8822,162,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17241,SCAR IMW SR59-60,9802,8821,-90,9102,8822,174,9102,8823,-68.4,9110,8824,-71.2,9110,8826,0,9001,8827,0,9001,,, -17242,SCAR IMW SS04-06,9802,8821,-90,9102,8822,-153,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17243,SCAR IMW SS07-09,9802,8821,-90,9102,8822,-135,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17244,SCAR IMW SS10-12,9802,8821,-90,9102,8822,-117,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17245,SCAR IMW SS13-15,9802,8821,-90,9102,8822,-99,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17246,SCAR IMW SS16-18,9802,8821,-90,9102,8822,-81,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17247,SCAR IMW SS19-21,9802,8821,-90,9102,8822,-63,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17248,SCAR IMW SS25-27,9802,8821,-90,9102,8822,-27,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17249,SCAR IMW SS28-30,9802,8821,-90,9102,8822,-9,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17250,SCAR IMW SS31-33,9802,8821,-90,9102,8822,9,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17251,SCAR IMW SS34-36,9802,8821,-90,9102,8822,27,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17252,SCAR IMW SS37-39,9802,8821,-90,9102,8822,45,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17253,SCAR IMW SS40-42,9802,8821,-90,9102,8822,63,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17254,SCAR IMW SS43-45,9802,8821,-90,9102,8822,81,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17255,SCAR IMW SS46-48,9802,8821,-90,9102,8822,99,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17256,SCAR IMW SS49-51,9802,8821,-90,9102,8822,117,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17257,SCAR IMW SS52-54,9802,8821,-90,9102,8822,135,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17258,SCAR IMW SS55-57,9802,8821,-90,9102,8822,153,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17259,SCAR IMW SS58-60,9802,8821,-90,9102,8822,171,9102,8823,-72.4,9110,8824,-75.2,9110,8826,0,9001,8827,0,9001,,, -17260,SCAR IMW ST01-04,9802,8821,-90,9102,8822,-168,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,, -17261,SCAR IMW ST05-08,9802,8821,-90,9102,8822,-144,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,, -17262,SCAR IMW ST09-12,9802,8821,-90,9102,8822,-120,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,, -17263,SCAR IMW ST13-16,9802,8821,-90,9102,8822,-96,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,, -17264,SCAR IMW ST17-20,9802,8821,-90,9102,8822,-72,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,, -17265,SCAR IMW ST21-24,9802,8821,-90,9102,8822,-48,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,, -17266,SCAR IMW ST25-28,9802,8821,-90,9102,8822,-24,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,, -17267,SCAR IMW ST29-32,9802,8821,-90,9102,8822,0,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,, -17268,SCAR IMW ST33-36,9802,8821,-90,9102,8822,24,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,, -17269,SCAR IMW ST37-40,9802,8821,-90,9102,8822,48,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,, -17270,SCAR IMW ST41-44,9802,8821,-90,9102,8822,72,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,, -17271,SCAR IMW ST45-48,9802,8821,-90,9102,8822,96,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,, -17272,SCAR IMW ST49-52,9802,8821,-90,9102,8822,120,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,, -17273,SCAR IMW ST53-56,9802,8821,-90,9102,8822,144,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,, -17274,SCAR IMW ST57-60,9802,8821,-90,9102,8822,168,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,, -17275,SCAR IMW SU01-05,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-165,9102,,,,,,,,, -17276,SCAR IMW SU06-10,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-135,9102,,,,,,,,, -17277,SCAR IMW SU11-15,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-105,9102,,,,,,,,, -17278,SCAR IMW SU16-20,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-75,9102,,,,,,,,, -17279,SCAR IMW SU21-25,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-45,9102,,,,,,,,, -17280,SCAR IMW SU26-30,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-15,9102,,,,,,,,, -17281,SCAR IMW SU31-35,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,15,9102,,,,,,,,, -17282,SCAR IMW SU36-40,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,45,9102,,,,,,,,, -17283,SCAR IMW SU41-45,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,75,9102,,,,,,,,, -17284,SCAR IMW SU46-50,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,105,9102,,,,,,,,, -17285,SCAR IMW SU51-55,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,135,9102,,,,,,,,, -17286,SCAR IMW SU56-60,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,165,9102,,,,,,,,, -17287,SCAR IMW SV01-10,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-150,9102,,,,,,,,, -17288,SCAR IMW SV11-20,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-90,9102,,,,,,,,, -17289,SCAR IMW SV21-30,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,-30,9102,,,,,,,,, -17290,SCAR IMW SV31-40,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,30,9102,,,,,,,,, -17291,SCAR IMW SV41-50,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,90,9102,,,,,,,,, -17292,SCAR IMW SV51-60,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,150,9102,,,,,,,,, -17293,SCAR IMW SW01-60,9829,8806,0,9001,8807,0,9001,8832,-80.1419,9110,8833,0,9102,,,,,,,,, -17294,USGS Transantarctic Mountains,9802,8821,-78,9102,8822,162,9102,8823,-76.4,9110,8824,-79.2,9110,8826,0,9001,8827,0,9001,,, -17295,"North Pole Lambert Azimuthal Equal Area (Bering Sea)",9820,8801,90,9102,8802,180,9102,8806,0,9001,8807,0,9001,,,,,,,,, -17296,"North Pole Lambert Azimuthal Equal Area (Alaska)",9820,8801,90,9102,8802,-150,9102,8806,0,9001,8807,0,9001,,,,,,,,, -17297,"North Pole Lambert Azimuthal Equal Area (Canada)",9820,8801,90,9102,8802,-100,9102,8806,0,9001,8807,0,9001,,,,,,,,, -17298,"North Pole Lambert Azimuthal Equal Area (Atlantic)",9820,8801,90,9102,8802,-40,9102,8806,0,9001,8807,0,9001,,,,,,,,, -17299,"North Pole Lambert Azimuthal Equal Area (Europe)",9820,8801,90,9102,8802,10,9102,8806,0,9001,8807,0,9001,,,,,,,,, -17300,"North Pole Lambert Azimuthal Equal Area (Russia)",9820,8801,90,9102,8802,90,9102,8806,0,9001,8807,0,9001,,,,,,,,, -17321,SWEREF99 12 00,9807,8801,0,9102,8802,12,9102,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,, -17322,SWEREF99 13 30,9807,8801,0,9110,8802,13.3,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,, -17323,SWEREF99 15 00,9807,8801,0,9102,8802,15,9102,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,, -17324,SWEREF99 16 30,9807,8801,0,9110,8802,16.3,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,, -17325,SWEREF99 18 00,9807,8801,0,9102,8802,18,9102,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,, -17326,SWEREF99 14 15,9807,8801,0,9110,8802,14.15,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,, -17327,SWEREF99 15 45,9807,8801,0,9110,8802,15.45,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,, -17328,SWEREF99 17 15,9807,8801,0,9110,8802,17.15,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,, -17329,SWEREF99 18 45,9807,8801,0,9110,8802,18.45,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,, -17330,SWEREF99 20 15,9807,8801,0,9110,8802,20.15,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,, -17331,SWEREF99 21 45,9807,8801,0,9110,8802,21.45,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,, -17332,SWEREF99 23 15,9807,8801,0,9110,8802,23.15,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,, -17333,SWEREF99 TM,9807,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -17334,Sweden zone 7.5 gon V,9807,8801,0,9110,8802,11.18298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,, -17335,Sweden zone 5 gon V,9807,8801,0,9110,8802,13.33298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,, -17336,Sweden zone 0 gon,9807,8801,0,9110,8802,18.03298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,, -17337,Sweden zone 2.5 gon O,9807,8801,0,9110,8802,20.18298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,, -17338,Sweden zone 5 gon O,9807,8801,0,9110,8802,22.33298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,, -17339,RT90 zone 7.5 gon V emulation,9807,8801,0,9110,8802,11.18225,9110,8805,1.000006,9201,8806,1500025.141,9001,8807,-667.282,9001,,,,,, -17340,RT90 zone 5 gon V emulation,9807,8801,0,9110,8802,13.332256,9110,8805,1.0000058,9201,8806,1500044.695,9001,8807,-667.13,9001,,,,,, -17341,RT90 zone 2.5 gon V emulation,9807,8801,0,9110,8802,15.4822624306,9110,8805,1.00000561024,9201,8806,1500064.274,9001,8807,-667.711,9001,,,,,, -17342,RT90 zone 0 gon emulation,9807,8801,0,9110,8802,18.032268,9110,8805,1.0000054,9201,8806,1500083.521,9001,8807,-668.844,9001,,,,,, -17343,RT90 zone 2.5 gon O emulation,9807,8801,0,9110,8802,20.182274,9110,8805,1.0000052,9201,8806,1500102.765,9001,8807,-670.706,9001,,,,,, -17344,RT90 zone 5 gon O emulation,9807,8801,0,9110,8802,22.33228,9110,8805,1.0000049,9201,8806,1500121.846,9001,8807,-672.557,9001,,,,,, -17348,Map Grid of Australia zone 48,9807,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17349,Map Grid of Australia zone 49,9807,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17350,Map Grid of Australia zone 50,9807,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17351,Map Grid of Australia zone 51,9807,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17352,Map Grid of Australia zone 52,9807,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17353,Map Grid of Australia zone 53,9807,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17354,Map Grid of Australia zone 54,9807,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17355,Map Grid of Australia zone 55,9807,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17356,Map Grid of Australia zone 56,9807,8801,0,9102,8802,153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17357,Map Grid of Australia zone 57,9807,8801,0,9102,8802,159,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17358,Map Grid of Australia zone 58,9807,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17359,SA Lambert,9802,8821,-32,9102,8822,135,9102,8823,-28,9102,8824,-36,9102,8826,1000000,9001,8827,2000000,9001,,, -17360,Vicgrid66,9802,8821,-37,9102,8822,145,9102,8823,-36,9102,8824,-38,9102,8826,2500000,9001,8827,4500000,9001,,, -17361,Vicgrid,9802,8821,-37,9102,8822,145,9102,8823,-36,9102,8824,-38,9102,8826,2500000,9001,8827,2500000,9001,,, -17362,Geoscience Australia Standard National Scale Lambert Projection,9802,8821,0,9102,8822,134,9102,8823,-18,9102,8824,-36,9102,8826,0,9001,8827,0,9001,,, -17363,Brisbane City Survey Grid 02,9807,8801,-28,9102,8802,153,9102,8805,0.99999,9201,8806,50000,9001,8807,100000,9001,,,,,, -17364,New South Wales Lambert,9802,8821,-33.25,9102,8822,147,9102,8823,-30.75,9102,8824,-35.75,9102,8826,9300000,9001,8827,4500000,9001,,, -17365,Australian Albers,9822,8821,0,9102,8822,132,9102,8823,-18,9102,8824,-36,9102,8826,0,9001,8827,0,9001,,, -17401,Katanga Lambert Conformal,9802,8821,0,9102,8822,26,9102,8823,-6.5,9102,8824,-11.5,9102,8826,0,9001,8827,0,9001,,, -17402,Katanga Transverse Mercator,9807,8801,-9,9102,8802,26,9102,8805,0.9998,9201,8806,0,9001,8807,0,9001,,,,,, -17412,Congo Transverse Mercator zone 12,9807,8801,0,9102,8802,12,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17414,Congo Transverse Mercator zone 14,9807,8801,0,9102,8802,14,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17416,Congo Transverse Mercator zone 16,9807,8801,0,9102,8802,16,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17418,Congo Transverse Mercator zone 18,9807,8801,0,9102,8802,18,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17420,Congo Transverse Mercator zone 20,9807,8801,0,9102,8802,20,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17422,Congo Transverse Mercator zone 22,9807,8801,0,9102,8802,22,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17424,Congo Transverse Mercator zone 24,9807,8801,0,9102,8802,24,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17426,Congo Transverse Mercator zone 26,9807,8801,0,9102,8802,26,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17428,Congo Transverse Mercator zone 28,9807,8801,0,9102,8802,28,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17430,Congo Transverse Mercator zone 30,9807,8801,0,9102,8802,30,9102,8805,0.9999,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17432,Indonesia TM-3 zone 46.2,9807,8801,0,9102,8802,94.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,, -17433,Indonesia TM-3 zone 47.1,9807,8801,0,9102,8802,97.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,, -17434,Indonesia TM-3 zone 47.2,9807,8801,0,9102,8802,100.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,, -17435,Indonesia TM-3 zone 48.1,9807,8801,0,9102,8802,103.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,, -17436,Indonesia TM-3 zone 48.2,9807,8801,0,9102,8802,106.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,, -17437,Indonesia TM-3 zone 49.1,9807,8801,0,9102,8802,109.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,, -17438,Indonesia TM-3 zone 49.2,9807,8801,0,9102,8802,112.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,, -17439,Indonesia TM-3 zone 50.1,9807,8801,0,9102,8802,115.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,, -17440,Indonesia TM-3 zone 50.2,9807,8801,0,9102,8802,118.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,, -17441,Indonesia TM-3 zone 51.1,9807,8801,0,9102,8802,121.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,, -17442,Indonesia TM-3 zone 51.2,9807,8801,0,9102,8802,124.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,, -17443,Indonesia TM-3 zone 52.1,9807,8801,0,9102,8802,127.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,, -17444,Indonesia TM-3 zone 52.2,9807,8801,0,9102,8802,130.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,, -17445,Indonesia TM-3 zone 53.1,9807,8801,0,9102,8802,133.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,, -17446,Indonesia TM-3 zone 53.2,9807,8801,0,9102,8802,136.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,, -17447,Indonesia TM-3 zone 54.1,9807,8801,0,9102,8802,139.5,9102,8805,0.9999,9201,8806,200000,9001,8807,1500000,9001,,,,,, -17448,Australian Map Grid zone 48,9807,8801,0,9102,8802,105,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17449,Australian Map Grid zone 49,9807,8801,0,9102,8802,111,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17450,Australian Map Grid zone 50,9807,8801,0,9102,8802,117,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17451,Australian Map Grid zone 51,9807,8801,0,9102,8802,123,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17452,Australian Map Grid zone 52,9807,8801,0,9102,8802,129,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17453,Australian Map Grid zone 53,9807,8801,0,9102,8802,135,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17454,Australian Map Grid zone 54,9807,8801,0,9102,8802,141,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17455,Australian Map Grid zone 55,9807,8801,0,9102,8802,147,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17456,Australian Map Grid zone 56,9807,8801,0,9102,8802,153,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17457,Australian Map Grid zone 57,9807,8801,0,9102,8802,159,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17458,Australian Map Grid zone 58,9807,8801,0,9102,8802,165,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, -17515,South African Survey Grid zone 15,9808,8801,0,9102,8802,15,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -17517,South African Survey Grid zone 17,9808,8801,0,9102,8802,17,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -17519,South African Survey Grid zone 19,9808,8801,0,9102,8802,19,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -17521,South African Survey Grid zone 21,9808,8801,0,9102,8802,21,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -17523,South African Survey Grid zone 23,9808,8801,0,9102,8802,23,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -17525,South African Survey Grid zone 25,9808,8801,0,9102,8802,25,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -17527,South African Survey Grid zone 27,9808,8801,0,9102,8802,27,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -17529,South African Survey Grid zone 29,9808,8801,0,9102,8802,29,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -17531,South African Survey Grid zone 31,9808,8801,0,9102,8802,31,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -17533,South African Survey Grid zone 33,9808,8801,0,9102,8802,33,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -17611,South West African Survey Grid zone 11,9808,8801,-22,9102,8802,11,9102,8805,1,9201,8806,0,9031,8807,0,9031,,,,,, -17613,South West African Survey Grid zone 13,9808,8801,-22,9102,8802,13,9102,8805,1,9201,8806,0,9031,8807,0,9031,,,,,, -17615,South West African Survey Grid zone 15,9808,8801,-22,9102,8802,15,9102,8805,1,9201,8806,0,9031,8807,0,9031,,,,,, -17617,South West African Survey Grid zone 17,9808,8801,-22,9102,8802,17,9102,8805,1,9201,8806,0,9031,8807,0,9031,,,,,, -17619,South West African Survey Grid zone 19,9808,8801,-22,9102,8802,19,9102,8805,1,9201,8806,0,9031,8807,0,9031,,,,,, -17621,South West African Survey Grid zone 21,9808,8801,-22,9102,8802,21,9102,8805,1,9201,8806,0,9031,8807,0,9031,,,,,, -17623,South West African Survey Grid zone 23,9808,8801,-22,9102,8802,23,9102,8805,1,9201,8806,0,9031,8807,0,9031,,,,,, -17625,South West African Survey Grid zone 25,9808,8801,-22,9102,8802,25,9102,8805,1,9201,8806,0,9031,8807,0,9031,,,,,, -17700,MTM Quebec zone 2,9807,8801,0,9110,8802,-55.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17701,MTM zone 1,9807,8801,0,9102,8802,-53,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17702,MTM zone 2,9807,8801,0,9102,8802,-56,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17703,MTM zone 3,9807,8801,0,9110,8802,-58.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17704,MTM zone 4,9807,8801,0,9110,8802,-61.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17705,MTM zone 5,9807,8801,0,9110,8802,-64.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17706,MTM zone 6,9807,8801,0,9110,8802,-67.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17707,MTM zone 7,9807,8801,0,9110,8802,-70.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17708,MTM zone 8,9807,8801,0,9110,8802,-73.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17709,MTM zone 9,9807,8801,0,9110,8802,-76.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17710,MTM zone 10,9807,8801,0,9110,8802,-79.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17711,MTM zone 11,9807,8801,0,9110,8802,-82.3,9110,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17712,MTM zone 12,9807,8801,0,9102,8802,-81,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17713,MTM zone 13,9807,8801,0,9102,8802,-84,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17714,MTM zone 14,9807,8801,0,9102,8802,-87,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17715,MTM zone 15,9807,8801,0,9102,8802,-90,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17716,MTM zone 16,9807,8801,0,9102,8802,-93,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17717,MTM zone 17,9807,8801,0,9102,8802,-96,9102,8805,0.9999,9201,8806,304800,9001,8807,0,9001,,,,,, -17722,Alberta 3-degree TM reference meridian 111 W,9807,8801,0,9102,8802,-111,9102,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17723,Alberta 3-degree TM reference meridian 114 W,9807,8801,0,9102,8802,-114,9102,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17724,Alberta 3-degree TM reference meridian 117 W,9807,8801,0,9102,8802,-117,9102,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17725,Alberta 3-degree TM reference meridian 120 W,9807,8801,0,9102,8802,-120,9102,8805,0.9999,9001,8806,0,9001,8807,0,9001,,,,,, -17726,Alberta 3-degree TM reference meridian 120 W,9807,8801,0,9102,8802,-120,9102,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17794,MTM Nova Scotia zone 4,9807,8801,0,9110,8802,-61.3,9110,8805,0.9999,9201,8806,4500000,9001,8807,0,9001,,,,,, -17795,MTM Nova Scotia zone 5,9807,8801,0,9110,8802,-64.3,9110,8805,0.9999,9201,8806,5500000,9001,8807,0,9001,,,,,, -17801,Japan Plane Rectangular CS zone I,9807,8801,33,9110,8802,129.3,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17802,Japan Plane Rectangular CS zone II,9807,8801,33,9110,8802,131,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17803,Japan Plane Rectangular CS zone III,9807,8801,36,9110,8802,132.1,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17804,Japan Plane Rectangular CS zone IV,9807,8801,33,9110,8802,133.3,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17805,Japan Plane Rectangular CS zone V,9807,8801,36,9110,8802,134.2,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17806,Japan Plane Rectangular CS zone VI,9807,8801,36,9110,8802,136,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17807,Japan Plane Rectangular CS zone VII,9807,8801,36,9110,8802,137.1,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17808,Japan Plane Rectangular CS zone VIII,9807,8801,36,9110,8802,138.3,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17809,Japan Plane Rectangular CS zone IX,9807,8801,36,9110,8802,139.5,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17810,Japan Plane Rectangular CS zone X,9807,8801,40,9110,8802,140.5,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17811,Japan Plane Rectangular CS zone XI,9807,8801,44,9110,8802,140.15,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17812,Japan Plane Rectangular CS zone XII,9807,8801,44,9110,8802,142.15,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17813,Japan Plane Rectangular CS zone XIII,9807,8801,44,9110,8802,144.15,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17814,Japan Plane Rectangular CS zone XIV,9807,8801,26,9110,8802,142,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17815,Japan Plane Rectangular CS zone XV,9807,8801,26,9110,8802,127.3,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17816,Japan Plane Rectangular CS zone XVI,9807,8801,26,9110,8802,124,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17817,Japan Plane Rectangular CS zone XVII,9807,8801,26,9110,8802,131,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17818,Japan Plane Rectangular CS zone XVIII,9807,8801,20,9110,8802,136,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17819,Japan Plane Rectangular CS zone XIX,9807,8801,26,9110,8802,154,9110,8805,0.9999,9201,8806,0,9001,8807,0,9001,,,,,, -17901,Mount Eden Circuit,9807,8801,-36.5247515,9110,8802,174.45516217,9110,8805,0.9999,9201,8806,300000,9001,8807,700000,9001,,,,,, -17902,Bay of Plenty Circuit,9807,8801,-37.45404993,9110,8802,176.27583101,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17903,Poverty Bay Circuit,9807,8801,-38.372893,9110,8802,177.53082906,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17904,Hawkes Bay Circuit,9807,8801,-39.39033455,9110,8802,176.40252499,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17905,Taranaki Circuit,9807,8801,-39.08087299,9110,8802,174.13408423,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17906,Tuhirangi Circuit,9807,8801,-39.30448934,9110,8802,175.38241325,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17907,Wanganui Circuit,9807,8801,-40.14310097,9110,8802,175.29171586,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17908,Wairarapa Circuit,9807,8801,-40.55319175,9110,8802,175.38504588,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17909,Wellington Circuit,9807,8801,-41.18047507,9110,8802,174.46358432,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17910,Collingwood Circuit,9807,8801,-40.42531326,9110,8802,172.40193674,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17911,Nelson Circuit,9807,8801,-41.1628361,9110,8802,173.17575405,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17912,Karamea Circuit,9807,8801,-41.17236815,9110,8802,172.06325015,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17913,Buller Circuit,9807,8801,-41.48388903,9110,8802,171.34525362,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17914,Grey Circuit,9807,8801,-42.20012994,9110,8802,171.32591767,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17915,Amuri Circuit,9807,8801,-42.41208197,9110,8802,173.00364802,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17916,Marlborough Circuit,9807,8801,-41.3240152,9110,8802,173.48074668,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17917,Hokitika Circuit,9807,8801,-42.53107605,9110,8802,170.58479766,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17918,Okarito Circuit,9807,8801,-43.06364613,9110,8802,170.1539333,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17919,Jacksons Bay Circuit,9807,8801,-43.58400904,9110,8802,168.36225612,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17920,Mount Pleasant Circuit,9807,8801,-43.35262953,9110,8802,172.43378969,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17921,Gawler Circuit,9807,8801,-43.44553616,9110,8802,171.21386945,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17922,Timaru Circuit,9807,8801,-44.24079933,9110,8802,171.0326103,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17923,Lindis Peak Circuit,9807,8801,-44.44069647,9110,8802,169.28039183,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17924,Mount Nicholas Circuit,9807,8801,-45.07584493,9110,8802,168.23551083,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17925,Mount York Circuit,9807,8801,-45.33494142,9110,8802,167.44199024,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17926,Observation Point Circuit,9807,8801,-45.48583078,9110,8802,170.37429426,9110,8805,1,9201,8806,300000,9001,8807,700000,9001,,,,,, -17927,North Taieri Circuit,9807,8801,-45.51414481,9110,8802,170.16573208,9110,8805,0.99996,9201,8806,300000,9001,8807,700000,9001,,,,,, -17928,Bluff Circuit,9807,8801,-46.36000346,9110,8802,168.20343392,9110,8805,1,9201,8806,300002.66,9001,8807,699999.58,9001,,,,,, -17931,Mount Eden 2000,9807,8801,-36.5247,9110,8802,174.4551,9110,8805,0.9999,9201,8806,400000,9001,8807,800000,9001,,,,,, -17932,Bay of Plenty 2000,9807,8801,-37.454,9110,8802,176.2758,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17933,Poverty Bay 2000,9807,8801,-38.3728,9110,8802,177.5308,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17934,Hawkes Bay 2000,9807,8801,-39.3903,9110,8802,176.4025,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17935,Taranaki 2000,9807,8801,-39.0808,9110,8802,174.134,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17936,Tuhirangi 2000,9807,8801,-39.3044,9110,8802,175.3824,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17937,Wanganui 2000,9807,8801,-40.1431,9110,8802,175.2917,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17938,Wairarapa 2000,9807,8801,-40.5531,9110,8802,175.385,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17939,Wellington 2000,9807,8801,-41.1804,9110,8802,174.4635,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17940,Collingwood 2000,9807,8801,-40.4253,9110,8802,172.4019,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17941,Nelson 2000,9807,8801,-41.1628,9110,8802,173.1757,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17942,Karamea 2000,9807,8801,-41.1723,9110,8802,172.0632,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17943,Buller 2000,9807,8801,-41.4838,9110,8802,171.3452,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17944,Grey 2000,9807,8801,-42.2001,9110,8802,171.3259,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17945,Amuri 2000,9807,8801,-42.412,9110,8802,173.0036,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17946,Marlborough 2000,9807,8801,-41.324,9110,8802,173.4807,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17947,Hokitika 2000,9807,8801,-42.531,9110,8802,170.5847,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17948,Okarito 2000,9807,8801,-43.0636,9110,8802,170.1539,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17949,Jacksons Bay 2000,9807,8801,-43.584,9110,8802,168.3622,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17950,Mount Pleasant 2000,9807,8801,-43.3526,9110,8802,172.4337,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17951,Gawler 2000,9807,8801,-43.4455,9110,8802,171.2138,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17952,Timaru 2000,9807,8801,-44.2407,9110,8802,171.0326,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17953,Lindis Peak 2000,9807,8801,-44.4406,9110,8802,169.2803,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17954,Mount Nicholas 2000,9807,8801,-45.0758,9110,8802,168.2355,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17955,Mount York 2000,9807,8801,-45.3349,9110,8802,167.4419,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17956,Observation Point 2000,9807,8801,-45.4858,9110,8802,170.3742,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17957,North Taieri 2000,9807,8801,-45.5141,9110,8802,170.1657,9110,8805,0.99996,9201,8806,400000,9001,8807,800000,9001,,,,,, -17958,Bluff 2000,9807,8801,-46.36,9110,8802,168.2034,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17959,Chatham Island Circuit 2000,9807,8801,-44,9110,8802,-176.3,9110,8805,1,9201,8806,400000,9001,8807,800000,9001,,,,,, -17960,Auckland Islands Transverse Mercator 2000,9807,8801,0,9102,8802,166,9102,8805,1,9201,8806,3500000,9001,8807,10000000,9001,,,,,, -17961,Campbell Island Transverse Mercator 2000,9807,8801,0,9102,8802,169,9102,8805,1,9201,8806,3500000,9001,8807,10000000,9001,,,,,, -17962,Antipodes Islands Transverse Mercator 2000,9807,8801,0,9102,8802,179,9102,8805,1,9201,8806,3500000,9001,8807,10000000,9001,,,,,, -17963,Raoul Island Transverse Mercator 2000,9807,8801,0,9102,8802,-178,9102,8805,1,9201,8806,3500000,9001,8807,10000000,9001,,,,,, -17964,New Zealand Continental Shelf Lambert Conformal 2000,9802,8821,-41,9110,8822,173,9110,8823,-37.3,9110,8824,-44.3,9110,8826,3000000,9001,8827,7000000,9001,,, -17965,Chatham Islands Transverse Mercator 2000,9807,8801,0,9110,8802,-176.3,9110,8805,1,9201,8806,3500000,9001,8807,10000000,9001,,,,,, -17966,Darwin Glacier Lambert Conformal 2000,9802,8821,-90,9110,8822,157,9110,8823,-76.4,9110,8824,-79.2,9110,8826,500000,9001,8827,0,9001,,, -18001,Austria Gauss-Kruger West Zone,9807,8801,0,9102,8802,28,9102,8805,1,9201,8806,0,9001,8807,-5000000,9001,,,,,, -18002,Austria Gauss-Kruger Central Zone,9807,8801,0,9102,8802,31,9102,8805,1,9201,8806,0,9001,8807,-5000000,9001,,,,,, -18003,Austria Gauss-Kruger East Zone,9807,8801,0,9102,8802,34,9102,8805,1,9201,8806,0,9001,8807,-5000000,9001,,,,,, -18004,Austria Gauss-Kruger West,9807,8801,0,9110,8802,10.2,9110,8805,1,9201,8806,0,9001,8807,-5000000,9001,,,,,, -18005,Austria Gauss-Kruger Central,9807,8801,0,9110,8802,13.2,9110,8805,1,9201,8806,0,9001,8807,-5000000,9001,,,,,, -18006,Austria Gauss-Kruger East,9807,8801,0,9110,8802,16.2,9110,8805,1,9201,8806,0,9001,8807,-5000000,9001,,,,,, -18007,Austria Gauss-Kruger M28,9807,8801,0,9110,8802,10.2,9110,8805,1,9201,8806,150000,9001,8807,-5000000,9001,,,,,, -18008,Austria Gauss-Kruger M31,9807,8801,0,9110,8802,13.2,9110,8805,1,9201,8806,450000,9001,8807,-5000000,9001,,,,,, -18009,Austria Gauss-Kruger M34,9807,8801,0,9110,8802,16.2,9110,8805,1,9201,8806,750000,9001,8807,-5000000,9001,,,,,, -18011,"Nord Algerie (ancienne)",9801,8801,40,9105,8802,3,9105,8805,0.999625544,9201,8806,500000,9001,8807,300000,9001,,,,,, -18012,"Sud Algerie (ancienne)",9801,8801,37,9105,8802,3,9105,8805,0.999625769,9201,8806,500000,9001,8807,300000,9001,,,,,, -18021,Nord Algerie,9801,8801,40,9105,8802,3,9105,8805,0.999625544,9201,8806,500135,9001,8807,300090,9001,,,,,, -18022,Sud Algerie,9801,8801,37,9105,8802,3,9105,8805,0.999625769,9201,8806,500135,9001,8807,300090,9001,,,,,, -18031,Argentina zone 1,9807,8801,-90,9102,8802,-72,9102,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,, -18032,Argentina zone 2,9807,8801,-90,9102,8802,-69,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,, -18033,Argentina zone 3,9807,8801,-90,9102,8802,-66,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,, -18034,Argentina zone 4,9807,8801,-90,9102,8802,-63,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,, -18035,Argentina zone 5,9807,8801,-90,9102,8802,-60,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,, -18036,Argentina zone 6,9807,8801,-90,9102,8802,-57,9102,8805,1,9201,8806,6500000,9001,8807,0,9001,,,,,, -18037,Argentina zone 7,9807,8801,-90,9102,8802,-54,9102,8805,1,9201,8806,7500000,9001,8807,0,9001,,,,,, -18041,Austria West Zone,9807,8801,0,9102,8802,28,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18042,Austria Central Zone,9807,8801,0,9102,8802,31,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18043,Austria East Zone,9807,8801,0,9102,8802,34,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18044,Austria M28,9807,8801,0,9110,8802,10.2,9110,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,, -18045,Austria M31,9807,8801,0,9110,8802,13.2,9110,8805,1,9201,8806,450000,9001,8807,0,9001,,,,,, -18046,Austria M34,9807,8801,0,9110,8802,16.2,9110,8805,1,9201,8806,750000,9001,8807,0,9001,,,,,, -18047,Austria zone M28,9807,8801,0,9102,8802,28,9102,8805,1,9201,8806,150000,9001,8807,0,9001,,,,,, -18048,Austria zone M31,9807,8801,0,9102,8802,31,9102,8805,1,9201,8806,450000,9001,8807,0,9001,,,,,, -18049,Austria zone M34,9807,8801,0,9102,8802,34,9102,8805,1,9201,8806,750000,9001,8807,0,9001,,,,,, -18051,Colombia West zone,9807,8801,4.355657,9110,8802,-77.04513,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -18052,Colombia Bogota zone,9807,8801,4.355657,9110,8802,-74.04513,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -18053,Colombia East Central zone,9807,8801,4.355657,9110,8802,-71.04513,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -18054,Colombia East zone,9807,8801,4.355657,9110,8802,-68.04513,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -18055,Colombia MAGNA Far West zone,9807,8801,4.35463215,9110,8802,-80.04390285,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -18056,Colombia MAGNA West zone,9807,8801,4.35463215,9110,8802,-77.04390285,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -18057,Colombia MAGNA Bogota zone,9807,8801,4.35463215,9110,8802,-74.04390285,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -18058,Colombia MAGNA East Central zone,9807,8801,4.35463215,9110,8802,-71.04390285,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -18059,Colombia MAGNA East zone,9807,8801,4.35463215,9110,8802,-68.04390285,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -18061,Cuba Norte,9801,8801,22.21,9110,8802,-81,9110,8805,0.99993602,9201,8806,500000,9001,8807,280296.016,9001,,,,,, -18062,Cuba Sur,9801,8801,20.43,9110,8802,-76.5,9110,8805,0.99994848,9201,8806,500000,9001,8807,229126.939,9001,,,,,, -18063,Cuba Norte,9802,8821,22.21,9110,8822,-81,9110,8823,23,9110,8824,21.42,9110,8826,500000,9001,8827,280296.016,9001,,, -18064,Cuba Sur,9802,8821,20.43,9110,8822,-76.5,9110,8823,21.18,9110,8824,20.08,9110,8826,500000,9001,8827,229126.939,9001,,, -18071,Egypt Blue Belt,9807,8801,30,9102,8802,35,9102,8805,1,9201,8806,300000,9001,8807,1100000,9001,,,,,, -18072,Egypt Red Belt,9807,8801,30,9102,8802,31,9102,8805,1,9201,8806,615000,9001,8807,810000,9001,,,,,, -18073,Egypt Purple Belt,9807,8801,30,9102,8802,27,9102,8805,1,9201,8806,700000,9001,8807,200000,9001,,,,,, -18074,Egypt Extended Purple Belt,9807,8801,30,9102,8802,27,9102,8805,1,9201,8806,700000,9001,8807,1200000,9001,,,,,, -18081,Lambert zone I,9801,8801,55,9105,8802,0,9105,8805,0.999877341,9201,8806,600000,9001,8807,1200000,9001,,,,,, -18082,Lambert zone II,9801,8801,52,9105,8802,0,9105,8805,0.99987742,9201,8806,600000,9001,8807,2200000,9001,,,,,, -18083,Lambert zone III,9801,8801,49,9105,8802,0,9105,8805,0.999877499,9201,8806,600000,9001,8807,3200000,9001,,,,,, -18084,Lambert zone IV,9801,8801,46.85,9105,8802,0,9105,8805,0.99994471,9201,8806,234.358,9001,8807,4185861.369,9001,,,,,, -18085,Lambert-93,9802,8821,46.3,9110,8822,3,9110,8823,49,9110,8824,44,9110,8826,700000,9001,8827,6600000,9001,,, -18086,France EuroLambert,9801,8801,46.48,9110,8802,2.2014025,9110,8805,0.99987742,9201,8806,600000,9001,8807,2200000,9001,,,,,, -18091,Lambert Nord France,9801,8801,55,9105,8802,0,9105,8805,0.999877341,9201,8806,600000,9001,8807,200000,9001,,,,,, -18092,Lambert Centre France,9801,8801,52,9105,8802,0,9105,8805,0.99987742,9201,8806,600000,9001,8807,200000,9001,,,,,, -18093,Lambert Sud France,9801,8801,49,9105,8802,0,9105,8805,0.999877499,9201,8806,600000,9001,8807,200000,9001,,,,,, -18094,Lambert Corse,9801,8801,46.85,9105,8802,0,9105,8805,0.99994471,9201,8806,234.358,9001,8807,185861.369,9001,,,,,, -18101,France Conic Conformal zone 1,9802,8821,42,9102,8822,3,9102,8823,41.25,9102,8824,42.75,9102,8826,1700000,9001,8827,1200000,9001,,, -18102,France Conic Conformal zone 2,9802,8821,43,9102,8822,3,9102,8823,42.25,9102,8824,43.75,9102,8826,1700000,9001,8827,2200000,9001,,, -18103,France Conic Conformal zone 3,9802,8821,44,9102,8822,3,9102,8823,43.25,9102,8824,44.75,9102,8826,1700000,9001,8827,3200000,9001,,, -18104,France Conic Conformal zone 4,9802,8821,45,9102,8822,3,9102,8823,44.25,9102,8824,45.75,9102,8826,1700000,9001,8827,4200000,9001,,, -18105,France Conic Conformal zone 5,9802,8821,46,9102,8822,3,9102,8823,45.25,9102,8824,46.75,9102,8826,1700000,9001,8827,5200000,9001,,, -18106,France Conic Conformal zone 6,9802,8821,47,9102,8822,3,9102,8823,46.25,9102,8824,47.75,9102,8826,1700000,9001,8827,6200000,9001,,, -18107,France Conic Conformal zone 7,9802,8821,48,9102,8822,3,9102,8823,47.25,9102,8824,48.75,9102,8826,1700000,9001,8827,7200000,9001,,, -18108,France Conic Conformal zone 8,9802,8821,49,9102,8822,3,9102,8823,48.25,9102,8824,49.75,9102,8826,1700000,9001,8827,8200000,9001,,, -18109,France Conic Conformal zone 9,9802,8821,50,9102,8822,3,9102,8823,49.25,9102,8824,50.75,9102,8826,1700000,9001,8827,9200000,9001,,, -18110,India zone 0,9801,8801,39.3,9110,8802,68,9110,8805,0.99846154,9201,8806,2355500,9084,8807,2590000,9084,,,,,, -18111,India zone I,9801,8801,32.3,9110,8802,68,9110,8805,0.99878641,9201,8806,3000000,9084,8807,1000000,9084,,,,,, -18112,India zone IIa,9801,8801,26,9102,8802,74,9102,8805,0.99878641,9201,8806,3000000,9084,8807,1000000,9084,,,,,, -18113,India zone IIb,9801,8801,26,9102,8802,90,9102,8805,0.99878641,9201,8806,3000000,9084,8807,1000000,9084,,,,,, -18114,India zone IIIa,9801,8801,19,9102,8802,80,9102,8805,0.99878641,9201,8806,3000000,9084,8807,1000000,9084,,,,,, -18115,India zone IIIb,9801,8801,19,9102,8802,100,9102,8805,0.99878641,9201,8806,3000000,9084,8807,1000000,9084,,,,,, -18116,India zone IVa,9801,8801,12,9102,8802,80,9102,8805,0.99878641,9201,8806,3000000,9084,8807,1000000,9084,,,,,, -18117,India zone IVb,9801,8801,12,9102,8802,100,9102,8805,0.99878641,9201,8806,3000000,9084,8807,1000000,9084,,,,,, -18121,Italy zone 1,9807,8801,0,9102,8802,9,9102,8805,0.9996,9201,8806,1500000,9001,8807,0,9001,,,,,, -18122,Italy zone 2,9807,8801,0,9102,8802,15,9102,8805,0.9996,9201,8806,2520000,9001,8807,0,9001,,,,,, -18131,Nord Maroc,9801,8801,37,9105,8802,-6,9105,8805,0.999625769,9201,8806,500000,9001,8807,300000,9001,,,,,, -18132,Sud Maroc,9801,8801,33,9105,8802,-6,9105,8805,0.999615596,9201,8806,500000,9001,8807,300000,9001,,,,,, -18133,Sahara,9801,8801,29,9105,8802,-6,9105,8805,0.9996,9201,8806,1200000,9001,8807,400000,9001,,,,,, -18134,Sahara Nord,9801,8801,29,9105,8802,-6,9105,8805,0.999616304,9201,8806,1200000,9001,8807,400000,9001,,,,,, -18135,Sahara Sud,9801,8801,25,9105,8802,-6,9105,8805,0.999616437,9201,8806,1500000,9001,8807,400000,9001,,,,,, -18141,New Zealand North Island National Grid,9807,8801,-39,9110,8802,175.3,9110,8805,1,9201,8806,300000,9040,8807,400000,9040,,,,,, -18142,New Zealand South Island National Grid,9807,8801,-44,9110,8802,171.3,9110,8805,1,9201,8806,500000,9040,8807,500000,9040,,,,,, -18151,Nigeria West Belt,9807,8801,4,9110,8802,4.3,9110,8805,0.99975,9201,8806,230738.26,9001,8807,0,9001,,,,,, -18152,Nigeria Mid Belt,9807,8801,4,9110,8802,8.3,9110,8805,0.99975,9201,8806,670553.98,9001,8807,0,9001,,,,,, -18153,Nigeria East Belt,9807,8801,4,9110,8802,12.3,9110,8805,0.99975,9201,8806,1110369.7,9001,8807,0,9001,,,,,, -18161,Peru west zone,9807,8801,-6,9110,8802,-80.3,9110,8805,0.99983008,9201,8806,222000,9001,8807,1426834.743,9001,,,,,, -18162,Peru central zone,9807,8801,-9.3,9110,8802,-76,9110,8805,0.99932994,9201,8806,720000,9001,8807,1039979.159,9001,,,,,, -18163,Peru east zone,9807,8801,-9.3,9110,8802,-70.3,9110,8805,0.99952992,9201,8806,1324000,9001,8807,1040084.558,9001,,,,,, -18171,Philippines zone I,9807,8801,0,9102,8802,117,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,, -18172,Philippines zone II,9807,8801,0,9102,8802,119,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,, -18173,Philippines zone III,9807,8801,0,9102,8802,121,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,, -18174,Philippines zone IV,9807,8801,0,9102,8802,123,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,, -18175,Philippines zone V,9807,8801,0,9102,8802,125,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,, -18180,Finland zone 0,9807,8801,0,9102,8802,18,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -18181,Nord Tunisie,9801,8801,40,9105,8802,11,9105,8805,0.999625544,9201,8806,500000,9001,8807,300000,9001,,,,,, -18182,Sud Tunisie,9801,8801,37,9105,8802,11,9105,8805,0.999625769,9201,8806,500000,9001,8807,300000,9001,,,,,, -18183,Finland ETRS-GK19,9807,8801,0,9102,8802,19,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -18184,Finland ETRS-GK20,9807,8801,0,9102,8802,20,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -18185,Finland ETRS-GK21,9807,8801,0,9102,8802,21,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -18186,Finland ETRS-GK22,9807,8801,0,9102,8802,22,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -18187,Finland ETRS-GK23,9807,8801,0,9102,8802,23,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -18188,Finland ETRS-GK24,9807,8801,0,9102,8802,24,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -18189,Finland ETRS-GK25,9807,8801,0,9102,8802,25,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -18190,Finland ETRS-GK26,9807,8801,0,9102,8802,26,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -18191,Finland zone 1,9807,8801,0,9102,8802,21,9102,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,, -18192,Finland zone 2,9807,8801,0,9102,8802,24,9102,8805,1,9201,8806,2500000,9001,8807,0,9001,,,,,, -18193,Finland Uniform Coordinate System,9807,8801,0,9102,8802,27,9102,8805,1,9201,8806,3500000,9001,8807,0,9001,,,,,, -18194,Finland zone 4,9807,8801,0,9102,8802,30,9102,8805,1,9201,8806,4500000,9001,8807,0,9001,,,,,, -18195,Finland ETRS-GK27,9807,8801,0,9102,8802,27,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -18196,Finland ETRS-GK28,9807,8801,0,9102,8802,28,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -18197,Finland ETRS-GK29,9807,8801,0,9102,8802,29,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -18198,Finland ETRS-GK30,9807,8801,0,9102,8802,30,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -18199,Finland ETRS-GK31,9807,8801,0,9102,8802,31,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -18201,Palestine Grid,9806,8801,31.4402749,9110,8802,35.124349,9110,8806,170251.555,9001,8807,126867.909,9001,,,,,,,,, -18202,Palestine Belt,9807,8801,31.4402749,9110,8802,35.124349,9110,8805,1,9201,8806,170251.555,9001,8807,1126867.909,9001,,,,,, -18203,Israeli CS,9806,8801,31.4402749,9110,8802,35.124349,9110,8806,170251.555,9001,8807,1126867.909,9001,,,,,,,,, -18204,Israeli TM,9807,8801,31.4403817,9110,8802,35.1216261,9110,8805,1.0000067,9201,8806,219529.584,9001,8807,626907.39,9001,,,,,, -18205,Finland zone 5,9807,8801,0,9102,8802,33,9102,8805,1,9201,8806,5500000,9001,8807,0,9001,,,,,, -18211,Guatemala Norte,9801,8801,16.49,9110,8802,-90.2,9110,8805,0.99992226,9201,8806,500000,9001,8807,292209.579,9001,,,,,, -18212,Guatemala Sur,9801,8801,14.54,9110,8802,-90.2,9110,8805,0.99989906,9201,8806,500000,9001,8807,325992.681,9001,,,,,, -18221,NGO zone I,9807,8801,58,9110,8802,-4.4,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18222,NGO zone II,9807,8801,58,9110,8802,-2.2,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18223,NGO zone III,9807,8801,58,9110,8802,0,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18224,NGO zone IV,9807,8801,58,9110,8802,2.3,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18225,NGO zone V,9807,8801,58,9110,8802,6.1,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18226,NGO zone VI,9807,8801,58,9110,8802,10.1,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18227,NGO zone VII,9807,8801,58,9110,8802,14.1,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18228,NGO zone VIII,9807,8801,58,9110,8802,18.2,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18231,"India zone I (1975 metres)",9801,8801,32.3,9110,8802,68,9110,8805,0.99878641,9201,8806,2743195.5,9001,8807,914398.5,9001,,,,,, -18232,"India zone IIa (1975 metres)",9801,8801,26,9102,8802,74,9102,8805,0.99878641,9201,8806,2743195.5,9001,8807,914398.5,9001,,,,,, -18233,"India zone IIIa (1975 metres)",9801,8801,19,9102,8802,80,9102,8805,0.99878641,9201,8806,2743195.5,9001,8807,914398.5,9001,,,,,, -18234,"India zone IVa (1975 metres)",9801,8801,12,9102,8802,80,9102,8805,0.99878641,9201,8806,2743195.5,9001,8807,914398.5,9001,,,,,, -18235,"India zone IIb (1975 metres)",9801,8801,26,9102,8802,90,9102,8805,0.99878641,9201,8806,2743195.5,9001,8807,914398.5,9001,,,,,, -18236,"India zone I (1962 metres)",9801,8801,32.3,9110,8802,68,9110,8805,0.99878641,9201,8806,2743196.4,9001,8807,914398.8,9001,,,,,, -18237,"India zone IIa (1962 metres)",9801,8801,26,9102,8802,74,9102,8805,0.99878641,9201,8806,2743196.4,9001,8807,914398.8,9001,,,,,, -18238,"India zone IIb (1937 metres)",9801,8801,26,9102,8802,90,9102,8805,0.99878641,9201,8806,2743185.69,9001,8807,914395.23,9001,,,,,, -18240,Libya zone 5,9807,8801,0,9102,8802,9,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,, -18241,Libya zone 6,9807,8801,0,9102,8802,11,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,, -18242,Libya zone 7,9807,8801,0,9102,8802,13,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,, -18243,Libya zone 8,9807,8801,0,9102,8802,15,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,, -18244,Libya zone 9,9807,8801,0,9102,8802,17,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,, -18245,Libya zone 10,9807,8801,0,9102,8802,19,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,, -18246,Libya zone 11,9807,8801,0,9102,8802,21,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,, -18247,Libya zone 12,9807,8801,0,9102,8802,23,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,, -18248,Libya zone 13,9807,8801,0,9102,8802,25,9102,8805,0.9999,9201,8806,200000,9001,8807,0,9001,,,,,, -18251,Korea East Belt,9807,8801,38,9102,8802,129,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,, -18252,Korea Central Belt,9807,8801,38,9102,8802,127,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,, -18253,Korea West Belt,9807,8801,38,9102,8802,125,9102,8805,1,9201,8806,200000,9001,8807,500000,9001,,,,,, -18260,"Maracaibo Grid (M1)",9801,8801,10.1,9110,8802,-71.3620224,9110,8805,1,9201,8806,0,9001,8807,-52684.972,9001,,,,,, -18261,Maracaibo Grid,9801,8801,10.1,9110,8802,-71.3620224,9110,8805,1,9201,8806,200000,9001,8807,147315.028,9001,,,,,, -18262,"Maracaibo Grid (M3)",9801,8801,10.1,9110,8802,-71.3620224,9110,8805,1,9201,8806,500000,9001,8807,447315.028,9001,,,,,, -18263,Maracaibo La Rosa Grid,9801,8801,10.1,9110,8802,-71.3620224,9110,8805,1,9201,8806,-17044,9001,8807,-23139.97,9001,,,,,, -18275,Balkans zone 5,9807,8801,0,9102,8802,15,9102,8805,0.9999,9201,8806,5500000,9001,8807,0,9001,,,,,, -18276,Balkans zone 6,9807,8801,0,9102,8802,18,9102,8805,0.9999,9201,8806,6500000,9001,8807,0,9001,,,,,, -18277,Balkans zone 7,9807,8801,0,9102,8802,21,9102,8805,0.9999,9201,8806,7500000,9001,8807,0,9001,,,,,, -18278,Balkans zone 8,9807,8801,0,9102,8802,24,9102,8805,0.9999,9201,8806,8500000,9001,8807,0,9001,,,,,, -18280,Poland zone I,9809,8801,50.373,9110,8802,21.05,9110,8805,0.9998,9201,8806,4637000,9001,8807,5467000,9001,,,,,, -18281,Poland zone I,9809,8801,50.373,9110,8802,21.05,9110,8805,0.9998,9201,8806,4637000,9001,8807,5647000,9001,,,,,, -18282,Poland zone II,9809,8801,53.0007,9110,8802,21.301,9110,8805,0.9998,9201,8806,4603000,9001,8807,5806000,9001,,,,,, -18283,Poland zone III,9809,8801,53.35,9110,8802,17.003,9110,8805,0.9998,9201,8806,3501000,9001,8807,5999000,9001,,,,,, -18284,Poland zone IV,9809,8801,51.4015,9110,8802,16.402,9110,8805,0.9998,9201,8806,3703000,9001,8807,5627000,9001,,,,,, -18285,Poland zone V,9807,8801,0,9110,8802,18.573,9110,8805,0.999983,9201,8806,237000,9001,8807,-4700000,9001,,,,,, -18286,GUGiK-80,9809,8801,52.1,9110,8802,19.1,9110,8805,0.999714,9201,8806,500000,9001,8807,500000,9001,,,,,, -18300,Poland CS92,9807,8801,0,9102,8802,19,9102,8805,0.9993,9201,8806,500000,9001,8807,-5300000,9001,,,,,, -18305,Poland CS2000 zone 5,9807,8801,0,9102,8802,15,9102,8805,0.999923,9201,8806,5500000,9001,8807,0,9001,,,,,, -18306,Poland CS2000 zone 6,9807,8801,0,9102,8802,18,9102,8805,0.999923,9201,8806,6500000,9001,8807,0,9001,,,,,, -18307,Poland CS2000 zone 7,9807,8801,0,9102,8802,21,9102,8805,0.999923,9201,8806,7500000,9001,8807,0,9001,,,,,, -18308,Poland CS2000 zone 8,9807,8801,0,9102,8802,24,9102,8805,0.999923,9201,8806,8500000,9001,8807,0,9001,,,,,, -18310,Libya TM zone 5,9807,8801,0,9102,8802,9,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,, -18311,Libya TM zone 6,9807,8801,0,9102,8802,11,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,, -18312,Libya TM zone 7,9807,8801,0,9102,8802,13,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,, -18313,Libya TM zone 8,9807,8801,0,9102,8802,15,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,, -18314,Libya TM zone 9,9807,8801,0,9102,8802,17,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,, -18315,Libya TM zone 10,9807,8801,0,9102,8802,19,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,, -18316,Libya TM zone 11,9807,8801,0,9102,8802,21,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,, -18317,Libya TM zone 12,9807,8801,0,9102,8802,23,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,, -18318,Libya TM zone 13,9807,8801,0,9102,8802,25,9102,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,, -18319,Libya TM,9807,8801,0,9102,8802,17,9102,8805,0.9965,9201,8806,1000000,9001,8807,0,9001,,,,,, -18401,Kp2000 Jylland og Fyn,9807,8801,0,9110,8802,9.3,9110,8805,0.99995,9201,8806,200000,9001,8807,0,9001,,,,,, -18402,Kp2000 Sjaelland,9807,8801,0,9102,8802,12,9102,8805,0.99995,9201,8806,500000,9001,8807,0,9001,,,,,, -18403,Kp2000 Bornholm,9807,8801,0,9102,8802,15,9102,8805,1,9201,8806,900000,9001,8807,0,9001,,,,,, -18411,French West Africa Senegal zone,9807,8801,0,9110,8802,-13.3,9110,8805,0.999,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -18412,French West Africa Ivory Coast zone,9807,8801,0,9110,8802,-6.3,9110,8805,0.999,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -18413,French West Africa Dahomey zone,9807,8801,0,9110,8802,0.3,9110,8805,0.999,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -18414,French West Africa Niger zone,9807,8801,0,9110,8802,7.3,9110,8805,0.999,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -18415,French Equatorial Africa west zone,9807,8801,0,9110,8802,10.3,9110,8805,0.999,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -18416,French Equatorial Africa central zone,9807,8801,0,9110,8802,17.4,9110,8805,0.999,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -18417,French Equatorial Africa east zone,9807,8801,0,9110,8802,24.3,9110,8805,0.999,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -18421,Greenland zone 1 east,9826,8801,82.3,9110,8802,-40,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18422,Greenland zone 2 east,9826,8801,79.3,9110,8802,-24,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18423,Greenland zone 3 east,9826,8801,76.3,9110,8802,-20,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18424,Greenland zone 4 east,9826,8801,73.3,9110,8802,-24,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18425,Greenland zone 5 east,9826,8801,70.3,9110,8802,-24,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18426,Greenland zone 6 east,9826,8801,67.3,9110,8802,-32,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18427,Greenland zone 7 east,9826,8801,64.3,9110,8802,-40,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18428,Greenland zone 8 east,9826,8801,61.3,9110,8802,-48,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18432,Greenland zone 2 west,9826,8801,79.3,9110,8802,-64,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18433,Greenland zone 3 west,9826,8801,76.3,9110,8802,-64,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18434,Greenland zone 4 west,9826,8801,73.3,9110,8802,-52,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18435,Greenland zone 5 west,9826,8801,70.3,9110,8802,-52,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18436,Greenland zone 6 west,9826,8801,67.3,9110,8802,-52,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18437,Greenland zone 7 west,9826,8801,64.3,9110,8802,-52,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -18441,CS63 zone A1,9807,8801,0.07,9110,8802,41.32,9110,8805,1,9201,8806,1300000,9001,8807,0,9001,,,,,, -18442,CS63 zone A2,9807,8801,0.07,9110,8802,44.32,9110,8805,1,9201,8806,2300000,9001,8807,0,9001,,,,,, -18443,CS63 zone A3,9807,8801,0.07,9110,8802,47.32,9110,8805,1,9201,8806,3300000,9001,8807,0,9001,,,,,, -18444,CS63 zone A4,9807,8801,0.07,9110,8802,50.32,9110,8805,1,9201,8806,4300000,9001,8807,0,9001,,,,,, -18446,CS63 zone K2,9807,8801,0.08,9110,8802,50.46,9110,8805,1,9201,8806,2300000,9001,8807,0,9001,,,,,, -18447,CS63 zone K3,9807,8801,0.08,9110,8802,53.46,9110,8805,1,9201,8806,3300000,9001,8807,0,9001,,,,,, -18448,CS63 zone K4,9807,8801,0.08,9110,8802,56.46,9110,8805,1,9201,8806,4300000,9001,8807,0,9001,,,,,, -18450,CS63 zone C0,9807,8801,0.06,9110,8802,21.57,9110,8805,1,9201,8806,250000,9001,8807,0,9001,,,,,, -18451,CS63 zone C1,9807,8801,0.06,9110,8802,24.57,9110,8805,1,9201,8806,1250000,9001,8807,0,9001,,,,,, -18452,CS63 zone C2,9807,8801,0.06,9110,8802,27.57,9110,8805,1,9201,8806,2250000,9001,8807,0,9001,,,,,, -19839,Dubai Local Transverse Mercator,9807,8801,0,9110,8802,55.2,9110,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -19840,IBCAO Polar Stereographic,9829,8806,0,9001,8807,0,9001,8832,75,9102,8833,0,9102,,,,,,,,, -19841,"Swiss Oblique Mercator 1903C (Greenwich)",9815,8811,46.570866,9110,8812,7.26225,9110,8813,90,9110,8814,90,9110,8815,1,9201,8816,0,9001,8817,0,9001 -19842,Arctic Polar Stereographic,9829,8806,0,9001,8807,0,9001,8832,71,9102,8833,0,9102,,,,,,,,, -19843,Mercator 41,9805,8802,100,9102,8806,0,9001,8807,0,9001,8823,-41,9102,,,,,,,,, -19844,Ministry of Transport of Quebec Lambert,9802,8821,44,9102,8822,-70,9102,8823,50,9102,8824,46,9102,8826,800000,9001,8827,0,9001,,, -19845,Slovene National Grid,9807,8801,0,9102,8802,15,9102,8805,0.9999,9201,8806,500000,9001,8807,-5000000,9001,,,,,, -19846,World Equidistant Cylindrical,9842,8801,0,9102,8806,0,9001,8807,0,9001,8822,0,9102,,,,,,,,, -19847,Popular Visualisation Mercator,9841,8801,0,9102,8802,0,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -19848,Pitcairn TM 2006,9807,8801,-25.04067894,9110,8802,-130.06466816,9110,8805,1,9201,8806,14200,9001,8807,15500,9001,,,,,, -19849,Bermuda 2000 National Grid,9807,8801,32,9110,8802,-64.45,9110,8805,1,9201,8806,550000,9001,8807,100000,9001,,,,,, -19850,EPSG vertical perspective example,9838,8834,55,9102,8835,5,9102,8836,200,9001,8840,5900,9036,,,,,,,,, -19851,Croatia Transverse Mercator,9807,8801,0,9102,8802,16.5,9102,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,, -19852,Croatia Lambert Conformal Conic,9802,8821,0,9102,8822,16.3,9110,8823,45.55,9110,8824,43.05,9110,8826,0,9001,8827,0,9001,,, -19853,Portugual TM06,9807,8801,39.400573,9110,8802,-8.075919,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -19854,South Georgia Lambert,9802,8821,-55,9102,8822,-37,9102,8823,-54,9110,8824,-54.45,9110,8826,0,9001,8827,0,9001,,, -19855,Mercator 41,9804,8801,-41,9102,8802,100,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -19856,TM Reunion,9807,8801,-21.07,9110,8802,55.32,9110,8805,1,9201,8806,160000,9001,8807,50000,9001,,,,,, -19857,Northwest Territories Lambert,9802,8821,0,9102,8822,-112,9102,8823,62,9102,8824,70,9102,8826,0,9001,8827,0,9001,,, -19858,Yukon Albers,9822,8821,59,9110,8822,-132.3,9110,8823,61.4,9110,8824,68,9110,8826,500000,9001,8827,500000,9001,,, -19859,Fiji Map Grid,9807,8801,-17,9110,8802,178.45,9110,8805,0.99985,9201,8806,2000000,9001,8807,4000000,9001,,,,,, -19860,Jamaica Metric Grid 2001,9801,8801,18,9102,8802,-77,9102,8805,1,9201,8806,750000,9001,8807,650000,9001,,,,,, -19861,Laborde Grid,9813,8806,400000,9001,8807,800000,9001,8811,-21,9105,8812,49,9105,8813,21,9105,8815,0.9995,9201,,, -19862,Belgian Lambert 2005,9802,8821,50.4752134,9110,8822,4.2133177,9110,8823,49.5,9110,8824,51.1,9110,8826,150328,9001,8827,166262,9001,,, -19863,South China Sea Lambert,9802,8821,21,9102,8822,114,9102,8823,18,9102,8824,24,9102,8826,500000,9001,8827,500000,9001,,, -19864,Singapore Transverse Mercator,9807,8801,1.22,9110,8802,103.5,9110,8805,1,9201,8806,28001.642,9001,8807,38744.572,9001,,,,,, -19865,US NSIDC Sea Ice polar stereographic north,9829,8806,0,9001,8807,0,9001,8832,70,9102,8833,-45,9102,,,,,,,,, -19866,US NSIDC Sea Ice polar stereographic south,9829,8806,0,9001,8807,0,9001,8832,-70,9102,8833,0,9102,,,,,,,,, -19867,US NSIDC Equal Area north projection,9821,8806,0,9001,8807,0,9001,8828,90,9102,8829,0,9102,,,,,,,,, -19868,US NSIDC Equal Area south projection,9821,8806,0,9001,8807,0,9001,8828,-90,9102,8829,0,9102,,,,,,,,, -19869,US NSIDC Equal Area global projection,9834,8802,0,9102,8806,0,9001,8807,0,9001,8823,30,9102,,,,,,,,, -19870,Faroe Lambert,9826,8801,62,9102,8802,-9,9102,8805,1,9201,8806,500000,9001,8807,500000,9001,,,,,, -19871,"Rectified Skew Orthomorphic Malaya Grid (chains)",9812,8806,40000,9301,8807,0,9301,8811,4,9110,8812,102.15,9110,8813,323.01328458,9110,8814,323.07483685,9110,8815,0.99984,9201 -19872,"Rectified Skew Orthomorphic Malaya Grid (metres)",9812,8806,804670.24,9001,8807,0,9001,8811,4,9110,8812,102.15,9110,8813,323.01328458,9110,8814,323.07483685,9110,8815,0.99984,9201 -19873,Noumea Lambert,9802,8821,-22.16108903,9110,8822,166.26327327,9110,8823,-22.14408903,9110,8824,-22.17408903,9110,8826,0.66,9001,8827,1.02,9001,,, -19874,Noumea Lambert 2,9802,8821,-22.1611,9110,8822,166.2633,9110,8823,-22.1441,9110,8824,-22.1741,9110,8826,8.313,9001,8827,-2.354,9001,,, -19875,Ontario MNR Lambert,9802,8821,0,9102,8822,-85,9102,8823,44.5,9102,8824,53.5,9102,8826,930000,9001,8827,6430000,9001,,, -19876,ST74,9807,8801,0,9110,8802,18.0328044,9110,8805,0.99999425,9201,8806,100178.1808,9001,8807,-6500614.7836,9001,,,,,, -19877,Faroe Lambert fk89,9826,8801,62,9102,8802,-9,9102,8805,1,9201,8806,700000,9001,8807,700000,9001,,,,,, -19878,Vanua Levu Grid,9833,8801,-16.15,9110,8802,179.2,9110,8806,1251331.8,9098,8807,1662888.5,9098,,,,,,,,, -19879,Viti Levu Grid,9806,8801,-18,9102,8802,178,9102,8806,544000,9098,8807,704000,9098,,,,,,,,, -19880,Fiji Map Grid,9807,8801,-17,9110,8802,178.45,9110,8805,0.99985,9001,8806,2000000,9001,8807,4000000,9001,,,,,, -19881,"Alberta 10-degree TM (Forest)",9807,8801,0,9102,8802,-115,9102,8805,0.9992,9201,8806,500000,9001,8807,0,9001,,,,,, -19882,"Alberta 10-degree TM (Resource)",9807,8801,0,9102,8802,-115,9102,8805,0.9992,9201,8806,0,9001,8807,0,9001,,,,,, -19883,World Mercator,9804,8801,0,9102,8802,0,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -19884,Caspian Sea Mercator,9805,8802,51,9102,8806,0,9001,8807,0,9001,8823,42,9102,,,,,,,,, -19885,Kelantan Grid,9806,8801,5.582115717,9110,8802,102.174287001,9110,8806,13227.851,9001,8807,8739.894,9001,,,,,,,,, -19886,Perak Grid,9806,8801,4.513262688,9110,8802,100.485547811,9110,8806,-1.769,9001,8807,133454.779,9001,,,,,,,,, -19887,Kedah and Perlis Grid,9806,8801,5.575282177,9110,8802,100.3810936,9110,8806,0,9001,8807,0,9001,,,,,,,,, -19888,Pinang Grid,9806,8801,5.251746315,9110,8802,100.203975707,9110,8806,-23.414,9001,8807,62.283,9001,,,,,,,,, -19889,Terengganu Grid,9806,8801,4.583462672,9110,8802,103.041299225,9110,8806,19594.245,9001,8807,3371.895,9001,,,,,,,,, -19890,Selangor Grid,9806,8801,3.410473658,9110,8802,101.232078849,9110,8806,-34836.161,9001,8807,56464.049,9001,,,,,,,,, -19891,Pahang Grid,9806,8801,3.460979712,9110,8802,102.220587634,9110,8806,-7368.228,9001,8807,6485.858,9001,,,,,,,,, -19892,Sembilan and Melaka Grid,9806,8801,2.405645149,9110,8802,101.582965815,9110,8806,3673.785,9001,8807,-4240.573,9001,,,,,,,,, -19893,Johor Grid,9806,8801,2.071804708,9110,8802,103.254057045,9110,8806,-14810.562,9001,8807,8758.32,9001,,,,,,,,, -19894,Borneo RSO,9812,8806,0,9001,8807,0,9001,8811,4,9110,8812,115,9110,8813,53.185691582,9110,8814,53.07483685,9110,8815,0.99984,9201 -19895,Peninsular RSO,9812,8806,804671,9001,8807,0,9001,8811,4,9110,8812,102.15,9110,8813,323.013286728,9110,8814,323.07483685,9110,8815,0.99984,9201 -19896,Hong Kong 1963 Grid,9806,8801,22.184368,9110,8802,114.10428,9110,8806,132033.92,9005,8807,62565.96,9005,,,,,,,,, -19897,Statistics Canada Lambert,9802,8821,63.390675,9102,8822,-91.52,9110,8823,49,9102,8824,77,9102,8826,6200000,9001,8827,3000000,9001,,, -19898,Pacific Disaster Center Mercator,9804,8801,0,9102,8802,-150,9102,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -19899,Mauritius Grid,9801,8801,-20.114225,9110,8802,57.311858,9110,8805,1,9201,8806,1000000,9001,8807,1000000,9001,,,,,, -19900,Bahrain State Grid,9807,8801,0,9102,8802,51,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -19901,Belge Lambert 50,9802,8821,90,9110,8822,0,9110,8823,49.5,9110,8824,51.1,9110,8826,150000,9001,8827,5400000,9001,,, -19902,Belge Lambert 72,9803,8821,90,9110,8822,4.2124983,9110,8823,49.5,9110,8824,51.1,9110,8826,150000.01256,9001,8827,5400088.4378,9001,,, -19903,Nord de Guerre,9801,8801,55,9105,8802,6,9105,8805,0.99950908,9201,8806,500000,9001,8807,300000,9001,,,,,, -19904,Ghana Metre Grid,9807,8801,4.4,9110,8802,-1,9110,8805,0.99975,9201,8806,274319.51,9001,8807,0,9001,,,,,, -19905,Netherlands East Indies Equatorial Zone,9804,8801,0,9102,8802,110,9102,8805,0.997,9201,8806,3900000,9001,8807,900000,9001,,,,,, -19906,Iraq zone,9801,8801,32.3,9110,8802,45,9110,8805,0.9987864078,9201,8806,1500000,9001,8807,1166200,9001,,,,,, -19907,Iraq National Grid,9807,8801,29.0134566,9110,8802,46.3,9110,8805,0.9994,9201,8806,800000,9001,8807,0,9001,,,,,, -19908,Irish National Grid,9807,8801,53.3,9110,8802,-8,9110,8805,1.000035,9201,8806,200000,9001,8807,250000,9001,,,,,, -19909,"Jamaica (Old Grid)",9801,8801,18,9102,8802,-77,9102,8805,1,9201,8806,550000,9005,8807,400000,9005,,,,,, -19910,Jamaica National Grid,9801,8801,18,9102,8802,-77,9102,8805,1,9201,8806,250000,9001,8807,150000,9001,,,,,, -19911,Laborde Grid approximation,9815,8811,-21,9105,8812,49,9105,8813,21,9105,8814,21,9105,8815,0.9995,9201,8816,400000,9001,8817,800000,9001 -19913,RD Old,9809,8801,52.0922178,9110,8802,5.23155,9110,8805,0.9999079,9201,8806,0,9001,8807,0,9001,,,,,, -19914,RD New,9809,8801,52.0922178,9110,8802,5.23155,9110,8805,0.9999079,9201,8806,155000,9001,8807,463000,9001,,,,,, -19915,Aden Zone,9801,8801,15,9102,8802,45,9102,8805,0.999365678,9201,8806,1500000,9001,8807,1000000,9001,,,,,, -19916,British National Grid,9807,8801,49,9102,8802,-2,9102,8805,0.9996012717,9201,8806,400000,9001,8807,-100000,9001,,,,,, -19917,New Zealand Map Grid,9811,8801,-41,9102,8802,173,9102,8806,2510000,9001,8807,6023150,9001,,,,,,,,, -19919,Qatar National Grid,9807,8801,24.27,9110,8802,51.13,9110,8805,0.99999,9201,8806,200000,9001,8807,300000,9001,,,,,, -19920,Singapore Grid,9806,8801,1.1715528,9110,8802,103.5110808,9110,8806,30000,9001,8807,30000,9001,,,,,,,,, -19921,Spain,9801,8801,40,9102,8802,0,9102,8805,0.9988085293,9201,8806,600000,9001,8807,600000,9001,,,,,, -19922,Swiss Oblique Mercator 1903M,9815,8811,46.570866,9110,8812,7.26225,9110,8813,90,9110,8814,90,9110,8815,1,9201,8816,600000,9001,8817,200000,9001 -19923,Swiss Oblique Mercator 1903C,9815,8811,46.570866,9110,8812,0,9110,8813,90,9110,8814,90,9110,8815,1,9201,8816,0,9001,8817,0,9001 -19924,Tobago Grid,9806,8801,11.1507843,9110,8802,-60.4109632,9110,8806,187500,9039,8807,180000,9039,,,,,,,,, -19925,Trinidad Grid,9806,8801,10.263,9110,8802,-61.2,9110,8806,430000,9039,8807,325000,9039,,,,,,,,, -19926,Stereo 70,9809,8801,46,9102,8802,25,9102,8805,0.99975,9201,8806,500000,9001,8807,500000,9001,,,,,, -19927,Stereo 33,9809,8801,45.54,9110,8802,25.23328772,9110,8805,0.9996667,9201,8806,500000,9001,8807,500000,9001,,,,,, -19928,Kuwait TM,9807,8801,0,9102,8802,48,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -19929,Sweden zone 2.5 gon V,9807,8801,0,9110,8802,15.48298,9110,8805,1,9201,8806,1500000,9001,8807,0,9001,,,,,, -19930,Greek Grid,9807,8801,0,9102,8802,24,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -19931,Egyseges Orszagos Vetuleti,9815,8811,47.08398174,9110,8812,19.02548584,9110,8813,90,9110,8814,90,9110,8815,0.99993,9201,8816,650000,9001,8817,200000,9001 -19933,"Prince Edward Island Stereographic (ATS77)",9809,8801,47.15,9110,8802,-63,9110,8805,0.999912,9201,8806,700000,9001,8807,400000,9001,,,,,, -19934,Lithuania 1994,9807,8801,0,9102,8802,24,9102,8805,0.9998,9201,8806,500000,9001,8807,0,9001,,,,,, -19935,Rectified Skew Orthomorphic Malaya Grid,9812,8806,40000,9062,8807,0,9062,8811,4,9110,8812,102.15,9110,8813,323.01328458,9110,8814,323.07483685,9110,8815,0.99984,9201 -19936,Portuguese National Grid,9807,8801,39.4,9110,8802,1,9110,8805,1,9201,8806,200000,9001,8807,300000,9001,,,,,, -19937,Tunisia Mining Grid,9816,8821,36.5964,9105,8822,7.83445,9105,8826,270,9036,8827,360,9036,,,,,,,,, -19938,Estonian National Grid,9802,8821,57.310319415,9110,8822,24,9110,8823,59.2,9110,8824,58,9110,8826,500000,9001,8827,6375000,9001,,, -19939,TM Baltic 93,9807,8801,0,9102,8802,24,9102,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -19940,Levant Zone,9817,8801,34.39,9110,8802,37.21,9110,8805,0.9996256,9201,8806,300000,9001,8807,300000,9001,,,,,, -19941,Brazil Polyconic,9818,8801,0,9102,8802,-54,9102,8806,5000000,9001,8807,10000000,9001,,,,,,,,, -19942,British West Indies Grid,9807,8801,0,9102,8802,-62,9102,8805,0.9995,9201,8806,400000,9001,8807,0,9001,,,,,, -19943,Barbados National Grid,9807,8801,13.1035,9110,8802,-59.3335,9110,8805,0.9999986,9201,8806,30000,9001,8807,75000,9001,,,,,, -19944,Quebec Lambert Projection,9802,8821,44,9110,8822,-68.3,9110,8823,60,9110,8824,46,9110,8826,0,9001,8827,0,9001,,, -19945,"New Brunswick Stereographic (ATS77)",9809,8801,46.3,9110,8802,-66.3,9110,8805,0.999912,9201,8806,300000,9001,8807,800000,9001,,,,,, -19946,"New Brunswick Stereographic (NAD83)",9809,8801,46.3,9110,8802,-66.3,9110,8805,0.999912,9201,8806,2500000,9001,8807,7500000,9001,,,,,, -19947,Austria Lambert,9802,8821,47.3,9110,8822,13.2,9110,8823,49,9110,8824,46,9110,8826,400000,9001,8827,400000,9001,,, -19948,Syria Lambert,9801,8801,34.39,9110,8802,37.21,9110,8805,0.9996256,9201,8806,300000,9001,8807,300000,9001,,,,,, -19949,Levant Stereographic,9809,8801,38,9105,8802,43.5,9105,8805,0.9995341,9201,8806,0,9001,8807,0,9001,,,,,, -19950,Swiss Oblique Mercator 1995,9815,8811,46.570866,9110,8812,7.26225,9110,8813,90,9110,8814,90,9110,8815,1,9201,8816,2600000,9001,8817,1200000,9001 -19951,Nakhl e Taqi Oblique Mercator,9815,8811,27.31077837,9110,8812,52.3612741,9110,8813,0.34179803,9110,8814,0.34179803,9110,8815,0.999895934,9201,8816,658377.437,9001,8817,3044969.194,9001 -19952,Krovak,9819,1036,30.1717303,9110,8806,0,9001,8807,0,9001,8811,49.3,9110,8818,78.3,9110,8819,0.9999,9201,8833,42.3,9110 -19953,Qatar Grid,9806,8801,25.22565,9110,8802,50.4541,9110,8806,100000,9001,8807,100000,9001,,,,,,,,, -19954,Suriname Old TM,9807,8801,0,9110,8802,-55.41,9110,8805,0.9996,9201,8806,500000,9001,8807,0,9001,,,,,, -19955,Suriname TM,9807,8801,0,9110,8802,-55.41,9110,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,, -19956,"Rectified Skew Orthomorphic Borneo Grid (chains)",9815,8811,4,9110,8812,115,9110,8813,53.18569537,9110,8814,53.07483685,9110,8815,0.99984,9201,8816,29352.4763,9042,8817,22014.3572,9042 -19957,"Rectified Skew Orthomorphic Borneo Grid (feet)",9815,8811,4,9110,8812,115,9110,8813,53.18569537,9110,8814,53.07483685,9110,8815,0.99984,9201,8816,1937263.44,9041,8817,1452947.58,9041 -19958,"Rectified Skew Orthomorphic Borneo Grid (metres)",9815,8811,4,9110,8812,115,9110,8813,53.18569537,9110,8814,53.07483685,9110,8815,0.99984,9201,8816,590476.87,9001,8817,442857.65,9001 -19959,Ghana National Grid,9807,8801,4.4,9110,8802,-1,9110,8805,0.99975,9201,8806,900000,9094,8807,0,9094,,,,,, -19960,"Prince Edward Isl. Stereographic (NAD83)",9809,8801,47.15,9110,8802,-63,9110,8805,0.999912,9201,8806,400000,9001,8807,800000,9001,,,,,, -19961,Belgian Lambert 72,9802,8821,90,9110,8822,4.2202952,9110,8823,51.100000204,9110,8824,49.500000204,9110,8826,150000.013,9001,8827,5400088.438,9001,,, -19962,Irish Transverse Mercator,9807,8801,53.3,9110,8802,-8,9110,8805,0.99982,9201,8806,600000,9001,8807,750000,9001,,,,,, -19963,Sierra Leone New Colony Grid,9807,8801,6.4,9110,8802,-12,9110,8805,1,9201,8806,500000,9094,8807,0,9094,,,,,, -19964,New War Office Sierra Leone Grid,9807,8801,6.4,9110,8802,-12,9110,8805,1,9201,8806,800000,9094,8807,600000,9094,,,,,, -19965,US National Atlas Equal Area,9821,8806,0,9001,8807,0,9001,8828,45,9102,8829,-100,9102,,,,,,,,, -19966,Luxembourg Gauss,9807,8801,49.5,9110,8802,6.1,9110,8805,1,9201,8806,80000,9001,8807,100000,9001,,,,,, -19967,Slovenia Grid,9807,8801,0,9110,8802,15,9110,8805,0.9999,9201,8806,500000,9001,8807,0,9001,,,,,, -19968,"World Equidistant Cylindrical (Sphere)",9823,8801,0,9102,8802,0,9102,8806,0,9001,8807,0,9001,,,,,,,,, -19969,Portuguese Grid,9807,8801,39.4,9110,8802,1,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -19971,New Zealand Transverse Mercator 2000,9807,8801,0,9102,8802,173,9102,8805,0.9996,9201,8806,1600000,9001,8807,10000000,9001,,,,,, -19972,Irish Grid,9807,8801,53.3,9110,8802,-8,9110,8805,1.000035,9201,8806,200000,9001,8807,250000,9001,,,,,, -19973,Irish National Grid,9807,8801,53.3,9110,8802,-8,9110,8805,1,9201,8806,200000,9001,8807,250000,9001,,,,,, -19974,Modified Portuguese Grid,9807,8801,39.4,9110,8802,-8.0754862,9110,8805,1,9201,8806,180.598,9001,8807,-86.99,9001,,,,,, -19975,"Trinidad Grid (Clarke's feet)",9806,8801,10.263,9110,8802,-61.2,9110,8806,283800,9005,8807,214500,9005,,,,,,,,, -19976,ICN Regional,9802,8821,6,9102,8822,-66,9102,8823,9,9102,8824,3,9102,8826,1000000,9001,8827,1000000,9001,,, -19977,Aramco Lambert,9802,8821,25.0522236,9110,8822,48,9102,8823,17,9102,8824,33,9102,8826,0,9001,8827,0,9001,,, -19978,Hong Kong 1980 Grid,9807,8801,22.184368,9110,8802,114.10428,9110,8805,1,9201,8806,836694.05,9001,8807,819069.8,9001,,,,,, -19979,Portugal Bonne,9828,8801,39.4,9110,8802,1,9110,8806,0,9001,8807,0,9001,,,,,,,,, -19981,Lambert New Caledonia,9802,8821,-21.3,9110,8822,166,9110,8823,-20.4,9110,8824,-22.2,9110,8826,400000,9001,8827,300000,9001,,, -19982,TM Reunion,9807,8801,-21.07,9110,8802,55.32,9110,8805,1,9201,8806,50000,9001,8807,160000,9001,,,,,, -19983,Terre Adelie Polar Stereographic,9830,8826,300000,9001,8827,200000,9001,8832,-67,9102,8833,140,9102,,,,,,,,, -19984,British Columbia Albers,9822,8821,45,9102,8822,-126,9102,8823,50,9110,8824,58.3,9110,8826,1000000,9001,8827,0,9001,,, -19985,Europe Conformal 2001,9802,8821,52,9102,8822,10,9102,8823,35,9102,8824,65,9102,8826,4000000,9001,8827,2800000,9001,,, -19986,Europe Equal Area 2001,9820,8801,52,9102,8802,10,9102,8806,4321000,9001,8807,3210000,9001,,,,,,,,, -19987,Iceland Lambert 1900,9826,8801,65,9110,8802,-19.011965,9110,8805,1,9201,8806,0,9001,8807,0,9001,,,,,, -19988,Iceland Lambert 1955,9826,8801,65,9102,8802,-18,9102,8805,1,9201,8806,500000,9001,8807,500000,9001,,,,,, -19989,Iceland Lambert 1993,9802,8821,65,9110,8822,-19,9110,8823,64.15,9110,8824,65.45,9110,8826,500000,9001,8827,500000,9001,,, -19990,Latvian Transverse Mercator,9807,8801,0,9102,8802,24,9102,8805,0.9996,9201,8806,500000,9001,8807,-6000000,9001,,,,,, -19991,Jan Mayen Grid,9807,8801,0,9110,8802,-8.3,9110,8805,1,9201,8806,50000,9001,8807,-7800000,9001,,,,,, -19992,Antarctic Polar Stereographic,9829,8806,0,9001,8807,0,9001,8832,-71,9102,8833,0,9102,,,,,,,,, -19993,Australian Antarctic Polar Stereographic,9829,8806,6000000,9001,8807,6000000,9001,8832,-71,9102,8833,70,9102,,,,,,,,, -19994,Australian Antarctic Lambert,9802,8821,-50,9110,8822,70,9110,8823,-68.3,9110,8824,-74.3,9110,8826,6000000,9001,8827,6000000,9001,,, -19995,Jordan Transverse Mercator,9807,8801,0,9102,8802,37,9102,8805,0.9998,9201,8806,500000,9001,8807,-3000000,9001,,,,,, -19996,Soldner Berlin,9806,8801,52.25071338,9110,8802,13.37379332,9110,8806,40000,9001,8807,10000,9001,,,,,,,,, -19997,Kuwait Transverse Mercator,9807,8801,0,9102,8802,48,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, -19998,Guernsey Grid,9807,8801,49.3,9110,8802,-2.25,9110,8805,0.999997,9201,8806,47000,9001,8807,50000,9001,,,,,, -19999,Jersey Transverse Mercator,9807,8801,49.225,9102,8802,-2.135,9102,8805,0.9999999,9201,8806,40000,9001,8807,70000,9001,,,,,, diff --git a/bin/gdal_data/ruian_vf_ob_v1.gfs b/bin/gdal_data/ruian_vf_ob_v1.gfs deleted file mode 100644 index 36f0dbaf..00000000 --- a/bin/gdal_data/ruian_vf_ob_v1.gfs +++ /dev/null @@ -1,1455 +0,0 @@ - - - - Obce - Data|Obce|Obec - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - MultiPoint - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice3 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - StatusKod - StatusKod - Integer - - - - OkresKod - Okres|Kod - Integer - - - - PouKod - Pou|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - MluvnickeCharakteristikyPad2 - MluvnickeCharakteristiky|Pad2 - String - 48 - - - MluvnickeCharakteristikyPad3 - MluvnickeCharakteristiky|Pad3 - String - 48 - - - MluvnickeCharakteristikyPad4 - MluvnickeCharakteristiky|Pad4 - String - 48 - - - MluvnickeCharakteristikyPad6 - MluvnickeCharakteristiky|Pad6 - String - 48 - - - MluvnickeCharakteristikyPad7 - MluvnickeCharakteristiky|Pad7 - String - 48 - - - - VlajkaText - VlajkaText - String - 4000 - - - - VlajkaObrazek - VlajkaObrazek - Complex - - - - ZnakText - ZnakText - String - 4000 - - - - ZnakObrazek - ZnakObrazek - Complex - - - - CleneniSMRozsahKod - CleneniSMRozsahKod - Integer - - - - CleneniSMTypKod - CleneniSMTypKod - Integer - - - - NutsLau - NutsLau - String - 12 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - SpravniObvody - Data|SpravniObvody|SpravniObvod - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 32 - - - - Nespravny - Nespravny - String - 5 - - - - SpravniMomcKod - SpravniMomcKod - Integer - - - - ObecKod - Obec|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Mop - Data|Mop|Mop - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 32 - - - - Nespravny - Nespravny - String - 5 - - - - ObecKod - Obec|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Momc - Data|Momc|Momc - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - MopKod - Mop|Kod - Integer - - - - ObecKod - Obec|Kod - Integer - - - - SpravniObvodKod - SpravniObvod|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - VlajkaText - VlajkaText - String - 4000 - - - - VlajkaObrazek - VlajkaObrazek - Complex - - - - MluvnickeCharakteristikyPad2 - MluvnickeCharakteristiky|Pad2 - String - 48 - - - MluvnickeCharakteristikyPad3 - MluvnickeCharakteristiky|Pad3 - String - 48 - - - MluvnickeCharakteristikyPad4 - MluvnickeCharakteristiky|Pad4 - String - 48 - - - MluvnickeCharakteristikyPad6 - MluvnickeCharakteristiky|Pad6 - String - 48 - - - MluvnickeCharakteristikyPad7 - MluvnickeCharakteristiky|Pad7 - String - 48 - - - - ZnakText - ZnakText - String - 4000 - - - - ZnakObrazek - ZnakObrazek - Complex - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - CastiObci - Data|CastiObci|CastObce - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - ObecKod - Obec|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - MluvnickeCharakteristikyPad2 - MluvnickeCharakteristiky|Pad2 - String - 48 - - - MluvnickeCharakteristikyPad3 - MluvnickeCharakteristiky|Pad3 - String - 48 - - - MluvnickeCharakteristikyPad4 - MluvnickeCharakteristiky|Pad4 - String - 48 - - - MluvnickeCharakteristikyPad6 - MluvnickeCharakteristiky|Pad6 - String - 48 - - - MluvnickeCharakteristikyPad7 - MluvnickeCharakteristiky|Pad7 - String - 48 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - KatastralniUzemi - Data|KatastralniUzemi|KatastralniUzemi - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - MultiPoint - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice2 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - ExistujeDigitalniMapa - ExistujeDigitalniMapa - String - 5 - - - - ObecKod - Obec|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - RizeniId - RizeniId - Integer - Integer64 - - - - MluvnickeCharakteristikyPad2 - MluvnickeCharakteristiky|Pad2 - String - 48 - - - MluvnickeCharakteristikyPad3 - MluvnickeCharakteristiky|Pad3 - String - 48 - - - MluvnickeCharakteristikyPad4 - MluvnickeCharakteristiky|Pad4 - String - 48 - - - MluvnickeCharakteristikyPad6 - MluvnickeCharakteristiky|Pad6 - String - 48 - - - MluvnickeCharakteristikyPad7 - MluvnickeCharakteristiky|Pad7 - String - 48 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Zsj - Data|Zsj|Zsj - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - MultiPoint - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - KatastralniUzemiKod - KatastralniUzemi|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - MluvnickeCharakteristikyPad2 - MluvnickeCharakteristiky|Pad2 - String - 48 - - - MluvnickeCharakteristikyPad3 - MluvnickeCharakteristiky|Pad3 - String - 48 - - - MluvnickeCharakteristikyPad4 - MluvnickeCharakteristiky|Pad4 - String - 48 - - - MluvnickeCharakteristikyPad6 - MluvnickeCharakteristiky|Pad6 - String - 48 - - - MluvnickeCharakteristikyPad7 - MluvnickeCharakteristiky|Pad7 - String - 48 - - - - Vymera - Vymera - Integer - Integer64 - - - - CharakterZsjKod - CharakterZsjKod - Integer - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Ulice - Data|Ulice|Ulice - urn:ogc:def:crs:EPSG::5514 - - - DefinicniCara - Geometrie|DefinicniCara - MultiLineString - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - ObecKod - Obec|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - - Parcely - Data|Parcely|Parcela - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - Polygon - - - - OriginalniHraniceOmpv - Geometrie|OriginalniHraniceOmpv - MultiPolygon - - - - Id - Id - Integer - Integer64 - - - - Nespravny - Nespravny - String - 5 - - - - KmenoveCislo - KmenoveCislo - Integer - - - - PododdeleniCisla - PododdeleniCisla - Integer - - - - VymeraParcely - VymeraParcely - Integer - Integer64 - - - - ZpusobyVyuzitiPozemku - ZpusobyVyuzitiPozemku - Integer - - - - DruhCislovaniKod - DruhCislovaniKod - Integer - - - - DruhPozemkuKod - DruhPozemkuKod - Integer - - - - KatastralniUzemiKod - KatastralniUzemi|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - RizeniId - RizeniId - Integer - Integer64 - - - - BonitovanyDilVymera - BonitovaneDily|BonitovanyDil|Vymera - IntegerList - - - - BonitovanyDilBonitovanaJednotkaKod - BonitovaneDily|BonitovanyDil|BonitovanaJednotkaKod - IntegerList - - - - BonitovanyDilIdTranskace - BonitovaneDily|BonitovanyDil|IdTranskace - IntegerList - Integer64 - - - - BonitovaneDilRizeniId - BonitovaneDily|BonitovanyDil|RizeniId - IntegerList - Integer64 - - - - ZpusobOchranyKod - ZpusobyOchranyPozemku|ZpusobOchrany|Kod - IntegerList - - - - ZpusobOchranyTypOchranyKod - ZpusobyOchranyPozemku|ZpusobOchrany|TypOchranyKod - IntegerList - - - - ZpusobOchranyIdTransakce - ZpusobyOchranyPozemku|ZpusobOchrany|IdTransakce - IntegerList - - - - ZpusobOchranyRizeniId - ZpusobyOchranyPozemku|ZpusobOchrany|RizeniId - IntegerList - Integer64 - - - - - StavebniObjekty - Data|StavebniObjekty|StavebniObjekt - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - OriginalniHraniceOmpv - Geometrie|OriginalniHraniceOmpv - MultiPolygon - - - - Kod - Kod - Integer - - - - Nespravny - Nespravny - String - 5 - - - - CisloDomovni - CislaDomovni|CisloDomovni - IntegerList - - - - IdentifikacniParcelaId - IdentifikacniParcela|Id - Integer - Integer64 - - - - TypStavebnihoObjektuKod - TypStavebnihoObjektuKod - Integer - - - - ZpusobVyuzitiKod - ZpusobVyuzitiKod - Integer - - - - CastObceKod - CastObce|Kod - Integer - - - - MomcKod - Momc|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - IsknBudovaId - IsknBudovaId - Integer - Integer64 - - - - Dokonceni - Dokonceni - String - 19 - - - - DruhKonstrukceKod - DruhKonstrukceKod - Integer - - - - ObestavenyProstor - ObestavenyProstor - Integer - - - - PocetBytu - PocetBytu - Integer - - - - PocetPodlazi - PocetPodlazi - Integer - - - - PodlahovaPlocha - PodlahovaPlocha - Integer - - - - PripojeniKanalizaceKod - PripojeniKanalizaceKod - Integer - - - - PripojeniPlynKod - PripojeniPlynKod - Integer - - - - PripojeniVodovodKod - PripojeniVodovodKod - Integer - - - - VybaveniVytahemKod - VybaveniVytahemKod - Integer - - - - ZastavenaPlocha - ZastavenaPlocha - Integer - - - - ZpusobVytapeniKod - ZpusobVytapeniKod - Integer - - - - ZpusobOchranyKod - ZpusobyOchrany|ZpusobOchrany|Kod - IntegerList - - - - ZpusobOchranyTypOchranyKod - ZpusobyOchrany|ZpusobOchrany|TypOchranyKod - IntegerList - - - - ZpusobOchranyIdTransakce - ZpusobyOchrany|ZpusobOchrany|IdTransakce - IntegerList - - - - ZpusobOchranyRizeniId - ZpusobyOchrany|ZpusobOchrany|RizeniId - IntegerList - Integer64 - - - - DetailniTEAKod - DetailniTEA|DetailniTEA|Kod - IntegerList - - - - DetailniTEAPlatiOd - DetailniTEA|DetailniTEA|PlatiOd - StringList - 19 - - - - DetailniTEAGlobalniIdNavrhuZmeny - DetailniTEA|DetailniTEA|GlobalniIdNavrhuZmeny - IntegerList - Integer64 - - - - DetailniTEADruhKonstrukceKod - DetailniTEA|DetailniTEA|DruhKonstrukceKod - IntegerList - - - - DetailniTEAPocetBytu - DetailniTEA|DetailniTEA|PocetBytu - IntegerList - - - - DetailniTEAPocetPodlazi - DetailniTEA|DetailniTEA|PocetPodlazi - IntegerList - - - - DetailniTEAPripojeniKanalizaceKod - DetailniTEA|DetailniTEA|PripojeniKanalizaceKod - IntegerList - - - - DetailniTEAPripojeniPlynKod - DetailniTEA|DetailniTEA|PripojeniPlynKod - IntegerList - - - - DetailniTEAPripojeniVodovodKod - DetailniTEA|DetailniTEA|PripojeniVodovodKod - IntegerList - - - - DetailniTEAZpusobVytapeniKod - DetailniTEA|DetailniTEA|ZpusobVytapeniKod - IntegerList - - - - DetailniTEAAdresniMistoKod - DetailniTEA|DetailniTEA|AdresniMistoKod|Kod - IntegerList - - - - - AdresniMista - Data|AdresniMista|AdresniMisto - urn:ogc:def:crs:EPSG::5514 - - - AdresniBod - Geometrie|DefinicniBod|AdresniBod - Point - - - - Zachranka - Geometrie|DefinicniBod|Zachranka - Point - - - - Hasici - Geometrie|DefinicniBod|Hasici - Point - - - - Kod - Kod - Integer - - - - Nespravny - Nespravny - String - 5 - - - - CisloDomovni - CisloDomovni - Integer - - - - CisloOrientacni - CisloOrientacni - Integer - - - - CisloOrientacniPismeno - CisloOrientacniPismeno - String - 1 - - - - Psc - Psc - Integer - - - - StavebniObjektKod - StavebniObjekt|Kod - Integer - - - - UliceKod - Ulice|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - IsknBudovaId - IsknBudovaId - Integer - Integer64 - - - diff --git a/bin/gdal_data/ruian_vf_st_uvoh_v1.gfs b/bin/gdal_data/ruian_vf_st_uvoh_v1.gfs deleted file mode 100644 index 1113438e..00000000 --- a/bin/gdal_data/ruian_vf_st_uvoh_v1.gfs +++ /dev/null @@ -1,86 +0,0 @@ - - - - VolebniOkrsek - Data|VolebniOkrsek|VO - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - Kod - Kod - Integer - - - - Cislo - Cislo - Integer - - - - Nespravny - Nespravny - String - 5 - - - - ObecKod - Obec|Kod - Integer - - - - MomcKod - Momc|Kod - Integer - - - - Poznamka - Poznamka - String - 60 - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - diff --git a/bin/gdal_data/ruian_vf_st_v1.gfs b/bin/gdal_data/ruian_vf_st_v1.gfs deleted file mode 100644 index 05c2daa7..00000000 --- a/bin/gdal_data/ruian_vf_st_v1.gfs +++ /dev/null @@ -1,1489 +0,0 @@ - - - - Staty - Data|Staty|Stat - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice5 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 32 - - - - Nespravny - Nespravny - String - 5 - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - NutsLau - NutsLau - String - 2 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - RegionySoudrznosti - Data|RegionySoudrznosti|RegionSoudrznosti - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice5 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 32 - - - - Nespravny - Nespravny - String - 5 - - - - StatKod - Stat|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - NutsLau - NutsLau - String - 4 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Kraje - Data|Kraje|Kraj - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice5 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 32 - - - - Nespravny - Nespravny - String - 5 - - - - StatKod - Stat|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - NutsLau - NutsLau - String - 4 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Vusc - Data|Vusc|Vusc - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice5 - MultiPolygon - - - - Kod - Kod - Integer - 6 - - - - Nazev - Nazev - String - 32 - - - - Nespravny - Nespravny - String - 5 - - - - RegionSoudrznostiKod - RegionSoudrznosti|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - NutsLau - NutsLau - String - 5 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Okresy - Data|Okresy|Okres - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice4 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 32 - - - - Nespravny - Nespravny - String - 5 - - - - KrajKod - Kraj|Kod - Integer - - - - VuscKod - Vusc|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - NutsLau - NutsLau - String - 6 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Orp - Data|Orp|Orp - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - MultiPoint - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice4 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - SpravniObecKod - SpravniObecKod - Integer - - - - VuscKod - Vusc|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Pou - Data|Pou|Pou - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - MultiPoint - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice4 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - SpravniObecKod - SpravniObecKod - Integer - 6 - - - - OrpKod - Orp|Kod - Integer - 6 - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Obce - Data|Obce|Obec - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - MultiPoint - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice3 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - StatusKod - StatusKod - Integer - - - - OkresKod - Okres|Kod - Integer - - - - PouKod - Pou|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - MluvnickeCharakteristikyPad2 - MluvnickeCharakteristiky|Pad2 - String - 48 - - - MluvnickeCharakteristikyPad3 - MluvnickeCharakteristiky|Pad3 - String - 48 - - - MluvnickeCharakteristikyPad4 - MluvnickeCharakteristiky|Pad4 - String - 48 - - - MluvnickeCharakteristikyPad6 - MluvnickeCharakteristiky|Pad6 - String - 48 - - - MluvnickeCharakteristikyPad7 - MluvnickeCharakteristiky|Pad7 - String - 48 - - - - VlajkaText - VlajkaText - String - 4000 - - - - VlajkaObrazek - VlajkaObrazek - Complex - - - - ZnakText - ZnakText - String - 4000 - - - - ZnakObrazek - ZnakObrazek - Complex - - - - CleneniSMRozsahKod - CleneniSMRozsahKod - Integer - - - - CleneniSMTypKod - CleneniSMTypKod - Integer - - - - NutsLau - NutsLau - String - 12 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - SpravniObvody - Data|SpravniObvody|SpravniObvod - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 32 - - - - Nespravny - Nespravny - String - 5 - - - - SpravniMomcKod - SpravniMomcKod - Integer - - - - ObecKod - Obec|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Mop - Data|Mop|Mop - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 32 - - - - Nespravny - Nespravny - String - 5 - - - - ObecKod - Obec|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Momc - Data|Momc|Momc - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - MopKod - Mop|Kod - Integer - - - - ObecKod - Obec|Kod - Integer - - - - SpravniObvodKod - SpravniObvod|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - VlajkaText - VlajkaText - String - 4000 - - - - VlajkaObrazek - VlajkaObrazek - Complex - - - - MluvnickeCharakteristikyPad2 - MluvnickeCharakteristiky|Pad2 - String - 48 - - - MluvnickeCharakteristikyPad3 - MluvnickeCharakteristiky|Pad3 - String - 48 - - - MluvnickeCharakteristikyPad4 - MluvnickeCharakteristiky|Pad4 - String - 48 - - - MluvnickeCharakteristikyPad6 - MluvnickeCharakteristiky|Pad6 - String - 48 - - - MluvnickeCharakteristikyPad7 - MluvnickeCharakteristiky|Pad7 - String - 48 - - - - ZnakText - ZnakText - String - 4000 - - - - ZnakObrazek - ZnakObrazek - Complex - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - CastiObci - Data|CastiObci|CastObce - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - ObecKod - Obec|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - MluvnickeCharakteristikyPad2 - MluvnickeCharakteristiky|Pad2 - String - 48 - - - MluvnickeCharakteristikyPad3 - MluvnickeCharakteristiky|Pad3 - String - 48 - - - MluvnickeCharakteristikyPad4 - MluvnickeCharakteristiky|Pad4 - String - 48 - - - MluvnickeCharakteristikyPad6 - MluvnickeCharakteristiky|Pad6 - String - 48 - - - MluvnickeCharakteristikyPad7 - MluvnickeCharakteristiky|Pad7 - String - 48 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - KatastralniUzemi - Data|KatastralniUzemi|KatastralniUzemi - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - MultiPoint - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice2 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - ExistujeDigitalniMapa - ExistujeDigitalniMapa - String - 5 - - - - ObecKod - Obec|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - RizeniId - RizeniId - Integer - Integer64 - - - - MluvnickeCharakteristikyPad2 - MluvnickeCharakteristiky|Pad2 - String - 48 - - - MluvnickeCharakteristikyPad3 - MluvnickeCharakteristiky|Pad3 - String - 48 - - - MluvnickeCharakteristikyPad4 - MluvnickeCharakteristiky|Pad4 - String - 48 - - - MluvnickeCharakteristikyPad6 - MluvnickeCharakteristiky|Pad6 - String - 48 - - - MluvnickeCharakteristikyPad7 - MluvnickeCharakteristiky|Pad7 - String - 48 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Zsj - Data|Zsj|Zsj - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - MultiPoint - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - KatastralniUzemiKod - KatastralniUzemi|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - MluvnickeCharakteristikyPad2 - MluvnickeCharakteristiky|Pad2 - String - 48 - - - MluvnickeCharakteristikyPad3 - MluvnickeCharakteristiky|Pad3 - String - 48 - - - MluvnickeCharakteristikyPad4 - MluvnickeCharakteristiky|Pad4 - String - 48 - - - MluvnickeCharakteristikyPad6 - MluvnickeCharakteristiky|Pad6 - String - 48 - - - MluvnickeCharakteristikyPad7 - MluvnickeCharakteristiky|Pad7 - String - 48 - - - - Vymera - Vymera - Integer - Integer64 - - - - CharakterZsjKod - CharakterZsjKod - Integer - - - - DatumVzniku - DatumVzniku - String - 19 - - - diff --git a/bin/gdal_data/ruian_vf_v1.gfs b/bin/gdal_data/ruian_vf_v1.gfs deleted file mode 100644 index c8a6d796..00000000 --- a/bin/gdal_data/ruian_vf_v1.gfs +++ /dev/null @@ -1,2064 +0,0 @@ - - - - Staty - Data|Staty|Stat - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice5 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 32 - - - - Nespravny - Nespravny - String - 5 - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - NutsLau - NutsLau - String - 2 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - RegionySoudrznosti - Data|RegionySoudrznosti|RegionSoudrznosti - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice5 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 32 - - - - Nespravny - Nespravny - String - 5 - - - - StatKod - Stat|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - NutsLau - NutsLau - String - 4 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Kraje - Data|Kraje|Kraj - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice5 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 32 - - - - Nespravny - Nespravny - String - 5 - - - - StatKod - Stat|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - NutsLau - NutsLau - String - 4 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Vusc - Data|Vusc|Vusc - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice5 - MultiPolygon - - - - Kod - Kod - Integer - 6 - - - - Nazev - Nazev - String - 32 - - - - Nespravny - Nespravny - String - 5 - - - - RegionSoudrznostiKod - RegionSoudrznosti|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - NutsLau - NutsLau - String - 5 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Okresy - Data|Okresy|Okres - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice4 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 32 - - - - Nespravny - Nespravny - String - 5 - - - - KrajKod - Kraj|Kod - Integer - - - - VuscKod - Vusc|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - NutsLau - NutsLau - String - 6 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Orp - Data|Orp|Orp - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - MultiPoint - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice4 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - SpravniObecKod - SpravniObecKod - Integer - - - - VuscKod - Vusc|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Pou - Data|Pou|Pou - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - MultiPoint - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice4 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - SpravniObecKod - SpravniObecKod - Integer - 6 - - - - OrpKod - Orp|Kod - Integer - 6 - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Obce - Data|Obce|Obec - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - MultiPoint - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice3 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - StatusKod - StatusKod - Integer - - - - OkresKod - Okres|Kod - Integer - - - - PouKod - Pou|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - MluvnickeCharakteristikyPad2 - MluvnickeCharakteristiky|Pad2 - String - 48 - - - MluvnickeCharakteristikyPad3 - MluvnickeCharakteristiky|Pad3 - String - 48 - - - MluvnickeCharakteristikyPad4 - MluvnickeCharakteristiky|Pad4 - String - 48 - - - MluvnickeCharakteristikyPad6 - MluvnickeCharakteristiky|Pad6 - String - 48 - - - MluvnickeCharakteristikyPad7 - MluvnickeCharakteristiky|Pad7 - String - 48 - - - - VlajkaText - VlajkaText - String - 4000 - - - - VlajkaObrazek - VlajkaObrazek - Complex - - - - ZnakText - ZnakText - String - 4000 - - - - ZnakObrazek - ZnakObrazek - Complex - - - - CleneniSMRozsahKod - CleneniSMRozsahKod - Integer - - - - CleneniSMTypKod - CleneniSMTypKod - Integer - - - - NutsLau - NutsLau - String - 12 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - SpravniObvody - Data|SpravniObvody|SpravniObvod - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 32 - - - - Nespravny - Nespravny - String - 5 - - - - SpravniMomcKod - SpravniMomcKod - Integer - - - - ObecKod - Obec|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Mop - Data|Mop|Mop - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 32 - - - - Nespravny - Nespravny - String - 5 - - - - ObecKod - Obec|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Momc - Data|Momc|Momc - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - MopKod - Mop|Kod - Integer - - - - ObecKod - Obec|Kod - Integer - - - - SpravniObvodKod - SpravniObvod|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - VlajkaText - VlajkaText - String - 4000 - - - - VlajkaObrazek - VlajkaObrazek - Complex - - - - MluvnickeCharakteristikyPad2 - MluvnickeCharakteristiky|Pad2 - String - 48 - - - MluvnickeCharakteristikyPad3 - MluvnickeCharakteristiky|Pad3 - String - 48 - - - MluvnickeCharakteristikyPad4 - MluvnickeCharakteristiky|Pad4 - String - 48 - - - MluvnickeCharakteristikyPad6 - MluvnickeCharakteristiky|Pad6 - String - 48 - - - MluvnickeCharakteristikyPad7 - MluvnickeCharakteristiky|Pad7 - String - 48 - - - - ZnakText - ZnakText - String - 4000 - - - - ZnakObrazek - ZnakObrazek - Complex - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - CastiObci - Data|CastiObci|CastObce - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - ObecKod - Obec|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - MluvnickeCharakteristikyPad2 - MluvnickeCharakteristiky|Pad2 - String - 48 - - - MluvnickeCharakteristikyPad3 - MluvnickeCharakteristiky|Pad3 - String - 48 - - - MluvnickeCharakteristikyPad4 - MluvnickeCharakteristiky|Pad4 - String - 48 - - - MluvnickeCharakteristikyPad6 - MluvnickeCharakteristiky|Pad6 - String - 48 - - - MluvnickeCharakteristikyPad7 - MluvnickeCharakteristiky|Pad7 - String - 48 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - KatastralniUzemi - Data|KatastralniUzemi|KatastralniUzemi - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - MultiPoint - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - GeneralizovaneHranice - Geometrie|GeneralizovaneHranice2 - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - ExistujeDigitalniMapa - ExistujeDigitalniMapa - String - 5 - - - - ObecKod - Obec|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - RizeniId - RizeniId - Integer - Integer64 - - - - MluvnickeCharakteristikyPad2 - MluvnickeCharakteristiky|Pad2 - String - 48 - - - MluvnickeCharakteristikyPad3 - MluvnickeCharakteristiky|Pad3 - String - 48 - - - MluvnickeCharakteristikyPad4 - MluvnickeCharakteristiky|Pad4 - String - 48 - - - MluvnickeCharakteristikyPad6 - MluvnickeCharakteristiky|Pad6 - String - 48 - - - MluvnickeCharakteristikyPad7 - MluvnickeCharakteristiky|Pad7 - String - 48 - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Zsj - Data|Zsj|Zsj - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - MultiPoint - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - KatastralniUzemiKod - KatastralniUzemi|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - MluvnickeCharakteristikyPad2 - MluvnickeCharakteristiky|Pad2 - String - 48 - - - MluvnickeCharakteristikyPad3 - MluvnickeCharakteristiky|Pad3 - String - 48 - - - MluvnickeCharakteristikyPad4 - MluvnickeCharakteristiky|Pad4 - String - 48 - - - MluvnickeCharakteristikyPad6 - MluvnickeCharakteristiky|Pad6 - String - 48 - - - MluvnickeCharakteristikyPad7 - MluvnickeCharakteristiky|Pad7 - String - 48 - - - - Vymera - Vymera - Integer - Integer64 - - - - CharakterZsjKod - CharakterZsjKod - Integer - - - - DatumVzniku - DatumVzniku - String - 19 - - - - - Ulice - Data|Ulice|Ulice - urn:ogc:def:crs:EPSG::5514 - - - DefinicniCara - Geometrie|DefinicniCara - MultiLineString - - - - Kod - Kod - Integer - - - - Nazev - Nazev - String - 48 - - - - Nespravny - Nespravny - String - 5 - - - - ObecKod - Obec|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - - Parcely - Data|Parcely|Parcela - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - Polygon - - - - OriginalniHraniceOmpv - Geometrie|OriginalniHraniceOmpv - MultiPolygon - - - - Id - Id - Integer - Integer64 - - - - Nespravny - Nespravny - String - 5 - - - - KmenoveCislo - KmenoveCislo - Integer - - - - PododdeleniCisla - PododdeleniCisla - Integer - - - - VymeraParcely - VymeraParcely - Integer - Integer64 - - - - ZpusobyVyuzitiPozemku - ZpusobyVyuzitiPozemku - Integer - - - - DruhCislovaniKod - DruhCislovaniKod - Integer - - - - DruhPozemkuKod - DruhPozemkuKod - Integer - - - - KatastralniUzemiKod - KatastralniUzemi|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - RizeniId - RizeniId - Integer - Integer64 - - - - BonitovanyDilVymera - BonitovaneDily|BonitovanyDil|Vymera - IntegerList - - - - BonitovanyDilBonitovanaJednotkaKod - BonitovaneDily|BonitovanyDil|BonitovanaJednotkaKod - IntegerList - - - - BonitovanyDilIdTranskace - BonitovaneDily|BonitovanyDil|IdTranskace - IntegerList - Integer64 - - - - BonitovaneDilRizeniId - BonitovaneDily|BonitovanyDil|RizeniId - IntegerList - Integer64 - - - - ZpusobOchranyKod - ZpusobyOchranyPozemku|ZpusobOchrany|Kod - IntegerList - - - - ZpusobOchranyTypOchranyKod - ZpusobyOchranyPozemku|ZpusobOchrany|TypOchranyKod - IntegerList - - - - ZpusobOchranyIdTransakce - ZpusobyOchranyPozemku|ZpusobOchrany|IdTransakce - IntegerList - - - - ZpusobOchranyRizeniId - ZpusobyOchranyPozemku|ZpusobOchrany|RizeniId - IntegerList - Integer64 - - - - - StavebniObjekty - Data|StavebniObjekty|StavebniObjekt - urn:ogc:def:crs:EPSG::5514 - - - DefinicniBod - Geometrie|DefinicniBod - Point - - - - OriginalniHranice - Geometrie|OriginalniHranice - MultiPolygon - - - - OriginalniHraniceOmpv - Geometrie|OriginalniHraniceOmpv - MultiPolygon - - - - Kod - Kod - Integer - - - - Nespravny - Nespravny - String - 5 - - - - CisloDomovni - CislaDomovni|CisloDomovni - IntegerList - - - - IdentifikacniParcelaId - IdentifikacniParcela|Id - Integer - Integer64 - - - - TypStavebnihoObjektuKod - TypStavebnihoObjektuKod - Integer - - - - ZpusobVyuzitiKod - ZpusobVyuzitiKod - Integer - - - - CastObceKod - CastObce|Kod - Integer - - - - MomcKod - Momc|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - IsknBudovaId - IsknBudovaId - Integer - Integer64 - - - - Dokonceni - Dokonceni - String - 19 - - - - DruhKonstrukceKod - DruhKonstrukceKod - Integer - - - - ObestavenyProstor - ObestavenyProstor - Integer - - - - PocetBytu - PocetBytu - Integer - - - - PocetPodlazi - PocetPodlazi - Integer - - - - PodlahovaPlocha - PodlahovaPlocha - Integer - - - - PripojeniKanalizaceKod - PripojeniKanalizaceKod - Integer - - - - PripojeniPlynKod - PripojeniPlynKod - Integer - - - - PripojeniVodovodKod - PripojeniVodovodKod - Integer - - - - VybaveniVytahemKod - VybaveniVytahemKod - Integer - - - - ZastavenaPlocha - ZastavenaPlocha - Integer - - - - ZpusobVytapeniKod - ZpusobVytapeniKod - Integer - - - - ZpusobOchranyKod - ZpusobyOchrany|ZpusobOchrany|Kod - IntegerList - - - - ZpusobOchranyTypOchranyKod - ZpusobyOchrany|ZpusobOchrany|TypOchranyKod - IntegerList - - - - ZpusobOchranyIdTransakce - ZpusobyOchrany|ZpusobOchrany|IdTransakce - IntegerList - - - - ZpusobOchranyRizeniId - ZpusobyOchrany|ZpusobOchrany|RizeniId - IntegerList - Integer64 - - - - DetailniTEAKod - DetailniTEA|Kod - IntegerList - - - - - AdresniMista - Data|AdresniMista|AdresniMisto - urn:ogc:def:crs:EPSG::5514 - - - AdresniBod - Geometrie|DefinicniBod|AdresniBod - Point - - - - Zachranka - Geometrie|DefinicniBod|Zachranka - Point - - - - Hasici - Geometrie|DefinicniBod|Hasici - Point - - - - Kod - Kod - Integer - - - - Nespravny - Nespravny - String - 5 - - - - CisloDomovni - CisloDomovni - Integer - - - - CisloOrientacni - CisloOrientacni - Integer - - - - CisloOrientacniPismeno - CisloOrientacniPismeno - String - 1 - - - - Psc - Psc - Integer - - - - StavebniObjektKod - StavebniObjekt|Kod - Integer - - - - UliceKod - Ulice|Kod - Integer - - - - PlatiOd - PlatiOd - String - 19 - - - - PlatiDo - PlatiDo - String - 19 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - - GlobalniIdNavrhuZmeny - GlobalniIdNavrhuZmeny - Integer - Integer64 - - - - IsknBudovaId - IsknBudovaId - Integer - Integer64 - - - - - ZaniklePrvky - Data|ZaniklePrvky|ZaniklyPrvek - - - TypPrvkuKod - TypPrvkuKod - String - 2 - - - - PrvekId - PrvekId - Integer - Integer64 - - - - IdTransakce - IdTransakce - Integer - Integer64 - - - diff --git a/bin/gdal_data/s57agencies.csv b/bin/gdal_data/s57agencies.csv deleted file mode 100644 index b60016d3..00000000 --- a/bin/gdal_data/s57agencies.csv +++ /dev/null @@ -1,249 +0,0 @@ -#AgencyID,Token,Code,AgencyName -1,AE,530,Ministry of Communications, United Arab Emirates -2,AR,1,Servicio de Hidrografia Naval, Argentina -3,AU,10,Hydrographic Service, Royal Australian Navy, Australia -4,BH,20,Hydrographic Section, Survey Directorate, Bahrain -5,BE,30,Antwerpse Zeediensten Hydrografie, Belgium -6,B1,31,Dienst der Kust Hydrografie, Belgium -7,BR,40,Diretoria de Hidrografia e Navegacao, Brazil -8,CA,50,Canadian Hydrographic Service, Canada -9,CL,60,Servicio Hidrogr fico y Oceanogr fico de la Armada, Chile -10,CN,70,Maritime Safety Administration, China -11,C1,71,Navigation Guarantee Department, China -12,C2,72,Hong Kong Hydrographic Service -13,HR,80,Drzavni Hidrografski Institut, Croatia -14,CU,90,Instituto Cubano de Hidrografia, Cuba -15,CY,100,Department of Lands & Surveys, Hydrographic Unit, Cyprus -16,DK,110,Kort-Og Matrikelstyrelsen, Denmark -17,D1,111,Farvandsvaesenet, Denmark -18,DO,120,Departamento Hidrografico, Marina de Guerra, Dominican Rep. -19,DZ,610,Service Hydrographique des forces navales, Algeria -20,EC,130,Instituto Oceanografico de la Armada, Ecuador -21,EG,140,Shobat al Misaha al Baharia, Egypt -22,FJ,150,Fiji Hydrographic Service, Fiji -23,FI,160,Merenkulkuhallitus, Merikarttaosasto, Finland -24,FR,170,Service Hydrographique et Oceanographique de la Marine, France -25,DE,180,Bundesamt fuer Seeschiffahrt und Hydrographie, Germany -26,GR,190,Hellenic Navy Hydrographic Service, Greece -27,GT,200,Departamento de Sistemas Hidraulicos, Guatemala -28,G1,201,Instituto Geogr fico Militar, Guatemala -29,IS,210,Sjomaelingar Islands, Iceland -30,IN,220,Naval Hydrographic Office, India -31,ID,230,Dinas Hidro-Oseanografi (Dishidros), Indonesia -32,IR,240,Ports and Shipping Organization, Iran -33,IT,250,Istituto Idrografico della Marina, Italy -34,JP,260,Japan Hydrographic Department, Japan -35,KR,270,Hydrographic Department of the DPRK, Korea (DPR of) -36,KP,280,Office of Hydrographic Affairs, Korea (Rep. of) -37,MY,290,Royal Malaysian Navy Hydrographic Department, Malaysia -38,MC,300,Departement des Travaux Publics et des Affaires Sociales, Monaco -39,NL,310,Dienst der Hydrografie Koninklijke Marine, Netherlands -40,NZ,320,Royal New Zealand Navy Hydrographic Office, New Zealand -41,NG,330,Nigerian Navy Hydrographic Office, Nigeria -42,NO,340,Norwegian Hydrographic Service, Norway -43,N1,341,Electronic Chart Centre, Norway -44,OM,350,National Hydrographic Organization, Oman -45,PK,360,Pakistan Hydrographic Department, Pakistan -46,PG,370,Department of Transport, Maritime Division, Papua New Guinea -47,PE,380,Direccion de Hidrografia y Navegacion de la Marina, Peru -48,PH,390,Coast & Geodetic Survey Dept., Philippines -49,PL,400,Biuro Hydrograficzne Marynarki Wojennej, Poland -50,PT,410,Instituto Hidrografico, Portugal -51,RU,420,Head Department of Navigation & Oceanography, Russian Federation -52,SG,430,Hydrographic Department, Singapore -53,ZA,440,South African Navy Hydrographic Office, South Afrika (Rep. of) -54,ES,450,Instituto Hidrogr fico de la Marina, Spain -55,LK,460,National Aquatic Resources Agency, Sri Lanka -56,SR,470,Ministry of Transports, Maritime Affairs, Suriname -57,SE,480,Sjoekarteavdelningen, Sweden -58,SY,490,General Directorate of Ports, Syria -59,TH,500,Krom Utoksastr, Thailand -60,TT,510,Trinidad & Tobago Hydrographic Unit, Trinidad & Tobago -61,TR,520,Seyir, Hidrografi ve Osinografi Dairesi Baskanligi, Turkey -62,GB,540,Hydrographic Office, UK -63,US,550,Office of Coast Survey, USA -64,U1,551,National Imagery and Mapping Agency, USA -65,U2,552,Naval Oceanography Command, USA -66,U3,553,US Army Corps of Engineers -67,UY,560,Servicio de Oceanografia, Hidrografia y Meteorologia de la Armada, Uruguay -68,VE,570,Direccion de Hidrografia y Navegacion, Venezuela -69,YU,580,Hydrographic Institute of the Navy, Yugoslavia -70,ZR,590,Direction de la Marine et des Voies Navigables, Zaire -71,AL,600,Sherbimi Hidrografik Shqiptar, Albania -72,AO,620,Not known, Angola -73,AG,630,Department of Marine Services and Merchant Shipping, Antigua and Barbuda -74,AW,640,Not known, Aruba -75,BS,650,Department of Lands and Surveys, Bahamas -76,BD,660,Department of Hydrography, Bangladesh -77,BB,670,Barbados Port Authority, Barbados -78,BZ,680,Not known, Belize -79,BJ,690,Direction Generale du Port Autonome de Cotonou, Benin -80,BO,700,Servicio de Hidrografia Naval, Bolivia -81,BN,710,Department of Marine, Brunei Darussalam -82,BG,720,Hidrografska Sluzhba Pri Ministerstvo Na Otbranata, Bulgaria -83,KH,730,Service de l'Hydraulique et des Voies Navigables, Cambodia -84,CM,740,Office National des Ports du Cameroun, Cameroon -85,CV,750,Direccao Geral da Marinha Mercante, Cape Verde -86,CO,760,Ministerio de Defensa Nacional, Armada Nacional, Direccion General Maritima, Colombia -87,KM,770,Not known, Comoros -88,CG,780,Direction du Port de Pointe-Noire, Congo -89,CK,790,Department of Trade Labour and Transport, Cook Islands -90,CR,800,Ministerio de Obras Publicas y Transportes, Costa Rica -91,CI,810,Direction G_n_rale du Port Autonome d'Abidjan, Cote-d'Ivoire -92,DJ,820,Ministere du Port et des Affaires Maritimes, Djibuti -93,DM,830,Not known, Dominica -94,SV,840,Instituto Geografico Nacional, El Salvador -95,GQ,850,Not known, Equatorial Guinea -96,ER,860,Port and Maritime Transport Authority, Eritrea -97,EE,870,Tuletorni - Huedrograafiatalitus, Estonia -98,ET,880,Ministry of Transport and Communications, Ethiopia -99,GA,890,Service de la Signalisation Maritime, Gabon -100,GM,900,Gambia Ports Authority, Gambia -101,GH,910,Ghana Ports and Harbours Authority, Ghana -102,GD,920,Grenada Ports Authority, Grenada -103,GN,930,Minist_re des Transports et Travaux Publics, Guinea -104,GW,940,Servicos da Marinha, Guinea-Bissau -105,GY,950,Transport and Harbours Department, Guyana -106,HT,960,Service Maritime et de Navigation d'Haiti, Haiti -107,HN,970,Departamento de Geologia e Hidrografia, Honduras -108,IQ,980,Marine Department, Iraq -109,IE,990,Department of the Marine, Ireland -110,IL,1000,Administration of Shipping and Ports, Israel -111,JM,1010,Harbour Master's Department, Jamaica -112,JO,1020,The Ports Corporation, Jordan -113,KE,1030,Survey of Kenya, Kenya -114,KI,1040,Ministry of Transport and Communications, Kiribati -115,KW,1050,Ministry of Communications, Kuwait -116,LV,1060,Latvijas Hidrografijas Dienests, Latvia -117,LB,1070,Service du Transport Maritime, Lebanon -118,LR,1080,Ministry of Lands, Mines and Energy, Liberia -119,LY,1090,Not known, Libyan Arab Jamahiriya -120,LT,1100,Klaipeda State Seaport Authority, Lithuania -121,MG,1110,Foiben-Taosarintanin'i Madagasikara, Madagascar -122,MW,1120,Hydrographic Survey Unit, Malawi -123,MV,1130,Department of Information and Broadcasting, Maldives -124,MT,1140,Malta Maritime Authority Ports Directorate, Malta -125,MH,1150,Ministry of Resources and Development, Marshall Islands -126,MR,1160,Ministere de la Defense Nationale, Mauritania -127,MU,1170,Ministry of Housing, Lands and Town and Country Planning, Mauritius -128,MX,1180,Direccion General de Oceanografia Naval, Mexiko -129,FM,1190,Not known, Micronesia (Federated State of) -130,MA,1200,Service Hydrographique et Oceanographique de la Marine Royale, Morocco -131,MZ,1210,Instituto Nacional de Hidrografia e Navegacao, Mozambique -132,MM,1220,Naval Hydrographic Office, Myanmar -133,NA,1230,Not known, Namibia -134,NR,1240,Nauru Phosphate Corporation, Nauru -135,NI,1250,Secretaria de Planificacion y Presupuesto de la Presidencia de la Republica, Instituto Nicaraguense de Estudios Territoriales, Nicaragua -136,PW,1260,Bureau of Domestic Affairs, Palau -137,PA,1270,Instituto Geografico Nacional, Panama -138,PY,1280,Direccion de Hidrografia y Navegacion, Paraguay -139,QA,1290,Ministry of Municipal Affairs and Agriculture, Qatar -140,RO,1300,Directia Hidrografica Maritima, Romania -141,KN,1310,St. Christopher Air and Sea Ports Authority, Hydrographic Service, Saint Kitts and Nevis -142,LC,1320,Ministry of Planning, Personnel Establishment and Training, Saint Lucia -143,VC,1330,Ministry of Communications and Works, Saint Vincent and Grenadines -144,WS,1340,Ministry of Transport, Marine and Shipping Division, Samoa -145,ST,1350,Not known, Sao Tombe and Principe -146,SA,1360,Military Survey Department, Hydrographic Section, Saudi Arabia -147,SN,1370,Ministere de l'Equipement, des Transports et de la Mer, Senegal -148,SC,1380,Hydrographic and Topographic Brigade, Seychelles -149,SL,1390,Department of Transport and Communications, Sierra Leone -150,SI,1400,Not known, Slovenia -151,SB,1410,Solomon Islands Hydrographic Unit, Solomon Islands -152,SO,1420,Somali Hydrographic Office, Marine Department, Ministry of Marine Transports and Ports, Somalia -153,SD,1430,Survey Department, Sudan -154,TZ,1440,Tanzania Harbours Authority, Tanzania -155,TG,1450,University of Benin, Togo -156,TK,1460,Not known, Tokelau -157,TN,1470,Service Hydrographique et Oceanographique, Armee de Mer, Ministere de la Defense Nationale, Tunisia -158,TV,1480,Ministry of Labour, Works and Communications, Tuvalu -159,UA,1490,National Agency of Marine Research and Technology, Ukraine -160,VU,1500,Vanuatu Hydrographic Unit, Vanuata -161,VN,1510,Not known, Vietnam -162,YE,1520,Ministry of Communications, Yemen Ports and Shipping Corporation, Yemen Ports Authority, Yemen -163,QM,1600,Antarctic Treaty Consultative Committee -164,QN,1610,International Radio Consultative Committee -165,QO,1620,Comite International Radio-Maritime -166,QP,1630,IHO Data Centre for Digital Bathymetry -167,QQ,1640,Digital Geographic Information Working Group -168,QR,1650,European Communities Commission -169,QS,1660,European Harbour Masters Association -170,QT,1670,Food and Agriculture Organization -171,QU,1680,Federation Internationale des Geometres -172,QV,1690,International Atomic Energy Agency -173,QW,1700,International Association of Geodesy -174,QX,1710,International Association of Institutes of Navigation -175,QY,1720,International Association of Lighthouse Authorities -176,QZ,1730,International Association of Ports and Harbours -177,XA,1740,International Cartographic Association -178,XB,1750,International Cable Protection Committee -179,XC,1760,International Chamber of Shipping -180,XD,1770,International Commission for the Scientific Exploration of the Mediterranean -181,XE,1780,International Council of Scientific Unions -182,XF,1790,International Electrotechnical Commission -183,XG,1800,International Geographical Union -184,AA,1810,International Hydrographic Organization -185,XH,1820,International Maritime Academy -186,XI,1830,International Maritime Organization -187,XJ,1840,International Maritime Satellite Organization -188,XK,1850,Intergovernmental Oceanographic Commission -189,XL,1860,International Organization for Standardization -190,XM,1870,International Society for Photogrammetry and Remote Sensing -191,XN,1880,International Telecommunication Union -192,XO,1890,International Union of Geodesy and Geophysics -193,XP,1900,International Union of Surveying and Mapping -194,XQ,1910,Oil Companies International Marine Forum -195,XR,1920,Pan American Institute of Geography and History -196,XS,1930,Radio Technical Commission for Maritime Services -197,XT,1940,Scientific Commission on Antarctic Research -198,XU,1950,The Hydrographic Society -199,XV,1960,World Meteorological Organization -200,XW,1970,United Nations, Office for Ocean Affairs and Law of the Sea -201,PM,2020,PRIMAR - European ENC Coordinating Centre -202,1A,6682,ARAMCO -203,1B,0,UKHO test and sample datasets -204,1C,7196,CARIS -205,1D,7453,Amt fuer Geoinformationswesen der Bundeswehr -206,1E,7710,TerraNautical Data, Inc. -207,1F,7967,Force Technology, Danish Maritime Institute -208,1G,7968,_sterreichische Donau-Technik-GmbH -209,1H,7969,Vituki Water Resources Research Centre Hungary -210,1I,7970,Navionics S.p.A. -211,1K,7972,Kingway Technology Co -212,1L,7973,Laser-Scan Ltd -213,1M,7974,Channel of Moscow -214,1N,7975,Nautical Data International, Inc. -215,1O,7976,Offshore Charts Ltd. -216,1P,7977,Port Of London -217,1Q,7978,Quality Positioning Services -218,1R,7979,Rijkswaterstaat -219,1S,7980,Austrian Supreme Shippig Authority -220,1T,7981,UKHO - private production -221,1U,7982,ENC Center, National Taiwan Ocean University -222,1V,7983,The Volga-Baltic State Territorial Department for Waterways Management and Navigation -223,1W,7984,Wasser- und Schiffahrtsverwaltung des Bundes - Wasser- und Schiffahrtsdirektion S_d-West -224,1X,7985,Noorderzon Software -225,2A,10794,Azienda Regionale Navigazione Interna (ARNI) -226,2C,11308,IIC Technologies -227,2I,12056,Innovative Navigation GmbH -228,2M,12060,MARIN (Maritime Research Institute Netherlands) -229,2P,12063,PLOVPUT Beograd -230,2R,12065,Port of Rotterdam -231,2S,12079,Ssangyong Information & Communications Corp. -232,2T,12093,Transas Marine -233,2W,12096,Austrian Waterways Authority -234,3R,16203,A.F.D.J. R.A. Galati -235,3S,16204,Science Applications International Corp. -236,4R,20315,MD Atlantic Technologies -237,3T,16205,Tresco Navigation Systems -238,5M,24422,Hydrographic Office of Sarawak Marine Department -239,5T,24455,TEC Asociados -240,6C,27756,Guoy Consultancy Sdn Bhd -241,7C,31868,SevenCs AG & Co KG -242,7R,32651,The Federal Service of Geodesy and Cartography of Russia -243,7S,32652,Centre Sevzapgeoinform (SZGI) -244,7T,32653,Terra Corp -245,8A,35466,HSA Systems Pty Ltd -246,9A,39578,CherSoft Ltd -247,9T,40877,Tresco Engineering bvba -248,0_,65534,unknown producer diff --git a/bin/gdal_data/s57attributes.csv b/bin/gdal_data/s57attributes.csv deleted file mode 100644 index 3b2c04e3..00000000 --- a/bin/gdal_data/s57attributes.csv +++ /dev/null @@ -1,484 +0,0 @@ -"Code","Attribute","Acronym","Attributetype","Class" -1,Agency responsible for production,AGENCY,A,F -2,Beacon shape,BCNSHP,E,F -3,Building shape,BUISHP,E,F -4,Buoy shape,BOYSHP,E,F -5,Buried depth,BURDEP,F,F -6,Call sign,CALSGN,S,F -7,Category of airport/airfield,CATAIR,L,F -8,Category of anchorage,CATACH,L,F -9,Category of bridge,CATBRG,L,F -10,Category of built-up area,CATBUA,E,F -11,Category of cable,CATCBL,E,F -12,Category of canal,CATCAN,E,F -13,Category of cardinal mark,CATCAM,E,F -14,Category of checkpoint,CATCHP,E,F -15,Category of coastline,CATCOA,E,F -16,Category of control point,CATCTR,E,F -17,Category of conveyor,CATCON,E,F -18,Category of coverage,CATCOV,E,F -19,Category of crane,CATCRN,E,F -20,Category of dam,CATDAM,E,F -21,Category of distance mark,CATDIS,E,F -22,Category of dock,CATDOC,E,F -23,Category of dumping ground,CATDPG,L,F -24,Category of fence/wall,CATFNC,E,F -25,Category of ferry,CATFRY,E,F -26,Category of fishing facility,CATFIF,E,F -27,Category of fog signal,CATFOG,E,F -28,Category of fortified structure,CATFOR,E,F -29,Category of gate,CATGAT,E,F -30,Category of harbour facility,CATHAF,L,F -31,Category of hulk,CATHLK,L,F -32,Category of ice,CATICE,E,F -33,Category of installation buoy,CATINB,E,F -34,Category of land region,CATLND,L,F -35,Category of landmark,CATLMK,L,F -36,Category of lateral mark,CATLAM,E,F -37,Category of light,CATLIT,L,F -38,Category of marine farm/culture,CATMFA,E,F -39,Category of military practice area,CATMPA,L,F -40,Category of mooring/warping facility,CATMOR,E,F -41,Category of navigation line,CATNAV,E,F -42,Category of obstruction,CATOBS,E,F -43,Category of offshore platform,CATOFP,L,F -44,Category of oil barrier,CATOLB,E,F -45,Category of pile,CATPLE,E,F -46,Category of pilot boarding place,CATPIL,E,F -47,Category of pipeline / pipe,CATPIP,L,F -48,Category of production area,CATPRA,E,F -49,Category of pylon,CATPYL,E,F -50,Category of quality of data,CATQUA,E,F -51,Category of radar station,CATRAS,E,F -52,Category of radar transponder beacon,CATRTB,E,F -53,Category of radio station,CATROS,L,F -54,Category of recommended track,CATTRK,E,F -55,Category of rescue station,CATRSC,L,F -56,Category of restricted area,CATREA,L,F -57,Category of road,CATROD,E,F -58,Category of runway,CATRUN,E,F -59,Category of sea area,CATSEA,E,F -60,Category of shoreline construction,CATSLC,E,F -61,"Category of signal station, traffic",CATSIT,L,F -62,"Category of signal station, warning",CATSIW,L,F -63,Category of silo/tank,CATSIL,E,F -64,Category of slope,CATSLO,E,F -65,Category of small craft facility,CATSCF,L,F -66,Category of special purpose mark,CATSPM,L,F -67,Category of Traffic Separation Scheme,CATTSS,E,F -68,Category of vegetation,CATVEG,L,F -69,Category of water turbulence,CATWAT,E,F -70,Category of weed/kelp,CATWED,E,F -71,Category of wreck,CATWRK,E,F -72,Category of zone of confidence data,CATZOC,E,F -73,Character spacing,$SPACE,E,$ -74,Character specification,$CHARS,A,$ -75,Colour,COLOUR,L,F -76,Colour pattern,COLPAT,L,F -77,Communication channel,COMCHA,A,F -78,Compass size,$CSIZE,F,$ -79,Compilation date,CPDATE,A,F -80,Compilation scale,CSCALE,I,F -81,Condition,CONDTN,E,F -82,"Conspicuous, Radar",CONRAD,E,F -83,"Conspicuous, visual",CONVIS,E,F -84,Current velocity,CURVEL,F,F -85,Date end,DATEND,A,F -86,Date start,DATSTA,A,F -87,Depth range value 1,DRVAL1,F,F -88,Depth range value 2,DRVAL2,F,F -89,Depth units,DUNITS,E,F -90,Elevation,ELEVAT,F,F -91,Estimated range of transmission,ESTRNG,F,F -92,Exhibition condition of light,EXCLIT,E,F -93,Exposition of sounding,EXPSOU,E,F -94,Function,FUNCTN,L,F -95,Height,HEIGHT,F,F -96,Height/length units,HUNITS,E,F -97,Horizontal accuracy,HORACC,F,F -98,Horizontal clearance,HORCLR,F,F -99,Horizontal length,HORLEN,F,F -100,Horizontal width,HORWID,F,F -101,Ice factor,ICEFAC,F,F -102,Information,INFORM,S,F -103,Jurisdiction,JRSDTN,E,F -104,Justification - horizontal,$JUSTH,E,$ -105,Justification - vertical,$JUSTV,E,$ -106,Lifting capacity,LIFCAP,F,F -107,Light characteristic,LITCHR,E,F -108,Light visibility,LITVIS,L,F -109,Marks navigational - System of,MARSYS,E,F -110,Multiplicity of lights,MLTYLT,I,F -111,Nationality,NATION,A,F -112,Nature of construction,NATCON,L,F -113,Nature of surface,NATSUR,L,F -114,Nature of surface - qualifying terms,NATQUA,L,F -115,Notice to Mariners date,NMDATE,A,F -116,Object name,OBJNAM,S,F -117,Orientation,ORIENT,F,F -118,Periodic date end,PEREND,A,F -119,Periodic date start,PERSTA,A,F -120,Pictorial representation,PICREP,S,F -121,Pilot district,PILDST,S,F -122,Producing country,PRCTRY,A,F -123,Product,PRODCT,L,F -124,Publication reference,PUBREF,S,F -125,Quality of sounding measurement,QUASOU,L,F -126,Radar wave length,RADWAL,A,F -127,Radius,RADIUS,F,F -128,Recording date,RECDAT,A,F -129,Recording indication,RECIND,A,F -130,Reference year for magnetic variation,RYRMGV,A,F -131,Restriction,RESTRN,L,F -132,Scale maximum,SCAMAX,I,F -133,Scale minimum,SCAMIN,I,F -134,Scale value one,SCVAL1,I,F -135,Scale value two,SCVAL2,I,F -136,Sector limit one,SECTR1,F,F -137,Sector limit two,SECTR2,F,F -138,Shift parameters,SHIPAM,A,F -139,Signal frequency,SIGFRQ,I,F -140,Signal generation,SIGGEN,E,F -141,Signal group,SIGGRP,A,F -142,Signal period,SIGPER,F,F -143,Signal sequence,SIGSEQ,A,F -144,Sounding accuracy,SOUACC,F,F -145,Sounding distance - maximum,SDISMX,I,F -146,Sounding distance - minimum,SDISMN,I,F -147,Source date,SORDAT,A,F -148,Source indication,SORIND,A,F -149,Status,STATUS,L,F -150,Survey authority,SURATH,S,F -151,Survey date - end,SUREND,A,F -152,Survey date - start,SURSTA,A,F -153,Survey type,SURTYP,L,F -154,Symbol scaling factor,$SCALE,F,$ -155,Symbolization code,$SCODE,A,$ -156,Technique of sounding measurement,TECSOU,L,F -157,Text string,$TXSTR,S,$ -158,Textual description,TXTDSC,S,F -159,Tidal stream - panel values,TS_TSP,A,F -160,"Tidal stream, current - time series values",TS_TSV,A,F -161,Tide - accuracy of water level,T_ACWL,E,F -162,Tide - high and low water values,T_HWLW,A,F -163,Tide - method of tidal prediction,T_MTOD,E,F -164,Tide - time and height differences,T_THDF,A,F -165,"Tide, current - time interval of values",T_TINT,I,F -166,Tide - time series values,T_TSVL,A,F -167,Tide - value of harmonic constituents,T_VAHC,A,F -168,Time end,TIMEND,A,F -169,Time start,TIMSTA,A,F -170,Tint,$TINTS,E,$ -171,Topmark/daymark shape,TOPSHP,E,F -172,Traffic flow,TRAFIC,E,F -173,Value of annual change in magnetic variation,VALACM,F,F -174,Value of depth contour,VALDCO,F,F -175,Value of local magnetic anomaly,VALLMA,F,F -176,Value of magnetic variation,VALMAG,F,F -177,Value of maximum range,VALMXR,F,F -178,Value of nominal range,VALNMR,F,F -179,Value of sounding,VALSOU,F,F -180,Vertical accuracy,VERACC,F,F -181,Vertical clearance,VERCLR,F,F -182,"Vertical clearance, closed",VERCCL,F,F -183,"Vertical clearance, open",VERCOP,F,F -184,"Vertical clearance, safe",VERCSA,F,F -185,Vertical datum,VERDAT,E,F -186,Vertical length,VERLEN,F,F -187,Water level effect,WATLEV,E,F -188,Category of Tidal stream,CAT_TS,E,F -189,Positional accuracy units,PUNITS,E,F -190,Object class definition,CLSDEF,S,F -191,Object class name,CLSNAM,S,F -192,Symbol instruction,SYMINS,S,F -300,Information in national language,NINFOM,S,N -301,Object name in national language,NOBJNM,S,N -302,Pilot district in national language,NPLDST,S,N -303,Text string in national language,$NTXST,S,N -304,Textual description in national language,NTXTDS,S,N -400,Horizontal datum,HORDAT,E,S -401,Positional Accuracy,POSACC,F,S -402,Quality of position,QUAPOS,E,S -0,"###Codes in the 17xxx range come from past s57attributes_iw.csv (Inland Waterways)",###,S,F -17000,Category of Anchorage area,catach,L,F -17001,Category of distance mark,catdis,E,F -17002,Category of signal station trafficcatsit,catsit,L,F -17003,Category of signal station warning,catsiw,L,F -17004,Restriction,restrn,L,F -17005,Vertical datum,verdat,E,F -17006,Category of bridge,catbrg,L,F -17007,Category of ferry,catfry,L,F -17008,Category of harbour facilities,cathaf,L,F -17009,"Marks navigational – System of",marsys,E,F -17050,Additional mark,addmrk,L,F -17051,Category of bank,catbnk,E,F -17052,Category of notice mark,catnmk,E,F -17055,Class of dangerous cargo,clsdng,E,F -17056,Direction of impact,dirimp,L,F -17057,Distance from bank,disbk1,F,F -17058,Distance from bank,disbk2,F,F -17059,"Distance of impact, upstream",disipu,F,F -17060,"Distance of impact, downstream",disipd,F,F -17061,Elevation 1,eleva1,F,F -17062,Elevation 2,eleva2,F,F -17063,Function of notice mark,fnctnm,E,F -17064,Waterway distance,wtwdis,F,F -17065,Bunker vessel,bunves,E,F -17066,Category of berth,catbrt,L,F -17067,Category of bunker,catbun,L,F -17068,Category of CEMT class,catccl,L,F -17069,Category of communication,catcom,L,F -17070,Category of harbour area,cathbr,L,F -17071,Category of refuse dump,catrfd,L,F -17072,Category of terminal,cattml,L,F -17073,Communication,comctn,S,F -17074,"Horizontal clearance, length",horcll,F,F -17075,"Horizontal clearance, width",horclw,F,F -17076,Transshipping goods,trshgd,L,F -17077,UN Location Code,unlocd,S,F -17112,Category of waterway mark,catwwm,E,F -0,"###Codes in the 20xxx and 22xxx range come from past s57attributes_aml.csv (Additional_Military_Layers)",###,S,F -20484,"Abandonment Date","databa","A","?" -20485,"Attenuation","attutn","F","?" -20486,"Beam of Vessel","vesbem","F","?" -20487,"Bearing","bearng","F","?" -20488,"Blind Zone","blndzn","A","?" -20489,"Breaker Type","brktyp","E","?" -20490,"Density","bulkdn","F","?" -20491,"Burial Mechanism","brmchm","E","?" -20492,"Burial Percentage","brpctg","I","?" -20493,"Burial Period","brperd","I","?" -20494,"Burial Probability","brprob","E","?" -20495,"Cardinal Point Orientation","orcard","E","?" -20496,"Category of administration area","catadm","E","?" -20497,"Category of airspace restriction","catasr","E","?" -20498,"Category of bedrock","N/A","N/A","?" -20499,"Bottom Feature Classification","catbot","E","?" -20500,"Category of coastguard station","catcgs","E","?" -20501,"Category of controlled airspace","catcas","E","?" -20502,"Fishing Activity","catfsh","E","?" -20503,"Type of Imagery","catimg","L","?" -20504,"Category of marine management area","catmma","E","?" -20505,"Category of maritime safety information","catmsi","E","?" -20506,"Category of military exercise airspace ","catmea","E","?" -20507,"Category of patrol area","catpat","E","?" -20508,"Category of reporting/radio calling-in point","catrep","E","?" -20509,"Category of regulated airspace","N/A","N/A","?" -20510,"Category of territorial sea baseline","catsbl","E","?" -20511,"Trafficability","cattrf","E","?" -20512,"Command System","comsys","S","?" -20515,"Controlled airspace class designation","caircd","E","?" -20516,"Controlling authority","authty","S","?" -20517,"Current Scour Dimensions","scrdim","A","?" -20518,"Dangerous Marine and Land Life","dgmrlf","L","?" -20519,"Date Sunk","datsnk","A","?" -20520,"Debris Field","debfld","A","?" -20521,"Depth of Activity","depact","F","?" -20522,"Depth of Layer","deplyr","F","?" -20523,"Distance from Small Bottom Object","discon","F","?" -20524,"Diver’s Thrust Test Depth","dttdep","E","?" -20525,"Diver’s Thrust Test Number","dttnum","I","?" -20526,"Diving Activity","divact","E","?" -20527,"Draught of Vessel","vesdgh","F","?" -20528,"Exit Usability","exitus","E","?" -20529,"Field Name","fldnam","S","?" -20530,"First Detection Year","datfir","A","?" -20531,"First Sensor","senfir","E","?" -20532,"First Source","sorfir","E","?" -20533,"Foliar Index","folinx","F","?" -20534,"Gas Content","gascon","I","?" -20535,"General Water Depth","gendep","I","?" -20536,"Gradient","gradnt","E","?" -20537,"Grain Size","grnsiz","F","?" -20538,"Inclination","incltn","F","?" -20539,"Internal Data Record Identification Number","N/A","N/A","?" -20540,"Last Detection Year","datlst","A","?" -20541,"Last Sensor","senlst","E","?" -20542,"Last Source","sorlst","E","?" -20543,"Lay Platform","layptm","E","?" -20544,"Lay Reference Number","layrfn","S","?" -20545,"Lay Time","laytim","A","?" -20546,"Layer Number","laynum","I","?" -20547,"Legal Status","legsta","S","?" -20548,"Length of Vessel","veslen","F","?" -20549,"Magnetic Anomaly Detector (MAD) Signature","madsig","E","?" -20550,"Magnetic Intensity","magint","I","?" -20551,"Mean Shear Strength","msstrg","F","?" -20552,"Migration Direction","migdir","I","?" -20553,"Migration Speed","migspd","F","?" -20554,"Milec Density","milden","E","?" -20555,"Mine Index Mine Case","mnimnc","E","?" -20556,"Mine Index Mine Type","mnimnt","L","?" -20557,"Mine Reference Number","minern","S","?" -20558,"Mine-Hunting Classification","mhclas","E","?" -20559,"Minehunting System","mnhsys","S","?" -20560,"Minesweeping System","mnssys","S","?" -20561,"Mission Classification","miscls","E","?" -20562,"Mission Comments","miscom","S","?" -20563,"Mission Date","misdat","A","?" -20564,"Mission Name","misnme","S","?" -20565,"MWDC Reference Number","mwdcrn","S","?" -20566,"Nature of Geological Layer","natsed","E","?" -20567,"Navigation System","navsys","S","?" -20568,"NOMBO Density","nomden","E","?" -20569,"Not Found","notfnd","S","?" -20570,"Number of Previous Observations","nmprob","I","?" -20571,"Operator","oprtor","S","?" -20572,"Orientation of Best Observation","orbobn","F","?" -20573,"Origin of Data","orgdat","E","?" -20574,"Originator","orgntr","S","?" -20575,"Porosity","porsty","I","?" -20576,"Quality of Beach Data","quabch","A","?" -20577,"Re-entered Date","datren","A","?" -20578,"Re-suspended Date","datres","A","?" -20579,"Reverberation","revebn","E","?" -20580,"Safety Zone","N/A","N/A","?" -20581,"Sample Retained","samret","S","?" -20582,"Seabed Coverage","sbdcov","I","?" -20583,"Ships Speed","shpspd","F","?" -20584,"Sonar Frequency","snrfrq","E","?" -20585,"Sonar Range Scale","snrrsc","F","?" -20586,"Sonar Reflectivity","snrflc","E","?" -20587,"Sonar Signal Strength","sonsig","E","?" -20588,"Sound Velocity","sndvel","F","?" -20589,"Sounding Datum","soudat","E","?" -20590,"Spudded Date","datspd","A","?" -20592,"Steepest Face Orientation","stfotn","F","?" -20593,"Strength According to Richter Scale","ricsca","I","?" -20594,"Strength of Magnetic Anomaly","magany","E","?" -20595,"Suitability for ACV Use","stbacv","E","?" -20596,"Surf Height","srfhgt","F","?" -20597,"Surf Zone","srfzne","I","?" -20598,"Survey Date and Time","surdat","A","?" -20599,"Suspension Date","datsus","A","?" -20600,"Swell Height","swlhgt","F","?" -20601,"Tidal Range","tdlrng","F","?" -20602,"Time of Year","timeyr","L","?" -20603,"Tonnage","tonage","I","?" -20604,"Towed Body Depth","twdbdp","F","?" -20605,"Type of military activity","milact","L","?" -20606,"Type of Tonnage","typton","E","?" -20607,"Type of Wreck","typewk","E","?" -20608,"Underwater Reference Mark","unwrfm","E","?" -20609,"Unique ID from a Navigational Product","N/A","N/A","?" -20610,"Water Clarity","watclr","F","?" -20611,"Wavelength","wavlen","F","?" -20612,"Weight Bearing Capability","wbrcap","I","?" -20613,"Width (left)","lftwid","F","?" -20614,"Width (right)","rgtwid","F","?" -20615,"Contour Type","hypcat","E","?" -20616,"Sounding Velocity","souvel","E","?" -20617,"Access Restriction","accres","S","?" -20618,"Approach","apprch","S","?" -20619,"Category of Beach","catbch","E","?" -20620,"Clearance Percentage","clperc","I","?" -20621,"Communications","commns","L","?" -20622,"Confidence Level","conlev","F","?" -20624,"Exit Description","extdes","S","?" -20625,"Industry","indtry","S","?" -20626,"Landing Conditions","lndcon","S","?" -20627,"Leisure Activity","lsract","S","?" -20628,"Logistics","logtcs","L","?" -20629,"Manoeuvring","manvrg","S","?" -20630,"Mine Threat Density","mntden","I","?" -20631,"Multiple Contacts","mulcon","I","?" -20632,"Navigational Description","navdes","S","?" -20633,"Navigational Difficulty","navdif","E","?" -20634,"Number of Remaining Mines","numrmn","I","?" -20635,"Pier Contact Details","pierod","S","?" -20636,"Pier Description","pierdn","S","?" -20637,"Prairies Density","prsden","I","?" -20638,"Probability for Remaining Mines","prbrmn","F","?" -20639,"Remaining Mines Likely, Maximum Number","rmnlmn","I","?" -20640,"Self Protection (Air)","sfptna","E","?" -20641,"Self Protection (Near Defence)","sptnnd","E","?" -20642,"Self Protection (Surface)","sfptns","E","?" -20643,"Sensor Coverage","sencov","S","?" -20644,"Simple Initial Threat","sminth","F","?" -20645,"Target Reference Weight","tgrfwt","E","?" -20646,"Tidal Type","tdltyp","E","?" -20647,"Type of Resource Location","typres","E","?" -20648,"Undetectable Mines Ratio","undmnr","F","?" -20649,"Undetectable Mines Ratio with Burial","umnrwb","F","?" -20650,"Undetectable Mines Ratio without Burial","umrwob","F","?" -20651,"Weapon Coverage","wpncov","S","?" -20652,"On Sonar","onsonr","E","?" -20653,"HF Bottom Loss","hfbmls","F","?" -20654,"LF Bottom Loss","lfbmls","F","?" -20655,"Detection Probability","dtprob","F","?" -20656,"Disposal Probability","dsprob","F","?" -20657,"Classification Probability","clprob","F","?" -20658,"Characteristic Detection Width (A)","cswidt","I","?" -20659,"Characteristic Detection Probability (B)","csprob","F","?" -20660,"Zone Colour","znecol","E","?" -20661,"Reverberation Frequency","revfqy","F","?" -20662,"Reverberation Grazing Angle","revgan","F","?" -20663,"International Defence Organisation (IDO) status","secido","E","?" -20664,"Protective Marking","secpmk","E","?" -20665,"Owner Authority","secown","S","?" -20666,"Caveat ","seccvt","S","?" -20667,"Species","spcies","S","?" -20668,"Swept date","swpdat","A","?" -20669,"Runway length","rwylen","I","?" -20670,"Active period","actper","S","?" -20671,"Maximum altitude","maxalt","I","?" -20672,"Minimum altitude","minalt","I","?" -20673,"Maximum Flight Level","maxftl","I","?" -20674,"Minimum Flight Level","minftl","I","?" -20675,"Bottom Vertical Safety Separation","bverss","I","?" -20676,"Minimum Safe Depth","mindep","I","?" -20677,"Interpolated line characteristic","linech","E","?" -20678,"Identification","identy","S","?" -20679,"Route Classification","rclass","E","?" -20680,"Population","popltn","I","?" -20681,"Surface Threat","surtht","E","?" -20682,"Heading-Up Bearing","upbear","F","?" -20683,"Heading-Down Bearing","dnbear","F","?" -20684,"Ice Concentration","icencn","I","?" -20685,"Danger height","dgrhgt","I","?" -20686,"Depth Restriction","depres","S","?" -20687,"Area Category","arecat","E","?" -20688,"Existence of Restricted Area","exzres","E","?" -20689,"Target Strength","tarstg","I","?" -20690,"Qualification of Radar Coverage","quarad","I","?" -20691,"Contact Details","condet","S","?" -20692,"Limit of Anchors and Chains","limanc","F","?" -20693,"CCM Index","ccmidx","I","?" -20694,"Military Load Classification","mlclas","E","?" -20695,"MGS Type","mgstyp","E","?" -20696,"Ice Attribute Concentration Total","iceact","E","?" -20697,"Ice Stage of Development","icesod","E","?" -20698,"Ice Advisory Code","iceadc","S","?" -20699,"Number of Icebergs in Area","icebnm","I","?" -20700,"Ice Line Category","icelnc","E","?" -20701,"Ice Polynya Type","icepty","E","?" -20702,"Ice Polynya Status","icepst","E","?" -20703,"Ice Lead Type","icelty","E","?" -20704,"Ice Lead Status","icelst","E","?" -20705,"Iceberg Size","icebsz","E","?" -20706,"Iceberg Shape","icebsh","E","?" -20707,"Icedrift or Iceberg Direction","icebdr","E","?" -20708,"Icedrift or Iceberg Speed","icebsp","F","?" -20709,"Maximum Ice Thickness","icemax","F","?" -20710,"Minimum Ice Thickness","icemin","F","?" -20711,"Ice Ridge Development","icerdv","E","?" -20712,"Land Ice","icelnd","E","?" -20713,"Sea Direction","seadir","E","?" -20714,"Traffic density","traden","S","?" -20715,"Type of shipping","typshp","L","?" -20716,"Ice Coverage Type","icecvt","E","?" -20718,"Status of Small Bottom Object","staobj","L","?" -20719,"ICAO code","icaocd","S","?" -20720,"textual description","txtdes","S","?" -20721,"Object Reference Number","objtrn","S","?" -20722,"Object Shape","objshp","S","?" -22484,"Category of completeness","catcnf","E","?" -22485,"Error Ellipse","errell","A","?" -22486,"Object classes","N/A","N/A","?" -22487,"Security classification","N/A","N/A","?" -22488,"Vertical Datum Shift Parameter","vershf","F","?" -22489,"Absolute Vertical Accuracy","elvacc","F","?" -22490,"Reflection Coefficient","reflco","F","?" -22491,"Copyright statement","cpyrit","S","?" -0,"###40000 comes from past s57attributes_iw.csv (Inland Waterways)",###,S,F -40000,Update message,updmsg,S,F diff --git a/bin/gdal_data/s57expectedinput.csv b/bin/gdal_data/s57expectedinput.csv deleted file mode 100644 index e71249f3..00000000 --- a/bin/gdal_data/s57expectedinput.csv +++ /dev/null @@ -1,1008 +0,0 @@ -"Code","ID","Meaning" -2,1,"stake, pole, perch, post" -2,2,whity -2,3,beacon tower -2,4,lattice beacon -2,5,pile beacon -2,6,cairn -2,7,buoyant beacon -3,5,high-rise building -3,6,pyramid -3,7,cylindrical -3,8,spherical -3,9,cubic -4,1,"conical (nun, ogival)" -4,2,can (cylindrical) -4,3,spherical -4,4,pillar -4,5,spar (spindle) -4,6,barrel (tun) -4,7,super-buoy -4,8,ice buoy -7,1,military aeroplane airport -7,2,civil aeroplane airport -7,3,military heliport -7,4,civil heliport -7,5,glider airfield -7,6,small planes airfield -7,8,emergency airfield -8,1,unrestricted anchorage -8,2,deep water anchorage -8,3,tanker anchorage -8,4,explosives anchorage -8,5,quarantine anchorage -8,6,sea-plane anchorage -8,7,small craft anchorage -8,8,small craft mooring area -8,9,anchorage for periods up to 24 hours -9,1,fixed bridge -9,2,opening bridge -9,3,swing bridge -9,4,lifting bridge -9,5,bascule bridge -9,6,pontoon bridge -9,7,draw bridge -9,8,transporter bridge -9,9,footbridge -9,10,viaduct -9,11,aqueduct -9,12,suspension bridge -10,1,urban area -10,2,settlement -10,3,village -10,4,town -10,5,city -10,6,holiday village -11,1,power line -11,3,transmission line -11,4,telephone -11,5,telegraph -11,6,mooring cable/chain -12,1,transportation -12,2,drainage -12,3,irrigation -13,1,north cardinal mark -13,2,east cardinal mark -13,3,south cardinal mark -13,4,west cardinal mark -14,1,custom -15,1,steep coast -15,2,flat coast -15,3,sandy shore -15,4,stony shore -15,5,shingly shore -15,6,glacier (seaward end) -15,7,mangrove -15,8,marshy shore -15,9,coral reef -15,10,ice coast -16,1,triangulation point -16,2,observation spot -16,3,fixed point -16,4,bench-mark -16,5,boundary mark -16,6,"horizontal control, main station" -16,7,"horizontal control, secondary station" -17,1,aerial cableway (telepheric) -17,2,belt conveyor -18,1,coverage available -18,2,no coverage available -19,2,container crane/gantry -19,3,sheerlegs -19,4,travelling crane -19,5,A-frame -20,1,weir -20,2,dam -20,3,flood barrage -21,1,distance mark not physically installed -21,2,"visible mark, pole" -21,3,"visible mark, board" -21,4,"visible mark, unknown shape" -22,1,tidal -22,2,non-tidal (wet dock) -23,2,chemical waste dumping ground -23,3,nuclear waste dumping ground -23,4,explosives dumping ground -23,5,spoil ground -23,6,vessel dumping ground -24,1,fence -24,3,hedge -24,4,wall -25,1,'free-moving' ferry -25,2,cable ferry -25,3,ice ferry -26,1,fishing stake -26,2,fish trap -26,3,fish weir -26,4,tunny net -27,1,explosive -27,2,diaphone -27,3,siren -27,4,nautophone -27,5,reed -27,6,tyfon -27,7,bell -27,8,whistle -27,9,gong -27,10,horn -28,1,castle -28,2,fort -28,3,battery -28,4,blockhouse -28,5,Martello tower -29,2,flood barrage gate -29,3,caisson -29,4,lock gate -29,5,dyke gate -30,1,RoRo-terminal -30,3,ferry terminal -30,4,fishing harbour -30,5,yacht harbour/marina -30,6,naval base -30,7,tanker terminal -30,8,passenger terminal -30,9,shipyard -30,10,container terminal -30,11,bulk terminal -31,1,floating restaurant -31,2,historic ship -31,3,museum -31,4,accomodation -31,5,floating breakwater -32,1,fast ice -32,5,glacier -32,8,polar ice -33,1,catenary anchor leg mooring (CALM) -33,2,single buoy mooring (SBM or SPM) -34,1,fen -34,2,marsh -34,3,moor/bog -34,4,heathland -34,5,mountain range -34,6,lowlands -34,7,canyon lands -34,8,paddy field -34,9,agricultural land -34,10,savanna/grassland -34,11,parkland -34,12,swamp -34,13,landslide -34,14,lava flow -34,15,salt pan -34,16,moraine -34,17,crater -34,18,cave -34,19,rock column or pinnacle -35,1,cairn -35,2,cemetery -35,3,chimney -35,4,dish aerial -35,5,flagstaff (flagpole) -35,6,flare stack -35,7,mast -35,8,windsock -35,9,monument -35,10,column (pillar) -35,11,memorial plaque -35,12,obelisk -35,13,statue -35,14,cross -35,15,dome -35,16,radar scanner -35,17,tower -35,18,windmill -35,19,windmotor -35,20,spire/minaret -36,1,port-hand lateral mark -36,2,starboard-hand lateral mark -36,3,preferred channel to starboard lateral mark -36,4,preferred channel to port lateral mark -37,1,directional function -37,4,leading light -37,5,aero light -37,6,air obstruction light -37,7,fog detector light -37,8,flood light -37,9,strip light -37,10,subsidiary light -37,11,spotlight -37,12,front -37,13,rear -37,14,lower -37,15,upper -37,16,moir effect -37,17,emergency -37,18,bearing light -37,19,horizontally disposed -37,20,vertically disposed -38,1,crustaceans -38,2,oyster/mussels -38,3,fish -38,4,seaweed -39,2,torpedo exercise area -39,3,submarine exercise area -39,4,firing danger area -39,5,mine-laying practice area -39,6,small arms firing range -40,1,dolphin -40,2,deviation dolphin -40,3,bollard -40,4,tie-up wall -40,5,post or pile -40,6,chain/wire/cable -40,7,mooring buoy -41,1,clearing line -41,2,transit line -41,3,leading line bearing a recommended track -42,1,snag / stump -42,2,wellhead -42,3,diffuser -42,4,crib -42,5,fish haven -42,6,foul area -42,7,foul ground -42,8,ice boom -42,9,ground tackle -43,1,oil derrick / rig -43,2,production platform -43,3,observation / research platform -43,4,articulated loading platform (ALP) -43,5,single anchor leg mooring (SALM) -43,6,mooring tower -43,7,artificial island -43,8,"floating production, storage and off-loading vessel (FPSO)" -43,9,accomodation platform -43,10,"navigation, communication and control buoy (NCCB)" -44,1,oil retention (high pressure pipe) -44,2,floating oil barrier -45,1,stake -45,3,post -45,4,tripodal -46,1,boarding by pilot-cruising vessel -46,2,boarding by helicopter -46,3,pilot comes out from shore -47,2,outfall pipe -47,3,intake pipe -47,4,sewer -47,5,bubbler system -47,6,supply pipe -48,1,quarry -48,2,mine -48,3,stockpile -48,4,power station area -48,5,refinery area -48,6,timber yard -48,7,factory area -48,8,tank farm -48,9,wind farm -49,1,power transmission pylon/pole -49,2,telephone/telegraph pylon/pole -49,3,aerial cableway/sky pylon -49,4,bridge pylon/tower -49,5,bridge pier -50,1,data quality A -50,2,data quality B -50,3,data quality C -50,4,data quality D -50,5,data quality E -50,6,quality not evaluated -51,1,radar surveillance station -51,2,coast radar station -52,1,"ramark, radar beacon transmitting continuously" -52,2,"racon, radar transponder beacon" -52,3,leading racon/radar transponder beacon -53,1,circular (non-directional) marine or aero-marine radiobeacon -53,2,directional radiobeacon -53,3,rotating-pattern radiobeacon -53,4,Consol beacon -53,5,radio direction-finding station -53,6,coast radio station providing QTG service -53,7,aeronautical radiobeacon -53,8,Decca -53,9,Loran C -53,10,Differential GPS -53,11,Toran -53,12,Omega -53,13,Syledis -53,14,Chaika (Chayka) -54,1,based on a system of fixed marks -54,2,not based on a system of fixed marks -55,1,rescue station with lifeboat -55,2,rescue station with rocket -55,4,refuge for shipwrecked mariners -55,5,refuge for intertidal area walkers -55,6,lifeboat lying at a mooring -56,1,offshore safety zone -56,4,nature reserve -56,5,bird sanctuary -56,6,game preserve -56,7,seal sanctuary -56,8,degaussing range -56,9,military area -56,10,historic wreck area -56,12,navigational aid safety zone -56,14,minefield -56,18,swimming area -56,19,waiting area -56,20,research area -56,21,dredging area -56,22,fish sanctuary -56,23,ecological reserve -56,24,no wake area -56,25,swinging area -57,1,motorway -57,2,major road -57,3,minor road -57,4,track / path -57,5,major street -57,6,minor street -57,7,crossing -58,1,aeroplane -58,2,helicopter landing pad -59,2,gat -59,3,bank -59,4,deep -59,5,bay -59,6,trench -59,7,basin -59,8,mud flats -59,9,reef -59,10,ledge -59,11,canyon -59,12,narrows -59,13,shoal -59,14,knoll -59,15,ridge -59,16,seamount -59,17,pinnacle -59,18,abyssal plain -59,19,plateau -59,20,spur -59,21,shelf -59,22,trough -59,23,saddle -59,24,abyssal hills -59,25,apron -59,26,archipelagic apron -59,27,borderland -59,28,continental margin -59,29,continental rise -59,30,escarpment -59,31,fan -59,32,fracture zone -59,33,gap -59,34,guyot -59,35,hill -59,36,hole -59,37,levee -59,38,median valley -59,39,moat -59,40,mountains -59,41,peak -59,42,province -59,43,rise -59,44,seachannel -59,45,seamount chain -59,46,shelf edge -59,47,sill -59,48,slope -59,49,terrace -59,50,valley -59,51,canal -59,52,lake -59,53,river -60,1,breakwater -60,2,groyne (groin) -60,3,mole -60,4,pier ( jetty) -60,5,promenadepier -60,6,wharf (quay) -60,7,training wall -60,8,rip rap -60,9,revetment -60,10,sea wall -60,11,landing steps -60,12,ramp -60,13,slipway -60,14,fender -60,15,solid face wharf -60,16,open face wharf -61,1,port control -61,2,port entry and departure -61,3,International Port Traffic -61,4,berthing -61,5,dock -61,6,lock -61,7,flood barrage -61,8,bridge passage -61,9,dredging -62,1,danger -62,2,maritime obstruction -62,3,cable -62,4,military practice -62,5,distress -62,6,weather -62,7,storm -62,8,ice -62,9,time -62,10,tide -62,11,tidal stream -62,12,tide gauge -62,13,tide scale -62,14,diving -63,1,silo in general -63,2,tank in general -63,3,grain elevator -63,4,water tower -64,1,cutting -64,2,embankment -64,3,dune -64,4,hill -64,5,pingo -64,6,cliff -64,7,scree -65,1,visitor`s berth -65,2,nautical club -65,3,boat hoist -65,4,sailmaker -65,5,boatyard -65,6,public inn -65,7,restaurant -65,8,chandler -65,9,provisions -65,10,doctor -65,11,pharmacy -65,12,water tap -65,13,fuel station -65,14,electricity -65,15,bottle gas -65,16,showers -65,17,launderette -65,18,public toilets -65,19,post box -65,20,public telephone -65,21,refuse bin -65,22,car park -65,23,parking for boats and trailers -65,24,caravan site -65,25,camping site -65,26,sewerage pump-out station -65,27,emergency telephone -65,28,landing / launching place for boats -65,29,visitors mooring -65,30,scrubbing berth -65,31,picnic area -66,1,firing danger area mark -66,2,target mark -66,3,marker ship mark -66,4,degaussing range mark -66,5,barge mark -66,6,cable mark -66,7,spoil ground mark -66,8,outfall mark -66,9,ODAS (Ocean-Data-Acquisition-System) -66,10,recording mark -66,11,seaplane anchorage mark -66,12,recreation zone mark -66,13,private mark -66,14,mooring mark -66,15,LANBY (Large Automatic Navigational Buoy) -66,16,leading mark -66,17,measured distance mark -66,18,notice mark -66,19,TSS mark (Traffic Separation Scheme) -66,20,anchoring prohibited mark -66,21,berthing prohibited mark -66,22,overtaking prohibited mark -66,23,two-way traffic prohibited mark -66,24,'reduced wake' mark -66,25,speed limit mark -66,26,stop mark -66,27,general warning mark -66,28,'sound ship's siren' mark -66,29,restricted vertical clearence mark -66,30,maximum vessel's draught mark -66,31,restricted horizontal clearance mark -66,32,strong current warning mark -66,33,berthing permitted mark -66,34,overhead power cable mark -66,35,'channel edge gradient' mark -66,36,telephone mark -66,37,ferry crossing mark -66,39,pipline mark -66,40,anchorage mark -66,41,clearing mark -66,42,control mark -66,43,diving mark -66,44,refuge beacon -66,45,foul ground mark -66,46,yachting mark -66,47,heliport mark -66,48,GPS mark -66,49,seaplane landing mark -66,50,entry prohibited mark -66,51,work in progress mark -66,52,mark with unknown purpose -67,1,IMO - adopted -67,2,not IMO - adopted -68,1,grassland -68,3,bush -68,4,deciduous wood -68,5,coniferous wood -68,6,wood in general (inc mixed wood) -68,7,mangroves -68,10,mixed crops -68,11,reed -68,12,moos -68,13,tree in general -68,14,evergreen tree -68,15,coniferous tree -68,16,palm tree -68,17,nipa palm tree -68,18,casuarina tree -68,19,eucalypt tree -68,20,deciduous tree -68,21,mangrove tree -68,22,filao tree -69,1,breakers -69,2,eddies -69,3,overfalls -69,4,tide rips -69,5,bombora -70,1,kelp -70,2,sea weed -70,3,sea grass -70,4,saragasso -71,1,non-dangerous wreck -71,2,dangerous wreck -71,3,distributed remains of wreck -71,4,wreck showing mast/masts -71,5,wreck showing any portion of hull or superstructure -72,1,zone of confidence A1 -72,2,zone of confidence A2 -72,3,zone of confidence B -72,4,zone of confidence C -72,5,zone of confidence D -72,6,zone of confidence U (data not assessed) -73,1,expanded/condensed -73,2,standard -75,1,white -75,2,black -75,3,red -75,4,green -75,5,blue -75,6,yellow -75,7,grey -75,8,brown -75,9,amber -75,10,violet -75,11,orange -75,12,magenta -75,13,pink -76,1,horizontal stripes -76,2,vertical stripes -76,3,diagonal stripes -76,4,squared -76,5,stripes (direction unknown) -76,6,border stripes -81,1,under construction -81,2,ruined -81,3,under reclamation -81,4,wingless -81,5,planned construction -82,1,radar conspicuous -82,2,not radar conspicuous -82,3,radar conspicuous (has radar reflector) -83,1,visual conspicuous -83,2,not visual conspicuous -89,1,metres -89,2,fathoms and feet -89,3,feet -89,4,fathoms and fractions -92,1,light shown without change of character -92,2,daytime light -92,3,fog light -92,4,night light -93,1,within the range of depth of the surrounding depth area -93,2,shoaler than range of depth of the surrounding depth area -93,3,deeper than range of depth of the surrounding depth area -94,2,harbour-master's office -94,3,custom office -94,4,health office -94,5,hospital -94,6,post office -94,7,hotel -94,8,railway station -94,9,police station -94,10,water-police station -94,11,pilot office -94,12,pilot lookout -94,13,bank office -94,14,headquarters for district control -94,15,transit shed/warehouse -94,16,factory -94,17,power station -94,18,administrative -94,19,educational facility -94,20,church -94,21,chapel -94,22,temple -94,23,pagoda -94,24,shinto shrine -94,25,buddhist temple -94,26,mosque -94,27,marabout -94,28,lookout -94,29,communication -94,30,television -94,31,radio -94,32,radar -94,33,light support -94,34,microwave -94,35,cooling -94,36,observation -94,37,timeball -94,38,clock -94,39,control -94,40,airship mooring -94,41,stadium -94,42,bus station -96,1,metres -96,2,feet -103,1,international -103,2,national -103,3,national sub-division -104,1,centre justified -104,2,right justified -104,3,left justified -105,1,bottom justified -105,2,centre justified -105,3,top justified -107,1,fixed -107,2,flashing -107,3,long-flashing -107,4,quick-flashing -107,5,very quick-flashing -107,6,ultra quick-flashing -107,7,isophased -107,8,occulting -107,9,interrupted quick-flashing -107,10,interrupted very quick-flashing -107,11,interrupted ultra quick-flashing -107,12,morse -107,13,fixed / flash -107,14,flash / long-flash -107,15,occulting / flash -107,16,fixed / long-flash -107,17,occulting alternating -107,18,long-flash alternating -107,19,flash alternating -107,20,group alternating -107,25,quick-flash plus long-flash -107,26,very quick-flash plus long-flash -107,27,ultra quick-flash plus long-flash -107,28,alternating -107,29,fixed and alternating flashing -108,1,high intensity -108,2,low intensity -108,3,faint -108,4,intensified -108,5,unintensified -108,6,visibility deliberately restricted -108,7,obscured -108,8,partially obscured -109,1,IALA A -109,2,IALA B -109,9,no system -109,10,other sytem -112,1,masonry -112,2,concreted -112,3,loose boulders -112,4,hard surfaced -112,5,unsurfaced -112,6,wooden -112,7,metal -112,8,glass reinforced plastic (GRP) -112,9,painted -113,1,mud -113,2,clay -113,3,silt -113,4,sand -113,5,stone -113,6,gravel -113,7,pebbles -113,8,cobbles -113,9,rock -113,11,lava -113,14,coral -113,17,shells -113,18,boulder -114,1,fine -114,2,medium -114,3,coarse -114,4,broken -114,5,sticky -114,6,soft -114,7,stiff -114,8,volcanic -114,9,calcareous -114,10,hard -123,1,oil -123,2,gas -123,3,water -123,4,stone -123,5,coal -123,6,ore -123,7,chemicals -123,8,drinking water -123,9,milk -123,10,bauxite -123,11,coke -123,12,iron ingots -123,13,salt -123,14,sand -123,15,timber -123,16,sawdust / wood chips -123,17,scrap metal -123,18,liquified natural gas (LNG) -123,19,liquified petroleum gas (LPG) -123,20,wine -123,21,cement -123,22,grain -125,1,depth known -125,2,depth unknown -125,3,doubtful sounding -125,4,unreliable sounding -125,5,no bottom found at value shown -125,6,least depth known -125,7,"least depth unknown, safe clearance at value shown" -125,8,value reported (not surveyed) -125,9,value reported (not confirmed) -125,10,maintained depth -125,11,not reguraly maintained -131,1,anchoring prohibited -131,2,anchoring restricted -131,3,fishing prohibited -131,4,fishing restricted -131,5,trawling prohibited -131,6,trawling restricted -131,7,entry prohibited -131,8,entry restricted -131,9,dredging prohibited -131,10,dredging restricted -131,11,diving prohibited -131,12,diving restricted -131,13,no wake -131,14,area to be avoided -131,15,construction prohibited -140,1,automatically -140,2,by wave action -140,3,by hand -140,4,by wind -149,1,permanent -149,2,occasional -149,3,recommended -149,4,disused -149,5,periodically/intermittent -149,6,reserved -149,7,temporary -149,8,private -149,9,mandatory -149,11,extinguished -149,12,illuminated -149,13,historic -149,14,public -149,15,synchronized -149,16,watched -149,17,un-watched -149,18,existence doubtful -153,1,reconnaissance/sketch survey -153,2,controlled survey -153,4,examintion survey -153,5,passage survey -153,6,remotely sensed -156,1,found by echo-sounder -156,2,found by side scan sonar -156,3,found by multi-beam -156,4,found by diver -156,5,found by lead-line -156,6,swept by wire-drag -156,7,found by laser -156,8,swept by vertical acoustic system -156,9,found by electromagnetic sensor -156,10,photogrammetry -156,11,satelite imagery -156,12,found by levelling -156,13,swept by side-scan sonar -156,14,computer generated -161,1,better than 0.1m and 10 minutes -161,2,worse than 0.1m or 10 minutes -163,1,simplified harmonic method of tidal prediction -163,2,full harmonic method of tidal prediction -163,3,height and time difference non-harmonic method -170,1,darkest blue -170,2,medium blue -170,3,lightest blue -171,1,"cone, point up" -171,2,"cone, point down" -171,3,sphere -171,4,2 sphere -171,5,cylinder (can) -171,6,board -171,7,x-shape (St. Andrew's cross) -171,8,upright cross (St. George cross) -171,9,"cube, point up" -171,10,"2 cones, point to point" -171,11,"2 cones, base to base" -171,12,rhombus (diamond) -171,13,2 cones (points upward) -171,14,2 cones (points downward) -171,15,"besom, point up (broom or perch)" -171,16,"besom, point down (broom or perch)" -171,17,flag -171,18,sphere over rhombus -171,19,square -171,20,"rectangle, horizontal" -171,21,"rectangle, vertical" -171,22,"trapezium, up" -171,23,"trapezium, down" -171,24,"triangle, point up" -171,25,"triangle, point down" -171,26,circle -171,27,two upright crosses (one over the other) -171,28,T-shape -171,29,triangle pointing up over a circle -171,30,upright cross over a circle -171,31,rhombus over a circle -171,32,circle over a triangle pointing up -171,33,other shape (see INFORM) -172,1,inbound -172,2,outbound -172,3,one-way -172,4,two-way -185,1,Mean low water springs -185,2,Mean lower low water springs -185,3,Mean sea level -185,4,Lowest low water -185,5,Mean low water -185,6,Lowest low water springs -185,7,Approximate mean low water springs -185,8,Indian spring low water -185,9,Low water springs -185,10,Approximate lowest astronomical tide -185,11,Nearly lowest low water -185,12,Mean lower low water -185,13,Low water -185,14,Approximate mean low water -185,15,Approximate mean lower low water -185,16,Mean high water -185,17,Mean high water springs -185,18,High water -185,19,Approximate mean sea level -185,20,High water springs -185,21,Mean higher high water -185,22,Equinoctial spring low water -185,23,Lowest astronomical tide -185,24,Local datum -185,25,International Great Lakes Datum 1985 -185,26,Mean water level -185,27,Lower low water large tide -185,28,Higher high water lage tide -185,29,Nearly highest high water -187,1,partly submerged at high water -187,2,always dry -187,3,always under water/submerged -187,4,covers and uncovers -187,5,awash -187,6,subject to inundation or flooding -400,1,WGS 72 -400,2,WGS 84 -400,3,European 1950 -400,4,Potsdam Datum -400,5,Adindan -400,6,Afgooye -400,7,Ain el Abd 1970 -400,8,Anna 1 Astro 1965 -400,9,Antigua Island Astro 1943 -400,10,Arc 1950 -400,11,Arc 1960 -400,12,Ascension Island 1958 -400,13,"Astro beacon \"E\" 1945" -400,14,Astro DOS 71/4 -400,15,Astro Tern Island (FRIG) 1961 -400,16,Astronimical Station 1952 -400,17,Australian Geodetic 1966 -400,18,Australian Geodetic 1984 -400,19,Ayabelle Lighthouse -400,20,Bellevue (IGN) -400,21,Bermuda 1957 -400,22,Bissau -400,23,Bogota Observatory -400,24,Bukit Rimpah -400,25,Camp Area Astro -400,26,Campo Inchauspe 1969 -400,27,Canton Astro 1966 -400,28,Cape -400,29,Cape Canaveral -400,30,Carthage -400,31,Chatam Island Astro 1971 -400,32,Chua Astro -400,33,Corrego Alegre -400,34,Dabola -400,35,Djakarta (Batavia) -400,36,DOS 1968 -400,37,Easter Island 1967 -400,38,European 1979 -400,39,Fort Thomas 1955 -400,40,Gan 1970 -400,41,Geodetic Datum 1949 -400,42,Graciosa Base SW 1948 -400,43,Guam 1963 -400,44,Ganung Segara -400,45,GUX 1 Astro -400,46,Herat North -400,47,Hjorsey 1955 -400,48,Hong Kong 1963 -400,49,Hu-Tzu-Shan -400,50,Indian -400,51,Indian 1954 -400,52,Indian 1975 -400,53,Ireland 1965 -400,54,ISTS 061 Astro 1968 -400,55,ISTS 073 Astro 1969 -400,56,Johnston Island 1961 -400,57,Kandawala -400,58,Kerguelen Island 1949 -400,59,Kertau 1948 -400,60,Kusaie Astro 1951 -400,61, -400,62, -400,63, -400,64, -400,65, -400,66, -400,67, -400,68, -400,69, -400,70, -400,71, -400,72, -400,73, -400,74, -400,75, -400,76, -400,77, -400,78, -400,79, -400,80, -400,81, -400,82, -400,83, -400,84, -400,85, -400,86, -400,87, -400,88, -400,89, -400,90, -400,91, -400,92, -400,93, -400,94, -400,95, -400,96, -400,97, -400,98, -400,99,South Asia -400,100,Tananarive Observatory 1925 -402,1,surveyed -402,2,unsurveyed -402,3,inadequately surveyed -402,4,approximated -402,5,position doubtful -402,6,unreliable -402,7,reported (not surveyed) -402,8,reported (not confirmed) -402,9,estimated -402,10,precisely known -402,11,calculated diff --git a/bin/gdal_data/s57objectclasses.csv b/bin/gdal_data/s57objectclasses.csv deleted file mode 100644 index 7e38654f..00000000 --- a/bin/gdal_data/s57objectclasses.csv +++ /dev/null @@ -1,287 +0,0 @@ -"Code","ObjectClass","Acronym","Attribute_A","Attribute_B","Attribute_C","Class","Primitives" -1,Administration area (Named),ADMARE,JRSDTN;NATION;NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -2,Airport / airfield,AIRARE,CATAIR;CONDTN;CONVIS;NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -3,Anchor berth,ACHBRT,CATACH;DATEND;DATSTA;NOBJNM;OBJNAM;PEREND;PERSTA;RADIUS;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -4,Anchorage area,ACHARE,CATACH;DATEND;DATSTA;NOBJNM;OBJNAM;PEREND;PERSTA;RESTRN;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -5,"Beacon, cardinal",BCNCAR,BCNSHP;CATCAM;COLOUR;COLPAT;CONDTN;CONVIS;CONRAD;DATEND;DATSTA;ELEVAT;HEIGHT;MARSYS;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -6,"Beacon, isolated danger",BCNISD,BCNSHP;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;ELEVAT;HEIGHT;MARSYS;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -7,"Beacon, lateral",BCNLAT,BCNSHP;CATLAM;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;ELEVAT;HEIGHT;MARSYS;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -8,"Beacon, safe water",BCNSAW,BCNSHP;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;ELEVAT;HEIGHT;MARSYS;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -9,"Beacon, special purpose/general",BCNSPP,BCNSHP;CATSPM;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;ELEVAT;HEIGHT;MARSYS;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -10,Berth,BERTHS,DATEND;DATSTA;DRVAL1;NOBJNM;OBJNAM;PEREND;PERSTA;QUASOU;SOUACC;STATUS;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -11,Bridge,BRIDGE,CATBRG;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;HORACC;HORCLR;NATCON;NOBJNM;OBJNAM;VERACC;VERCCL;VERCLR;VERCOP;VERDAT;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -12,"Building, single",BUISGL,BUISHP;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;ELEVAT;FUNCTN;HEIGHT;NATCON;NOBJNM;OBJNAM;STATUS;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -13,Built-up area,BUAARE,CATBUA;CONDTN;CONRAD;CONVIS;HEIGHT;NOBJNM;OBJNAM;VERACC;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -14,"Buoy, cardinal",BOYCAR,BOYSHP;CATCAM;COLOUR;COLPAT;CONRAD;DATEND;DATSTA;MARSYS;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -15,"Buoy, installation",BOYINB,BOYSHP;CATINB;COLOUR;COLPAT;CONRAD;DATEND;DATSTA;MARSYS;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;PRODCT;STATUS;VERACC;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -16,"Buoy, isolated danger",BOYISD,BOYSHP;COLOUR;COLPAT;CONRAD;DATEND;DATSTA;MARSYS;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -17,"Buoy, lateral",BOYLAT,BOYSHP;CATLAM;COLOUR;COLPAT;CONRAD;DATEND;DATSTA;MARSYS;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -18,"Buoy, safe water",BOYSAW,BOYSHP;COLOUR;COLPAT;CONRAD;DATEND;DATSTA;MARSYS;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -19,"Buoy, special purpose/general",BOYSPP,BOYSHP;CATSPM;COLOUR;COLPAT;CONRAD;DATEND;DATSTA;MARSYS;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -20,Cable area,CBLARE,CATCBL;DATEND;DATSTA;NOBJNM;OBJNAM;RESTRN;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -21,"Cable, overhead",CBLOHD,CATCBL;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;ICEFAC;NOBJNM;OBJNAM;STATUS;VERACC;VERCLR;VERCSA;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line; -22,"Cable, submarine",CBLSUB,BURDEP;CATCBL;CONDTN;DATEND;DATSTA;DRVAL1;DRVAL2;NOBJNM;OBJNAM;STATUS;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line; -23,Canal,CANALS,CATCAN;CONDTN;DATEND;DATSTA;HORACC;HORCLR;HORWID;NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line;Area; -24,Canal bank,CANBNK,CONDTN;DATEND;DATSTA;NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line;Area; -25,Cargo transshipment area,CTSARE,DATEND;DATSTA;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -26,Causeway,CAUSWY,CONDTN;NATCON;NOBJNM;OBJNAM;STATUS;WATLEV;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line;Area; -27,Caution area,CTNARE,DATEND;DATSTA;PEREND;PERSTA;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -28,Checkpoint,CHKPNT,CATCHP;NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -29,Coastguard station,CGUSTA,DATEND;DATSTA;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -30,Coastline,COALNE,CATCOA;COLOUR;CONRAD;CONVIS;ELEVAT;NOBJNM;OBJNAM;VERACC;VERDAT;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line; -31,Contiguous zone,CONZNE,DATEND;DATSTA;NATION;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -32,Continental shelf area,COSARE,NATION;NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -33,Control point,CTRPNT,CATCTR;DATEND;DATSTA;ELEVAT;NOBJNM;OBJNAM;VERACC;VERDAT;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -34,Conveyor,CONVYR,CATCON;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;HEIGHT;LIFCAP;NOBJNM;OBJNAM;PRODCT;STATUS;VERACC;VERCLR;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line;Area; -35,Crane,CRANES,CATCRN;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;HEIGHT;LIFCAP;NOBJNM;OBJNAM;ORIENT;RADIUS;STATUS;VERACC;VERCLR;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -36,Current - non - gravitational,CURENT,CURVEL;DATEND;DATSTA;NOBJNM;OBJNAM;ORIENT;PEREND;PERSTA;,INFORM;NINFOM;SCAMAX;SCAMIN;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -37,Custom zone,CUSZNE,NATION;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -38,Dam,DAMCON,CATDAM;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;HEIGHT;NATCON;NOBJNM;OBJNAM;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -39,Daymark,DAYMAR,CATSPM;COLOUR;COLPAT;DATEND;DATSTA;ELEVAT;HEIGHT;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;TOPSHP;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -40,Deep water route centerline,DWRTCL,CATTRK;DATEND;DATSTA;DRVAL1;DRVAL2;NOBJNM;OBJNAM;ORIENT;QUASOU;SOUACC;STATUS;TECSOU;TRAFIC;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line; -41,Deep water route part,DWRTPT,DATEND;DATSTA;DRVAL1;DRVAL2;NOBJNM;OBJNAM;ORIENT;QUASOU;SOUACC;STATUS;TECSOU;TRAFIC;VERDAT;RESTRN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -42,Depth area,DEPARE,DRVAL1;DRVAL2;QUASOU;SOUACC;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line;Area; -43,Depth contour,DEPCNT,VALDCO;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;hypcat;,G,Line; -44,Distance mark,DISMAR,CATDIS;DATEND;DATSTA;NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -45,Dock area,DOCARE,CATDOC;CONDTN;DATEND;DATSTA;HORACC;HORCLR;NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -46,Dredged area,DRGARE,DRVAL1;DRVAL2;NOBJNM;OBJNAM;QUASOU;RESTRN;SOUACC;TECSOU;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -47,Dry dock,DRYDOC,CONDTN;HORACC;HORCLR;HORLEN;HORWID;NOBJNM;OBJNAM;STATUS;DRVAL1;QUASOU;SOUACC;VERDAT;,INFORM;NINFOM;SCAMAX;SCAMIN;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -48,Dumping ground,DMPGRD,CATDPG;NOBJNM;OBJNAM;RESTRN;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -49,Dyke,DYKCON,CONDTN;CONRAD;DATEND;DATSTA;HEIGHT;NATCON;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line;Area; -50,Exclusive Economic Zone,EXEZNE,NATION;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -51,Fairway,FAIRWY,DATEND;DATSTA;DRVAL1;NOBJNM;OBJNAM;ORIENT;QUASOU;RESTRN;SOUACC;STATUS;TRAFIC;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -52,Fence/wall,FNCLNE,CATFNC;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;ELEVAT;HEIGHT;NATCON;NOBJNM;OBJNAM;STATUS;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line; -53,Ferry route,FERYRT,CATFRY;DATEND;DATSTA;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line;Area; -54,Fishery zone,FSHZNE,NATION;NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -55,Fishing facility,FSHFAC,CATFIF;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;VERLEN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -56,Fishing ground,FSHGRD,NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -57,Floating dock,FLODOC,COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;DRVAL1;HORACC;HORCLR;HORLEN;HORWID;LIFCAP;NOBJNM;OBJNAM;STATUS;VERACC;VERLEN;VERDAT;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line;Area; -58,Fog signal,FOGSIG,CATFOG;DATEND;DATSTA;NOBJNM;OBJNAM;SIGFRQ;SIGGEN;SIGGRP;SIGPER;SIGSEQ;STATUS;VALMXR;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -59,Fortified structure,FORSTC,CATFOR;CONDTN;CONRAD;CONVIS;HEIGHT;NATCON;NOBJNM;OBJNAM;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -60,Free port area,FRPARE,NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -61,Gate,GATCON,CATGAT;CONDTN;DRVAL1;HORACC;HORCLR;NATCON;NOBJNM;OBJNAM;QUASOU;SOUACC;STATUS;VERACC;VERCLR;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -62,Gridiron,GRIDRN,HORACC;HORLEN;HORWID;NATCON;NOBJNM;OBJNAM;STATUS;VERACC;VERLEN;WATLEV;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -63,Harbour area (administrative),HRBARE,NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -64,Harbour facility,HRBFAC,CATHAF;CONDTN;DATEND;DATSTA;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -65,Hulk,HULKES,CATHLK;COLOUR;COLPAT;CONRAD;CONVIS;HORACC;HORLEN;HORWID;NOBJNM;OBJNAM;VERACC;VERLEN;CONDTN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -66,Ice area,ICEARE,CATICE;CONVIS;ELEVAT;HEIGHT;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -67,Incineration area,ICNARE,NOBJNM;OBJNAM;PEREND;PERSTA;RESTRN;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -68,Inshore traffic zone,ISTZNE,CATTSS;DATEND;DATSTA;RESTRN;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -69,Lake,LAKARE,ELEVAT;NOBJNM;OBJNAM;VERACC;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -70,Lake shore,LAKSHR,NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line;Area; -71,Land area,LNDARE,CONDTN;NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -72,Land elevation,LNDELV,CONVIS;ELEVAT;NOBJNM;OBJNAM;VERACC;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line; -73,Land region,LNDRGN,CATLND;NATQUA;NATSUR;NOBJNM;OBJNAM;WATLEV;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -74,Landmark,LNDMRK,CATLMK;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;ELEVAT;FUNCTN;HEIGHT;NATCON;NOBJNM;OBJNAM;STATUS;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -75,Light,LIGHTS,CATLIT;COLOUR;DATEND;DATSTA;EXCLIT;HEIGHT;LITCHR;LITVIS;MARSYS;MLTYLT;NOBJNM;OBJNAM;ORIENT;PEREND;PERSTA;SECTR1;SECTR2;SIGGRP;SIGPER;SIGSEQ;STATUS;VERACC;VALNMR;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -76,Light float,LITFLT,COLOUR;COLPAT;CONRAD;CONVIS;DATEND;DATSTA;HORACC;HORLEN;HORWID;MARSYS;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -77,Light vessel,LITVES,COLOUR;COLPAT;CONRAD;CONVIS;DATEND;DATSTA;HORACC;HORLEN;HORWID;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;VERLEN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -78,Local magnetic anomaly,LOCMAG,NOBJNM;OBJNAM;VALLMA;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -79,Lock basin,LOKBSN,DATEND;DATSTA;HORACC;HORCLR;HORLEN;HORWID;NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -80,Log pond,LOGPON,NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -81,Magnetic variation,MAGVAR,DATEND;DATSTA;RYRMGV;VALACM;VALMAG;,INFORM;NINFOM;SCAMAX;SCAMIN;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -82,Marine farm/culture,MARCUL,CATMFA;DATEND;DATSTA;EXPSOU;NOBJNM;OBJNAM;PEREND;PERSTA;QUASOU;RESTRN;SOUACC;STATUS;VALSOU;VERACC;VERDAT;VERLEN;WATLEV;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -83,Military practice area,MIPARE,CATMPA;DATEND;DATSTA;NOBJNM;OBJNAM;PEREND;PERSTA;RESTRN;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -84,Mooring/warping facility,MORFAC,BOYSHP;CATMOR;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;HEIGHT;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;VERDAT;VERLEN;WATLEV;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -85,Navigation line,NAVLNE,CATNAV;DATEND;DATSTA;ORIENT;PEREND;PERSTA;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line; -86,Obstruction,OBSTRN,CATOBS;CONDTN;EXPSOU;HEIGHT;NATCON;NATQUA;NOBJNM;OBJNAM;PRODCT;QUASOU;SOUACC;STATUS;TECSOU;VALSOU;VERACC;VERDAT;VERLEN;WATLEV;NATSUR;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -87,Offshore platform,OFSPLF,CATOFP;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;HEIGHT;NATCON;NOBJNM;OBJNAM;PRODCT;STATUS;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -88,Offshore production area,OSPARE,CATPRA;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;HEIGHT;NOBJNM;OBJNAM;PRODCT;RESTRN;STATUS;VERACC;VERLEN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -89,Oil barrier,OILBAR,CATOLB;CONDTN;DATEND;DATSTA;NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line; -90,Pile,PILPNT,CATPLE;COLOUR;COLPAT;CONDTN;CONVIS;DATEND;DATSTA;HEIGHT;NOBJNM;OBJNAM;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -91,Pilot boarding place,PILBOP,CATPIL;COMCHA;DATEND;DATSTA;NOBJNM;NPLDST;OBJNAM;PEREND;PERSTA;PILDST;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -92,Pipeline area,PIPARE,CONDTN;DATEND;DATSTA;NOBJNM;OBJNAM;PRODCT;RESTRN;STATUS;CATPIP;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -93,"Pipeline, overhead",PIPOHD,CATPIP;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;NOBJNM;OBJNAM;PRODCT;STATUS;VERACC;VERCLR;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line; -94,"Pipeline, submarine/on land",PIPSOL,BURDEP;CATPIP;CONDTN;DATEND;DATSTA;DRVAL1;DRVAL2;NOBJNM;OBJNAM;PRODCT;STATUS;VERACC;VERLEN;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line; -95,Pontoon,PONTON,CONDTN;CONRAD;CONVIS;DATEND;DATSTA;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;VERLEN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line;Area; -96,Precautionary area,PRCARE,DATEND;DATSTA;RESTRN;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -97,Production / storage area,PRDARE,CATPRA;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;ELEVAT;HEIGHT;NOBJNM;OBJNAM;PRODCT;STATUS;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -98,Pylon/bridge support,PYLONS,CATPYL;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;HEIGHT;NATCON;NOBJNM;OBJNAM;VERACC;VERDAT;VERLEN;WATLEV;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -99,Radar line,RADLNE,NOBJNM;OBJNAM;ORIENT;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line; -100,Radar range,RADRNG,COMCHA;DATEND;DATSTA;NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -101,Radar reflector,RADRFL,HEIGHT;STATUS;VERACC;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -102,Radar station,RADSTA,CATRAS;DATEND;DATSTA;HEIGHT;NOBJNM;OBJNAM;STATUS;VERACC;VALMXR;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -103,Radar transponder beacon,RTPBCN,CATRTB;DATEND;DATSTA;NOBJNM;OBJNAM;RADWAL;SECTR1;SECTR2;SIGGRP;SIGSEQ;STATUS;VALMXR;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -104,Radio calling-in point,RDOCAL,COMCHA;DATEND;DATSTA;NOBJNM;OBJNAM;ORIENT;PEREND;PERSTA;STATUS;TRAFIC;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line; -105,Radio station,RDOSTA,CALSGN;CATROS;COMCHA;DATEND;DATSTA;ESTRNG;NOBJNM;OBJNAM;ORIENT;PEREND;PERSTA;SIGFRQ;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -106,Railway,RAILWY,CONDTN;HEIGHT;NOBJNM;OBJNAM;STATUS;VERACC;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line; -107,Rapids,RAPIDS,NOBJNM;OBJNAM;VERACC;VERLEN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -108,Recommended route centerline,RCRTCL,CATTRK;DATEND;DATSTA;DRVAL1;DRVAL2;NOBJNM;OBJNAM;ORIENT;PEREND;PERSTA;QUASOU;SOUACC;STATUS;TECSOU;TRAFIC;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line; -109,Recommended track,RECTRC,CATTRK;DATEND;DATSTA;DRVAL1;DRVAL2;NOBJNM;OBJNAM;ORIENT;PEREND;PERSTA;QUASOU;SOUACC;STATUS;TECSOU;TRAFIC;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line;Area; -110,Recommended Traffic Lane Part,RCTLPT,DATEND;DATSTA;ORIENT;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -111,Rescue station,RSCSTA,CATRSC;DATEND;DATSTA;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;,INFORM;NINFOM;SCAMAX;SCAMIN;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -112,Restricted area,RESARE,CATREA;DATEND;DATSTA;NOBJNM;OBJNAM;PEREND;PERSTA;RESTRN;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -113,Retro-reflector,RETRFL,COLOUR;COLPAT;HEIGHT;MARSYS;STATUS;VERACC;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -114,River,RIVERS,NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line;Area; -115,River bank,RIVBNK,NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line;Area; -116,Road,ROADWY,CATROD;CONDTN;NATCON;NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -117,Runway,RUNWAY,CATRUN;CONDTN;CONVIS;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -118,Sand waves,SNDWAV,VERACC;VERLEN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -119,Sea area / named water area,SEAARE,CATSEA;NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -120,Sea-plane landing area,SPLARE,NOBJNM;OBJNAM;PEREND;PERSTA;RESTRN;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -121,Seabed area,SBDARE,COLOUR;NATQUA;NATSUR;WATLEV;OBJNAM;NOBJNM;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -122,Shoreline Construction,SLCONS,CATSLC;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;HEIGHT;HORACC;HORCLR;HORLEN;HORWID;NATCON;NOBJNM;OBJNAM;STATUS;VERACC;VERDAT;VERLEN;WATLEV;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -123,"Signal station, traffic",SISTAT,CATSIT;COMCHA;DATEND;DATSTA;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -124,"Signal station, warning",SISTAW,CATSIW;COMCHA;DATEND;DATSTA;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -125,Silo / tank,SILTNK,BUISHP;CATSIL;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;ELEVAT;HEIGHT;NATCON;NOBJNM;OBJNAM;PRODCT;STATUS;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -126,Slope topline,SLOTOP,CATSLO;COLOUR;CONRAD;CONVIS;ELEVAT;NATCON;NATQUA;NATSUR;NOBJNM;OBJNAM;VERACC;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line; -127,Sloping ground,SLOGRD,CATSLO;COLOUR;CONRAD;CONVIS;NATCON;NATQUA;NATSUR;NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -128,Small craft facility,SMCFAC,CATSCF;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -129,Sounding,SOUNDG,EXPSOU;NOBJNM;OBJNAM;QUASOU;SOUACC;TECSOU;VERDAT;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -130,Spring,SPRING,NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -131,Square,SQUARE,CONDTN;NATCON;NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -132,Straight territorial sea baseline,STSLNE,NATION;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line; -133,Submarine transit lane,SUBTLN,NOBJNM;OBJNAM;RESTRN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -134,Swept Area,SWPARE,DRVAL1;QUASOU;SOUACC;TECSOU;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -135,Territorial sea area,TESARE,NATION;RESTRN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -136,Tidal stream - harmonic prediction,TS_PRH,NOBJNM;OBJNAM;T_MTOD;T_VAHC;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -137,Tidal stream - non-harmonic prediction,TS_PNH,NOBJNM;OBJNAM;T_MTOD;T_THDF;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -138,Tidal stream panel data,TS_PAD,NOBJNM;OBJNAM;TS_TSP;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -139,Tidal stream - time series,TS_TIS,NOBJNM;OBJNAM;STATUS;TIMEND;TIMSTA;T_TINT;TS_TSV;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -140,Tide - harmonic prediction,T_HMON,NOBJNM;OBJNAM;T_ACWL;T_MTOD;T_VAHC;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -141,Tide - non-harmonic prediction,T_NHMN,NOBJNM;OBJNAM;T_ACWL;T_MTOD;T_THDF;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -142,Tidal stream - time series,T_TIMS,NOBJNM;OBJNAM;T_HWLW;T_TINT;T_TSVL;TIMEND;TIMSTA;STATUS;T_ACWL;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -143,Tideway,TIDEWY,NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line;Area; -144,Top mark,TOPMAR,COLOUR;COLPAT;HEIGHT;MARSYS;STATUS;TOPSHP;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -145,Traffic Separation Line,TSELNE,CATTSS;DATEND;DATSTA;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line; -146,Traffic Separation Scheme Boundary,TSSBND,CATTSS;DATEND;DATSTA;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line; -147,Traffic Separation Scheme Crossing,TSSCRS,CATTSS;DATEND;DATSTA;RESTRN;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -148,Traffic Separation Scheme Lane part,TSSLPT,CATTSS;DATEND;DATSTA;ORIENT;RESTRN;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -149,Traffic Separation Scheme Roundabout,TSSRON,CATTSS;DATEND;DATSTA;RESTRN;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -150,Traffic Separation Zone,TSEZNE,CATTSS;DATEND;DATSTA;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -151,Tunnel,TUNNEL,BURDEP;CONDTN;HORACC;HORCLR;NOBJNM;OBJNAM;STATUS;VERACC;VERCLR;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -152,Two-way route part,TWRTPT,CATTRK;DATEND;DATSTA;DRVAL1;DRVAL2;ORIENT;QUASOU;SOUACC;STATUS;TECSOU;TRAFIC;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -153,Underwater rock / awash rock,UWTROC,EXPSOU;NATSUR;NATQUA;NOBJNM;OBJNAM;QUASOU;SOUACC;STATUS;TECSOU;VALSOU;VERDAT;WATLEV;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point; -154,Unsurveyed area,UNSARE,,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -155,Vegetation,VEGATN,CATVEG;CONVIS;ELEVAT;HEIGHT;NOBJNM;OBJNAM;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -156,Water turbulence,WATTUR,CATWAT;NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line;Area; -157,Waterfall,WATFAL,CONVIS;NOBJNM;OBJNAM;VERACC;VERLEN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Line; -158,Weed/Kelp,WEDKLP,CATWED;NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -159,Wreck,WRECKS,CATWRK;CONRAD;CONVIS;EXPSOU;HEIGHT;NOBJNM;OBJNAM;QUASOU;SOUACC;STATUS;TECSOU;VALSOU;VERACC;VERDAT;VERLEN;WATLEV;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -160,Tidal stream - flood/ebb,TS_FEB,CAT_TS;CURVEL;DATEND;DATSTA;NOBJNM;OBJNAM;ORIENT;PEREND;PERSTA;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area; -161,Archipelagix Sea Lane,ARCSLN,DATEND;DATSTA;NATION;NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area; -162,Archipelagix Sea Lane axis,ASLXIS,DATEND;DATSTA;NATION;NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line; -163,New object,NEWOBJ,CLSDEF;CLSNAM;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;NATION;NOBJNM;OBJNAM;PEREND;PERSTA;RESTRN;STATUS;WATLEV;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;SYMINS;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line;Area;Point; -300,Accuracy of data,M_ACCY,HORACC;POSACC;SOUACC;VERACC;,INFORM;NINFOM;NTXTDS;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,M,Area; -301,Compilation scale of data,M_CSCL,CSCALE;,INFORM;NINFOM;NTXTDS;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,M,Area; -302,Coverage,M_COVR,CATCOV;,INFORM;NINFOM;,RECDAT;RECIND;SORDAT;SORIND;,M,Area; -303,Horizontal datum of data,M_HDAT,HORDAT;,INFORM;NINFOM;NTXTDS;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,M,Area; -304,Horizontal datum shift parameters,M_HOPA,HORDAT;SHIPAM;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,M,Area; -305,Nautical publication information,M_NPUB,,INFORM;NINFOM;NTXTDS;PICREP;PUBREF;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,M,Area; -306,Navigational system of marks,M_NSYS,MARSYS;ORIENT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,M,Area; -307,Production information,M_PROD,AGENCY;CPDATE;NATION;NMDATE;PRCTRY;,INFORM;NINFOM;NTXTDS;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,M,Area; -308,Quality of data,M_QUAL,CATQUA;CATZOC;DRVAL1;DRVAL2;POSACC;SOUACC;SUREND;SURSTA;TECSOU;VERDAT;,INFORM;NINFOM;NTXTDS;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,M,Area; -309,Sounding datum,M_SDAT,VERDAT;,INFORM;NINFOM;NTXTDS;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,M,Area; -310,Survey reliability,M_SREL,QUAPOS;QUASOU;SCVAL1;SCVAL2;SDISMN;SDISMX;SURATH;SUREND;SURSTA;SURTYP;TECSOU;,INFORM;NINFOM;NTXTDS;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,M,Area; -311,Units of measurement of data,M_UNIT,DUNITS;HUNITS;PUNITS;,INFORM;NINFOM;NTXTDS;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,M,Area; -312,Vertical datum of data,M_VDAT,VERDAT;,INFORM;NINFOM;NTXTDS;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,M,Area; -400,Aggregation,C_AGGR,NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,C, -401,Association,C_ASSO,NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,C, -402,Stacked on/stacked under,C_STAC,,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,C, -500,Cartographic area,$AREAS,COLOUR;ORIENT;$SCODE;$TINTS;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,$, -501,Cartographic line,$LINES,$SCODE;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,$, -502,Cartographic symbol,$CSYMB,ORIENT;$SCALE;$SCODE;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,$, -503,Compass,$COMPS,$CSIZE;RYRMGV;VALACM;VALMAG;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,$, -504,Text,$TEXTS,$CHARS;COLOUR;$JUSTH;$JUSTV;$NTXST;$SPACE;$TXSTR;,INFORM;NINFOM;NTXTDS;PICREP;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,$, -0,"###Codes in the 17xxx range come from past s57objectclasses_iw.csv (Inland Waterways)",,,,, -17000,Anchor berth,achbrt,catach;clsdng;comctn;DATEND;DATSTA;NOBJNM;OBJNAM;PEREND;PERSTA;RADIUS;restrn;STATUS;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point;Area; -17001,Anchorage area,achare,catach;clsdng;comctn;DATEND;DATSTA;NOBJNM;OBJNAM;PEREND;PERSTA;restrn;STATUS;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point;Area; -17002,Canal bank,canbnk,catbnk;CONRAD;DATEND;DATSTA;NATSUR;NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Line; -17003,Depth area,depare,DRVAL1;DRVAL2;eleva1;eleva2;wtwdis;QUASOU;SOUACC;verdat;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Line;Area; -17004,Distance mark,dismar,catdis;DATEND;DATSTA;NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point; -17005,Restricted area,resare,CATREA;DATEND;DATSTA;NOBJNM;OBJNAM;PEREND;PERSTA;restrn;STATUS;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Area; -17006,River bank,rivbnk,catbnk;CONRAD;NATSUR;NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Line; -17007,Signal station traffic,sistat,catsit;COMCHA;DATEND;DATSTA;dirimp;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point; -17008,Signal station warning,sistaw,catsiw;COMCHA;DATEND;DATSTA;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point; -17009,Top Mark,topmar,COLOUR;COLPAT;HEIGHT;marsys;STATUS;TOPSHP;VERACC;verdat;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point; -17010,Berth berths,berths,catbrt;clsdng;comctn;DATEND;DATSTA;DRVAL1;NOBJNM;OBJNAM;PEREND;PERSTA;QUASOU;SOUACC;STATUS;trshgd;verdat;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point;Line;Area; -17011,"Bridge","bridge",catbrg;comctn;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;HORACC;HORCLR;NATCON;NOBJNM;OBJNAM;TIMEND;TIMSTA;VERACC;VERCCL;VERCLR;VERCOP;verdat;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point;Line;Area; -17012,Cable overhead,cblohd,CATCBL;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;ICEFAC;NOBJNM;OBJNAM;STATUS;VERACC;VERCLR;VERCSA;verdat;,INFORM;NINFOM;NTXTDS;SCAMIN;TXTDSC;updmsg;RECDAT;RECIND;,SORDAT;SORIND;,G,Line; -17013,Ferry route,feryrt,catfry;comctn;DATEND;DATSTA;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;TIMEND;TIMSTA;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Line;Area; -17014,Harbour Area,hrbare,cathbr;comctn;NOBJNM;OBJNAM;STATUS;unlocd;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Area; -17015,Harbour Facilities,hrbfac,cathaf;CONDTN;DATEND;DATSTA;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;,INFORM;NINFOM;NTXTDS;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point;Area; -17016,Lock Basin,lokbsn,HORACC;horcll;horclw;HORLEN;HORWID;NOBJNM;OBJNAM;STATUS;TIMEND;TIMSTA;,INFORM;NINFOM;NTXTDS;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Area; -17017,Radio calling-in point,rdocal,catcom;comctn;COMCHA;DATEND;DATSTA;NOBJNM;OBJNAM;ORIENT;PEREND;PERSTA;STATUS;TRAFIC;dirimp;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point;Line; -17018,Navigational system of marks,m_nsys,marsys;ORIENT;,INFORM;NINFOM;NTXTDS;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Area; -17050,Notice mark,notmrk,catnmk;fnctnm;dirimp;disipd;disipu;disbk1;disbk2;addmrk;marsys;ORIENT;CONDTN;NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point; -17051,Waterway axis,wtwaxs,catccl;NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Line; -17052,Waterway profile,wtwprf,wtwdis;HEIGHT;verdat;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point;Line; -17053,Bridge area,brgare,comctn;NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Area; -17054,Bunker station,bunsta,bunves;catbun;comctn;NOBJNM;OBJNAM;TIMEND;TIMSTA;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point; -17055,Communication Area,comare,catcom;COMCHA;DATEND;DATSTA;NOBJNM;OBJNAM;STATUS;TIMEND;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Area; -17056,Harbour Basin,hrbbsn,HORACC;HORLEN;HORWID;NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Area; -17057,Lock area,lokare,comctn;NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Area; -17058,Lock basin part,lkbspt,HORACC;horcll;horclw;HORLEN;HORWID;NOBJNM;OBJNAM;STATUS;TIMEND;TIMSTA;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Area; -17059,Port Area,prtare,comctn;NOBJNM;OBJNAM;STATUS;unlocd;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Area; -17060,Beacon water-way,bcnwtw,BCNSHP;catwwm;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;dirimp;ELEVAT;HEIGHT;marsys;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERACC;verdat;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point; -17061,Buoy water-way,boywtw,BOYSHP;catwwm;COLOUR;COLPAT;CONDTN;CONRAD;CONVIS;DATEND;DATSTA;marsys;NATCON;NOBJNM;OBJNAM;PEREND;PERSTA;STATUS;VERLEN;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point; -17062,Refuse dump,refdmp,catrfd;comctn;NOBJNM;OBJNAM;STATUS;TIMEND;TIMSTA;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point; -17063,Route planning point,rtplpt,NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point; -17064,Terminal,termnl,cattml;comctn;NOBJNM;OBJNAM;STATUS;TIMEND;TIMSTA;trshgd;unlocd;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point;Area; -17065,Turning basin,trnbsn,HORCLR;NOBJNM;STATUS;OBJNAM;,INFORM;NINFOM;NTXTDS;PICREP;SCAMIN;TXTDSC;updmsg;,SORDAT;SORIND;,G,Point;Area; -0,"###Codes in the 20xxx and 21xxx range come from past s57objectclasses_aml.csv (Additional_Military_Layers)",,,,, -20484,"ATS Route Centreline","atsctl","authty;linech;NOBJNM;OBJNAM","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","L" -20485,"Airspace Restriction","airres + catasr","authty;catasr;linech;maxalt;maxftl;minalt;minftl;NOBJNM;OBJNAM;HUNITS;VERDAT","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20486,"Area of Imagery Coverage","imgare","bearng;catimg;ELEVAT;HUNITS;orgntr;SUREND;VERDAT","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20487,"Beach Exit","bchext","ccmidx;exitus;gradnt;HORCLR;HORLEN;HORWID;HUNITS;VERCSA;wbrcap","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P;L" -20488,"Beach Profile","bchprf","bearng;gradnt;SUREND","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","L" -20489,"Beach Survey","bchare","accres;brktyp;ccmidx;dgmrlf;HORLEN;HORWID;HUNITS;quabch;orgntr;srfhgt;srfzne;stbacv;SUREND;SURSTA;swlhgt;tdlrng;tdltyp","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P A " -20490,"Bedrock area","bedare","N/A","N/A",,"G","A" -20491,"Bottom Feature","botmft + catbot","catbot;DUNITS;gradnt;HORLEN;HORWID;HUNITS;migspd;migdir;NOBJNM;OBJNAM;ORIENT;soudat;stfotn;VALSOU;VERLEN;WATLEV;wavlen","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P;L;A" -20492,"Centre Line","centre","N/A","N/A",,"G","L" -20494,"Contact History","histob","orgntr;surdat;SUREND","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P" -20495,"Controlled airspace","ctlasp + catcas","authty;catcas;caircd;linech;maxalt;maxftl;minalt;minftl;NOBJNM;OBJNAM;HUNITS;VERDAT","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","L;A" -20496,"Diving Location","divloc","depact;divact;DUNITS;OBJNAM;NOBJNM;timeyr;watclr","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P;A" -20497,"Drinking Water Location","watloc","N/A","N/A",,"G","P" -20498,"Drop Zone","drpzne","apprch;extdes;lndcon;OBJNAM;NOBJNM;STATUS","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P;A" -20499,"Environmentally Sensitive Area","envare","authty;legsta;OBJNAM;NOBJNM;PEREND;PERSTA","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A;P" -20500,"Fishing Activity Area","fshare","catfsh;STATUS;timeyr","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20501,"Impact Scour","iscour","datfir;datlst;depwat;DUNITS;gendep;HORLEN;HORWID;HUNITS;NATQUA;NATSUR;NOBJNM;OBJNAM;orcard;ORIENT;QUASOU;senfir;senlst;sonsig;sorfir;sorlst;SOUACC;soudat;STATUS;TECSOU;VALSOU;VERLEN;WATLEV","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P" -20502,"Landing Area","lngare","apprch;extdes;lndcon;OBJNAM;NOBJNM;STATUS","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20503,"Landing Place","lndplc","gradnt;STATUS;wbrcap","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P" -20504,"Landing Point","lndpnt","apprch;extdes;lndcon;OBJNAM;NOBJNM;STATUS","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P" -20505,"Landing Site","lndste","apprch;extdes;lndcon;OBJNAM;NOBJNM;STATUS","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20506,"Landing Strip","lndstp","apprch;extdes;lndcon;OBJNAM;NOBJNM;STATUS","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20507,"Landing Zone","lndzne","apprch;extdes;lndcon;OBJNAM;NOBJNM;STATUS","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20508,"Marine management area","marman + catmma","actper;authty;catmma;identy;linech;NOBJNM;OBJNAM;NATION;spcies;STATUS","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20509,"Maritime Safety Information area","msiare","catmsi;condet;NATION;NOBJNM;OBJNAM","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20510,"MCM Area","mcmare","mhclas;milden;nomden","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20511,"Military exercise airspace","mexasp + catmea","actper;authty;catmea;linech;maxalt;maxftl;minalt;minftl;NOBJNM;OBJNAM;HUNITS;VERDAT","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20513,"Patrol area","patare + catpat","authty;catpat;identy;linech;NOBJNM;OBJNAM;NATION;STATUS","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20514,"Q-Route Leg","qroute","actper;dnbear;lftwid;NATION;NOBJNM;OBJNAM;rclass;rgtwid;STATUS;TRAFIC;HUNITS;upbear","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","L" -20515,"Radio broadcast area","rdoare","NOBJNM;OBJNAM","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20516,"Regulated airspace","regasp","N/A","N/A",,"G","A" -20517,"Geological Layer","sedlay","attutn;bulkdn;COLOUR;deplyr;dttdep;dttnum;DUNITS;gascon;grnsiz;hfbmls;laynum;lfbmls;mgstyp;reflco;migspd;migdir;msstrg;natsed;NATQUA;porsty;revebn;revfqy;revgan;samret;sndvel;snrflc;soudat;WATLEV;wbrcap","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P;A" -20518,"Seismic Activity Area","seiare","bearng;ricsca","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20519,"Sensor Anomaly","senanm","datfir;datlst;DUNITS;gendep;HUNITS;madsig;magany;magint;NOBJNM;OBJNAM;orcard;ORIENT;QUASOU;scrdim;senfir;senlst;sonsig;sorfir;sorlst;soudat;SOUACC;STATUS;TECSOU;VALSOU;WATLEV","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P" -20520,"Shelter Location","shlloc","OBJNAM;NOBJNM;STATUS","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P" -20521,"Superficial Sediment Deposits","seddep","N/A","N/A",,"G","A" -20522,"Trafficability Area","trfare","cattrf","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20523,"Trawl Scours","twlscr","HUNITS;HORWID;ORIENT","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","L;A" -20524,"Turning point","turnpt","NOBJNM;OBJNAM","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P" -20525,"Viewpoint","viewpt","bearng;discon;DUNITS;shpspd;snrfrq;snrrsc;twdbdp","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P" -20526,"Bottom Tactical Data Area","btdare","mntden;undmnr;umnrwb;umrwob","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20527,"Burial Probability Area","bprare","brmchm;brperd;brprob;tgrfwt","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20528,"Leisure Activity Area","lsrare","lsract;timeyr","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20529,"Performance Data Area","pfdare","clperc;clprob;csprob;cswidt;dsprob;dtprob","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20530,"Resource Location","resloc","typres;STATUS","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P;A" -20531,"Risk Data Area","rkdare","conlev;numrmn;prbrmn;rmnlmn;sminth;znecol","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20532,"Navigation system (NAVAID)","navaid + CATROS","actper;CALSGN;CATROS;COMCHA;NOBJNM;OBJNAM;SIGFRQ","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P" -20533,"Internal Waters Area ","intwtr","linech;NATION;RESTRN;STATUS","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20534,"Sea Ice","seaice","iceact;icecvt;icesod;icemax;icemin;icerdv;NOBJNM;OBJNAM","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20535,"Ice Advisory Area","iceadv","iceadc;NOBJNM;OBJNAM","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20536,"Iceberg Area","brgare","icebnm;NOBJNM;OBJNAM","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20537,"Land Ice","lndice","icelnd;NOBJNM;OBJNAM","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20538,"Ice Line","icelin","icelnc;NOBJNM;OBJNAM","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","L" -20539,"Ice Route","icerte","NOBJNM;OBJNAM","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","L" -20540,"Ice Polynya","icepol","icepst;icepty;NOBJNM;OBJNAM","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","A" -20541,"Ice Lead","icelea","icelty;icelst;NOBJNM;OBJNAM","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","L;A" -20542,"Iceberg","icebrg","icebsz;icebsh;icebdr;icebsp;NOBJNM;OBJNAM","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P;A" -20543,"Ice Movement","icemov","icebsp;icebdr;NOBJNM;OBJNAM","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P;A" -20544,"Traffic route","tfcrte","linech;NOBJNM;OBJNAM;PEREND;PERSTA;traden;TRAFIC;typshp","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","L" -20717,"User Defined","u_defd","txtdes","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P;L;A" -20718,"Small Bottom Object","smalbo","blndzn;brmchm;brpctg;COLOUR;comsys;datfir;datlst;depwat;DUNITS;gendep;HORLEN;HORWID;HUNITS;incltn;layptm;layrfn;laytim;madsig;magany;magint;minern;miscls;miscom;misdat;misnme;mnhsys;mnimnc;mnimnt;mnssys;mulcon;mwdcrn;NATCON;navsys;notfnd;nmprob;objtrn;objshp onsonr;orbobn;orgdat;orgntr;ORIENT;QUASOU;scrdim;senfir;senlst;snrflc;soudat;stacon;surdat;SUREND;tarstg;TECSOU;unwrfm;VERLEN","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"G","P" -21484,"Completeness for the product specification","m_conf + catcnf","catcnf","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"M","A" -21485,"Security Classification Information","m_clas","","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"M","A" -21486,"Vertical Datum Shift Area","m_vers","vershf","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"M","P;A" -21487,"Defined Straight Lines","m_line","linech","AGENCY;CSCALE;elvacc;errell;HORACC;INFORM;NINFOM;NTXTDS;PICREP;POSACC;PRCTRY;PUBREF;RECDAT;QUAPOS;seccvt;secido;secown;secpmk;SORDAT;SORIND;TXTDSC;VERACC",,"M","N/A" diff --git a/bin/gdal_data/seed_2d.dgn b/bin/gdal_data/seed_2d.dgn deleted file mode 100644 index b99cad81..00000000 Binary files a/bin/gdal_data/seed_2d.dgn and /dev/null differ diff --git a/bin/gdal_data/seed_3d.dgn b/bin/gdal_data/seed_3d.dgn deleted file mode 100644 index 9e11c938..00000000 Binary files a/bin/gdal_data/seed_3d.dgn and /dev/null differ diff --git a/bin/gdal_data/stateplane.csv b/bin/gdal_data/stateplane.csv deleted file mode 100644 index 38089e71..00000000 --- a/bin/gdal_data/stateplane.csv +++ /dev/null @@ -1,259 +0,0 @@ -"ID","STATE","ZONE","PROJ_METHOD","DATUM","USGS_CODE","EPSG_PCS_CODE" -101,ALABAMA,EAST,1,NAD83,101,26929 -102,ALABAMA,WEST,1,NAD83,102,26930 -201,ARIZONA,EAST,1,NAD83,201,26948 -202,ARIZONA,CENTRAL,1,NAD83,202,26949 -203,ARIZONA,WEST,1,NAD83,203,26950 -301,ARKANSAS,NORTH,2,NAD83,301,26951 -302,ARKANSAS,SOUTH,2,NAD83,302,26952 -401,CALIFORNIA,I,2,NAD83,401,26941 -402,CALIFORNIA,II,2,NAD83,402,26942 -403,CALIFORNIA,III,2,NAD83,403,26943 -404,CALIFORNIA,IV,2,NAD83,404,26944 -405,CALIFORNIA,V,2,NAD83,405,26945 -406,CALIFORNIA,VI,2,NAD83,406,26946 -501,COLORADO,NORTH,2,NAD83,501,26953 -502,COLORADO,CENTRAL,2,NAD83,502,26954 -503,COLORADO,SOUTH,2,NAD83,503,26955 -600,CONNECTICUT,,2,NAD83,600,26956 -700,DELAWARE,,1,NAD83,700,26957 -901,FLORIDA,EAST,1,NAD83,901,26958 -902,FLORIDA,WEST,1,NAD83,902,26959 -903,FLORIDA,NORTH,2,NAD83,903,26960 -1001,GEORGIA,EAST,1,NAD83,1001,26966 -1002,GEORGIA,WEST,1,NAD83,1002,26967 -1101,IDAHO,EAST,1,NAD83,1101,26968 -1102,IDAHO,CENTRAL,1,NAD83,1102,26969 -1103,IDAHO,WEST,1,NAD83,1103,26970 -1201,ILLINOIS,EAST,1,NAD83,1201,26971 -1202,ILLINOIS,WEST,1,NAD83,1202,26972 -1301,INDIANA,EAST,1,NAD83,1301,26973 -1302,INDIANA,WEST,1,NAD83,1302,26974 -1401,IOWA,NORTH,2,NAD83,1401,26975 -1402,IOWA,SOUTH,2,NAD83,1402,26976 -1501,KANSAS,NORTH,2,NAD83,1501,26977 -1502,KANSAS,SOUTH,2,NAD83,1502,26978 -1600,KENTUCKY,SINGLE ZONE,2,NAD83,1600,3088 -1601,KENTUCKY,NORTH,2,NAD83,1601,2205 -1602,KENTUCKY,SOUTH,2,NAD83,1602,26980 -1701,LOUISIANA,NORTH,2,NAD83,1701,26981 -1702,LOUISIANA,SOUTH,2,NAD83,1702,26982 -1703,LOUISIANA,OFFSHORE,2,NAD83,1703, -1801,MAINE,EAST,1,NAD83,1801,26983 -1802,MAINE,WEST,1,NAD83,1802,26984 -1900,MARYLAND,,2,NAD83,1900,26985 -2001,MASSACHUSETTS,MAINLAND,2,NAD83,2001,26986 -2002,MASSACHUSETTS,ISLAND,2,NAD83,2002,26987 -2111,MICHIGAN,NORTH,2,NAD83,2111,26988 -2112,MICHIGAN,CENTRAL,2,NAD83,2112,26989 -2113,MICHIGAN,SOUTH,2,NAD83,2113,26990 -2201,MINNESOTA,NORTH,2,NAD83,2201,26991 -2202,MINNESOTA,CENTRAL,2,NAD83,2202,26992 -2203,MINNESOTA,SOUTH,2,NAD83,2203,26993 -2301,MISSISSIPPI,EAST,1,NAD83,2301,26994 -2302,MISSISSIPPI,WEST,1,NAD83,2302,26995 -2401,MISSOURI,EAST,1,NAD83,2401,26996 -2402,MISSOURI,CENTRAL,1,NAD83,2402,26997 -2403,MISSOURI,WEST,1,NAD83,2403,26998 -2500,MONTANA,,2,NAD83,2500,32100 -2600,NEBRASKA,,2,NAD83,2600,32104 -2701,NEVADA,EAST,1,NAD83,2701,32107 -2702,NEVADA,CENTRAL,1,NAD83,2702,32108 -2703,NEVADA,WEST,1,NAD83,2703,32109 -2800,"NEW HAMPSHIRE",,1,NAD83,2800,32110 -2900,"NEW JERSEY",,1,NAD83,2900,32111 -3001,"NEW MEXICO",EAST,1,NAD83,3001,32112 -3002,"NEW MEXICO",CENTRAL,1,NAD83,3002,32113 -3003,"NEW MEXICO",WEST,1,NAD83,3003,32114 -3101,"NEW YORK",EAST,1,NAD83,3101,32115 -3102,"NEW YORK",CENTRAL,1,NAD83,3102,32116 -3103,"NEW YORK",WEST,1,NAD83,3103,32117 -3104,"NEW YORK","LONG ISLAND",2,NAD83,3104,32118 -3200,"NORTH CAROLINA",,2,NAD83,3200,32119 -3301,"NORTH DAKOTA",NORTH,2,NAD83,3301,32120 -3302,"NORTH DAKOTA",SOUTH,2,NAD83,3302,32121 -3401,OHIO,NORTH,2,NAD83,3401,32122 -3402,OHIO,SOUTH,2,NAD83,3402,32123 -3501,OKLAHOMA,NORTH,2,NAD83,3501,32124 -3502,OKLAHOMA,SOUTH,2,NAD83,3502,32125 -3601,OREGON,NORTH,2,NAD83,3601,32126 -3602,OREGON,SOUTH,2,NAD83,3602,32127 -3701,PENNSYLVANIA,NORTH,2,NAD83,3701,32128 -3702,PENNSYLVANIA,SOUTH,2,NAD83,3702,32129 -3800,"RHODE ISLAND",,1,NAD83,3800,32130 -3900,"SOUTH CAROLINA",,2,NAD83,3900,32133 -4001,"SOUTH DAKOTA",NORTH,2,NAD83,4001,32134 -4002,"SOUTH DAKOTA",SOUTH,2,NAD83,4002,32135 -4100,TENNESSEE,,2,NAD83,4100,32136 -4201,TEXAS,NORTH,2,NAD83,4201,32137 -4202,TEXAS,"NORTH CENTRAL",2,NAD83,4202,32138 -4203,TEXAS,CENTRAL,2,NAD83,4203,32139 -4204,TEXAS,"SOUTH CENTRAL",2,NAD83,4204,32140 -4205,TEXAS,SOUTH,2,NAD83,4205,32141 -4301,UTAH,NORTH,2,NAD83,4301,32142 -4302,UTAH,CENTRAL,2,NAD83,4302,32143 -4303,UTAH,SOUTH,2,NAD83,4303,32144 -4400,VERMONT,,1,NAD83,4400,32145 -4501,VIRGINIA,NORTH,2,NAD83,4501,32146 -4502,VIRGINIA,SOUTH,2,NAD83,4502,32147 -4601,WASHINGTON,NORTH,2,NAD83,4601,32148 -4602,WASHINGTON,SOUTH,2,NAD83,4602,32149 -4701,"WEST VIRGINIA",NORTH,2,NAD83,4701,32150 -4702,"WEST VIRGINIA",SOUTH,2,NAD83,4702,32151 -4801,WISCONSIN,NORTH,2,NAD83,4801,32152 -4802,WISCONSIN,CENTRAL,2,NAD83,4802,32153 -4803,WISCONSIN,SOUTH,2,NAD83,4803,32154 -4901,WYOMING,EAST,1,NAD83,4901,32155 -4902,WYOMING,"EAST CENTRAL",1,NAD83,4902,32156 -4903,WYOMING,"WEST CENTRAL",1,NAD83,4903,32157 -4904,WYOMING,WEST,1,NAD83,4904,32158 -5001,ALASKA,"ZONE NO. 1",4,NAD83,5001,26931 -5002,ALASKA,"ZONE NO. 2",1,NAD83,5002,26932 -5003,ALASKA,"ZONE NO. 3",1,NAD83,5003,26933 -5004,ALASKA,"ZONE NO. 4",1,NAD83,5004,26934 -5005,ALASKA,"ZONE NO. 5",1,NAD83,5005,26935 -5006,ALASKA,"ZONE NO. 6",1,NAD83,5006,26936 -5007,ALASKA,"ZONE NO. 7",1,NAD83,5007,26937 -5008,ALASKA,"ZONE NO. 8",1,NAD83,5008,26938 -5009,ALASKA,"ZONE NO. 9",1,NAD83,5009,26939 -5010,ALASKA,"ZONE NO. 10",2,NAD83,5010,26940 -5101,HAWAII,1,1,NAD83,5101,26961 -5102,HAWAII,2,1,NAD83,5102,26962 -5103,HAWAII,3,1,NAD83,5103,26963 -5104,HAWAII,4,1,NAD83,5104,26964 -5105,HAWAII,5,1,NAD83,5105,26965 -5200,"PUERTO RICO AND","VIRGIN ISLANDS",2,NAD83,5200,32161 -10101,ALABAMA,EAST,1,NAD27,101,26729 -10102,ALABAMA,WEST,1,NAD27,102,26730 -10201,ARIZONA,EAST,1,NAD27,201,26748 -10202,ARIZONA,CENTRAL,1,NAD27,202,26749 -10203,ARIZONA,WEST,1,NAD27,203,26750 -10301,ARKANSAS,NORTH,2,NAD27,301,26751 -10302,ARKANSAS,SOUTH,2,NAD27,302,26752 -10401,CALIFORNIA,I,2,NAD27,401,26741 -10402,CALIFORNIA,II,2,NAD27,402,26742 -10403,CALIFORNIA,III,2,NAD27,403,26743 -10404,CALIFORNIA,IV,2,NAD27,404,26744 -10405,CALIFORNIA,V,2,NAD27,405,26745 -10406,CALIFORNIA,VI,2,NAD27,406,26746 -10407,CALIFORNIA,VII,2,NAD27,407,26799 -10501,COLORADO,NORTH,2,NAD27,501,26753 -10502,COLORADO,CENTRAL,2,NAD27,502,26754 -10503,COLORADO,SOUTH,2,NAD27,503,26755 -10600,CONNECTICUT,,2,NAD27,600,26756 -10700,DELAWARE,,1,NAD27,700,26757 -10901,FLORIDA,EAST,1,NAD27,901,26758 -10902,FLORIDA,WEST,1,NAD27,902,26759 -10903,FLORIDA,NORTH,2,NAD27,903,26760 -11001,GEORGIA,EAST,1,NAD27,1001,26766 -11002,GEORGIA,WEST,1,NAD27,1002,26767 -11101,IDAHO,EAST,1,NAD27,1101,26768 -11102,IDAHO,CENTRAL,1,NAD27,1102,26769 -11103,IDAHO,WEST,1,NAD27,1103,26770 -11201,ILLINOIS,EAST,1,NAD27,1201,26771 -11202,ILLINOIS,WEST,1,NAD27,1202,26772 -11301,INDIANA,EAST,1,NAD27,1301,26773 -11302,INDIANA,WEST,1,NAD27,1302,26774 -11401,IOWA,NORTH,2,NAD27,1401,26775 -11402,IOWA,SOUTH,2,NAD27,1402,26776 -11501,KANSAS,NORTH,2,NAD27,1501,26777 -11502,KANSAS,SOUTH,2,NAD27,1502,26778 -11601,KENTUCKY,NORTH,2,NAD27,1601,26779 -11602,KENTUCKY,SOUTH,2,NAD27,1602,26780 -11701,LOUISIANA,NORTH,2,NAD27,1701,26781 -11702,LOUISIANA,SOUTH,2,NAD27,1702,26782 -11703,LOUISIANA,OFFSHORE,2,NAD27,1703, -11801,MAINE,EAST,1,NAD27,1801,26783 -11802,MAINE,WEST,1,NAD27,1802,26784 -11900,MARYLAND,,2,NAD27,1900,26785 -12001,MASSACHUSETTS,MAINLAND,2,NAD27,2001,26786 -12002,MASSACHUSETTS,ISLAND,2,NAD27,2002,26787 -12101,MICHIGAN,EAST,1,NAD27,2101,26801 -12102,MICHIGAN,"CENTRAL/M",1,NAD27,2102,26802 -12103,MICHIGAN,WEST,1,NAD27,2103,26803 -12111,MICHIGAN,NORTH,2,NAD27,2111,26811 -12112,MICHIGAN,"CENTRAL/L",2,NAD27,2112,26812 -12113,MICHIGAN,SOUTH,2,NAD27,2113,26813 -12201,MINNESOTA,NORTH,2,NAD27,2201,26791 -12202,MINNESOTA,CENTRAL,2,NAD27,2202,26792 -12203,MINNESOTA,SOUTH,2,NAD27,2203,26793 -12301,MISSISSIPPI,EAST,1,NAD27,2301,26794 -12302,MISSISSIPPI,WEST,1,NAD27,2302,26795 -12401,MISSOURI,EAST,1,NAD27,2401,26796 -12402,MISSOURI,CENTRAL,1,NAD27,2402,26797 -12403,MISSOURI,WEST,1,NAD27,2403,26798 -12501,MONTANA,NORTH,2,NAD27,2501,32001 -12502,MONTANA,CENTRAL,2,NAD27,2502,32002 -12503,MONTANA,SOUTH,2,NAD27,2503,32003 -12601,NEBRASKA,NORTH,2,NAD27,2601,32005 -12602,NEBRASKA,SOUTH,2,NAD27,2602,32006 -12701,NEVADA,EAST,1,NAD27,2701,32007 -12702,NEVADA,CENTRAL,1,NAD27,2702,32008 -12703,NEVADA,WEST,1,NAD27,2703,32009 -12800,"NEW HAMPSHIRE",,1,NAD27,2800,32010 -12900,"NEW JERSEY",,1,NAD27,2900,32011 -13001,"NEW MEXICO",EAST,1,NAD27,3001,32012 -13002,"NEW MEXICO",CENTRAL,1,NAD27,3002,32013 -13003,"NEW MEXICO",WEST,1,NAD27,3003,32014 -13101,"NEW YORK",EAST,1,NAD27,3101,32015 -13102,"NEW YORK",CENTRAL,1,NAD27,3102,32016 -13103,"NEW YORK",WEST,1,NAD27,3103,32017 -13104,"NEW YORK","LONG ISLAND",2,NAD27,3104,32018 -13200,"NORTH CAROLINA",,2,NAD27,3200,32019 -13301,"NORTH DAKOTA",NORTH,2,NAD27,3301,32020 -13302,"NORTH DAKOTA",SOUTH,2,NAD27,3302,32021 -13401,OHIO,NORTH,2,NAD27,3401,32022 -13402,OHIO,SOUTH,2,NAD27,3402,32023 -13501,OKLAHOMA,NORTH,2,NAD27,3501,32024 -13502,OKLAHOMA,SOUTH,2,NAD27,3502,32025 -13601,OREGON,NORTH,2,NAD27,3601,32026 -13602,OREGON,SOUTH,2,NAD27,3602,32027 -13701,PENNSYLVANIA,NORTH,2,NAD27,3701,32028 -13702,PENNSYLVANIA,SOUTH,2,NAD27,3702,32029 -13800,"RHODE ISLAND",,1,NAD27,3800,32030 -13901,"SOUTH CAROLINA",NORTH,2,NAD27,3901,32031 -13902,"SOUTH CAROLINA",SOUTH,2,NAD27,3902,32033 -14001,"SOUTH DAKOTA",NORTH,2,NAD27,4001,32034 -14002,"SOUTH DAKOTA",SOUTH,2,NAD27,4002,32035 -14100,TENNESSEE,,2,NAD27,4100,2204 -14201,TEXAS,NORTH,2,NAD27,4201,32037 -14202,TEXAS,"NORTH CENTRAL",2,NAD27,4202,32038 -14203,TEXAS,CENTRAL,2,NAD27,4203,32039 -14204,TEXAS,"SOUTH CENTRAL",2,NAD27,4204,32040 -14205,TEXAS,SOUTH,2,NAD27,4205,32041 -14301,UTAH,NORTH,2,NAD27,4301,32042 -14302,UTAH,CENTRAL,2,NAD27,4302,32043 -14303,UTAH,SOUTH,2,NAD27,4303,32044 -14400,VERMONT,,1,NAD27,4400,32045 -14501,VIRGINIA,NORTH,2,NAD27,4501,32046 -14502,VIRGINIA,SOUTH,2,NAD27,4502,32047 -14601,WASHINGTON,NORTH,2,NAD27,4601,32048 -14602,WASHINGTON,SOUTH,2,NAD27,4602,32049 -14701,"WEST VIRGINIA",NORTH,2,NAD27,4701,32050 -14702,"WEST VIRGINIA",SOUTH,2,NAD27,4702,32051 -14801,WISCONSIN,NORTH,2,NAD27,4801,32052 -14802,WISCONSIN,CENTRAL,2,NAD27,4802,32053 -14803,WISCONSIN,SOUTH,2,NAD27,4803,32054 -14901,WYOMING,EAST,1,NAD27,4901,32055 -14902,WYOMING,"EAST CENTRAL",1,NAD27,4902,32056 -14903,WYOMING,"WEST CENTRAL",1,NAD27,4903,32057 -14904,WYOMING,WEST,1,NAD27,4904,32058 -15001,ALASKA,"ZONE NO. 1",4,NAD27,5001,26731 -15002,ALASKA,"ZONE NO. 2",1,NAD27,5002,26732 -15003,ALASKA,"ZONE NO. 3",1,NAD27,5003,26733 -15004,ALASKA,"ZONE NO. 4",1,NAD27,5004,26734 -15005,ALASKA,"ZONE NO. 5",1,NAD27,5005,26735 -15006,ALASKA,"ZONE NO. 6",1,NAD27,5006,26736 -15007,ALASKA,"ZONE NO. 7",1,NAD27,5007,26737 -15008,ALASKA,"ZONE NO. 8",1,NAD27,5008,26738 -15009,ALASKA,"ZONE NO. 9",1,NAD27,5009,26739 -15010,ALASKA,"ZONE NO. 10",2,NAD27,5010,26740 -15101,HAWAII,1,1,NAD27,5101,3561 -15102,HAWAII,2,1,NAD27,5102,3562 -15103,HAWAII,3,1,NAD27,5103,3563 -15104,HAWAII,4,1,NAD27,5104,3564 -15105,HAWAII,5,1,NAD27,5105,3565 -15201,"PUERTO RICO AND VIRGIN ISLANDS",,2,NAD27,5201,3991 -15202,"VIRGIN ISLANDS","ST. CROIX",2,NAD27,5202,3992 -15300,"AMERICAN SAMOA",,2,NAD27,5300,2155 -15400,"GUAM ISLAND",,3,NAD27,5400, diff --git a/bin/gdal_data/trailer.dxf b/bin/gdal_data/trailer.dxf deleted file mode 100644 index c733047b..00000000 --- a/bin/gdal_data/trailer.dxf +++ /dev/null @@ -1,2162 +0,0 @@ - 0 -ENDSEC - 0 -SECTION - 2 -OBJECTS - 0 -DICTIONARY - 5 -C -330 -0 -100 -AcDbDictionary -281 - 1 - 3 -ACAD_GROUP -350 -D - 3 -ACAD_LAYOUT -350 -1A - 3 -ACAD_MLEADERSTYLE -350 -43 - 3 -ACAD_MLINESTYLE -350 -17 - 3 -ACAD_PLOTSETTINGS -350 -19 - 3 -ACAD_PLOTSTYLENAME -350 -E - 3 -ACAD_TABLESTYLE -350 -42 - 3 -ACAD_VISUALSTYLE -350 -2A - 0 -DICTIONARY - 5 -D -102 -{ACAD_REACTORS -330 -C -102 -} -330 -C -100 -AcDbDictionary -281 - 1 - 0 -DICTIONARY - 5 -1A -102 -{ACAD_REACTORS -330 -C -102 -} -330 -C -100 -AcDbDictionary -281 - 1 - 3 -Layout1 -350 -1E - 3 -Layout2 -350 -26 - 3 -Model -350 -22 - 0 -DICTIONARY - 5 -43 -102 -{ACAD_REACTORS -330 -C -102 -} -330 -C -100 -AcDbDictionary -281 - 1 - 0 -DICTIONARY - 5 -17 -102 -{ACAD_REACTORS -330 -C -102 -} -330 -C -100 -AcDbDictionary -281 - 1 - 3 -Standard -350 -18 - 0 -DICTIONARY - 5 -19 -102 -{ACAD_REACTORS -330 -C -102 -} -330 -C -100 -AcDbDictionary -281 - 1 - 0 -ACDBDICTIONARYWDFLT - 5 -E -102 -{ACAD_REACTORS -330 -C -102 -} -330 -C -100 -AcDbDictionary -281 - 1 - 3 -Normal -350 -F -100 -AcDbDictionaryWithDefault -340 -F - 0 -DICTIONARY - 5 -42 -102 -{ACAD_REACTORS -330 -C -102 -} -330 -C -100 -AcDbDictionary -281 - 1 - 0 -DICTIONARY - 5 -2A -102 -{ACAD_REACTORS -330 -C -102 -} -330 -C -100 -AcDbDictionary -281 - 1 - 3 -2dWireframe -350 -2F - 3 -3D Hidden -350 -31 - 3 -3dWireframe -350 -30 - 3 -Basic -350 -32 - 3 -Brighten -350 -36 - 3 -ColorChange -350 -3A - 3 -Conceptual -350 -34 - 3 -Dim -350 -35 - 3 -Facepattern -350 -39 - 3 -Flat -350 -2B - 3 -FlatWithEdges -350 -2C - 3 -Gouraud -350 -2D - 3 -GouraudWithEdges -350 -2E - 3 -Linepattern -350 -38 - 3 -Realistic -350 -33 - 3 -Thicken -350 -37 - 0 -LAYOUT - 5 -1E -102 -{ACAD_REACTORS -330 -1A -102 -} -330 -1A -100 -AcDbPlotSettings - 1 - - 2 -none_device - 4 - - 6 - - 40 -0.0 - 41 -0.0 - 42 -0.0 - 43 -0.0 - 44 -0.0 - 45 -0.0 - 46 -0.0 - 47 -0.0 - 48 -0.0 - 49 -0.0 -140 -0.0 -141 -0.0 -142 -1.0 -143 -1.0 - 70 - 688 - 72 - 0 - 73 - 0 - 74 - 5 - 7 - - 75 - 16 - 76 - 0 - 77 - 2 - 78 - 300 -147 -1.0 -148 -0.0 -149 -0.0 -100 -AcDbLayout - 1 -Layout1 - 70 - 1 - 71 - 1 - 10 -0.0 - 20 -0.0 - 11 -12.0 - 21 -9.0 - 12 -0.0 - 22 -0.0 - 32 -0.0 - 14 -1.000000000000000E+20 - 24 -1.000000000000000E+20 - 34 -1.000000000000000E+20 - 15 --1.000000000000000E+20 - 25 --1.000000000000000E+20 - 35 --1.000000000000000E+20 -146 -0.0 - 13 -0.0 - 23 -0.0 - 33 -0.0 - 16 -1.0 - 26 -0.0 - 36 -0.0 - 17 -0.0 - 27 -1.0 - 37 -0.0 - 76 - 0 -330 -1B - 0 -LAYOUT - 5 -26 -102 -{ACAD_REACTORS -330 -1A -102 -} -330 -1A -100 -AcDbPlotSettings - 1 - - 2 -none_device - 4 - - 6 - - 40 -0.0 - 41 -0.0 - 42 -0.0 - 43 -0.0 - 44 -0.0 - 45 -0.0 - 46 -0.0 - 47 -0.0 - 48 -0.0 - 49 -0.0 -140 -0.0 -141 -0.0 -142 -1.0 -143 -1.0 - 70 - 688 - 72 - 0 - 73 - 0 - 74 - 5 - 7 - - 75 - 16 - 76 - 0 - 77 - 2 - 78 - 300 -147 -1.0 -148 -0.0 -149 -0.0 -100 -AcDbLayout - 1 -Layout2 - 70 - 1 - 71 - 2 - 10 -0.0 - 20 -0.0 - 11 -0.0 - 21 -0.0 - 12 -0.0 - 22 -0.0 - 32 -0.0 - 14 -0.0 - 24 -0.0 - 34 -0.0 - 15 -0.0 - 25 -0.0 - 35 -0.0 -146 -0.0 - 13 -0.0 - 23 -0.0 - 33 -0.0 - 16 -1.0 - 26 -0.0 - 36 -0.0 - 17 -0.0 - 27 -1.0 - 37 -0.0 - 76 - 0 -330 -23 - 0 -LAYOUT - 5 -22 -102 -{ACAD_REACTORS -330 -1A -102 -} -330 -1A -100 -AcDbPlotSettings - 1 - - 2 -none_device - 4 - - 6 - - 40 -0.0 - 41 -0.0 - 42 -0.0 - 43 -0.0 - 44 -0.0 - 45 -0.0 - 46 -0.0 - 47 -0.0 - 48 -0.0 - 49 -0.0 -140 -0.0 -141 -0.0 -142 -1.0 -143 -1.0 - 70 - 1712 - 72 - 0 - 73 - 0 - 74 - 0 - 7 - - 75 - 0 - 76 - 0 - 77 - 2 - 78 - 300 -147 -1.0 -148 -0.0 -149 -0.0 -100 -AcDbLayout - 1 -Model - 70 - 1 - 71 - 0 - 10 -0.0 - 20 -0.0 - 11 -12.0 - 21 -9.0 - 12 -0.0 - 22 -0.0 - 32 -0.0 - 14 -30.0 - 24 -49.75 - 34 -0.0 - 15 -130.5 - 25 -163.1318914119703 - 35 -0.0 -146 -0.0 - 13 -0.0 - 23 -0.0 - 33 -0.0 - 16 -1.0 - 26 -0.0 - 36 -0.0 - 17 -0.0 - 27 -1.0 - 37 -0.0 - 76 - 0 -330 -1F -331 -29 - 0 -MLINESTYLE - 5 -18 -102 -{ACAD_REACTORS -330 -17 -102 -} -330 -17 -100 -AcDbMlineStyle - 2 -Standard - 70 - 0 - 3 - - 62 - 256 - 51 -90.0 - 52 -90.0 - 71 - 2 - 49 -0.5 - 62 - 256 - 6 -BYLAYER - 49 --0.5 - 62 - 256 - 6 -BYLAYER - 0 -ACDBPLACEHOLDER - 5 -F -102 -{ACAD_REACTORS -330 -E -102 -} -330 -E - 0 -VISUALSTYLE - 5 -2F -102 -{ACAD_REACTORS -330 -2A -102 -} -330 -2A -100 -AcDbVisualStyle - 2 -2dWireframe - 70 - 4 - 71 - 0 - 72 - 2 - 73 - 0 - 90 - 0 - 40 --0.6 - 41 --30.0 - 62 - 5 - 63 - 7 -421 - 16777215 - 74 - 1 - 91 - 4 - 64 - 7 - 65 - 257 - 75 - 1 -175 - 1 - 42 -1.0 - 92 - 0 - 66 - 257 - 43 -1.0 - 76 - 1 - 77 - 6 - 78 - 2 - 67 - 7 - 79 - 5 -170 - 0 -171 - 0 -290 - 0 -174 - 0 - 93 - 1 - 44 -0.0 -173 - 0 -291 - 0 - 45 -0.0 -1001 -ACAD -1000 -AcDbSavedByObjectVersion -1070 - 0 - 0 -VISUALSTYLE - 5 -31 -102 -{ACAD_REACTORS -330 -2A -102 -} -330 -2A -100 -AcDbVisualStyle - 2 -3D Hidden - 70 - 6 - 71 - 1 - 72 - 2 - 73 - 2 - 90 - 0 - 40 --0.6 - 41 --30.0 - 62 - 5 - 63 - 7 -421 - 16777215 - 74 - 2 - 91 - 2 - 64 - 7 - 65 - 257 - 75 - 2 -175 - 1 - 42 -40.0 - 92 - 0 - 66 - 257 - 43 -1.0 - 76 - 1 - 77 - 6 - 78 - 2 - 67 - 7 - 79 - 3 -170 - 0 -171 - 0 -290 - 0 -174 - 0 - 93 - 1 - 44 -0.0 -173 - 0 -291 - 0 - 45 -0.0 -1001 -ACAD -1000 -AcDbSavedByObjectVersion -1070 - 0 - 0 -VISUALSTYLE - 5 -30 -102 -{ACAD_REACTORS -330 -2A -102 -} -330 -2A -100 -AcDbVisualStyle - 2 -3dWireframe - 70 - 5 - 71 - 0 - 72 - 2 - 73 - 0 - 90 - 0 - 40 --0.6 - 41 --30.0 - 62 - 5 - 63 - 7 -421 - 16777215 - 74 - 1 - 91 - 4 - 64 - 7 - 65 - 257 - 75 - 1 -175 - 1 - 42 -1.0 - 92 - 0 - 66 - 257 - 43 -1.0 - 76 - 1 - 77 - 6 - 78 - 2 - 67 - 7 - 79 - 5 -170 - 0 -171 - 0 -290 - 0 -174 - 0 - 93 - 1 - 44 -0.0 -173 - 0 -291 - 0 - 45 -0.0 -1001 -ACAD -1000 -AcDbSavedByObjectVersion -1070 - 0 - 0 -VISUALSTYLE - 5 -32 -102 -{ACAD_REACTORS -330 -2A -102 -} -330 -2A -100 -AcDbVisualStyle - 2 -Basic - 70 - 7 - 71 - 1 - 72 - 0 - 73 - 1 - 90 - 0 - 40 --0.6 - 41 --30.0 - 62 - 5 - 63 - 7 -421 - 16777215 - 74 - 0 - 91 - 4 - 64 - 7 - 65 - 257 - 75 - 1 -175 - 1 - 42 -1.0 - 92 - 8 - 66 - 7 - 43 -1.0 - 76 - 1 - 77 - 6 - 78 - 2 - 67 - 7 - 79 - 5 -170 - 0 -171 - 0 -290 - 0 -174 - 0 - 93 - 1 - 44 -0.0 -173 - 0 -291 - 1 - 45 -0.0 -1001 -ACAD -1000 -AcDbSavedByObjectVersion -1070 - 0 - 0 -VISUALSTYLE - 5 -36 -102 -{ACAD_REACTORS -330 -2A -102 -} -330 -2A -100 -AcDbVisualStyle - 2 -Brighten - 70 - 12 - 71 - 2 - 72 - 2 - 73 - 0 - 90 - 0 - 40 --0.6 - 41 --30.0 - 62 - 5 - 63 - 7 -421 - 16777215 - 74 - 1 - 91 - 4 - 64 - 7 - 65 - 257 - 75 - 1 -175 - 1 - 42 -1.0 - 92 - 8 - 66 - 7 - 43 -1.0 - 76 - 1 - 77 - 6 - 78 - 2 - 67 - 7 - 79 - 5 -170 - 0 -171 - 0 -290 - 0 -174 - 0 - 93 - 1 - 44 -50.0 -173 - 0 -291 - 1 - 45 -0.0 -1001 -ACAD -1000 -AcDbSavedByObjectVersion -1070 - 0 - 0 -VISUALSTYLE - 5 -3A -102 -{ACAD_REACTORS -330 -2A -102 -} -330 -2A -100 -AcDbVisualStyle - 2 -ColorChange - 70 - 16 - 71 - 2 - 72 - 2 - 73 - 3 - 90 - 0 - 40 --0.6 - 41 --30.0 - 62 - 5 - 63 - 8 -421 - 8421504 - 74 - 1 - 91 - 4 - 64 - 7 - 65 - 257 - 75 - 1 -175 - 1 - 42 -1.0 - 92 - 8 - 66 - 8 -424 - 8421504 - 43 -1.0 - 76 - 1 - 77 - 6 - 78 - 2 - 67 - 7 - 79 - 5 -170 - 0 -171 - 0 -290 - 0 -174 - 0 - 93 - 1 - 44 -0.0 -173 - 0 -291 - 1 - 45 -0.0 -1001 -ACAD -1000 -AcDbSavedByObjectVersion -1070 - 0 - 0 -VISUALSTYLE - 5 -34 -102 -{ACAD_REACTORS -330 -2A -102 -} -330 -2A -100 -AcDbVisualStyle - 2 -Conceptual - 70 - 9 - 71 - 3 - 72 - 2 - 73 - 0 - 90 - 0 - 40 --0.6 - 41 --30.0 - 62 - 5 - 63 - 7 -421 - 16777215 - 74 - 2 - 91 - 2 - 64 - 7 - 65 - 257 - 75 - 1 -175 - 1 - 42 -40.0 - 92 - 8 - 66 - 7 - 43 -1.0 - 76 - 1 - 77 - 6 - 78 - 2 - 67 - 7 - 79 - 3 -170 - 0 -171 - 0 -290 - 0 -174 - 0 - 93 - 1 - 44 -0.0 -173 - 0 -291 - 0 - 45 -0.0 -1001 -ACAD -1000 -AcDbSavedByObjectVersion -1070 - 0 - 0 -VISUALSTYLE - 5 -35 -102 -{ACAD_REACTORS -330 -2A -102 -} -330 -2A -100 -AcDbVisualStyle - 2 -Dim - 70 - 11 - 71 - 2 - 72 - 2 - 73 - 0 - 90 - 0 - 40 --0.6 - 41 --30.0 - 62 - 5 - 63 - 7 -421 - 16777215 - 74 - 1 - 91 - 4 - 64 - 7 - 65 - 257 - 75 - 1 -175 - 1 - 42 -1.0 - 92 - 8 - 66 - 7 - 43 -1.0 - 76 - 1 - 77 - 6 - 78 - 2 - 67 - 7 - 79 - 5 -170 - 0 -171 - 0 -290 - 0 -174 - 0 - 93 - 1 - 44 --50.0 -173 - 0 -291 - 1 - 45 -0.0 -1001 -ACAD -1000 -AcDbSavedByObjectVersion -1070 - 0 - 0 -VISUALSTYLE - 5 -39 -102 -{ACAD_REACTORS -330 -2A -102 -} -330 -2A -100 -AcDbVisualStyle - 2 -Facepattern - 70 - 15 - 71 - 2 - 72 - 2 - 73 - 0 - 90 - 0 - 40 --0.6 - 41 --30.0 - 62 - 5 - 63 - 7 -421 - 16777215 - 74 - 1 - 91 - 4 - 64 - 7 - 65 - 257 - 75 - 1 -175 - 1 - 42 -1.0 - 92 - 8 - 66 - 7 - 43 -1.0 - 76 - 1 - 77 - 6 - 78 - 2 - 67 - 7 - 79 - 5 -170 - 0 -171 - 0 -290 - 0 -174 - 0 - 93 - 1 - 44 -0.0 -173 - 0 -291 - 1 - 45 -0.0 -1001 -ACAD -1000 -AcDbSavedByObjectVersion -1070 - 0 - 0 -VISUALSTYLE - 5 -2B -102 -{ACAD_REACTORS -330 -2A -102 -} -330 -2A -100 -AcDbVisualStyle - 2 -Flat - 70 - 0 - 71 - 2 - 72 - 1 - 73 - 1 - 90 - 2 - 40 --0.6 - 41 -30.0 - 62 - 5 - 63 - 7 -421 - 16777215 - 74 - 0 - 91 - 4 - 64 - 7 - 65 - 257 - 75 - 1 -175 - 1 - 42 -1.0 - 92 - 8 - 66 - 7 - 43 -1.0 - 76 - 1 - 77 - 6 - 78 - 2 - 67 - 7 - 79 - 5 -170 - 0 -171 - 0 -290 - 0 -174 - 0 - 93 - 13 - 44 -0.0 -173 - 0 -291 - 1 - 45 -0.0 -1001 -ACAD -1000 -AcDbSavedByObjectVersion -1070 - 0 - 0 -VISUALSTYLE - 5 -2C -102 -{ACAD_REACTORS -330 -2A -102 -} -330 -2A -100 -AcDbVisualStyle - 2 -FlatWithEdges - 70 - 1 - 71 - 2 - 72 - 1 - 73 - 1 - 90 - 2 - 40 --0.6 - 41 -30.0 - 62 - 5 - 63 - 7 -421 - 16777215 - 74 - 1 - 91 - 4 - 64 - 7 - 65 - 257 - 75 - 1 -175 - 1 - 42 -1.0 - 92 - 0 - 66 - 257 - 43 -1.0 - 76 - 1 - 77 - 6 - 78 - 2 - 67 - 7 - 79 - 5 -170 - 0 -171 - 0 -290 - 0 -174 - 0 - 93 - 13 - 44 -0.0 -173 - 0 -291 - 1 - 45 -0.0 -1001 -ACAD -1000 -AcDbSavedByObjectVersion -1070 - 0 - 0 -VISUALSTYLE - 5 -2D -102 -{ACAD_REACTORS -330 -2A -102 -} -330 -2A -100 -AcDbVisualStyle - 2 -Gouraud - 70 - 2 - 71 - 2 - 72 - 2 - 73 - 1 - 90 - 2 - 40 --0.6 - 41 -30.0 - 62 - 5 - 63 - 7 -421 - 16777215 - 74 - 0 - 91 - 4 - 64 - 7 - 65 - 257 - 75 - 1 -175 - 1 - 42 -1.0 - 92 - 0 - 66 - 7 - 43 -1.0 - 76 - 1 - 77 - 6 - 78 - 2 - 67 - 7 - 79 - 5 -170 - 0 -171 - 0 -290 - 0 -174 - 0 - 93 - 13 - 44 -0.0 -173 - 0 -291 - 1 - 45 -0.0 -1001 -ACAD -1000 -AcDbSavedByObjectVersion -1070 - 0 - 0 -VISUALSTYLE - 5 -2E -102 -{ACAD_REACTORS -330 -2A -102 -} -330 -2A -100 -AcDbVisualStyle - 2 -GouraudWithEdges - 70 - 3 - 71 - 2 - 72 - 2 - 73 - 1 - 90 - 2 - 40 --0.6 - 41 -30.0 - 62 - 5 - 63 - 7 -421 - 16777215 - 74 - 1 - 91 - 4 - 64 - 7 - 65 - 257 - 75 - 1 -175 - 1 - 42 -1.0 - 92 - 0 - 66 - 257 - 43 -1.0 - 76 - 1 - 77 - 6 - 78 - 2 - 67 - 7 - 79 - 5 -170 - 0 -171 - 0 -290 - 0 -174 - 0 - 93 - 13 - 44 -0.0 -173 - 0 -291 - 1 - 45 -0.0 -1001 -ACAD -1000 -AcDbSavedByObjectVersion -1070 - 0 - 0 -VISUALSTYLE - 5 -38 -102 -{ACAD_REACTORS -330 -2A -102 -} -330 -2A -100 -AcDbVisualStyle - 2 -Linepattern - 70 - 14 - 71 - 2 - 72 - 2 - 73 - 0 - 90 - 0 - 40 --0.6 - 41 --30.0 - 62 - 5 - 63 - 7 -421 - 16777215 - 74 - 1 - 91 - 4 - 64 - 7 - 65 - 257 - 75 - 7 -175 - 7 - 42 -1.0 - 92 - 8 - 66 - 7 - 43 -1.0 - 76 - 1 - 77 - 6 - 78 - 2 - 67 - 7 - 79 - 5 -170 - 0 -171 - 0 -290 - 0 -174 - 0 - 93 - 1 - 44 -0.0 -173 - 0 -291 - 1 - 45 -0.0 -1001 -ACAD -1000 -AcDbSavedByObjectVersion -1070 - 0 - 0 -VISUALSTYLE - 5 -33 -102 -{ACAD_REACTORS -330 -2A -102 -} -330 -2A -100 -AcDbVisualStyle - 2 -Realistic - 70 - 8 - 71 - 2 - 72 - 2 - 73 - 0 - 90 - 0 - 40 --0.6 - 41 --30.0 - 62 - 5 - 63 - 7 -421 - 16777215 - 74 - 1 - 91 - 0 - 64 - 7 - 65 - 257 - 75 - 1 -175 - 1 - 42 -1.0 - 92 - 8 - 66 - 8 -424 - 7895160 - 43 -1.0 - 76 - 1 - 77 - 6 - 78 - 2 - 67 - 7 - 79 - 5 -170 - 0 -171 - 0 -290 - 0 -174 - 0 - 93 - 13 - 44 -0.0 -173 - 0 -291 - 0 - 45 -0.0 -1001 -ACAD -1000 -AcDbSavedByObjectVersion -1070 - 0 - 0 -VISUALSTYLE - 5 -37 -102 -{ACAD_REACTORS -330 -2A -102 -} -330 -2A -100 -AcDbVisualStyle - 2 -Thicken - 70 - 13 - 71 - 2 - 72 - 2 - 73 - 0 - 90 - 0 - 40 --0.6 - 41 --30.0 - 62 - 5 - 63 - 7 -421 - 16777215 - 74 - 1 - 91 - 4 - 64 - 7 - 65 - 257 - 75 - 1 -175 - 1 - 42 -1.0 - 92 - 12 - 66 - 7 - 43 -1.0 - 76 - 1 - 77 - 6 - 78 - 2 - 67 - 7 - 79 - 5 -170 - 0 -171 - 0 -290 - 0 -174 - 0 - 93 - 1 - 44 -0.0 -173 - 0 -291 - 1 - 45 -0.0 -1001 -ACAD -1000 -AcDbSavedByObjectVersion -1070 - 0 - 0 -ENDSEC - 0 -EOF diff --git a/bin/gdal_data/unit_of_measure.csv b/bin/gdal_data/unit_of_measure.csv deleted file mode 100644 index 28c41b79..00000000 --- a/bin/gdal_data/unit_of_measure.csv +++ /dev/null @@ -1,97 +0,0 @@ -uom_code,unit_of_meas_name,unit_of_meas_type,target_uom_code,factor_b,factor_c,remarks,information_source,data_source,revision_date,change_id,deprecated -1024,bin,scale,9201,1,1,,OGP,OGP,2012/07/14,2011.106,0 -1025,millimetre,length,9001,1,1000,,ISO 1000.,IOGP,2015/11/25,2013.021 2015.062,0 -1026,metres per second,length,1026,1,1,Length rate.,OGP,IOGP,2015/11/25,2013.021 2015.062,0 -1027,millimetres per year,length,1026,1,31556925445,"Year taken to be IUGS definition of 31556925.445 seconds; see UoM code 1029.",ISO 1000.,OGP,2013/09/02,2013.021 2013.042,0 -1028,parts per billion,scale,9201,1,1000000000,"Billion is internationally ambiguous, in different languages being 1E+9 and 1E+12. One billion taken here to be 1E+9.",OGP,OGP,2013/05/29,2013.021,0 -1029,year,time,1040,31556925.445,1,,"International Union of Geological Sciences (IUGS) and International Union of Pure and Applied Chemistry (IUPAC). Pure Appl. Chem., Vol. 83, No. 5, pp. 1159–1162, 2011.",OGP,2013/05/28,2013.021,0 -1030,parts per billion per year,scale,1036,1,3.1556925445e+16,"Year taken to be IUGS definition of 31556925.445 seconds; see UoM code 1029. Billion is internationally ambiguous, in different languages being 1E+9 and 1E+12. One billion taken here to be 1E+9.",ISO 1000.,IOGP,2015/06/24,2013.021 2013.042 2013.067 2015.036,0 -1031,milliarc-second,angle,9101,3.14159265358979,648000000,= ((pi/180) / 3600 / 1000) radians,,IOGP,2015/11/25,2013.021 2015.062,0 -1032,milliarc-seconds per year,angle,1035,3.14159265358979,2.044888768836e+16,"= ((pi/180) / 3600 / 1000) radians per year. Year taken to be IUGS definition of 31556925.445 seconds; see UoM code 1029.",,OGP,2013/09/02,2013.021 2013.042,0 -1033,centimetre,length,9001,1,100,,ISO 1000.,IOGP,2015/11/25,2013.021 2015.062,0 -1034,centimetres per year,length,1026,1,3155692544.5,"Year taken to be IUGS definition of 31556925.445 seconds; see UoM code 1029.",ISO 1000.,OGP,2013/09/02,2013.021 2013.042,0 -1035,radians per second,angle,1035,1,1,Angle rate.,OGP,IOGP,2015/11/25,2013.021 2015.062,0 -1036,unity per second,scale,1036,1,1,Scale rate.,OGP,OGP,2013/05/29,2013.021,0 -1040,second,time,1040,1,1,Not to be confused with the angle unit arc-second.,ISO 1000.,IOGP,2015/11/25,2013.021 2015.062,0 -1041,parts per million per year,scale,1036,1,31556925445000,"Year taken to be IUGS definition of 31556925.445 seconds; see UoM code 1029.",,OGP,2013/09/02,2013.021 2013.037 2013.042,0 -1042,metres per year,length,1026,1,31556925.445,"Year taken to be IUGS definition of 31556925.445 seconds; see UoM code 1029.",OGP,OGP,2013/09/02,2013.021 2013.042,0 -1043,arc-seconds per year,angle,1035,3.14159265358979,20448887688360,"=((pi/180) / 3600) radians per year. Year taken to be IUGS definition of 31556925.445 seconds; see UoM code 1029.",,IOGP,2015/03/06,2013.021 2013.042 2015.014,0 -9001,metre,length,9001,1,1,Also known as International metre. SI standard unit.,ISO 1000.,IOGP,2015/11/25,2015.062,0 -9002,foot,length,9001,0.3048,1,,"ISO 1000; 1958",IOGP,2015/11/25,2015.062,0 -9003,US survey foot,length,9001,12,39.37,Used in USA.,OGP,IOGP,2015/11/25,1999.990 2015.062,0 -9005,Clarke's foot,length,9001,0.3047972654,1,"Assumes Clarke's 1865 ratio of 1 British foot = 0.3047972654 French legal metres applies to the international metre. Used in older Australian, southern African & British West Indian mapping.",Australian Land Information Group www.auslig.gov.au,IOGP,2015/11/25,1997.233 1999.990 2000.050 2005.370 2005.460 2015.062,0 -9014,fathom,length,9001,1.8288,1,= 6 feet.,,IOGP,2015/11/25,2015.062,0 -9030,nautical mile,length,9001,1852,1,,,IOGP,2015/11/25,1996.240 2015.062,0 -9031,German legal metre,length,9001,1.0000135965,1,Used in Namibia.,"Chief Directorate Surveys and Land Information; Mowbray; South Africa",IOGP,2015/11/25,2015.062,0 -9033,US survey chain,length,9001,792,39.37,Used in USA primarily for public lands cadastral work.,Bureau of Land Management technical bulletin 6 (1973) and Standard Field Tables 8th edition (1956).,IOGP,2015/11/25,1999.990 2015.062,0 -9034,US survey link,length,9001,7.92,39.37,Used in USA primarily for public lands cadastral work.,Bureau of Land Management technical bulletin 6 (1973) and Standard Field Tables 8th edition (1956).,IOGP,2015/11/25,1999.990 2015.062,0 -9035,US survey mile,length,9001,63360,39.37,Used in USA primarily for public lands cadastral work.,Bureau of Land Management technical bulletin 6 (1973) and Standard Field Tables 8th edition (1956).,IOGP,2015/11/25,1999.990 2015.062,0 -9036,kilometre,length,9001,1000,1,,ISO 1000.,IOGP,2015/11/25,2015.062,0 -9037,Clarke's yard,length,9001,0.9143917962,1,"=3 Clarke's feet. Assumes Clarke's 1865 ratio of 1 British foot = 0.3047972654 French legal metres applies to the international metre. Used in older Australian, southern African & British West Indian mapping.",Australian Land Information Group www.auslig.gov.au,IOGP,2015/11/25,1997.233 1999.990 2005.370 2005.460 2015.062,0 -9038,Clarke's chain,length,9001,20.1166195164,1,"=22 Clarke's yards. Assumes Clarke's 1865 ratio of 1 British foot = 0.3047972654 French legal metres applies to the international metre. Used in older Australian, southern African & British West Indian mapping.",Australian Land Information Group www.auslig.gov.au,IOGP,2015/11/25,1997.233 1999.990 2005.370 2005.460 2015.062,0 -9039,Clarke's link,length,9001,0.201166195164,1,"=1/100 Clarke's chain. Assumes Clarke's 1865 ratio of 1 British foot = 0.3047972654 French legal metres applies to the international metre. Used in older Australian, southern African & British West Indian mapping.",Australian Land Information Group www.auslig.gov.au,IOGP,2015/11/25,1997.233 1999.990 2005.370 2005.460 2015.062,0 -9040,British yard (Sears 1922),length,9001,36,39.370147,Uses Sear's 1922 British yard-metre ratio as given by Bomford as 39.370147 inches per metre. Used in East Malaysian and older New Zealand mapping.,"G. Bomford ""Geodesy"" 2nd edition 1962; after J.S.Clark ""Remeasurement of the Old Length Standards""; Empire Survey Review no. 90; 1953.",IOGP,2015/11/25,1997.233 1999.990 2015.062,0 -9041,British foot (Sears 1922),length,9001,12,39.370147,Uses Sear's 1922 British yard-metre ratio as given by Bomford as 39.370147 inches per metre. Used in East Malaysian and older New Zealand mapping.,"G. Bomford ""Geodesy"" 2nd edition 1962; after J.S.Clark ""Remeasurement of the Old Length Standards""; Empire Survey Review no. 90; 1953.",IOGP,2015/11/25,1997.233 1999.990 2015.062,0 -9042,British chain (Sears 1922),length,9001,792,39.370147,Uses Sear's 1922 British yard-metre ratio as given by Bomford as 39.370147 inches per metre. Used in East Malaysian and older New Zealand mapping.,"G. Bomford ""Geodesy"" 2nd edition 1962; after J.S.Clark ""Remeasurement of the Old Length Standards""; Empire Survey Review no. 90; 1953.",IOGP,2015/11/25,1997.233 1999.990 2015.062,0 -9043,British link (Sears 1922),length,9001,7.92,39.370147,Uses Sear's 1922 British yard-metre ratio as given by Bomford as 39.370147 inches per metre. Used in East Malaysian and older New Zealand mapping.,"G. Bomford ""Geodesy"" 2nd edition 1962; after J.S.Clark ""Remeasurement of the Old Length Standards""; Empire Survey Review no. 90; 1953.",IOGP,2015/11/25,1997.233 1999.990 2015.062,0 -9050,British yard (Benoit 1895 A),length,9001,0.9143992,1,Uses Benoit's 1895 British yard-metre ratio as given by Clark as 0.9143992 metres per yard. Used for deriving metric size of ellipsoid in Palestine.,"J.S.Clark; ""Remeasurement of the Old Length Standards""; Empire Survey Review no. 90; 1953.",IOGP,2015/11/25,1997.233 1999.990 2006.260 2015.062,0 -9051,British foot (Benoit 1895 A),length,9001,0.9143992,3,Uses Benoit's 1895 British yard-metre ratio as given by Clark as 0.9143992 metres per yard. Used for deriving metric size of ellipsoid in Palestine.,"J.S.Clark; ""Remeasurement of the Old Length Standards""; Empire Survey Review no. 90; 1953.",IOGP,2015/11/25,1997.233 1999.990 2006.260 2015.062,0 -9052,British chain (Benoit 1895 A),length,9001,20.1167824,1,Uses Benoit's 1895 British yard-metre ratio as given by Clark as 0.9143992 metres per yard. Used for deriving metric size of ellipsoid in Palestine.,"J.S.Clark; ""Remeasurement of the Old Length Standards""; Empire Survey Review no. 90; 1953.",IOGP,2015/11/25,1997.233 1999.990 2006.260 2015.062,0 -9053,British link (Benoit 1895 A),length,9001,0.201167824,1,Uses Benoit's 1895 British yard-metre ratio as given by Clark as 0.9143992 metres per yard. Used for deriving metric size of ellipsoid in Palestine.,"J.S.Clark; ""Remeasurement of the Old Length Standards""; Empire Survey Review no. 90; 1953.",IOGP,2015/11/25,1997.233 1999.990 2006.260 2015.062,0 -9060,British yard (Benoit 1895 B),length,9001,36,39.370113,"G. Bomford ""Geodesy"" 2nd edition 1962; after J.S.Clark ""Remeasurement of the Old Length Standards""; Empire Survey Review no. 90; 1953.","G. Bomford ""Geodesy"" 2nd edition 1962; after J.S.Clark ""Remeasurement of the Old Length Standards""; Empire Survey Review no. 90; 1953.",IOGP,2015/11/25,1997.233 1999.990 2015.062,0 -9061,British foot (Benoit 1895 B),length,9001,12,39.370113,Uses Benoit's 1895 British yard-metre ratio as given by Bomford as 39.370113 inches per metre. Used in West Malaysian mapping.,"G. Bomford ""Geodesy"" 2nd edition 1962; after J.S.Clark ""Remeasurement of the Old Length Standards""; Empire Survey Review no. 90; 1953.",IOGP,2015/11/25,1997.233 1999.990 2015.062,0 -9062,British chain (Benoit 1895 B),length,9001,792,39.370113,Uses Benoit's 1895 British yard-metre ratio as given by Bomford as 39.370113 inches per metre. Used in West Malaysian mapping.,"G. Bomford ""Geodesy"" 2nd edition 1962; after J.S.Clark ""Remeasurement of the Old Length Standards""; Empire Survey Review no. 90; 1953.",IOGP,2015/11/25,1997.233 1999.990 2015.062,0 -9063,British link (Benoit 1895 B),length,9001,7.92,39.370113,Uses Benoit's 1895 British yard-metre ratio as given by Bomford as 39.370113 inches per metre. Used in West Malaysian mapping.,"G. Bomford; ""Geodesy""; 3rd edition 1975",IOGP,2015/11/25,1997.233 1999.990 2015.062,0 -9070,British foot (1865),length,9001,0.9144025,3,Uses Clark's estimate of 1853-1865 British foot-metre ratio of 0.9144025 metres per yard. Used in 1962 and 1975 estimates of Indian foot.,"J.S.Clark; ""Remeasurement of the Old Length Standards""; Empire Survey Review no. 90; 1953.",IOGP,2015/11/25,1997.233 1999.990 2015.062,0 -9080,Indian foot,length,9001,12,39.370142,Indian Foot = 0.99999566 British feet (A.R.Clarke 1865). British yard (= 3 British feet) taken to be J.S.Clark's 1865 value of 0.9144025 metres.,"G. Bomford; ""The Re-adjustment of the Indian Triangulation""; Survey of India Professional Paper 28; 1939.",IOGP,2015/11/25,1997.231 1999.990 2015.062,0 -9081,Indian foot (1937),length,9001,0.30479841,1,Indian Foot = 0.99999566 British feet (A.R.Clarke 1865). British foot taken to be 1895 Benoit value of 12/39.370113m. Rounded to 8 decimal places as 0.30479841. Used from Bangladesh to Vietnam. Previously used in India and Pakistan but superseded.,"G. Bomford; ""The Re-adjustment of the Indian Triangulation""; Survey of India Professional Paper 28; 1939.",IOGP,2015/11/25,1997.231 1999.990 2015.062,0 -9082,Indian foot (1962),length,9001,0.3047996,1,Indian Foot = 0.99999566 British feet (A.R.Clarke 1865). British yard (3 feet) taken to be J.S. Clark's 1865 value of 0.9144025m. Rounded to 7 significant figures with a small error as 1 Ind ft=0.3047996m. Used in Pakistan since metrication.,"G. Bomford; ""Geodesy""; 2nd edition 1962",IOGP,2015/11/25,1997.231 1999.990 2007.011 2015.062,0 -9083,Indian foot (1975),length,9001,0.3047995,1,Indian Foot = 0.99999566 British feet (A.R.Clarke 1865). British yard (3 feet) taken to be J.S. Clark's 1865 value of 0.9144025m. Rounded to 7 significant figures as 1 Ind ft=0.3047995m. Used in India since metrication.,"G. Bomford; ""Geodesy""; 3rd edition 1975",IOGP,2015/11/25,1997.231 1999.990 2007.011 2015.062,0 -9084,Indian yard,length,9001,36,39.370142,Indian Foot = 0.99999566 British feet (A.R.Clarke 1865). British yard (= 3 British feet) taken to be J.S.Clark's 1865 value of 0.9144025 metres.,"G. Bomford; ""The Re-adjustment of the Indian Triangulation""; Survey of India Professional Paper 28; 1939.",IOGP,2015/11/25,1997.231 1999.990 2015.062,0 -9085,Indian yard (1937),length,9001,0.91439523,1,Indian Foot = 0.99999566 British feet (A.R.Clarke 1865). British foot taken to be 1895 Benoit value of 12/39.370113m. Rounded to 8 decimal places as 0.30479841. Used from Bangladesh to Vietnam. Previously used in India and Pakistan but superseded.,"G. Bomford; ""The Re-adjustment of the Indian Triangulation""; Survey of India Professional Paper 28; 1939.",IOGP,2015/11/25,1997.231 1999.990 2015.062,0 -9086,Indian yard (1962),length,9001,0.9143988,1,Indian Foot = 0.99999566 British feet (A.R.Clarke 1865). British yard (3 feet) taken to be J.S. Clark's 1865 value of 0.9144025m. Rounded to 7 significant figures with a small error as 1 Ind ft=0.3047996m. Used in Pakistan since metrication.,"G. Bomford; ""Geodesy""; 2nd edition 1962",IOGP,2015/11/25,1997.231 1999.990 2007.011 2015.062,0 -9087,Indian yard (1975),length,9001,0.9143985,1,Indian Foot = 0.99999566 British feet (A.R.Clarke 1865). British yard (3 feet) taken to be J.S. Clark's 1865 value of 0.9144025m. Rounded to 7 significant figures as 1 Ind ft=0.3047995m. Used in India since metrication.,"G. Bomford; ""Geodesy""; 3rd edition 1975",IOGP,2015/11/25,1997.231 1999.990 2007.011 2015.062,0 -9093,Statute mile,length,9001,1609.344,1,=5280 feet,OGP,IOGP,2015/11/25,2015.062,0 -9094,Gold Coast foot,length,9001,6378300,20926201,"Used in Ghana and some adjacent parts of British west Africa prior to metrication, except for the metrication of projection defining parameters when British foot (Sears 1922) used.",Ordnance Survey International,IOGP,2015/11/25,2000.861 2015.062,0 -9095,British foot (1936),length,9001,0.3048007491,1,For the 1936 retriangulation OSGB defines the relationship of 10 feet of 1796 to the International metre through the logarithmic relationship (10^0.48401603 exactly). 1 ft = 0.3048007491…m. Also used for metric conversions in Ireland.,"1. ""The Retriangulation of Great Britain"", Ordnance Survey of Great Britain. -2. ""The Irish Grid - A Description of the Co-ordinate Reference System"" published by Ordnance Survey of Ireland, Dublin and Ordnance Survey of Northern Ireland, Belfast.",IOGP,2015/11/25,2002.621 2006.932 2015.062,0 -9096,yard,length,9001,0.9144,1,=3 international feet.,OGP,IOGP,2015/11/25,2015.062,0 -9097,chain,length,9001,20.1168,1,=22 international yards or 66 international feet.,OGP,IOGP,2015/11/25,2015.062,0 -9098,link,length,9001,20.1168,100,=1/100 international chain.,OGP,IOGP,2015/11/25,2015.062,0 -9099,British yard (Sears 1922 truncated),length,9001,0.914398,1,Uses Sear's 1922 British yard-metre ratio (UoM code 9040) truncated to 6 significant figures.,Defence Geographic Centre,IOGP,2015/11/25,2006.901 2015.062,0 -9101,radian,angle,9101,1,1,SI standard unit.,ISO 1000:1992,IOGP,2015/11/25,2015.062,0 -9102,degree,angle,9101,3.14159265358979,180,= pi/180 radians,,IOGP,2015/11/25,1996.220 2002.860 2015.062,0 -9103,arc-minute,angle,9101,3.14159265358979,10800,1/60th degree = ((pi/180) / 60) radians,,IOGP,2015/11/25,1996.220 2002.860 2015.062,0 -9104,arc-second,angle,9101,3.14159265358979,648000,1/60th arc-minute = ((pi/180) / 3600) radians,,IOGP,2015/11/25,1996.220 2002.860 2015.062,0 -9105,grad,angle,9101,3.14159265358979,200,=pi/200 radians.,OGP,IOGP,2015/11/25,1996.220 1999.050 2002.860 2015.062,0 -9106,gon,angle,9101,3.14159265358979,200,=pi/200 radians,,OGP,2002/11/18,1996.220 2002.860 2015.062,1 -9107,degree minute second,angle,9102,,,"Degree representation. Format: signed degrees (integer) - arc-minutes (integer) - arc-seconds (real, any precision). Different symbol sets are in use as field separators, for example º ' "". Convert to degrees using algorithm.",OGP,IOGP,2015/11/25,1996.190 2002.070 2002.780 2015.062,0 -9108,degree minute second hemisphere,angle,9102,,,"Degree representation. Format: degrees (integer) - arc-minutes (integer) - arc-seconds (real) - hemisphere abbreviation (single character N S E or W). Different symbol sets are in use as field separators for example º ' "". Convert to deg using algorithm.",OGP,IOGP,2015/11/25,1996.190 2002.070 2002.780 2015.062,0 -9109,microradian,angle,9101,1,1000000,rad * 10E-6,ISO 1000.,OGP,1996/10/18,1999.050,0 -9110,sexagesimal DMS,angle,9102,,,Pseudo unit. Format: signed degrees - period - minutes (2 digits) - integer seconds (2 digits) - fraction of seconds (any precision). Must include leading zero in minutes and seconds and exclude decimal point for seconds. Convert to deg using algorithm.,OGP,IOGP,2016/12/15,2002.270 2002.780 2008.020 2015.062 2016.047,0 -9111,sexagesimal DM,angle,9102,,,Pseudo unit. Format: signed degrees - period - integer minutes (2 digits) - fraction of minutes (any precision). Must include leading zero in minutes and exclude decimal point for minutes. Convert to degree using algorithm.,OGP,IOGP,2016/12/15,2002.070 2002.780 2015.062 2016.047,0 -9112,centesimal minute,angle,9101,3.14159265358979,20000,1/100 of a grad and gon = ((pi/200) / 100) radians,http://www.geodesy.matav.hu/,IOGP,2015/11/25,1998.480 1999.510 2002.860 2005.460 2015.062,0 -9113,centesimal second,angle,9101,3.14159265358979,2000000,"1/100 of a centesimal minute or 1/10,000th of a grad and gon = ((pi/200) / 10000) radians",http://www.geodesy.matav.hu/,IOGP,2015/11/25,1999.510 2002.860 2005.460 2015.062,0 -9114,mil_6400,angle,9101,3.14159265358979,3200,Angle subtended by 1/6400 part of a circle. Approximates to 1/1000th radian. Note that other approximations (notably 1/6300 circle and 1/6000 circle) also exist.,http://www.geodesy.matav.hu/,IOGP,2015/11/25,1999.510 2005.460 2015.062,0 -9115,degree minute,angle,9102,,,"Degree representation. Format: signed degrees (integer) - arc-minutes (real, any precision). Different symbol sets are in use as field separators, for example º '. Convert to degrees using algorithm.",OGP,IOGP,2015/11/25,2002.780 2015.062,0 -9116,degree hemisphere,angle,9102,,,"Degree representation. Format: degrees (real, any precision) - hemisphere abbreviation (single character N S E or W). Convert to degrees using algorithm.",OGP,IOGP,2015/11/25,2015.062,0 -9117,hemisphere degree,angle,9102,,,"Degree representation. Format: hemisphere abbreviation (single character N S E or W) - degrees (real, any precision). Convert to degrees using algorithm.",OGP,IOGP,2015/11/25,2015.062,0 -9118,degree minute hemisphere,angle,9102,,,"Degree representation. Format: degrees (integer) - arc-minutes (real, any precision) - hemisphere abbreviation (single character N S E or W). Different symbol sets are in use as field separators, for example º '. Convert to degrees using algorithm.",OGP,IOGP,2015/11/25,2015.062,0 -9119,hemisphere degree minute,angle,9102,,,"Degree representation. Format: hemisphere abbreviation (single character N S E or W) - degrees (integer) - arc-minutes (real, any precision). Different symbol sets are in use as field separators, for example º '. Convert to degrees using algorithm.",OGP,IOGP,2015/11/25,2015.062,0 -9120,hemisphere degree minute second,angle,9102,,,"Degree representation. Format: hemisphere abbreviation (single character N S E or W) - degrees (integer) - arc-minutes (integer) - arc-seconds (real). Different symbol sets are in use as field separators for example º ' "". Convert to deg using algorithm.",OGP,IOGP,2015/11/25,2015.062,0 -9121,sexagesimal DMS.s,angle,9104,,,Pseudo unit. Format: signed degrees - minutes (2 digits) - integer seconds (2 digits) - period - fraction of seconds (any precision). Must include leading zero in minutes and seconds and include decimal point for seconds. Convert to deg using algorithm.,ISO 6709:1983.,IOGP,2016/12/15,2015.062 2016.047,0 -9122,degree (supplier to define representation),angle,9101,3.14159265358979,180,"= pi/180 radians. The degree representation (e.g. decimal, DMSH, etc.) must be clarified by suppliers of data associated with this code.",OGP,IOGP,2015/11/25,2015.062,0 -9201,unity,scale,9201,1,1,,,IOGP,2015/11/25,2015.062,0 -9202,parts per million,scale,9201,1,1000000,,,IOGP,2015/11/25,2013.021 2013.037 2015.062,0 -9203,coefficient,scale,9201,1,1,Used when parameters are coefficients. They inherently take the units which depend upon the term to which the coefficient applies.,OGP,OGP,2004/09/14,2004.530,0 -9204,Bin width 330 US survey feet,length,9001,3960,39.37,,OGP,OGP,2000/10/19,2000.590 2011.106,1 -9205,Bin width 165 US survey feet,length,9001,1980,39.37,,OGP,OGP,2000/10/19,2000.590 2011.106,1 -9206,Bin width 82.5 US survey feet,length,9001,990,39.37,,OGP,OGP,2000/10/19,2000.590 2011.106,1 -9207,Bin width 37.5 metres,length,9001,37.5,1,,OGP,OGP,2000/10/19,2000.590 2011.106,1 -9208,Bin width 25 metres,length,9001,25,1,,OGP,OGP,2000/10/19,2000.590 2011.106,1 -9209,Bin width 12.5 metres,length,9001,12.5,1,,OGP,OGP,2000/10/19,2000.590 2011.106,1 -9210,Bin width 6.25 metres,length,9001,6.25,1,,OGP,OGP,2000/10/19,2000.590 2011.106,1 -9211,Bin width 3.125 metres,length,9001,3.125,1,,OGP,OGP,2000/10/19,2000.590 2011.106,1 -9300,British foot (Sears 1922 truncated),length,9001,0.914398,3,"Uses Sear's 1922 British yard-metre ratio (UoM code 9040) truncated to 6 significant figures; this truncated ratio (0.914398, UoM code 9099) then converted to other imperial units. 3 ftSe(T) = 1 ydSe(T).",Defence Geographic Centre,IOGP,2015/11/25,2006.901 2015.062,0 -9301,British chain (Sears 1922 truncated),length,9001,20.116756,1,"Uses Sear's 1922 British yard-metre ratio (UoM code 9040) truncated to 6 significant figures; this truncated ratio (0.914398, UoM code 9099) then converted to other imperial units. 1 chSe(T) = 22 ydSe(T). Used in metrication of Malaya RSO grid.",Defence Geographic Centre,IOGP,2015/11/25,2006.901 2015.062,0 -9302,British link (Sears 1922 truncated),length,9001,20.116756,100,"Uses Sear's 1922 British yard-metre ratio (UoM code 9040) truncated to 6 significant figures; this truncated ratio (0.914398, UoM code 9099) then converted to other imperial units. 100 lkSe(T) = 1 chSe(T).",Defence Geographic Centre,IOGP,2015/11/25,2006.901 2015.062,0 diff --git a/bin/gdal_data/vdv452.xml b/bin/gdal_data/vdv452.xml deleted file mode 100644 index d010fa0d..00000000 --- a/bin/gdal_data/vdv452.xml +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/gdal_data/vdv452.xsd b/bin/gdal_data/vdv452.xsd deleted file mode 100644 index a42774bf..00000000 --- a/bin/gdal_data/vdv452.xsd +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/gdal_data/vertcs.csv b/bin/gdal_data/vertcs.csv deleted file mode 100644 index 9fdc7638..00000000 --- a/bin/gdal_data/vertcs.csv +++ /dev/null @@ -1,193 +0,0 @@ -"COORD_REF_SYS_CODE","COORD_REF_SYS_NAME","DATUM_CODE","DATUM_NAME","UOM_CODE","SHOW_CRS","DEPRECATED","COORD_SYS_CODE","COORD_OP_METHOD_CODE_1","PARM_1_1" -3855,EGM2008 geoid height,1027,EGM2008 geoid,9001,1,0,6499,9665,"egm08_25.gtx" -3886,Fao 1979 height,1028,Fao 1979,9001,1,0,6499,, -3900,N2000 height,1030,N2000,9001,1,0,6499,, -4440,NZVD2009 height,1039,New Zealand Vertical Datum 2009,9001,1,0,6499,, -4458,Dunedin-Bluff 1960 height,1040,Dunedin-Bluff 1960,9001,1,0,6499,, -5193,Incheon height,1049,Incheon,9001,1,0,6499,, -5195,Trieste height,1050,Trieste,9001,1,0,6499,, -5214,Genoa height,1051,Genoa,9001,1,0,6499,, -5237,SLVD height,1054,Sri Lanka Vertical Datum,9001,1,0,6499,, -5317,FVR09 height,1059,Faroe Islands Vertical Reference 2009,9001,1,0,6499,, -5336,Black Sea depth,5134,Black Sea,9001,1,0,6498,, -5597,FCSVR10 height,1079,Fehmarnbelt Vertical Reference 2010,9001,1,0,6499,, -5600,NGPF height,5195,Nivellement General de Polynesie Francaise,9001,1,0,6499,, -5601,IGN 1966 height,5196,IGN 1966,9001,1,0,6499,, -5602,Moorea SAU 1981 height,5197,Moorea SAU 1981,9001,1,0,6499,, -5603,Raiatea SAU 2001 height,5198,Raiatea SAU 2001,9001,1,0,6499,, -5604,Maupiti SAU 2001 height,5199,Maupiti SAU 2001,9001,1,0,6499,, -5605,Huahine SAU 2001 height,5200,Huahine SAU 2001,9001,1,0,6499,, -5606,Tahaa SAU 2001 height,5201,Tahaa SAU 2001,9001,1,0,6499,, -5607,Bora Bora SAU 2001 height,5202,Bora Bora SAU 2001,9001,1,0,6499,, -5608,IGLD 1955 height,5204,International Great Lakes Datum 1955,9001,1,0,6499,, -5609,IGLD 1985 height,5205,International Great Lakes Datum 1985,9001,1,0,6499,, -5610,HVRS71 height,5207,Croatian Vertical Reference System 1971,9001,1,0,6499,, -5611,Caspian height,5106,Caspian Sea,9001,1,0,6499,, -5612,Baltic depth,5105,Baltic Sea,9001,1,0,6498,, -5613,RH2000 height,5208,Rikets hojdsystem 2000,9001,1,0,6499,, -5614,"KOC WD depth (ft)",5187,KOC Well Datum,9002,1,0,6495,, -5615,RH00 height,5209,Rikets hojdsystem 1900,9001,1,0,6499,, -5616,IGN 1988 LS height,5210,IGN 1988 LS,9001,1,0,6499,, -5617,IGN 1988 MG height,5211,IGN 1988 MG,9001,1,0,6499,, -5618,IGN 1992 LD height,5212,IGN 1992 LD,9001,1,0,6499,, -5619,IGN 1988 SB height,5213,IGN 1988 SB,9001,1,0,6499,, -5620,IGN 1988 SM height,5214,IGN 1988 SM,9001,1,0,6499,, -5621,EVRF2007 height,5215,European Vertical Reference Frame 2007,9001,1,0,6499,, -5701,ODN height,5101,Ordnance Datum Newlyn,9001,1,0,6499,, -5702,NGVD29 height,5102,National Geodetic Vertical Datum 1929,9003,1,0,6497,, -5703,NAVD88 height,5103,North American Vertical Datum 1988,9001,1,0,6499,9665,"g2012a_conus.gtx,g2012a_alaska.gtx,g2012a_guam.gtx,g2012a_hawaii.gtx,g2012a_puertorico.gtx,g2012a_samoa.gtx" -5704,Yellow Sea,5104,Yellow Sea 1956,9001,1,1,6499,, -5705,Baltic height,5105,Baltic Sea,9001,1,0,6499,, -5706,Caspian depth,5106,Caspian Sea,9001,1,0,6498,, -5709,NAP height,5109,Normaal Amsterdams Peil,9001,1,0,6499,, -5710,Ostend height,5110,Ostend,9001,1,0,6499,, -5711,AHD height,5111,Australian Height Datum,9001,1,0,6499,, -5712,"AHD (Tasmania) height",5112,"Australian Height Datum (Tasmania)",9001,1,0,6499,, -5713,CGVD28 height,5114,Canadian Geodetic Vertical Datum of 1928,9001,1,0,6499,, -5714,MSL height,5100,Mean Sea Level,9001,1,0,6499,, -5715,MSL depth,5100,Mean Sea Level,9001,1,0,6498,, -5716,Piraeus height,5115,Piraeus Harbour 1986,9001,1,0,6499,, -5717,N60 height,5116,Helsinki 1960,9001,1,0,6499,, -5718,RH70 height,5117,Rikets hojdsystem 1970,9001,1,0,6499,, -5719,NGF Lallemand height,5118,Nivellement General de la France - Lallemand,9001,1,0,6499,, -5720,NGF-IGN69 height,5119,Nivellement General de la France - IGN69,9001,1,0,6499,, -5721,NGF-IGN78 height,5120,Nivellement General de la France - IGN78,9001,1,0,6499,, -5722,Maputo height,5121,Maputo,9001,1,0,6499,, -5723,JSLD69 height,5122,Japanese Standard Levelling Datum 1969,9001,1,0,6499,, -5724,PHD93 height,5123,PDO Height Datum 1993,9001,1,0,6499,, -5725,Fahud HD height,5124,Fahud Height Datum,9001,1,0,6499,, -5726,Ha Tien 1960 height,5125,Ha Tien 1960,9001,1,0,6499,, -5727,Hon Dau 1992 height,5126,Hon Dau 1992,9001,1,0,6499,, -5728,LN02 height,5127,Landesnivellement 1902,9001,1,0,6499,, -5729,LHN95 height,5128,Landeshohennetz 1995,9001,1,0,6499,, -5730,EVRF2000 height,5129,European Vertical Reference Frame 2000,9001,1,0,6499,, -5731,Malin Head height,5130,Malin Head,9001,1,0,6499,, -5732,Belfast height,5131,Belfast Lough,9001,1,0,6499,, -5733,DNN height,5132,Dansk Normal Nul,9001,1,0,6499,, -5734,AIOC95 depth,5133,AIOC 1995,9001,1,0,6498,, -5735,Black Sea height,5134,Black Sea,9001,1,0,6499,, -5736,Yellow Sea 1956 height,5104,Yellow Sea 1956,9001,1,0,6499,, -5737,Yellow Sea 1985 height,5137,Yellow Sea 1985,9001,1,0,6499,, -5738,HKPD height,5135,Hong Kong Principal Datum,9001,1,0,6499,, -5739,HKCD depth,5136,Hong Kong Chart Datum,9001,1,0,6498,, -5740,ODN Orkney height,5138,"Ordnance Datum Newlyn (Orkney Isles)",9001,1,0,6499,, -5741,Fair Isle height,5139,Fair Isle,9001,1,0,6499,, -5742,Lerwick height,5140,Lerwick,9001,1,0,6499,, -5743,Foula height,5141,Foula,9001,1,0,6499,, -5744,Sule Skerry height,5142,Sule Skerry,9001,1,0,6499,, -5745,North Rona height,5143,North Rona,9001,1,0,6499,, -5746,Stornoway height,5144,Stornoway,9001,1,0,6499,, -5747,St Kilda height,5145,St Kilda,9001,1,0,6499,, -5748,Flannan Isles height,5146,Flannan Isles,9001,1,0,6499,, -5749,St Marys height,5147,St Marys,9001,1,0,6499,, -5750,Douglas height,5148,Douglas,9001,1,0,6499,, -5751,Fao height,5149,Fao,9001,1,0,6499,, -5752,Bandar Abbas height,5150,Bandar Abbas,9001,1,0,6499,, -5753,NGNC height,5151,Nivellement General de Nouvelle Caledonie,9001,1,0,6499,, -5754,Poolbeg height,5152,Poolbeg,9095,1,0,6496,, -5755,NGG1977 height,5153,Nivellement General Guyanais 1977,9001,1,0,6499,, -5756,Martinique 1987 height,5154,Martinique 1987,9001,1,0,6499,, -5757,Guadeloupe 1988 height,5155,Guadeloupe 1988,9001,1,0,6499,, -5758,Reunion 1989 height,5156,Reunion 1989,9001,1,0,6499,, -5759,Auckland 1946 height,5157,Auckland 1946,9001,1,0,6499,, -5760,Bluff 1955 height,5158,Bluff 1955,9001,1,0,6499,, -5761,Dunedin 1958 height,5159,Dunedin 1958,9001,1,0,6499,, -5762,Gisborne 1926 height,5160,Gisborne 1926,9001,1,0,6499,, -5763,Lyttelton 1937 height,5161,Lyttelton 1937,9001,1,0,6499,, -5764,Moturiki 1953 height,5162,Moturiki 1953,9001,1,0,6499,, -5765,Napier 1962 height,5163,Napier 1962,9001,1,0,6499,, -5766,Nelson 1955 height,5164,Nelson 1955,9001,1,0,6499,, -5767,One Tree Point 1964 height,5165,One Tree Point 1964,9001,1,0,6499,, -5768,Tararu 1952 height,5166,Tararu 1952,9001,1,0,6499,, -5769,Taranaki 1970 height,5167,Taranaki 1970,9001,1,0,6499,, -5770,Wellington 1953 height,5168,Wellington 1953,9001,1,0,6499,, -5771,Chatham Island 1959 height,5169,"Waitangi (Chatham Island) 1959",9001,1,0,6499,, -5772,Stewart Island 1977 height,5170,Stewart Island 1977,9001,1,0,6499,, -5773,EGM96 geoid height,5171,EGM96 geoid,9001,1,0,6499,9665,"egm96_15.gtx" -5774,NG-L height,5172,Nivellement General du Luxembourg,9001,1,0,6499,, -5775,Antalya height,5173,Antalya,9001,1,0,6499,, -5776,NN54 height,5174,Norway Normal Null 1954,9001,1,0,6499,, -5777,Durres height,5175,Durres,9001,1,0,6499,, -5778,GHA height,5176,Gebrauchshohen ADRIA,9001,1,0,6499,, -5779,NVN99 height,5177,National Vertical Network 1999,9001,1,0,6499,, -5780,Cascais height,5178,Cascais,9001,1,0,6499,, -5781,Constanta height,5179,Constanta,9001,1,0,6499,, -5782,Alicante height,5180,Alicante,9001,1,0,6499,, -5783,DHHN92 height,5181,Deutsches Haupthoehennetz 1992,9001,1,0,6499,, -5784,DHHN85 height,5182,Deutsches Haupthoehennetz 1985,9001,1,0,6499,, -5785,SNN76 height,5183,Staatlichen Nivellementnetzes 1976,9001,1,0,6499,, -5786,Baltic 1982 height,5184,Baltic 1982,9001,1,0,6499,, -5787,EOMA 1980 height,5185,Baltic 1980,9001,1,0,6499,, -5788,Kuwait PWD height,5186,Kuwait PWD,9001,1,0,6499,, -5789,KOC WD depth,5187,KOC Well Datum,9001,1,0,6498,, -5790,KOC CD height,5188,KOC Construction Datum,9001,1,0,6499,, -5791,NGC 1948 height,5189,Nivellement General de la Corse 1948,9001,1,0,6499,, -5792,Danger 1950 height,5190,Danger 1950,9001,1,0,6499,, -5793,Mayotte 1950 height,5191,Mayotte 1950,9001,1,0,6499,, -5794,Martinique 1955 height,5192,Martinique 1955,9001,1,0,6499,, -5795,Guadeloupe 1951 height,5193,Guadeloupe 1951,9001,1,0,6499,, -5796,Lagos 1955 height,5194,Lagos 1955,9001,1,0,6499,, -5797,AIOC95 height,5133,AIOC 1995,9001,1,0,6499,, -5798,EGM84 height,5203,EGM84 geoid,9001,1,0,6499,, -5799,DVR90 height,5206,Dansk Vertikal Reference 1990,9001,1,0,6499,, -5829,Instantaneous Water Level height,5113,Instantaneous Water Level,9001,1,0,6499,, -5831,Instantaneous Water Level depth,5113,Instantaneous Water Level,9001,1,0,6498,, -5843,Ras Ghumays height,1146,Ras Ghumays,9001,1,0,6499,, -5861,LAT depth,1080,Lowest Astronomic Tide,9001,1,0,6498,, -5862,LLWLT depth,1083,Lower Low Water Large Tide,9001,1,0,6498,, -5863,ISLW depth,1085,Indian Spring Low Water,9001,1,0,6498,, -5864,MLLWS depth,1086,Mean Lower Low Water Spring Tides,9001,1,0,6498,, -5865,MLWS depth,1087,Mean Low Water Spring Tides,9001,1,0,6498,, -5866,MLLW depth,1089,Mean Lower Low Water,9001,1,0,6498,, -5867,MLW depth,1091,Mean Low Water,9001,1,0,6498,, -5868,MHW height,1092,Mean High Water,9001,1,0,6499,, -5869,MHHW height,1090,Mean Higher High Water,9001,1,0,6499,, -5870,MHWS height,1088,Mean High Water Spring Tides,9001,1,0,6499,, -5871,HHWLT height,1084,Higher High Water Large Tide,9001,1,0,6499,, -5872,HAT height,1082,Highest Astronomic Tide,9001,1,0,6499,, -5873,Low Water depth,1093,Low Water,9001,1,0,6498,, -5874,High Water height,1094,High Water,9001,1,0,6499,, -5941,NN2000 height,1096,Norway Normal Null 2000,9001,1,0,6499,, -6130,GCVD54 height,1097,Grand Cayman Vertical Datum 1954,9002,1,0,1030,, -6131,LCVD61 height,1098,Little Cayman Vertical Datum 1961,9002,1,0,1030,, -6132,CBVD61 height,1099,Cayman Brac Vertical Datum 1961,9002,1,0,1030,, -6178,Cais da Pontinha - Funchal height,1101,Cais da Pontinha - Funchal,9001,1,0,6499,, -6179,Cais da Vila - Porto Santo height,1102,Cais da Vila - Porto Santo,9001,1,0,6499,, -6180,Cais das Velas height,1103,Cais das Velas,9001,1,0,6499,, -6181,Horta height,1104,Horta,9001,1,0,6499,, -6182,Cais da Madalena height,1105,Cais da Madalena,9001,1,0,6499,, -6183,Santa Cruz da Graciosa height,1106,Santa Cruz da Graciosa,9001,1,0,6499,, -6184,Cais da Figueirinha - Angra do Heroismo height,1107,Cais da Figueirinha - Angra do Heroismo,9001,1,0,6499,, -6185,Santa Cruz das Flores height,1108,Santa Cruz das Flores,9001,1,0,6499,, -6186,Cais da Vila do Porto height,1109,Cais da Vila do Porto,9001,1,0,6499,, -6187,Ponta Delgada height,1110,Ponta Delgada,9001,1,0,6499,, -6357,NAVD88 depth,5103,North American Vertical Datum 1988,9001,1,0,6498,, -6358,"NAVD88 depth (ftUS)",5103,North American Vertical Datum 1988,9003,1,0,1043,, -6359,NGVD29 depth,5102,National Geodetic Vertical Datum 1929,9003,1,0,1043,, -6360,"NAVD88 height (ftUS)",5103,North American Vertical Datum 1988,9003,1,0,6497,, -6638,Tutuila 1962 height,1121,Tutuila Vertical Datum of 1962,9001,1,0,6499,, -6639,Guam 1963 height,1122,Guam Vertical Datum of 1963,9001,1,0,6499,, -6640,NMVD03 height,1119,Northern Marianas Vertical Datum of 2003,9001,1,0,6499,, -6641,PRVD02 height,1123,Puerto Rico Vertical Datum of 2002,9001,1,0,6499,, -6642,VIVD09 height,1124,Virgin Islands Vertical Datum of 2009,9001,1,0,6499,, -6643,ASVD02 height,1125,American Samoa Vertical Datum of 2002,9001,1,0,6499,, -6644,GUVD04 height,1126,Guam Vertical Datum of 2004,9001,1,0,6499,, -6647,CGVD2013 height,1127,Canadian Geodetic Vertical Datum of 2013,9001,1,0,6499,, -6693,JSLD72 height,1129,Japanese Standard Levelling Datum 1972,9001,1,0,6499,, -6694,"JGD2000 (vertical) height",1130,"Japanese Geodetic Datum 2000 (vertical)",9001,1,0,6499,, -6695,"JGD2011 (vertical) height",1131,"Japanese Geodetic Datum 2011 (vertical)",9001,1,0,6499,, -6916,SHD height,1140,Singapore Height Datum,9001,1,0,6499,, -7446,Famagusta 1960 height,1148,Famagusta 1960,9001,1,0,6499,, -7447,PNG08 height,1149,PNG08,9001,1,0,6499,, -7651,Kumul 34 height,1150,Kumul 34,9001,1,0,6499,, -7652,Kiunga height,1151,Kiunga,9001,1,0,6499,, -7699,DHHN12 height,1161,Deutsches Haupthoehennetz 1912,9001,1,0,6499,, -7700,Latvia 2000 height,1162,Latvian Height System 2000,9001,1,0,6499,, -7707,"ODN (Offshore) height",1164,"Ordnance Datum Newlyn (Offshore)",9001,1,0,6499,, -7832,POM96 height,1171,Port Moresby 1996,9001,1,0,6499,, -7837,DHHN2016 height,1170,Deutsches Haupthoehennetz 2016,9001,1,0,6499,, -7839,NZVD2016 height,1169,New Zealand Vertical Datum 2016,9001,1,0,6499,, -7841,POM08 height,1172,Port Moresby 2008,9001,1,0,6499,, -7888,Jamestown 1971 height,1175,Jamestown 1971,9001,1,0,6499,, -7889,St. Helena Tritan 2011 height,1176,St. Helena Tritan Vertical Datum 2011,9001,1,0,6499,, -7890,SHVD2015 height,1177,St. Helena Vertical Datum 2015,9001,1,0,6499,, diff --git a/bin/gdal_data/vertcs.override.csv b/bin/gdal_data/vertcs.override.csv deleted file mode 100644 index 35f18380..00000000 --- a/bin/gdal_data/vertcs.override.csv +++ /dev/null @@ -1,23 +0,0 @@ -"COORD_REF_SYS_CODE","COORD_REF_SYS_NAME","DATUM_CODE","DATUM_NAME","UOM_CODE","SHOW_CRS","DEPRECATED","COORD_SYS_CODE","COORD_OP_METHOD_CODE_1","PARM_1_1" -# -# NOTICE: The master version of this file is in the libgeotiff subversion at: -# -# https://svn.osgeo.org/metacrs/geotiff/trunk/libgeotiff/csv/vertcs.override.csv -# -# Do *not* change other copies without upstreaming the results to libgeotiff. -# -# Use the Geoid 2003 files to translated from NAVD88 to WGS84 (approx. NAD83) -# -# -# Updated to default to Geoid12A (11/27/12) hobu -# http://lists.osgeo.org/pipermail/metacrs/2012-November/000649.html -5703,NAVD88 height,5103,North American Vertical Datum 1988,9001,1,0,6499,9665,"g2012a_conus.gtx,g2012a_alaska.gtx,g2012a_guam.gtx,g2012a_hawaii.gtx,g2012a_puertorico.gtx,g2012a_samoa.gtx" -# -# -# Use the EGM 96 geoid grid for translation from EGM96 to WGS84. -# -5773,EGM96 geoid height,5171,EGM96 geoid,9001,1,0,6499,9665,egm96_15.gtx -# -# Use the EGM 2008 geoid grid for translation from EGM08 to WGS84. -# -3855,EGM2008 geoid height,1027,EGM2008 geoid,9001,1,0,6499,9665,egm08_25.gtx diff --git a/bin/libpng.dll b/bin/libpng.dll deleted file mode 100644 index dfe8ba2d..00000000 Binary files a/bin/libpng.dll and /dev/null differ diff --git a/bin/osg130-osg.dll b/bin/osg130-osg.dll deleted file mode 100644 index 682cc203..00000000 Binary files a/bin/osg130-osg.dll and /dev/null differ diff --git a/bin/osg130-osgDB.dll b/bin/osg130-osgDB.dll deleted file mode 100644 index 61ab9864..00000000 Binary files a/bin/osg130-osgDB.dll and /dev/null differ diff --git a/bin/osg130-osgUtil.dll b/bin/osg130-osgUtil.dll deleted file mode 100644 index a0a791fb..00000000 Binary files a/bin/osg130-osgUtil.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_3dc.dll b/bin/osgPlugins-3.4.0/osgdb_3dc.dll deleted file mode 100644 index 6dafff2a..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_3dc.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_3ds.dll b/bin/osgPlugins-3.4.0/osgdb_3ds.dll deleted file mode 100644 index 8a7bb3c5..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_3ds.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_ac.dll b/bin/osgPlugins-3.4.0/osgdb_ac.dll deleted file mode 100644 index b97b1ab8..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_ac.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_bmp.dll b/bin/osgPlugins-3.4.0/osgdb_bmp.dll deleted file mode 100644 index 7a0e8d1b..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_bmp.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_bsp.dll b/bin/osgPlugins-3.4.0/osgdb_bsp.dll deleted file mode 100644 index 0e81485c..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_bsp.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_bvh.dll b/bin/osgPlugins-3.4.0/osgdb_bvh.dll deleted file mode 100644 index 03a6bc28..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_bvh.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_cfg.dll b/bin/osgPlugins-3.4.0/osgdb_cfg.dll deleted file mode 100644 index 04c28483..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_cfg.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_dds.dll b/bin/osgPlugins-3.4.0/osgdb_dds.dll deleted file mode 100644 index 08b961ca..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_dds.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_deprecated_osg.dll b/bin/osgPlugins-3.4.0/osgdb_deprecated_osg.dll deleted file mode 100644 index 7704030c..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_deprecated_osg.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_deprecated_osganimation.dll b/bin/osgPlugins-3.4.0/osgdb_deprecated_osganimation.dll deleted file mode 100644 index f3ca6ce3..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_deprecated_osganimation.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgfx.dll b/bin/osgPlugins-3.4.0/osgdb_deprecated_osgfx.dll deleted file mode 100644 index ea9e6f84..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgfx.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgparticle.dll b/bin/osgPlugins-3.4.0/osgdb_deprecated_osgparticle.dll deleted file mode 100644 index b3f4a90c..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgparticle.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgshadow.dll b/bin/osgPlugins-3.4.0/osgdb_deprecated_osgshadow.dll deleted file mode 100644 index 9aa3a8a8..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgshadow.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgsim.dll b/bin/osgPlugins-3.4.0/osgdb_deprecated_osgsim.dll deleted file mode 100644 index d2423d95..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgsim.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgterrain.dll b/bin/osgPlugins-3.4.0/osgdb_deprecated_osgterrain.dll deleted file mode 100644 index b4c2453a..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgterrain.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgtext.dll b/bin/osgPlugins-3.4.0/osgdb_deprecated_osgtext.dll deleted file mode 100644 index bd28f535..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgtext.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgviewer.dll b/bin/osgPlugins-3.4.0/osgdb_deprecated_osgviewer.dll deleted file mode 100644 index 6999e6ed..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgviewer.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgvolume.dll b/bin/osgPlugins-3.4.0/osgdb_deprecated_osgvolume.dll deleted file mode 100644 index c7cdf561..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgvolume.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgwidget.dll b/bin/osgPlugins-3.4.0/osgdb_deprecated_osgwidget.dll deleted file mode 100644 index 3db3e60a..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_deprecated_osgwidget.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_dot.dll b/bin/osgPlugins-3.4.0/osgdb_dot.dll deleted file mode 100644 index a9170bc2..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_dot.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_dw.dll b/bin/osgPlugins-3.4.0/osgdb_dw.dll deleted file mode 100644 index c477d6c2..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_dw.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_dxf.dll b/bin/osgPlugins-3.4.0/osgdb_dxf.dll deleted file mode 100644 index 7d8c0649..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_dxf.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_gles.dll b/bin/osgPlugins-3.4.0/osgdb_gles.dll deleted file mode 100644 index 2d4d0835..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_gles.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_glsl.dll b/bin/osgPlugins-3.4.0/osgdb_glsl.dll deleted file mode 100644 index a8319715..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_glsl.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_hdr.dll b/bin/osgPlugins-3.4.0/osgdb_hdr.dll deleted file mode 100644 index 5b3df390..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_hdr.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_ive.dll b/bin/osgPlugins-3.4.0/osgdb_ive.dll deleted file mode 100644 index df9922c9..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_ive.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_jpeg.dll b/bin/osgPlugins-3.4.0/osgdb_jpeg.dll deleted file mode 100644 index c51060fd..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_jpeg.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_ktx.dll b/bin/osgPlugins-3.4.0/osgdb_ktx.dll deleted file mode 100644 index d9ff9227..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_ktx.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_logo.dll b/bin/osgPlugins-3.4.0/osgdb_logo.dll deleted file mode 100644 index a57a0e33..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_logo.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_lua.dll b/bin/osgPlugins-3.4.0/osgdb_lua.dll deleted file mode 100644 index be8b3652..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_lua.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_lwo.dll b/bin/osgPlugins-3.4.0/osgdb_lwo.dll deleted file mode 100644 index 93754a0d..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_lwo.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_lws.dll b/bin/osgPlugins-3.4.0/osgdb_lws.dll deleted file mode 100644 index 147a1a41..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_lws.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_md2.dll b/bin/osgPlugins-3.4.0/osgdb_md2.dll deleted file mode 100644 index 07da0c8b..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_md2.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_mdl.dll b/bin/osgPlugins-3.4.0/osgdb_mdl.dll deleted file mode 100644 index 27796ac1..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_mdl.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_normals.dll b/bin/osgPlugins-3.4.0/osgdb_normals.dll deleted file mode 100644 index d36298dd..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_normals.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_obj.dll b/bin/osgPlugins-3.4.0/osgdb_obj.dll deleted file mode 100644 index 90812301..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_obj.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_openflight.dll b/bin/osgPlugins-3.4.0/osgdb_openflight.dll deleted file mode 100644 index f01d032a..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_openflight.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_osc.dll b/bin/osgPlugins-3.4.0/osgdb_osc.dll deleted file mode 100644 index a36202c3..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_osc.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_osg.dll b/bin/osgPlugins-3.4.0/osgdb_osg.dll deleted file mode 100644 index 6978b2da..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_osg.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_osga.dll b/bin/osgPlugins-3.4.0/osgdb_osga.dll deleted file mode 100644 index 6ce57a3c..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_osga.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_osgjs.dll b/bin/osgPlugins-3.4.0/osgdb_osgjs.dll deleted file mode 100644 index 6aaf82a2..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_osgjs.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_osgshadow.dll b/bin/osgPlugins-3.4.0/osgdb_osgshadow.dll deleted file mode 100644 index 80b9e24b..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_osgshadow.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_osgterrain.dll b/bin/osgPlugins-3.4.0/osgdb_osgterrain.dll deleted file mode 100644 index 1635a9bd..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_osgterrain.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_osgtgz.dll b/bin/osgPlugins-3.4.0/osgdb_osgtgz.dll deleted file mode 100644 index 595a5676..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_osgtgz.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_osgviewer.dll b/bin/osgPlugins-3.4.0/osgdb_osgviewer.dll deleted file mode 100644 index 202f4e6b..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_osgviewer.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_p3d.dll b/bin/osgPlugins-3.4.0/osgdb_p3d.dll deleted file mode 100644 index 407de5e0..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_p3d.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_pic.dll b/bin/osgPlugins-3.4.0/osgdb_pic.dll deleted file mode 100644 index deff574e..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_pic.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_ply.dll b/bin/osgPlugins-3.4.0/osgdb_ply.dll deleted file mode 100644 index f6aa7d55..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_ply.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_png.dll b/bin/osgPlugins-3.4.0/osgdb_png.dll deleted file mode 100644 index e6768e5b..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_png.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_pnm.dll b/bin/osgPlugins-3.4.0/osgdb_pnm.dll deleted file mode 100644 index 53f3fa35..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_pnm.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_pov.dll b/bin/osgPlugins-3.4.0/osgdb_pov.dll deleted file mode 100644 index 8b2819be..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_pov.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_pvr.dll b/bin/osgPlugins-3.4.0/osgdb_pvr.dll deleted file mode 100644 index bb34aa1b..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_pvr.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_revisions.dll b/bin/osgPlugins-3.4.0/osgdb_revisions.dll deleted file mode 100644 index 1df6f680..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_revisions.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_rgb.dll b/bin/osgPlugins-3.4.0/osgdb_rgb.dll deleted file mode 100644 index 93d90f3b..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_rgb.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_rot.dll b/bin/osgPlugins-3.4.0/osgdb_rot.dll deleted file mode 100644 index f2d3376b..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_rot.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_scale.dll b/bin/osgPlugins-3.4.0/osgdb_scale.dll deleted file mode 100644 index 0bdec9df..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_scale.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_serializers_osg.dll b/bin/osgPlugins-3.4.0/osgdb_serializers_osg.dll deleted file mode 100644 index f5f382c8..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_serializers_osg.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_serializers_osganimation.dll b/bin/osgPlugins-3.4.0/osgdb_serializers_osganimation.dll deleted file mode 100644 index 81e13925..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_serializers_osganimation.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_serializers_osgfx.dll b/bin/osgPlugins-3.4.0/osgdb_serializers_osgfx.dll deleted file mode 100644 index 1f89fa93..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_serializers_osgfx.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_serializers_osgga.dll b/bin/osgPlugins-3.4.0/osgdb_serializers_osgga.dll deleted file mode 100644 index a064b77d..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_serializers_osgga.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_serializers_osgmanipulator.dll b/bin/osgPlugins-3.4.0/osgdb_serializers_osgmanipulator.dll deleted file mode 100644 index 58a2f908..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_serializers_osgmanipulator.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_serializers_osgparticle.dll b/bin/osgPlugins-3.4.0/osgdb_serializers_osgparticle.dll deleted file mode 100644 index 9f931174..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_serializers_osgparticle.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_serializers_osgshadow.dll b/bin/osgPlugins-3.4.0/osgdb_serializers_osgshadow.dll deleted file mode 100644 index 5c2a13bb..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_serializers_osgshadow.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_serializers_osgsim.dll b/bin/osgPlugins-3.4.0/osgdb_serializers_osgsim.dll deleted file mode 100644 index 5c90991e..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_serializers_osgsim.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_serializers_osgterrain.dll b/bin/osgPlugins-3.4.0/osgdb_serializers_osgterrain.dll deleted file mode 100644 index df505a1e..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_serializers_osgterrain.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_serializers_osgtext.dll b/bin/osgPlugins-3.4.0/osgdb_serializers_osgtext.dll deleted file mode 100644 index e45427cf..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_serializers_osgtext.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_serializers_osgui.dll b/bin/osgPlugins-3.4.0/osgdb_serializers_osgui.dll deleted file mode 100644 index 78e38a3f..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_serializers_osgui.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_serializers_osgutil.dll b/bin/osgPlugins-3.4.0/osgdb_serializers_osgutil.dll deleted file mode 100644 index 71b5da92..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_serializers_osgutil.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_serializers_osgviewer.dll b/bin/osgPlugins-3.4.0/osgdb_serializers_osgviewer.dll deleted file mode 100644 index 75a5e411..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_serializers_osgviewer.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_serializers_osgvolume.dll b/bin/osgPlugins-3.4.0/osgdb_serializers_osgvolume.dll deleted file mode 100644 index 5c0bada4..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_serializers_osgvolume.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_shp.dll b/bin/osgPlugins-3.4.0/osgdb_shp.dll deleted file mode 100644 index d7431ab1..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_shp.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_stl.dll b/bin/osgPlugins-3.4.0/osgdb_stl.dll deleted file mode 100644 index 813d28fc..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_stl.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_tf.dll b/bin/osgPlugins-3.4.0/osgdb_tf.dll deleted file mode 100644 index 567ea4be..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_tf.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_tga.dll b/bin/osgPlugins-3.4.0/osgdb_tga.dll deleted file mode 100644 index ec0534f1..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_tga.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_tgz.dll b/bin/osgPlugins-3.4.0/osgdb_tgz.dll deleted file mode 100644 index fdf05f61..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_tgz.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_trans.dll b/bin/osgPlugins-3.4.0/osgdb_trans.dll deleted file mode 100644 index 28de9433..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_trans.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_trk.dll b/bin/osgPlugins-3.4.0/osgdb_trk.dll deleted file mode 100644 index a2575b59..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_trk.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_txf.dll b/bin/osgPlugins-3.4.0/osgdb_txf.dll deleted file mode 100644 index 76991f5f..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_txf.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_txp.dll b/bin/osgPlugins-3.4.0/osgdb_txp.dll deleted file mode 100644 index 18677841..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_txp.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_vtf.dll b/bin/osgPlugins-3.4.0/osgdb_vtf.dll deleted file mode 100644 index 830b1160..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_vtf.dll and /dev/null differ diff --git a/bin/osgPlugins-3.4.0/osgdb_x.dll b/bin/osgPlugins-3.4.0/osgdb_x.dll deleted file mode 100644 index c8a045fb..00000000 Binary files a/bin/osgPlugins-3.4.0/osgdb_x.dll and /dev/null differ diff --git a/bin/ot20-OpenThreads.dll b/bin/ot20-OpenThreads.dll deleted file mode 100644 index 515bf69b..00000000 Binary files a/bin/ot20-OpenThreads.dll and /dev/null differ diff --git a/bin/proj.dll b/bin/proj.dll deleted file mode 100644 index 2d67d8f5..00000000 Binary files a/bin/proj.dll and /dev/null differ diff --git a/bin/zlib.dll b/bin/zlib.dll deleted file mode 100644 index 74f571ee..00000000 Binary files a/bin/zlib.dll and /dev/null differ diff --git a/build.rs b/build.rs index f9d6dc87..a71d84bb 100644 --- a/build.rs +++ b/build.rs @@ -13,7 +13,6 @@ fn build_win_msvc() { .define("WIN32", None) .define("_WINDOWS", None) .include("./src") - .include("./src/osg") .file("./src/tileset.cpp") .file("./src/shp23dtile.cpp") .file("./src/osgb23dtile.cpp") @@ -44,49 +43,12 @@ fn build_win_msvc() { .unwrap(); } -fn build_win_gun() { - cc::Build::new() - .cpp(true) - .flag("-std=c++11") - .warnings(false) - .define("WIN32", None) - .include("./src") - .include("./src/osg") - .file("./src/tileset.cpp") - .file("./src/shp23dtile.cpp") - .file("./src/osgb23dtile.cpp") - .file("./src/dxt_img.cpp") - .compile("_3dtile"); - // ------------- - println!("cargo:rustc-link-search=native=./lib"); - // ------------- - println!("cargo:rustc-link-lib=gdal_i"); - println!("cargo:rustc-link-lib=osg"); - println!("cargo:rustc-link-lib=osgDB"); - println!("cargo:rustc-link-lib=osgUtil"); - println!("cargo:rustc-link-lib=OpenThreads"); - - Command::new("cmd") - .args(&[ - "/C", - "xcopy", - r#".\bin"#, - &format!(r#".\target\{}"#, env::var("PROFILE").unwrap()), - "/y", - "/e", - ]) - .stdout(Stdio::inherit()) - .output() - .unwrap(); -} - fn build_linux_unkonw() { cc::Build::new() .cpp(true) .flag("-std=c++11") .warnings(false) .include("./src") - .include("./src/osg") .file("./src/tileset.cpp") .file("./src/shp23dtile.cpp") .file("./src/osgb23dtile.cpp") @@ -104,7 +66,6 @@ fn build_linux_unkonw() { fn main() { match env::var("TARGET") { Ok(val) => match val.as_str() { - "x86_64-pc-windows-gnu" => build_win_gun(), "x86_64-unknown-linux-gnu" => build_linux_unkonw(), "x86_64-pc-windows-msvc" => build_win_msvc(), &_ => {} diff --git a/lib/OpenThreads.lib b/lib/OpenThreads.lib deleted file mode 100644 index 5545afb0..00000000 Binary files a/lib/OpenThreads.lib and /dev/null differ diff --git a/lib/gdal_i.lib b/lib/gdal_i.lib deleted file mode 100644 index d9020cb2..00000000 Binary files a/lib/gdal_i.lib and /dev/null differ diff --git a/lib/libOpenThreads.so b/lib/libOpenThreads.so deleted file mode 100644 index b5a4a2db..00000000 Binary files a/lib/libOpenThreads.so and /dev/null differ diff --git a/lib/libOpenThreads.so.20 b/lib/libOpenThreads.so.20 deleted file mode 100644 index b5a4a2db..00000000 Binary files a/lib/libOpenThreads.so.20 and /dev/null differ diff --git a/lib/libosg.so b/lib/libosg.so deleted file mode 100644 index da2df59b..00000000 Binary files a/lib/libosg.so and /dev/null differ diff --git a/lib/libosg.so.130 b/lib/libosg.so.130 deleted file mode 100644 index da2df59b..00000000 Binary files a/lib/libosg.so.130 and /dev/null differ diff --git a/lib/libosgDB.so b/lib/libosgDB.so deleted file mode 100644 index 2bb81237..00000000 Binary files a/lib/libosgDB.so and /dev/null differ diff --git a/lib/libosgDB.so.130 b/lib/libosgDB.so.130 deleted file mode 100644 index 2bb81237..00000000 Binary files a/lib/libosgDB.so.130 and /dev/null differ diff --git a/lib/libosgUtil.so b/lib/libosgUtil.so deleted file mode 100644 index 78850637..00000000 Binary files a/lib/libosgUtil.so and /dev/null differ diff --git a/lib/libosgUtil.so.130 b/lib/libosgUtil.so.130 deleted file mode 100644 index 78850637..00000000 Binary files a/lib/libosgUtil.so.130 and /dev/null differ diff --git a/lib/osg.lib b/lib/osg.lib deleted file mode 100644 index acf50be9..00000000 Binary files a/lib/osg.lib and /dev/null differ diff --git a/lib/osgAnimation.lib b/lib/osgAnimation.lib deleted file mode 100644 index d3c41078..00000000 Binary files a/lib/osgAnimation.lib and /dev/null differ diff --git a/lib/osgDB.lib b/lib/osgDB.lib deleted file mode 100644 index 5dbb9532..00000000 Binary files a/lib/osgDB.lib and /dev/null differ diff --git a/lib/osgDBd.lib b/lib/osgDBd.lib deleted file mode 100644 index bae7aaa1..00000000 Binary files a/lib/osgDBd.lib and /dev/null differ diff --git a/lib/osgFX.lib b/lib/osgFX.lib deleted file mode 100644 index 25ed7069..00000000 Binary files a/lib/osgFX.lib and /dev/null differ diff --git a/lib/osgGA.lib b/lib/osgGA.lib deleted file mode 100644 index 33c8a6a6..00000000 Binary files a/lib/osgGA.lib and /dev/null differ diff --git a/lib/osgGAd.lib b/lib/osgGAd.lib deleted file mode 100644 index 85a3d6ee..00000000 Binary files a/lib/osgGAd.lib and /dev/null differ diff --git a/lib/osgManipulator.lib b/lib/osgManipulator.lib deleted file mode 100644 index ecc47823..00000000 Binary files a/lib/osgManipulator.lib and /dev/null differ diff --git a/lib/osgParticle.lib b/lib/osgParticle.lib deleted file mode 100644 index 55482025..00000000 Binary files a/lib/osgParticle.lib and /dev/null differ diff --git a/lib/osgPresentation.lib b/lib/osgPresentation.lib deleted file mode 100644 index e478fb7f..00000000 Binary files a/lib/osgPresentation.lib and /dev/null differ diff --git a/lib/osgShadow.lib b/lib/osgShadow.lib deleted file mode 100644 index fa3b43c7..00000000 Binary files a/lib/osgShadow.lib and /dev/null differ diff --git a/lib/osgSim.lib b/lib/osgSim.lib deleted file mode 100644 index 32dcef6b..00000000 Binary files a/lib/osgSim.lib and /dev/null differ diff --git a/lib/osgTerrain.lib b/lib/osgTerrain.lib deleted file mode 100644 index 5e18687f..00000000 Binary files a/lib/osgTerrain.lib and /dev/null differ diff --git a/lib/osgText.lib b/lib/osgText.lib deleted file mode 100644 index 03fb22a6..00000000 Binary files a/lib/osgText.lib and /dev/null differ diff --git a/lib/osgUI.lib b/lib/osgUI.lib deleted file mode 100644 index 55076c9d..00000000 Binary files a/lib/osgUI.lib and /dev/null differ diff --git a/lib/osgUtil.lib b/lib/osgUtil.lib deleted file mode 100644 index 370765ff..00000000 Binary files a/lib/osgUtil.lib and /dev/null differ diff --git a/lib/osgUtild.lib b/lib/osgUtild.lib deleted file mode 100644 index 305ff195..00000000 Binary files a/lib/osgUtild.lib and /dev/null differ diff --git a/lib/osgViewer.lib b/lib/osgViewer.lib deleted file mode 100644 index 90f98923..00000000 Binary files a/lib/osgViewer.lib and /dev/null differ diff --git a/lib/osgViewerd.lib b/lib/osgViewerd.lib deleted file mode 100644 index 8ff419e6..00000000 Binary files a/lib/osgViewerd.lib and /dev/null differ diff --git a/lib/osgVolume.lib b/lib/osgVolume.lib deleted file mode 100644 index a3f6359d..00000000 Binary files a/lib/osgVolume.lib and /dev/null differ diff --git a/lib/osgWidget.lib b/lib/osgWidget.lib deleted file mode 100644 index 20a58942..00000000 Binary files a/lib/osgWidget.lib and /dev/null differ diff --git a/lib/osgd.lib b/lib/osgd.lib deleted file mode 100644 index 9c7d8d47..00000000 Binary files a/lib/osgd.lib and /dev/null differ diff --git a/src/gdal/cpl_atomic_ops.h b/src/gdal/cpl_atomic_ops.h deleted file mode 100644 index 6a07d2ce..00000000 --- a/src/gdal/cpl_atomic_ops.h +++ /dev/null @@ -1,106 +0,0 @@ -/********************************************************************** - * $Id: cpl_atomic_ops.h 33666 2016-03-07 05:21:07Z goatbar $ - * - * Name: cpl_atomic_ops.h - * Project: CPL - Common Portability Library - * Purpose: Atomic operation functions. - * Author: Even Rouault, - * - ********************************************************************** - * Copyright (c) 2009-2010, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_ATOMIC_OPS_INCLUDED -#define CPL_ATOMIC_OPS_INCLUDED - -#include "cpl_port.h" - -CPL_C_START - -/** Add a value to a pointed integer in a thread and SMP-safe way - * and return the resulting value of the operation. - * - * This function, which in most cases is implemented by a few - * efficient machine instructions, guarantees that the value pointed - * by ptr will be incremented in a thread and SMP-safe way. - * The variables for this function must be aligned on a 32-bit boundary. - * - * Depending on the platforms, this function can also act as a - * memory barrier, but this should not be assumed. - * - * Current platforms/architectures where an efficient implementation - * exists are MacOSX, MS Windows, i386/x86_64 with GCC and platforms - * supported by GCC 4.1 or higher. For other platforms supporting - * the pthread library, and when GDAL is configured with thread-support, - * the atomicity will be done with a mutex, but with - * reduced efficiently. For the remaining platforms, a simple addition - * with no locking will be done... - * - * @param ptr a pointer to an integer to increment - * @param increment the amount to add to the pointed integer - * @return the pointed value AFTER the result of the addition - */ -int CPL_DLL CPLAtomicAdd(volatile int* ptr, int increment); - -/** Increment of 1 the pointed integer in a thread and SMP-safe way - * and return the resulting value of the operation. - * - * @see CPLAtomicAdd for the details and guarantees of this atomic - * operation - * - * @param ptr a pointer to an integer to increment - * @return the pointed value AFTER the operation: *ptr + 1 - */ -#define CPLAtomicInc(ptr) CPLAtomicAdd(ptr, 1) - -/** Decrement of 1 the pointed integer in a thread and SMP-safe way - * and return the resulting value of the operation. - * - * @see CPLAtomicAdd for the details and guarantees of this atomic - * operation - * - * @param ptr a pointer to an integer to decrement - * @return the pointed value AFTER the operation: *ptr - 1 - */ -#define CPLAtomicDec(ptr) CPLAtomicAdd(ptr, -1) - - -/** Compares *ptr with oldval. If *ptr == oldval, then *ptr is assigned - * newval and TRUE is returned. Otherwise nothing is done, and FALSE is returned. - * - * Current platforms/architectures where an efficient implementation - * exists are MacOSX, MS Windows, i386/x86_64 with GCC and platforms - * supported by GCC 4.1 or higher. For other platforms supporting - * the pthread library, and when GDAL is configured with thread-support, - * the atomicity will be done with a mutex, but with - * reduced efficiently. For the remaining platforms, a simple addition - * with no locking will be done... - * - * @param ptr a pointer to an integer (aligned on 32bit boundary). - * @param oldval old value - * @param newval new value - * @return TRUE if the exchange has been done - */ -int CPLAtomicCompareAndExchange(volatile int* ptr, int oldval, int newval); - -CPL_C_END - -#endif /* CPL_ATOMIC_OPS_INCLUDED */ diff --git a/src/gdal/cpl_aws.h b/src/gdal/cpl_aws.h deleted file mode 100644 index 854ada65..00000000 --- a/src/gdal/cpl_aws.h +++ /dev/null @@ -1,136 +0,0 @@ -/********************************************************************** - * $Id: cpl_aws.h 33758 2016-03-21 09:06:22Z rouault $ - * - * Name: cpl_aws.h - * Project: CPL - Common Portability Library - * Purpose: Amazon Web Services routines - * Author: Even Rouault - * - ********************************************************************** - * Copyright (c) 2015, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_AWS_INCLUDED_H -#define CPL_AWS_INCLUDED_H - -#include "cpl_string.h" - -CPLString CPLGetAWS_SIGN4_Authorization(const CPLString& osSecretAccessKey, - const CPLString& osAccessKeyId, - const CPLString& osAccessToken, - const CPLString& osAWSRegion, - const CPLString& osService, - const CPLString& osVerb, - const CPLString& osHost, - const CPLString& osCanonicalURI, - const CPLString& osCanonicalQueryString, - const CPLString& osXAMZContentSHA256, - const CPLString& osTimestamp); - -CPLString CPLGetLowerCaseHexSHA256( const void *pabyData, size_t nBytes ); -CPLString CPLGetLowerCaseHexSHA256( const CPLString& osStr ); - -CPLString CPLGetAWS_SIGN4_Timestamp(); - -CPLString CPLAWSURLEncode(const CPLString& osURL, bool bEncodeSlash = true); - -#ifdef HAVE_CURL - -#include -#include - -class VSIS3HandleHelper -{ - CPLString m_osURL; - CPLString m_osSecretAccessKey; - CPLString m_osAccessKeyId; - CPLString m_osSessionToken; - CPLString m_osAWSS3Endpoint; - CPLString m_osAWSRegion; - CPLString m_osBucket; - CPLString m_osObjectKey; - bool m_bUseHTTPS; - bool m_bUseVirtualHosting; - std::map m_oMapQueryParameters; - - static bool GetBucketAndObjectKey(const char* pszURI, const char* pszFSPrefix, - bool bAllowNoObject, - CPLString &osBucketOut, CPLString &osObjectKeyOut); - void RebuildURL(); - - protected: - - public: - VSIS3HandleHelper(const CPLString& osSecretAccessKey, - const CPLString& osAccessKeyId, - const CPLString& osSessionToken, - const CPLString& osAWSS3Endpoint, - const CPLString& osAWSRegion, - const CPLString& osBucket, - const CPLString& osObjectKey, - bool bUseHTTPS, bool bUseVirtualHosting); - ~VSIS3HandleHelper(); - - static VSIS3HandleHelper* BuildFromURI(const char* pszURI, const char* pszFSPrefix, - bool bAllowNoObject); - static CPLString BuildURL(const CPLString& osAWSS3Endpoint, - const CPLString& osBucket, - const CPLString& osObjectKey, - bool bUseHTTPS, bool bUseVirtualHosting); - - void ResetQueryParameters(); - void AddQueryParameter(const CPLString& osKey, const CPLString& osValue); - struct curl_slist* GetCurlHeaders(const CPLString& osVerb, - const void *pabyDataContent = NULL, - size_t nBytesContent = 0); - bool CanRestartOnError(const char* pszErrorMsg) { return CanRestartOnError(pszErrorMsg, false); } - bool CanRestartOnError(const char*, bool bSetError); - - const CPLString& GetURL() const { return m_osURL; } - const CPLString& GetBucket() const { return m_osBucket; } - const CPLString& GetObjectKey() const { return m_osObjectKey; } - const CPLString& GetAWSS3Endpoint()const { return m_osAWSS3Endpoint; } - const CPLString& GetAWSRegion() const { return m_osAWSRegion; } - bool GetVirtualHosting() const { return m_bUseVirtualHosting; } - void SetAWSS3Endpoint(const CPLString &osStr); - void SetAWSRegion(const CPLString &osStr); - void SetVirtualHosting(bool b); - void SetObjectKey(const CPLString &osStr); -}; - -class VSIS3UpdateParams -{ - public: - CPLString m_osAWSRegion; - CPLString m_osAWSS3Endpoint; - bool m_bUseVirtualHosting; - - VSIS3UpdateParams(const CPLString& osAWSRegion = "", - const CPLString& osAWSS3Endpoint = "", - bool bUseVirtualHosting = false) : - m_osAWSRegion(osAWSRegion), - m_osAWSS3Endpoint(osAWSS3Endpoint), - m_bUseVirtualHosting(bUseVirtualHosting) {} -}; - -#endif /* HAVE_CURL */ - -#endif /* CPL_AWS_INCLUDED_H */ diff --git a/src/gdal/cpl_config.h b/src/gdal/cpl_config.h deleted file mode 100644 index fe7b82a8..00000000 --- a/src/gdal/cpl_config.h +++ /dev/null @@ -1,121 +0,0 @@ - -/* We define this here in general so that a VC++ build will publicly - declare STDCALL interfaces even if an application is built against it - using MinGW */ - -#ifndef CPL_DISABLE_STDCALL -# define CPL_STDCALL __stdcall -#endif - -/* Define if you don't have vprintf but do have _doprnt. */ -#undef HAVE_DOPRNT - -/* Define if you have the vprintf function. */ -#define HAVE_VPRINTF 1 -#define HAVE_VSNPRINTF 1 -#define HAVE_SNPRINTF 1 -#if defined(_MSC_VER) && (_MSC_VER < 1500) -# define vsnprintf _vsnprintf -#endif -#if defined(_MSC_VER) && (_MSC_VER < 1900) -# define snprintf _snprintf -#endif - -#define HAVE_GETCWD 1 -/* gmt_notunix.h from GMT project also redefines getcwd. See #3138 */ -#ifndef getcwd -#define getcwd _getcwd -#endif - -/* Define if you have the ANSI C header files. */ -#ifndef STDC_HEADERS -# define STDC_HEADERS 1 -#endif - -/* Define to 1 if you have the header file. */ -#define HAVE_ASSERT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_FCNTL_H 1 - -/* Define if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -#undef HAVE_LIBDL - -/* Define to 1 if you have the header file. */ -#define HAVE_LOCALE_H 1 - -#define HAVE_FLOAT_H 1 - -#define HAVE_ERRNO_H 1 - -#define HAVE_SEARCH_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_DIRECT_H - -/* Define to 1 if you have the `localtime_r' function. */ -#undef HAVE_LOCALTIME_R - -#undef HAVE_DLFCN_H -#undef HAVE_DBMALLOC_H -#undef HAVE_LIBDBMALLOC -#undef WORDS_BIGENDIAN - -/* The size of a `int', as computed by sizeof. */ -#define SIZEOF_INT 4 - -/* The size of a `long', as computed by sizeof. */ -#define SIZEOF_LONG 4 - -/* The size of a `unsigned long', as computed by sizeof. */ -#define SIZEOF_UNSIGNED_LONG 4 - -/* The size of `void*', as computed by sizeof. */ -#ifdef _WIN64 -# define SIZEOF_VOIDP 8 -#else -# define SIZEOF_VOIDP 4 -#endif - -/* Set the native cpu bit order */ -#define HOST_FILLORDER FILLORDER_LSB2MSB - -/* Define as 0 or 1 according to the floating point format supported by the - machine */ -#define HAVE_IEEEFP 1 - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -# ifndef inline -# define inline __inline -# endif -#endif - -#define lfind _lfind - -#if defined(_MSC_VER) && (_MSC_VER < 1310) -# define VSI_STAT64 _stat -# define VSI_STAT64_T _stat -#else -# define VSI_STAT64 _stat64 -# define VSI_STAT64_T __stat64 -#endif - -/* VC6 doesn't known intptr_t */ -#if defined(_MSC_VER) && (_MSC_VER <= 1200) - typedef int intptr_t; -#endif - -#pragma warning(disable: 4786) - -/* #define CPL_DISABLE_DLL */ - diff --git a/src/gdal/cpl_config_extras.h b/src/gdal/cpl_config_extras.h deleted file mode 100644 index 654f2fca..00000000 --- a/src/gdal/cpl_config_extras.h +++ /dev/null @@ -1,40 +0,0 @@ - -#ifndef INCLUDED_CPL_CONFIG_EXTRAS -#define INCLUDED_CPL_CONFIG_EXTRAS - -#if defined(__APPLE__) - -#ifdef __BIG_ENDIAN__ - #define HOST_FILLORDER FILLORDER_MSB2LSB -#else - #define HOST_FILLORDER FILLORDER_LSB2MSB -#endif - - -#ifdef __LP64__ - #define SIZEOF_UNSIGNED_LONG 8 -#else - #define SIZEOF_UNSIGNED_LONG 4 -#endif - -#ifdef __LP64__ - #define SIZEOF_VOIDP 8 -#else - #define SIZEOF_VOIDP 4 -#endif - -#ifdef __BIG_ENDIAN__ - #define WORDS_BIGENDIAN 1 -#else - #undef WORDS_BIGENDIAN -#endif - -#undef VSI_STAT64 -#undef VSI_STAT64_T - -#define VSI_STAT64 stat -#define VSI_STAT64_T stat - -#endif // APPLE - -#endif //INCLUDED_CPL_CONFIG_EXTRAS diff --git a/src/gdal/cpl_conv.h b/src/gdal/cpl_conv.h deleted file mode 100644 index 2e3d883e..00000000 --- a/src/gdal/cpl_conv.h +++ /dev/null @@ -1,307 +0,0 @@ -/****************************************************************************** - * $Id: cpl_conv.h 33666 2016-03-07 05:21:07Z goatbar $ - * - * Project: CPL - Common Portability Library - * Purpose: Convenience functions declarations. - * This is intended to remain light weight. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 1998, Frank Warmerdam - * Copyright (c) 2007-2013, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_CONV_H_INCLUDED -#define CPL_CONV_H_INCLUDED - -#include "cpl_port.h" -#include "cpl_vsi.h" -#include "cpl_error.h" - -/** - * \file cpl_conv.h - * - * Various convenience functions for CPL. - * - */ - -/* -------------------------------------------------------------------- */ -/* Runtime check of various configuration items. */ -/* -------------------------------------------------------------------- */ -CPL_C_START - -void CPL_DLL CPLVerifyConfiguration(void); - -const char CPL_DLL * CPL_STDCALL -CPLGetConfigOption( const char *, const char * ) CPL_WARN_UNUSED_RESULT; -const char CPL_DLL * CPL_STDCALL -CPLGetThreadLocalConfigOption( const char *, const char * ) CPL_WARN_UNUSED_RESULT; -void CPL_DLL CPL_STDCALL CPLSetConfigOption( const char *, const char * ); -void CPL_DLL CPL_STDCALL CPLSetThreadLocalConfigOption( const char *pszKey, - const char *pszValue ); -void CPL_DLL CPL_STDCALL CPLFreeConfig(void); - -/* -------------------------------------------------------------------- */ -/* Safe malloc() API. Thin cover over VSI functions with fatal */ -/* error reporting if memory allocation fails. */ -/* -------------------------------------------------------------------- */ -void CPL_DLL *CPLMalloc( size_t ) CPL_WARN_UNUSED_RESULT; -void CPL_DLL *CPLCalloc( size_t, size_t ) CPL_WARN_UNUSED_RESULT; -void CPL_DLL *CPLRealloc( void *, size_t ) CPL_WARN_UNUSED_RESULT; -char CPL_DLL *CPLStrdup( const char * ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL; -char CPL_DLL *CPLStrlwr( char *); - -#define CPLFree VSIFree - -/* -------------------------------------------------------------------- */ -/* Read a line from a text file, and strip of CR/LF. */ -/* -------------------------------------------------------------------- */ -char CPL_DLL *CPLFGets( char *, int, FILE *); -const char CPL_DLL *CPLReadLine( FILE * ); -const char CPL_DLL *CPLReadLineL( VSILFILE * ); -const char CPL_DLL *CPLReadLine2L( VSILFILE * , int nMaxCols, char** papszOptions); - -/* -------------------------------------------------------------------- */ -/* Convert ASCII string to floating point number */ -/* (THESE FUNCTIONS ARE NOT LOCALE AWARE!). */ -/* -------------------------------------------------------------------- */ -double CPL_DLL CPLAtof(const char *); -double CPL_DLL CPLAtofDelim(const char *, char); -double CPL_DLL CPLStrtod(const char *, char **); -double CPL_DLL CPLStrtodDelim(const char *, char **, char); -float CPL_DLL CPLStrtof(const char *, char **); -float CPL_DLL CPLStrtofDelim(const char *, char **, char); - -/* -------------------------------------------------------------------- */ -/* Convert number to string. This function is locale agnostic */ -/* (i.e. it will support "," or "." regardless of current locale) */ -/* -------------------------------------------------------------------- */ -double CPL_DLL CPLAtofM(const char *); - -/* -------------------------------------------------------------------- */ -/* Read a numeric value from an ASCII character string. */ -/* -------------------------------------------------------------------- */ -char CPL_DLL *CPLScanString( const char *, int, int, int ); -double CPL_DLL CPLScanDouble( const char *, int ); -long CPL_DLL CPLScanLong( const char *, int ); -unsigned long CPL_DLL CPLScanULong( const char *, int ); -GUIntBig CPL_DLL CPLScanUIntBig( const char *, int ); -GIntBig CPL_DLL CPLAtoGIntBig( const char* pszString ); -GIntBig CPL_DLL CPLAtoGIntBigEx( const char* pszString, int bWarn, int *pbOverflow ); -void CPL_DLL *CPLScanPointer( const char *, int ); - -/* -------------------------------------------------------------------- */ -/* Print a value to an ASCII character string. */ -/* -------------------------------------------------------------------- */ -int CPL_DLL CPLPrintString( char *, const char *, int ); -int CPL_DLL CPLPrintStringFill( char *, const char *, int ); -int CPL_DLL CPLPrintInt32( char *, GInt32 , int ); -int CPL_DLL CPLPrintUIntBig( char *, GUIntBig , int ); -int CPL_DLL CPLPrintDouble( char *, const char *, double, const char * ); -int CPL_DLL CPLPrintTime( char *, int , const char *, const struct tm *, - const char * ); -int CPL_DLL CPLPrintPointer( char *, void *, int ); - -/* -------------------------------------------------------------------- */ -/* Fetch a function from DLL / so. */ -/* -------------------------------------------------------------------- */ - -void CPL_DLL *CPLGetSymbol( const char *, const char * ); - -/* -------------------------------------------------------------------- */ -/* Fetch executable path. */ -/* -------------------------------------------------------------------- */ -int CPL_DLL CPLGetExecPath( char *pszPathBuf, int nMaxLength ); - -/* -------------------------------------------------------------------- */ -/* Filename handling functions. */ -/* -------------------------------------------------------------------- */ -const char CPL_DLL *CPLGetPath( const char * ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL; -const char CPL_DLL *CPLGetDirname( const char * ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL; -const char CPL_DLL *CPLGetFilename( const char * ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL; -const char CPL_DLL *CPLGetBasename( const char * ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL; -const char CPL_DLL *CPLGetExtension( const char * ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL; -char CPL_DLL *CPLGetCurrentDir(void); -const char CPL_DLL *CPLFormFilename( const char *pszPath, - const char *pszBasename, - const char *pszExtension ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL; -const char CPL_DLL *CPLFormCIFilename( const char *pszPath, - const char *pszBasename, - const char *pszExtension ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL; -const char CPL_DLL *CPLResetExtension( const char *, const char * ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL; -const char CPL_DLL *CPLProjectRelativeFilename( const char *pszProjectDir, - const char *pszSecondaryFilename ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL; -int CPL_DLL CPLIsFilenameRelative( const char *pszFilename ); -const char CPL_DLL *CPLExtractRelativePath(const char *, const char *, int *) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL; -const char CPL_DLL *CPLCleanTrailingSlash( const char * ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL; -char CPL_DLL **CPLCorrespondingPaths( const char *pszOldFilename, - const char *pszNewFilename, - char **papszFileList ) CPL_WARN_UNUSED_RESULT; -int CPL_DLL CPLCheckForFile( char *pszFilename, char **papszSiblingList ); - -const char CPL_DLL *CPLGenerateTempFilename( const char *pszStem ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL; - -/* -------------------------------------------------------------------- */ -/* Find File Function */ -/* -------------------------------------------------------------------- */ -typedef const char *(*CPLFileFinder)(const char *, const char *); - -const char CPL_DLL *CPLFindFile(const char *pszClass, - const char *pszBasename); -const char CPL_DLL *CPLDefaultFindFile(const char *pszClass, - const char *pszBasename); -void CPL_DLL CPLPushFileFinder( CPLFileFinder pfnFinder ); -CPLFileFinder CPL_DLL CPLPopFileFinder(void); -void CPL_DLL CPLPushFinderLocation( const char * ); -void CPL_DLL CPLPopFinderLocation(void); -void CPL_DLL CPLFinderClean(void); - -/* -------------------------------------------------------------------- */ -/* Safe version of stat() that works properly on stuff like "C:". */ -/* -------------------------------------------------------------------- */ -int CPL_DLL CPLStat( const char *, VSIStatBuf * ) CPL_WARN_UNUSED_RESULT; - -/* -------------------------------------------------------------------- */ -/* Reference counted file handle manager. Makes sharing file */ -/* handles more practical. */ -/* -------------------------------------------------------------------- */ -typedef struct { - FILE *fp; - int nRefCount; - int bLarge; - char *pszFilename; - char *pszAccess; -} CPLSharedFileInfo; - -FILE CPL_DLL *CPLOpenShared( const char *, const char *, int ); -void CPL_DLL CPLCloseShared( FILE * ); -CPLSharedFileInfo CPL_DLL *CPLGetSharedList( int * ); -void CPL_DLL CPLDumpSharedList( FILE * ); -void CPL_DLL CPLCleanupSharedFileMutex( void ); - -/* -------------------------------------------------------------------- */ -/* DMS to Dec to DMS conversion. */ -/* -------------------------------------------------------------------- */ -double CPL_DLL CPLDMSToDec( const char *is ); -const char CPL_DLL *CPLDecToDMS( double dfAngle, const char * pszAxis, - int nPrecision ); -double CPL_DLL CPLPackedDMSToDec( double ); -double CPL_DLL CPLDecToPackedDMS( double dfDec ); - -void CPL_DLL CPLStringToComplex( const char *pszString, - double *pdfReal, double *pdfImag ); - -/* -------------------------------------------------------------------- */ -/* Misc other functions. */ -/* -------------------------------------------------------------------- */ -int CPL_DLL CPLUnlinkTree( const char * ); -int CPL_DLL CPLCopyFile( const char *pszNewPath, const char *pszOldPath ); -int CPL_DLL CPLCopyTree( const char *pszNewPath, const char *pszOldPath ); -int CPL_DLL CPLMoveFile( const char *pszNewPath, const char *pszOldPath ); -int CPL_DLL CPLSymlink( const char* pszOldPath, const char* pszNewPath, char** papszOptions ); - -/* -------------------------------------------------------------------- */ -/* ZIP Creation. */ -/* -------------------------------------------------------------------- */ -#define CPL_ZIP_API_OFFERED -void CPL_DLL *CPLCreateZip( const char *pszZipFilename, char **papszOptions ); -CPLErr CPL_DLL CPLCreateFileInZip( void *hZip, const char *pszFilename, - char **papszOptions ); -CPLErr CPL_DLL CPLWriteFileInZip( void *hZip, const void *pBuffer, int nBufferSize ); -CPLErr CPL_DLL CPLCloseFileInZip( void *hZip ); -CPLErr CPL_DLL CPLCloseZip( void *hZip ); - -/* -------------------------------------------------------------------- */ -/* ZLib compression */ -/* -------------------------------------------------------------------- */ - -void CPL_DLL *CPLZLibDeflate( const void* ptr, size_t nBytes, int nLevel, - void* outptr, size_t nOutAvailableBytes, - size_t* pnOutBytes ); -void CPL_DLL *CPLZLibInflate( const void* ptr, size_t nBytes, - void* outptr, size_t nOutAvailableBytes, - size_t* pnOutBytes ); - -/* -------------------------------------------------------------------- */ -/* XML validation. */ -/* -------------------------------------------------------------------- */ -int CPL_DLL CPLValidateXML(const char* pszXMLFilename, - const char* pszXSDFilename, - char** papszOptions); - -/* -------------------------------------------------------------------- */ -/* Locale handling. Prevents parallel executions of setlocale(). */ -/* -------------------------------------------------------------------- */ -char* CPLsetlocale (int category, const char* locale); -void CPLCleanupSetlocaleMutex(void); - -CPL_C_END - -/* -------------------------------------------------------------------- */ -/* C++ object for temporarily forcing a LC_NUMERIC locale to "C". */ -/* -------------------------------------------------------------------- */ - -#if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS) - -class CPL_DLL CPLLocaleC -{ -public: - CPLLocaleC(); - ~CPLLocaleC(); - -private: - char *pszOldLocale; - - /* Make it non-copyable */ - CPLLocaleC(const CPLLocaleC&); - CPLLocaleC& operator=(const CPLLocaleC&); -}; - -// Does the same as CPLLocaleC except that, when available, it tries to -// only affect the current thread. But code that would be dependent of -// setlocale(LC_NUMERIC, NULL) returning "C", such as current proj.4 versions, -// will not work depending on the actual implementation -class CPL_DLL CPLThreadLocaleC -{ -public: - CPLThreadLocaleC(); - ~CPLThreadLocaleC(); - -private: -#ifdef HAVE_USELOCALE - locale_t nNewLocale; - locale_t nOldLocale; -#else -#if defined(_MSC_VER) - int nOldValConfigThreadLocale; -#endif - char *pszOldLocale; -#endif - - /* Make it non-copyable */ - CPLThreadLocaleC(const CPLThreadLocaleC&); - CPLThreadLocaleC& operator=(const CPLThreadLocaleC&); -}; - -#endif /* def __cplusplus */ - - -#endif /* ndef CPL_CONV_H_INCLUDED */ diff --git a/src/gdal/cpl_csv.h b/src/gdal/cpl_csv.h deleted file mode 100644 index 63374310..00000000 --- a/src/gdal/cpl_csv.h +++ /dev/null @@ -1,76 +0,0 @@ -/****************************************************************************** - * $Id: cpl_csv.h 33844 2016-04-01 08:42:13Z rouault $ - * - * Project: Common Portability Library - * Purpose: Functions for reading and scanning CSV (comma separated, - * variable length text files holding tables) files. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 1999, Frank Warmerdam - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_CSV_H_INCLUDED -#define CPL_CSV_H_INCLUDED - -#include "cpl_conv.h" -#include "cpl_string.h" -#include "cpl_vsi.h" - -CPL_C_START - -typedef enum { - CC_ExactString, - CC_ApproxString, - CC_Integer -} CSVCompareCriteria; - -const char CPL_DLL *CSVFilename( const char * ); - -char CPL_DLL CSVDetectSeperator( const char *pszLine ); - -char CPL_DLL **CSVReadParseLine( FILE *fp); -char CPL_DLL **CSVReadParseLine2( FILE *fp, char chDelimiter ); - -char CPL_DLL **CSVReadParseLineL( VSILFILE *fp); -char CPL_DLL **CSVReadParseLine2L( VSILFILE *fp, char chDelimiter ); - -char CPL_DLL **CSVScanLines( FILE *, int, const char *, CSVCompareCriteria ); -char CPL_DLL **CSVScanLinesL( VSILFILE *, int, const char *, CSVCompareCriteria ); -char CPL_DLL **CSVScanFile( const char *, int, const char *, - CSVCompareCriteria ); -char CPL_DLL **CSVScanFileByName( const char *, const char *, const char *, - CSVCompareCriteria ); -char CPL_DLL **CSVGetNextLine( const char * ); -int CPL_DLL CSVGetFieldId( FILE *, const char * ); -int CPL_DLL CSVGetFieldIdL( VSILFILE *, const char * ); -int CPL_DLL CSVGetFileFieldId( const char *, const char * ); - -void CPL_DLL CSVDeaccess( const char * ); - -const char CPL_DLL *CSVGetField( const char *, const char *, const char *, - CSVCompareCriteria, const char * ); - -void CPL_DLL SetCSVFilenameHook( const char *(*)(const char *) ); - -CPL_C_END - -#endif /* ndef CPL_CSV_H_INCLUDED */ diff --git a/src/gdal/cpl_error.h b/src/gdal/cpl_error.h deleted file mode 100644 index 3ddad1ac..00000000 --- a/src/gdal/cpl_error.h +++ /dev/null @@ -1,179 +0,0 @@ -/********************************************************************** - * $Id: cpl_error.h 33842 2016-04-01 08:37:32Z rouault $ - * - * Name: cpl_error.h - * Project: CPL - Common Portability Library - * Purpose: CPL Error handling - * Author: Daniel Morissette, danmo@videotron.ca - * - ********************************************************************** - * Copyright (c) 1998, Daniel Morissette - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_ERROR_H_INCLUDED -#define CPL_ERROR_H_INCLUDED - -#include "cpl_port.h" - -/*===================================================================== - Error handling functions (cpl_error.c) - =====================================================================*/ - -/** - * \file cpl_error.h - * - * CPL error handling services. - */ - -CPL_C_START - -typedef enum -{ - CE_None = 0, - CE_Debug = 1, - CE_Warning = 2, - CE_Failure = 3, - CE_Fatal = 4 -} CPLErr; - -/* ==================================================================== */ -/* Well known error codes. */ -/* ==================================================================== */ - -#ifdef STRICT_CPLERRORNUM_TYPE - -/* This is not appropriate for the general case, as there are parts */ -/* of GDAL which use custom error codes, but this can help diagnose confusions */ -/* between CPLErr and CPLErrorNum */ -typedef enum -{ - CPLE_None, - CPLE_AppDefined, - CPLE_OutOfMemory, - CPLE_FileIO, - CPLE_OpenFailed, - CPLE_IllegalArg, - CPLE_NotSupported, - CPLE_AssertionFailed, - CPLE_NoWriteAccess, - CPLE_UserInterrupt, - CPLE_ObjectNull, - CPLE_HttpResponse, - CPLE_HttpResponse, - CPLE_AWSBucketNotFound, - CPLE_AWSObjectNotFound, - CPLE_AWSAccessDenied, - CPLE_AWSInvalidCredentials, - CPLE_AWSSignatureDoesNotMatch, -} CPLErrorNum; - -#else - -typedef int CPLErrorNum; - -#define CPLE_None 0 -#define CPLE_AppDefined 1 -#define CPLE_OutOfMemory 2 -#define CPLE_FileIO 3 -#define CPLE_OpenFailed 4 -#define CPLE_IllegalArg 5 -#define CPLE_NotSupported 6 -#define CPLE_AssertionFailed 7 -#define CPLE_NoWriteAccess 8 -#define CPLE_UserInterrupt 9 -#define CPLE_ObjectNull 10 - -/* - * Filesystem-specific errors - */ -#define CPLE_HttpResponse 11 -#define CPLE_AWSBucketNotFound 12 -#define CPLE_AWSObjectNotFound 13 -#define CPLE_AWSAccessDenied 14 -#define CPLE_AWSInvalidCredentials 15 -#define CPLE_AWSSignatureDoesNotMatch 16 - -/* 100 - 299 reserved for GDAL */ - -#endif - -void CPL_DLL CPLError(CPLErr eErrClass, CPLErrorNum err_no, const char *fmt, ...) CPL_PRINT_FUNC_FORMAT (3, 4); -void CPL_DLL CPLErrorV(CPLErr, CPLErrorNum, const char *, va_list ); -void CPL_DLL CPLEmergencyError( const char * ) CPL_NO_RETURN; -void CPL_DLL CPL_STDCALL CPLErrorReset( void ); -CPLErrorNum CPL_DLL CPL_STDCALL CPLGetLastErrorNo( void ); -CPLErr CPL_DLL CPL_STDCALL CPLGetLastErrorType( void ); -const char CPL_DLL * CPL_STDCALL CPLGetLastErrorMsg( void ); -void CPL_DLL * CPL_STDCALL CPLGetErrorHandlerUserData(void); -void CPL_DLL CPLErrorSetState( CPLErr eErrClass, CPLErrorNum err_no, const char* pszMsg ); -void CPL_DLL CPLCleanupErrorMutex( void ); - -typedef void (CPL_STDCALL *CPLErrorHandler)(CPLErr, CPLErrorNum, const char*); - -void CPL_DLL CPL_STDCALL CPLLoggingErrorHandler( CPLErr, CPLErrorNum, const char * ); -void CPL_DLL CPL_STDCALL CPLDefaultErrorHandler( CPLErr, CPLErrorNum, const char * ); -void CPL_DLL CPL_STDCALL CPLQuietErrorHandler( CPLErr, CPLErrorNum, const char * ); -void CPLTurnFailureIntoWarning(int bOn ); - -CPLErrorHandler CPL_DLL CPL_STDCALL CPLSetErrorHandler(CPLErrorHandler); -CPLErrorHandler CPL_DLL CPL_STDCALL CPLSetErrorHandlerEx(CPLErrorHandler, void*); -void CPL_DLL CPL_STDCALL CPLPushErrorHandler( CPLErrorHandler ); -void CPL_DLL CPL_STDCALL CPLPushErrorHandlerEx( CPLErrorHandler, void* ); -void CPL_DLL CPL_STDCALL CPLSetCurrentErrorHandlerCatchDebug( int bCatchDebug ); -void CPL_DLL CPL_STDCALL CPLPopErrorHandler(void); - -void CPL_DLL CPL_STDCALL CPLDebug( const char *, const char *, ... ) CPL_PRINT_FUNC_FORMAT (2, 3); -void CPL_DLL CPL_STDCALL _CPLAssert( const char *, const char *, int ) CPL_NO_RETURN; - -#ifdef DEBUG -# define CPLAssert(expr) ((expr) ? (void)(0) : _CPLAssert(#expr,__FILE__,__LINE__)) -#else -# define CPLAssert(expr) -#endif - -CPL_C_END - -/* - * Helper macros used for input parameters validation. - */ -#ifdef DEBUG -# define VALIDATE_POINTER_ERR CE_Fatal -#else -# define VALIDATE_POINTER_ERR CE_Failure -#endif - -#define VALIDATE_POINTER0(ptr, func) \ - do { if( NULL == ptr ) \ - { \ - CPLErr const ret = VALIDATE_POINTER_ERR; \ - CPLError( ret, CPLE_ObjectNull, \ - "Pointer \'%s\' is NULL in \'%s\'.\n", #ptr, (func)); \ - return; }} while(0) - -#define VALIDATE_POINTER1(ptr, func, rc) \ - do { if( NULL == ptr ) \ - { \ - CPLErr const ret = VALIDATE_POINTER_ERR; \ - CPLError( ret, CPLE_ObjectNull, \ - "Pointer \'%s\' is NULL in \'%s\'.\n", #ptr, (func)); \ - return (rc); }} while(0) - -#endif /* CPL_ERROR_H_INCLUDED */ diff --git a/src/gdal/cpl_hash_set.h b/src/gdal/cpl_hash_set.h deleted file mode 100644 index 37b68d8d..00000000 --- a/src/gdal/cpl_hash_set.h +++ /dev/null @@ -1,94 +0,0 @@ -/********************************************************************** - * $Id: cpl_hash_set.h 33666 2016-03-07 05:21:07Z goatbar $ - * - * Name: cpl_hash_set.h - * Project: CPL - Common Portability Library - * Purpose: Hash set functions. - * Author: Even Rouault, - * - ********************************************************************** - * Copyright (c) 2008-2009, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_HASH_SET_H_INCLUDED -#define CPL_HASH_SET_H_INCLUDED - -#include "cpl_port.h" - -/** - * \file cpl_hash_set.h - * - * Hash set implementation. - * - * An hash set is a data structure that holds elements that are unique - * according to a comparison function. Operations on the hash set, such as - * insertion, removal or lookup, are supposed to be fast if an efficient - * "hash" function is provided. - */ - -CPL_C_START - -/* Types */ - -typedef struct _CPLHashSet CPLHashSet; - -typedef unsigned long (*CPLHashSetHashFunc)(const void* elt); - -typedef int (*CPLHashSetEqualFunc)(const void* elt1, const void* elt2); - -typedef void (*CPLHashSetFreeEltFunc)(void* elt); - -typedef int (*CPLHashSetIterEltFunc)(void* elt, void* user_data); - -/* Functions */ - -CPLHashSet CPL_DLL * CPLHashSetNew(CPLHashSetHashFunc fnHashFunc, - CPLHashSetEqualFunc fnEqualFunc, - CPLHashSetFreeEltFunc fnFreeEltFunc); - -void CPL_DLL CPLHashSetDestroy(CPLHashSet* set); - -void CPL_DLL CPLHashSetClear(CPLHashSet* set); - -int CPL_DLL CPLHashSetSize(const CPLHashSet* set); - -void CPL_DLL CPLHashSetForeach(CPLHashSet* set, - CPLHashSetIterEltFunc fnIterFunc, - void* user_data); - -int CPL_DLL CPLHashSetInsert(CPLHashSet* set, void* elt); - -void CPL_DLL * CPLHashSetLookup(CPLHashSet* set, const void* elt); - -int CPL_DLL CPLHashSetRemove(CPLHashSet* set, const void* elt); -int CPL_DLL CPLHashSetRemoveDeferRehash(CPLHashSet* set, const void* elt); - -unsigned long CPL_DLL CPLHashSetHashPointer(const void* elt); - -int CPL_DLL CPLHashSetEqualPointer(const void* elt1, const void* elt2); - -unsigned long CPL_DLL CPLHashSetHashStr(const void * pszStr); - -int CPL_DLL CPLHashSetEqualStr(const void* pszStr1, const void* pszStr2); - -CPL_C_END - -#endif /* CPL_HASH_SET_H_INCLUDED */ diff --git a/src/gdal/cpl_http.h b/src/gdal/cpl_http.h deleted file mode 100644 index 071ed118..00000000 --- a/src/gdal/cpl_http.h +++ /dev/null @@ -1,105 +0,0 @@ -/****************************************************************************** - * $Id: cpl_http.h 33666 2016-03-07 05:21:07Z goatbar $ - * - * Project: Common Portability Library - * Purpose: Function wrapper for libcurl HTTP access. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 2006, Frank Warmerdam - * Copyright (c) 2009, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_HTTP_H_INCLUDED -#define CPL_HTTP_H_INCLUDED - -#include "cpl_conv.h" -#include "cpl_string.h" -#include "cpl_vsi.h" - -/** - * \file cpl_http.h - * - * Interface for downloading HTTP, FTP documents - */ - -CPL_C_START - -/*! Describe a part of a multipart message */ -typedef struct { - /*! NULL terminated array of headers */ char **papszHeaders; - - /*! Buffer with data of the part */ GByte *pabyData; - /*! Buffer length */ int nDataLen; -} CPLMimePart; - -/*! Describe the result of a CPLHTTPFetch() call */ -typedef struct { - /*! cURL error code : 0=success, non-zero if request failed */ - int nStatus; - - /*! Content-Type of the response */ - char *pszContentType; - - /*! Error message from curl, or NULL */ - char *pszErrBuf; - - /*! Length of the pabyData buffer */ - int nDataLen; - int nDataAlloc; - - /*! Buffer with downloaded data */ - GByte *pabyData; - - /*! Headers returned */ - char **papszHeaders; - - /*! Number of parts in a multipart message */ - int nMimePartCount; - - /*! Array of parts (resolved by CPLHTTPParseMultipartMime()) */ - CPLMimePart *pasMimePart; - -} CPLHTTPResult; - -int CPL_DLL CPLHTTPEnabled( void ); -CPLHTTPResult CPL_DLL *CPLHTTPFetch( const char *pszURL, char **papszOptions); -void CPL_DLL CPLHTTPCleanup( void ); -void CPL_DLL CPLHTTPDestroyResult( CPLHTTPResult *psResult ); -int CPL_DLL CPLHTTPParseMultipartMime( CPLHTTPResult *psResult ); - -/* -------------------------------------------------------------------- */ -/* The following is related to OAuth2 authorization around */ -/* google services like fusion tables, and potentially others */ -/* in the future. Code in cpl_google_oauth2.cpp. */ -/* */ -/* These services are built on CPL HTTP services. */ -/* -------------------------------------------------------------------- */ - -char CPL_DLL *GOA2GetAuthorizationURL( const char *pszScope ); -char CPL_DLL *GOA2GetRefreshToken( const char *pszAuthToken, - const char *pszScope ); -char CPL_DLL *GOA2GetAccessToken( const char *pszRefreshToken, - const char *pszScope ); - -CPL_C_END - -#endif /* ndef CPL_HTTP_H_INCLUDED */ diff --git a/src/gdal/cpl_list.h b/src/gdal/cpl_list.h deleted file mode 100644 index a6e64d87..00000000 --- a/src/gdal/cpl_list.h +++ /dev/null @@ -1,72 +0,0 @@ -/********************************************************************** - * $Id: cpl_list.h 33671 2016-03-07 18:39:06Z goatbar $ - * - * Name: cpl_list.h - * Project: CPL - Common Portability Library - * Purpose: List functions. - * Author: Andrey Kiselev, dron@remotesensing.org - * - ********************************************************************** - * Copyright (c) 2003, Andrey Kiselev - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_LIST_H_INCLUDED -#define CPL_LIST_H_INCLUDED - -#include "cpl_port.h" - -/** - * \file cpl_list.h - * - * Simplest list implementation. List contains only pointers to stored - * objects, not objects itself. All operations regarding allocation and - * freeing memory for objects should be performed by the caller. - * - */ - -CPL_C_START - -/** List element structure. */ -typedef struct _CPLList -{ - /*! Pointer to the data object. Should be allocated and freed by the - * caller. - * */ - void *pData; - /*! Pointer to the next element in list. NULL, if current element is the - * last one. - */ - struct _CPLList *psNext; -} CPLList; - -CPLList CPL_DLL *CPLListAppend( CPLList *psList, void * pData ); -CPLList CPL_DLL *CPLListInsert( CPLList *psList, void * pData, int nPosition ); -CPLList CPL_DLL *CPLListGetLast( CPLList *psList ); -CPLList CPL_DLL *CPLListGet( CPLList * const psList, int nPosition ); -int CPL_DLL CPLListCount( const CPLList *psList ); -CPLList CPL_DLL *CPLListRemove( CPLList *psList, int nPosition ); -void CPL_DLL CPLListDestroy( CPLList *psList ); -CPLList CPL_DLL *CPLListGetNext( const CPLList *psElement ); -void CPL_DLL *CPLListGetData( const CPLList *psElement ); - -CPL_C_END - -#endif /* CPL_LIST_H_INCLUDED */ diff --git a/src/gdal/cpl_minixml.h b/src/gdal/cpl_minixml.h deleted file mode 100644 index 3b53e130..00000000 --- a/src/gdal/cpl_minixml.h +++ /dev/null @@ -1,181 +0,0 @@ -/********************************************************************** - * $Id: cpl_minixml.h 33666 2016-03-07 05:21:07Z goatbar $ - * - * Project: CPL - Common Portability Library - * Purpose: Declarations for MiniXML Handler. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ********************************************************************** - * Copyright (c) 2001, Frank Warmerdam - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_MINIXML_H_INCLUDED -#define CPL_MINIXML_H_INCLUDED - -#include "cpl_port.h" - -/** - * \file cpl_minixml.h - * - * Definitions for CPL mini XML Parser/Serializer. - */ - -CPL_C_START - -typedef enum -{ - /*! Node is an element */ CXT_Element = 0, - /*! Node is a raw text value */ CXT_Text = 1, - /*! Node is attribute */ CXT_Attribute = 2, - /*! Node is an XML comment. */ CXT_Comment = 3, - /*! Node is a special literal */ CXT_Literal = 4 -} CPLXMLNodeType; - -/** - * Document node structure. - * - * This C structure is used to hold a single text fragment representing a - * component of the document when parsed. It should be allocated with the - * appropriate CPL function, and freed with CPLDestroyXMLNode(). The structure - * contents should not normally be altered by application code, but may be - * freely examined by application code. - * - * Using the psChild and psNext pointers, a hierarchical tree structure - * for a document can be represented as a tree of CPLXMLNode structures. - */ - -typedef struct CPLXMLNode -{ - /** - * \brief Node type - * - * One of CXT_Element, CXT_Text, CXT_Attribute, CXT_Comment, - * or CXT_Literal. - */ - CPLXMLNodeType eType; - - /** - * \brief Node value - * - * For CXT_Element this is the name of the element, without the angle - * brackets. Note there is a single CXT_Element even when the document - * contains a start and end element tag. The node represents the pair. - * All text or other elements between the start and end tag will appear - * as children nodes of this CXT_Element node. - * - * For CXT_Attribute the pszValue is the attribute name. The value of - * the attribute will be a CXT_Text child. - * - * For CXT_Text this is the text itself (value of an attribute, or a - * text fragment between an element start and end tags. - * - * For CXT_Literal it is all the literal text. Currently this is just - * used for !DOCTYPE lines, and the value would be the entire line. - * - * For CXT_Comment the value is all the literal text within the comment, - * but not including the comment start/end indicators ("<--" and "-->"). - */ - char *pszValue; - - /** - * \brief Next sibling. - * - * Pointer to next sibling, that is the next node appearing after this - * one that has the same parent as this node. NULL if this node is the - * last child of the parent element. - */ - struct CPLXMLNode *psNext; - - /** - * \brief Child node. - * - * Pointer to first child node, if any. Only CXT_Element and CXT_Attribute - * nodes should have children. For CXT_Attribute it should be a single - * CXT_Text value node, while CXT_Element can have any kind of child. - * The full list of children for a node are identified by walking the - * psNext's starting with the psChild node. - */ - - struct CPLXMLNode *psChild; -} CPLXMLNode; - - -CPLXMLNode CPL_DLL *CPLParseXMLString( const char * ); -void CPL_DLL CPLDestroyXMLNode( CPLXMLNode * ); -CPLXMLNode CPL_DLL *CPLGetXMLNode( CPLXMLNode *poRoot, - const char *pszPath ); -CPLXMLNode CPL_DLL *CPLSearchXMLNode( CPLXMLNode *poRoot, - const char *pszTarget ); -const char CPL_DLL *CPLGetXMLValue( CPLXMLNode *poRoot, - const char *pszPath, - const char *pszDefault ); -CPLXMLNode CPL_DLL *CPLCreateXMLNode( CPLXMLNode *poParent, - CPLXMLNodeType eType, - const char *pszText ); -char CPL_DLL *CPLSerializeXMLTree( const CPLXMLNode *psNode ); -void CPL_DLL CPLAddXMLChild( CPLXMLNode *psParent, - CPLXMLNode *psChild ); -int CPL_DLL CPLRemoveXMLChild( CPLXMLNode *psParent, - CPLXMLNode *psChild ); -void CPL_DLL CPLAddXMLSibling( CPLXMLNode *psOlderSibling, - CPLXMLNode *psNewSibling ); -CPLXMLNode CPL_DLL *CPLCreateXMLElementAndValue( CPLXMLNode *psParent, - const char *pszName, - const char *pszValue ); -void CPL_DLL CPLAddXMLAttributeAndValue( CPLXMLNode *psParent, - const char *pszName, - const char *pszValue ); -CPLXMLNode CPL_DLL *CPLCloneXMLTree( CPLXMLNode *psTree ); -int CPL_DLL CPLSetXMLValue( CPLXMLNode *psRoot, const char *pszPath, - const char *pszValue ); -void CPL_DLL CPLStripXMLNamespace( CPLXMLNode *psRoot, - const char *pszNameSpace, - int bRecurse ); -void CPL_DLL CPLCleanXMLElementName( char * ); - -CPLXMLNode CPL_DLL *CPLParseXMLFile( const char *pszFilename ); -int CPL_DLL CPLSerializeXMLTreeToFile( const CPLXMLNode *psTree, - const char *pszFilename ); - -CPL_C_END - -#ifdef __cplusplus -// Manage a tree of XML nodes so that all nodes are freed when the instance goes -// out of scope. Only the top level node should be in a CPLXMLTreeCloser. -class CPLXMLTreeCloser { - public: - explicit CPLXMLTreeCloser(CPLXMLNode* data) { the_data_ = data; } - - ~CPLXMLTreeCloser() { - if (the_data_) CPLDestroyXMLNode(the_data_); - } - - // Modifying the contents pointed to by the return is allowed. - CPLXMLNode* get() const { return the_data_; } - - CPLXMLNode* operator->() const { return get(); } - - private: - CPLXMLNode* the_data_; -}; -#endif /* __cplusplus */ - -#endif /* CPL_MINIXML_H_INCLUDED */ diff --git a/src/gdal/cpl_minizip_ioapi.h b/src/gdal/cpl_minizip_ioapi.h deleted file mode 100644 index 15f188d5..00000000 --- a/src/gdal/cpl_minizip_ioapi.h +++ /dev/null @@ -1,82 +0,0 @@ -/* Modified version by Even Rouault. : - - change fill_fopen_filefunc to cpl_fill_fopen_filefunc - - Add support for ZIP64 - - * Copyright (c) 2008-2012, Even Rouault - - Original licence available in port/LICENCE_minizip -*/ - -/* ioapi.h -- IO base function header for compress/uncompress .zip - files using zlib + zip or unzip API - - Version 1.01e, February 12th, 2005 - - Copyright (C) 1998-2005 Gilles Vollant -*/ - -#ifndef CPL_MINIZIP_IOAPI_H_INCLUDED -#define CPL_MINIZIP_IOAPI_H_INCLUDED - -#include "cpl_vsi.h" -#define uLong64 vsi_l_offset - -#define ZLIB_FILEFUNC_SEEK_CUR (1) -#define ZLIB_FILEFUNC_SEEK_END (2) -#define ZLIB_FILEFUNC_SEEK_SET (0) - -#define ZLIB_FILEFUNC_MODE_READ (1) -#define ZLIB_FILEFUNC_MODE_WRITE (2) -#define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3) - -#define ZLIB_FILEFUNC_MODE_EXISTING (4) -#define ZLIB_FILEFUNC_MODE_CREATE (8) - -#ifndef ZCALLBACK - -#if (defined(WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK) -#define ZCALLBACK CALLBACK -#else -#define ZCALLBACK -#endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -typedef voidpf (ZCALLBACK *open_file_func) (voidpf opaque, const char* filename, int mode); -typedef uLong (ZCALLBACK *read_file_func) (voidpf opaque, voidpf stream, void* buf, uLong size); -typedef uLong (ZCALLBACK *write_file_func) (voidpf opaque, voidpf stream, const void* buf, uLong size); -typedef uLong64 (ZCALLBACK *tell_file_func) (voidpf opaque, voidpf stream); -typedef long (ZCALLBACK *seek_file_func) (voidpf opaque, voidpf stream, uLong64 offset, int origin); -typedef int (ZCALLBACK *close_file_func) (voidpf opaque, voidpf stream); -typedef int (ZCALLBACK *testerror_file_func) (voidpf opaque, voidpf stream); - -typedef struct zlib_filefunc_def_s -{ - open_file_func zopen_file; - read_file_func zread_file; - write_file_func zwrite_file; - tell_file_func ztell_file; - seek_file_func zseek_file; - close_file_func zclose_file; - testerror_file_func zerror_file; - voidpf opaque; -} zlib_filefunc_def; - -void cpl_fill_fopen_filefunc (zlib_filefunc_def* pzlib_filefunc_def); - -#define ZREAD(filefunc,filestream,buf,size) ((*((filefunc).zread_file))((filefunc).opaque,filestream,buf,size)) -#define ZWRITE(filefunc,filestream,buf,size) ((*((filefunc).zwrite_file))((filefunc).opaque,filestream,buf,size)) -#define ZTELL(filefunc,filestream) ((*((filefunc).ztell_file))((filefunc).opaque,filestream)) -#define ZSEEK(filefunc,filestream,pos,mode) ((*((filefunc).zseek_file))((filefunc).opaque,filestream,pos,mode)) -#define ZCLOSE(filefunc,filestream) ((*((filefunc).zclose_file))((filefunc).opaque,filestream)) -#define ZERROR(filefunc,filestream) ((*((filefunc).zerror_file))((filefunc).opaque,filestream)) - - -#ifdef __cplusplus -} -#endif - -#endif /* CPL_MINIZIP_IOAPI_H_INCLUDED */ diff --git a/src/gdal/cpl_minizip_unzip.h b/src/gdal/cpl_minizip_unzip.h deleted file mode 100644 index b02d830a..00000000 --- a/src/gdal/cpl_minizip_unzip.h +++ /dev/null @@ -1,381 +0,0 @@ -/* Modified version by Even Rouault. : - - Addition of cpl_unzGetCurrentFileZStreamPos - - Decoration of symbol names unz* -> cpl_unz* - - Undef EXPORT so that we are sure the symbols are not exported - - Add support for ZIP64 - - * Copyright (c) 2008, Even Rouault - - Original licence available in port/LICENCE_minizip -*/ - -/* unzip.h -- IO for uncompress .zip files using zlib - Version 1.01e, February 12th, 2005 - - Copyright (C) 1998-2005 Gilles Vollant - - This unzip package allow extract file from .ZIP file, compatible with PKZip 2.04g - WinZip, InfoZip tools and compatible. - - Multi volume ZipFile (span) are not supported. - Encryption compatible with pkzip 2.04g only supported - Old compressions used by old PKZip 1.x are not supported - - - I WAIT FEEDBACK at mail info@winimage.com - Visit also http://www.winimage.com/zLibDll/unzip.htm for evolution - - Condition of use and distribution are the same than zlib : - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - -*/ - -/* for more info about .ZIP format, see - http://www.info-zip.org/pub/infozip/doc/appnote-981119-iz.zip - http://www.info-zip.org/pub/infozip/doc/ - PkWare has also a specification at : - ftp://ftp.pkware.com/probdesc.zip -*/ - -#ifndef CPL_MINIZIP_UNZIP_H_INCLUDED -#define CPL_MINIZIP_UNZIP_H_INCLUDED - -#include "cpl_vsi.h" -#define uLong64 vsi_l_offset - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _ZLIB_H -#include -#endif - -#ifndef CPL_MINIZIP_IOAPI_H_INCLUDED -#include "cpl_minizip_ioapi.h" -#endif - -/* GDAL addition */ -#define NOUNCRYPT -#undef ZEXPORT -#define ZEXPORT - -#if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP) -/* like the STRICT of WIN32, we define a pointer that cannot be converted - from (void*) without cast */ -typedef struct TagunzFile__ { int unused; } unzFile__; -typedef unzFile__ *unzFile; -#else -typedef voidp unzFile; -#endif - - -#define UNZ_OK (0) -#define UNZ_END_OF_LIST_OF_FILE (-100) -#define UNZ_ERRNO (Z_ERRNO) -#define UNZ_EOF (0) -#define UNZ_PARAMERROR (-102) -#define UNZ_BADZIPFILE (-103) -#define UNZ_INTERNALERROR (-104) -#define UNZ_CRCERROR (-105) - -/* tm_unz contain date/time info */ -typedef struct tm_unz_s -{ - uInt tm_sec; /* seconds after the minute - [0,59] */ - uInt tm_min; /* minutes after the hour - [0,59] */ - uInt tm_hour; /* hours since midnight - [0,23] */ - uInt tm_mday; /* day of the month - [1,31] */ - uInt tm_mon; /* months since January - [0,11] */ - uInt tm_year; /* years - [1980..2044] */ -} tm_unz; - -/* unz_global_info structure contain global data about the ZIPfile - These data comes from the end of central dir */ -typedef struct unz_global_info_s -{ - uLong64 number_entry; /* total number of entries in - the central dir on this disk */ - uLong size_comment; /* size of the global comment of the zipfile */ -} unz_global_info; - - -/* unz_file_info contain information about a file in the zipfile */ -typedef struct unz_file_info_s -{ - uLong version; /* version made by 2 bytes */ - uLong version_needed; /* version needed to extract 2 bytes */ - uLong flag; /* general purpose bit flag 2 bytes */ - uLong compression_method; /* compression method 2 bytes */ - uLong dosDate; /* last mod file date in Dos fmt 4 bytes */ - uLong crc; /* crc-32 4 bytes */ - uLong64 compressed_size; /* compressed size 4 bytes */ - uLong64 uncompressed_size; /* uncompressed size 4 bytes */ - uLong size_filename; /* filename length 2 bytes */ - uLong size_file_extra; /* extra field length 2 bytes */ - uLong size_file_comment; /* file comment length 2 bytes */ - - uLong disk_num_start; /* disk number start 2 bytes */ - uLong internal_fa; /* internal file attributes 2 bytes */ - uLong external_fa; /* external file attributes 4 bytes */ - - tm_unz tmu_date; -} unz_file_info; - -extern int ZEXPORT cpl_unzStringFileNameCompare (const char* fileName1, - const char* fileName2, - int iCaseSensitivity); -/* - Compare two filename (fileName1,fileName2). - If iCaseSenisivity = 1, comparison is case sensitivity (like strcmp) - If iCaseSenisivity = 2, comparison is not case sensitivity (like strcmpi - or strcasecmp) - If iCaseSenisivity = 0, case sensitivity is default of your operating system - (like 1 on Unix, 2 on Windows) -*/ - - -extern unzFile ZEXPORT cpl_unzOpen (const char *path); -/* - Open a Zip file. path contain the full pathname (by example, - on a Windows XP computer "c:\\zlib\\zlib113.zip" or on an Unix computer - "zlib/zlib113.zip". - If the zipfile cannot be opened (file don't exist or in not valid), the - return value is NULL. - Else, the return value is a unzFile Handle, usable with other function - of this unzip package. -*/ - -extern unzFile ZEXPORT cpl_unzOpen2 (const char *path, - zlib_filefunc_def* pzlib_filefunc_def); -/* - Open a Zip file, like unzOpen, but provide a set of file low level API - for read/write the zip file (see ioapi.h) -*/ - -extern int ZEXPORT cpl_unzClose (unzFile file); -/* - Close a ZipFile opened with unzipOpen. - If there is files inside the .Zip opened with unzOpenCurrentFile (see later), - these files MUST be closed with unzipCloseCurrentFile before call unzipClose. - return UNZ_OK if there is no problem. */ - -extern int ZEXPORT cpl_unzGetGlobalInfo (unzFile file, - unz_global_info *pglobal_info); -/* - Write info about the ZipFile in the *pglobal_info structure. - No preparation of the structure is needed - return UNZ_OK if there is no problem. */ - - -extern int ZEXPORT cpl_unzGetGlobalComment (unzFile file, - char *szComment, - uLong uSizeBuf); -/* - Get the global comment string of the ZipFile, in the szComment buffer. - uSizeBuf is the size of the szComment buffer. - return the number of byte copied or an error code <0 -*/ - - -/***************************************************************************/ -/* Unzip package allow you browse the directory of the zipfile */ - -extern int ZEXPORT cpl_unzGoToFirstFile (unzFile file); -/* - Set the current file of the zipfile to the first file. - return UNZ_OK if there is no problem -*/ - -extern int ZEXPORT cpl_unzGoToNextFile (unzFile file); -/* - Set the current file of the zipfile to the next file. - return UNZ_OK if there is no problem - return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. -*/ - -extern int ZEXPORT cpl_unzLocateFile (unzFile file, - const char *szFileName, - int iCaseSensitivity); -/* - Try locate the file szFileName in the zipfile. - For the iCaseSensitivity signification, see unzStringFileNameCompare - - return value : - UNZ_OK if the file is found. It becomes the current file. - UNZ_END_OF_LIST_OF_FILE if the file is not found -*/ - - -/* ****************************************** */ -/* Ryan supplied functions */ -/* unz_file_info contain information about a file in the zipfile */ -typedef struct unz_file_pos_s -{ - uLong64 pos_in_zip_directory; /* offset in zip file directory */ - uLong64 num_of_file; /* # of file */ -} unz_file_pos; - -extern int ZEXPORT cpl_unzGetFilePos( - unzFile file, - unz_file_pos* file_pos); - -extern int ZEXPORT cpl_unzGoToFilePos( - unzFile file, - unz_file_pos* file_pos); - -/* ****************************************** */ - -extern int ZEXPORT cpl_unzGetCurrentFileInfo (unzFile file, - unz_file_info *pfile_info, - char *szFileName, - uLong fileNameBufferSize, - void *extraField, - uLong extraFieldBufferSize, - char *szComment, - uLong commentBufferSize); -/* - Get Info about the current file - if pfile_info!=NULL, the *pfile_info structure will contain some info about - the current file - if szFileName!=NULL, the filename string will be copied in szFileName - (fileNameBufferSize is the size of the buffer) - if extraField!=NULL, the extra field information will be copied in extraField - (extraFieldBufferSize is the size of the buffer). - This is the Central-header version of the extra field - if szComment!=NULL, the comment string of the file will be copied in szComment - (commentBufferSize is the size of the buffer) -*/ - - -/** Addition for GDAL : START */ - -extern uLong64 ZEXPORT cpl_unzGetCurrentFileZStreamPos (unzFile file); - -/** Addition for GDAL : END */ - - -/***************************************************************************/ -/* for reading the content of the current zipfile, you can open it, read data - from it, and close it (you can close it before reading all the file) - */ - -extern int ZEXPORT cpl_unzOpenCurrentFile (unzFile file); -/* - Open for reading data the current file in the zipfile. - If there is no error, the return value is UNZ_OK. -*/ - -extern int ZEXPORT cpl_unzOpenCurrentFilePassword (unzFile file, - const char* password); -/* - Open for reading data the current file in the zipfile. - password is a crypting password - If there is no error, the return value is UNZ_OK. -*/ - -extern int ZEXPORT cpl_unzOpenCurrentFile2 (unzFile file, - int* method, - int* level, - int raw); -/* - Same than unzOpenCurrentFile, but open for read raw the file (not uncompress) - if raw==1 - *method will receive method of compression, *level will receive level of - compression - note : you can set level parameter as NULL (if you did not want known level, - but you CANNOT set method parameter as NULL -*/ - -extern int ZEXPORT cpl_unzOpenCurrentFile3 (unzFile file, - int* method, - int* level, - int raw, - const char* password); -/* - Same than unzOpenCurrentFile, but open for read raw the file (not uncompress) - if raw==1 - *method will receive method of compression, *level will receive level of - compression - note : you can set level parameter as NULL (if you did not want known level, - but you CANNOT set method parameter as NULL -*/ - - -extern int ZEXPORT cpl_unzCloseCurrentFile (unzFile file); -/* - Close the file in zip opened with unzOpenCurrentFile - Return UNZ_CRCERROR if all the file was read but the CRC is not good -*/ - -extern int ZEXPORT cpl_unzReadCurrentFile (unzFile file, - voidp buf, - unsigned len); -/* - Read bytes from the current file (opened by unzOpenCurrentFile) - buf contain buffer where data must be copied - len the size of buf. - - return the number of byte copied if some bytes are copied - return 0 if the end of file was reached - return <0 with error code if there is an error - (UNZ_ERRNO for IO error, or zLib error for uncompress error) -*/ - -extern z_off_t ZEXPORT cpl_unztell (unzFile file); -/* - Give the current position in uncompressed data -*/ - -extern int ZEXPORT cpl_unzeof (unzFile file); -/* - return 1 if the end of file was reached, 0 elsewhere -*/ - -extern int ZEXPORT cpl_unzGetLocalExtrafield (unzFile file, - voidp buf, - unsigned len); -/* - Read extra field from the current file (opened by unzOpenCurrentFile) - This is the local-header version of the extra field (sometimes, there is - more info in the local-header version than in the central-header) - - if buf==NULL, it return the size of the local extra field - - if buf!=NULL, len is the size of the buffer, the extra header is copied in - buf. - the return value is the number of bytes copied in buf, or (if <0) - the error code -*/ - -/***************************************************************************/ - -/* Get the current file offset */ -extern uLong64 ZEXPORT cpl_unzGetOffset (unzFile file); - -/* Set the current file offset */ -extern int ZEXPORT cpl_unzSetOffset (unzFile file, uLong64 pos); - - - -#ifdef __cplusplus -} -#endif - -#endif /* CPL_MINIZIP_UNZIP_H_INCLUDED */ diff --git a/src/gdal/cpl_minizip_zip.h b/src/gdal/cpl_minizip_zip.h deleted file mode 100644 index b086990b..00000000 --- a/src/gdal/cpl_minizip_zip.h +++ /dev/null @@ -1,259 +0,0 @@ -/****************************************************************************** - * $Id: cpl_minizip_zip.h 31826 2015-11-29 15:39:57Z goatbar $ - * - * Project: CPL - Common Portability Library - * Author: Frank Warmerdam, warmerdam@pobox.com - * Purpose: Adjusted minizip "zip.h" include file for zip services. - * - * Modified version by Even Rouault. : - * - Decoration of symbol names unz* -> cpl_unz* - * - Undef EXPORT so that we are sure the symbols are not exported - * - Remove old C style function prototypes - * - Added CPL* simplified API at bottom. - * - * Original licence available in port/LICENCE_minizip - * - *****************************************************************************/ - -/* zip.h -- IO for compress .zip files using zlib - Version 1.01e, February 12th, 2005 - - Copyright (C) 1998-2005 Gilles Vollant - - This unzip package allow creates .ZIP file, compatible with PKZip 2.04g - WinZip, InfoZip tools and compatible. - Multi volume ZipFile (span) are not supported. - Encryption compatible with pkzip 2.04g only supported - Old compressions used by old PKZip 1.x are not supported - - For uncompress .zip file, look at unzip.h - - - I WAIT FEEDBACK at mail info@winimage.com - Visit also http://www.winimage.com/zLibDll/unzip.html for evolution - - Condition of use and distribution are the same than zlib : - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - -*/ - -/* for more info about .ZIP format, see - http://www.info-zip.org/pub/infozip/doc/appnote-981119-iz.zip - http://www.info-zip.org/pub/infozip/doc/ - PkWare has also a specification at : - ftp://ftp.pkware.com/probdesc.zip -*/ - -#ifndef CPL_MINIZIP_ZIP_H_INCLUDED -#define CPL_MINIZIP_ZIP_H_INCLUDED - -#include "cpl_vsi.h" -#define uLong64 vsi_l_offset - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _ZLIB_H -#include "zlib.h" -#endif - -#ifndef CPL_MINIZIP_IOAPI_H_INCLUDED -#include "cpl_minizip_ioapi.h" -#endif - -#define NOCRYPT -#undef ZEXPORT -#define ZEXPORT - -#if defined(STRICTZIP) || defined(STRICTZIPUNZIP) -/* like the STRICT of WIN32, we define a pointer that cannot be converted - from (void*) without cast */ -typedef struct TagzipFile__ { int unused; } zipFile__; -typedef zipFile__ *zipFile; -#else -typedef voidp zipFile; -#endif - -#define ZIP_OK (0) -#define ZIP_EOF (0) -#define ZIP_ERRNO (Z_ERRNO) -#define ZIP_PARAMERROR (-102) -#define ZIP_BADZIPFILE (-103) -#define ZIP_INTERNALERROR (-104) - -#ifndef DEF_MEM_LEVEL -# if MAX_MEM_LEVEL >= 8 -# define DEF_MEM_LEVEL 8 -# else -# define DEF_MEM_LEVEL MAX_MEM_LEVEL -# endif -#endif -/* default memLevel */ - -/* tm_zip contain date/time info */ -typedef struct tm_zip_s -{ - uInt tm_sec; /* seconds after the minute - [0,59] */ - uInt tm_min; /* minutes after the hour - [0,59] */ - uInt tm_hour; /* hours since midnight - [0,23] */ - uInt tm_mday; /* day of the month - [1,31] */ - uInt tm_mon; /* months since January - [0,11] */ - uInt tm_year; /* years - [1980..2044] */ -} tm_zip; - -typedef struct -{ - tm_zip tmz_date; /* date in understandable format */ - uLong dosDate; /* if dos_date == 0, tmu_date is used */ -/* uLong flag; */ /* general purpose bit flag 2 bytes */ - - uLong internal_fa; /* internal file attributes 2 bytes */ - uLong external_fa; /* external file attributes 4 bytes */ -} zip_fileinfo; - -typedef const char* zipcharpc; - - -#define APPEND_STATUS_CREATE (0) -#define APPEND_STATUS_CREATEAFTER (1) -#define APPEND_STATUS_ADDINZIP (2) - -extern zipFile ZEXPORT cpl_zipOpen (const char *pathname, int append); -/* - Create a zipfile. - pathname contain on Windows XP a filename like "c:\\zlib\\zlib113.zip" or on - an Unix computer "zlib/zlib113.zip". - if the file pathname exist and append==APPEND_STATUS_CREATEAFTER, the zip - will be created at the end of the file. - (useful if the file contain a self extractor code) - if the file pathname exist and append==APPEND_STATUS_ADDINZIP, we will - add files in existing zip (be sure you don't add file that doesn't exist) - If the zipfile cannot be opened, the return value is NULL. - Else, the return value is a zipFile Handle, usable with other function - of this zip package. -*/ - -/* Note : there is no delete function for a zipfile. - If you want delete file in a zipfile, you must open a zipfile, and create another. - Of course, you can use RAW reading and writing to copy the file you did not want delete. -*/ - -extern zipFile ZEXPORT cpl_zipOpen2 (const char *pathname, - int append, - zipcharpc* globalcomment, - zlib_filefunc_def* pzlib_filefunc_def); - -extern int ZEXPORT cpl_zipOpenNewFileInZip (zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level); -/* - Open a file in the ZIP for writing. - filename : the filename in zip (if NULL, '-' without quote will be used - *zipfi contain supplemental information - if extrafield_local!=NULL and size_extrafield_local>0, extrafield_local - contains the extrafield data the local header - if extrafield_global!=NULL and size_extrafield_global>0, extrafield_global - contains the extrafield data the local header - if comment != NULL, comment contain the comment string - method contain the compression method (0 for store, Z_DEFLATED for deflate) - level contain the level of compression (can be Z_DEFAULT_COMPRESSION) -*/ - - -extern int ZEXPORT cpl_zipOpenNewFileInZip2 (zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level, - int raw); - -/* - Same than zipOpenNewFileInZip, except if raw=1, we write raw file - */ - -extern int ZEXPORT cpl_zipOpenNewFileInZip3 (zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level, - int raw, - int windowBits, - int memLevel, - int strategy, - const char* password, - uLong crcForCtypting); - -/* - Same than zipOpenNewFileInZip2, except - windowBits,memLevel,,strategy : see parameter strategy in deflateInit2 - password : crypting password (NULL for no crypting) - crcForCtypting : crc of file to compress (needed for crypting) - */ - - -extern int ZEXPORT cpl_zipWriteInFileInZip (zipFile file, - const void* buf, - unsigned len); -/* - Write data in the zipfile -*/ - -extern int ZEXPORT cpl_zipCloseFileInZip (zipFile file); -/* - Close the current file in the zipfile -*/ - -extern int ZEXPORT cpl_zipCloseFileInZipRaw (zipFile file, - uLong uncompressed_size, - uLong crc32); -/* - Close the current file in the zipfile, for file opened with - parameter raw=1 in zipOpenNewFileInZip2 - uncompressed_size and crc32 are value for the uncompressed size -*/ - -extern int ZEXPORT cpl_zipClose (zipFile file, - const char* global_comment); -/* - Close the zipfile -*/ - -#ifdef __cplusplus -} -#endif - -#endif /* _zip_H */ diff --git a/src/gdal/cpl_multiproc.h b/src/gdal/cpl_multiproc.h deleted file mode 100644 index 0a3cfba0..00000000 --- a/src/gdal/cpl_multiproc.h +++ /dev/null @@ -1,234 +0,0 @@ -/********************************************************************** - * $Id: cpl_multiproc.h 33817 2016-03-30 17:35:37Z rouault $ - * - * Project: CPL - Common Portability Library - * Purpose: CPL Multi-Threading, and process handling portability functions. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ********************************************************************** - * Copyright (c) 2002, Frank Warmerdam - * Copyright (c) 2008-2013, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_MULTIPROC_H_INCLUDED_ -#define CPL_MULTIPROC_H_INCLUDED_ - -#include "cpl_port.h" - -/* -** There are three primary implementations of the multi-process support -** controlled by one of CPL_MULTIPROC_WIN32, CPL_MULTIPROC_PTHREAD or -** CPL_MULTIPROC_STUB being defined. If none are defined, the stub -** implementation will be used. -*/ - -#if defined(WIN32) && !defined(CPL_MULTIPROC_STUB) -# define CPL_MULTIPROC_WIN32 -/* MinGW can have pthread support, so disable it to avoid issues */ -/* in cpl_multiproc.cpp */ -# undef CPL_MULTIPROC_PTHREAD -#endif - -#if !defined(CPL_MULTIPROC_WIN32) && !defined(CPL_MULTIPROC_PTHREAD) \ - && !defined(CPL_MULTIPROC_STUB) && !defined(CPL_MULTIPROC_NONE) -# define CPL_MULTIPROC_STUB -#endif - -CPL_C_START - -typedef void (*CPLThreadFunc)(void *); - -void CPL_DLL *CPLLockFile( const char *pszPath, double dfWaitInSeconds ); -void CPL_DLL CPLUnlockFile( void *hLock ); - -#ifdef DEBUG -typedef struct _CPLMutex CPLMutex; -typedef struct _CPLCond CPLCond; -typedef struct _CPLJoinableThread CPLJoinableThread; -#else -#define CPLMutex void -#define CPLCond void -#define CPLJoinableThread void -#endif - -/* Options for CPLCreateMutexEx() and CPLCreateOrAcquireMutexEx() */ -#define CPL_MUTEX_RECURSIVE 0 -#define CPL_MUTEX_ADAPTIVE 1 -#define CPL_MUTEX_REGULAR 2 - -CPLMutex CPL_DLL *CPLCreateMutex( void ); /* returned acquired */ -CPLMutex CPL_DLL *CPLCreateMutexEx( int nOptions ); /* returned acquired */ -int CPL_DLL CPLCreateOrAcquireMutex( CPLMutex **, double dfWaitInSeconds ); -int CPL_DLL CPLCreateOrAcquireMutexEx( CPLMutex **, double dfWaitInSeconds, int nOptions ); -int CPL_DLL CPLAcquireMutex( CPLMutex *hMutex, double dfWaitInSeconds ); -void CPL_DLL CPLReleaseMutex( CPLMutex *hMutex ); -void CPL_DLL CPLDestroyMutex( CPLMutex *hMutex ); -void CPL_DLL CPLCleanupMasterMutex( void ); - -CPLCond CPL_DLL *CPLCreateCond( void ); -void CPL_DLL CPLCondWait( CPLCond *hCond, CPLMutex* hMutex ); -void CPL_DLL CPLCondSignal( CPLCond *hCond ); -void CPL_DLL CPLCondBroadcast( CPLCond *hCond ); -void CPL_DLL CPLDestroyCond( CPLCond *hCond ); - -/** Contrary to what its name suggests, CPLGetPID() actually returns the thread id */ -GIntBig CPL_DLL CPLGetPID( void ); -int CPL_DLL CPLGetCurrentProcessID( void ); -int CPL_DLL CPLCreateThread( CPLThreadFunc pfnMain, void *pArg ); -CPLJoinableThread CPL_DLL* CPLCreateJoinableThread( CPLThreadFunc pfnMain, void *pArg ); -void CPL_DLL CPLJoinThread(CPLJoinableThread* hJoinableThread); -void CPL_DLL CPLSleep( double dfWaitInSeconds ); - -const char CPL_DLL *CPLGetThreadingModel( void ); - -int CPL_DLL CPLGetNumCPUs( void ); - - -typedef struct _CPLLock CPLLock; - -/* Currently LOCK_ADAPTIVE_MUTEX is Linux-only and LOCK_SPIN only available */ -/* on systems with pthread_spinlock API (so not MacOsX). If a requested type */ -/* isn't available, it fallbacks to LOCK_RECURSIVE_MUTEX */ -typedef enum -{ - LOCK_RECURSIVE_MUTEX, - LOCK_ADAPTIVE_MUTEX, - LOCK_SPIN -} CPLLockType; - -CPLLock CPL_DLL *CPLCreateLock( CPLLockType eType ); /* returned NON acquired */ -int CPL_DLL CPLCreateOrAcquireLock( CPLLock**, CPLLockType eType ); -int CPL_DLL CPLAcquireLock( CPLLock* ); -void CPL_DLL CPLReleaseLock( CPLLock* ); -void CPL_DLL CPLDestroyLock( CPLLock* ); -void CPL_DLL CPLLockSetDebugPerf( CPLLock*, int bEnableIn ); /* only available on x86/x86_64 with GCC for now */ - - -CPL_C_END - -#ifdef __cplusplus - -/* Instantiates the mutex if not already done. The parameter x should be a (void**). */ -#define CPLMutexHolderD(x) CPLMutexHolder oHolder(x,1000.0,__FILE__,__LINE__); - -/* Instantiates the mutex with options if not already done. */ -/* The parameter x should be a (void**). */ -#define CPLMutexHolderExD(x, nOptions) CPLMutexHolder oHolder(x,1000.0,__FILE__,__LINE__,nOptions); - -/* This variant assumes the mutex has already been created. If not, it will */ -/* be a no-op. The parameter x should be a (void*) */ -#define CPLMutexHolderOptionalLockD(x) CPLMutexHolder oHolder(x,1000.0,__FILE__,__LINE__); - -class CPL_DLL CPLMutexHolder -{ - private: - CPLMutex *hMutex; - const char *pszFile; - int nLine; - - public: - - /* Instantiates the mutex if not already done. */ - CPLMutexHolder( CPLMutex **phMutex, double dfWaitInSeconds = 1000.0, - const char *pszFile = __FILE__, - int nLine = __LINE__, - int nOptions = CPL_MUTEX_RECURSIVE); - - /* This variant assumes the mutex has already been created. If not, it will */ - /* be a no-op */ - CPLMutexHolder( CPLMutex* hMutex, double dfWaitInSeconds = 1000.0, - const char *pszFile = __FILE__, - int nLine = __LINE__ ); - - ~CPLMutexHolder(); -}; - -/* Instantiates the lock if not already done. The parameter x should be a (CPLLock**). */ -#define CPLLockHolderD(x, eType) CPLLockHolder oHolder(x,eType,__FILE__,__LINE__); - -/* This variant assumes the lock has already been created. If not, it will */ -/* be a no-op. The parameter should be (CPLLock*) */ -#define CPLLockHolderOptionalLockD(x) CPLLockHolder oHolder(x,__FILE__,__LINE__); - -class CPL_DLL CPLLockHolder -{ - private: - CPLLock *hLock; - const char *pszFile; - int nLine; - - public: - - /* Instantiates the lock if not already done. */ - CPLLockHolder( CPLLock **phSpin, CPLLockType eType, - const char *pszFile = __FILE__, - int nLine = __LINE__); - - /* This variant assumes the lock has already been created. If not, it will */ - /* be a no-op */ - CPLLockHolder( CPLLock* hSpin, - const char *pszFile = __FILE__, - int nLine = __LINE__ ); - - ~CPLLockHolder(); -}; - - -#endif /* def __cplusplus */ - -/* -------------------------------------------------------------------- */ -/* Thread local storage. */ -/* -------------------------------------------------------------------- */ - -#define CTLS_RLBUFFERINFO 1 /* cpl_conv.cpp */ -#define CTLS_WIN32_COND 2 /* cpl_multiproc.cpp */ -#define CTLS_CSVTABLEPTR 3 /* cpl_csv.cpp */ -#define CTLS_CSVDEFAULTFILENAME 4 /* cpl_csv.cpp */ -#define CTLS_ERRORCONTEXT 5 /* cpl_error.cpp */ -#define CTLS_GDALDATASET_REC_PROTECT_MAP 6 /* gdaldataset.cpp */ -#define CTLS_PATHBUF 7 /* cpl_path.cpp */ -#define CTLS_UNUSED3 8 -#define CTLS_UNUSED4 9 -#define CTLS_CPLSPRINTF 10 /* cpl_string.h */ -#define CTLS_RESPONSIBLEPID 11 /* gdaldataset.cpp */ -#define CTLS_VERSIONINFO 12 /* gdal_misc.cpp */ -#define CTLS_VERSIONINFO_LICENCE 13 /* gdal_misc.cpp */ -#define CTLS_CONFIGOPTIONS 14 /* cpl_conv.cpp */ -#define CTLS_FINDFILE 15 /* cpl_findfile.cpp */ -#define CTLS_VSIERRORCONTEXT 16 /* cpl_vsi_error.cpp */ - -#define CTLS_MAX 32 - -CPL_C_START -void CPL_DLL * CPLGetTLS( int nIndex ); -void CPL_DLL * CPLGetTLSEx( int nIndex, int* pbMemoryErrorOccurred ); -void CPL_DLL CPLSetTLS( int nIndex, void *pData, int bFreeOnExit ); - -/* Warning : the CPLTLSFreeFunc must not in any case directly or indirectly */ -/* use or fetch any TLS data, or a terminating thread will hang ! */ -typedef void (*CPLTLSFreeFunc)( void* pData ); -void CPL_DLL CPLSetTLSWithFreeFunc( int nIndex, void *pData, CPLTLSFreeFunc pfnFree ); -void CPL_DLL CPLSetTLSWithFreeFuncEx( int nIndex, void *pData, CPLTLSFreeFunc pfnFree, int* pbMemoryErrorOccurred ); - -void CPL_DLL CPLCleanupTLS( void ); -CPL_C_END - -#endif /* CPL_MULTIPROC_H_INCLUDED_ */ diff --git a/src/gdal/cpl_odbc.h b/src/gdal/cpl_odbc.h deleted file mode 100644 index a97f0f11..00000000 --- a/src/gdal/cpl_odbc.h +++ /dev/null @@ -1,281 +0,0 @@ -/****************************************************************************** - * $Id: cpl_odbc.h 33666 2016-03-07 05:21:07Z goatbar $ - * - * Project: OGR ODBC Driver - * Purpose: Declarations for ODBC Access Cover API. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 2003, Frank Warmerdam - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_ODBC_H_INCLUDED -#define CPL_ODBC_H_INCLUDED - -#include "cpl_port.h" - -#ifdef WIN32 -# include -#endif - -#include -#include -#include -#include "cpl_string.h" - -#ifdef PATH_MAX -# define ODBC_FILENAME_MAX PATH_MAX -#else -# define ODBC_FILENAME_MAX (255 + 1) /* Max path length */ -#endif - - -/** - * \file cpl_odbc.h - * - * ODBC Abstraction Layer (C++). - */ - -/** - * A class providing functions to install or remove ODBC driver. - */ -class CPL_DLL CPLODBCDriverInstaller -{ - char m_szPathOut[ODBC_FILENAME_MAX]; - char m_szError[SQL_MAX_MESSAGE_LENGTH]; - DWORD m_nErrorCode; - DWORD m_nUsageCount; - - public: - - // Default constructor. - CPLODBCDriverInstaller(); - - - /** - * Installs ODBC driver or updates definition of already installed driver. - * Interanally, it calls ODBC's SQLInstallDriverEx function. - * - * @param pszDriver - The driver definition as a list of keyword-value - * pairs describing the driver (See ODBC API Reference). - * - * @param pszPathIn - Full path of the target directory of the installation, - * or a null pointer (for unixODBC, NULL is passed). - * - * @param fRequest - The fRequest argument must contain one of - * the following values: - * ODBC_INSTALL_COMPLETE - (default) complete the installation request - * ODBC_INSTALL_INQUIRY - inquire about where a driver can be installed - * - * @return TRUE indicates success, FALSE if it fails. - */ - int InstallDriver( const char* pszDriver, const char* pszPathIn, - WORD fRequest = ODBC_INSTALL_COMPLETE ); - - /** - * Removes or changes information about the driver from - * the Odbcinst.ini entry in the system information. - * - * @param pszDriverName - The name of the driver as registered in - * the Odbcinst.ini key of the system information. - * - * @param fRemoveDSN - TRUE: Remove DSNs associated with the driver - * specified in lpszDriver. FALSE: Do not remove DSNs associated - * with the driver specified in lpszDriver. - * - * @return The function returns TRUE if it is successful, - * FALSE if it fails. If no entry exists in the system information - * when this function is called, the function returns FALSE. - * In order to obtain usage count value, call GetUsageCount(). - */ - int RemoveDriver( const char* pszDriverName, int fRemoveDSN = FALSE ); - - - // The usage count of the driver after this function has been called - int GetUsageCount() const { return m_nUsageCount; } - - - // Path of the target directory where the driver should be installed. - // For details, see ODBC API Reference and lpszPathOut - // parameter of SQLInstallDriverEx - const char* GetPathOut() const { return m_szPathOut; } - - - // If InstallDriver returns FALSE, then GetLastError then - // error message can be obtained by calling this function. - // Internally, it calls ODBC's SQLInstallerError function. - const char* GetLastError() const { return m_szError; } - - // If InstallDriver returns FALSE, then GetLastErrorCode then - // error code can be obtained by calling this function. - // Internally, it calls ODBC's SQLInstallerError function. - // See ODBC API Reference for possible error flags. - DWORD GetLastErrorCode() const { return m_nErrorCode; } -}; - -class CPLODBCStatement; - -/* On MSVC SQLULEN is missing in some cases (i.e. VC6) -** but it is always a #define so test this way. On Unix -** it is a typedef so we can't always do this. -*/ -#if defined(_MSC_VER) && !defined(SQLULEN) && !defined(_WIN64) -# define MISSING_SQLULEN -#endif - -#if !defined(MISSING_SQLULEN) -/* ODBC types to support 64 bit compilation */ -# define CPL_SQLULEN SQLULEN -# define CPL_SQLLEN SQLLEN -#else -# define CPL_SQLULEN SQLUINTEGER -# define CPL_SQLLEN SQLINTEGER -#endif /* ifdef SQLULEN */ - - -/** - * A class representing an ODBC database session. - * - * Includes error collection services. - */ - -class CPL_DLL CPLODBCSession { - char m_szLastError[SQL_MAX_MESSAGE_LENGTH + 1]; - HENV m_hEnv; - HDBC m_hDBC; - int m_bInTransaction; - int m_bAutoCommit; - - public: - CPLODBCSession(); - ~CPLODBCSession(); - - int EstablishSession( const char *pszDSN, - const char *pszUserid, - const char *pszPassword ); - const char *GetLastError(); - - // Transaction handling - - int ClearTransaction(); - int BeginTransaction(); - int CommitTransaction(); - int RollbackTransaction(); - int IsInTransaction() { return m_bInTransaction; } - - // Essentially internal. - - int CloseSession(); - - int Failed( int, HSTMT = NULL ); - HDBC GetConnection() { return m_hDBC; } - HENV GetEnvironment() { return m_hEnv; } -}; - -/** - * Abstraction for statement, and resultset. - * - * Includes methods for executing an SQL statement, and for accessing the - * resultset from that statement. Also provides for executing other ODBC - * requests that produce results sets such as SQLColumns() and SQLTables() - * requests. - */ - -class CPL_DLL CPLODBCStatement { - - CPLODBCSession *m_poSession; - HSTMT m_hStmt; - - SQLSMALLINT m_nColCount; - char **m_papszColNames; - SQLSMALLINT *m_panColType; - char **m_papszColTypeNames; - CPL_SQLULEN *m_panColSize; - SQLSMALLINT *m_panColPrecision; - SQLSMALLINT *m_panColNullable; - char **m_papszColColumnDef; - - char **m_papszColValues; - CPL_SQLLEN *m_panColValueLengths; - - int Failed( int ); - - char *m_pszStatement; - size_t m_nStatementMax; - size_t m_nStatementLen; - - public: - CPLODBCStatement( CPLODBCSession * ); - ~CPLODBCStatement(); - - HSTMT GetStatement() { return m_hStmt; } - - // Command buffer related. - void Clear(); - void AppendEscaped( const char * ); - void Append( const char * ); - void Append( int ); - void Append( double ); - int Appendf( const char *, ... ) CPL_PRINT_FUNC_FORMAT (2, 3); - const char *GetCommand() { return m_pszStatement; } - - int ExecuteSQL( const char * = NULL ); - - // Results fetching - int Fetch( int nOrientation = SQL_FETCH_NEXT, - int nOffset = 0 ); - void ClearColumnData(); - - int GetColCount(); - const char *GetColName( int ); - short GetColType( int ); - const char *GetColTypeName( int ); - short GetColSize( int ); - short GetColPrecision( int ); - short GetColNullable( int ); - const char *GetColColumnDef( int ); - - int GetColId( const char * ); - const char *GetColData( int, const char * = NULL ); - const char *GetColData( const char *, const char * = NULL ); - int GetColDataLength( int ); - int GetRowCountAffected(); - - // Fetch special metadata. - int GetColumns( const char *pszTable, - const char *pszCatalog = NULL, - const char *pszSchema = NULL ); - int GetPrimaryKeys( const char *pszTable, - const char *pszCatalog = NULL, - const char *pszSchema = NULL ); - - int GetTables( const char *pszCatalog = NULL, - const char *pszSchema = NULL ); - - void DumpResult( FILE *fp, int bShowSchema = FALSE ); - - static CPLString GetTypeName( int ); - static SQLSMALLINT GetTypeMapping( SQLSMALLINT ); - - int CollectResultsInfo(); -}; - -#endif diff --git a/src/gdal/cpl_port.h b/src/gdal/cpl_port.h deleted file mode 100644 index 36b15df8..00000000 --- a/src/gdal/cpl_port.h +++ /dev/null @@ -1,980 +0,0 @@ -/****************************************************************************** - * $Id: cpl_port.h 34135 2016-04-27 21:44:07Z rouault $ - * - * Project: CPL - Common Portability Library - * Author: Frank Warmerdam, warmerdam@pobox.com - * Purpose: Include file providing low level portability services for CPL. - * This should be the first include file for any CPL based code. - * - ****************************************************************************** - * Copyright (c) 1998, 2005, Frank Warmerdam - * Copyright (c) 2008-2013, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_BASE_H_INCLUDED -#define CPL_BASE_H_INCLUDED - -/** - * \file cpl_port.h - * - * Core portability definitions for CPL. - * - */ - -/* ==================================================================== */ -/* We will use WIN32 as a standard windows define. */ -/* ==================================================================== */ -#if defined(_WIN32) && !defined(WIN32) -# define WIN32 -#endif - -#if defined(_WINDOWS) && !defined(WIN32) -# define WIN32 -#endif - -/* -------------------------------------------------------------------- */ -/* The following apparently allow you to use strcpy() and other */ -/* functions judged "unsafe" by microsoft in VS 8 (2005). */ -/* -------------------------------------------------------------------- */ -#ifdef _MSC_VER -# ifndef _CRT_SECURE_NO_DEPRECATE -# define _CRT_SECURE_NO_DEPRECATE -# endif -# ifndef _CRT_NONSTDC_NO_DEPRECATE -# define _CRT_NONSTDC_NO_DEPRECATE -# endif -#endif - -#include "cpl_config.h" - -/* ==================================================================== */ -/* A few sanity checks, mainly to detect problems that sometimes */ -/* arise with bad configured cross-compilation. */ -/* ==================================================================== */ - -#if !defined(SIZEOF_INT) || SIZEOF_INT != 4 -#error "Unexpected value for SIZEOF_INT" -#endif - -#if !defined(SIZEOF_UNSIGNED_LONG) || (SIZEOF_UNSIGNED_LONG != 4 && SIZEOF_UNSIGNED_LONG != 8) -#error "Unexpected value for SIZEOF_UNSIGNED_LONG" -#endif - -#if !defined(SIZEOF_VOIDP) || (SIZEOF_VOIDP != 4 && SIZEOF_VOIDP != 8) -#error "Unexpected value for SIZEOF_VOIDP" -#endif - - -/* ==================================================================== */ -/* This will disable most WIN32 stuff in a Cygnus build which */ -/* defines unix to 1. */ -/* ==================================================================== */ - -#ifdef unix -# undef WIN32 -#endif - -#if defined(VSI_NEED_LARGEFILE64_SOURCE) && !defined(_LARGEFILE64_SOURCE) -# define _LARGEFILE64_SOURCE 1 -#endif - -/* ==================================================================== */ -/* If iconv() is available use extended recoding module. */ -/* Stub implementation is always compiled in, because it works */ -/* faster than iconv() for encodings it supports. */ -/* ==================================================================== */ - -#if defined(HAVE_ICONV) -# define CPL_RECODE_ICONV -#endif - -#define CPL_RECODE_STUB - -/* ==================================================================== */ -/* MinGW stuff */ -/* ==================================================================== */ - -/* We need __MSVCRT_VERSION__ >= 0x0601 to have "struct __stat64" */ -/* Latest versions of mingw32 define it, but with older ones, */ -/* we need to define it manually */ -#if defined(__MINGW32__) -#ifndef __MSVCRT_VERSION__ -#define __MSVCRT_VERSION__ 0x0601 -#endif -#endif - -/* ==================================================================== */ -/* Standard include files. */ -/* ==================================================================== */ - -#include -#include -#include -#include -#include -#include -#include - -#include - -#if defined(HAVE_ERRNO_H) -# include -#endif - -#ifdef HAVE_LOCALE_H -# include -#endif - -#ifdef HAVE_DIRECT_H -# include -#endif - -#if !defined(WIN32) -# include -#endif - -#if defined(HAVE_LIBDBMALLOC) && defined(HAVE_DBMALLOC_H) && defined(DEBUG) -# define DBMALLOC -# include -#endif - -#if !defined(DBMALLOC) && defined(HAVE_DMALLOC_H) -# define USE_DMALLOC -# include -#endif - -/* ==================================================================== */ -/* Base portability stuff ... this stuff may need to be */ -/* modified for new platforms. */ -/* ==================================================================== */ - -/* -------------------------------------------------------------------- */ -/* Which versions of C++ are available. */ -/* -------------------------------------------------------------------- */ - -#ifdef __cplusplus -# if __cplusplus >= 201103L -# define HAVE_CXX11 1 -# endif -/* TODO(schwehr): What are the correct tests for C++ 14 and 17? */ -#endif /* __cpluscplus */ - -/*--------------------------------------------------------------------- - * types for 16 and 32 bits integers, etc... - *--------------------------------------------------------------------*/ -#if UINT_MAX == 65535 -typedef long GInt32; -typedef unsigned long GUInt32; -#else -typedef int GInt32; -typedef unsigned int GUInt32; -#endif - -typedef short GInt16; -typedef unsigned short GUInt16; -typedef unsigned char GByte; -/* hack for PDF driver and poppler >= 0.15.0 that defines incompatible "typedef bool GBool" */ -/* in include/poppler/goo/gtypes.h */ -#ifndef CPL_GBOOL_DEFINED -#define CPL_GBOOL_DEFINED -typedef int GBool; -#endif - -/* -------------------------------------------------------------------- */ -/* 64bit support */ -/* -------------------------------------------------------------------- */ - -#if defined(WIN32) && defined(_MSC_VER) - -#define VSI_LARGE_API_SUPPORTED -typedef __int64 GIntBig; -typedef unsigned __int64 GUIntBig; - -#define GINTBIG_MIN ((GIntBig)(0x80000000) << 32) -#define GINTBIG_MAX (((GIntBig)(0x7FFFFFFF) << 32) | 0xFFFFFFFFU) -#define GUINTBIG_MAX (((GUIntBig)(0xFFFFFFFFU) << 32) | 0xFFFFFFFFU) - -#elif HAVE_LONG_LONG - -typedef long long GIntBig; -typedef unsigned long long GUIntBig; - -#define GINTBIG_MIN ((GIntBig)(0x80000000) << 32) -#define GINTBIG_MAX (((GIntBig)(0x7FFFFFFF) << 32) | 0xFFFFFFFFU) -#define GUINTBIG_MAX (((GUIntBig)(0xFFFFFFFFU) << 32) | 0xFFFFFFFFU) - -#else - -typedef long GIntBig; -typedef unsigned long GUIntBig; - -#define GINTBIG_MIN INT_MIN -#define GINTBIG_MAX INT_MAX -#define GUINTBIG_MAX UINT_MAX -#endif - -#if SIZEOF_VOIDP == 8 -typedef GIntBig GPtrDiff_t; -#else -typedef int GPtrDiff_t; -#endif - -#if defined(__MSVCRT__) || (defined(WIN32) && defined(_MSC_VER)) - #define CPL_FRMT_GB_WITHOUT_PREFIX "I64" -#elif HAVE_LONG_LONG - #define CPL_FRMT_GB_WITHOUT_PREFIX "ll" -#else - #define CPL_FRMT_GB_WITHOUT_PREFIX "l" -#endif - -#define CPL_FRMT_GIB "%" CPL_FRMT_GB_WITHOUT_PREFIX "d" -#define CPL_FRMT_GUIB "%" CPL_FRMT_GB_WITHOUT_PREFIX "u" - -/* Workaround VC6 bug */ -#if defined(_MSC_VER) && (_MSC_VER <= 1200) -#define GUINTBIG_TO_DOUBLE(x) (double)(GIntBig)(x) -#else -#define GUINTBIG_TO_DOUBLE(x) (double)(x) -#endif - -#ifdef COMPAT_WITH_ICC_CONVERSION_CHECK -#define CPL_INT64_FITS_ON_INT32(x) ((x) >= INT_MIN && (x) <= INT_MAX) -#else -#define CPL_INT64_FITS_ON_INT32(x) (((GIntBig)(int)(x)) == (x)) -#endif - -/* ==================================================================== */ -/* Other standard services. */ -/* ==================================================================== */ -#ifdef __cplusplus -# define CPL_C_START extern "C" { -# define CPL_C_END } -#else -# define CPL_C_START -# define CPL_C_END -#endif - -#ifndef CPL_DLL -#if defined(_MSC_VER) && !defined(CPL_DISABLE_DLL) -# define CPL_DLL __declspec(dllexport) -#else -# if defined(USE_GCC_VISIBILITY_FLAG) -# define CPL_DLL __attribute__ ((visibility("default"))) -# else -# define CPL_DLL -# endif -#endif -#endif - -/* Should optional (normally private) interfaces be exported? */ -#ifdef CPL_OPTIONAL_APIS -# define CPL_ODLL CPL_DLL -#else -# define CPL_ODLL -#endif - -#ifndef CPL_STDCALL -#if defined(_MSC_VER) && !defined(CPL_DISABLE_STDCALL) -# define CPL_STDCALL __stdcall -#else -# define CPL_STDCALL -#endif -#endif - -#ifdef _MSC_VER -# define FORCE_CDECL __cdecl -#else -# define FORCE_CDECL -#endif - -/* TODO : support for other compilers needed */ -#if (defined(__GNUC__) && !defined(__NO_INLINE__)) || defined(_MSC_VER) -#define HAS_CPL_INLINE 1 -#define CPL_INLINE __inline -#elif defined(__SUNPRO_CC) -#define HAS_CPL_INLINE 1 -#define CPL_INLINE inline -#else -#define CPL_INLINE -#endif - -// Define NULL_AS_NULLPTR together with -std=c++11 -Wzero-as-null-pointer-constant with GCC -// to detect misuses of NULL -#if defined(NULL_AS_NULLPTR) && HAVE_CXX11 - -#ifdef __GNUC__ -// We need to include all that bunch of system headers, otherwise -// as they include with __need_NULL, this overrides our #define NULL nullptr -// with #define NULL __null -#include -#include -#include -#ifdef HAVE_ICONV -#include -#endif -#ifdef HAVE_MMAP -#include -#endif -#include -#ifndef _WIN32 -#include -#include -#include -#endif - -extern "C++" { -#include -#include -#include -#include -#include -#include -#include -#include -} -#endif /* __GNUC__ */ - -#undef NULL -#define NULL nullptr -#else /* defined(NULL_AS_NULLPTR) && HAVE_CXX11 */ -#ifndef NULL -# define NULL 0 -#endif -#endif /* defined(NULL_AS_NULLPTR) && HAVE_CXX11 */ - - -#ifndef MAX -# define MIN(a,b) ((ab) ? a : b) -#endif - -#ifndef ABS -# define ABS(x) ((x<0) ? (-1*(x)) : x) -#endif - -#ifndef M_PI -# define M_PI 3.14159265358979323846 -/* 3.1415926535897932384626433832795 */ -#endif - -/* -------------------------------------------------------------------- */ -/* Macro to test equality of two floating point values. */ -/* We use fabs() function instead of ABS() macro to avoid side */ -/* effects. */ -/* -------------------------------------------------------------------- */ -#ifndef CPLIsEqual -# define CPLIsEqual(x,y) (fabs((x) - (y)) < 0.0000000000001) -#endif - -/* -------------------------------------------------------------------- */ -/* Provide macros for case insensitive string comparisons. */ -/* -------------------------------------------------------------------- */ -#ifndef EQUAL - -#if defined(AFL_FRIENDLY) && defined(__GNUC__) - -static inline int CPL_afl_friendly_memcmp(const void* ptr1, const void* ptr2, size_t len) - __attribute__((always_inline)); - -static inline int CPL_afl_friendly_memcmp(const void* ptr1, const void* ptr2, size_t len) -{ - const unsigned char* bptr1 = (const unsigned char*)ptr1; - const unsigned char* bptr2 = (const unsigned char*)ptr2; - while( len-- ) - { - unsigned char b1 = *(bptr1++); - unsigned char b2 = *(bptr2++); - if( b1 != b2 ) return b1 - b2; - } - return 0; -} - -static inline int CPL_afl_friendly_strcmp(const char* ptr1, const char* ptr2) - __attribute__((always_inline)); - -static inline int CPL_afl_friendly_strcmp(const char* ptr1, const char* ptr2) -{ - const unsigned char* usptr1 = (const unsigned char*)ptr1; - const unsigned char* usptr2 = (const unsigned char*)ptr2; - while( 1 ) - { - unsigned char ch1 = *(usptr1++); - unsigned char ch2 = *(usptr2++); - if( ch1 == 0 || ch1 != ch2 ) return ch1 - ch2; - } -} - -static inline int CPL_afl_friendly_strncmp(const char* ptr1, const char* ptr2, size_t len) - __attribute__((always_inline)); - -static inline int CPL_afl_friendly_strncmp(const char* ptr1, const char* ptr2, size_t len) -{ - const unsigned char* usptr1 = (const unsigned char*)ptr1; - const unsigned char* usptr2 = (const unsigned char*)ptr2; - while( len -- ) - { - unsigned char ch1 = *(usptr1++); - unsigned char ch2 = *(usptr2++); - if( ch1 == 0 || ch1 != ch2 ) return ch1 - ch2; - } - return 0; -} - -static inline int CPL_afl_friendly_strcasecmp(const char* ptr1, const char* ptr2) - __attribute__((always_inline)); - -static inline int CPL_afl_friendly_strcasecmp(const char* ptr1, const char* ptr2) -{ - const unsigned char* usptr1 = (const unsigned char*)ptr1; - const unsigned char* usptr2 = (const unsigned char*)ptr2; - while( 1 ) - { - unsigned char ch1 = *(usptr1++); - unsigned char ch2 = *(usptr2++); - ch1 = (unsigned char)toupper(ch1); - ch2 = (unsigned char)toupper(ch2); - if( ch1 == 0 || ch1 != ch2 ) return ch1 - ch2; - } -} - -static inline int CPL_afl_friendly_strncasecmp(const char* ptr1, const char* ptr2, size_t len) - __attribute__((always_inline)); - -static inline int CPL_afl_friendly_strncasecmp(const char* ptr1, const char* ptr2, size_t len) -{ - const unsigned char* usptr1 = (const unsigned char*)ptr1; - const unsigned char* usptr2 = (const unsigned char*)ptr2; - while( len-- ) - { - unsigned char ch1 = *(usptr1++); - unsigned char ch2 = *(usptr2++); - ch1 = (unsigned char)toupper(ch1); - ch2 = (unsigned char)toupper(ch2); - if( ch1 == 0 || ch1 != ch2 ) return ch1 - ch2; - } - return 0; -} - -static inline char* CPL_afl_friendly_strstr(const char* haystack, const char* needle) - __attribute__((always_inline)); - -static inline char* CPL_afl_friendly_strstr(const char* haystack, const char* needle) -{ - const char* ptr_haystack = haystack; - while( 1 ) - { - const char* ptr_haystack2 = ptr_haystack; - const char* ptr_needle = needle; - while( 1 ) - { - char ch1 = *(ptr_haystack2++); - char ch2 = *(ptr_needle++); - if( ch2 == 0 ) - return (char*)ptr_haystack; - if( ch1 != ch2 ) - break; - } - if( *ptr_haystack == 0 ) - return NULL; - ptr_haystack ++; - } -} - -#undef strcmp -#undef strncmp -#define memcmp CPL_afl_friendly_memcmp -#define strcmp CPL_afl_friendly_strcmp -#define strncmp CPL_afl_friendly_strncmp -#define strcasecmp CPL_afl_friendly_strcasecmp -#define strncasecmp CPL_afl_friendly_strncasecmp -#define strstr CPL_afl_friendly_strstr - -#endif /* defined(AFL_FRIENDLY) && defined(__GNUC__) */ - -# if defined(WIN32) -# define STRCASECMP(a,b) (stricmp(a,b)) -# define STRNCASECMP(a,b,n) (strnicmp(a,b,n)) -# else -# define STRCASECMP(a,b) (strcasecmp(a,b)) -# define STRNCASECMP(a,b,n) (strncasecmp(a,b,n)) -# endif -# define EQUALN(a,b,n) (STRNCASECMP(a,b,n)==0) -# define EQUAL(a,b) (STRCASECMP(a,b)==0) -#endif - -/*--------------------------------------------------------------------- - * Does a string "a" start with string "b". Search is case-sensitive or, - * with CI, it is a case-insensitive comparison. - *--------------------------------------------------------------------- */ -#ifndef STARTS_WITH_CI -#define STARTS_WITH(a,b) (strncmp(a,b,strlen(b)) == 0) -#define STARTS_WITH_CI(a,b) EQUALN(a,b,strlen(b)) -#endif - -#ifndef CPL_THREADLOCAL -# define CPL_THREADLOCAL -#endif - -/* -------------------------------------------------------------------- */ -/* Handle isnan() and isinf(). Note that isinf() and isnan() */ -/* are supposed to be macros according to C99, defined in math.h */ -/* Some systems (i.e. Tru64) don't have isinf() at all, so if */ -/* the macro is not defined we just assume nothing is infinite. */ -/* This may mean we have no real CPLIsInf() on systems with isinf()*/ -/* function but no corresponding macro, but I can live with */ -/* that since it isn't that important a test. */ -/* -------------------------------------------------------------------- */ -#ifdef _MSC_VER -# include -# define CPLIsNan(x) _isnan(x) -# define CPLIsInf(x) (!_isnan(x) && !_finite(x)) -# define CPLIsFinite(x) _finite(x) -#elif defined(HAVE_CXX11) && HAVE_CXX11 && defined(__GNUC__) -/* When including in C++11 the isnan() macro is undefined, so that */ -/* std::isnan() can work (#6489). This is a GCC specific workaround for now. */ -# define CPLIsNan(x) __builtin_isnan(x) -# define CPLIsInf(x) __builtin_isinf(x) -# define CPLIsFinite(x) __builtin_isfinite(x) -#else -# define CPLIsNan(x) isnan(x) -# ifdef isinf -# define CPLIsInf(x) isinf(x) -# define CPLIsFinite(x) (!isnan(x) && !isinf(x)) -# elif defined(__sun__) -# include -# define CPLIsInf(x) (!finite(x) && !isnan(x)) -# define CPLIsFinite(x) finite(x) -# else -# define CPLIsInf(x) (0) -# define CPLIsFinite(x) (!isnan(x)) -# endif -#endif - -/*--------------------------------------------------------------------- - * CPL_LSB and CPL_MSB - * Only one of these 2 macros should be defined and specifies the byte - * ordering for the current platform. - * This should be defined in the Makefile, but if it is not then - * the default is CPL_LSB (Intel ordering, LSB first). - *--------------------------------------------------------------------*/ -#if defined(WORDS_BIGENDIAN) && !defined(CPL_MSB) && !defined(CPL_LSB) -# define CPL_MSB -#endif - -#if ! ( defined(CPL_LSB) || defined(CPL_MSB) ) -#define CPL_LSB -#endif - -#if defined(CPL_LSB) -# define CPL_IS_LSB 1 -#else -# define CPL_IS_LSB 0 -#endif - -#ifdef __cplusplus - -extern "C++" { - -template struct CPLStaticAssert {}; -template<> struct CPLStaticAssert -{ - static void my_function() {} -}; - -} /* extern "C++" */ - -#define CPL_STATIC_ASSERT(x) CPLStaticAssert::my_function() -#define CPL_STATIC_ASSERT_IF_AVAILABLE(x) CPL_STATIC_ASSERT(x) - -#else /* __cplusplus */ - -#define CPL_STATIC_ASSERT_IF_AVAILABLE(x) - -#endif /* __cplusplus */ - -/*--------------------------------------------------------------------- - * Little endian <==> big endian byte swap macros. - *--------------------------------------------------------------------*/ - -#define CPL_SWAP16(x) \ - ((GUInt16)( \ - (((GUInt16)(x) & 0x00ffU) << 8) | \ - (((GUInt16)(x) & 0xff00U) >> 8) )) - -#define CPL_SWAP16PTR(x) \ -{ \ - GByte byTemp, *_pabyDataT = (GByte *) (x); \ - CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 2); \ - \ - byTemp = _pabyDataT[0]; \ - _pabyDataT[0] = _pabyDataT[1]; \ - _pabyDataT[1] = byTemp; \ -} - -#define CPL_SWAP32(x) \ - ((GUInt32)( \ - (((GUInt32)(x) & (GUInt32)0x000000ffUL) << 24) | \ - (((GUInt32)(x) & (GUInt32)0x0000ff00UL) << 8) | \ - (((GUInt32)(x) & (GUInt32)0x00ff0000UL) >> 8) | \ - (((GUInt32)(x) & (GUInt32)0xff000000UL) >> 24) )) - -#define CPL_SWAP32PTR(x) \ -{ \ - GByte byTemp, *_pabyDataT = (GByte *) (x); \ - CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 4); \ - \ - byTemp = _pabyDataT[0]; \ - _pabyDataT[0] = _pabyDataT[3]; \ - _pabyDataT[3] = byTemp; \ - byTemp = _pabyDataT[1]; \ - _pabyDataT[1] = _pabyDataT[2]; \ - _pabyDataT[2] = byTemp; \ -} - -#define CPL_SWAP64PTR(x) \ -{ \ - GByte byTemp, *_pabyDataT = (GByte *) (x); \ - CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 8); \ - \ - byTemp = _pabyDataT[0]; \ - _pabyDataT[0] = _pabyDataT[7]; \ - _pabyDataT[7] = byTemp; \ - byTemp = _pabyDataT[1]; \ - _pabyDataT[1] = _pabyDataT[6]; \ - _pabyDataT[6] = byTemp; \ - byTemp = _pabyDataT[2]; \ - _pabyDataT[2] = _pabyDataT[5]; \ - _pabyDataT[5] = byTemp; \ - byTemp = _pabyDataT[3]; \ - _pabyDataT[3] = _pabyDataT[4]; \ - _pabyDataT[4] = byTemp; \ -} - - -/* Until we have a safe 64 bits integer data type defined, we'll replace - * this version of the CPL_SWAP64() macro with a less efficient one. - */ -/* -#define CPL_SWAP64(x) \ - ((uint64)( \ - (uint64)(((uint64)(x) & (uint64)0x00000000000000ffULL) << 56) | \ - (uint64)(((uint64)(x) & (uint64)0x000000000000ff00ULL) << 40) | \ - (uint64)(((uint64)(x) & (uint64)0x0000000000ff0000ULL) << 24) | \ - (uint64)(((uint64)(x) & (uint64)0x00000000ff000000ULL) << 8) | \ - (uint64)(((uint64)(x) & (uint64)0x000000ff00000000ULL) >> 8) | \ - (uint64)(((uint64)(x) & (uint64)0x0000ff0000000000ULL) >> 24) | \ - (uint64)(((uint64)(x) & (uint64)0x00ff000000000000ULL) >> 40) | \ - (uint64)(((uint64)(x) & (uint64)0xff00000000000000ULL) >> 56) )) -*/ - -#define CPL_SWAPDOUBLE(p) CPL_SWAP64PTR(p) - -#ifdef CPL_MSB -# define CPL_MSBWORD16(x) (x) -# define CPL_LSBWORD16(x) CPL_SWAP16(x) -# define CPL_MSBWORD32(x) (x) -# define CPL_LSBWORD32(x) CPL_SWAP32(x) -# define CPL_MSBPTR16(x) CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 2) -# define CPL_LSBPTR16(x) CPL_SWAP16PTR(x) -# define CPL_MSBPTR32(x) CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 4) -# define CPL_LSBPTR32(x) CPL_SWAP32PTR(x) -# define CPL_MSBPTR64(x) CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 8) -# define CPL_LSBPTR64(x) CPL_SWAP64PTR(x) -#else -# define CPL_LSBWORD16(x) (x) -# define CPL_MSBWORD16(x) CPL_SWAP16(x) -# define CPL_LSBWORD32(x) (x) -# define CPL_MSBWORD32(x) CPL_SWAP32(x) -# define CPL_LSBPTR16(x) CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 2) -# define CPL_MSBPTR16(x) CPL_SWAP16PTR(x) -# define CPL_LSBPTR32(x) CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 4) -# define CPL_MSBPTR32(x) CPL_SWAP32PTR(x) -# define CPL_LSBPTR64(x) CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 8) -# define CPL_MSBPTR64(x) CPL_SWAP64PTR(x) -#endif - -/** Return a Int16 from the 2 bytes ordered in LSB order at address x */ -#define CPL_LSBINT16PTR(x) ((*(GByte*)(x)) | (*(((GByte*)(x))+1) << 8)) - -/** Return a Int32 from the 4 bytes ordered in LSB order at address x */ -#define CPL_LSBINT32PTR(x) ((*(GByte*)(x)) | (*(((GByte*)(x))+1) << 8) | \ - (*(((GByte*)(x))+2) << 16) | (*(((GByte*)(x))+3) << 24)) - -/** Return a signed Int16 from the 2 bytes ordered in LSB order at address x */ -#define CPL_LSBSINT16PTR(x) ((GInt16) CPL_LSBINT16PTR(x)) - -/** Return a unsigned Int16 from the 2 bytes ordered in LSB order at address x */ -#define CPL_LSBUINT16PTR(x) ((GUInt16)CPL_LSBINT16PTR(x)) - -/** Return a signed Int32 from the 4 bytes ordered in LSB order at address x */ -#define CPL_LSBSINT32PTR(x) ((GInt32) CPL_LSBINT32PTR(x)) - -/** Return a unsigned Int32 from the 4 bytes ordered in LSB order at address x */ -#define CPL_LSBUINT32PTR(x) ((GUInt32)CPL_LSBINT32PTR(x)) - - -/* Utility macro to explicitly mark intentionally unreferenced parameters. */ -#ifndef UNREFERENCED_PARAM -# ifdef UNREFERENCED_PARAMETER /* May be defined by Windows API */ -# define UNREFERENCED_PARAM(param) UNREFERENCED_PARAMETER(param) -# else -# define UNREFERENCED_PARAM(param) ((void)param) -# endif /* UNREFERENCED_PARAMETER */ -#endif /* UNREFERENCED_PARAM */ - -/*********************************************************************** - * Define CPL_CVSID() macro. It can be disabled during a build by - * defining DISABLE_CVSID in the compiler options. - * - * The cvsid_aw() function is just there to prevent reports of cpl_cvsid() - * being unused. - */ - -#ifndef DISABLE_CVSID -#if defined(__GNUC__) && __GNUC__ >= 4 -# define CPL_CVSID(string) static const char cpl_cvsid[] __attribute__((used)) = string; -#else -# define CPL_CVSID(string) static const char cpl_cvsid[] = string; \ -static const char *cvsid_aw() { return( cvsid_aw() ? NULL : cpl_cvsid ); } -#endif -#else -# define CPL_CVSID(string) -#endif - -/* Null terminated variadic */ -/* We exclude mingw64 4.6 which seems to be broken regarding this */ -#if defined(__GNUC__) && __GNUC__ >= 4 && !defined(DOXYGEN_SKIP) && !(defined(__MINGW64__) && __GNUC__ == 4 && __GNUC_MINOR__ == 6) -# define CPL_NULL_TERMINATED __attribute__((__sentinel__)) -#else -# define CPL_NULL_TERMINATED -#endif - -#if defined(__GNUC__) && __GNUC__ >= 3 && !defined(DOXYGEN_SKIP) -#define CPL_PRINT_FUNC_FORMAT( format_idx, arg_idx ) __attribute__((__format__ (__printf__, format_idx, arg_idx))) -#define CPL_SCAN_FUNC_FORMAT( format_idx, arg_idx ) __attribute__((__format__ (__scanf__, format_idx, arg_idx))) -#else -#define CPL_PRINT_FUNC_FORMAT( format_idx, arg_idx ) -#define CPL_SCAN_FUNC_FORMAT( format_idx, arg_idx ) -#endif - -#if defined(__GNUC__) && __GNUC__ >= 4 && !defined(DOXYGEN_SKIP) -#define CPL_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) -#else -#define CPL_WARN_UNUSED_RESULT -#endif - -#if defined(__GNUC__) && __GNUC__ >= 4 -# define CPL_UNUSED __attribute((__unused__)) -#else -/* TODO: add cases for other compilers */ -# define CPL_UNUSED -#endif - -#if defined(__GNUC__) && __GNUC__ >= 3 && !defined(DOXYGEN_SKIP) -#define CPL_NO_RETURN __attribute__((noreturn)) -#else -#define CPL_NO_RETURN -#endif - -/* Clang __has_attribute */ -#ifndef __has_attribute - #define __has_attribute(x) 0 // Compatibility with non-clang compilers. -#endif - -#if ((defined(__GNUC__) && (__GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9))) || __has_attribute(returns_nonnull)) && !defined(DOXYGEN_SKIP) -# define CPL_RETURNS_NONNULL __attribute__((returns_nonnull)) -#else -# define CPL_RETURNS_NONNULL -#endif - - -#if defined(__GNUC__) && __GNUC__ >= 4 && !defined(DOXYGEN_SKIP) -#define CPL_RESTRICT __restrict__ -#else -#define CPL_RESTRICT -#endif - -/* Helper to remove the copy and assignment constructors so that the compiler - will not generate the default versions. - - Must be placed in the private section of a class and should be at the end. -*/ -#ifdef __cplusplus - -#if HAVE_CXX11 -# define CPL_FINAL final -# define CPL_DISALLOW_COPY_ASSIGN(ClassName) \ - ClassName( const ClassName & ) = delete; \ - ClassName &operator=( const ClassName & ) = delete; -#else -# define CPL_FINAL -# define CPL_DISALLOW_COPY_ASSIGN(ClassName) \ - ClassName( const ClassName & ); \ - ClassName &operator=( const ClassName & ); -#endif /* HAVE_CXX11 */ - -#endif /* __cplusplus */ - -#if !defined(DOXYGEN_SKIP) -#if defined(__has_extension) - #if __has_extension(attribute_deprecated_with_message) - /* Clang extension */ - #define CPL_WARN_DEPRECATED(x) __attribute__ ((deprecated(x))) - #else - #define CPL_WARN_DEPRECATED(x) - #endif -#elif defined(__GNUC__) - #define CPL_WARN_DEPRECATED(x) __attribute__ ((deprecated)) -#else - #define CPL_WARN_DEPRECATED(x) -#endif -#endif - -#if !defined(_MSC_VER) && !defined(__APPLE__) -CPL_C_START -#ifdef WARN_STANDARD_PRINTF -int vsnprintf(char *str, size_t size, const char* fmt, va_list args) CPL_WARN_DEPRECATED("Use CPLvsnprintf() instead"); -int snprintf(char *str, size_t size, const char* fmt, ...) CPL_PRINT_FUNC_FORMAT(3,4) CPL_WARN_DEPRECATED("Use CPLsnprintf() instead"); -int sprintf(char *str, const char* fmt, ...) CPL_PRINT_FUNC_FORMAT(2, 3) CPL_WARN_DEPRECATED("Use CPLsnprintf() instead"); -#elif defined(GDAL_COMPILATION) && !defined(DONT_DEPRECATE_SPRINTF) -int sprintf(char *str, const char* fmt, ...) CPL_PRINT_FUNC_FORMAT(2, 3) CPL_WARN_DEPRECATED("Use snprintf() or CPLsnprintf() instead"); -#endif -CPL_C_END -#endif /* !defined(_MSC_VER) && !defined(__APPLE__) */ - -#if defined(MAKE_SANITIZE_HAPPY) || !(defined(__i386__) || defined(__x86_64__) || defined(_M_IX86) || defined(_M_X64)) -#define CPL_CPU_REQUIRES_ALIGNED_ACCESS -#define CPL_IS_DOUBLE_A_INT(d) ( (d) >= INT_MIN && (d) <= INT_MAX && (double)(int)(d) == (d) ) -#else -/* This is technically unspecified behaviour if the double is out of range, but works OK on x86 */ -#define CPL_IS_DOUBLE_A_INT(d) ( (double)(int)(d) == (d) ) -#endif - -#ifdef __cplusplus -/* The size of C style arrays. */ -#define CPL_ARRAYSIZE(array) \ - ((sizeof(array) / sizeof(*(array))) / \ - static_cast(!(sizeof(array) % sizeof(*(array))))) - -extern "C++" { -template static void CPL_IGNORE_RET_VAL(T) {} -inline static bool CPL_TO_BOOL(int x) { return x != 0; } -} /* extern "C++" */ - -#endif /* __cplusplus */ - -#if (((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || (defined(__clang__) && __clang_major__ >= 3)) && !defined(_MSC_VER)) -#define HAVE_GCC_DIAGNOSTIC_PUSH -#endif - -#if ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) && !defined(_MSC_VER)) -#define HAVE_GCC_SYSTEM_HEADER -#endif - -#if defined(__clang__) -# define CPL_FALLTHROUGH [[clang::fallthrough]]; -#else -# define CPL_FALLTHROUGH -#endif - -// Define DEBUG_BOOL to compile in "MSVC mode", ie error out when -// a integer is assigned to a bool -// WARNING: use only at compilation time, since it is know to not work -// at runtime for unknown reasons (crash in MongoDB driver for example) -#if defined(__cplusplus) && defined(DEBUG_BOOL) && !defined(DO_NOT_USE_DEBUG_BOOL) -extern "C++" { -class MSVCPedanticBool -{ - - friend bool operator== (const bool& one, const MSVCPedanticBool& other); - friend bool operator!= (const bool& one, const MSVCPedanticBool& other); - - bool b; - MSVCPedanticBool(int bIn); - - public: - /* b not initialized on purpose in default ctor to flag use. */ - /* cppcheck-suppress uninitMemberVar */ - MSVCPedanticBool() {} - MSVCPedanticBool(bool bIn) : b(bIn) {} - MSVCPedanticBool(const MSVCPedanticBool& other) : b(other.b) {} - - MSVCPedanticBool& operator= (const MSVCPedanticBool& other) { b = other.b; return *this; } - MSVCPedanticBool& operator&= (const MSVCPedanticBool& other) { b &= other.b; return *this; } - MSVCPedanticBool& operator|= (const MSVCPedanticBool& other) { b |= other.b; return *this; } - - bool operator== (const bool& other) const { return b == other; } - bool operator!= (const bool& other) const { return b != other; } - bool operator== (const MSVCPedanticBool& other) const { return b == other.b; } - bool operator!= (const MSVCPedanticBool& other) const { return b != other.b; } - - bool operator! () const { return !b; } - operator bool() const { return b; } - operator int() const { return b; } -}; - -inline bool operator== (const bool& one, const MSVCPedanticBool& other) { return one == other.b; } -inline bool operator!= (const bool& one, const MSVCPedanticBool& other) { return one != other.b; } - -/* We must include all C++ stuff before to avoid issues with templates that use bool */ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -} /* extern C++ */ - -#undef FALSE -#define FALSE false -#undef TRUE -#define TRUE true - -/* In the very few cases we really need a "simple" type, fallback to bool */ -#define EMULATED_BOOL int - -/* Use our class instead of bool */ -#define bool MSVCPedanticBool - -/* "volatile bool" with the below substitution doesn't really work. */ -/* Just for the sake of the debug, we don't really need volatile */ -#define VOLATILE_BOOL bool - -#else /* defined(__cplusplus) && defined(DEBUG_BOOL) */ - -#ifndef FALSE -# define FALSE 0 -#endif - -#ifndef TRUE -# define TRUE 1 -#endif - -#define EMULATED_BOOL bool -#define VOLATILE_BOOL volatile bool - -#endif /* defined(__cplusplus) && defined(DEBUG_BOOL) */ - -#endif /* ndef CPL_BASE_H_INCLUDED */ diff --git a/src/gdal/cpl_progress.h b/src/gdal/cpl_progress.h deleted file mode 100644 index aa5fe523..00000000 --- a/src/gdal/cpl_progress.h +++ /dev/null @@ -1,47 +0,0 @@ -/****************************************************************************** - * $Id$ - * - * Project: CPL - Common Portability Library - * Author: Frank Warmerdam, warmerdam@pobox.com - * Purpose: Prototypes and definitions for progress functions. - * - ****************************************************************************** - * Copyright (c) 2013, Frank Warmerdam - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_PROGRESS_H_INCLUDED -#define CPL_PROGRESS_H_INCLUDED - -#include "cpl_port.h" - -CPL_C_START - -typedef int (CPL_STDCALL *GDALProgressFunc)(double dfComplete, const char *pszMessage, void *pProgressArg); - -int CPL_DLL CPL_STDCALL GDALDummyProgress( double, const char *, void *); -int CPL_DLL CPL_STDCALL GDALTermProgress( double, const char *, void *); -int CPL_DLL CPL_STDCALL GDALScaledProgress( double, const char *, void *); -void CPL_DLL * CPL_STDCALL GDALCreateScaledProgress( double, double, - GDALProgressFunc, void * ); -void CPL_DLL CPL_STDCALL GDALDestroyScaledProgress( void * ); -CPL_C_END - -#endif /* ndef CPL_PROGRESS_H_INCLUDED */ diff --git a/src/gdal/cpl_quad_tree.h b/src/gdal/cpl_quad_tree.h deleted file mode 100644 index c02831aa..00000000 --- a/src/gdal/cpl_quad_tree.h +++ /dev/null @@ -1,100 +0,0 @@ -/********************************************************************** - * $Id: cpl_quad_tree.h 33666 2016-03-07 05:21:07Z goatbar $ - * - * Project: CPL - Common Portability Library - * Purpose: Implementation of quadtree building and searching functions. - * Derived from shapelib and mapserver implementations - * Author: Frank Warmerdam, warmerdam@pobox.com - * Even Rouault, - * - ****************************************************************************** - * Copyright (c) 1999-2008, Frank Warmerdam - * Copyright (c) 2008-2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_QUAD_TREE_H_INCLUDED -#define CPL_QUAD_TREE_H_INCLUDED - -#include "cpl_port.h" - -/** - * \file cpl_quad_tree.h - * - * Quad tree implementation. - * - * A quadtree is a tree data structure in which each internal node - * has up to four children. Quadtrees are most often used to partition - * a two dimensional space by recursively subdividing it into four - * quadrants or regions - */ - -CPL_C_START - -/* Types */ - -typedef struct { - double minx, miny, maxx, maxy; -} CPLRectObj; - -typedef struct _CPLQuadTree CPLQuadTree; - -typedef void (*CPLQuadTreeGetBoundsFunc)(const void* hFeature, CPLRectObj* pBounds); -typedef int (*CPLQuadTreeForeachFunc)(void* pElt, void* pUserData); -typedef void (*CPLQuadTreeDumpFeatureFunc)(const void* hFeature, int nIndentLevel, void* pUserData); - -/* Functions */ - -CPLQuadTree CPL_DLL *CPLQuadTreeCreate(const CPLRectObj* pGlobalBounds, - CPLQuadTreeGetBoundsFunc pfnGetBounds); -void CPL_DLL CPLQuadTreeDestroy(CPLQuadTree *hQuadtree); - -void CPL_DLL CPLQuadTreeSetBucketCapacity(CPLQuadTree *hQuadtree, - int nBucketCapacity); -int CPL_DLL CPLQuadTreeGetAdvisedMaxDepth(int nExpectedFeatures); -void CPL_DLL CPLQuadTreeSetMaxDepth(CPLQuadTree *hQuadtree, - int nMaxDepth); - -void CPL_DLL CPLQuadTreeInsert(CPLQuadTree *hQuadtree, - void* hFeature); -void CPL_DLL CPLQuadTreeInsertWithBounds(CPLQuadTree *hQuadtree, - void* hFeature, - const CPLRectObj* psBounds); - -void CPL_DLL **CPLQuadTreeSearch(const CPLQuadTree *hQuadtree, - const CPLRectObj* pAoi, - int* pnFeatureCount); - -void CPL_DLL CPLQuadTreeForeach(const CPLQuadTree *hQuadtree, - CPLQuadTreeForeachFunc pfnForeach, - void* pUserData); - -void CPL_DLL CPLQuadTreeDump(const CPLQuadTree *hQuadtree, - CPLQuadTreeDumpFeatureFunc pfnDumpFeatureFunc, - void* pUserData); -void CPL_DLL CPLQuadTreeGetStats(const CPLQuadTree *hQuadtree, - int* pnFeatureCount, - int* pnNodeCount, - int* pnMaxDepth, - int* pnMaxBucketCapacity); - -CPL_C_END - -#endif diff --git a/src/gdal/cpl_sha256.h b/src/gdal/cpl_sha256.h deleted file mode 100644 index 0868cf90..00000000 --- a/src/gdal/cpl_sha256.h +++ /dev/null @@ -1,68 +0,0 @@ -/* $Id: cpl_sha256.h 31777 2015-11-26 14:14:41Z rouault $ */ - -/* The MIT License - - Copyright (C) 2011 Zilong Tan (tzlloch@gmail.com) - Copyright (C) 2015 Even Rouault - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -*/ - -#ifndef CPL_SHA256_INCLUDED_H -#define CPL_SHA256_INCLUDED_H - -#include "cpl_port.h" - -#define CPL_SHA256_HASH_SIZE 32 /* 256 bit */ -#define CPL_SHA256_HASH_WORDS 8 - -#ifndef GUInt64 -#define GUInt64 GUIntBig -#endif - -CPL_C_START - -struct _CPL_SHA256Context { - GUInt64 totalLength; - GUInt32 hash[CPL_SHA256_HASH_WORDS]; - GUInt32 bufferLength; - union { - GUInt32 words[16]; - GByte bytes[64]; - } buffer; -}; -typedef struct _CPL_SHA256Context CPL_SHA256Context; - -void CPL_DLL CPL_SHA256Init(CPL_SHA256Context * sc); - -void CPL_DLL CPL_SHA256Update(CPL_SHA256Context * sc, const void *data, size_t len); - -void CPL_DLL CPL_SHA256Final(CPL_SHA256Context * sc, GByte hash[CPL_SHA256_HASH_SIZE]); - -void CPL_DLL CPL_SHA256(const void *data, size_t len, GByte hash[CPL_SHA256_HASH_SIZE]); - -void CPL_DLL CPL_HMAC_SHA256(const void *pKey, size_t nKeyLen, - const void *pabyMessage, size_t nMessageLen, - GByte abyDigest[CPL_SHA256_HASH_SIZE]); - -CPL_C_END - -#endif /* CPL_SHA256_INCLUDED_H */ diff --git a/src/gdal/cpl_spawn.h b/src/gdal/cpl_spawn.h deleted file mode 100644 index 5d50eacc..00000000 --- a/src/gdal/cpl_spawn.h +++ /dev/null @@ -1,78 +0,0 @@ -/********************************************************************** - * $Id: cpl_spawn.h 31287 2015-11-01 18:29:27Z goatbar $ - * - * Project: CPL - Common Portability Library - * Purpose: Implement CPLSystem(). - * Author: Even Rouault, - * - ********************************************************************** - * Copyright (c) 2013, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_SPAWN_H_INCLUDED -#define CPL_SPAWN_H_INCLUDED - -#include "cpl_vsi.h" - -CPL_C_START - -/* -------------------------------------------------------------------- */ -/* Spawn a process. */ -/* -------------------------------------------------------------------- */ - -int CPL_DLL CPLSpawn( const char * const papszArgv[], VSILFILE* fin, VSILFILE* fout, - int bDisplayErr ); - -#ifdef WIN32 -#include -typedef HANDLE CPL_FILE_HANDLE; -#define CPL_FILE_INVALID_HANDLE NULL -typedef DWORD CPL_PID; -#else -#include -typedef int CPL_FILE_HANDLE; -#define CPL_FILE_INVALID_HANDLE -1 -typedef pid_t CPL_PID; -#endif - -typedef struct _CPLSpawnedProcess CPLSpawnedProcess; - -CPLSpawnedProcess CPL_DLL* CPLSpawnAsync( int (*pfnMain)(CPL_FILE_HANDLE, CPL_FILE_HANDLE), - const char * const papszArgv[], - int bCreateInputPipe, - int bCreateOutputPipe, - int bCreateErrorPipe, - char** papszOptions ); -CPL_PID CPL_DLL CPLSpawnAsyncGetChildProcessId(CPLSpawnedProcess* p); -int CPL_DLL CPLSpawnAsyncFinish(CPLSpawnedProcess* p, int bWait, int bKill); -CPL_FILE_HANDLE CPL_DLL CPLSpawnAsyncGetInputFileHandle(CPLSpawnedProcess* p); -CPL_FILE_HANDLE CPL_DLL CPLSpawnAsyncGetOutputFileHandle(CPLSpawnedProcess* p); -CPL_FILE_HANDLE CPL_DLL CPLSpawnAsyncGetErrorFileHandle(CPLSpawnedProcess* p); -void CPL_DLL CPLSpawnAsyncCloseInputFileHandle(CPLSpawnedProcess* p); -void CPL_DLL CPLSpawnAsyncCloseOutputFileHandle(CPLSpawnedProcess* p); -void CPL_DLL CPLSpawnAsyncCloseErrorFileHandle(CPLSpawnedProcess* p); - -int CPL_DLL CPLPipeRead(CPL_FILE_HANDLE fin, void* data, int length); -int CPL_DLL CPLPipeWrite(CPL_FILE_HANDLE fout, const void* data, int length); - -CPL_C_END - -#endif // CPL_SPAWN_H_INCLUDED diff --git a/src/gdal/cpl_string.h b/src/gdal/cpl_string.h deleted file mode 100644 index c57b4679..00000000 --- a/src/gdal/cpl_string.h +++ /dev/null @@ -1,433 +0,0 @@ -/********************************************************************** - * $Id: cpl_string.h 33788 2016-03-26 00:45:58Z goatbar $ - * - * Name: cpl_string.h - * Project: CPL - Common Portability Library - * Purpose: String and StringList functions. - * Author: Daniel Morissette, dmorissette@mapgears.com - * - ********************************************************************** - * Copyright (c) 1998, Daniel Morissette - * Copyright (c) 2008-2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_STRING_H_INCLUDED -#define CPL_STRING_H_INCLUDED - -#include "cpl_error.h" -#include "cpl_conv.h" -#include "cpl_vsi.h" - -/** - * \file cpl_string.h - * - * Various convenience functions for working with strings and string lists. - * - * A StringList is just an array of strings with the last pointer being - * NULL. An empty StringList may be either a NULL pointer, or a pointer to - * a pointer memory location with a NULL value. - * - * A common convention for StringLists is to use them to store name/value - * lists. In this case the contents are treated like a dictionary of - * name/value pairs. The actual data is formatted with each string having - * the format ":" (though "=" is also an acceptable separator). - * A number of the functions in the file operate on name/value style - * string lists (such as CSLSetNameValue(), and CSLFetchNameValue()). - * - * To some extent the CPLStringList C++ class can be used to abstract - * managing string lists a bit but still be able to return them from C - * functions. - * - */ - -CPL_C_START - -char CPL_DLL **CSLAddString(char **papszStrList, - const char *pszNewString) CPL_WARN_UNUSED_RESULT; -char CPL_DLL **CSLAddStringMayFail( - char **papszStrList, const char *pszNewString) CPL_WARN_UNUSED_RESULT; -#ifdef __cplusplus - int CPL_DLL CSLCount(const char * const *papszStrList); -#else - int CPL_DLL CSLCount(char **papszStrList); -#endif -const char CPL_DLL *CSLGetField( char **, int ); -void CPL_DLL CPL_STDCALL CSLDestroy(char **papszStrList); -char CPL_DLL **CSLDuplicate(char **papszStrList) CPL_WARN_UNUSED_RESULT; -char CPL_DLL **CSLMerge( char **papszOrig, - char **papszOverride ) CPL_WARN_UNUSED_RESULT; - -char CPL_DLL **CSLTokenizeString(const char *pszString ) CPL_WARN_UNUSED_RESULT; -char CPL_DLL **CSLTokenizeStringComplex( - const char *pszString, const char *pszDelimiter, int bHonourStrings, - int bAllowEmptyTokens ) CPL_WARN_UNUSED_RESULT; -char CPL_DLL **CSLTokenizeString2( const char *pszString, - const char *pszDelimiter, - int nCSLTFlags ) CPL_WARN_UNUSED_RESULT; - -#define CSLT_HONOURSTRINGS 0x0001 -#define CSLT_ALLOWEMPTYTOKENS 0x0002 -#define CSLT_PRESERVEQUOTES 0x0004 -#define CSLT_PRESERVEESCAPES 0x0008 -#define CSLT_STRIPLEADSPACES 0x0010 -#define CSLT_STRIPENDSPACES 0x0020 - -int CPL_DLL CSLPrint(char **papszStrList, FILE *fpOut); -char CPL_DLL **CSLLoad(const char *pszFname) CPL_WARN_UNUSED_RESULT; -char CPL_DLL **CSLLoad2(const char *pszFname, int nMaxLines, int nMaxCols, - char** papszOptions) CPL_WARN_UNUSED_RESULT; -int CPL_DLL CSLSave(char **papszStrList, const char *pszFname); - -char CPL_DLL **CSLInsertStrings(char **papszStrList, int nInsertAtLineNo, - char **papszNewLines) CPL_WARN_UNUSED_RESULT; -char CPL_DLL **CSLInsertString(char **papszStrList, int nInsertAtLineNo, - const char *pszNewLine) CPL_WARN_UNUSED_RESULT; -char CPL_DLL **CSLRemoveStrings( - char **papszStrList, int nFirstLineToDelete, - int nNumToRemove, char ***ppapszRetStrings) CPL_WARN_UNUSED_RESULT; -int CPL_DLL CSLFindString( char **, const char * ); -int CPL_DLL CSLFindStringCaseSensitive( char **, const char * ); -int CPL_DLL CSLPartialFindString( char **papszHaystack, - const char * pszNeedle ); -int CPL_DLL CSLFindName(char **papszStrList, const char *pszName); -int CPL_DLL CSLFetchBoolean( char **papszStrList, const char *pszKey, - int bDefault ); - -/* TODO: Deprecate CSLTestBoolean. Remove in GDAL 3.x. */ -int CPL_DLL CSLTestBoolean( const char *pszValue ); -int CPL_DLL CPLTestBoolean( const char *pszValue ); - -#ifdef __cplusplus -#ifdef DO_NOT_USE_DEBUG_BOOL -#define CPLTestBool(x) CPL_TO_BOOL(CPLTestBoolean(x)) -#else -/* Prefer these for C++ code. */ -#ifdef DEBUG_BOOL -extern "C++" { -#endif -bool CPL_DLL CPLTestBool( const char *pszValue ); -#ifdef DEBUG_BOOL -} -#endif -#endif -bool CPL_DLL CPLFetchBool( const char **papszStrList, const char *pszKey, - bool bDefault ); -#endif /* __cplusplus */ - -const char CPL_DLL * - CPLParseNameValue(const char *pszNameValue, char **ppszKey ); -const char CPL_DLL * - CSLFetchNameValue(char **papszStrList, const char *pszName); -const char CPL_DLL * - CSLFetchNameValueDef(char **papszStrList, const char *pszName, - const char *pszDefault ); -char CPL_DLL ** - CSLFetchNameValueMultiple(char **papszStrList, const char *pszName); -char CPL_DLL ** - CSLAddNameValue(char **papszStrList, - const char *pszName, - const char *pszValue) CPL_WARN_UNUSED_RESULT; -char CPL_DLL ** - CSLSetNameValue(char **papszStrList, - const char *pszName, - const char *pszValue) CPL_WARN_UNUSED_RESULT; -void CPL_DLL CSLSetNameValueSeparator( char ** papszStrList, - const char *pszSeparator ); - -char CPL_DLL ** CSLParseCommandLine(const char* pszCommandLine); - -#define CPLES_BackslashQuotable 0 -#define CPLES_XML 1 -#define CPLES_URL 2 -#define CPLES_SQL 3 -#define CPLES_CSV 4 -#define CPLES_XML_BUT_QUOTES 5 - -char CPL_DLL *CPLEscapeString( const char *pszString, int nLength, - int nScheme ) CPL_WARN_UNUSED_RESULT; -char CPL_DLL *CPLUnescapeString( const char *pszString, int *pnLength, - int nScheme ) CPL_WARN_UNUSED_RESULT; - -char CPL_DLL *CPLBinaryToHex( int nBytes, - const GByte *pabyData ) CPL_WARN_UNUSED_RESULT; -GByte CPL_DLL *CPLHexToBinary( const char *pszHex, - int *pnBytes ) CPL_WARN_UNUSED_RESULT; - -char CPL_DLL *CPLBase64Encode( int nBytes, - const GByte *pabyData ) CPL_WARN_UNUSED_RESULT; -int CPL_DLL CPLBase64DecodeInPlace( GByte* pszBase64 ); - -typedef enum -{ - CPL_VALUE_STRING, - CPL_VALUE_REAL, - CPL_VALUE_INTEGER -} CPLValueType; - -CPLValueType CPL_DLL CPLGetValueType(const char* pszValue); - -size_t CPL_DLL CPLStrlcpy(char* pszDest, const char* pszSrc, size_t nDestSize); -size_t CPL_DLL CPLStrlcat(char* pszDest, const char* pszSrc, size_t nDestSize); -size_t CPL_DLL CPLStrnlen(const char *pszStr, size_t nMaxLen); - -/* -------------------------------------------------------------------- */ -/* Locale independent formatting functions. */ -/* -------------------------------------------------------------------- */ -int CPL_DLL CPLvsnprintf(char *str, size_t size, const char* fmt, - va_list args) CPL_PRINT_FUNC_FORMAT (3, 0); -int CPL_DLL CPLsnprintf(char *str, size_t size, - const char* fmt, ...) CPL_PRINT_FUNC_FORMAT(3,4); -#if defined(GDAL_COMPILATION) && !defined(DONT_DEPRECATE_SPRINTF) -int CPL_DLL CPLsprintf(char *str, const char* fmt, ...) - CPL_PRINT_FUNC_FORMAT(2, 3) CPL_WARN_DEPRECATED("Use CPLsnprintf instead"); -#else -int CPL_DLL CPLsprintf(char *str, const char* fmt, ...) - CPL_PRINT_FUNC_FORMAT(2, 3); -#endif -int CPL_DLL CPLprintf(const char* fmt, ...) CPL_PRINT_FUNC_FORMAT(1, 2); -/* caution: only works with limited number of formats */ -int CPL_DLL CPLsscanf(const char* str, const char* fmt, ...) - CPL_SCAN_FUNC_FORMAT(2, 3); - -const char CPL_DLL *CPLSPrintf(const char *fmt, ...) - CPL_PRINT_FUNC_FORMAT(1, 2) CPL_WARN_UNUSED_RESULT; -char CPL_DLL **CSLAppendPrintf(char **papszStrList, const char *fmt, ...) - CPL_PRINT_FUNC_FORMAT(2, 3) CPL_WARN_UNUSED_RESULT; -int CPL_DLL CPLVASPrintf(char **buf, const char *fmt, va_list args ) - CPL_PRINT_FUNC_FORMAT(2, 0); - -/* -------------------------------------------------------------------- */ -/* RFC 23 character set conversion/recoding API (cpl_recode.cpp). */ -/* -------------------------------------------------------------------- */ -#define CPL_ENC_LOCALE "" -#define CPL_ENC_UTF8 "UTF-8" -#define CPL_ENC_UTF16 "UTF-16" -#define CPL_ENC_UCS2 "UCS-2" -#define CPL_ENC_UCS4 "UCS-4" -#define CPL_ENC_ASCII "ASCII" -#define CPL_ENC_ISO8859_1 "ISO-8859-1" - -int CPL_DLL CPLEncodingCharSize( const char *pszEncoding ); -void CPL_DLL CPLClearRecodeWarningFlags( void ); -char CPL_DLL *CPLRecode( - const char *pszSource, const char *pszSrcEncoding, - const char *pszDstEncoding ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL; -char CPL_DLL *CPLRecodeFromWChar( - const wchar_t *pwszSource, const char *pszSrcEncoding, - const char *pszDstEncoding ) CPL_WARN_UNUSED_RESULT; -wchar_t CPL_DLL *CPLRecodeToWChar( - const char *pszSource, const char *pszSrcEncoding, - const char *pszDstEncoding ) CPL_WARN_UNUSED_RESULT; -int CPL_DLL CPLIsUTF8(const char* pabyData, int nLen); -char CPL_DLL *CPLForceToASCII( - const char* pabyData, int nLen, - char chReplacementChar) CPL_WARN_UNUSED_RESULT; -int CPL_DLL CPLStrlenUTF8(const char *pszUTF8Str); - -CPL_C_END - -/************************************************************************/ -/* CPLString */ -/************************************************************************/ - -#if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS) - -#include - -/* - * Simple trick to avoid "using" declaration in header for new compilers - * but make it still working with old compilers which throw C2614 errors. - * - * Define MSVC_OLD_STUPID_BEHAVIOUR - * for old compilers: VC++ 5 and 6 as well as eVC++ 3 and 4. - */ - -/* - * Detect old MSVC++ compiler <= 6.0 - * 1200 - VC++ 6.0 - * 1200-1202 - eVC++ 4.0 - */ -#if defined(_MSC_VER) -# if (_MSC_VER <= 1202) -# define MSVC_OLD_STUPID_BEHAVIOUR -# endif -#endif - -/* Avoid C2614 errors */ -#ifdef MSVC_OLD_STUPID_BEHAVIOUR - using std::string; -# define gdal_std_string string -#else -# define gdal_std_string std::string -#endif - -//! Convenient string class based on std::string. -class CPL_DLL CPLString : public gdal_std_string -{ -public: - - CPLString(void) {} - CPLString( const std::string &oStr ) : gdal_std_string( oStr ) {} - CPLString( const char *pszStr ) : gdal_std_string( pszStr ) {} - - operator const char* (void) const { return c_str(); } - - char& operator[](std::string::size_type i) - { - return gdal_std_string::operator[](i); - } - - const char& operator[](std::string::size_type i) const - { - return gdal_std_string::operator[](i); - } - - char& operator[](int i) - { - return gdal_std_string::operator[]( - static_cast(i)); - } - - const char& operator[](int i) const - { - return gdal_std_string::operator[]( - static_cast(i)); - } - - void Clear() { resize(0); } - - // NULL safe assign and free. - void Seize(char *pszValue) - { - if (pszValue == NULL ) - Clear(); - else - { - *this = pszValue; - CPLFree(pszValue); - } - } - - /* There seems to be a bug in the way the compiler count indices... - * Should be CPL_PRINT_FUNC_FORMAT (1, 2) */ - CPLString &Printf( - const char *pszFormat, ... ) CPL_PRINT_FUNC_FORMAT (2, 3); - CPLString &vPrintf( - const char *pszFormat, va_list args ) CPL_PRINT_FUNC_FORMAT(2, 0); - CPLString &FormatC( double dfValue, const char *pszFormat = NULL ); - CPLString &Trim(); - CPLString &Recode( const char *pszSrcEncoding, const char *pszDstEncoding ); - - /* case insensitive find alternates */ - size_t ifind( const std::string & str, size_t pos = 0 ) const; - size_t ifind( const char * s, size_t pos = 0 ) const; - CPLString &toupper( void ); - CPLString &tolower( void ); -}; - -CPLString CPLOPrintf(const char *pszFormat, ... ) CPL_PRINT_FUNC_FORMAT (1, 2); -CPLString CPLOvPrintf( - const char *pszFormat, va_list args) CPL_PRINT_FUNC_FORMAT (1, 0); - -/* -------------------------------------------------------------------- */ -/* URL processing functions, here since they depend on CPLString. */ -/* -------------------------------------------------------------------- */ -CPLString CPL_DLL CPLURLGetValue(const char* pszURL, const char* pszKey); -CPLString CPL_DLL CPLURLAddKVP(const char* pszURL, const char* pszKey, - const char* pszValue); - -/************************************************************************/ -/* CPLStringList */ -/************************************************************************/ - -//! String list class designed around our use of C "char**" string lists. -class CPL_DLL CPLStringList -{ - char **papszList; - mutable int nCount; - mutable int nAllocation; - bool bOwnList; - bool bIsSorted; - - void Initialize(); - void MakeOurOwnCopy(); - void EnsureAllocation( int nMaxLength ); - int FindSortedInsertionPoint( const char *pszLine ); - - public: - CPLStringList(); - CPLStringList( char **papszList, int bTakeOwnership=TRUE ); - CPLStringList( const CPLStringList& oOther ); - ~CPLStringList(); - - CPLStringList &Clear(); - - int size() const { return Count(); } - int Count() const; - - CPLStringList &AddString( const char *pszNewString ); - CPLStringList &AddStringDirectly( char *pszNewString ); - - CPLStringList &InsertString( int nInsertAtLineNo, const char *pszNewLine ) - { return InsertStringDirectly( nInsertAtLineNo, CPLStrdup(pszNewLine) ); } - CPLStringList &InsertStringDirectly( int nInsertAtLineNo, char *pszNewLine); - - // CPLStringList &InsertStrings( int nInsertAtLineNo, char **papszNewLines ); - // CPLStringList &RemoveStrings( int nFirstLineToDelete, int nNumToRemove=1 ); - - int FindString( const char *pszTarget ) const - { return CSLFindString( papszList, pszTarget ); } - int PartialFindString( const char *pszNeedle ) const - { return CSLPartialFindString( papszList, pszNeedle ); } - - int FindName( const char *pszName ) const; - bool FetchBool( const char *pszKey, bool bDefault ) const; - // Deprecated. - int FetchBoolean( const char *pszKey, int bDefault ) const; - const char *FetchNameValue( const char *pszKey ) const; - const char *FetchNameValueDef( - const char *pszKey, const char *pszDefault ) const; - CPLStringList &AddNameValue( const char *pszKey, const char *pszValue ); - CPLStringList &SetNameValue( const char *pszKey, const char *pszValue ); - - CPLStringList &Assign( char **papszListIn, int bTakeOwnership=TRUE ); - CPLStringList &operator=(char **papszListIn) { - return Assign( papszListIn, TRUE ); } - CPLStringList &operator=(const CPLStringList& oOther); - - char * operator[](int i); - char * operator[](size_t i) { return (*this)[static_cast(i)]; } - const char * operator[](int i) const; - const char * operator[](size_t i) const { - return (*this)[static_cast(i)]; } - - char **List() { return papszList; } - char **StealList(); - - CPLStringList &Sort(); - int IsSorted() const { return bIsSorted; } - - operator char**(void) { return List(); } -}; - -#endif /* def __cplusplus && !CPL_SUPRESS_CPLUSPLUS */ - -#endif /* CPL_STRING_H_INCLUDED */ diff --git a/src/gdal/cpl_time.h b/src/gdal/cpl_time.h deleted file mode 100644 index 7b57f4ab..00000000 --- a/src/gdal/cpl_time.h +++ /dev/null @@ -1,41 +0,0 @@ -/********************************************************************** - * $Id: cpl_time.h 33783 2016-03-24 13:45:22Z goatbar $ - * - * Name: cpl_time.h - * Project: CPL - Common Portability Library - * Purpose: Time functions. - * Author: Even Rouault, - * - ********************************************************************** - * Copyright (c) 2009, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_TIME_H_INCLUDED -#define CPL_TIME_H_INCLUDED - -#include - -#include "cpl_port.h" - -struct tm CPL_DLL * CPLUnixTimeToYMDHMS(GIntBig unixTime, struct tm* pRet); -GIntBig CPL_DLL CPLYMDHMSToUnixTime(const struct tm *brokendowntime); - -#endif // CPL_TIME_H_INCLUDED diff --git a/src/gdal/cpl_virtualmem.h b/src/gdal/cpl_virtualmem.h deleted file mode 100644 index 271c5835..00000000 --- a/src/gdal/cpl_virtualmem.h +++ /dev/null @@ -1,390 +0,0 @@ -/********************************************************************** - * $Id: cpl_virtualmem.h 33666 2016-03-07 05:21:07Z goatbar $ - * - * Name: cpl_virtualmem.h - * Project: CPL - Common Portability Library - * Purpose: Virtual memory - * Author: Even Rouault, - * - ********************************************************************** - * Copyright (c) 2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_VIRTUAL_MEM_INCLUDED -#define CPL_VIRTUAL_MEM_INCLUDED - -#include "cpl_port.h" -#include "cpl_vsi.h" - -CPL_C_START - -/** - * \file cpl_virtualmem.h - * - * Virtual memory management. - * - * This file provides mechanism to define virtual memory mappings, whose content - * is allocated transparently and filled on-the-fly. Those virtual memory mappings - * can be much larger than the available RAM, but only parts of the virtual - * memory mapping, in the limit of the allowed the cache size, will actually be - * physically allocated. - * - * This exploits low-level mechanisms of the operating system (virtual memory - * allocation, page protection and handler of virtual memory exceptions). - * - * It is also possible to create a virtual memory mapping from a file or part - * of a file. - * - * The current implementation is Linux only. - */ - -/** Opaque type that represents a virtual memory mapping. */ -typedef struct CPLVirtualMem CPLVirtualMem; - -/** Callback triggered when a still unmapped page of virtual memory is accessed. - * The callback has the responsibility of filling the page with relevant values - * - * @param ctxt virtual memory handle. - * @param nOffset offset of the page in the memory mapping. - * @param pPageToFill address of the page to fill. Note that the address might - * be a temporary location, and not at CPLVirtualMemGetAddr() + nOffset. - * @param nToFill number of bytes of the page. - * @param pUserData user data that was passed to CPLVirtualMemNew(). - */ -typedef void (*CPLVirtualMemCachePageCbk)(CPLVirtualMem* ctxt, - size_t nOffset, - void* pPageToFill, - size_t nToFill, - void* pUserData); - -/** Callback triggered when a dirty mapped page is going to be freed. - * (saturation of cache, or termination of the virtual memory mapping). - * - * @param ctxt virtual memory handle. - * @param nOffset offset of the page in the memory mapping. - * @param pPageToBeEvicted address of the page that will be flushed. Note that the address might - * be a temporary location, and not at CPLVirtualMemGetAddr() + nOffset. - * @param nToBeEvicted number of bytes of the page. - * @param pUserData user data that was passed to CPLVirtualMemNew(). - */ -typedef void (*CPLVirtualMemUnCachePageCbk)(CPLVirtualMem* ctxt, - size_t nOffset, - const void* pPageToBeEvicted, - size_t nToBeEvicted, - void* pUserData); - -/** Callback triggered when a virtual memory mapping is destroyed. - * @param pUserData user data that was passed to CPLVirtualMemNew(). - */ -typedef void (*CPLVirtualMemFreeUserData)(void* pUserData); - -/** Access mode of a virtual memory mapping. */ -typedef enum -{ - /*! The mapping is meant at being read-only, but writes will not be prevented. - Note that any content written will be lost. */ - VIRTUALMEM_READONLY, - /*! The mapping is meant at being read-only, and this will be enforced - through the operating system page protection mechanism. */ - VIRTUALMEM_READONLY_ENFORCED, - /*! The mapping is meant at being read-write, and modified pages can be saved - thanks to the pfnUnCachePage callback */ - VIRTUALMEM_READWRITE -} CPLVirtualMemAccessMode; - - -/** Return the size of a page of virtual memory. - * - * @return the page size. - * - * @since GDAL 1.11 - */ -size_t CPL_DLL CPLGetPageSize(void); - -/** Create a new virtual memory mapping. - * - * This will reserve an area of virtual memory of size nSize, whose size - * might be potentially much larger than the physical memory available. Initially, - * no physical memory will be allocated. As soon as memory pages will be accessed, - * they will be allocated transparently and filled with the pfnCachePage callback. - * When the allowed cache size is reached, the least recently used pages will - * be unallocated. - * - * On Linux AMD64 platforms, the maximum value for nSize is 128 TB. - * On Linux x86 platforms, the maximum value for nSize is 2 GB. - * - * Only supported on Linux for now. - * - * Note that on Linux, this function will install a SIGSEGV handler. The - * original handler will be restored by CPLVirtualMemManagerTerminate(). - * - * @param nSize size in bytes of the virtual memory mapping. - * @param nCacheSize size in bytes of the maximum memory that will be really - * allocated (must ideally fit into RAM). - * @param nPageSizeHint hint for the page size. Must be a multiple of the - * system page size, returned by CPLGetPageSize(). - * Minimum value is generally 4096. Might be set to 0 to - * let the function determine a default page size. - * @param bSingleThreadUsage set to TRUE if there will be no concurrent threads - * that will access the virtual memory mapping. This can - * optimize performance a bit. - * @param eAccessMode permission to use for the virtual memory mapping. - * @param pfnCachePage callback triggered when a still unmapped page of virtual - * memory is accessed. The callback has the responsibility - * of filling the page with relevant values. - * @param pfnUnCachePage callback triggered when a dirty mapped page is going to - * be freed (saturation of cache, or termination of the - * virtual memory mapping). Might be NULL. - * @param pfnFreeUserData callback that can be used to free pCbkUserData. Might be - * NULL - * @param pCbkUserData user data passed to pfnCachePage and pfnUnCachePage. - * - * @return a virtual memory object that must be freed by CPLVirtualMemFree(), - * or NULL in case of failure. - * - * @since GDAL 1.11 - */ - -CPLVirtualMem CPL_DLL *CPLVirtualMemNew(size_t nSize, - size_t nCacheSize, - size_t nPageSizeHint, - int bSingleThreadUsage, - CPLVirtualMemAccessMode eAccessMode, - CPLVirtualMemCachePageCbk pfnCachePage, - CPLVirtualMemUnCachePageCbk pfnUnCachePage, - CPLVirtualMemFreeUserData pfnFreeUserData, - void *pCbkUserData); - - -/** Return if virtual memory mapping of a file is available. - * - * @return TRUE if virtual memory mapping of a file is available. - * @since GDAL 1.11 - */ -int CPL_DLL CPLIsVirtualMemFileMapAvailable(void); - -/** Create a new virtual memory mapping from a file. - * - * The file must be a "real" file recognized by the operating system, and not - * a VSI extended virtual file. - * - * In VIRTUALMEM_READWRITE mode, updates to the memory mapping will be written - * in the file. - * - * On Linux AMD64 platforms, the maximum value for nLength is 128 TB. - * On Linux x86 platforms, the maximum value for nLength is 2 GB. - * - * Supported on Linux only in GDAL <= 2.0, and all POSIX systems supporting - * mmap() in GDAL >= 2.1 - * - * @param fp Virtual file handle. - * @param nOffset Offset in the file to start the mapping from. - * @param nLength Length of the portion of the file to map into memory. - * @param eAccessMode Permission to use for the virtual memory mapping. This must - * be consistent with how the file has been opened. - * @param pfnFreeUserData callback that is called when the object is destroyed. - * @param pCbkUserData user data passed to pfnFreeUserData. - * @return a virtual memory object that must be freed by CPLVirtualMemFree(), - * or NULL in case of failure. - * - * @since GDAL 1.11 - */ -CPLVirtualMem CPL_DLL *CPLVirtualMemFileMapNew( VSILFILE* fp, - vsi_l_offset nOffset, - vsi_l_offset nLength, - CPLVirtualMemAccessMode eAccessMode, - CPLVirtualMemFreeUserData pfnFreeUserData, - void *pCbkUserData ); - -/** Create a new virtual memory mapping derived from an other virtual memory - * mapping. - * - * This may be useful in case of creating mapping for pixel interleaved data. - * - * The new mapping takes a reference on the base mapping. - * - * @param pVMemBase Base virtual memory mapping - * @param nOffset Offset in the base virtual memory mapping from which to start - * the new mapping. - * @param nSize Size of the base virtual memory mapping to expose in the - * the new mapping. - * @param pfnFreeUserData callback that is called when the object is destroyed. - * @param pCbkUserData user data passed to pfnFreeUserData. - * @return a virtual memory object that must be freed by CPLVirtualMemFree(), - * or NULL in case of failure. - * - * @since GDAL 1.11 - */ -CPLVirtualMem CPL_DLL *CPLVirtualMemDerivedNew(CPLVirtualMem* pVMemBase, - vsi_l_offset nOffset, - vsi_l_offset nSize, - CPLVirtualMemFreeUserData pfnFreeUserData, - void *pCbkUserData); - -/** Free a virtual memory mapping. - * - * The pointer returned by CPLVirtualMemGetAddr() will no longer be valid. - * If the virtual memory mapping was created with read/write permissions and that - * they are dirty (i.e. modified) pages, they will be flushed through the - * pfnUnCachePage callback before being freed. - * - * @param ctxt context returned by CPLVirtualMemNew(). - * - * @since GDAL 1.11 - */ -void CPL_DLL CPLVirtualMemFree(CPLVirtualMem* ctxt); - -/** Return the pointer to the start of a virtual memory mapping. - * - * The bytes in the range [p:p+CPLVirtualMemGetSize()-1] where p is the pointer - * returned by this function will be valid, until CPLVirtualMemFree() is called. - * - * Note that if a range of bytes used as an argument of a system call - * (such as read() or write()) contains pages that have not been "realized", the - * system call will fail with EFAULT. CPLVirtualMemPin() can be used to work - * around this issue. - * - * @param ctxt context returned by CPLVirtualMemNew(). - * @return the pointer to the start of a virtual memory mapping. - * - * @since GDAL 1.11 - */ -void CPL_DLL *CPLVirtualMemGetAddr(CPLVirtualMem* ctxt); - -/** Return the size of the virtual memory mapping. - * - * @param ctxt context returned by CPLVirtualMemNew(). - * @return the size of the virtual memory mapping. - * - * @since GDAL 1.11 - */ -size_t CPL_DLL CPLVirtualMemGetSize(CPLVirtualMem* ctxt); - -/** Return if the virtual memory mapping is a direct file mapping. - * - * @param ctxt context returned by CPLVirtualMemNew(). - * @return TRUE if the virtual memory mapping is a direct file mapping. - * - * @since GDAL 1.11 - */ -int CPL_DLL CPLVirtualMemIsFileMapping(CPLVirtualMem* ctxt); - -/** Return the access mode of the virtual memory mapping. - * - * @param ctxt context returned by CPLVirtualMemNew(). - * @return the access mode of the virtual memory mapping. - * - * @since GDAL 1.11 - */ -CPLVirtualMemAccessMode CPL_DLL CPLVirtualMemGetAccessMode(CPLVirtualMem* ctxt); - -/** Return the page size associated to a virtual memory mapping. - * - * The value returned will be at least CPLGetPageSize(), but potentially - * larger. - * - * @param ctxt context returned by CPLVirtualMemNew(). - * @return the page size - * - * @since GDAL 1.11 - */ -size_t CPL_DLL CPLVirtualMemGetPageSize(CPLVirtualMem* ctxt); - -/** Return TRUE if this memory mapping can be accessed safely from concurrent - * threads. - * - * The situation that can cause problems is when several threads try to access - * a page of the mapping that is not yet mapped. - * - * The return value of this function depends on whether bSingleThreadUsage has - * been set of not in CPLVirtualMemNew() and/or the implementation. - * - * On Linux, this will always return TRUE if bSingleThreadUsage = FALSE. - * - * @param ctxt context returned by CPLVirtualMemNew(). - * @return TRUE if this memory mapping can be accessed safely from concurrent - * threads. - * - * @since GDAL 1.11 - */ -int CPL_DLL CPLVirtualMemIsAccessThreadSafe(CPLVirtualMem* ctxt); - -/** Declare that a thread will access a virtual memory mapping. - * - * This function must be called by a thread that wants to access the - * content of a virtual memory mapping, except if the virtual memory mapping has - * been created with bSingleThreadUsage = TRUE. - * - * This function must be paired with CPLVirtualMemUnDeclareThread(). - * - * @param ctxt context returned by CPLVirtualMemNew(). - * - * @since GDAL 1.11 - */ -void CPL_DLL CPLVirtualMemDeclareThread(CPLVirtualMem* ctxt); - -/** Declare that a thread will stop accessing a virtual memory mapping. - * - * This function must be called by a thread that will no longer access the - * content of a virtual memory mapping, except if the virtual memory mapping has - * been created with bSingleThreadUsage = TRUE. - * - * This function must be paired with CPLVirtualMemDeclareThread(). - * - * @param ctxt context returned by CPLVirtualMemNew(). - * - * @since GDAL 1.11 - */ -void CPL_DLL CPLVirtualMemUnDeclareThread(CPLVirtualMem* ctxt); - -/** Make sure that a region of virtual memory will be realized. - * - * Calling this function is not required, but might be useful when debugging - * a process with tools like gdb or valgrind that do not naturally like - * segmentation fault signals. - * - * It is also needed when wanting to provide part of virtual memory mapping - * to a system call such as read() or write(). If read() or write() is called - * on a memory region not yet realized, the call will fail with EFAULT. - * - * @param ctxt context returned by CPLVirtualMemNew(). - * @param pAddr the memory region to pin. - * @param nSize the size of the memory region. - * @param bWriteOp set to TRUE if the memory are will be accessed in write mode. - * - * @since GDAL 1.11 - */ -void CPL_DLL CPLVirtualMemPin(CPLVirtualMem* ctxt, - void* pAddr, size_t nSize, int bWriteOp); - -/** Cleanup any resource and handlers related to virtual memory. - * - * This function must be called after the last CPLVirtualMem object has - * been freed. - * - * @since GDAL 2.0 - */ -void CPL_DLL CPLVirtualMemManagerTerminate(void); - - -CPL_C_END - -#endif /* CPL_VIRTUAL_MEM_INCLUDED */ diff --git a/src/gdal/cpl_vsi.h b/src/gdal/cpl_vsi.h deleted file mode 100644 index 16768a21..00000000 --- a/src/gdal/cpl_vsi.h +++ /dev/null @@ -1,311 +0,0 @@ -/****************************************************************************** - * $Id: cpl_vsi.h 33758 2016-03-21 09:06:22Z rouault $ - * - * Project: CPL - Common Portability Library - * Author: Frank Warmerdam, warmerdam@pobox.com - * Purpose: Include file defining Virtual File System (VSI) functions, a - * layer over POSIX file and other system services. - * - ****************************************************************************** - * Copyright (c) 1998, Frank Warmerdam - * Copyright (c) 2008-2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_VSI_H_INCLUDED -#define CPL_VSI_H_INCLUDED - -#include "cpl_port.h" -/** - * \file cpl_vsi.h - * - * Standard C Covers - * - * The VSI functions are intended to be hookable aliases for Standard C - * I/O, memory allocation and other system functions. They are intended - * to allow virtualization of disk I/O so that non file data sources - * can be made to appear as files, and so that additional error trapping - * and reporting can be interested. The memory access API is aliased - * so that special application memory management services can be used. - * - * It is intended that each of these functions retains exactly the same - * calling pattern as the original Standard C functions they relate to. - * This means we don't have to provide custom documentation, and also means - * that the default implementation is very simple. - */ - -/* -------------------------------------------------------------------- */ -/* We need access to ``struct stat''. */ -/* -------------------------------------------------------------------- */ - -/* Unix */ -#if !defined(_WIN32) -# include -#endif - -/* Windows */ -#include - -CPL_C_START - -#ifdef ENABLE_EXPERIMENTAL_CPL_WARN_UNUSED_RESULT -#define EXPERIMENTAL_CPL_WARN_UNUSED_RESULT CPL_WARN_UNUSED_RESULT -#else -#define EXPERIMENTAL_CPL_WARN_UNUSED_RESULT -#endif - -/* ==================================================================== */ -/* stdio file access functions. These may not support large */ -/* files, and don't necessarily go through the virtualization */ -/* API. */ -/* ==================================================================== */ - -FILE CPL_DLL * VSIFOpen( const char *, const char * ) CPL_WARN_UNUSED_RESULT; -int CPL_DLL VSIFClose( FILE * ); -int CPL_DLL VSIFSeek( FILE *, long, int ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; -long CPL_DLL VSIFTell( FILE * ) CPL_WARN_UNUSED_RESULT; -void CPL_DLL VSIRewind( FILE * ); -void CPL_DLL VSIFFlush( FILE * ); - -size_t CPL_DLL VSIFRead( void *, size_t, size_t, FILE * ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; -size_t CPL_DLL VSIFWrite( const void *, size_t, size_t, FILE * ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; -char CPL_DLL *VSIFGets( char *, int, FILE * ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; -int CPL_DLL VSIFPuts( const char *, FILE * ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; -int CPL_DLL VSIFPrintf( FILE *, const char *, ... ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT CPL_PRINT_FUNC_FORMAT(2, 3); - -int CPL_DLL VSIFGetc( FILE * ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; -int CPL_DLL VSIFPutc( int, FILE * ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; -int CPL_DLL VSIUngetc( int, FILE * ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; -int CPL_DLL VSIFEof( FILE * ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; - -/* ==================================================================== */ -/* VSIStat() related. */ -/* ==================================================================== */ - -typedef struct stat VSIStatBuf; -int CPL_DLL VSIStat( const char *, VSIStatBuf * ) CPL_WARN_UNUSED_RESULT; - -#ifdef _WIN32 -# define VSI_ISLNK(x) ( 0 ) /* N/A on Windows */ -# define VSI_ISREG(x) ((x) & S_IFREG) -# define VSI_ISDIR(x) ((x) & S_IFDIR) -# define VSI_ISCHR(x) ((x) & S_IFCHR) -# define VSI_ISBLK(x) ( 0 ) /* N/A on Windows */ -#else -# define VSI_ISLNK(x) S_ISLNK(x) -# define VSI_ISREG(x) S_ISREG(x) -# define VSI_ISDIR(x) S_ISDIR(x) -# define VSI_ISCHR(x) S_ISCHR(x) -# define VSI_ISBLK(x) S_ISBLK(x) -#endif - -/* ==================================================================== */ -/* 64bit stdio file access functions. If we have a big size */ -/* defined, then provide prototypes for the large file API, */ -/* otherwise redefine to use the regular api. */ -/* ==================================================================== */ -typedef GUIntBig vsi_l_offset; -#define VSI_L_OFFSET_MAX GUINTBIG_MAX - -/* Make VSIL_STRICT_ENFORCE active in DEBUG builds */ -#ifdef DEBUG -#define VSIL_STRICT_ENFORCE -#endif - -#ifdef VSIL_STRICT_ENFORCE -typedef struct _VSILFILE VSILFILE; -#else -typedef FILE VSILFILE; -#endif - -VSILFILE CPL_DLL * VSIFOpenL( const char *, const char * ) CPL_WARN_UNUSED_RESULT; -VSILFILE CPL_DLL * VSIFOpenExL( const char *, const char *, int ) CPL_WARN_UNUSED_RESULT; -int CPL_DLL VSIFCloseL( VSILFILE * ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; -int CPL_DLL VSIFSeekL( VSILFILE *, vsi_l_offset, int ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; -vsi_l_offset CPL_DLL VSIFTellL( VSILFILE * ) CPL_WARN_UNUSED_RESULT; -void CPL_DLL VSIRewindL( VSILFILE * ); -size_t CPL_DLL VSIFReadL( void *, size_t, size_t, VSILFILE * ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; -int CPL_DLL VSIFReadMultiRangeL( int nRanges, void ** ppData, const vsi_l_offset* panOffsets, const size_t* panSizes, VSILFILE * ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; -size_t CPL_DLL VSIFWriteL( const void *, size_t, size_t, VSILFILE * ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; -int CPL_DLL VSIFEofL( VSILFILE * ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; -int CPL_DLL VSIFTruncateL( VSILFILE *, vsi_l_offset ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; -int CPL_DLL VSIFFlushL( VSILFILE * ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; -int CPL_DLL VSIFPrintfL( VSILFILE *, const char *, ... ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT CPL_PRINT_FUNC_FORMAT(2, 3); -int CPL_DLL VSIFPutcL( int, VSILFILE * ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT; - -int CPL_DLL VSIIngestFile( VSILFILE* fp, - const char* pszFilename, - GByte** ppabyRet, - vsi_l_offset* pnSize, - GIntBig nMaxSize ) CPL_WARN_UNUSED_RESULT; - -#if defined(VSI_STAT64_T) -typedef struct VSI_STAT64_T VSIStatBufL; -#else -#define VSIStatBufL VSIStatBuf -#endif - -int CPL_DLL VSIStatL( const char *, VSIStatBufL * ) CPL_WARN_UNUSED_RESULT; - -#define VSI_STAT_EXISTS_FLAG 0x1 -#define VSI_STAT_NATURE_FLAG 0x2 -#define VSI_STAT_SIZE_FLAG 0x4 -#define VSI_STAT_SET_ERROR_FLAG 0x8 - -int CPL_DLL VSIStatExL( const char * pszFilename, VSIStatBufL * psStatBuf, int nFlags ) CPL_WARN_UNUSED_RESULT; - -int CPL_DLL VSIIsCaseSensitiveFS( const char * pszFilename ); - -void CPL_DLL *VSIFGetNativeFileDescriptorL( VSILFILE* ); - -/* ==================================================================== */ -/* Memory allocation */ -/* ==================================================================== */ - -void CPL_DLL *VSICalloc( size_t, size_t ) CPL_WARN_UNUSED_RESULT; -void CPL_DLL *VSIMalloc( size_t ) CPL_WARN_UNUSED_RESULT; -void CPL_DLL VSIFree( void * ); -void CPL_DLL *VSIRealloc( void *, size_t ) CPL_WARN_UNUSED_RESULT; -char CPL_DLL *VSIStrdup( const char * ) CPL_WARN_UNUSED_RESULT; - -/** - VSIMalloc2 allocates (nSize1 * nSize2) bytes. - In case of overflow of the multiplication, or if memory allocation fails, a - NULL pointer is returned and a CE_Failure error is raised with CPLError(). - If nSize1 == 0 || nSize2 == 0, a NULL pointer will also be returned. - CPLFree() or VSIFree() can be used to free memory allocated by this function. -*/ -void CPL_DLL *VSIMalloc2( size_t nSize1, size_t nSize2 ) CPL_WARN_UNUSED_RESULT; - -/** - VSIMalloc3 allocates (nSize1 * nSize2 * nSize3) bytes. - In case of overflow of the multiplication, or if memory allocation fails, a - NULL pointer is returned and a CE_Failure error is raised with CPLError(). - If nSize1 == 0 || nSize2 == 0 || nSize3 == 0, a NULL pointer will also be returned. - CPLFree() or VSIFree() can be used to free memory allocated by this function. -*/ -void CPL_DLL *VSIMalloc3( size_t nSize1, size_t nSize2, size_t nSize3 ) CPL_WARN_UNUSED_RESULT; - - -void CPL_DLL *VSIMallocVerbose( size_t nSize, const char* pszFile, int nLine ) CPL_WARN_UNUSED_RESULT; -#define VSI_MALLOC_VERBOSE( size ) VSIMallocVerbose(size,__FILE__,__LINE__) - -void CPL_DLL *VSIMalloc2Verbose( size_t nSize1, size_t nSize2, const char* pszFile, int nLine ) CPL_WARN_UNUSED_RESULT; -#define VSI_MALLOC2_VERBOSE( nSize1, nSize2 ) VSIMalloc2Verbose(nSize1,nSize2,__FILE__,__LINE__) - -void CPL_DLL *VSIMalloc3Verbose( size_t nSize1, size_t nSize2, size_t nSize3, const char* pszFile, int nLine ) CPL_WARN_UNUSED_RESULT; -#define VSI_MALLOC3_VERBOSE( nSize1, nSize2, nSize3 ) VSIMalloc3Verbose(nSize1,nSize2,nSize3,__FILE__,__LINE__) - -void CPL_DLL *VSICallocVerbose( size_t nCount, size_t nSize, const char* pszFile, int nLine ) CPL_WARN_UNUSED_RESULT; -#define VSI_CALLOC_VERBOSE( nCount, nSize ) VSICallocVerbose(nCount,nSize,__FILE__,__LINE__) - -void CPL_DLL *VSIReallocVerbose( void* pOldPtr, size_t nNewSize, const char* pszFile, int nLine ) CPL_WARN_UNUSED_RESULT; -#define VSI_REALLOC_VERBOSE( pOldPtr, nNewSize ) VSIReallocVerbose(pOldPtr,nNewSize,__FILE__,__LINE__) - -char CPL_DLL *VSIStrdupVerbose( const char* pszStr, const char* pszFile, int nLine ) CPL_WARN_UNUSED_RESULT; -#define VSI_STRDUP_VERBOSE( pszStr ) VSIStrdupVerbose(pszStr,__FILE__,__LINE__) - - -GIntBig CPL_DLL CPLGetPhysicalRAM(void); -GIntBig CPL_DLL CPLGetUsablePhysicalRAM(void); - -/* ==================================================================== */ -/* Other... */ -/* ==================================================================== */ - -#define CPLReadDir VSIReadDir -char CPL_DLL **VSIReadDir( const char * ); -char CPL_DLL **VSIReadDirRecursive( const char *pszPath ); -char CPL_DLL **VSIReadDirEx( const char *pszPath, int nMaxFiles ); -int CPL_DLL VSIMkdir( const char * pathname, long mode ); -int CPL_DLL VSIRmdir( const char * pathname ); -int CPL_DLL VSIUnlink( const char * pathname ); -int CPL_DLL VSIRename( const char * oldpath, const char * newpath ); -char CPL_DLL *VSIStrerror( int ); -GIntBig CPL_DLL VSIGetDiskFreeSpace(const char *pszDirname); - -/* ==================================================================== */ -/* Install special file access handlers. */ -/* ==================================================================== */ -void CPL_DLL VSIInstallMemFileHandler(void); -void CPL_DLL VSIInstallLargeFileHandler(void); -void CPL_DLL VSIInstallSubFileHandler(void); -void VSIInstallCurlFileHandler(void); -void VSIInstallCurlStreamingFileHandler(void); -void VSIInstallS3FileHandler(void); -void VSIInstallS3StreamingFileHandler(void); -void VSIInstallGZipFileHandler(void); /* No reason to export that */ -void VSIInstallZipFileHandler(void); /* No reason to export that */ -void VSIInstallStdinHandler(void); /* No reason to export that */ -void VSIInstallStdoutHandler(void); /* No reason to export that */ -void CPL_DLL VSIInstallSparseFileHandler(void); -void VSIInstallTarFileHandler(void); /* No reason to export that */ -void CPL_DLL VSIInstallCryptFileHandler(void); -void CPL_DLL VSISetCryptKey(const GByte* pabyKey, int nKeySize); -void CPL_DLL VSICleanupFileManager(void); - -VSILFILE CPL_DLL *VSIFileFromMemBuffer( const char *pszFilename, - GByte *pabyData, - vsi_l_offset nDataLength, - int bTakeOwnership ) CPL_WARN_UNUSED_RESULT; -GByte CPL_DLL *VSIGetMemFileBuffer( const char *pszFilename, - vsi_l_offset *pnDataLength, - int bUnlinkAndSeize ); - -typedef size_t (*VSIWriteFunction)(const void* ptr, size_t size, size_t nmemb, FILE* stream); -void CPL_DLL VSIStdoutSetRedirection( VSIWriteFunction pFct, FILE* stream ); - -/* ==================================================================== */ -/* Time querying. */ -/* ==================================================================== */ - -unsigned long CPL_DLL VSITime( unsigned long * ); -const char CPL_DLL *VSICTime( unsigned long ); -struct tm CPL_DLL *VSIGMTime( const time_t *pnTime, - struct tm *poBrokenTime ); -struct tm CPL_DLL *VSILocalTime( const time_t *pnTime, - struct tm *poBrokenTime ); - -/* -------------------------------------------------------------------- */ -/* the following can be turned on for detailed logging of */ -/* almost all IO calls. */ -/* -------------------------------------------------------------------- */ -#ifdef VSI_DEBUG - -#ifndef DEBUG -# define DEBUG -#endif - -#include "cpl_error.h" - -#define VSIDebug4(f,a1,a2,a3,a4) CPLDebug( "VSI", f, a1, a2, a3, a4 ); -#define VSIDebug3( f, a1, a2, a3 ) CPLDebug( "VSI", f, a1, a2, a3 ); -#define VSIDebug2( f, a1, a2 ) CPLDebug( "VSI", f, a1, a2 ); -#define VSIDebug1( f, a1 ) CPLDebug( "VSI", f, a1 ); -#else -#define VSIDebug4( f, a1, a2, a3, a4 ) {} -#define VSIDebug3( f, a1, a2, a3 ) {} -#define VSIDebug2( f, a1, a2 ) {} -#define VSIDebug1( f, a1 ) {} -#endif - -CPL_C_END - -#endif /* ndef CPL_VSI_H_INCLUDED */ diff --git a/src/gdal/cpl_vsi_error.h b/src/gdal/cpl_vsi_error.h deleted file mode 100644 index 85f880f6..00000000 --- a/src/gdal/cpl_vsi_error.h +++ /dev/null @@ -1,67 +0,0 @@ -/****************************************************************************** - * $Id: cpl_vsi_error.h 33758 2016-03-21 09:06:22Z rouault $ - * - * Project: VSI Virtual File System - * Purpose: Implement an error system for reporting file system errors. - * Filesystem errors need to be handled separately from the - * CPLError architecture because they are potentially ignored. - * Author: Rob Emanuele, rdemanuele at gmail.com - * - ****************************************************************************** - * Copyright (c) 2016, Rob Emanuele - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_VSI_ERROR_H_INCLUDED -#define CPL_VSI_ERROR_H_INCLUDED - -#include "cpl_port.h" -#include "cpl_error.h" - -/* ==================================================================== - Filesystem error codes. - ==================================================================== */ - -CPL_C_START - -typedef int VSIErrorNum; - -#define VSIE_None 0 -#define VSIE_FileError 1 -#define VSIE_HttpError 2 - -#define VSIE_AWSError 5 -#define VSIE_AWSAccessDenied 6 -#define VSIE_AWSBucketNotFound 7 -#define VSIE_AWSObjectNotFound 8 -#define VSIE_AWSInvalidCredentials 9 -#define VSIE_AWSSignatureDoesNotMatch 10 - -void CPL_DLL VSIError(VSIErrorNum err_no, const char *fmt, ...) CPL_PRINT_FUNC_FORMAT (2, 3); - -void CPL_DLL CPL_STDCALL VSIErrorReset( void ); -VSIErrorNum CPL_DLL CPL_STDCALL VSIGetLastErrorNo( void ); -const char CPL_DLL * CPL_STDCALL VSIGetLastErrorMsg( void ); - -int CPL_DLL CPL_STDCALL VSIToCPLError(CPLErr eErrClass, CPLErrorNum eDefaultErrorNo); - -CPL_C_END - -#endif /* CPL_VSI_ERROR_H_INCLUDED */ diff --git a/src/gdal/cpl_vsi_virtual.h b/src/gdal/cpl_vsi_virtual.h deleted file mode 100644 index cdb7ae27..00000000 --- a/src/gdal/cpl_vsi_virtual.h +++ /dev/null @@ -1,208 +0,0 @@ -/****************************************************************************** - * $Id: cpl_vsi_virtual.h 34165 2016-05-03 13:14:27Z rouault $ - * - * Project: VSI Virtual File System - * Purpose: Declarations for classes related to the virtual filesystem. - * These would only be normally required by applications implementing - * their own virtual file system classes which should be rare. - * The class interface may be fragile through versions. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 2005, Frank Warmerdam - * Copyright (c) 2010-2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_VSI_VIRTUAL_H_INCLUDED -#define CPL_VSI_VIRTUAL_H_INCLUDED - -#include "cpl_vsi.h" -#include "cpl_vsi_error.h" -#include "cpl_string.h" -#include "cpl_multiproc.h" - -#include -#include -#include - -/************************************************************************/ -/* VSIVirtualHandle */ -/************************************************************************/ - -class CPL_DLL VSIVirtualHandle { - public: - virtual int Seek( vsi_l_offset nOffset, int nWhence ) = 0; - virtual vsi_l_offset Tell() = 0; - virtual size_t Read( void *pBuffer, size_t nSize, size_t nMemb ) = 0; - virtual int ReadMultiRange( int nRanges, void ** ppData, const vsi_l_offset* panOffsets, const size_t* panSizes ); - virtual size_t Write( const void *pBuffer, size_t nSize,size_t nMemb)=0; - virtual int Eof() = 0; - virtual int Flush() {return 0;} - virtual int Close() = 0; - virtual int Truncate( CPL_UNUSED vsi_l_offset nNewSize ) { return -1; } - virtual void *GetNativeFileDescriptor() { return NULL; } - virtual ~VSIVirtualHandle() { } -}; - -/************************************************************************/ -/* VSIFilesystemHandler */ -/************************************************************************/ - -class CPL_DLL VSIFilesystemHandler { - -public: - - virtual ~VSIFilesystemHandler() {} - - VSIVirtualHandle *Open( const char *pszFilename, - const char *pszAccess ); - - virtual VSIVirtualHandle *Open( const char *pszFilename, - const char *pszAccess, - bool bSetError ) = 0; - virtual int Stat( const char *pszFilename, VSIStatBufL *pStatBuf, int nFlags) = 0; - virtual int Unlink( const char *pszFilename ) - { (void) pszFilename; errno=ENOENT; return -1; } - virtual int Mkdir( const char *pszDirname, long nMode ) - {(void)pszDirname; (void)nMode; errno=ENOENT; return -1;} - virtual int Rmdir( const char *pszDirname ) - { (void) pszDirname; errno=ENOENT; return -1; } - virtual char **ReadDir( const char *pszDirname ) - { (void) pszDirname; return NULL; } - virtual char **ReadDirEx( const char *pszDirname, int /* nMaxFiles */ ) - { return ReadDir(pszDirname); } - virtual int Rename( const char *oldpath, const char *newpath ) - { (void) oldpath; (void)newpath; errno=ENOENT; return -1; } - virtual int IsCaseSensitive( const char* pszFilename ) - { (void) pszFilename; return TRUE; } - virtual GIntBig GetDiskFreeSpace( const char* /* pszDirname */ ) { return -1; } -}; - -/************************************************************************/ -/* VSIFileManager */ -/************************************************************************/ - -class CPL_DLL VSIFileManager -{ -private: - VSIFilesystemHandler *poDefaultHandler; - std::map oHandlers; - - VSIFileManager(); - - static VSIFileManager *Get(); - -public: - ~VSIFileManager(); - - static VSIFilesystemHandler *GetHandler( const char * ); - static void InstallHandler( const std::string& osPrefix, - VSIFilesystemHandler * ); - /* RemoveHandler is never defined. */ - /* static void RemoveHandler( const std::string& osPrefix ); */ -}; - - -/************************************************************************/ -/* ==================================================================== */ -/* VSIArchiveFilesystemHandler */ -/* ==================================================================== */ -/************************************************************************/ - -class VSIArchiveEntryFileOffset -{ - public: - virtual ~VSIArchiveEntryFileOffset(); -}; - -typedef struct -{ - char *fileName; - vsi_l_offset uncompressed_size; - VSIArchiveEntryFileOffset* file_pos; - int bIsDir; - GIntBig nModifiedTime; -} VSIArchiveEntry; - -class VSIArchiveContent -{ -public: - time_t mTime; - vsi_l_offset nFileSize; - int nEntries; - VSIArchiveEntry* entries; - - VSIArchiveContent() : mTime(0), nFileSize(0), nEntries(0), entries(NULL) {} - ~VSIArchiveContent(); -}; - -class VSIArchiveReader -{ - public: - virtual ~VSIArchiveReader(); - - virtual int GotoFirstFile() = 0; - virtual int GotoNextFile() = 0; - virtual VSIArchiveEntryFileOffset* GetFileOffset() = 0; - virtual GUIntBig GetFileSize() = 0; - virtual CPLString GetFileName() = 0; - virtual GIntBig GetModifiedTime() = 0; - virtual int GotoFileOffset(VSIArchiveEntryFileOffset* pOffset) = 0; -}; - -class VSIArchiveFilesystemHandler : public VSIFilesystemHandler -{ -protected: - CPLMutex* hMutex; - /* We use a cache that contains the list of files contained in a VSIArchive file as */ - /* unarchive.c is quite inefficient in listing them. This speeds up access to VSIArchive files */ - /* containing ~1000 files like a CADRG product */ - std::map oFileList; - - virtual const char* GetPrefix() = 0; - virtual std::vector GetExtensions() = 0; - virtual VSIArchiveReader* CreateReader(const char* pszArchiveFileName) = 0; - -public: - VSIArchiveFilesystemHandler(); - virtual ~VSIArchiveFilesystemHandler(); - - virtual int Stat( const char *pszFilename, VSIStatBufL *pStatBuf, int nFlags ); - virtual int Unlink( const char *pszFilename ); - virtual int Rename( const char *oldpath, const char *newpath ); - virtual int Mkdir( const char *pszDirname, long nMode ); - virtual int Rmdir( const char *pszDirname ); - virtual char **ReadDirEx( const char *pszDirname, int nMaxFiles ); - - virtual const VSIArchiveContent* GetContentOfArchive(const char* archiveFilename, VSIArchiveReader* poReader = NULL); - virtual char* SplitFilename(const char *pszFilename, CPLString &osFileInArchive, int bCheckMainFileExists); - virtual VSIArchiveReader* OpenArchiveFile(const char* archiveFilename, const char* fileInArchiveName); - virtual int FindFileInArchive(const char* archiveFilename, const char* fileInArchiveName, const VSIArchiveEntry** archiveEntry); -}; - -VSIVirtualHandle CPL_DLL *VSICreateBufferedReaderHandle(VSIVirtualHandle* poBaseHandle); -VSIVirtualHandle* VSICreateBufferedReaderHandle(VSIVirtualHandle* poBaseHandle, - const GByte* pabyBeginningContent, - vsi_l_offset nCheatFileSize); -VSIVirtualHandle CPL_DLL *VSICreateCachedFile( VSIVirtualHandle* poBaseHandle, size_t nChunkSize = 32768, size_t nCacheSize = 0 ); -VSIVirtualHandle CPL_DLL *VSICreateGZipWritable( VSIVirtualHandle* poBaseHandle, int bRegularZLibIn, int bAutoCloseBaseHandle ); - -#endif /* ndef CPL_VSI_VIRTUAL_H_INCLUDED */ diff --git a/src/gdal/cpl_vsil_curl_priv.h b/src/gdal/cpl_vsil_curl_priv.h deleted file mode 100644 index 259dfac6..00000000 --- a/src/gdal/cpl_vsil_curl_priv.h +++ /dev/null @@ -1,49 +0,0 @@ -/****************************************************************************** - * $Id: cpl_vsil_curl_priv.h 31749 2015-11-25 02:32:55Z goatbar $ - * - * Project: CPL - Common Portability Library - * Purpose: Private API for VSICurl - * Author: Even Rouault, even.rouault at mines-paris.org - * - ****************************************************************************** - * Copyright (c) 2012, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_VSIL_CURL_PRIV_H_INCLUDED -#define CPL_VSIL_CURL_PRIV_H_INCLUDED - -#include "cpl_vsi_virtual.h" - -/* NOTE: this is private API for GDAL internal use. May change without notice. */ -/* Used by the MBTiles driver for now */ - -/* Return TRUE to go on downloading, FALSE to stop */ -typedef int (*VSICurlReadCbkFunc) (VSILFILE* fp, void *pabyBuffer, size_t nBufferSize, void* pfnUserData); - -/* fp must be a VSICurl file handle, otherwise bad things will happen ! */ -/* bStopOnInterrruptUntilUninstall must be set to TRUE if all downloads */ -/* must be canceled after a first one has been stopped by the callback function. */ -/* In that case, downloads will restart after uninstalling the callback. */ -int VSICurlInstallReadCbk(VSILFILE* fp, VSICurlReadCbkFunc pfnReadCbk, void* pfnUserData, - int bStopOnInterrruptUntilUninstall); -int VSICurlUninstallReadCbk(VSILFILE* fp); - -#endif // CPL_VSIL_CURL_PRIV_H_INCLUDED diff --git a/src/gdal/cpl_worker_thread_pool.h b/src/gdal/cpl_worker_thread_pool.h deleted file mode 100644 index d9a4331d..00000000 --- a/src/gdal/cpl_worker_thread_pool.h +++ /dev/null @@ -1,103 +0,0 @@ -/********************************************************************** - * $Id: cpl_worker_thread_pool.h 33666 2016-03-07 05:21:07Z goatbar $ - * - * Project: CPL - Common Portability Library - * Purpose: CPL worker thread pool - * Author: Even Rouault, - * - ********************************************************************** - * Copyright (c) 2015, Even Rouault, - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_WORKER_THREAD_POOL_H_INCLUDED_ -#define CPL_WORKER_THREAD_POOL_H_INCLUDED_ - -#include "cpl_multiproc.h" -#include "cpl_list.h" -#include - -/** - * \file cpl_worker_thread_pool.h - * - * Class to manage a pool of worker threads. - * @since GDAL 2.1 - */ - -class CPLWorkerThreadPool; - -typedef struct -{ - CPLThreadFunc pfnFunc; - void *pData; -} CPLWorkerThreadJob; - -typedef struct -{ - CPLThreadFunc pfnInitFunc; - void *pInitData; - CPLWorkerThreadPool *poTP; - CPLJoinableThread *hThread; - int bMarkedAsWaiting; - //CPLWorkerThreadJob *psNextJob; - - CPLMutex *hMutex; - CPLCond *hCond; -} CPLWorkerThread; - -typedef enum -{ - CPLWTS_OK, - CPLWTS_STOP, - CPLWTS_ERROR -} CPLWorkerThreadState; - -class CPL_DLL CPLWorkerThreadPool -{ - std::vector aWT; - CPLCond* hCond; - CPLMutex* hMutex; - volatile CPLWorkerThreadState eState; - CPLList* psJobQueue; - volatile int nPendingJobs; - - CPLList* psWaitingWorkerThreadsList; - int nWaitingWorkerThreads; - - static void WorkerThreadFunction(void* user_data); - - void DeclareJobFinished(); - CPLWorkerThreadJob* GetNextJob(CPLWorkerThread* psWorkerThread); - - public: - CPLWorkerThreadPool(); - ~CPLWorkerThreadPool(); - - bool Setup(int nThreads, - CPLThreadFunc pfnInitFunc, - void** pasInitData); - bool SubmitJob(CPLThreadFunc pfnFunc, void* pData); - bool SubmitJobs(CPLThreadFunc pfnFunc, const std::vector& apData); - void WaitCompletion(int nMaxRemainingJobs = 0); - - int GetThreadCount() const { return (int)aWT.size(); } -}; - -#endif // CPL_WORKER_THREAD_POOL_H_INCLUDED_ diff --git a/src/gdal/cplkeywordparser.h b/src/gdal/cplkeywordparser.h deleted file mode 100644 index 70f0013d..00000000 --- a/src/gdal/cplkeywordparser.h +++ /dev/null @@ -1,66 +0,0 @@ -/****************************************************************************** - * $Id: cplkeywordparser.h 33666 2016-03-07 05:21:07Z goatbar $ - * - * Project: Common Portability Library - * Purpose: Implementation of CPLKeywordParser - a class for parsing - * the keyword format used for files like QuickBird .RPB files. - * This is a slight variation on the NASAKeywordParser used for - * the PDS/ISIS2/ISIS3 formats. - * Author: Frank Warmerdam - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef CPL_KEYWORD_PARSER -#define CPL_KEYWORD_PARSER - -#include "cpl_string.h" - -/************************************************************************/ -/* ==================================================================== */ -/* CPLKeywordParser */ -/* ==================================================================== */ -/************************************************************************/ - -class CPLKeywordParser -{ - char **papszKeywordList; - - CPLString osHeaderText; - const char *pszHeaderNext; - - void SkipWhite(); - int ReadWord( CPLString &osWord ); - int ReadPair( CPLString &osName, CPLString &osValue ); - int ReadGroup( const char *pszPathPrefix ); - -public: - CPLKeywordParser(); - ~CPLKeywordParser(); - - int Ingest( VSILFILE *fp ); - - const char *GetKeyword( const char *pszPath, const char *pszDefault=NULL ); - char **GetAllKeywords() { return papszKeywordList; } -}; - -#endif /* def CPL_KEYWORD_PARSER */ diff --git a/src/gdal/gdal.h b/src/gdal/gdal.h deleted file mode 100644 index 65395f69..00000000 --- a/src/gdal/gdal.h +++ /dev/null @@ -1,1153 +0,0 @@ -/****************************************************************************** - * $Id: gdal.h 33852 2016-04-01 23:27:53Z goatbar $ - * - * Project: GDAL Core - * Purpose: GDAL Core C/Public declarations. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 1998, 2002 Frank Warmerdam - * Copyright (c) 2007-2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_H_INCLUDED -#define GDAL_H_INCLUDED - -/** - * \file gdal.h - * - * Public (C callable) GDAL entry points. - */ - -#ifndef DOXYGEN_SKIP -#include "gdal_version.h" -#include "cpl_port.h" -#include "cpl_error.h" -#include "cpl_progress.h" -#include "cpl_virtualmem.h" -#include "cpl_minixml.h" -#include "ogr_api.h" -#endif - -/* -------------------------------------------------------------------- */ -/* Significant constants. */ -/* -------------------------------------------------------------------- */ - -CPL_C_START - -/*! Pixel data types */ -typedef enum { - /*! Unknown or unspecified type */ GDT_Unknown = 0, - /*! Eight bit unsigned integer */ GDT_Byte = 1, - /*! Sixteen bit unsigned integer */ GDT_UInt16 = 2, - /*! Sixteen bit signed integer */ GDT_Int16 = 3, - /*! Thirty two bit unsigned integer */ GDT_UInt32 = 4, - /*! Thirty two bit signed integer */ GDT_Int32 = 5, - /*! Thirty two bit floating point */ GDT_Float32 = 6, - /*! Sixty four bit floating point */ GDT_Float64 = 7, - /*! Complex Int16 */ GDT_CInt16 = 8, - /*! Complex Int32 */ GDT_CInt32 = 9, - /*! Complex Float32 */ GDT_CFloat32 = 10, - /*! Complex Float64 */ GDT_CFloat64 = 11, - GDT_TypeCount = 12 /* maximum type # + 1 */ -} GDALDataType; - -int CPL_DLL CPL_STDCALL GDALGetDataTypeSize( GDALDataType ); // Deprecated. -int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBits( GDALDataType eDataType ); -int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBytes( GDALDataType ); -int CPL_DLL CPL_STDCALL GDALDataTypeIsComplex( GDALDataType ); -const char CPL_DLL * CPL_STDCALL GDALGetDataTypeName( GDALDataType ); -GDALDataType CPL_DLL CPL_STDCALL GDALGetDataTypeByName( const char * ); -GDALDataType CPL_DLL CPL_STDCALL GDALDataTypeUnion( GDALDataType, GDALDataType ); -double CPL_DLL GDALAdjustValueToDataType( GDALDataType eDT, double dfValue, int* pbClamped, int* pbRounded ); - -/** -* status of the asynchronous stream -*/ -typedef enum -{ - GARIO_PENDING = 0, - GARIO_UPDATE = 1, - GARIO_ERROR = 2, - GARIO_COMPLETE = 3, - GARIO_TypeCount = 4 -} GDALAsyncStatusType; - -const char CPL_DLL * CPL_STDCALL GDALGetAsyncStatusTypeName( GDALAsyncStatusType ); -GDALAsyncStatusType CPL_DLL CPL_STDCALL GDALGetAsyncStatusTypeByName( const char * ); - -/*! Flag indicating read/write, or read-only access to data. */ -typedef enum { - /*! Read only (no update) access */ GA_ReadOnly = 0, - /*! Read/write access. */ GA_Update = 1 -} GDALAccess; - -/*! Read/Write flag for RasterIO() method */ -typedef enum { - /*! Read data */ GF_Read = 0, - /*! Write data */ GF_Write = 1 -} GDALRWFlag; - -/* NOTE: values are selected to be consistent with GDALResampleAlg of alg/gdalwarper.h */ -/** RasterIO() resampling method. - * @since GDAL 2.0 - */ -typedef enum -{ - /*! Nearest neighbour */ GRIORA_NearestNeighbour = 0, - /*! Bilinear (2x2 kernel) */ GRIORA_Bilinear = 1, - /*! Cubic Convolution Approximation (4x4 kernel) */ GRIORA_Cubic = 2, - /*! Cubic B-Spline Approximation (4x4 kernel) */ GRIORA_CubicSpline = 3, - /*! Lanczos windowed sinc interpolation (6x6 kernel) */ GRIORA_Lanczos = 4, - /*! Average */ GRIORA_Average = 5, - /*! Mode (selects the value which appears most often of all the sampled points) */ - GRIORA_Mode = 6, - /*! Gauss blurring */ GRIORA_Gauss = 7 - /* NOTE: values 8 to 12 are reserved for max,min,med,Q1,Q3 */ -} GDALRIOResampleAlg; - -/* NOTE to developers: only add members, and if so edit INIT_RASTERIO_EXTRA_ARG */ -/* and INIT_RASTERIO_EXTRA_ARG */ -/** Structure to pass extra arguments to RasterIO() method - * @since GDAL 2.0 - */ -typedef struct -{ - /*! Version of structure (to allow future extensions of the structure) */ - int nVersion; - - /*! Resampling algorithm */ - GDALRIOResampleAlg eResampleAlg; - - /*! Progress callback */ - GDALProgressFunc pfnProgress; - /*! Progress callback user data */ - void *pProgressData; - - /*! Indicate if dfXOff, dfYOff, dfXSize and dfYSize are set. - Mostly reserved from the VRT driver to communicate a more precise - source window. Must be such that dfXOff - nXOff < 1.0 and - dfYOff - nYOff < 1.0 and nXSize - dfXSize < 1.0 and nYSize - dfYSize < 1.0 */ - int bFloatingPointWindowValidity; - /*! Pixel offset to the top left corner. Only valid if bFloatingPointWindowValidity = TRUE */ - double dfXOff; - /*! Line offset to the top left corner. Only valid if bFloatingPointWindowValidity = TRUE */ - double dfYOff; - /*! Width in pixels of the area of interest. Only valid if bFloatingPointWindowValidity = TRUE */ - double dfXSize; - /*! Height in pixels of the area of interest. Only valid if bFloatingPointWindowValidity = TRUE */ - double dfYSize; -} GDALRasterIOExtraArg; - -#define RASTERIO_EXTRA_ARG_CURRENT_VERSION 1 - -/** Macro to initialize an instance of GDALRasterIOExtraArg structure. - * @since GDAL 2.0 - */ -#define INIT_RASTERIO_EXTRA_ARG(s) \ - do { (s).nVersion = RASTERIO_EXTRA_ARG_CURRENT_VERSION; \ - (s).eResampleAlg = GRIORA_NearestNeighbour; \ - (s).pfnProgress = NULL; \ - (s).pProgressData = NULL; \ - (s).bFloatingPointWindowValidity = FALSE; } while(0) - -/*! Types of color interpretation for raster bands. */ -typedef enum -{ - GCI_Undefined=0, - /*! Greyscale */ GCI_GrayIndex=1, - /*! Paletted (see associated color table) */ GCI_PaletteIndex=2, - /*! Red band of RGBA image */ GCI_RedBand=3, - /*! Green band of RGBA image */ GCI_GreenBand=4, - /*! Blue band of RGBA image */ GCI_BlueBand=5, - /*! Alpha (0=transparent, 255=opaque) */ GCI_AlphaBand=6, - /*! Hue band of HLS image */ GCI_HueBand=7, - /*! Saturation band of HLS image */ GCI_SaturationBand=8, - /*! Lightness band of HLS image */ GCI_LightnessBand=9, - /*! Cyan band of CMYK image */ GCI_CyanBand=10, - /*! Magenta band of CMYK image */ GCI_MagentaBand=11, - /*! Yellow band of CMYK image */ GCI_YellowBand=12, - /*! Black band of CMLY image */ GCI_BlackBand=13, - /*! Y Luminance */ GCI_YCbCr_YBand=14, - /*! Cb Chroma */ GCI_YCbCr_CbBand=15, - /*! Cr Chroma */ GCI_YCbCr_CrBand=16, - /*! Max current value */ GCI_Max=16 -} GDALColorInterp; - -const char CPL_DLL *GDALGetColorInterpretationName( GDALColorInterp ); -GDALColorInterp CPL_DLL GDALGetColorInterpretationByName( const char *pszName ); - -/*! Types of color interpretations for a GDALColorTable. */ -typedef enum -{ - /*! Grayscale (in GDALColorEntry.c1) */ GPI_Gray=0, - /*! Red, Green, Blue and Alpha in (in c1, c2, c3 and c4) */ GPI_RGB=1, - /*! Cyan, Magenta, Yellow and Black (in c1, c2, c3 and c4)*/ GPI_CMYK=2, - /*! Hue, Lightness and Saturation (in c1, c2, and c3) */ GPI_HLS=3 -} GDALPaletteInterp; - -const char CPL_DLL *GDALGetPaletteInterpretationName( GDALPaletteInterp ); - -/* "well known" metadata items. */ - -#define GDALMD_AREA_OR_POINT "AREA_OR_POINT" -# define GDALMD_AOP_AREA "Area" -# define GDALMD_AOP_POINT "Point" - -/* -------------------------------------------------------------------- */ -/* GDAL Specific error codes. */ -/* */ -/* error codes 100 to 299 reserved for GDAL. */ -/* -------------------------------------------------------------------- */ -#define CPLE_WrongFormat (CPLErrorNum)200 - -/* -------------------------------------------------------------------- */ -/* Define handle types related to various internal classes. */ -/* -------------------------------------------------------------------- */ - -/** Opaque type used for the C bindings of the C++ GDALMajorObject class */ -typedef void *GDALMajorObjectH; - -/** Opaque type used for the C bindings of the C++ GDALDataset class */ -typedef void *GDALDatasetH; - -/** Opaque type used for the C bindings of the C++ GDALRasterBand class */ -typedef void *GDALRasterBandH; - -/** Opaque type used for the C bindings of the C++ GDALDriver class */ -typedef void *GDALDriverH; - -/** Opaque type used for the C bindings of the C++ GDALColorTable class */ -typedef void *GDALColorTableH; - -/** Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class */ -typedef void *GDALRasterAttributeTableH; - -/** Opaque type used for the C bindings of the C++ GDALAsyncReader class */ -typedef void *GDALAsyncReaderH; - -/** Type to express pixel, line or band spacing. Signed 64 bit integer. */ -typedef GIntBig GSpacing; - -/* ==================================================================== */ -/* Registration/driver related. */ -/* ==================================================================== */ - -/** Long name of the driver */ -#define GDAL_DMD_LONGNAME "DMD_LONGNAME" - -/** URL (relative to http://gdal.org/) to the help page of the driver */ -#define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC" - -/** MIME type handled by the driver. */ -#define GDAL_DMD_MIMETYPE "DMD_MIMETYPE" - -/** Extension handled by the driver. */ -#define GDAL_DMD_EXTENSION "DMD_EXTENSION" - -/** Connection prefix to provide as the file name of the open function. - * Typically set for non-file based drivers. Generally used with open options. - * @since GDAL 2.0 - */ -#define GDAL_DMD_CONNECTION_PREFIX "DMD_CONNECTION_PREFIX" - -/** List of (space separated) extensions handled by the driver. - * @since GDAL 2.0 - */ -#define GDAL_DMD_EXTENSIONS "DMD_EXTENSIONS" - -/** XML snippet with creation options. */ -#define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST" - -/** XML snippet with open options. - * @since GDAL 2.0 - */ -#define GDAL_DMD_OPENOPTIONLIST "DMD_OPENOPTIONLIST" - -/** List of (space separated) raster data types support by the Create()/CreateCopy() API. */ -#define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES" - -/** List of (space separated) vector field types support by the CreateField() API. - * @since GDAL 2.0 - * */ -#define GDAL_DMD_CREATIONFIELDDATATYPES "DMD_CREATIONFIELDDATATYPES" - -/** Capability set by a driver that exposes Subdatasets. */ -#define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS" - -/** Capability set by a driver that implements the Open() API. */ -#define GDAL_DCAP_OPEN "DCAP_OPEN" - -/** Capability set by a driver that implements the Create() API. */ -#define GDAL_DCAP_CREATE "DCAP_CREATE" - -/** Capability set by a driver that implements the CreateCopy() API. */ -#define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY" - -/** Capability set by a driver that can read/create datasets through the VSI*L API. */ -#define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO" - -/** Capability set by a driver having raster capability. - * @since GDAL 2.0 - */ -#define GDAL_DCAP_RASTER "DCAP_RASTER" - -/** Capability set by a driver having vector capability. - * @since GDAL 2.0 - */ -#define GDAL_DCAP_VECTOR "DCAP_VECTOR" - -/** Capability set by a driver having vector capability. - * @since GDAL 2.1 - */ -#define GDAL_DCAP_GNM "DCAP_GNM" - -/** Capability set by a driver that can create fields with NOT NULL constraint. - * @since GDAL 2.0 - */ -#define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS" - -/** Capability set by a driver that can create fields with DEFAULT values. - * @since GDAL 2.0 - */ -#define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS" - -/** Capability set by a driver that can create geometry fields with NOT NULL constraint. - * @since GDAL 2.0 - */ -#define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS" - -void CPL_DLL CPL_STDCALL GDALAllRegister( void ); - -GDALDatasetH CPL_DLL CPL_STDCALL GDALCreate( GDALDriverH hDriver, - const char *, int, int, int, GDALDataType, - char ** ) CPL_WARN_UNUSED_RESULT; -GDALDatasetH CPL_DLL CPL_STDCALL -GDALCreateCopy( GDALDriverH, const char *, GDALDatasetH, - int, char **, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT; - -GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver( const char * pszFilename, - char ** papszFileList ); -GDALDatasetH CPL_DLL CPL_STDCALL -GDALOpen( const char *pszFilename, GDALAccess eAccess ) CPL_WARN_UNUSED_RESULT; -GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared( const char *, GDALAccess ) CPL_WARN_UNUSED_RESULT; - - -/* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */ -/* equals to GA_ReadOnly and GA_Update */ - -/** Open in read-only mode. - * Used by GDALOpenEx(). - * @since GDAL 2.0 - */ -#define GDAL_OF_READONLY 0x00 - -/** Open in update mode. - * Used by GDALOpenEx(). - * @since GDAL 2.0 - */ -#define GDAL_OF_UPDATE 0x01 - -/** Allow raster and vector drivers to be used. - * Used by GDALOpenEx(). - * @since GDAL 2.0 - */ -#define GDAL_OF_ALL 0x00 - -/** Allow raster drivers to be used. - * Used by GDALOpenEx(). - * @since GDAL 2.0 - */ -#define GDAL_OF_RASTER 0x02 - -/** Allow vector drivers to be used. - * Used by GDALOpenEx(). - * @since GDAL 2.0 - */ -#define GDAL_OF_VECTOR 0x04 - - -/** Allow gnm drivers to be used. - * Used by GDALOpenEx(). - * @since GDAL 2.1 - */ -#define GDAL_OF_GNM 0x08 - -/* Some space for GDAL 3.0 new types ;-) */ -/*#define GDAL_OF_OTHER_KIND1 0x08 */ -/*#define GDAL_OF_OTHER_KIND2 0x10 */ -#ifndef DOXYGEN_SKIP -#define GDAL_OF_KIND_MASK 0x1E -#endif - -/** Open in shared mode. - * Used by GDALOpenEx(). - * @since GDAL 2.0 - */ -#define GDAL_OF_SHARED 0x20 - -/** Emit error message in case of failed open. - * Used by GDALOpenEx(). - * @since GDAL 2.0 - */ -#define GDAL_OF_VERBOSE_ERROR 0x40 - -/** Open as internal dataset. Such dataset isn't registered in the global list - * of opened dataset. Cannot be used with GDAL_OF_SHARED. - * - * Used by GDALOpenEx(). - * @since GDAL 2.0 - */ -#define GDAL_OF_INTERNAL 0x80 - -/** Let GDAL decide if a array-based or hashset-based storage strategy for - * cached blocks must be used. - * - * GDAL_OF_DEFAULT_BLOCK_ACCESS, GDAL_OF_ARRAY_BLOCK_ACCESS and - * GDAL_OF_HASHSET_BLOCK_ACCESS are mutually exclusive. - * - * Used by GDALOpenEx(). - * @since GDAL 2.1 - */ -#define GDAL_OF_DEFAULT_BLOCK_ACCESS 0 - -/** Use a array-based storage strategy for cached blocks. - * - * GDAL_OF_DEFAULT_BLOCK_ACCESS, GDAL_OF_ARRAY_BLOCK_ACCESS and - * GDAL_OF_HASHSET_BLOCK_ACCESS are mutually exclusive. - * - * Used by GDALOpenEx(). - * @since GDAL 2.1 - */ -#define GDAL_OF_ARRAY_BLOCK_ACCESS 0x100 - -/** Use a hashset-based storage strategy for cached blocks. - * - * GDAL_OF_DEFAULT_BLOCK_ACCESS, GDAL_OF_ARRAY_BLOCK_ACCESS and - * GDAL_OF_HASHSET_BLOCK_ACCESS are mutually exclusive. - * - * Used by GDALOpenEx(). - * @since GDAL 2.1 - */ -#define GDAL_OF_HASHSET_BLOCK_ACCESS 0x200 - -#define GDAL_OF_RESERVED_1 0x300 -#define GDAL_OF_BLOCK_ACCESS_MASK 0x300 - -GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx( const char* pszFilename, - unsigned int nOpenFlags, - const char* const* papszAllowedDrivers, - const char* const* papszOpenOptions, - const char* const* papszSiblingFiles ) CPL_WARN_UNUSED_RESULT; - -int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets( FILE * ); - -GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName( const char * ); -int CPL_DLL CPL_STDCALL GDALGetDriverCount( void ); -GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver( int ); -void CPL_DLL CPL_STDCALL GDALDestroyDriver( GDALDriverH ); -int CPL_DLL CPL_STDCALL GDALRegisterDriver( GDALDriverH ); -void CPL_DLL CPL_STDCALL GDALDeregisterDriver( GDALDriverH ); -void CPL_DLL CPL_STDCALL GDALDestroyDriverManager( void ); -void CPL_DLL GDALDestroy( void ); -CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset( GDALDriverH, const char * ); -CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset( GDALDriverH, - const char * pszNewName, - const char * pszOldName ); -CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles( GDALDriverH, - const char * pszNewName, - const char * pszOldName); -int CPL_DLL CPL_STDCALL GDALValidateCreationOptions( GDALDriverH, - char** papszCreationOptions); - -/* The following are deprecated */ -const char CPL_DLL * CPL_STDCALL GDALGetDriverShortName( GDALDriverH ); -const char CPL_DLL * CPL_STDCALL GDALGetDriverLongName( GDALDriverH ); -const char CPL_DLL * CPL_STDCALL GDALGetDriverHelpTopic( GDALDriverH ); -const char CPL_DLL * CPL_STDCALL GDALGetDriverCreationOptionList( GDALDriverH ); - -/* ==================================================================== */ -/* GDAL_GCP */ -/* ==================================================================== */ - -/** Ground Control Point */ -typedef struct -{ - /** Unique identifier, often numeric */ - char *pszId; - - /** Informational message or "" */ - char *pszInfo; - - /** Pixel (x) location of GCP on raster */ - double dfGCPPixel; - /** Line (y) location of GCP on raster */ - double dfGCPLine; - - /** X position of GCP in georeferenced space */ - double dfGCPX; - - /** Y position of GCP in georeferenced space */ - double dfGCPY; - - /** Elevation of GCP, or zero if not known */ - double dfGCPZ; -} GDAL_GCP; - -void CPL_DLL CPL_STDCALL GDALInitGCPs( int, GDAL_GCP * ); -void CPL_DLL CPL_STDCALL GDALDeinitGCPs( int, GDAL_GCP * ); -GDAL_GCP CPL_DLL * CPL_STDCALL GDALDuplicateGCPs( int, const GDAL_GCP * ); - -int CPL_DLL CPL_STDCALL -GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs, - double *padfGeoTransform, int bApproxOK ) CPL_WARN_UNUSED_RESULT; -int CPL_DLL CPL_STDCALL -GDALInvGeoTransform( double *padfGeoTransformIn, - double *padfInvGeoTransformOut ) CPL_WARN_UNUSED_RESULT; -void CPL_DLL CPL_STDCALL GDALApplyGeoTransform( double *, double, double, - double *, double * ); -void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1, - const double *padfGeoTransform2, - double *padfGeoTransformOut); - -/* ==================================================================== */ -/* major objects (dataset, and, driver, drivermanager). */ -/* ==================================================================== */ - -char CPL_DLL ** CPL_STDCALL GDALGetMetadataDomainList( GDALMajorObjectH hObject ); -char CPL_DLL ** CPL_STDCALL GDALGetMetadata( GDALMajorObjectH, const char * ); -CPLErr CPL_DLL CPL_STDCALL GDALSetMetadata( GDALMajorObjectH, char **, - const char * ); -const char CPL_DLL * CPL_STDCALL -GDALGetMetadataItem( GDALMajorObjectH, const char *, const char * ); -CPLErr CPL_DLL CPL_STDCALL -GDALSetMetadataItem( GDALMajorObjectH, const char *, const char *, - const char * ); -const char CPL_DLL * CPL_STDCALL GDALGetDescription( GDALMajorObjectH ); -void CPL_DLL CPL_STDCALL GDALSetDescription( GDALMajorObjectH, const char * ); - -/* ==================================================================== */ -/* GDALDataset class ... normally this represents one file. */ -/* ==================================================================== */ - -#define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST" - -GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver( GDALDatasetH ); -char CPL_DLL ** CPL_STDCALL GDALGetFileList( GDALDatasetH ); -void CPL_DLL CPL_STDCALL GDALClose( GDALDatasetH ); -int CPL_DLL CPL_STDCALL GDALGetRasterXSize( GDALDatasetH ); -int CPL_DLL CPL_STDCALL GDALGetRasterYSize( GDALDatasetH ); -int CPL_DLL CPL_STDCALL GDALGetRasterCount( GDALDatasetH ); -GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand( GDALDatasetH, int ); - -CPLErr CPL_DLL CPL_STDCALL GDALAddBand( GDALDatasetH hDS, GDALDataType eType, - char **papszOptions ); - -GDALAsyncReaderH CPL_DLL CPL_STDCALL -GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff, - int nXSize, int nYSize, - void *pBuf, int nBufXSize, int nBufYSize, - GDALDataType eBufType, int nBandCount, int* panBandMap, - int nPixelSpace, int nLineSpace, int nBandSpace, - char **papszOptions) CPL_WARN_UNUSED_RESULT; - -void CPL_DLL CPL_STDCALL -GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH); - -CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO( - GDALDatasetH hDS, GDALRWFlag eRWFlag, - int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, - void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, - int nBandCount, int *panBandCount, - int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT; - -CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx( - GDALDatasetH hDS, GDALRWFlag eRWFlag, - int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, - void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, - int nBandCount, int *panBandCount, - GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace, - GDALRasterIOExtraArg* psExtraArg) CPL_WARN_UNUSED_RESULT; - -CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead( GDALDatasetH hDS, - int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, - int nBXSize, int nBYSize, GDALDataType eBDataType, - int nBandCount, int *panBandCount, char **papszOptions ); - -const char CPL_DLL * CPL_STDCALL GDALGetProjectionRef( GDALDatasetH ); -CPLErr CPL_DLL CPL_STDCALL GDALSetProjection( GDALDatasetH, const char * ); -CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform( GDALDatasetH, double * ); -CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform( GDALDatasetH, double * ); - -int CPL_DLL CPL_STDCALL GDALGetGCPCount( GDALDatasetH ); -const char CPL_DLL * CPL_STDCALL GDALGetGCPProjection( GDALDatasetH ); -const GDAL_GCP CPL_DLL * CPL_STDCALL GDALGetGCPs( GDALDatasetH ); -CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *, - const char * ); - -void CPL_DLL * CPL_STDCALL GDALGetInternalHandle( GDALDatasetH, const char * ); -int CPL_DLL CPL_STDCALL GDALReferenceDataset( GDALDatasetH ); -int CPL_DLL CPL_STDCALL GDALDereferenceDataset( GDALDatasetH ); - -CPLErr CPL_DLL CPL_STDCALL -GDALBuildOverviews( GDALDatasetH, const char *, int, int *, - int, int *, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT; -void CPL_DLL CPL_STDCALL GDALGetOpenDatasets( GDALDatasetH **hDS, int *pnCount ); -int CPL_DLL CPL_STDCALL GDALGetAccess( GDALDatasetH hDS ); -void CPL_DLL CPL_STDCALL GDALFlushCache( GDALDatasetH hDS ); - -CPLErr CPL_DLL CPL_STDCALL - GDALCreateDatasetMaskBand( GDALDatasetH hDS, int nFlags ); - -CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster( - GDALDatasetH hSrcDS, GDALDatasetH hDstDS, char **papszOptions, - GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT; - -CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster( - GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, char **papszOptions, - GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT; - -CPLErr CPL_DLL -GDALRegenerateOverviews( GDALRasterBandH hSrcBand, - int nOverviewCount, GDALRasterBandH *pahOverviewBands, - const char *pszResampling, - GDALProgressFunc pfnProgress, void *pProgressData ); - -int CPL_DLL GDALDatasetGetLayerCount( GDALDatasetH ); -OGRLayerH CPL_DLL GDALDatasetGetLayer( GDALDatasetH, int ); -OGRLayerH CPL_DLL GDALDatasetGetLayerByName( GDALDatasetH, const char * ); -OGRErr CPL_DLL GDALDatasetDeleteLayer( GDALDatasetH, int ); -OGRLayerH CPL_DLL GDALDatasetCreateLayer( GDALDatasetH, const char *, - OGRSpatialReferenceH, OGRwkbGeometryType, - char ** ); -OGRLayerH CPL_DLL GDALDatasetCopyLayer( GDALDatasetH, OGRLayerH, const char *, - char ** ); -int CPL_DLL GDALDatasetTestCapability( GDALDatasetH, const char * ); -OGRLayerH CPL_DLL GDALDatasetExecuteSQL( GDALDatasetH, const char *, - OGRGeometryH, const char * ); -void CPL_DLL GDALDatasetReleaseResultSet( GDALDatasetH, OGRLayerH ); -OGRStyleTableH CPL_DLL GDALDatasetGetStyleTable( GDALDatasetH ); -void CPL_DLL GDALDatasetSetStyleTableDirectly( GDALDatasetH, OGRStyleTableH ); -void CPL_DLL GDALDatasetSetStyleTable( GDALDatasetH, OGRStyleTableH ); -OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce); -OGRErr CPL_DLL GDALDatasetCommitTransaction(GDALDatasetH hDS); -OGRErr CPL_DLL GDALDatasetRollbackTransaction(GDALDatasetH hDS); - - -/* ==================================================================== */ -/* GDALRasterBand ... one band/channel in a dataset. */ -/* ==================================================================== */ - -/** - * SRCVAL - Macro which may be used by pixel functions to obtain - * a pixel from a source buffer. - */ -#define SRCVAL(papoSource, eSrcType, ii) \ - (eSrcType == GDT_Byte ? \ - ((GByte *)papoSource)[ii] : \ - (eSrcType == GDT_Float32 ? \ - ((float *)papoSource)[ii] : \ - (eSrcType == GDT_Float64 ? \ - ((double *)papoSource)[ii] : \ - (eSrcType == GDT_Int32 ? \ - ((GInt32 *)papoSource)[ii] : \ - (eSrcType == GDT_UInt16 ? \ - ((GUInt16 *)papoSource)[ii] : \ - (eSrcType == GDT_Int16 ? \ - ((GInt16 *)papoSource)[ii] : \ - (eSrcType == GDT_UInt32 ? \ - ((GUInt32 *)papoSource)[ii] : \ - (eSrcType == GDT_CInt16 ? \ - ((GInt16 *)papoSource)[ii * 2] : \ - (eSrcType == GDT_CInt32 ? \ - ((GInt32 *)papoSource)[ii * 2] : \ - (eSrcType == GDT_CFloat32 ? \ - ((float *)papoSource)[ii * 2] : \ - (eSrcType == GDT_CFloat64 ? \ - ((double *)papoSource)[ii * 2] : 0))))))))))) - -typedef CPLErr -(*GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData, - int nBufXSize, int nBufYSize, - GDALDataType eSrcType, GDALDataType eBufType, - int nPixelSpace, int nLineSpace); - -GDALDataType CPL_DLL CPL_STDCALL GDALGetRasterDataType( GDALRasterBandH ); -void CPL_DLL CPL_STDCALL -GDALGetBlockSize( GDALRasterBandH, int * pnXSize, int * pnYSize ); - -CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead( GDALRasterBandH hRB, - int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, - int nBXSize, int nBYSize, GDALDataType eBDataType, char **papszOptions ); - -CPLErr CPL_DLL CPL_STDCALL -GDALRasterIO( GDALRasterBandH hRBand, GDALRWFlag eRWFlag, - int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, - void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType, - int nPixelSpace, int nLineSpace ) CPL_WARN_UNUSED_RESULT; -CPLErr CPL_DLL CPL_STDCALL -GDALRasterIOEx( GDALRasterBandH hRBand, GDALRWFlag eRWFlag, - int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, - void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType, - GSpacing nPixelSpace, GSpacing nLineSpace, - GDALRasterIOExtraArg* psExtraArg ) CPL_WARN_UNUSED_RESULT; -CPLErr CPL_DLL CPL_STDCALL GDALReadBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT; -CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT; -int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize( GDALRasterBandH ); -int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize( GDALRasterBandH ); -GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess( GDALRasterBandH ); -int CPL_DLL CPL_STDCALL GDALGetBandNumber( GDALRasterBandH ); -GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset( GDALRasterBandH ); - -GDALColorInterp CPL_DLL CPL_STDCALL -GDALGetRasterColorInterpretation( GDALRasterBandH ); -CPLErr CPL_DLL CPL_STDCALL -GDALSetRasterColorInterpretation( GDALRasterBandH, GDALColorInterp ); -GDALColorTableH CPL_DLL CPL_STDCALL GDALGetRasterColorTable( GDALRasterBandH ); -CPLErr CPL_DLL CPL_STDCALL GDALSetRasterColorTable( GDALRasterBandH, GDALColorTableH ); -int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews( GDALRasterBandH ); -int CPL_DLL CPL_STDCALL GDALGetOverviewCount( GDALRasterBandH ); -GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview( GDALRasterBandH, int ); -double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue( GDALRasterBandH, int * ); -CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue( GDALRasterBandH, double ); -CPLErr CPL_DLL CPL_STDCALL GDALDeleteRasterNoDataValue( GDALRasterBandH ); -char CPL_DLL ** CPL_STDCALL GDALGetRasterCategoryNames( GDALRasterBandH ); -CPLErr CPL_DLL CPL_STDCALL GDALSetRasterCategoryNames( GDALRasterBandH, char ** ); -double CPL_DLL CPL_STDCALL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess ); -double CPL_DLL CPL_STDCALL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess ); -CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics( - GDALRasterBandH, int bApproxOK, int bForce, - double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev ); -CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterStatistics( - GDALRasterBandH, int bApproxOK, - double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, - GDALProgressFunc pfnProgress, void *pProgressData ); -CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics( - GDALRasterBandH hBand, - double dfMin, double dfMax, double dfMean, double dfStdDev ); - -const char CPL_DLL * CPL_STDCALL GDALGetRasterUnitType( GDALRasterBandH ); -CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType( GDALRasterBandH hBand, const char *pszNewValue ); -double CPL_DLL CPL_STDCALL GDALGetRasterOffset( GDALRasterBandH, int *pbSuccess ); -CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset( GDALRasterBandH hBand, double dfNewOffset); -double CPL_DLL CPL_STDCALL GDALGetRasterScale( GDALRasterBandH, int *pbSuccess ); -CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale( GDALRasterBandH hBand, double dfNewOffset ); -void CPL_DLL CPL_STDCALL -GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK, - double adfMinMax[2] ); -CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache( GDALRasterBandH hBand ); -CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram( GDALRasterBandH hBand, - double dfMin, double dfMax, - int nBuckets, int *panHistogram, - int bIncludeOutOfRange, int bApproxOK, - GDALProgressFunc pfnProgress, - void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead"); -CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx( GDALRasterBandH hBand, - double dfMin, double dfMax, - int nBuckets, GUIntBig *panHistogram, - int bIncludeOutOfRange, int bApproxOK, - GDALProgressFunc pfnProgress, - void * pProgressData ); -CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogram( GDALRasterBandH hBand, - double *pdfMin, double *pdfMax, - int *pnBuckets, int **ppanHistogram, - int bForce, - GDALProgressFunc pfnProgress, - void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead"); -CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogramEx( GDALRasterBandH hBand, - double *pdfMin, double *pdfMax, - int *pnBuckets, GUIntBig **ppanHistogram, - int bForce, - GDALProgressFunc pfnProgress, - void * pProgressData ); -CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram( GDALRasterBandH hBand, - double dfMin, double dfMax, - int nBuckets, int *panHistogram ) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead"); -CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx( GDALRasterBandH hBand, - double dfMin, double dfMax, - int nBuckets, GUIntBig *panHistogram ); -int CPL_DLL CPL_STDCALL -GDALGetRandomRasterSample( GDALRasterBandH, int, float * ); -GDALRasterBandH CPL_DLL CPL_STDCALL -GDALGetRasterSampleOverview( GDALRasterBandH, int ); -GDALRasterBandH CPL_DLL CPL_STDCALL -GDALGetRasterSampleOverviewEx( GDALRasterBandH, GUIntBig ); -CPLErr CPL_DLL CPL_STDCALL GDALFillRaster( GDALRasterBandH hBand, - double dfRealValue, double dfImaginaryValue ); -CPLErr CPL_DLL CPL_STDCALL -GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep, - double *pdfMean, double *pdfStdDev, - GDALProgressFunc pfnProgress, - void *pProgressData ); -CPLErr CPL_DLL GDALOverviewMagnitudeCorrection( GDALRasterBandH hBaseBand, - int nOverviewCount, - GDALRasterBandH *pahOverviews, - GDALProgressFunc pfnProgress, - void *pProgressData ); - -GDALRasterAttributeTableH CPL_DLL CPL_STDCALL GDALGetDefaultRAT( - GDALRasterBandH hBand ); -CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT( GDALRasterBandH, - GDALRasterAttributeTableH ); -CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc( const char *pszName, - GDALDerivedPixelFunc pfnPixelFunc ); - -GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand( GDALRasterBandH hBand ); -int CPL_DLL CPL_STDCALL GDALGetMaskFlags( GDALRasterBandH hBand ); -CPLErr CPL_DLL CPL_STDCALL - GDALCreateMaskBand( GDALRasterBandH hBand, int nFlags ); - -#define GMF_ALL_VALID 0x01 -#define GMF_PER_DATASET 0x02 -#define GMF_ALPHA 0x04 -#define GMF_NODATA 0x08 - -/* ==================================================================== */ -/* GDALAsyncReader */ -/* ==================================================================== */ - -GDALAsyncStatusType CPL_DLL CPL_STDCALL -GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout, - int* pnXBufOff, int* pnYBufOff, - int* pnXBufSize, int* pnYBufSize ); -int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO, - double dfTimeout); -void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO); - -/* -------------------------------------------------------------------- */ -/* Helper functions. */ -/* -------------------------------------------------------------------- */ -int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor( int nArgc, char ***ppapszArgv, - int nOptions ); -void CPL_DLL CPL_STDCALL GDALSwapWords( void *pData, int nWordSize, int nWordCount, - int nWordSkip ); -void CPL_DLL CPL_STDCALL GDALSwapWordsEx( void *pData, int nWordSize, size_t nWordCount, - int nWordSkip ); - -void CPL_DLL CPL_STDCALL - GDALCopyWords( const void * pSrcData, GDALDataType eSrcType, int nSrcPixelOffset, - void * pDstData, GDALDataType eDstType, int nDstPixelOffset, - int nWordCount ); - -void CPL_DLL -GDALCopyBits( const GByte *pabySrcData, int nSrcOffset, int nSrcStep, - GByte *pabyDstData, int nDstOffset, int nDstStep, - int nBitCount, int nStepCount ); - -int CPL_DLL CPL_STDCALL GDALLoadWorldFile( const char *, double * ); -int CPL_DLL CPL_STDCALL GDALReadWorldFile( const char *, const char *, - double * ); -int CPL_DLL CPL_STDCALL GDALWriteWorldFile( const char *, const char *, - double * ); -int CPL_DLL CPL_STDCALL GDALLoadTabFile( const char *, double *, char **, - int *, GDAL_GCP ** ); -int CPL_DLL CPL_STDCALL GDALReadTabFile( const char *, double *, char **, - int *, GDAL_GCP ** ); -int CPL_DLL CPL_STDCALL GDALLoadOziMapFile( const char *, double *, char **, - int *, GDAL_GCP ** ); -int CPL_DLL CPL_STDCALL GDALReadOziMapFile( const char *, double *, - char **, int *, GDAL_GCP ** ); - -const char CPL_DLL * CPL_STDCALL GDALDecToDMS( double, const char *, int ); -double CPL_DLL CPL_STDCALL GDALPackedDMSToDec( double ); -double CPL_DLL CPL_STDCALL GDALDecToPackedDMS( double ); - -/* Note to developers : please keep this section in sync with ogr_core.h */ - -#ifndef GDAL_VERSION_INFO_DEFINED -#define GDAL_VERSION_INFO_DEFINED -const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * ); -#endif - -#ifndef GDAL_CHECK_VERSION - -int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor, - const char* pszCallingComponentName); - -/** Helper macro for GDALCheckVersion() - @see GDALCheckVersion() - */ -#define GDAL_CHECK_VERSION(pszCallingComponentName) \ - GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName) - -#endif - -typedef struct { - double dfLINE_OFF; - double dfSAMP_OFF; - double dfLAT_OFF; - double dfLONG_OFF; - double dfHEIGHT_OFF; - - double dfLINE_SCALE; - double dfSAMP_SCALE; - double dfLAT_SCALE; - double dfLONG_SCALE; - double dfHEIGHT_SCALE; - - double adfLINE_NUM_COEFF[20]; - double adfLINE_DEN_COEFF[20]; - double adfSAMP_NUM_COEFF[20]; - double adfSAMP_DEN_COEFF[20]; - - double dfMIN_LONG; - double dfMIN_LAT; - double dfMAX_LONG; - double dfMAX_LAT; - -} GDALRPCInfo; - -int CPL_DLL CPL_STDCALL GDALExtractRPCInfo( char **, GDALRPCInfo * ); - -/* ==================================================================== */ -/* Color tables. */ -/* ==================================================================== */ - -/** Color tuple */ -typedef struct -{ - /*! gray, red, cyan or hue */ - short c1; - - /*! green, magenta, or lightness */ - short c2; - - /*! blue, yellow, or saturation */ - short c3; - - /*! alpha or blackband */ - short c4; -} GDALColorEntry; - -GDALColorTableH CPL_DLL CPL_STDCALL GDALCreateColorTable( GDALPaletteInterp ) CPL_WARN_UNUSED_RESULT; -void CPL_DLL CPL_STDCALL GDALDestroyColorTable( GDALColorTableH ); -GDALColorTableH CPL_DLL CPL_STDCALL GDALCloneColorTable( GDALColorTableH ); -GDALPaletteInterp CPL_DLL CPL_STDCALL GDALGetPaletteInterpretation( GDALColorTableH ); -int CPL_DLL CPL_STDCALL GDALGetColorEntryCount( GDALColorTableH ); -const GDALColorEntry CPL_DLL * CPL_STDCALL GDALGetColorEntry( GDALColorTableH, int ); -int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *); -void CPL_DLL CPL_STDCALL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * ); -void CPL_DLL CPL_STDCALL GDALCreateColorRamp( GDALColorTableH hTable, - int nStartIndex, const GDALColorEntry *psStartColor, - int nEndIndex, const GDALColorEntry *psEndColor ); - -/* ==================================================================== */ -/* Raster Attribute Table */ -/* ==================================================================== */ - -/** Field type of raster attribute table */ -typedef enum { - /*! Integer field */ GFT_Integer, - /*! Floating point (double) field */ GFT_Real, - /*! String field */ GFT_String -} GDALRATFieldType; - -/** Field usage of raster attribute table */ -typedef enum { - /*! General purpose field. */ GFU_Generic = 0, - /*! Histogram pixel count */ GFU_PixelCount = 1, - /*! Class name */ GFU_Name = 2, - /*! Class range minimum */ GFU_Min = 3, - /*! Class range maximum */ GFU_Max = 4, - /*! Class value (min=max) */ GFU_MinMax = 5, - /*! Red class color (0-255) */ GFU_Red = 6, - /*! Green class color (0-255) */ GFU_Green = 7, - /*! Blue class color (0-255) */ GFU_Blue = 8, - /*! Alpha (0=transparent,255=opaque)*/ GFU_Alpha = 9, - /*! Color Range Red Minimum */ GFU_RedMin = 10, - /*! Color Range Green Minimum */ GFU_GreenMin = 11, - /*! Color Range Blue Minimum */ GFU_BlueMin = 12, - /*! Color Range Alpha Minimum */ GFU_AlphaMin = 13, - /*! Color Range Red Maximum */ GFU_RedMax = 14, - /*! Color Range Green Maximum */ GFU_GreenMax = 15, - /*! Color Range Blue Maximum */ GFU_BlueMax = 16, - /*! Color Range Alpha Maximum */ GFU_AlphaMax = 17, - /*! Maximum GFU value */ GFU_MaxCount -} GDALRATFieldUsage; - -GDALRasterAttributeTableH CPL_DLL CPL_STDCALL - GDALCreateRasterAttributeTable(void) CPL_WARN_UNUSED_RESULT; -void CPL_DLL CPL_STDCALL GDALDestroyRasterAttributeTable( - GDALRasterAttributeTableH ); - -int CPL_DLL CPL_STDCALL GDALRATGetColumnCount( GDALRasterAttributeTableH ); - -const char CPL_DLL * CPL_STDCALL GDALRATGetNameOfCol( - GDALRasterAttributeTableH, int ); -GDALRATFieldUsage CPL_DLL CPL_STDCALL GDALRATGetUsageOfCol( - GDALRasterAttributeTableH, int ); -GDALRATFieldType CPL_DLL CPL_STDCALL GDALRATGetTypeOfCol( - GDALRasterAttributeTableH, int ); - -int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage( GDALRasterAttributeTableH, - GDALRATFieldUsage ); -int CPL_DLL CPL_STDCALL GDALRATGetRowCount( GDALRasterAttributeTableH ); - -const char CPL_DLL * CPL_STDCALL GDALRATGetValueAsString( - GDALRasterAttributeTableH, int, int); -int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt( - GDALRasterAttributeTableH, int, int); -double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble( - GDALRasterAttributeTableH, int, int); - -void CPL_DLL CPL_STDCALL GDALRATSetValueAsString( GDALRasterAttributeTableH, int, int, - const char * ); -void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt( GDALRasterAttributeTableH, int, int, - int ); -void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble( GDALRasterAttributeTableH, int, int, - double ); - -int CPL_DLL CPL_STDCALL GDALRATChangesAreWrittenToFile( GDALRasterAttributeTableH hRAT ); - -CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, - int iField, int iStartRow, int iLength, double *pdfData ); -CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsInteger( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, - int iField, int iStartRow, int iLength, int *pnData); -CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, - int iField, int iStartRow, int iLength, char **papszStrList); - -void CPL_DLL CPL_STDCALL GDALRATSetRowCount( GDALRasterAttributeTableH, - int ); -CPLErr CPL_DLL CPL_STDCALL GDALRATCreateColumn( GDALRasterAttributeTableH, - const char *, - GDALRATFieldType, - GDALRATFieldUsage ); -CPLErr CPL_DLL CPL_STDCALL GDALRATSetLinearBinning( GDALRasterAttributeTableH, - double, double ); -int CPL_DLL CPL_STDCALL GDALRATGetLinearBinning( GDALRasterAttributeTableH, - double *, double * ); -CPLErr CPL_DLL CPL_STDCALL GDALRATInitializeFromColorTable( - GDALRasterAttributeTableH, GDALColorTableH ); -GDALColorTableH CPL_DLL CPL_STDCALL GDALRATTranslateToColorTable( - GDALRasterAttributeTableH, int nEntryCount ); -void CPL_DLL CPL_STDCALL GDALRATDumpReadable( GDALRasterAttributeTableH, - FILE * ); -GDALRasterAttributeTableH CPL_DLL CPL_STDCALL - GDALRATClone( GDALRasterAttributeTableH ); - -void CPL_DLL* CPL_STDCALL - GDALRATSerializeJSON( GDALRasterAttributeTableH ) CPL_WARN_UNUSED_RESULT; - -int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue( GDALRasterAttributeTableH, double ); - - -/* ==================================================================== */ -/* GDAL Cache Management */ -/* ==================================================================== */ - -void CPL_DLL CPL_STDCALL GDALSetCacheMax( int nBytes ); -int CPL_DLL CPL_STDCALL GDALGetCacheMax(void); -int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void); -void CPL_DLL CPL_STDCALL GDALSetCacheMax64( GIntBig nBytes ); -GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void); -GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void); - -int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void); - -/* ==================================================================== */ -/* GDAL virtual memory */ -/* ==================================================================== */ - -CPLVirtualMem CPL_DLL* GDALDatasetGetVirtualMem( GDALDatasetH hDS, - GDALRWFlag eRWFlag, - int nXOff, int nYOff, - int nXSize, int nYSize, - int nBufXSize, int nBufYSize, - GDALDataType eBufType, - int nBandCount, int* panBandMap, - int nPixelSpace, - GIntBig nLineSpace, - GIntBig nBandSpace, - size_t nCacheSize, - size_t nPageSizeHint, - int bSingleThreadUsage, - char **papszOptions ) CPL_WARN_UNUSED_RESULT; - -CPLVirtualMem CPL_DLL* GDALRasterBandGetVirtualMem( GDALRasterBandH hBand, - GDALRWFlag eRWFlag, - int nXOff, int nYOff, - int nXSize, int nYSize, - int nBufXSize, int nBufYSize, - GDALDataType eBufType, - int nPixelSpace, - GIntBig nLineSpace, - size_t nCacheSize, - size_t nPageSizeHint, - int bSingleThreadUsage, - char **papszOptions ) CPL_WARN_UNUSED_RESULT; - -CPLVirtualMem CPL_DLL* GDALGetVirtualMemAuto( GDALRasterBandH hBand, - GDALRWFlag eRWFlag, - int *pnPixelSpace, - GIntBig *pnLineSpace, - char **papszOptions ) CPL_WARN_UNUSED_RESULT; - -typedef enum -{ - /*! Tile Interleaved by Pixel: tile (0,0) with internal band interleaved by pixel organization, tile (1, 0), ... */ - GTO_TIP, - /*! Band Interleaved by Tile : tile (0,0) of first band, tile (0,0) of second band, ... tile (1,0) of first band, tile (1,0) of second band, ... */ - GTO_BIT, - /*! Band SeQuential : all the tiles of first band, all the tiles of following band... */ - GTO_BSQ -} GDALTileOrganization; - -CPLVirtualMem CPL_DLL* GDALDatasetGetTiledVirtualMem( GDALDatasetH hDS, - GDALRWFlag eRWFlag, - int nXOff, int nYOff, - int nXSize, int nYSize, - int nTileXSize, int nTileYSize, - GDALDataType eBufType, - int nBandCount, int* panBandMap, - GDALTileOrganization eTileOrganization, - size_t nCacheSize, - int bSingleThreadUsage, - char **papszOptions ) CPL_WARN_UNUSED_RESULT; - -CPLVirtualMem CPL_DLL* GDALRasterBandGetTiledVirtualMem( GDALRasterBandH hBand, - GDALRWFlag eRWFlag, - int nXOff, int nYOff, - int nXSize, int nYSize, - int nTileXSize, int nTileYSize, - GDALDataType eBufType, - size_t nCacheSize, - int bSingleThreadUsage, - char **papszOptions ) CPL_WARN_UNUSED_RESULT; - -/* ==================================================================== */ -/* VRTPansharpenedDataset class. */ -/* ==================================================================== */ - -GDALDatasetH CPL_DLL GDALCreatePansharpenedVRT( const char* pszXML, - GDALRasterBandH hPanchroBand, - int nInputSpectralBands, - GDALRasterBandH* pahInputSpectralBands ) CPL_WARN_UNUSED_RESULT; - -/* =================================================================== */ -/* Misc API */ -/* ==================================================================== */ - -CPLXMLNode CPL_DLL* GDALGetJPEG2000Structure(const char* pszFilename, - char** papszOptions) CPL_WARN_UNUSED_RESULT; - -CPL_C_END - -#endif /* ndef GDAL_H_INCLUDED */ diff --git a/src/gdal/gdal_alg.h b/src/gdal/gdal_alg.h deleted file mode 100644 index 0235012b..00000000 --- a/src/gdal/gdal_alg.h +++ /dev/null @@ -1,603 +0,0 @@ -/****************************************************************************** - * $Id: gdal_alg.h 33715 2016-03-13 08:52:06Z goatbar $ - * - * Project: GDAL Image Processing Algorithms - * Purpose: Prototypes, and definitions for various GDAL based algorithms. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 2001, Frank Warmerdam - * Copyright (c) 2008-2012, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_ALG_H_INCLUDED -#define GDAL_ALG_H_INCLUDED - -/** - * \file gdal_alg.h - * - * Public (C callable) GDAL algorithm entry points, and definitions. - */ - -#ifndef DOXYGEN_SKIP -#include "gdal.h" -#include "cpl_minixml.h" -#include "ogr_api.h" -#endif - -CPL_C_START - -int CPL_DLL CPL_STDCALL GDALComputeMedianCutPCT( GDALRasterBandH hRed, - GDALRasterBandH hGreen, - GDALRasterBandH hBlue, - int (*pfnIncludePixel)(int,int,void*), - int nColors, - GDALColorTableH hColorTable, - GDALProgressFunc pfnProgress, - void * pProgressArg ); - -int CPL_DLL CPL_STDCALL GDALDitherRGB2PCT( GDALRasterBandH hRed, - GDALRasterBandH hGreen, - GDALRasterBandH hBlue, - GDALRasterBandH hTarget, - GDALColorTableH hColorTable, - GDALProgressFunc pfnProgress, - void * pProgressArg ); - -int CPL_DLL CPL_STDCALL GDALChecksumImage( GDALRasterBandH hBand, - int nXOff, int nYOff, int nXSize, int nYSize ); - -CPLErr CPL_DLL CPL_STDCALL -GDALComputeProximity( GDALRasterBandH hSrcBand, - GDALRasterBandH hProximityBand, - char **papszOptions, - GDALProgressFunc pfnProgress, - void * pProgressArg ); - -CPLErr CPL_DLL CPL_STDCALL -GDALFillNodata( GDALRasterBandH hTargetBand, - GDALRasterBandH hMaskBand, - double dfMaxSearchDist, - int bDeprecatedOption, - int nSmoothingIterations, - char **papszOptions, - GDALProgressFunc pfnProgress, - void * pProgressArg ); - -CPLErr CPL_DLL CPL_STDCALL -GDALPolygonize( GDALRasterBandH hSrcBand, - GDALRasterBandH hMaskBand, - OGRLayerH hOutLayer, int iPixValField, - char **papszOptions, - GDALProgressFunc pfnProgress, - void * pProgressArg ); - -CPLErr CPL_DLL CPL_STDCALL -GDALFPolygonize( GDALRasterBandH hSrcBand, - GDALRasterBandH hMaskBand, - OGRLayerH hOutLayer, int iPixValField, - char **papszOptions, - GDALProgressFunc pfnProgress, - void * pProgressArg ); - -CPLErr CPL_DLL CPL_STDCALL -GDALSieveFilter( GDALRasterBandH hSrcBand, GDALRasterBandH hMaskBand, - GDALRasterBandH hDstBand, - int nSizeThreshold, int nConnectedness, - char **papszOptions, - GDALProgressFunc pfnProgress, - void * pProgressArg ); - -/* - * Warp Related. - */ - -typedef int -(*GDALTransformerFunc)( void *pTransformerArg, - int bDstToSrc, int nPointCount, - double *x, double *y, double *z, int *panSuccess ); - -#define GDAL_GTI2_SIGNATURE "GTI2" - -typedef struct { - GByte abySignature[4]; - const char *pszClassName; - GDALTransformerFunc pfnTransform; - void (*pfnCleanup)( void * pTransformerArg ); - CPLXMLNode *(*pfnSerialize)( void * pTransformerArg ); - void* (*pfnCreateSimilar)( void* pTransformerArg, double dfSrcRatioX, double dfSrcRatioY ); -} GDALTransformerInfo; - -void CPL_DLL GDALDestroyTransformer( void *pTransformerArg ); -int CPL_DLL GDALUseTransformer( void *pTransformerArg, - int bDstToSrc, int nPointCount, - double *x, double *y, double *z, - int *panSuccess ); -void* GDALCreateSimilarTransformer( void* psTransformerArg, double dfSrcRatioX, double dfSrcRatioY ); - - -/* High level transformer for going from image coordinates on one file - to image coordinates on another, potentially doing reprojection, - utilizing GCPs or using the geotransform. */ - -void CPL_DLL * -GDALCreateGenImgProjTransformer( GDALDatasetH hSrcDS, const char *pszSrcWKT, - GDALDatasetH hDstDS, const char *pszDstWKT, - int bGCPUseOK, double dfGCPErrorThreshold, - int nOrder ); -void CPL_DLL * -GDALCreateGenImgProjTransformer2( GDALDatasetH hSrcDS, GDALDatasetH hDstDS, - char **papszOptions ); -void CPL_DLL * -GDALCreateGenImgProjTransformer3( const char *pszSrcWKT, - const double *padfSrcGeoTransform, - const char *pszDstWKT, - const double *padfDstGeoTransform ); -void CPL_DLL GDALSetGenImgProjTransformerDstGeoTransform( void *, - const double * ); -void CPL_DLL GDALDestroyGenImgProjTransformer( void * ); -int CPL_DLL GDALGenImgProjTransform( - void *pTransformArg, int bDstToSrc, int nPointCount, - double *x, double *y, double *z, int *panSuccess ); - -void GDALSetTransformerDstGeoTransform( void *, const double * ); - -/* Geo to geo reprojection transformer. */ -void CPL_DLL * -GDALCreateReprojectionTransformer( const char *pszSrcWKT, - const char *pszDstWKT ); -void CPL_DLL GDALDestroyReprojectionTransformer( void * ); -int CPL_DLL GDALReprojectionTransform( - void *pTransformArg, int bDstToSrc, int nPointCount, - double *x, double *y, double *z, int *panSuccess ); - -/* GCP based transformer ... forward is to georef coordinates */ -void CPL_DLL * -GDALCreateGCPTransformer( int nGCPCount, const GDAL_GCP *pasGCPList, - int nReqOrder, int bReversed ); - -/* GCP based transformer with refinement of the GCPs ... forward is to georef coordinates */ -void CPL_DLL * -GDALCreateGCPRefineTransformer( int nGCPCount, const GDAL_GCP *pasGCPList, - int nReqOrder, int bReversed, double tolerance, int minimumGcps); - -void CPL_DLL GDALDestroyGCPTransformer( void *pTransformArg ); -int CPL_DLL GDALGCPTransform( - void *pTransformArg, int bDstToSrc, int nPointCount, - double *x, double *y, double *z, int *panSuccess ); - -/* Thin Plate Spine transformer ... forward is to georef coordinates */ - -void CPL_DLL * -GDALCreateTPSTransformer( int nGCPCount, const GDAL_GCP *pasGCPList, - int bReversed ); -void CPL_DLL GDALDestroyTPSTransformer( void *pTransformArg ); -int CPL_DLL GDALTPSTransform( - void *pTransformArg, int bDstToSrc, int nPointCount, - double *x, double *y, double *z, int *panSuccess ); - -char CPL_DLL ** RPCInfoToMD( GDALRPCInfo *psRPCInfo ); - -/* RPC based transformer ... src is pixel/line/elev, dst is long/lat/elev */ - -void CPL_DLL * -GDALCreateRPCTransformer( GDALRPCInfo *psRPC, int bReversed, - double dfPixErrThreshold, - char **papszOptions ); -void CPL_DLL GDALDestroyRPCTransformer( void *pTransformArg ); -int CPL_DLL GDALRPCTransform( - void *pTransformArg, int bDstToSrc, int nPointCount, - double *x, double *y, double *z, int *panSuccess ); - -/* Geolocation transformer */ - -void CPL_DLL * -GDALCreateGeoLocTransformer( GDALDatasetH hBaseDS, - char **papszGeolocationInfo, - int bReversed ); -void CPL_DLL GDALDestroyGeoLocTransformer( void *pTransformArg ); -int CPL_DLL GDALGeoLocTransform( - void *pTransformArg, int bDstToSrc, int nPointCount, - double *x, double *y, double *z, int *panSuccess ); - -/* Approximate transformer */ -void CPL_DLL * -GDALCreateApproxTransformer( GDALTransformerFunc pfnRawTransformer, - void *pRawTransformerArg, double dfMaxError ); -void CPL_DLL GDALApproxTransformerOwnsSubtransformer( void *pCBData, - int bOwnFlag ); -void CPL_DLL GDALDestroyApproxTransformer( void *pApproxArg ); -int CPL_DLL GDALApproxTransform( - void *pTransformArg, int bDstToSrc, int nPointCount, - double *x, double *y, double *z, int *panSuccess ); - - -int CPL_DLL CPL_STDCALL -GDALSimpleImageWarp( GDALDatasetH hSrcDS, - GDALDatasetH hDstDS, - int nBandCount, int *panBandList, - GDALTransformerFunc pfnTransform, - void *pTransformArg, - GDALProgressFunc pfnProgress, - void *pProgressArg, - char **papszWarpOptions ); - -CPLErr CPL_DLL CPL_STDCALL -GDALSuggestedWarpOutput( GDALDatasetH hSrcDS, - GDALTransformerFunc pfnTransformer, - void *pTransformArg, - double *padfGeoTransformOut, - int *pnPixels, int *pnLines ); -CPLErr CPL_DLL CPL_STDCALL -GDALSuggestedWarpOutput2( GDALDatasetH hSrcDS, - GDALTransformerFunc pfnTransformer, - void *pTransformArg, - double *padfGeoTransformOut, - int *pnPixels, int *pnLines, - double *padfExtents, - int nOptions ); - -CPLXMLNode CPL_DLL * -GDALSerializeTransformer( GDALTransformerFunc pfnFunc, void *pTransformArg ); -CPLErr CPL_DLL GDALDeserializeTransformer( CPLXMLNode *psTree, - GDALTransformerFunc *ppfnFunc, - void **ppTransformArg ); - -CPLErr CPL_DLL -GDALTransformGeolocations( GDALRasterBandH hXBand, - GDALRasterBandH hYBand, - GDALRasterBandH hZBand, - GDALTransformerFunc pfnTransformer, - void *pTransformArg, - GDALProgressFunc pfnProgress, - void *pProgressArg, - char **papszOptions ); - -/* -------------------------------------------------------------------- */ -/* Contour Line Generation */ -/* -------------------------------------------------------------------- */ - -typedef CPLErr (*GDALContourWriter)( double dfLevel, int nPoints, - double *padfX, double *padfY, void * ); - -typedef void *GDALContourGeneratorH; - -GDALContourGeneratorH CPL_DLL -GDAL_CG_Create( int nWidth, int nHeight, - int bNoDataSet, double dfNoDataValue, - double dfContourInterval, double dfContourBase, - GDALContourWriter pfnWriter, void *pCBData ); -CPLErr CPL_DLL GDAL_CG_FeedLine( GDALContourGeneratorH hCG, - double *padfScanline ); -void CPL_DLL GDAL_CG_Destroy( GDALContourGeneratorH hCG ); - -typedef struct -{ - void *hLayer; - - double adfGeoTransform[6]; - - int nElevField; - int nIDField; - int nNextID; -} OGRContourWriterInfo; - -CPLErr CPL_DLL -OGRContourWriter( double, int, double *, double *, void *pInfo ); - -CPLErr CPL_DLL -GDALContourGenerate( GDALRasterBandH hBand, - double dfContourInterval, double dfContourBase, - int nFixedLevelCount, double *padfFixedLevels, - int bUseNoData, double dfNoDataValue, - void *hLayer, int iIDField, int iElevField, - GDALProgressFunc pfnProgress, void *pProgressArg ); - -/************************************************************************/ -/* Rasterizer API - geometries burned into GDAL raster. */ -/************************************************************************/ - -CPLErr CPL_DLL -GDALRasterizeGeometries( GDALDatasetH hDS, - int nBandCount, int *panBandList, - int nGeomCount, OGRGeometryH *pahGeometries, - GDALTransformerFunc pfnTransformer, - void *pTransformArg, - double *padfGeomBurnValue, - char **papszOptions, - GDALProgressFunc pfnProgress, - void * pProgressArg ); -CPLErr CPL_DLL -GDALRasterizeLayers( GDALDatasetH hDS, - int nBandCount, int *panBandList, - int nLayerCount, OGRLayerH *pahLayers, - GDALTransformerFunc pfnTransformer, - void *pTransformArg, - double *padfLayerBurnValues, - char **papszOptions, - GDALProgressFunc pfnProgress, - void *pProgressArg ); - -CPLErr CPL_DLL -GDALRasterizeLayersBuf( void *pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, int nPixelSpace, int nLineSpace, - int nLayerCount, OGRLayerH *pahLayers, - const char *pszDstProjection, - double *padfDstGeoTransform, - GDALTransformerFunc pfnTransformer, - void *pTransformArg, double dfBurnValue, - char **papszOptions, GDALProgressFunc pfnProgress, - void *pProgressArg ); - - -/************************************************************************/ -/* Gridding interface. */ -/************************************************************************/ - -/** Gridding Algorithms */ -typedef enum { - /*! Inverse distance to a power */ GGA_InverseDistanceToAPower = 1, - /*! Moving Average */ GGA_MovingAverage = 2, - /*! Nearest Neighbor */ GGA_NearestNeighbor = 3, - /*! Minimum Value (Data Metric) */ GGA_MetricMinimum = 4, - /*! Maximum Value (Data Metric) */ GGA_MetricMaximum = 5, - /*! Data Range (Data Metric) */ GGA_MetricRange = 6, - /*! Number of Points (Data Metric) */ GGA_MetricCount = 7, - /*! Average Distance (Data Metric) */ GGA_MetricAverageDistance = 8, - /*! Average Distance Between Data Points (Data Metric) */ - GGA_MetricAverageDistancePts = 9, - /*! Linear interpolation (from Delaunay triangulation. Since GDAL 2.1 */ - GGA_Linear = 10, - /*! Inverse distance to a power with nearest neighbor search for max points */ - GGA_InverseDistanceToAPowerNearestNeighbor = 11 -} GDALGridAlgorithm; - -/** Inverse distance to a power method control options */ -typedef struct -{ - /*! Weighting power. */ - double dfPower; - /*! Smoothing parameter. */ - double dfSmoothing; - /*! Reserved for future use. */ - double dfAnisotropyRatio; - /*! Reserved for future use. */ - double dfAnisotropyAngle; - /*! The first radius (X axis if rotation angle is 0) of search ellipse. */ - double dfRadius1; - /*! The second radius (Y axis if rotation angle is 0) of search ellipse. */ - double dfRadius2; - /*! Angle of ellipse rotation in degrees. - * - * Ellipse rotated counter clockwise. - */ - double dfAngle; - /*! Maximum number of data points to use. - * - * Do not search for more points than this number. - * If less amount of points found the grid node considered empty and will - * be filled with NODATA marker. - */ - GUInt32 nMaxPoints; - /*! Minimum number of data points to use. - * - * If less amount of points found the grid node considered empty and will - * be filled with NODATA marker. - */ - GUInt32 nMinPoints; - /*! No data marker to fill empty points. */ - double dfNoDataValue; -} GDALGridInverseDistanceToAPowerOptions; - -typedef struct -{ - /*! Weighting power. */ - double dfPower; - /*! The radius of search circle. */ - double dfRadius; - - /*! Maximum number of data points to use. - * - * Do not search for more points than this number. - * If less amount of points found the grid node considered empty and will - * be filled with NODATA marker. - */ - GUInt32 nMaxPoints; - /*! Minimum number of data points to use. - * - * If less amount of points found the grid node considered empty and will - * be filled with NODATA marker. - */ - GUInt32 nMinPoints; - /*! No data marker to fill empty points. */ - double dfNoDataValue; -} GDALGridInverseDistanceToAPowerNearestNeighborOptions; - -/** Moving average method control options */ -typedef struct -{ - /*! The first radius (X axis if rotation angle is 0) of search ellipse. */ - double dfRadius1; - /*! The second radius (Y axis if rotation angle is 0) of search ellipse. */ - double dfRadius2; - /*! Angle of ellipse rotation in degrees. - * - * Ellipse rotated counter clockwise. - */ - double dfAngle; - /*! Minimum number of data points to average. - * - * If less amount of points found the grid node considered empty and will - * be filled with NODATA marker. - */ - GUInt32 nMinPoints; - /*! No data marker to fill empty points. */ - double dfNoDataValue; -} GDALGridMovingAverageOptions; - -/** Nearest neighbor method control options */ -typedef struct -{ - /*! The first radius (X axis if rotation angle is 0) of search ellipse. */ - double dfRadius1; - /*! The second radius (Y axis if rotation angle is 0) of search ellipse. */ - double dfRadius2; - /*! Angle of ellipse rotation in degrees. - * - * Ellipse rotated counter clockwise. - */ - double dfAngle; - /*! No data marker to fill empty points. */ - double dfNoDataValue; -} GDALGridNearestNeighborOptions; - -/** Data metrics method control options */ -typedef struct -{ - /*! The first radius (X axis if rotation angle is 0) of search ellipse. */ - double dfRadius1; - /*! The second radius (Y axis if rotation angle is 0) of search ellipse. */ - double dfRadius2; - /*! Angle of ellipse rotation in degrees. - * - * Ellipse rotated counter clockwise. - */ - double dfAngle; - /*! Minimum number of data points to average. - * - * If less amount of points found the grid node considered empty and will - * be filled with NODATA marker. - */ - GUInt32 nMinPoints; - /*! No data marker to fill empty points. */ - double dfNoDataValue; -} GDALGridDataMetricsOptions; - -/** Linear method control options */ -typedef struct -{ - /*! In case the point to be interpolated does not fit into a triangle of - * the Delaunay triangulation, use that maximum distance to search a nearest - * neighbour, or use nodata otherwise. If set to -1, the search distance is infinite. - * If set to 0, nodata value will be always used. - */ - double dfRadius; - /*! No data marker to fill empty points. */ - double dfNoDataValue; -} GDALGridLinearOptions; - - -CPLErr CPL_DLL -GDALGridCreate( GDALGridAlgorithm, const void *, GUInt32, - const double *, const double *, const double *, - double, double, double, double, - GUInt32, GUInt32, GDALDataType, void *, - GDALProgressFunc, void *); - -typedef struct GDALGridContext GDALGridContext; - -GDALGridContext CPL_DLL* -GDALGridContextCreate( GDALGridAlgorithm eAlgorithm, const void *poOptions, - GUInt32 nPoints, - const double *padfX, const double *padfY, const double *padfZ, - int bCallerWillKeepPointArraysAlive ); - -void CPL_DLL GDALGridContextFree(GDALGridContext* psContext); - -CPLErr CPL_DLL GDALGridContextProcess(GDALGridContext* psContext, - double dfXMin, double dfXMax, double dfYMin, double dfYMax, - GUInt32 nXSize, GUInt32 nYSize, GDALDataType eType, void *pData, - GDALProgressFunc pfnProgress, void *pProgressArg ); - -GDAL_GCP CPL_DLL * -GDALComputeMatchingPoints( GDALDatasetH hFirstImage, - GDALDatasetH hSecondImage, - char **papszOptions, - int *pnGCPCount ); - -/************************************************************************/ -/* Delaunay triangulation interface. */ -/************************************************************************/ - -typedef struct -{ - int anVertexIdx[3]; /* index to the padfX/padfY arrays */ - int anNeighborIdx[3]; /* index to GDALDelaunayTriangulation.pasFacets, or -1 */ - /* anNeighborIdx[k] is the triangle to the opposite side */ - /* of the opposite segment of anVertexIdx[k] */ -} GDALTriFacet; - -/* Conversion from cartesian (x,y) to barycentric (l1,l2,l3) with : - l1 = dfMul1X * (x - dfCxtX) + dfMul1Y * (y - dfCstY) - l2 = dfMul2X * (x - dfCxtX) + dfMul2Y * (y - dfCstY) - l3 = 1 - l1 - l2 -*/ -typedef struct -{ - double dfMul1X; - double dfMul1Y; - double dfMul2X; - double dfMul2Y; - double dfCstX; - double dfCstY; -} GDALTriBarycentricCoefficients; - -typedef struct -{ - int nFacets; - GDALTriFacet *pasFacets; /* nFacets elements */ - GDALTriBarycentricCoefficients *pasFacetCoefficients; /* nFacets elements */ -} GDALTriangulation; - -int CPL_DLL GDALHasTriangulation(void); - -GDALTriangulation CPL_DLL *GDALTriangulationCreateDelaunay(int nPoints, - const double* padfX, - const double* padfY); -int CPL_DLL GDALTriangulationComputeBarycentricCoefficients( - GDALTriangulation* psDT, - const double* padfX, - const double* padfY); -int CPL_DLL GDALTriangulationComputeBarycentricCoordinates( - const GDALTriangulation* psDT, - int nFacetIdx, - double dfX, - double dfY, - double* pdfL1, - double* pdfL2, - double* pdfL3); -int CPL_DLL GDALTriangulationFindFacetBruteForce( const GDALTriangulation* psDT, - double dfX, - double dfY, - int* panOutputFacetIdx ); -int CPL_DLL GDALTriangulationFindFacetDirected( const GDALTriangulation* psDT, - int nFacetIdx, - double dfX, - double dfY, - int* panOutputFacetIdx ); -void CPL_DLL GDALTriangulationFree(GDALTriangulation* psDT); - -// GDAL internal use only -void GDALTriangulationTerminate(void); - -CPL_C_END - -#endif /* ndef GDAL_ALG_H_INCLUDED */ diff --git a/src/gdal/gdal_alg_priv.h b/src/gdal/gdal_alg_priv.h deleted file mode 100644 index 88b0d117..00000000 --- a/src/gdal/gdal_alg_priv.h +++ /dev/null @@ -1,209 +0,0 @@ -/****************************************************************************** - * $Id: gdal_alg_priv.h 33757 2016-03-20 20:22:33Z goatbar $ - * - * Project: GDAL Image Processing Algorithms - * Purpose: Prototypes and definitions for various GDAL based algorithms: - * private declarations. - * Author: Andrey Kiselev, dron@ak4719.spb.edu - * - ****************************************************************************** - * Copyright (c) 2008, Andrey Kiselev - * Copyright (c) 2010-2013, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_ALG_PRIV_H_INCLUDED -#define GDAL_ALG_PRIV_H_INCLUDED - -#include "gdal_alg.h" - -CPL_C_START - -/** Source of the burn value */ -typedef enum { - /*! Use value from padfBurnValue */ GBV_UserBurnValue = 0, - /*! Use value from the Z coordinate */ GBV_Z = 1, - /*! Use value form the M value */ GBV_M = 2 -} GDALBurnValueSrc; - -typedef enum { - GRMA_Replace = 0, - GRMA_Add = 1, -} GDALRasterMergeAlg; - -typedef struct { - unsigned char * pabyChunkBuf; - int nXSize; - int nYSize; - int nBands; - GDALDataType eType; - double *padfBurnValue; - GDALBurnValueSrc eBurnValueSource; - GDALRasterMergeAlg eMergeAlg; -} GDALRasterizeInfo; - -/************************************************************************/ -/* Low level rasterizer API. */ -/************************************************************************/ - -typedef void (*llScanlineFunc)( void *, int, int, int, double ); -typedef void (*llPointFunc)( void *, int, int, double ); - -void GDALdllImagePoint( int nRasterXSize, int nRasterYSize, - int nPartCount, int *panPartSize, - double *padfX, double *padfY, double *padfVariant, - llPointFunc pfnPointFunc, void *pCBData ); - -void GDALdllImageLine( int nRasterXSize, int nRasterYSize, - int nPartCount, int *panPartSize, - double *padfX, double *padfY, double *padfVariant, - llPointFunc pfnPointFunc, void *pCBData ); - -void GDALdllImageLineAllTouched(int nRasterXSize, int nRasterYSize, - int nPartCount, int *panPartSize, - double *padfX, double *padfY, - double *padfVariant, - llPointFunc pfnPointFunc, void *pCBData ); - -void GDALdllImageFilledPolygon(int nRasterXSize, int nRasterYSize, - int nPartCount, int *panPartSize, - double *padfX, double *padfY, - double *padfVariant, - llScanlineFunc pfnScanlineFunc, void *pCBData ); - -CPL_C_END - -/************************************************************************/ -/* Polygon Enumerator */ -/************************************************************************/ - -#define GP_NODATA_MARKER -51502112 - -template class GDALRasterPolygonEnumeratorT - -{ -private: - void MergePolygon( int nSrcId, int nDstId ); - int NewPolygon( DataType nValue ); - -public: // these are intended to be readonly. - - GInt32 *panPolyIdMap; - DataType *panPolyValue; - - int nNextPolygonId; - int nPolyAlloc; - - int nConnectedness; - -public: - GDALRasterPolygonEnumeratorT( int nConnectedness=4 ); - ~GDALRasterPolygonEnumeratorT(); - - void ProcessLine( DataType *panLastLineVal, DataType *panThisLineVal, - GInt32 *panLastLineId, GInt32 *panThisLineId, - int nXSize ); - - void CompleteMerges(); - - void Clear(); -}; - -struct IntEqualityTest -{ - bool operator()(GInt32 a, GInt32 b) { return a == b; } -}; - -typedef GDALRasterPolygonEnumeratorT GDALRasterPolygonEnumerator; - -typedef void* (*GDALTransformDeserializeFunc)( CPLXMLNode *psTree ); - -void* GDALRegisterTransformDeserializer(const char* pszTransformName, - GDALTransformerFunc pfnTransformerFunc, - GDALTransformDeserializeFunc pfnDeserializeFunc); -void GDALUnregisterTransformDeserializer(void* pData); - -void GDALCleanupTransformDeserializerMutex(); - -/* Transformer cloning */ - -void* GDALCreateTPSTransformerInt( int nGCPCount, const GDAL_GCP *pasGCPList, - int bReversed, char** papszOptions ); - -void CPL_DLL * GDALCloneTransformer( void *pTransformerArg ); - -/************************************************************************/ -/* Color table related */ -/************************************************************************/ - -/* definitions exists for T = GUInt32 and T = GUIntBig */ -template int -GDALComputeMedianCutPCTInternal( GDALRasterBandH hRed, - GDALRasterBandH hGreen, - GDALRasterBandH hBlue, - GByte* pabyRedBand, - GByte* pabyGreenBand, - GByte* pabyBlueBand, - int (*pfnIncludePixel)(int,int,void*), - int nColors, - int nBits, - T* panHistogram, - GDALColorTableH hColorTable, - GDALProgressFunc pfnProgress, - void * pProgressArg ); - -int GDALDitherRGB2PCTInternal( GDALRasterBandH hRed, - GDALRasterBandH hGreen, - GDALRasterBandH hBlue, - GDALRasterBandH hTarget, - GDALColorTableH hColorTable, - int nBits, - GInt16* pasDynamicColorMap, - int bDither, - GDALProgressFunc pfnProgress, - void * pProgressArg ); - -#define PRIME_FOR_65536 98317 - -/* See HashHistogram structure in gdalmediancut.cpp and ColorIndex structure in gdaldither.cpp */ -/* 6 * sizeof(int) should be the size of the largest of both structures */ -#define MEDIAN_CUT_AND_DITHER_BUFFER_SIZE_65536 (6 * sizeof(int) * PRIME_FOR_65536) - - -/************************************************************************/ -/* Float comparison function. */ -/************************************************************************/ - -/** - * Units in the Last Place. This specifies how big an error we are willing to - * accept in terms of the value of the least significant digit of the floating - * point number’s representation. MAX_ULPS can also be interpreted in terms of - * how many representable floats we are willing to accept between A and B. - */ -#define MAX_ULPS 10 - -GBool GDALFloatEquals(float A, float B); - -struct FloatEqualityTest -{ - bool operator()(float a, float b) { return GDALFloatEquals(a,b) == TRUE; } -}; - -#endif /* ndef GDAL_ALG_PRIV_H_INCLUDED */ diff --git a/src/gdal/gdal_csv.h b/src/gdal/gdal_csv.h deleted file mode 100644 index ff782bb9..00000000 --- a/src/gdal/gdal_csv.h +++ /dev/null @@ -1,41 +0,0 @@ -/****************************************************************************** - * $Id: gdal_csv.h 33844 2016-04-01 08:42:13Z rouault $ - * - * Project: Common Portability Library - * Purpose: Functions for reading and scanning CSV (comma separated, - * variable length text files holding tables) files. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 1999, Frank Warmerdam - * Copyright (c) 2010, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_CSV_H_INCLUDED -#define GDAL_CSV_H_INCLUDED - -#include "cpl_port.h" - -CPL_C_START -const char * GDALDefaultCSVFilename( const char *pszBasename ); -CPL_C_END - -#endif diff --git a/src/gdal/gdal_frmts.h b/src/gdal/gdal_frmts.h deleted file mode 100644 index 44d06f86..00000000 --- a/src/gdal/gdal_frmts.h +++ /dev/null @@ -1,191 +0,0 @@ -/****************************************************************************** - * $Id: gdal_frmts.h 33351 2016-02-03 15:52:38Z goatbar $ - * - * Project: GDAL - * Purpose: Prototypes for all format specific driver initialization. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 2001, Frank Warmerdam - * Copyright (c) 2007-2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_FRMTS_H_INCLUDED -#define GDAL_FRMTS_H_INCLUDED - -#include "cpl_port.h" - -CPL_C_START -void CPL_DLL GDALRegister_GTiff(void); -void CPL_DLL GDALRegister_GXF(void); -void CPL_DLL GDALRegister_OGDI(void); -void CPL_DLL GDALRegister_HFA(void); -void CPL_DLL GDALRegister_AAIGrid(void); -void CPL_DLL GDALRegister_GRASSASCIIGrid(void); -void CPL_DLL GDALRegister_AIGrid(void); -// void CPL_DLL GDALRegister_AIGrid2(void); -void CPL_DLL GDALRegister_CEOS(void); -void CPL_DLL GDALRegister_SAR_CEOS(void); -void CPL_DLL GDALRegister_SDTS(void); -void CPL_DLL GDALRegister_ELAS(void); -void CPL_DLL GDALRegister_EHdr(void); -void CPL_DLL GDALRegister_GenBin(void); -void CPL_DLL GDALRegister_PAux(void); -void CPL_DLL GDALRegister_ENVI(void); -void CPL_DLL GDALRegister_DOQ1(void); -void CPL_DLL GDALRegister_DOQ2(void); -void CPL_DLL GDALRegister_DTED(void); -void CPL_DLL GDALRegister_MFF(void); -void CPL_DLL GDALRegister_HKV(void); -void CPL_DLL GDALRegister_PNG(void); -void CPL_DLL GDALRegister_DDS(void); -void CPL_DLL GDALRegister_GTA(void); -void CPL_DLL GDALRegister_JPEG(void); -void CPL_DLL GDALRegister_JPEG2000(void); -void CPL_DLL GDALRegister_JP2KAK(void); -void CPL_DLL GDALRegister_JPIPKAK(void); -void CPL_DLL GDALRegister_MEM(void); -void CPL_DLL GDALRegister_JDEM(void); -void CPL_DLL GDALRegister_RASDAMAN(void); -void CPL_DLL GDALRegister_GRASS(void); -void CPL_DLL GDALRegister_PNM(void); -void CPL_DLL GDALRegister_GIF(void); -void CPL_DLL GDALRegister_BIGGIF(void); -void CPL_DLL GDALRegister_Envisat(void); -void CPL_DLL GDALRegister_FITS(void); -void CPL_DLL GDALRegister_ECW(void); -void CPL_DLL GDALRegister_JP2ECW(void); -void CPL_DLL GDALRegister_ECW_JP2ECW(); -void CPL_DLL GDALRegister_FujiBAS(void); -void CPL_DLL GDALRegister_FIT(void); -void CPL_DLL GDALRegister_VRT(void); -void CPL_DLL GDALRegister_USGSDEM(void); -void CPL_DLL GDALRegister_FAST(void); -void CPL_DLL GDALRegister_HDF4(void); -void CPL_DLL GDALRegister_HDF4Image(void); -void CPL_DLL GDALRegister_L1B(void); -void CPL_DLL GDALRegister_LDF(void); -void CPL_DLL GDALRegister_BSB(void); -void CPL_DLL GDALRegister_XPM(void); -void CPL_DLL GDALRegister_BMP(void); -void CPL_DLL GDALRegister_GSC(void); -void CPL_DLL GDALRegister_NITF(void); -void CPL_DLL GDALRegister_RPFTOC(void); -void CPL_DLL GDALRegister_ECRGTOC(void); -void CPL_DLL GDALRegister_MrSID(void); -void CPL_DLL GDALRegister_MG4Lidar(void); -void CPL_DLL GDALRegister_PCIDSK(void); -void CPL_DLL GDALRegister_BT(void); -void CPL_DLL GDALRegister_DODS(void); -void CPL_DLL GDALRegister_GMT(void); -void CPL_DLL GDALRegister_netCDF(void); -void CPL_DLL GDALRegister_LAN(void); -void CPL_DLL GDALRegister_CPG(void); -void CPL_DLL GDALRegister_AirSAR(void); -void CPL_DLL GDALRegister_RS2(void); -void CPL_DLL GDALRegister_ILWIS(void); -void CPL_DLL GDALRegister_PCRaster(void); -void CPL_DLL GDALRegister_IDA(void); -void CPL_DLL GDALRegister_NDF(void); -void CPL_DLL GDALRegister_RMF(void); -void CPL_DLL GDALRegister_BAG(void); -void CPL_DLL GDALRegister_HDF5(void); -void CPL_DLL GDALRegister_HDF5Image(void); -void CPL_DLL GDALRegister_MSGN(void); -void CPL_DLL GDALRegister_MSG(void); -void CPL_DLL GDALRegister_RIK(void); -void CPL_DLL GDALRegister_Leveller(void); -void CPL_DLL GDALRegister_SGI(void); -void CPL_DLL GDALRegister_SRTMHGT(void); -void CPL_DLL GDALRegister_DIPEx(void); -void CPL_DLL GDALRegister_ISIS3(void); -void CPL_DLL GDALRegister_ISIS2(void); -void CPL_DLL GDALRegister_PDS(void); -void CPL_DLL GDALRegister_VICAR(void); -void CPL_DLL GDALRegister_IDRISI(void); -void CPL_DLL GDALRegister_Terragen(void); -void CPL_DLL GDALRegister_WCS(void); -void CPL_DLL GDALRegister_WMS(void); -void CPL_DLL GDALRegister_HTTP(void); -void CPL_DLL GDALRegister_SDE(void); -void CPL_DLL GDALRegister_GSAG(void); -void CPL_DLL GDALRegister_GSBG(void); -void CPL_DLL GDALRegister_GS7BG(void); -void CPL_DLL GDALRegister_GRIB(void); -void CPL_DLL GDALRegister_INGR(void); -void CPL_DLL GDALRegister_ERS(void); -void CPL_DLL GDALRegister_PALSARJaxa(void); -void CPL_DLL GDALRegister_DIMAP(); -void CPL_DLL GDALRegister_GFF(void); -void CPL_DLL GDALRegister_COSAR(void); -void CPL_DLL GDALRegister_TSX(void); -void CPL_DLL GDALRegister_ADRG(void); -void CPL_DLL GDALRegister_SRP(void); -void CPL_DLL GDALRegister_COASP(void); -void CPL_DLL GDALRegister_BLX(void); -void CPL_DLL GDALRegister_LCP(void); -void CPL_DLL GDALRegister_TMS(void); -void CPL_DLL GDALRegister_EIR(void); -void CPL_DLL GDALRegister_GEOR(void); -void CPL_DLL GDALRegister_TIL(void); -void CPL_DLL GDALRegister_R(void); -void CPL_DLL GDALRegister_Rasterlite(void); -void CPL_DLL GDALRegister_EPSILON(void); -void CPL_DLL GDALRegister_PostGISRaster(void); -void CPL_DLL GDALRegister_NWT_GRD(void); -void CPL_DLL GDALRegister_NWT_GRC(void); -void CPL_DLL GDALRegister_SAGA(void); -void CPL_DLL GDALRegister_KMLSUPEROVERLAY(void); -void CPL_DLL GDALRegister_GTX(void); -void CPL_DLL GDALRegister_LOSLAS(void); -void CPL_DLL GDALRegister_Istar(void); -void CPL_DLL GDALRegister_NTv2(void); -void CPL_DLL GDALRegister_CTable2(void); -void CPL_DLL GDALRegister_JP2OpenJPEG(void); -void CPL_DLL GDALRegister_XYZ(void); -void CPL_DLL GDALRegister_HF2(void); -void CPL_DLL GDALRegister_PDF(void); -void CPL_DLL GDALRegister_JPEGLS(void); -void CPL_DLL GDALRegister_MAP(void); -void CPL_DLL GDALRegister_OZI(void); -void CPL_DLL GDALRegister_ACE2(void); -void CPL_DLL GDALRegister_CTG(void); -void CPL_DLL GDALRegister_E00GRID(void); -void CPL_DLL GDALRegister_SNODAS(void); -void CPL_DLL GDALRegister_WEBP(void); -void CPL_DLL GDALRegister_ZMap(void); -void CPL_DLL GDALRegister_NGSGEOID(void); -void CPL_DLL GDALRegister_MBTiles(void); -void CPL_DLL GDALRegister_ARG(void); -void CPL_DLL GDALRegister_IRIS(void); -void CPL_DLL GDALRegister_KRO(void); -void CPL_DLL GDALRegister_KEA(void); -void CPL_DLL GDALRegister_ROIPAC(void); -void CPL_DLL GDALRegister_PLMOSAIC(void); -void CPL_DLL GDALRegister_CALS(void); -void CPL_DLL GDALRegister_ISCE(void); -void CPL_DLL GDALRegister_WMTS(void); -void CPL_DLL GDALRegister_SAFE(void); -void CPL_DLL GDALRegister_SENTINEL2(void); -void CPL_DLL GDALRegister_mrf(void); -CPL_C_END - -#endif /* ndef GDAL_FRMTS_H_INCLUDED */ diff --git a/src/gdal/gdal_mdreader.h b/src/gdal/gdal_mdreader.h deleted file mode 100644 index 2c69a56a..00000000 --- a/src/gdal/gdal_mdreader.h +++ /dev/null @@ -1,207 +0,0 @@ -/****************************************************************************** - * $Id: gdal_mdreader.h 33694 2016-03-10 17:54:30Z goatbar $ - * - * Project: GDAL Core - * Purpose: Read metadata (mainly the remote sensing imagery) from files of - * different providers like DigitalGlobe, GeoEye etc. - * Author: Dmitry Baryshnikov, polimax@mail.ru - * - ****************************************************************************** - * Copyright (c) 2014-2015, NextGIS info@nextgis.ru - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_MDREADER_H_INCLUDED -#define GDAL_MDREADER_H_INCLUDED - - -#include "cpl_port.h" -#include "gdal_priv.h" - -#define MD_DOMAIN_IMD "IMD" /**< image metadata section */ -#define MD_DOMAIN_RPC "RPC" /**< rpc metadata section */ -#define MD_DOMAIN_IMAGERY "IMAGERY" /**< imagery metadata section */ -#define MD_DOMAIN_DEFAULT "" /**< default metadata section */ - -#define MD_NAME_ACQDATETIME "ACQUISITIONDATETIME" /**< Acquisition Date Time property name. The time should be in UTC */ -#define MD_NAME_SATELLITE "SATELLITEID" /**< Satellite identificator property name */ -#define MD_NAME_CLOUDCOVER "CLOUDCOVER" /**< Cloud coverage property name. The value between 0 - 100 or 999 if n/a */ -#define MD_NAME_MDTYPE "METADATATYPE" /**< Metadata reader type property name. The reader processed this metadata */ - -#define MD_DATETIMEFORMAT "%Y-%m-%d %H:%M:%S" /**< Date time format */ -#define MD_CLOUDCOVER_NA "999" /**< The value if cloud cover is n/a */ - -/** - * RPC/RPB specific defines - */ - -#define RPC_LINE_OFF "LINE_OFF" -#define RPC_SAMP_OFF "SAMP_OFF" -#define RPC_LAT_OFF "LAT_OFF" -#define RPC_LONG_OFF "LONG_OFF" -#define RPC_HEIGHT_OFF "HEIGHT_OFF" -#define RPC_LINE_SCALE "LINE_SCALE" -#define RPC_SAMP_SCALE "SAMP_SCALE" -#define RPC_LAT_SCALE "LAT_SCALE" -#define RPC_LONG_SCALE "LONG_SCALE" -#define RPC_HEIGHT_SCALE "HEIGHT_SCALE" -#define RPC_LINE_NUM_COEFF "LINE_NUM_COEFF" -#define RPC_LINE_DEN_COEFF "LINE_DEN_COEFF" -#define RPC_SAMP_NUM_COEFF "SAMP_NUM_COEFF" -#define RPC_SAMP_DEN_COEFF "SAMP_DEN_COEFF" - -/** - * Enumerator of metadata readers - */ - -typedef enum { - MDR_None = 0x00000000, /**< no reader */ - MDR_DG = 0x00000001, /**< Digital Globe, METADATATYPE=DG */ - MDR_GE = 0x00000002, /**< Geo Eye, METADATATYPE=GE */ - MDR_OV = 0x00000004, /**< Orb View, METADATATYPE=OV */ - MDR_PLEIADES = 0x00000008, /**< Pleiades, METADATATYPE=DIMAP */ - MDR_SPOT = 0x00000010, /**< Spot, METADATATYPE=DIMAP */ - MDR_RDK1 = 0x00000020, /**< Resurs DK1, METADATATYPE=MSP */ - MDR_LS = 0x00000040, /**< Landsat, METADATATYPE=ODL */ - MDR_RE = 0x00000080, /**< RapidEye, METADATATYPE=RE */ - MDR_KOMPSAT = 0x00000100, /**< Kompsat, METADATATYPE=KARI */ - MDR_EROS = 0x00000200, /**< EROS, METADATATYPE=EROS */ - MDR_ALOS = 0x00000400, /**< ALOS, METADATATYPE=ALOS */ - MDR_ANY = MDR_DG | MDR_GE | MDR_OV | MDR_PLEIADES | MDR_SPOT | MDR_RDK1 | - MDR_LS | MDR_RE | MDR_KOMPSAT | MDR_EROS | MDR_ALOS /**< any reader */ -} MDReaders; - - -/** - * The base class for all metadata readers - */ -class GDALMDReaderBase{ -public: - GDALMDReaderBase(const char *pszPath, char **papszSiblingFiles); - virtual ~GDALMDReaderBase(); - - /** - * @brief Get specified metadata domain - * @param pszDomain The metadata domain to return - * @return List of metadata items - */ - virtual char ** GetMetadataDomain(const char *pszDomain); - /** - * @brief Fill provided metadata store class - * @param poMDMD Metadata store class - * @return true on success or false - */ - virtual bool FillMetadata(GDALMultiDomainMetadata* poMDMD); - /** - * @brief Determine whether the input parameter correspond to the particular - * provider of remote sensing data completely - * @return True if all needed sources files found - */ - virtual bool HasRequiredFiles() const = 0; - /** - * @brief Get metadata file names. The caller become owner of returned list - * and have to free it via CSLDestroy. - * @return A file name list - */ - virtual char** GetMetadataFiles() const = 0; -protected: - /** - * @brief Load metadata to the correspondent IMD, RPB, IMAGERY and DEFAULT - * domains - */ - virtual void LoadMetadata(); - /** - * @brief Convert string like 2012-02-25T00:25:59.9440000Z to time - * @param pszDateTime String to convert - * @return value in time_t - */ - virtual time_t GetAcquisitionTimeFromString(const char* pszDateTime); - /** - * @brief ReadXMLToList Transform xml to list of NULL terminated name=value - * strings - * @param psNode A xml node to process - * @param papszList A list to fill with name=value strings - * @param pszName A name of parent node. For root xml node should be empty. - * If name is not empty, the sibling nodes will not proceed - * @return An input list filled with values - */ - virtual char** ReadXMLToList(CPLXMLNode* psNode, char** papszList, - const char* pszName = ""); - /** - * @brief AddXMLNameValueToList Execute from ReadXMLToList to add name and - * value to list. One can override this function for special - * processing input values before add to list. - * @param papszList A list to fill with name=value strings - * @param pszName A name to add - * @param pszValue A value to add - * @return An input list filled with values - */ - virtual char** AddXMLNameValueToList(char** papszList, const char *pszName, - const char *pszValue); -protected: - char **m_papszIMDMD; - char **m_papszRPCMD; - char **m_papszIMAGERYMD; - char **m_papszDEFAULTMD; - bool m_bIsMetadataLoad; -}; - -/** - * The metadata reader main class. - * The main purpose of this class is to provide an correspondent reader - * for provided path. - */ -class CPL_DLL GDALMDReaderManager{ -public: - GDALMDReaderManager(); - virtual ~GDALMDReaderManager(); - - /** - * @brief Try to detect metadata reader correspondent to the provided - * datasource path - * @param pszPath a path to GDALDataset - * @param papszSiblingFiles file list for metadata search purposes - * @param nType a preferable reader type (may be the OR of MDReaders) - * @return an appropriate reader or NULL if no such reader or error. - * The pointer delete by the GDALMDReaderManager, so the user have not - * delete it. - */ - virtual GDALMDReaderBase* GetReader(const char *pszPath, - char **papszSiblingFiles, - GUInt32 nType = MDR_ANY); -protected: - GDALMDReaderBase *m_pReader; -}; - -// misc -CPLString CPLStrip(const CPLString& osString, const char cChar); -CPLString CPLStripQuotes(const CPLString& osString); -char** GDALLoadRPBFile( const CPLString& osFilePath ); -char** GDALLoadRPCFile( const CPLString& osFilePath ); -char** GDALLoadIMDFile( const CPLString& osFilePath ); -bool GDALCheckFileHeader(const CPLString& soFilePath, - const char * pszTestString, - int nBufferSize = 256); - -CPLErr GDALWriteRPBFile( const char *pszFilename, char **papszMD ); -CPLErr GDALWriteRPCTXTFile( const char *pszFilename, char **papszMD ); -CPLErr GDALWriteIMDFile( const char *pszFilename, char **papszMD ); - -#endif //GDAL_MDREADER_H_INCLUDED diff --git a/src/gdal/gdal_pam.h b/src/gdal/gdal_pam.h deleted file mode 100644 index 83a14a0f..00000000 --- a/src/gdal/gdal_pam.h +++ /dev/null @@ -1,324 +0,0 @@ -/****************************************************************************** - * $Id: gdal_pam.h 33694 2016-03-10 17:54:30Z goatbar $ - * - * Project: GDAL Core - * Purpose: Declaration for Peristable Auxiliary Metadata classes. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 2005, Frank Warmerdam - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_PAM_H_INCLUDED -#define GDAL_PAM_H_INCLUDED - -#include "gdal_priv.h" - -class GDALPamRasterBand; - -/* Clone Info Flags */ - -#define GCIF_GEOTRANSFORM 0x01 -#define GCIF_PROJECTION 0x02 -#define GCIF_METADATA 0x04 -#define GCIF_GCPS 0x08 - -#define GCIF_NODATA 0x001000 -#define GCIF_CATEGORYNAMES 0x002000 -#define GCIF_MINMAX 0x004000 -#define GCIF_SCALEOFFSET 0x008000 -#define GCIF_UNITTYPE 0x010000 -#define GCIF_COLORTABLE 0x020000 -#define GCIF_COLORINTERP 0x020000 -#define GCIF_BAND_METADATA 0x040000 -#define GCIF_RAT 0x080000 -#define GCIF_MASK 0x100000 -#define GCIF_BAND_DESCRIPTION 0x200000 - -#define GCIF_ONLY_IF_MISSING 0x10000000 -#define GCIF_PROCESS_BANDS 0x20000000 - -#define GCIF_PAM_DEFAULT (GCIF_GEOTRANSFORM | GCIF_PROJECTION | \ - GCIF_METADATA | GCIF_GCPS | \ - GCIF_NODATA | GCIF_CATEGORYNAMES | \ - GCIF_MINMAX | GCIF_SCALEOFFSET | \ - GCIF_UNITTYPE | GCIF_COLORTABLE | \ - GCIF_COLORINTERP | GCIF_BAND_METADATA | \ - GCIF_RAT | GCIF_MASK | \ - GCIF_ONLY_IF_MISSING | GCIF_PROCESS_BANDS|\ - GCIF_BAND_DESCRIPTION) - -/* GDAL PAM Flags */ -/* ERO 2011/04/13 : GPF_AUXMODE seems to be unimplemented */ -#define GPF_DIRTY 0x01 // .pam file needs to be written on close -#define GPF_TRIED_READ_FAILED 0x02 // no need to keep trying to read .pam. -#define GPF_DISABLED 0x04 // do not try any PAM stuff. -#define GPF_AUXMODE 0x08 // store info in .aux (HFA) file. -#define GPF_NOSAVE 0x10 // do not try to save pam info. - -/* ==================================================================== */ -/* GDALDatasetPamInfo */ -/* */ -/* We make these things a separate structure of information */ -/* primarily so we can modify it without altering the size of */ -/* the GDALPamDataset. It is an effort to reduce ABI churn for */ -/* driver plugins. */ -/* ==================================================================== */ -class GDALDatasetPamInfo -{ -public: - char *pszPamFilename; - - char *pszProjection; - - int bHaveGeoTransform; - double adfGeoTransform[6]; - - int nGCPCount; - GDAL_GCP *pasGCPList; - char *pszGCPProjection; - - CPLString osPhysicalFilename; - CPLString osSubdatasetName; - CPLString osAuxFilename; - - int bHasMetadata; -}; - -/* ******************************************************************** */ -/* GDALPamDataset */ -/* ******************************************************************** */ - -class CPL_DLL GDALPamDataset : public GDALDataset -{ - friend class GDALPamRasterBand; - - private: - int IsPamFilenameAPotentialSiblingFile(); - - protected: - GDALPamDataset(void); - - int nPamFlags; - GDALDatasetPamInfo *psPam; - - virtual CPLXMLNode *SerializeToXML( const char *); - virtual CPLErr XMLInit( CPLXMLNode *, const char * ); - - virtual CPLErr TryLoadXML(char **papszSiblingFiles = NULL); - virtual CPLErr TrySaveXML(); - - CPLErr TryLoadAux(char **papszSiblingFiles = NULL); - CPLErr TrySaveAux(); - - virtual const char *BuildPamFilename(); - - void PamInitialize(); - void PamClear(); - - void SetPhysicalFilename( const char * ); - const char *GetPhysicalFilename(); - void SetSubdatasetName( const char *); - const char *GetSubdatasetName(); - - public: - virtual ~GDALPamDataset(); - - virtual void FlushCache(void); - - virtual const char *GetProjectionRef(void); - virtual CPLErr SetProjection( const char * ); - - virtual CPLErr GetGeoTransform( double * ); - virtual CPLErr SetGeoTransform( double * ); - - virtual int GetGCPCount(); - virtual const char *GetGCPProjection(); - virtual const GDAL_GCP *GetGCPs(); - virtual CPLErr SetGCPs( int nGCPCount, const GDAL_GCP *pasGCPList, - const char *pszGCPProjection ); - - virtual CPLErr SetMetadata( char ** papszMetadata, - const char * pszDomain = "" ); - virtual CPLErr SetMetadataItem( const char * pszName, - const char * pszValue, - const char * pszDomain = "" ); - virtual char **GetMetadata( const char * pszDomain = "" ); - virtual const char *GetMetadataItem( const char * pszName, - const char * pszDomain = "" ); - - virtual char **GetFileList(void); - - virtual CPLErr CloneInfo( GDALDataset *poSrcDS, int nCloneInfoFlags ); - - virtual CPLErr IBuildOverviews( const char *pszResampling, - int nOverviews, int *panOverviewList, - int nListBands, int *panBandList, - GDALProgressFunc pfnProgress, - void * pProgressData ); - - - // "semi private" methods. - void MarkPamDirty() { nPamFlags |= GPF_DIRTY; } - GDALDatasetPamInfo *GetPamInfo() { return psPam; } - int GetPamFlags() { return nPamFlags; } - void SetPamFlags(int nValue ) { nPamFlags = nValue; } - - private: - CPL_DISALLOW_COPY_ASSIGN(GDALPamDataset); -}; - -/* ==================================================================== */ -/* GDALRasterBandPamInfo */ -/* */ -/* We make these things a separate structure of information */ -/* primarily so we can modify it without altering the size of */ -/* the GDALPamDataset. It is an effort to reduce ABI churn for */ -/* driver plugins. */ -/* ==================================================================== */ -typedef struct { - GDALPamDataset *poParentDS; - - int bNoDataValueSet; - double dfNoDataValue; - - GDALColorTable *poColorTable; - - GDALColorInterp eColorInterp; - - char *pszUnitType; - char **papszCategoryNames; - - double dfOffset; - double dfScale; - - int bHaveMinMax; - double dfMin; - double dfMax; - - int bHaveStats; - double dfMean; - double dfStdDev; - - CPLXMLNode *psSavedHistograms; - - GDALRasterAttributeTable *poDefaultRAT; - -} GDALRasterBandPamInfo; - -/* ******************************************************************** */ -/* GDALPamRasterBand */ -/* ******************************************************************** */ -class CPL_DLL GDALPamRasterBand : public GDALRasterBand -{ - friend class GDALPamDataset; - - protected: - - virtual CPLXMLNode *SerializeToXML( const char *pszVRTPath ); - virtual CPLErr XMLInit( CPLXMLNode *, const char * ); - - void PamInitialize(); - void PamClear(); - - GDALRasterBandPamInfo *psPam; - - public: - GDALPamRasterBand(); - GDALPamRasterBand(int bForceCachedIO); - virtual ~GDALPamRasterBand(); - - virtual void SetDescription( const char * ); - - virtual CPLErr SetNoDataValue( double ); - virtual double GetNoDataValue( int *pbSuccess = NULL ); - virtual CPLErr DeleteNoDataValue(); - - virtual CPLErr SetColorTable( GDALColorTable * ); - virtual GDALColorTable *GetColorTable(); - - virtual CPLErr SetColorInterpretation( GDALColorInterp ); - virtual GDALColorInterp GetColorInterpretation(); - - virtual const char *GetUnitType(); - CPLErr SetUnitType( const char * ); - - virtual char **GetCategoryNames(); - virtual CPLErr SetCategoryNames( char ** ); - - virtual double GetOffset( int *pbSuccess = NULL ); - CPLErr SetOffset( double ); - virtual double GetScale( int *pbSuccess = NULL ); - CPLErr SetScale( double ); - - virtual CPLErr GetHistogram( double dfMin, double dfMax, - int nBuckets, GUIntBig * panHistogram, - int bIncludeOutOfRange, int bApproxOK, - GDALProgressFunc, void *pProgressData ); - - virtual CPLErr GetDefaultHistogram( double *pdfMin, double *pdfMax, - int *pnBuckets, GUIntBig ** ppanHistogram, - int bForce, - GDALProgressFunc, void *pProgressData); - - virtual CPLErr SetDefaultHistogram( double dfMin, double dfMax, - int nBuckets, GUIntBig *panHistogram ); - - virtual CPLErr SetMetadata( char ** papszMetadata, - const char * pszDomain = "" ); - virtual CPLErr SetMetadataItem( const char * pszName, - const char * pszValue, - const char * pszDomain = "" ); - - virtual GDALRasterAttributeTable *GetDefaultRAT(); - virtual CPLErr SetDefaultRAT( const GDALRasterAttributeTable * ); - - // new in GDALPamRasterBand. - virtual CPLErr CloneInfo( GDALRasterBand *poSrcBand, int nCloneInfoFlags ); - - // "semi private" methods. - GDALRasterBandPamInfo *GetPamInfo() { return psPam; } - - private: - CPL_DISALLOW_COPY_ASSIGN(GDALPamRasterBand); -}; - -// These are mainly helper functions for internal use. -int CPL_DLL PamParseHistogram( CPLXMLNode *psHistItem, - double *pdfMin, double *pdfMax, - int *pnBuckets, GUIntBig **ppanHistogram, - int *pbIncludeOutOfRange, int *pbApproxOK ); -CPLXMLNode CPL_DLL * -PamFindMatchingHistogram( CPLXMLNode *psSavedHistograms, - double dfMin, double dfMax, int nBuckets, - int bIncludeOutOfRange, int bApproxOK ); -CPLXMLNode CPL_DLL * -PamHistogramToXMLTree( double dfMin, double dfMax, - int nBuckets, GUIntBig * panHistogram, - int bIncludeOutOfRange, int bApprox ); - -// For managing the proxy file database. -const char CPL_DLL * PamGetProxy( const char * ); -const char CPL_DLL * PamAllocateProxy( const char * ); -const char CPL_DLL * PamDeallocateProxy( const char * ); -void CPL_DLL PamCleanProxyDB( void ); - -#endif /* ndef GDAL_PAM_H_INCLUDED */ diff --git a/src/gdal/gdal_priv.h b/src/gdal/gdal_priv.h deleted file mode 100644 index ecf6be43..00000000 --- a/src/gdal/gdal_priv.h +++ /dev/null @@ -1,1430 +0,0 @@ -/****************************************************************************** - * $Id: gdal_priv.h 35549 2016-09-29 22:56:53Z rouault $ - * - * Name: gdal_priv.h - * Project: GDAL Core - * Purpose: GDAL Core C++/Private declarations. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 1998, Frank Warmerdam - * Copyright (c) 2007-2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_PRIV_H_INCLUDED -#define GDAL_PRIV_H_INCLUDED - -/** - * \file gdal_priv.h - * - * C++ GDAL entry points. - */ - -/* -------------------------------------------------------------------- */ -/* Predeclare various classes before pulling in gdal.h, the */ -/* public declarations. */ -/* -------------------------------------------------------------------- */ -class GDALMajorObject; -class GDALDataset; -class GDALRasterBand; -class GDALDriver; -class GDALRasterAttributeTable; -class GDALProxyDataset; -class GDALProxyRasterBand; -class GDALAsyncReader; - -/* -------------------------------------------------------------------- */ -/* Pull in the public declarations. This gets the C apis, and */ -/* also various constants. However, we will still get to */ -/* provide the real class definitions for the GDAL classes. */ -/* -------------------------------------------------------------------- */ - -#include "gdal.h" -#include "gdal_frmts.h" -#include "cpl_vsi.h" -#include "cpl_conv.h" -#include "cpl_string.h" -#include "cpl_minixml.h" -#include "cpl_multiproc.h" -#include "cpl_atomic_ops.h" -#include -#include -#include "ogr_core.h" - -#define GMO_VALID 0x0001 -#define GMO_IGNORE_UNIMPLEMENTED 0x0002 -#define GMO_SUPPORT_MD 0x0004 -#define GMO_SUPPORT_MDMD 0x0008 -#define GMO_MD_DIRTY 0x0010 -#define GMO_PAM_CLASS 0x0020 - -/************************************************************************/ -/* GDALMultiDomainMetadata */ -/************************************************************************/ - -class CPL_DLL GDALMultiDomainMetadata -{ -private: - char **papszDomainList; - CPLStringList **papoMetadataLists; - -public: - GDALMultiDomainMetadata(); - ~GDALMultiDomainMetadata(); - - int XMLInit( CPLXMLNode *psMetadata, int bMerge ); - CPLXMLNode *Serialize(); - - char **GetDomainList() { return papszDomainList; } - - char **GetMetadata( const char * pszDomain = "" ); - CPLErr SetMetadata( char ** papszMetadata, - const char * pszDomain = "" ); - const char *GetMetadataItem( const char * pszName, - const char * pszDomain = "" ); - CPLErr SetMetadataItem( const char * pszName, - const char * pszValue, - const char * pszDomain = "" ); - - void Clear(); - - private: - CPL_DISALLOW_COPY_ASSIGN(GDALMultiDomainMetadata); -}; - -/* ******************************************************************** */ -/* GDALMajorObject */ -/* */ -/* Base class providing metadata, description and other */ -/* services shared by major objects. */ -/* ******************************************************************** */ - -//! Object with metadata. - -class CPL_DLL GDALMajorObject -{ - protected: - int nFlags; // GMO_* flags. - CPLString sDescription; - GDALMultiDomainMetadata oMDMD; - - char **BuildMetadataDomainList(char** papszList, int bCheckNonEmpty, ...) CPL_NULL_TERMINATED; - - public: - GDALMajorObject(); - virtual ~GDALMajorObject(); - - int GetMOFlags(); - void SetMOFlags(int nFlagsIn); - - virtual const char *GetDescription() const; - virtual void SetDescription( const char * ); - - virtual char **GetMetadataDomainList(); - - virtual char **GetMetadata( const char * pszDomain = "" ); - virtual CPLErr SetMetadata( char ** papszMetadata, - const char * pszDomain = "" ); - virtual const char *GetMetadataItem( const char * pszName, - const char * pszDomain = "" ); - virtual CPLErr SetMetadataItem( const char * pszName, - const char * pszValue, - const char * pszDomain = "" ); -}; - -/* ******************************************************************** */ -/* GDALDefaultOverviews */ -/* ******************************************************************** */ -class CPL_DLL GDALDefaultOverviews -{ - friend class GDALDataset; - - GDALDataset *poDS; - GDALDataset *poODS; - - CPLString osOvrFilename; - - int bOvrIsAux; - - int bCheckedForMask; - int bOwnMaskDS; - GDALDataset *poMaskDS; - - // for "overview datasets" we record base level info so we can - // find our way back to get overview masks. - GDALDataset *poBaseDS; - - // Stuff for deferred initialize/overviewscans... - bool bCheckedForOverviews; - void OverviewScan(); - char *pszInitName; - int bInitNameIsOVR; - char **papszInitSiblingFiles; - - public: - GDALDefaultOverviews(); - ~GDALDefaultOverviews(); - - void Initialize( GDALDataset *poDSIn, const char *pszName = NULL, - char **papszSiblingFiles = NULL, - int bNameIsOVR = FALSE ); - - void TransferSiblingFiles(char** papszSiblingFiles); - - int IsInitialized(); - - int CloseDependentDatasets(); - - // Overview Related - - int GetOverviewCount(int); - GDALRasterBand *GetOverview(int,int); - - CPLErr BuildOverviews( const char * pszBasename, - const char * pszResampling, - int nOverviews, int * panOverviewList, - int nBands, int * panBandList, - GDALProgressFunc pfnProgress, - void *pProgressData ); - - CPLErr BuildOverviewsSubDataset( const char * pszPhysicalFile, - const char * pszResampling, - int nOverviews, int * panOverviewList, - int nBands, int * panBandList, - GDALProgressFunc pfnProgress, - void *pProgressData ); - - CPLErr CleanOverviews(); - - // Mask Related - - CPLErr CreateMaskBand( int nFlags, int nBand = -1 ); - GDALRasterBand *GetMaskBand( int nBand ); - int GetMaskFlags( int nBand ); - - int HaveMaskFile( char **papszSiblings = NULL, - const char *pszBasename = NULL ); - - char** GetSiblingFiles() { return papszInitSiblingFiles; } - - private: - CPL_DISALLOW_COPY_ASSIGN(GDALDefaultOverviews); -}; - -/* ******************************************************************** */ -/* GDALOpenInfo */ -/* */ -/* Structure of data about dataset for open functions. */ -/* ******************************************************************** */ - -class CPL_DLL GDALOpenInfo -{ - bool bHasGotSiblingFiles; - char **papszSiblingFiles; - int nHeaderBytesTried; - - public: - GDALOpenInfo( const char * pszFile, int nOpenFlagsIn, - char **papszSiblingFiles = NULL ); - ~GDALOpenInfo( void ); - - char *pszFilename; - char** papszOpenOptions; - - GDALAccess eAccess; - int nOpenFlags; - - int bStatOK; - int bIsDirectory; - - VSILFILE *fpL; - - int nHeaderBytes; - GByte *pabyHeader; - - int TryToIngest(int nBytes); - char **GetSiblingFiles(); - char **StealSiblingFiles(); - bool AreSiblingFilesLoaded() const; - - private: - CPL_DISALLOW_COPY_ASSIGN(GDALOpenInfo); -}; - -/* ******************************************************************** */ -/* GDALDataset */ -/* ******************************************************************** */ - -class OGRLayer; -class OGRGeometry; -class OGRSpatialReference; -class OGRStyleTable; -class swq_select; -class swq_select_parse_options; -typedef struct GDALSQLParseInfo GDALSQLParseInfo; - -#ifdef DETECT_OLD_IRASTERIO -typedef void signature_changed; -#endif - -#ifdef GDAL_COMPILATION -#define OPTIONAL_OUTSIDE_GDAL(val) -#else -#define OPTIONAL_OUTSIDE_GDAL(val) = val -#endif - -//! A set of associated raster bands, usually from one file. - -class CPL_DLL GDALDataset : public GDALMajorObject -{ - friend GDALDatasetH CPL_STDCALL GDALOpenEx( const char* pszFilename, - unsigned int nOpenFlags, - const char* const* papszAllowedDrivers, - const char* const* papszOpenOptions, - const char* const* papszSiblingFiles ); - friend void CPL_STDCALL GDALClose( GDALDatasetH hDS ); - - friend class GDALDriver; - friend class GDALDefaultOverviews; - friend class GDALProxyDataset; - friend class GDALDriverManager; - - void AddToDatasetOpenList(); - - void Init(int bForceCachedIO); - - protected: - GDALDriver *poDriver; - GDALAccess eAccess; - - // Stored raster information. - int nRasterXSize; - int nRasterYSize; - int nBands; - GDALRasterBand **papoBands; - - int nOpenFlags; - - int nRefCount; - GByte bForceCachedIO; - GByte bShared; - GByte bIsInternal; - GByte bSuppressOnClose; - - GDALDataset(void); - GDALDataset(int bForceCachedIO); - - void RasterInitialize( int, int ); - void SetBand( int, GDALRasterBand * ); - - GDALDefaultOverviews oOvManager; - - virtual CPLErr IBuildOverviews( const char *, int, int *, - int, int *, GDALProgressFunc, void * ); - -#ifdef DETECT_OLD_IRASTERIO - virtual signature_changed IRasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - int, int *, int, int, int ) {}; -#endif - - virtual CPLErr IRasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - int, int *, GSpacing, GSpacing, GSpacing, - GDALRasterIOExtraArg* psExtraArg ) CPL_WARN_UNUSED_RESULT; - - CPLErr BlockBasedRasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - int, int *, GSpacing, GSpacing, GSpacing, - GDALRasterIOExtraArg* psExtraArg ) CPL_WARN_UNUSED_RESULT; - void BlockBasedFlushCache(); - - CPLErr BandBasedRasterIO( GDALRWFlag eRWFlag, - int nXOff, int nYOff, int nXSize, int nYSize, - void * pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - int nBandCount, int *panBandMap, - GSpacing nPixelSpace, GSpacing nLineSpace, - GSpacing nBandSpace, - GDALRasterIOExtraArg* psExtraArg ) CPL_WARN_UNUSED_RESULT; - - CPLErr RasterIOResampled( GDALRWFlag eRWFlag, - int nXOff, int nYOff, int nXSize, int nYSize, - void * pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - int nBandCount, int *panBandMap, - GSpacing nPixelSpace, GSpacing nLineSpace, - GSpacing nBandSpace, - GDALRasterIOExtraArg* psExtraArg ) CPL_WARN_UNUSED_RESULT; - - CPLErr ValidateRasterIOOrAdviseReadParameters( - const char* pszCallingFunc, - int* pbStopProcessingOnCENone, - int nXOff, int nYOff, int nXSize, int nYSize, - int nBufXSize, int nBufYSize, - int nBandCount, int *panBandMap); - - CPLErr TryOverviewRasterIO( GDALRWFlag eRWFlag, - int nXOff, int nYOff, int nXSize, int nYSize, - void * pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - int nBandCount, int *panBandMap, - GSpacing nPixelSpace, GSpacing nLineSpace, - GSpacing nBandSpace, - GDALRasterIOExtraArg* psExtraArg, - int* pbTried); - - virtual int CloseDependentDatasets(); - - int ValidateLayerCreationOptions( const char* const* papszLCO ); - - char **papszOpenOptions; - - friend class GDALRasterBand; - - // The below methods related to read write mutex are fragile logic, and - // should not be used by out-of-tree code if possible. - int EnterReadWrite(GDALRWFlag eRWFlag); - void LeaveReadWrite(); - void InitRWLock(); - - void TemporarilyDropReadWriteLock(); - void ReacquireReadWriteLock(); - - void DisableReadWriteMutex(); - - int AcquireMutex(); - void ReleaseMutex(); - - public: - virtual ~GDALDataset(); - - int GetRasterXSize( void ); - int GetRasterYSize( void ); - int GetRasterCount( void ); - GDALRasterBand *GetRasterBand( int ); - - virtual void FlushCache(void); - - virtual const char *GetProjectionRef(void); - virtual CPLErr SetProjection( const char * ); - - virtual CPLErr GetGeoTransform( double * ); - virtual CPLErr SetGeoTransform( double * ); - - virtual CPLErr AddBand( GDALDataType eType, - char **papszOptions=NULL ); - - virtual void *GetInternalHandle( const char * ); - virtual GDALDriver *GetDriver(void); - virtual char **GetFileList(void); - - virtual const char* GetDriverName(); - - virtual int GetGCPCount(); - virtual const char *GetGCPProjection(); - virtual const GDAL_GCP *GetGCPs(); - virtual CPLErr SetGCPs( int nGCPCount, const GDAL_GCP *pasGCPList, - const char *pszGCPProjection ); - - virtual CPLErr AdviseRead( int nXOff, int nYOff, int nXSize, int nYSize, - int nBufXSize, int nBufYSize, - GDALDataType eDT, - int nBandCount, int *panBandList, - char **papszOptions ); - - virtual CPLErr CreateMaskBand( int nFlagsIn ); - - virtual GDALAsyncReader* - BeginAsyncReader(int nXOff, int nYOff, int nXSize, int nYSize, - void *pBuf, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - int nBandCount, int* panBandMap, - int nPixelSpace, int nLineSpace, int nBandSpace, - char **papszOptions); - virtual void EndAsyncReader(GDALAsyncReader *); - - CPLErr RasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - int, int *, GSpacing, GSpacing, GSpacing, - GDALRasterIOExtraArg* psExtraArg -#ifndef DOXYGEN_SKIP - OPTIONAL_OUTSIDE_GDAL(NULL) -#endif - ) CPL_WARN_UNUSED_RESULT; - - int Reference(); - int Dereference(); - GDALAccess GetAccess() const { return eAccess; } - - int GetShared(); - void MarkAsShared(); - - void MarkSuppressOnClose() { bSuppressOnClose = TRUE; } - - char **GetOpenOptions() { return papszOpenOptions; } - - static GDALDataset **GetOpenDatasets( int *pnDatasetCount ); - - CPLErr BuildOverviews( const char *, int, int *, - int, int *, GDALProgressFunc, void * ); - - void ReportError(CPLErr eErrClass, CPLErrorNum err_no, const char *fmt, ...) CPL_PRINT_FUNC_FORMAT (4, 5); - -private: - void *m_hPrivateData; - - OGRLayer* BuildLayerFromSelectInfo(swq_select* psSelectInfo, - OGRGeometry *poSpatialFilter, - const char *pszDialect, - swq_select_parse_options* poSelectParseOptions); - - public: - - virtual int GetLayerCount(); - virtual OGRLayer *GetLayer(int); - virtual OGRLayer *GetLayerByName(const char *); - virtual OGRErr DeleteLayer(int); - - virtual int TestCapability( const char * ); - - virtual OGRLayer *CreateLayer( const char *pszName, - OGRSpatialReference *poSpatialRef = NULL, - OGRwkbGeometryType eGType = wkbUnknown, - char ** papszOptions = NULL ); - virtual OGRLayer *CopyLayer( OGRLayer *poSrcLayer, - const char *pszNewName, - char **papszOptions = NULL ); - - virtual OGRStyleTable *GetStyleTable(); - virtual void SetStyleTableDirectly( OGRStyleTable *poStyleTable ); - - virtual void SetStyleTable(OGRStyleTable *poStyleTable); - - virtual OGRLayer * ExecuteSQL( const char *pszStatement, - OGRGeometry *poSpatialFilter, - const char *pszDialect ); - virtual void ReleaseResultSet( OGRLayer * poResultsSet ); - - int GetRefCount() const; - int GetSummaryRefCount() const; - OGRErr Release(); - - virtual OGRErr StartTransaction(int bForce=FALSE); - virtual OGRErr CommitTransaction(); - virtual OGRErr RollbackTransaction(); - - static int IsGenericSQLDialect(const char* pszDialect); - - // Semi-public methods. Only to be used by in-tree drivers. - GDALSQLParseInfo* BuildParseInfo(swq_select* psSelectInfo, - swq_select_parse_options* poSelectParseOptions); - void DestroyParseInfo(GDALSQLParseInfo* psParseInfo ); - OGRLayer * ExecuteSQL( const char *pszStatement, - OGRGeometry *poSpatialFilter, - const char *pszDialect, - swq_select_parse_options* poSelectParseOptions); - - protected: - - virtual OGRLayer *ICreateLayer( const char *pszName, - OGRSpatialReference *poSpatialRef = NULL, - OGRwkbGeometryType eGType = wkbUnknown, - char ** papszOptions = NULL ); - - OGRErr ProcessSQLCreateIndex( const char * ); - OGRErr ProcessSQLDropIndex( const char * ); - OGRErr ProcessSQLDropTable( const char * ); - OGRErr ProcessSQLAlterTableAddColumn( const char * ); - OGRErr ProcessSQLAlterTableDropColumn( const char * ); - OGRErr ProcessSQLAlterTableAlterColumn( const char * ); - OGRErr ProcessSQLAlterTableRenameColumn( const char * ); - - OGRStyleTable *m_poStyleTable; - - private: - CPL_DISALLOW_COPY_ASSIGN(GDALDataset); -}; - -/* ******************************************************************** */ -/* GDALRasterBlock */ -/* ******************************************************************** */ - -//! A single raster block in the block cache. -// And the global block manager that manages a least-recently-used list of -// blocks from various datasets/bands - -class CPL_DLL GDALRasterBlock -{ - friend class GDALAbstractBandBlockCache; - - GDALDataType eType; - - int bDirty; - volatile int nLockCount; - - int nXOff; - int nYOff; - - int nXSize; - int nYSize; - - void *pData; - - GDALRasterBand *poBand; - - GDALRasterBlock *poNext; - GDALRasterBlock *poPrevious; - - int bMustDetach; - - void Detach_unlocked( void ); - void Touch_unlocked( void ); - - void RecycleFor( int nXOffIn, int nYOffIn ); - - public: - GDALRasterBlock( GDALRasterBand *, int, int ); - GDALRasterBlock( int nXOffIn, int nYOffIn ); /* only for lookup purpose */ - virtual ~GDALRasterBlock(); - - CPLErr Internalize( void ); - void Touch( void ); - void MarkDirty( void ); - void MarkClean( void ); - int AddLock( void ) { return CPLAtomicInc(&nLockCount); } - int DropLock( void ) { return CPLAtomicDec(&nLockCount); } - void Detach(); - - CPLErr Write(); - - GDALDataType GetDataType() const { return eType; } - int GetXOff() const { return nXOff; } - int GetYOff() const { return nYOff; } - int GetXSize() const { return nXSize; } - int GetYSize() const { return nYSize; } - int GetDirty() const { return bDirty; } - - void *GetDataRef( void ) { return pData; } - int GetBlockSize() const { - return nXSize * nYSize * GDALGetDataTypeSizeBytes(eType); } - - int TakeLock(); - int DropLockForRemovalFromStorage(); - - /// @brief Accessor to source GDALRasterBand object. - /// @return source raster band of the raster block. - GDALRasterBand *GetBand() { return poBand; } - - static void FlushDirtyBlocks(); - static int FlushCacheBlock(int bDirtyBlocksOnly = FALSE); - static void Verify(); - -#ifdef notdef - static void CheckNonOrphanedBlocks(GDALRasterBand* poBand); - void DumpBlock(); - static void DumpAll(); -#endif - - /* Should only be called by GDALDestroyDriverManager() */ - static void DestroyRBMutex(); - - private: - CPL_DISALLOW_COPY_ASSIGN(GDALRasterBlock); -}; - -/* ******************************************************************** */ -/* GDALColorTable */ -/* ******************************************************************** */ - -/*! A color table / palette. */ - -class CPL_DLL GDALColorTable -{ - GDALPaletteInterp eInterp; - - std::vector aoEntries; - -public: - GDALColorTable( GDALPaletteInterp = GPI_RGB ); - ~GDALColorTable(); - - GDALColorTable *Clone() const; - int IsSame(const GDALColorTable* poOtherCT) const; - - GDALPaletteInterp GetPaletteInterpretation() const; - - int GetColorEntryCount() const; - const GDALColorEntry *GetColorEntry( int ) const; - int GetColorEntryAsRGB( int, GDALColorEntry * ) const; - void SetColorEntry( int, const GDALColorEntry * ); - int CreateColorRamp( int, const GDALColorEntry * , - int, const GDALColorEntry * ); -}; - -/* ******************************************************************** */ -/* GDALAbstractBandBlockCache */ -/* ******************************************************************** */ - -//! This manages how a raster band store its cached block. -// CPL_DLL is just technical here. This is really a private concept -// only used by GDALRasterBand implementation. - -class CPL_DLL GDALAbstractBandBlockCache -{ - // List of blocks that can be freed or recycled, and its lock - CPLLock *hSpinLock; - GDALRasterBlock *psListBlocksToFree; - - // Band keep alive counter, and its lock & condition - CPLCond *hCond; - CPLMutex *hCondMutex; - volatile int nKeepAliveCounter; - - protected: - GDALRasterBand *poBand; - - void FreeDanglingBlocks(); - void UnreferenceBlockBase(); - void WaitKeepAliveCounter(); - - public: - GDALAbstractBandBlockCache(GDALRasterBand* poBand); - virtual ~GDALAbstractBandBlockCache(); - - GDALRasterBlock* CreateBlock(int nXBlockOff, int nYBlockOff); - void AddBlockToFreeList( GDALRasterBlock * ); - - virtual bool Init() = 0; - virtual bool IsInitOK() = 0; - virtual CPLErr FlushCache() = 0; - virtual CPLErr AdoptBlock( GDALRasterBlock* poBlock ) = 0; - virtual GDALRasterBlock *TryGetLockedBlockRef( int nXBlockOff, - int nYBlockYOff ) = 0; - virtual CPLErr UnreferenceBlock( GDALRasterBlock* poBlock ) = 0; - virtual CPLErr FlushBlock( int nXBlockOff, int nYBlockOff, - int bWriteDirtyBlock ) = 0; -}; - -GDALAbstractBandBlockCache* GDALArrayBandBlockCacheCreate(GDALRasterBand* poBand); -GDALAbstractBandBlockCache* GDALHashSetBandBlockCacheCreate(GDALRasterBand* poBand); - -/* ******************************************************************** */ -/* GDALRasterBand */ -/* ******************************************************************** */ - -//! A single raster band (or channel). - -class CPL_DLL GDALRasterBand : public GDALMajorObject -{ - private: - friend class GDALArrayBandBlockCache; - friend class GDALHashSetBandBlockCache; - friend class GDALRasterBlock; - - CPLErr eFlushBlockErr; - GDALAbstractBandBlockCache* poBandBlockCache; - - void SetFlushBlockErr( CPLErr eErr ); - CPLErr UnreferenceBlock( GDALRasterBlock* poBlock ); - - void Init(int bForceCachedIO); - - protected: - GDALDataset *poDS; - int nBand; /* 1 based */ - - int nRasterXSize; - int nRasterYSize; - - GDALDataType eDataType; - GDALAccess eAccess; - - /* stuff related to blocking, and raster cache */ - int nBlockXSize; - int nBlockYSize; - int nBlocksPerRow; - int nBlocksPerColumn; - - int nBlockReads; - int bForceCachedIO; - - GDALRasterBand *poMask; - bool bOwnMask; - int nMaskFlags; - - void InvalidateMaskBand(); - - friend class GDALDataset; - friend class GDALProxyRasterBand; - friend class GDALDefaultOverviews; - - CPLErr RasterIOResampled( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - GSpacing, GSpacing, GDALRasterIOExtraArg* psExtraArg ) CPL_WARN_UNUSED_RESULT; - - int EnterReadWrite(GDALRWFlag eRWFlag); - void LeaveReadWrite(); - void InitRWLock(); - - protected: - virtual CPLErr IReadBlock( int, int, void * ) = 0; - virtual CPLErr IWriteBlock( int, int, void * ); - -#ifdef DETECT_OLD_IRASTERIO - virtual signature_changed IRasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - int, int ) {}; -#endif - - virtual CPLErr IRasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - GSpacing, GSpacing, GDALRasterIOExtraArg* psExtraArg ) CPL_WARN_UNUSED_RESULT; - CPLErr OverviewRasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - GSpacing, GSpacing, GDALRasterIOExtraArg* psExtraArg ) CPL_WARN_UNUSED_RESULT; - - CPLErr TryOverviewRasterIO( GDALRWFlag eRWFlag, - int nXOff, int nYOff, int nXSize, int nYSize, - void * pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - GSpacing nPixelSpace, GSpacing nLineSpace, - GDALRasterIOExtraArg* psExtraArg, - int* pbTried ); - - int InitBlockInfo(); - - CPLErr AdoptBlock( GDALRasterBlock * ); - GDALRasterBlock *TryGetLockedBlockRef( int nXBlockOff, int nYBlockYOff ); - void AddBlockToFreeList( GDALRasterBlock * ); - - public: - GDALRasterBand(); - GDALRasterBand(int bForceCachedIO); - - virtual ~GDALRasterBand(); - - int GetXSize(); - int GetYSize(); - int GetBand(); - GDALDataset*GetDataset(); - - GDALDataType GetRasterDataType( void ); - void GetBlockSize( int *, int * ); - GDALAccess GetAccess(); - - CPLErr RasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - GSpacing, GSpacing, GDALRasterIOExtraArg* psExtraArg -#ifndef DOXYGEN_SKIP - OPTIONAL_OUTSIDE_GDAL(NULL) -#endif - ) CPL_WARN_UNUSED_RESULT; - CPLErr ReadBlock( int, int, void * ) CPL_WARN_UNUSED_RESULT; - - CPLErr WriteBlock( int, int, void * ) CPL_WARN_UNUSED_RESULT; - - GDALRasterBlock *GetLockedBlockRef( int nXBlockOff, int nYBlockOff, - int bJustInitialize = FALSE ) CPL_WARN_UNUSED_RESULT; - CPLErr FlushBlock( int, int, int bWriteDirtyBlock = TRUE ); - - unsigned char* GetIndexColorTranslationTo(/* const */ GDALRasterBand* poReferenceBand, - unsigned char* pTranslationTable = NULL, - int* pApproximateMatching = NULL); - - // New OpengIS CV_SampleDimension stuff. - - virtual CPLErr FlushCache(); - virtual char **GetCategoryNames(); - virtual double GetNoDataValue( int *pbSuccess = NULL ); - virtual double GetMinimum( int *pbSuccess = NULL ); - virtual double GetMaximum(int *pbSuccess = NULL ); - virtual double GetOffset( int *pbSuccess = NULL ); - virtual double GetScale( int *pbSuccess = NULL ); - virtual const char *GetUnitType(); - virtual GDALColorInterp GetColorInterpretation(); - virtual GDALColorTable *GetColorTable(); - virtual CPLErr Fill(double dfRealValue, double dfImaginaryValue = 0); - - virtual CPLErr SetCategoryNames( char ** ); - virtual CPLErr SetNoDataValue( double ); - virtual CPLErr DeleteNoDataValue(); - virtual CPLErr SetColorTable( GDALColorTable * ); - virtual CPLErr SetColorInterpretation( GDALColorInterp ); - virtual CPLErr SetOffset( double ); - virtual CPLErr SetScale( double ); - virtual CPLErr SetUnitType( const char * ); - - virtual CPLErr GetStatistics( int bApproxOK, int bForce, - double *pdfMin, double *pdfMax, - double *pdfMean, double *padfStdDev ); - virtual CPLErr ComputeStatistics( int bApproxOK, - double *pdfMin, double *pdfMax, - double *pdfMean, double *pdfStdDev, - GDALProgressFunc, void *pProgressData ); - virtual CPLErr SetStatistics( double dfMin, double dfMax, - double dfMean, double dfStdDev ); - virtual CPLErr ComputeRasterMinMax( int, double* ); - - virtual int HasArbitraryOverviews(); - virtual int GetOverviewCount(); - virtual GDALRasterBand *GetOverview(int); - virtual GDALRasterBand *GetRasterSampleOverview( GUIntBig ); - virtual CPLErr BuildOverviews( const char *, int, int *, - GDALProgressFunc, void * ); - - virtual CPLErr AdviseRead( int nXOff, int nYOff, int nXSize, int nYSize, - int nBufXSize, int nBufYSize, - GDALDataType eDT, char **papszOptions ); - - virtual CPLErr GetHistogram( double dfMin, double dfMax, - int nBuckets, GUIntBig * panHistogram, - int bIncludeOutOfRange, int bApproxOK, - GDALProgressFunc, void *pProgressData ); - - virtual CPLErr GetDefaultHistogram( double *pdfMin, double *pdfMax, - int *pnBuckets, GUIntBig ** ppanHistogram, - int bForce, - GDALProgressFunc, void *pProgressData); - virtual CPLErr SetDefaultHistogram( double dfMin, double dfMax, - int nBuckets, GUIntBig *panHistogram ); - - virtual GDALRasterAttributeTable *GetDefaultRAT(); - virtual CPLErr SetDefaultRAT( const GDALRasterAttributeTable * ); - - virtual GDALRasterBand *GetMaskBand(); - virtual int GetMaskFlags(); - virtual CPLErr CreateMaskBand( int nFlagsIn ); - - virtual CPLVirtualMem *GetVirtualMemAuto( GDALRWFlag eRWFlag, - int *pnPixelSpace, - GIntBig *pnLineSpace, - char **papszOptions ) CPL_WARN_UNUSED_RESULT; - - void ReportError(CPLErr eErrClass, CPLErrorNum err_no, const char *fmt, ...) CPL_PRINT_FUNC_FORMAT (4, 5); - -private: - CPL_DISALLOW_COPY_ASSIGN(GDALRasterBand); -}; - -/* ******************************************************************** */ -/* GDALAllValidMaskBand */ -/* ******************************************************************** */ - -class CPL_DLL GDALAllValidMaskBand : public GDALRasterBand -{ - protected: - virtual CPLErr IReadBlock( int, int, void * ); - - public: - GDALAllValidMaskBand( GDALRasterBand * ); - virtual ~GDALAllValidMaskBand(); - - virtual GDALRasterBand *GetMaskBand(); - virtual int GetMaskFlags(); -}; - -/* ******************************************************************** */ -/* GDALNoDataMaskBand */ -/* ******************************************************************** */ - -class CPL_DLL GDALNoDataMaskBand : public GDALRasterBand -{ - double dfNoDataValue; - GDALRasterBand *poParent; - - protected: - virtual CPLErr IReadBlock( int, int, void * ); - virtual CPLErr IRasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - GSpacing, GSpacing, GDALRasterIOExtraArg* psExtraArg ); - - public: - GDALNoDataMaskBand( GDALRasterBand * ); - virtual ~GDALNoDataMaskBand(); -}; - -/* ******************************************************************** */ -/* GDALNoDataValuesMaskBand */ -/* ******************************************************************** */ - -class CPL_DLL GDALNoDataValuesMaskBand : public GDALRasterBand -{ - double *padfNodataValues; - - protected: - virtual CPLErr IReadBlock( int, int, void * ); - - public: - GDALNoDataValuesMaskBand( GDALDataset * ); - virtual ~GDALNoDataValuesMaskBand(); -}; - -/* ******************************************************************** */ -/* GDALRescaledAlphaBand */ -/* ******************************************************************** */ - -class GDALRescaledAlphaBand : public GDALRasterBand -{ - GDALRasterBand *poParent; - void *pTemp; - - protected: - virtual CPLErr IReadBlock( int, int, void * ); - virtual CPLErr IRasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - GSpacing, GSpacing, GDALRasterIOExtraArg* psExtraArg ); - - public: - GDALRescaledAlphaBand( GDALRasterBand * ); - virtual ~GDALRescaledAlphaBand(); -}; - -/* ******************************************************************** */ -/* GDALIdentifyEnum */ -/* ******************************************************************** */ - -/** - * Enumeration used by GDALDriver::pfnIdentify(). - * - * @since GDAL 2.1 - */ -typedef enum -{ - /** Identify could not determine if the file is recognized or not by the probed driver. */ - GDAL_IDENTIFY_UNKNOWN = -1, - /** Identify determined the file is not recognized by the probed driver. */ - GDAL_IDENTIFY_FALSE = 0, - /** Identify determined the file is recognized by the probed driver. */ - GDAL_IDENTIFY_TRUE = 1 -} GDALIdentifyEnum; - -/* ******************************************************************** */ -/* GDALDriver */ -/* ******************************************************************** */ - - -/** - * \brief Format specific driver. - * - * An instance of this class is created for each supported format, and - * manages information about the format. - * - * This roughly corresponds to a file format, though some - * drivers may be gateways to many formats through a secondary - * multi-library. - */ - -class CPL_DLL GDALDriver : public GDALMajorObject -{ - public: - GDALDriver(); - ~GDALDriver(); - - virtual CPLErr SetMetadataItem( const char * pszName, - const char * pszValue, - const char * pszDomain = "" ); - -/* -------------------------------------------------------------------- */ -/* Public C++ methods. */ -/* -------------------------------------------------------------------- */ - GDALDataset *Create( const char * pszName, - int nXSize, int nYSize, int nBands, - GDALDataType eType, char ** papszOptions ) CPL_WARN_UNUSED_RESULT; - - CPLErr Delete( const char * pszName ); - CPLErr Rename( const char * pszNewName, - const char * pszOldName ); - CPLErr CopyFiles( const char * pszNewName, - const char * pszOldName ); - - GDALDataset *CreateCopy( const char *, GDALDataset *, - int, char **, - GDALProgressFunc pfnProgress, - void * pProgressData ) CPL_WARN_UNUSED_RESULT; - -/* -------------------------------------------------------------------- */ -/* The following are semiprivate, not intended to be accessed */ -/* by anyone but the formats instantiating and populating the */ -/* drivers. */ -/* -------------------------------------------------------------------- */ - GDALDataset *(*pfnOpen)( GDALOpenInfo * ); - - GDALDataset *(*pfnCreate)( const char * pszName, - int nXSize, int nYSize, int nBands, - GDALDataType eType, - char ** papszOptions ); - - CPLErr (*pfnDelete)( const char * pszName ); - - GDALDataset *(*pfnCreateCopy)( const char *, GDALDataset *, - int, char **, - GDALProgressFunc pfnProgress, - void * pProgressData ); - - void *pDriverData; - - void (*pfnUnloadDriver)(GDALDriver *); - - /** Identify() if the file is recognized or not by the driver. - - Return GDAL_IDENTIFY_TRUE (1) if the passed file is certainly recognized by the driver. - Return GDAL_IDENTIFY_FALSE (0) if the passed file is certainly NOT recognized by the driver. - Return GDAL_IDENTIFY_UNKNOWN (-1) if the passed file may be or may not be recognized by the driver, - and that a potentially costly test must be done with pfnOpen. - */ - int (*pfnIdentify)( GDALOpenInfo * ); - - CPLErr (*pfnRename)( const char * pszNewName, - const char * pszOldName ); - CPLErr (*pfnCopyFiles)( const char * pszNewName, - const char * pszOldName ); - - /* For legacy OGR drivers */ - GDALDataset *(*pfnOpenWithDriverArg)( GDALDriver*, GDALOpenInfo * ); - GDALDataset *(*pfnCreateVectorOnly)( GDALDriver*, - const char * pszName, - char ** papszOptions ); - CPLErr (*pfnDeleteDataSource)( GDALDriver*, - const char * pszName ); - -/* -------------------------------------------------------------------- */ -/* Helper methods. */ -/* -------------------------------------------------------------------- */ - GDALDataset *DefaultCreateCopy( const char *, GDALDataset *, - int, char **, - GDALProgressFunc pfnProgress, - void * pProgressData ) CPL_WARN_UNUSED_RESULT; - static CPLErr DefaultCopyMasks( GDALDataset *poSrcDS, - GDALDataset *poDstDS, - int bStrict ); - static CPLErr QuietDelete( const char * pszName ); - - CPLErr DefaultRename( const char * pszNewName, - const char * pszOldName ); - CPLErr DefaultCopyFiles( const char * pszNewName, - const char * pszOldName ); -private: - CPL_DISALLOW_COPY_ASSIGN(GDALDriver); -}; - -/* ******************************************************************** */ -/* GDALDriverManager */ -/* ******************************************************************** */ - -/** - * Class for managing the registration of file format drivers. - * - * Use GetGDALDriverManager() to fetch the global singleton instance of - * this class. - */ - -class CPL_DLL GDALDriverManager : public GDALMajorObject -{ - int nDrivers; - GDALDriver **papoDrivers; - std::map oMapNameToDrivers; - - GDALDriver *GetDriver_unlocked( int iDriver ) - { return (iDriver >= 0 && iDriver < nDrivers) ? papoDrivers[iDriver] : NULL; } - - GDALDriver *GetDriverByName_unlocked( const char * pszName ) - { return oMapNameToDrivers[CPLString(pszName).toupper()]; } - - public: - GDALDriverManager(); - ~GDALDriverManager(); - - int GetDriverCount( void ); - GDALDriver *GetDriver( int ); - GDALDriver *GetDriverByName( const char * ); - - int RegisterDriver( GDALDriver * ); - void DeregisterDriver( GDALDriver * ); - - // AutoLoadDrivers is a no-op if compiled with GDAL_NO_AUTOLOAD defined. - void AutoLoadDrivers(); - void AutoSkipDrivers(); -}; - -CPL_C_START -GDALDriverManager CPL_DLL * GetGDALDriverManager( void ); -CPL_C_END - -/* ******************************************************************** */ -/* GDALAsyncReader */ -/* ******************************************************************** */ - -/** - * Class used as a session object for asynchronous requests. They are - * created with GDALDataset::BeginAsyncReader(), and destroyed with - * GDALDataset::EndAsyncReader(). - */ -class CPL_DLL GDALAsyncReader -{ - protected: - GDALDataset* poDS; - int nXOff; - int nYOff; - int nXSize; - int nYSize; - void * pBuf; - int nBufXSize; - int nBufYSize; - GDALDataType eBufType; - int nBandCount; - int* panBandMap; - int nPixelSpace; - int nLineSpace; - int nBandSpace; - - public: - GDALAsyncReader(); - virtual ~GDALAsyncReader(); - - GDALDataset* GetGDALDataset() {return poDS;} - int GetXOffset() const { return nXOff; } - int GetYOffset() const { return nYOff; } - int GetXSize() const { return nXSize; } - int GetYSize() const { return nYSize; } - void * GetBuffer() {return pBuf;} - int GetBufferXSize() const { return nBufXSize; } - int GetBufferYSize() const { return nBufYSize; } - GDALDataType GetBufferType() const { return eBufType; } - int GetBandCount() const { return nBandCount; } - int* GetBandMap() { return panBandMap; } - int GetPixelSpace() const { return nPixelSpace; } - int GetLineSpace() const { return nLineSpace; } - int GetBandSpace() const { return nBandSpace; } - - virtual GDALAsyncStatusType - GetNextUpdatedRegion(double dfTimeout, - int* pnBufXOff, int* pnBufYOff, - int* pnBufXSize, int* pnBufYSize) = 0; - virtual int LockBuffer( double dfTimeout = -1.0 ); - virtual void UnlockBuffer(); -}; - -/* ==================================================================== */ -/* An assortment of overview related stuff. */ -/* ==================================================================== */ - -/* Only exported for drivers as plugin. Signature may change */ -CPLErr CPL_DLL -GDALRegenerateOverviewsMultiBand(int nBands, GDALRasterBand** papoSrcBands, - int nOverviews, - GDALRasterBand*** papapoOverviewBands, - const char * pszResampling, - GDALProgressFunc pfnProgress, void * pProgressData ); - -typedef CPLErr (*GDALResampleFunction) - ( double dfXRatioDstToSrc, - double dfYRatioDstToSrc, - double dfSrcXDelta, - double dfSrcYDelta, - GDALDataType eWrkDataType, - void * pChunk, - GByte * pabyChunkNodataMask, - int nChunkXOff, int nChunkXSize, - int nChunkYOff, int nChunkYSize, - int nDstXOff, int nDstXOff2, - int nDstYOff, int nDstYOff2, - GDALRasterBand * poOverview, - const char * pszResampling, - int bHasNoData, float fNoDataValue, - GDALColorTable* poColorTable, - GDALDataType eSrcDataType); - -GDALResampleFunction GDALGetResampleFunction(const char* pszResampling, - int* pnRadius); - -#ifdef GDAL_ENABLE_RESAMPLING_MULTIBAND -typedef CPLErr (*GDALResampleFunctionMultiBands) - ( double dfXRatioDstToSrc, - double dfYRatioDstToSrc, - double dfSrcXDelta, - double dfSrcYDelta, - GDALDataType eWrkDataType, - void * pChunk, int nBands, - GByte * pabyChunkNodataMask, - int nChunkXOff, int nChunkXSize, - int nChunkYOff, int nChunkYSize, - int nDstXOff, int nDstXOff2, - int nDstYOff, int nDstYOff2, - GDALRasterBand ** papoDstBands, - const char * pszResampling, - int bHasNoData, float fNoDataValue, - GDALColorTable* poColorTable, - GDALDataType eSrcDataType); - -GDALResampleFunctionMultiBands GDALGetResampleFunctionMultiBands(const char* pszResampling, - int* pnRadius); -#endif - -GDALDataType GDALGetOvrWorkDataType(const char* pszResampling, - GDALDataType eSrcDataType); - -CPL_C_START - -CPLErr CPL_DLL -HFAAuxBuildOverviews( const char *pszOvrFilename, GDALDataset *poParentDS, - GDALDataset **ppoDS, - int nBands, int *panBandList, - int nNewOverviews, int *panNewOverviewList, - const char *pszResampling, - GDALProgressFunc pfnProgress, - void *pProgressData ); - -CPLErr CPL_DLL -GTIFFBuildOverviews( const char * pszFilename, - int nBands, GDALRasterBand **papoBandList, - int nOverviews, int * panOverviewList, - const char * pszResampling, - GDALProgressFunc pfnProgress, void * pProgressData ); - -CPLErr CPL_DLL -GDALDefaultBuildOverviews( GDALDataset *hSrcDS, const char * pszBasename, - const char * pszResampling, - int nOverviews, int * panOverviewList, - int nBands, int * panBandList, - GDALProgressFunc pfnProgress, void * pProgressData); - -int CPL_DLL GDALBandGetBestOverviewLevel(GDALRasterBand* poBand, - int &nXOff, int &nYOff, - int &nXSize, int &nYSize, - int nBufXSize, int nBufYSize) CPL_WARN_DEPRECATED("Use GDALBandGetBestOverviewLevel2 instead"); -int CPL_DLL GDALBandGetBestOverviewLevel2(GDALRasterBand* poBand, - int &nXOff, int &nYOff, - int &nXSize, int &nYSize, - int nBufXSize, int nBufYSize, - GDALRasterIOExtraArg* psExtraArg); - -int CPL_DLL GDALOvLevelAdjust( int nOvLevel, int nXSize ) CPL_WARN_DEPRECATED("Use GDALOvLevelAdjust2 instead"); -int CPL_DLL GDALOvLevelAdjust2( int nOvLevel, int nXSize, int nYSize ); -int CPL_DLL GDALComputeOvFactor( int nOvrXSize, int nRasterXSize, - int nOvrYSize, int nRasterYSize ); - -GDALDataset CPL_DLL * -GDALFindAssociatedAuxFile( const char *pszBasefile, GDALAccess eAccess, - GDALDataset *poDependentDS ); - -/* ==================================================================== */ -/* Misc functions. */ -/* ==================================================================== */ - -CPLErr CPL_DLL GDALParseGMLCoverage( CPLXMLNode *psTree, - int *pnXSize, int *pnYSize, - double *padfGeoTransform, - char **ppszProjection ); - -/* ==================================================================== */ -/* Infrastructure to check that dataset characteristics are valid */ -/* ==================================================================== */ - -int CPL_DLL GDALCheckDatasetDimensions( int nXSize, int nYSize ); -int CPL_DLL GDALCheckBandCount( int nBands, int bIsZeroAllowed ); - - -// Test if 2 floating point values match. Useful when comparing values -// stored as a string at some point. See #3573, #4183, #4506 -#define ARE_REAL_EQUAL(dfVal1, dfVal2) \ - /* Is it FLT_MIN ? Cf #6578 */ \ - (((float)dfVal2 == (float)1.17549435e-38) ? ((float)dfVal1 == (float)dfVal2) : \ - /* Or DBL_MIN ? */ \ - (dfVal2 == 2.2250738585072014e-308) ? (dfVal1 == dfVal2) : \ - /* General case */ \ - (dfVal1 == dfVal2 || fabs(dfVal1 - dfVal2) < 1e-10 || (dfVal2 != 0 && fabs(1 - dfVal1 / dfVal2) < 1e-10 ))) - -/* Internal use only */ - -/* CPL_DLL exported, but only for in-tree drivers that can be built as plugins */ -int CPL_DLL GDALReadWorldFile2( const char *pszBaseFilename, const char *pszExtension, - double *padfGeoTransform, char** papszSiblingFiles, - char** ppszWorldFileNameOut); -int GDALReadTabFile2( const char * pszBaseFilename, - double *padfGeoTransform, char **ppszWKT, - int *pnGCPCount, GDAL_GCP **ppasGCPs, - char** papszSiblingFiles, char** ppszTabFileNameOut ); - -void CPL_DLL GDALCopyRasterIOExtraArg(GDALRasterIOExtraArg* psDestArg, - GDALRasterIOExtraArg* psSrcArg); - -CPL_C_END - -void GDALNullifyOpenDatasetsList(); -CPLMutex** GDALGetphDMMutex(); -CPLMutex** GDALGetphDLMutex(); -void GDALNullifyProxyPoolSingleton(); -GDALDriver* GDALGetAPIPROXYDriver(); -void GDALSetResponsiblePIDForCurrentThread(GIntBig responsiblePID); -GIntBig GDALGetResponsiblePIDForCurrentThread(); - -CPLString GDALFindAssociatedFile( const char *pszBasename, const char *pszExt, - char **papszSiblingFiles, int nFlags ); - -CPLErr EXIFExtractMetadata(char**& papszMetadata, - void *fpL, int nOffset, - int bSwabflag, int nTIFFHEADER, - int& nExifOffset, int& nInterOffset, int& nGPSOffset); - -int GDALValidateOpenOptions( GDALDriverH hDriver, - const char* const* papszOptionOptions); -int GDALValidateOptions( const char* pszOptionList, - const char* const* papszOptionsToValidate, - const char* pszErrorMessageOptionType, - const char* pszErrorMessageContainerName); - -GDALRIOResampleAlg GDALRasterIOGetResampleAlg(const char* pszResampling); -const char* GDALRasterIOGetResampleAlg(GDALRIOResampleAlg eResampleAlg); - -void GDALRasterIOExtraArgSetResampleAlg(GDALRasterIOExtraArg* psExtraArg, - int nXSize, int nYSize, - int nBufXSize, int nBufYSize); - -/* CPL_DLL exported, but only for gdalwarp */ -GDALDataset CPL_DLL* GDALCreateOverviewDataset(GDALDataset* poDS, int nOvrLevel, - int bThisLevelOnly, int bOwnDS); - -#define DIV_ROUND_UP(a, b) ( ((a) % (b)) == 0 ? ((a) / (b)) : (((a) / (b)) + 1) ) - -// Number of data samples that will be used to compute approximate statistics -// (minimum value, maximum value, etc.) -#define GDALSTAT_APPROX_NUMSAMPLES 2500 - -CPL_C_START -/* Caution: for technical reason this declaration is duplicated in gdal_crs.c */ -/* so any signature change should be reflected there too */ -void GDALSerializeGCPListToXML( CPLXMLNode* psParentNode, - GDAL_GCP* pasGCPList, - int nGCPCount, - const char* pszGCPProjection ); -void GDALDeserializeGCPListFromXML( CPLXMLNode* psGCPList, - GDAL_GCP** ppasGCPList, - int* pnGCPCount, - char** ppszGCPProjection ); -CPL_C_END - -void GDALSerializeOpenOptionsToXML( CPLXMLNode* psParentNode, char** papszOpenOptions); -char** GDALDeserializeOpenOptionsFromXML( CPLXMLNode* psParentNode ); - -int GDALCanFileAcceptSidecarFile(const char* pszFilename); - -#endif /* ndef GDAL_PRIV_H_INCLUDED */ diff --git a/src/gdal/gdal_proxy.h b/src/gdal/gdal_proxy.h deleted file mode 100644 index 8a17c35c..00000000 --- a/src/gdal/gdal_proxy.h +++ /dev/null @@ -1,396 +0,0 @@ -/****************************************************************************** - * $Id: gdal_proxy.h 33694 2016-03-10 17:54:30Z goatbar $ - * - * Project: GDAL Core - * Purpose: GDAL Core C++/Private declarations - * Author: Even Rouault - * - ****************************************************************************** - * Copyright (c) 2008-2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_PROXY_H_INCLUDED -#define GDAL_PROXY_H_INCLUDED - -#include "gdal.h" - -#ifdef __cplusplus - -#include "gdal_priv.h" -#include "cpl_hash_set.h" - -/* ******************************************************************** */ -/* GDALProxyDataset */ -/* ******************************************************************** */ - -class CPL_DLL GDALProxyDataset : public GDALDataset -{ - protected: - GDALProxyDataset() {}; - - virtual GDALDataset *RefUnderlyingDataset() = 0; - virtual void UnrefUnderlyingDataset(GDALDataset* poUnderlyingDataset); - - virtual CPLErr IBuildOverviews( const char *, int, int *, - int, int *, GDALProgressFunc, void * ); - virtual CPLErr IRasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - int, int *, GSpacing, GSpacing, GSpacing, - GDALRasterIOExtraArg* psExtraArg ); - public: - - virtual char **GetMetadataDomainList(); - virtual char **GetMetadata( const char * pszDomain ); - virtual CPLErr SetMetadata( char ** papszMetadata, - const char * pszDomain ); - virtual const char *GetMetadataItem( const char * pszName, - const char * pszDomain ); - virtual CPLErr SetMetadataItem( const char * pszName, - const char * pszValue, - const char * pszDomain ); - - virtual void FlushCache(void); - - virtual const char *GetProjectionRef(void); - virtual CPLErr SetProjection( const char * ); - - virtual CPLErr GetGeoTransform( double * ); - virtual CPLErr SetGeoTransform( double * ); - - virtual void *GetInternalHandle( const char * ); - virtual GDALDriver *GetDriver(void); - virtual char **GetFileList(void); - - virtual int GetGCPCount(); - virtual const char *GetGCPProjection(); - virtual const GDAL_GCP *GetGCPs(); - virtual CPLErr SetGCPs( int nGCPCount, const GDAL_GCP *pasGCPList, - const char *pszGCPProjection ); - - virtual CPLErr AdviseRead( int nXOff, int nYOff, int nXSize, int nYSize, - int nBufXSize, int nBufYSize, - GDALDataType eDT, - int nBandCount, int *panBandList, - char **papszOptions ); - - virtual CPLErr CreateMaskBand( int nFlags ); - - private: - CPL_DISALLOW_COPY_ASSIGN(GDALProxyDataset); -}; - -/* ******************************************************************** */ -/* GDALProxyRasterBand */ -/* ******************************************************************** */ - -class CPL_DLL GDALProxyRasterBand : public GDALRasterBand -{ - protected: - GDALProxyRasterBand() {}; - - virtual GDALRasterBand* RefUnderlyingRasterBand() = 0; - virtual void UnrefUnderlyingRasterBand(GDALRasterBand* poUnderlyingRasterBand); - - virtual CPLErr IReadBlock( int, int, void * ); - virtual CPLErr IWriteBlock( int, int, void * ); - virtual CPLErr IRasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - GSpacing, GSpacing, GDALRasterIOExtraArg* psExtraArg ); - - public: - - virtual char **GetMetadataDomainList(); - virtual char **GetMetadata( const char * pszDomain ); - virtual CPLErr SetMetadata( char ** papszMetadata, - const char * pszDomain ); - virtual const char *GetMetadataItem( const char * pszName, - const char * pszDomain ); - virtual CPLErr SetMetadataItem( const char * pszName, - const char * pszValue, - const char * pszDomain ); - virtual CPLErr FlushCache(); - virtual char **GetCategoryNames(); - virtual double GetNoDataValue( int *pbSuccess = NULL ); - virtual double GetMinimum( int *pbSuccess = NULL ); - virtual double GetMaximum(int *pbSuccess = NULL ); - virtual double GetOffset( int *pbSuccess = NULL ); - virtual double GetScale( int *pbSuccess = NULL ); - virtual const char *GetUnitType(); - virtual GDALColorInterp GetColorInterpretation(); - virtual GDALColorTable *GetColorTable(); - virtual CPLErr Fill(double dfRealValue, double dfImaginaryValue = 0); - - virtual CPLErr SetCategoryNames( char ** ); - virtual CPLErr SetNoDataValue( double ); - virtual CPLErr DeleteNoDataValue(); - virtual CPLErr SetColorTable( GDALColorTable * ); - virtual CPLErr SetColorInterpretation( GDALColorInterp ); - virtual CPLErr SetOffset( double ); - virtual CPLErr SetScale( double ); - virtual CPLErr SetUnitType( const char * ); - - virtual CPLErr GetStatistics( int bApproxOK, int bForce, - double *pdfMin, double *pdfMax, - double *pdfMean, double *padfStdDev ); - virtual CPLErr ComputeStatistics( int bApproxOK, - double *pdfMin, double *pdfMax, - double *pdfMean, double *pdfStdDev, - GDALProgressFunc, void *pProgressData ); - virtual CPLErr SetStatistics( double dfMin, double dfMax, - double dfMean, double dfStdDev ); - virtual CPLErr ComputeRasterMinMax( int, double* ); - - virtual int HasArbitraryOverviews(); - virtual int GetOverviewCount(); - virtual GDALRasterBand *GetOverview(int); - virtual GDALRasterBand *GetRasterSampleOverview( GUIntBig ); - virtual CPLErr BuildOverviews( const char *, int, int *, - GDALProgressFunc, void * ); - - virtual CPLErr AdviseRead( int nXOff, int nYOff, int nXSize, int nYSize, - int nBufXSize, int nBufYSize, - GDALDataType eDT, char **papszOptions ); - - virtual CPLErr GetHistogram( double dfMin, double dfMax, - int nBuckets, GUIntBig * panHistogram, - int bIncludeOutOfRange, int bApproxOK, - GDALProgressFunc, void *pProgressData ); - - virtual CPLErr GetDefaultHistogram( double *pdfMin, double *pdfMax, - int *pnBuckets, GUIntBig ** ppanHistogram, - int bForce, - GDALProgressFunc, void *pProgressData); - virtual CPLErr SetDefaultHistogram( double dfMin, double dfMax, - int nBuckets, GUIntBig *panHistogram ); - - virtual GDALRasterAttributeTable *GetDefaultRAT(); - virtual CPLErr SetDefaultRAT( const GDALRasterAttributeTable * ); - - virtual GDALRasterBand *GetMaskBand(); - virtual int GetMaskFlags(); - virtual CPLErr CreateMaskBand( int nFlags ); - - virtual CPLVirtualMem *GetVirtualMemAuto( GDALRWFlag eRWFlag, - int *pnPixelSpace, - GIntBig *pnLineSpace, - char **papszOptions ); - private: - CPL_DISALLOW_COPY_ASSIGN(GDALProxyRasterBand); -}; - - -/* ******************************************************************** */ -/* GDALProxyPoolDataset */ -/* ******************************************************************** */ - -typedef struct _GDALProxyPoolCacheEntry GDALProxyPoolCacheEntry; -class GDALProxyPoolRasterBand; - -class CPL_DLL GDALProxyPoolDataset : public GDALProxyDataset -{ - private: - GIntBig responsiblePID; - - char *pszProjectionRef; - double adfGeoTransform[6]; - int bHasSrcProjection; - int bHasSrcGeoTransform; - char *pszGCPProjection; - int nGCPCount; - GDAL_GCP *pasGCPList; - CPLHashSet *metadataSet; - CPLHashSet *metadataItemSet; - - GDALProxyPoolCacheEntry* cacheEntry; - - protected: - virtual GDALDataset *RefUnderlyingDataset(); - virtual void UnrefUnderlyingDataset(GDALDataset* poUnderlyingDataset); - - friend class GDALProxyPoolRasterBand; - - public: - GDALProxyPoolDataset(const char* pszSourceDatasetDescription, - int nRasterXSize, int nRasterYSize, - GDALAccess eAccess = GA_ReadOnly, - int bShared = FALSE, - const char * pszProjectionRef = NULL, - double * padfGeoTransform = NULL); - ~GDALProxyPoolDataset(); - - void SetOpenOptions(char** papszOpenOptions); - void AddSrcBandDescription( GDALDataType eDataType, int nBlockXSize, int nBlockYSize); - - virtual const char *GetProjectionRef(void); - virtual CPLErr SetProjection( const char * ); - - virtual CPLErr GetGeoTransform( double * ); - virtual CPLErr SetGeoTransform( double * ); - - /* Special behaviour for the following methods : they return a pointer */ - /* data type, that must be cached by the proxy, so it doesn't become invalid */ - /* when the underlying object get closed */ - virtual char **GetMetadata( const char * pszDomain ); - virtual const char *GetMetadataItem( const char * pszName, - const char * pszDomain ); - - virtual void *GetInternalHandle( const char * pszRequest ); - - virtual const char *GetGCPProjection(); - virtual const GDAL_GCP *GetGCPs(); - private: - CPL_DISALLOW_COPY_ASSIGN(GDALProxyPoolDataset); -}; - -/* ******************************************************************** */ -/* GDALProxyPoolRasterBand */ -/* ******************************************************************** */ - -class GDALProxyPoolOverviewRasterBand; -class GDALProxyPoolMaskBand; - -class CPL_DLL GDALProxyPoolRasterBand : public GDALProxyRasterBand -{ - private: - CPLHashSet *metadataSet; - CPLHashSet *metadataItemSet; - char *pszUnitType; - char **papszCategoryNames; - GDALColorTable *poColorTable; - - int nSizeProxyOverviewRasterBand; - GDALProxyPoolOverviewRasterBand **papoProxyOverviewRasterBand; - GDALProxyPoolMaskBand *poProxyMaskBand; - - void Init(); - - protected: - virtual GDALRasterBand* RefUnderlyingRasterBand(); - virtual void UnrefUnderlyingRasterBand(GDALRasterBand* poUnderlyingRasterBand); - - friend class GDALProxyPoolOverviewRasterBand; - friend class GDALProxyPoolMaskBand; - - public: - GDALProxyPoolRasterBand(GDALProxyPoolDataset* poDS, int nBand, - GDALDataType eDataType, - int nBlockXSize, int nBlockYSize); - GDALProxyPoolRasterBand(GDALProxyPoolDataset* poDS, - GDALRasterBand* poUnderlyingRasterBand); - ~GDALProxyPoolRasterBand(); - - void AddSrcMaskBandDescription( GDALDataType eDataType, int nBlockXSize, int nBlockYSize); - - /* Special behaviour for the following methods : they return a pointer */ - /* data type, that must be cached by the proxy, so it doesn't become invalid */ - /* when the underlying object get closed */ - virtual char **GetMetadata( const char * pszDomain ); - virtual const char *GetMetadataItem( const char * pszName, - const char * pszDomain ); - virtual char **GetCategoryNames(); - virtual const char *GetUnitType(); - virtual GDALColorTable *GetColorTable(); - virtual GDALRasterBand *GetOverview(int); - virtual GDALRasterBand *GetRasterSampleOverview( GUIntBig nDesiredSamples); // TODO - virtual GDALRasterBand *GetMaskBand(); - private: - CPL_DISALLOW_COPY_ASSIGN(GDALProxyPoolRasterBand); -}; - -/* ******************************************************************** */ -/* GDALProxyPoolOverviewRasterBand */ -/* ******************************************************************** */ - -class GDALProxyPoolOverviewRasterBand : public GDALProxyPoolRasterBand -{ - private: - GDALProxyPoolRasterBand *poMainBand; - int nOverviewBand; - - GDALRasterBand *poUnderlyingMainRasterBand; - int nRefCountUnderlyingMainRasterBand; - - protected: - virtual GDALRasterBand* RefUnderlyingRasterBand(); - virtual void UnrefUnderlyingRasterBand(GDALRasterBand* poUnderlyingRasterBand); - - public: - GDALProxyPoolOverviewRasterBand(GDALProxyPoolDataset* poDS, - GDALRasterBand* poUnderlyingOverviewBand, - GDALProxyPoolRasterBand* poMainBand, - int nOverviewBand); - ~GDALProxyPoolOverviewRasterBand(); -}; - -/* ******************************************************************** */ -/* GDALProxyPoolMaskBand */ -/* ******************************************************************** */ - -class GDALProxyPoolMaskBand : public GDALProxyPoolRasterBand -{ - private: - GDALProxyPoolRasterBand *poMainBand; - - GDALRasterBand *poUnderlyingMainRasterBand; - int nRefCountUnderlyingMainRasterBand; - - protected: - virtual GDALRasterBand* RefUnderlyingRasterBand(); - virtual void UnrefUnderlyingRasterBand(GDALRasterBand* poUnderlyingRasterBand); - - public: - GDALProxyPoolMaskBand(GDALProxyPoolDataset* poDS, - GDALRasterBand* poUnderlyingMaskBand, - GDALProxyPoolRasterBand* poMainBand); - GDALProxyPoolMaskBand(GDALProxyPoolDataset* poDS, - GDALProxyPoolRasterBand* poMainBand, - GDALDataType eDataType, - int nBlockXSize, int nBlockYSize); - ~GDALProxyPoolMaskBand(); -}; - -#endif - - -/* ******************************************************************** */ -/* C types and methods declarations */ -/* ******************************************************************** */ - - -CPL_C_START - -typedef struct GDALProxyPoolDatasetHS *GDALProxyPoolDatasetH; - -GDALProxyPoolDatasetH CPL_DLL GDALProxyPoolDatasetCreate(const char* pszSourceDatasetDescription, - int nRasterXSize, int nRasterYSize, - GDALAccess eAccess, int bShared, - const char * pszProjectionRef, - double * padfGeoTransform); - -void CPL_DLL GDALProxyPoolDatasetDelete(GDALProxyPoolDatasetH hProxyPoolDataset); - -void CPL_DLL GDALProxyPoolDatasetAddSrcBandDescription( GDALProxyPoolDatasetH hProxyPoolDataset, - GDALDataType eDataType, - int nBlockXSize, int nBlockYSize); - -CPL_C_END - -#endif /* GDAL_PROXY_H_INCLUDED */ diff --git a/src/gdal/gdal_rat.h b/src/gdal/gdal_rat.h deleted file mode 100644 index 4a7a4f33..00000000 --- a/src/gdal/gdal_rat.h +++ /dev/null @@ -1,362 +0,0 @@ -/****************************************************************************** - * $Id: gdal_rat.h 33773 2016-03-23 18:39:47Z goatbar $ - * - * Project: GDAL Core - * Purpose: GDALRasterAttributeTable class declarations. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 2005, Frank Warmerdam - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_RAT_H_INCLUDED -#define GDAL_RAT_H_INCLUDED - -#include "cpl_minixml.h" - -// Clone and Serialize are allowed to fail if GetRowCount()*GetColCount() -// greater than this number -#define RAT_MAX_ELEM_FOR_CLONE 1000000 - -/************************************************************************/ -/* GDALRasterAttributeTable */ -/************************************************************************/ - -//! Raster Attribute Table interface. -class GDALDefaultRasterAttributeTable; - -class CPL_DLL GDALRasterAttributeTable -{ -public: - virtual ~GDALRasterAttributeTable(); - /** - * \brief Copy Raster Attribute Table - * - * Creates a new copy of an existing raster attribute table. The new copy - * becomes the responsibility of the caller to destroy. - * May fail (return NULL) if the attribute table is too large to clone - * (GetRowCount() * GetColCount() > RAT_MAX_ELEM_FOR_CLONE) - * - * This method is the same as the C function GDALRATClone(). - * - * @return new copy of the RAT as an in-memory implementation. - */ - virtual GDALDefaultRasterAttributeTable *Clone() const = 0; - - /** - * \brief Fetch table column count. - * - * This method is the same as the C function GDALRATGetColumnCount(). - * - * @return the number of columns. - */ - virtual int GetColumnCount() const = 0; - - /** - * \brief Fetch name of indicated column. - * - * This method is the same as the C function GDALRATGetNameOfCol(). - * - * @param iCol the column index (zero based). - * - * @return the column name or an empty string for invalid column numbers. - */ - virtual const char *GetNameOfCol( int ) const = 0; - - /** - * \brief Fetch column usage value. - * - * This method is the same as the C function GDALRATGetUsageOfCol(). - * - * @param iCol the column index (zero based). - * - * @return the column usage, or GFU_Generic for improper column numbers. - */ - virtual GDALRATFieldUsage GetUsageOfCol( int ) const = 0; - - /** - * \brief Fetch column type. - * - * This method is the same as the C function GDALRATGetTypeOfCol(). - * - * @param iCol the column index (zero based). - * - * @return column type or GFT_Integer if the column index is illegal. - */ - virtual GDALRATFieldType GetTypeOfCol( int ) const = 0; - - /** - * \brief Fetch column index for given usage. - * - * Returns the index of the first column of the requested usage type, or -1 - * if no match is found. - * - * This method is the same as the C function GDALRATGetUsageOfCol(). - * - * @param eUsage usage type to search for. - * - * @return column index, or -1 on failure. - */ - virtual int GetColOfUsage( GDALRATFieldUsage ) const = 0; - - /** - * \brief Fetch row count. - * - * This method is the same as the C function GDALRATGetRowCount(). - * - * @return the number of rows. - */ - virtual int GetRowCount() const = 0; - - /** - * \brief Fetch field value as a string. - * - * The value of the requested column in the requested row is returned - * as a string. If the field is numeric, it is formatted as a string - * using default rules, so some precision may be lost. - * - * The returned string is temporary and cannot be expected to be - * available after the next GDAL call. - * - * This method is the same as the C function GDALRATGetValueAsString(). - * - * @param iRow row to fetch (zero based). - * @param iField column to fetch (zero based). - * - * @return field value. - */ - virtual const char *GetValueAsString( int iRow, int iField ) const = 0; - - /** - * \brief Fetch field value as a integer. - * - * The value of the requested column in the requested row is returned - * as an integer. Non-integer fields will be converted to integer with - * the possibility of data loss. - * - * This method is the same as the C function GDALRATGetValueAsInt(). - * - * @param iRow row to fetch (zero based). - * @param iField column to fetch (zero based). - * - * @return field value - */ - virtual int GetValueAsInt( int iRow, int iField ) const = 0; - - /** - * \brief Fetch field value as a double. - * - * The value of the requested column in the requested row is returned - * as a double. Non double fields will be converted to double with - * the possibility of data loss. - * - * This method is the same as the C function GDALRATGetValueAsDouble(). - * - * @param iRow row to fetch (zero based). - * @param iField column to fetch (zero based). - * - * @return field value - */ - virtual double GetValueAsDouble( int iRow, int iField ) const = 0; - - /** - * \brief Set field value from string. - * - * The indicated field (column) on the indicated row is set from the - * passed value. The value will be automatically converted for other field - * types, with a possible loss of precision. - * - * This method is the same as the C function GDALRATSetValueAsString(). - * - * @param iRow row to fetch (zero based). - * @param iField column to fetch (zero based). - * @param pszValue the value to assign. - */ - virtual void SetValue( int iRow, int iField, - const char *pszValue ) = 0; - - /** - * \brief Set field value from integer. - * - * The indicated field (column) on the indicated row is set from the - * passed value. The value will be automatically converted for other field - * types, with a possible loss of precision. - * - * This method is the same as the C function GDALRATSetValueAsInteger(). - * - * @param iRow row to fetch (zero based). - * @param iField column to fetch (zero based). - * @param nValue the value to assign. - */ - virtual void SetValue( int iRow, int iField, int nValue ) = 0; - - /** - * \brief Set field value from double. - * - * The indicated field (column) on the indicated row is set from the - * passed value. The value will be automatically converted for other field - * types, with a possible loss of precision. - * - * This method is the same as the C function GDALRATSetValueAsDouble(). - * - * @param iRow row to fetch (zero based). - * @param iField column to fetch (zero based). - * @param dfValue the value to assign. - */ - virtual void SetValue( int iRow, int iField, double dfValue) = 0; - - /** - * \brief Determine whether changes made to this RAT are reflected directly - * in the dataset - * - * If this returns FALSE then GDALRasterBand.SetDefaultRAT() should be - * called. Otherwise this is unnecessary since changes to this object are - * reflected in the dataset. - * - * This method is the same as the C function - * GDALRATChangesAreWrittenToFile(). - * - */ - virtual int ChangesAreWrittenToFile() = 0; - - virtual CPLErr ValuesIO( GDALRWFlag eRWFlag, int iField, - int iStartRow, int iLength, - double *pdfData); - virtual CPLErr ValuesIO( GDALRWFlag eRWFlag, int iField, - int iStartRow, int iLength, int *pnData); - virtual CPLErr ValuesIO( GDALRWFlag eRWFlag, int iField, - int iStartRow, int iLength, - char **papszStrList); - - virtual void SetRowCount( int iCount ); - virtual int GetRowOfValue( double dfValue ) const; - virtual int GetRowOfValue( int nValue ) const; - - virtual CPLErr CreateColumn( const char *pszFieldName, - GDALRATFieldType eFieldType, - GDALRATFieldUsage eFieldUsage ); - virtual CPLErr SetLinearBinning( double dfRow0Min, - double dfBinSize ); - virtual int GetLinearBinning( double *pdfRow0Min, - double *pdfBinSize ) const; - - /** - * \brief Serialize - * - * May fail (return NULL) if the attribute table is too large to serialize - * (GetRowCount() * GetColCount() > RAT_MAX_ELEM_FOR_CLONE) - */ - virtual CPLXMLNode *Serialize() const; - virtual void *SerializeJSON() const; - virtual CPLErr XMLInit( CPLXMLNode *, const char * ); - - virtual CPLErr InitializeFromColorTable( const GDALColorTable * ); - virtual GDALColorTable *TranslateToColorTable( int nEntryCount = -1 ); - - virtual void DumpReadable( FILE * = NULL ); -}; - -/************************************************************************/ -/* GDALRasterAttributeField */ -/* */ -/* (private) */ -/************************************************************************/ - -class GDALRasterAttributeField -{ - public: - CPLString sName; - - GDALRATFieldType eType; - - GDALRATFieldUsage eUsage; - - std::vector anValues; - std::vector adfValues; - std::vector aosValues; -}; - -/************************************************************************/ -/* GDALDefaultRasterAttributeTable */ -/************************************************************************/ - -//! Raster Attribute Table container. - -class CPL_DLL GDALDefaultRasterAttributeTable : public GDALRasterAttributeTable -{ - private: - std::vector aoFields; - - int bLinearBinning; // TODO(schwehr): Can this be a bool? - double dfRow0Min; - double dfBinSize; - - void AnalyseColumns(); - int bColumnsAnalysed; // TODO(schwehr): Can this be a bool? - int nMinCol; - int nMaxCol; - - int nRowCount; - - CPLString osWorkingResult; - - public: - GDALDefaultRasterAttributeTable(); - GDALDefaultRasterAttributeTable( const GDALDefaultRasterAttributeTable& ); - ~GDALDefaultRasterAttributeTable(); - - GDALDefaultRasterAttributeTable *Clone() const; - - virtual int GetColumnCount() const; - - virtual const char *GetNameOfCol( int ) const; - virtual GDALRATFieldUsage GetUsageOfCol( int ) const; - virtual GDALRATFieldType GetTypeOfCol( int ) const; - - virtual int GetColOfUsage( GDALRATFieldUsage ) const; - - virtual int GetRowCount() const; - - virtual const char *GetValueAsString( int iRow, int iField ) const; - virtual int GetValueAsInt( int iRow, int iField ) const; - virtual double GetValueAsDouble( int iRow, int iField ) const; - - virtual void SetValue( int iRow, int iField, - const char *pszValue ); - virtual void SetValue( int iRow, int iField, double dfValue); - virtual void SetValue( int iRow, int iField, int nValue ); - - virtual int ChangesAreWrittenToFile(); - virtual void SetRowCount( int iCount ); - - virtual int GetRowOfValue( double dfValue ) const; - virtual int GetRowOfValue( int nValue ) const; - - virtual CPLErr CreateColumn( const char *pszFieldName, - GDALRATFieldType eFieldType, - GDALRATFieldUsage eFieldUsage ); - virtual CPLErr SetLinearBinning( double dfRow0Min, - double dfBinSize ); - virtual int GetLinearBinning( double *pdfRow0Min, - double *pdfBinSize ) const; -}; - -#endif /* ndef GDAL_RAT_H_INCLUDED */ diff --git a/src/gdal/gdal_simplesurf.h b/src/gdal/gdal_simplesurf.h deleted file mode 100644 index ca262dce..00000000 --- a/src/gdal/gdal_simplesurf.h +++ /dev/null @@ -1,554 +0,0 @@ -/****************************************************************************** - * Project: GDAL - * Purpose: Correlator - * Author: Andrew Migal, migal.drew@gmail.com - * - ****************************************************************************** - * Copyright (c) 2012, Andrew Migal - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -/** - * @file - * @author Andrew Migal migal.drew@gmail.com - * @brief Class for searching corresponding points on images. - */ - -#ifndef GDALSIMPLESURF_H_ -#define GDALSIMPLESURF_H_ - -#include "gdal_priv.h" -#include "cpl_conv.h" -#include - -/** - * @brief Class of "feature point" in raster. Used by SURF-based algorithm. - * - * @details This point presents coordinates of distinctive pixel in image. - * In computer vision, feature points - the most "strong" and "unique" - * pixels (or areas) in picture, which can be distinguished from others. - * For more details, see FAST corner detector, SIFT, SURF and similar algorithms. - */ -class GDALFeaturePoint -{ -public: - /** - * Standard constructor. Initializes all parameters with negative numbers - * and allocates memory for descriptor. - */ - GDALFeaturePoint(); - - /** - * Copy constructor - * @param fp Copied instance of GDALFeaturePoint class - */ - GDALFeaturePoint(const GDALFeaturePoint& fp); - - /** - * Create instance of GDALFeaturePoint class - * - * @param nX X-coordinate (pixel) - * @param nY Y-coordinate (line) - * @param nScale Scale which contains this point (2, 4, 8, 16 and so on) - * @param nRadius Half of the side of descriptor area - * @param nSign Sign of Hessian determinant for this point - * - * @note This constructor normally is invoked by SURF-based algorithm, - * which provides all necessary parameters. - */ - GDALFeaturePoint(int nX, int nY, int nScale, int nRadius, int nSign); - virtual ~GDALFeaturePoint(); - - GDALFeaturePoint& operator=(const GDALFeaturePoint& point); - - /** - * Provide access to point's descriptor. - * - * @param nIndex Position of descriptor's value. - * nIndex should be within range from 0 to DESC_SIZE (in current version - 64) - * - * @return Reference to value of descriptor in 'nIndex' position. - * If index is out of range then behaviour is undefined. - */ - double& operator[](int nIndex); - - // Descriptor length - static const int DESC_SIZE = 64; - - /** - * Fetch X-coordinate (pixel) of point - * - * @return X-coordinate in pixels - */ - int GetX(); - - /** - * Set X coordinate of point - * - * @param nX X coordinate in pixels - */ - void SetX(int nX); - - /** - * Fetch Y-coordinate (line) of point. - * - * @return Y-coordinate in pixels. - */ - int GetY(); - - /** - * Set Y coordinate of point. - * - * @param nY Y coordinate in pixels. - */ - void SetY(int nY); - - /** - * Fetch scale of point. - * - * @return Scale for this point. - */ - int GetScale(); - - /** - * Set scale of point. - * - * @param nScale Scale for this point. - */ - void SetScale(int nScale); - - /** - * Fetch radius of point. - * - * @return Radius for this point. - */ - int GetRadius(); - - /** - * Set radius of point. - * - * @param nRadius Radius for this point. - */ - void SetRadius(int nRadius); - - /** - * Fetch sign of Hessian determinant of point. - * - * @return Sign for this point. - */ - int GetSign(); - - /** - * Set sign of point. - * - * @param nSign Sign of Hessian determinant for this point. - */ - void SetSign(int nSign); - -private: - // Coordinates of point in image - int nX; - int nY; - // -------------------- - int nScale; - int nRadius; - int nSign; - // Descriptor array - double *padfDescriptor; -}; - -/** - * @author Andrew Migal migal.drew@gmail.com - * @brief Integral image class (summed area table). - * @details Integral image is a table for fast computing the sum of - * values in rectangular subarea. In more detail, for 2-dimensional array - * of numbers this class provides capability to get sum of values in - * rectangular arbitrary area with any size in constant time. - * Integral image is constructed from grayscale picture. - */ -class GDALIntegralImage -{ -public: - GDALIntegralImage(); - virtual ~GDALIntegralImage(); - - /** - * Compute integral image for specified array. Result is stored internally. - * - * @param padfImg Pointer to 2-dimensional array of values - * @param nHeight Number of rows in array - * @param nWidth Number of columns in array - */ - void Initialize(const double **padfImg, int nHeight, int nWidth); - - /** - * Fetch value of specified position in integral image. - * - * @param nRow Row of this position - * @param nCol Column of this position - * - * @return Value in specified position or zero if parameters are out of range. - */ - double GetValue(int nRow, int nCol); - - /** - * Get sum of values in specified rectangular grid. Rectangle is constructed - * from left top point. - * - * @param nRow Row of left top point of rectangle - * @param nCol Column of left top point of rectangle - * @param nWidth Width of rectangular area (number of columns) - * @param nHeight Height of rectangular area (number of rows) - * - * @return Sum of values in specified grid. - */ - double GetRectangleSum(int nRow, int nCol, int nWidth, int nHeight); - - /** - * Get value of horizontal Haar wavelet in specified square grid. - * - * @param nRow Row of left top point of square - * @param nCol Column of left top point of square - * @param nSize Side of the square - * - * @return Value of horizontal Haar wavelet in specified square grid. - */ - double HaarWavelet_X(int nRow, int nCol, int nSize); - - /** - * Get value of vertical Haar wavelet in specified square grid. - * - * @param nRow Row of left top point of square - * @param nCol Column of left top point of square - * @param nSize Side of the square - * - * @return Value of vertical Haar wavelet in specified square grid. - */ - double HaarWavelet_Y(int nRow, int nCol, int nSize); - - /** - * Fetch height of integral image. - * - * @return Height of integral image (number of rows). - */ - int GetHeight(); - - /** - * Fetch width of integral image. - * - * @return Width of integral image (number of columns). - */ - int GetWidth(); - -private: - double **pMatrix; - int nWidth; - int nHeight; -}; - -/** - * @author Andrew Migal migal.drew@gmail.com - * @brief Class for computation and storage of Hessian values in SURF-based algorithm. - * - * @details SURF-based algorithm normally uses this class for searching - * feature points on raster images. Class also contains traces of Hessian matrices - * to provide fast computations. - */ -class GDALOctaveLayer -{ -public: - GDALOctaveLayer(); - - /** - * Create instance with provided parameters. - * - * @param nOctave Number of octave which contains this layer - * @param nInterval Number of position in octave - * - * @note Normally constructor is invoked only by SURF-based algorithm. - */ - GDALOctaveLayer(int nOctave, int nInterval); - virtual ~GDALOctaveLayer(); - - /** - * Perform calculation of Hessian determinants and their signs - * for specified integral image. Result is stored internally. - * - * @param poImg Integral image object, which provides all necessary - * data for computation - * - * @note Normally method is invoked only by SURF-based algorithm. - */ - void ComputeLayer(GDALIntegralImage *poImg); - - /** - * Octave which contains this layer (1,2,3...) - */ - int octaveNum; - /** - * Length of the side of filter - */ - int filterSize; - /** - * Length of the border - */ - int radius; - /** - * Scale for this layer - */ - int scale; - /** - * Image width in pixels - */ - int width; - /** - * Image height in pixels - */ - int height; - /** - * Hessian values for image pixels - */ - double **detHessians; - /** - * Hessian signs for speeded matching - */ - int **signs; -}; - -/** - * @author Andrew Migal migal.drew@gmail.com - * @brief Class for handling octave layers in SURF-based algorithm. - * @details Class contains OctaveLayers and provides capability to construct octave space and distinguish - * feature points. Normally this class is used only by SURF-based algorithm. - */ -class GDALOctaveMap -{ -public: - /** - * Create octave space. Octave numbers are start with one. (1, 2, 3, 4, ... ) - * - * @param nOctaveStart Number of bottom octave - * @param nOctaveEnd Number of top octave. Should be equal or greater than OctaveStart - */ - GDALOctaveMap(int nOctaveStart, int nOctaveEnd); - virtual ~GDALOctaveMap(); - - /** - * Calculate Hessian values for octave space - * (for all stored octave layers) using specified integral image - * @param poImg Integral image instance which provides necessary data - * @see GDALOctaveLayer - */ - void ComputeMap(GDALIntegralImage *poImg); - - /** - * Method makes decision that specified point - * in middle octave layer is maximum among all points - * from 3x3x3 neighbourhood (surrounding points in - * bottom, middle and top layers). Provided layers should be from the same octave's interval. - * Detects feature points. - * - * @param row Row of point, which is candidate to be feature point - * @param col Column of point, which is candidate to be feature point - * @param bot Bottom octave layer - * @param mid Middle octave layer - * @param top Top octave layer - * @param threshold Threshold for feature point recognition. Detected feature point - * will have Hessian value greater than this provided threshold. - * - * @return TRUE if candidate was evaluated as feature point or FALSE otherwise. - */ - bool PointIsExtremum(int row, int col, GDALOctaveLayer *bot, - GDALOctaveLayer *mid, GDALOctaveLayer *top, double threshold); - - /** - * 2-dimensional array of octave layers - */ - GDALOctaveLayer ***pMap; - - /** - * Value for constructing internal octave space - */ - static const int INTERVALS = 4; - - /** - * Number of bottom octave - */ - int octaveStart; - - /** - * Number of top octave. Should be equal or greater than OctaveStart - */ - int octaveEnd; -}; - -/** - * @author Andrew Migal migal.drew@gmail.com - * @brief Class for searching corresponding points on images. - * @details Provides capability for detection feature points - * and finding equal points on different images. - * Class implements simplified version of SURF algorithm (Speeded Up Robust Features). - * As original, this realization is scale invariant, but sensitive to rotation. - * Images should have similar rotation angles (maximum difference is up to 10-15 degrees), - * otherwise algorithm produces incorrect and very unstable results. - */ - -class GDALSimpleSURF -{ -private: - /** - * Class stores indexes of pair of point - * and distance between them. - */ - class MatchedPointPairInfo - { - public: - MatchedPointPairInfo(int nInd_1, int nInd_2, double dfDist) - { - ind_1 = nInd_1; - ind_2 = nInd_2; - euclideanDist = dfDist; - } - - int ind_1; - int ind_2; - double euclideanDist; - }; - -public: - /** - * Prepare class according to specified parameters. Octave numbers affects - * to amount of detected points and their robustness. - * Range between bottom and top octaves also affects to required time of detection points - * (if range is large, algorithm should perform more operations). - * @param nOctaveStart Number of bottom octave. Octave numbers starts with one - * @param nOctaveEnd Number of top octave. Should be equal or greater than OctaveStart - * - * @note - * Every octave finds points with specific size. For small images - * use small octave numbers, for high resolution - large. - * For 1024x1024 images it's normal to use any octave numbers from range 1-6. - * (for example, octave start - 1, octave end - 3, or octave start - 2, octave end - 2.) - * For larger images, try 1-10 range or even higher. - * Pay attention that number of detected point decreases quickly per octave - * for particular image. Algorithm finds more points in case of small octave numbers. - * If method detects nothing, reduce bottom bound of octave range. - * - * NOTICE that every octave requires time to compute. Use a little range - * or only one octave if execution time is significant. - */ - GDALSimpleSURF(int nOctaveStart, int nOctaveEnd); - virtual ~GDALSimpleSURF(); - - /** - * Convert image with RGB channels to grayscale using "luminosity" method. - * Result is used in SURF-based algorithm, but may be used anywhere where - * grayscale images with nice contrast are required. - * - * @param red Image's red channel - * @param green Image's green channel - * @param blue Image's blue channel - * @param nXSize Width of initial image - * @param nYSize Height of initial image - * @param padfImg Array for resulting grayscale image - * @param nHeight Height of resulting image - * @param nWidth Width of resulting image - * - * @return CE_None or CE_Failure if error occurs. - */ - static CPLErr ConvertRGBToLuminosity( - GDALRasterBand *red, - GDALRasterBand *green, - GDALRasterBand *blue, - int nXSize, int nYSize, - double **padfImg, int nHeight, int nWidth); - - /** - * Find feature points using specified integral image. - * - * @param poImg Integral image to be used - * @param dfThreshold Threshold for feature point recognition. Detected feature point - * will have Hessian value greater than this provided threshold. - * - * @note Typical threshold's value is 0,001. But this value - * can be various in each case and depends on image's nature. - * For example, value can be 0.002 or 0.005. - * Fill free to experiment with it. - * If threshold is high, than number of detected feature points is small, - * and vice versa. - */ - std::vector* - ExtractFeaturePoints(GDALIntegralImage *poImg, double dfThreshold); - - /** - * Find corresponding points (equal points in two collections). - * - * @param poMatchPairs Resulting collection for matched points - * @param poSecondCollect Points on the first image - * @param poSecondCollect Points on the second image - * @param dfThreshold Value from 0 to 1. Threshold affects to number of - * matched points. If threshold is lower, amount of corresponding - * points is larger, and vice versa - * - * @return CE_None or CE_Failure if error occurs. - */ - static CPLErr MatchFeaturePoints( - std::vector *poMatchPairs, - std::vector *poFirstCollect, - std::vector *poSecondCollect, - double dfThreshold); - -private: - /** - * Compute euclidean distance between descriptors of two feature points. - * It's used in comparison and matching of points. - * - * @param firstPoint First feature point to be compared - * @param secondPoint Second feature point to be compared - * - * @return Euclidean distance between descriptors. - */ - static double GetEuclideanDistance( - GDALFeaturePoint &firstPoint, GDALFeaturePoint &secondPoint); - - /** - * Set provided distance values to range from 0 to 1. - * - * @param poList List of distances to be normalized - */ - static void NormalizeDistances(std::list *poList); - - /** - * Compute descriptor for specified feature point. - * - * @param poPoint Feature point instance - * @param poImg image where feature point was found - */ - void SetDescriptor(GDALFeaturePoint *poPoint, GDALIntegralImage *poImg); - - -private: - int octaveStart; - int octaveEnd; - GDALOctaveMap *poOctMap; -}; - - -#endif /* GDALSIMPLESURF_H_ */ diff --git a/src/gdal/gdal_utils.h b/src/gdal/gdal_utils.h deleted file mode 100644 index 1777131a..00000000 --- a/src/gdal/gdal_utils.h +++ /dev/null @@ -1,214 +0,0 @@ -/****************************************************************************** - * $Id$ - * - * Project: GDAL Utilities - * Purpose: GDAL Utilities Public Declarations. - * Author: Faza Mahamood, fazamhd at gmail dot com - * - * **************************************************************************** - * Copyright (c) 1998, Frank Warmerdam - * Copyright (c) 2007-2015, Even Rouault - * Copyright (c) 2015, Faza Mahamood - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_UTILS_H_INCLUDED -#define GDAL_UTILS_H_INCLUDED - -/** - * \file gdal_utils.h - * - * Public (C callable) GDAL Utilities entry points. - * - * @since GDAL 2.1 - */ - -#include "cpl_port.h" -#include "gdal.h" - -CPL_C_START - -/*! Options for GDALInfo(). Opaque type */ -typedef struct GDALInfoOptions GDALInfoOptions; - -typedef struct GDALInfoOptionsForBinary GDALInfoOptionsForBinary; - -GDALInfoOptions CPL_DLL *GDALInfoOptionsNew(char** papszArgv, GDALInfoOptionsForBinary* psOptionsForBinary); - -void CPL_DLL GDALInfoOptionsFree( GDALInfoOptions *psOptions ); - -char CPL_DLL *GDALInfo( GDALDatasetH hDataset, const GDALInfoOptions *psOptions ); - - -/*! Options for GDALTranslate(). Opaque type */ -typedef struct GDALTranslateOptions GDALTranslateOptions; - -typedef struct GDALTranslateOptionsForBinary GDALTranslateOptionsForBinary; - -GDALTranslateOptions CPL_DLL *GDALTranslateOptionsNew(char** papszArgv, - GDALTranslateOptionsForBinary* psOptionsForBinary); - -void CPL_DLL GDALTranslateOptionsFree( GDALTranslateOptions *psOptions ); - -void CPL_DLL GDALTranslateOptionsSetProgress( GDALTranslateOptions *psOptions, - GDALProgressFunc pfnProgress, - void *pProgressData ); - -GDALDatasetH CPL_DLL GDALTranslate(const char *pszDestFilename, - GDALDatasetH hSrcDataset, - const GDALTranslateOptions *psOptions, - int *pbUsageError); - -/*! Options for GDALWarp(). Opaque type */ -typedef struct GDALWarpAppOptions GDALWarpAppOptions; - -typedef struct GDALWarpAppOptionsForBinary GDALWarpAppOptionsForBinary; - -GDALWarpAppOptions CPL_DLL *GDALWarpAppOptionsNew(char** papszArgv, - GDALWarpAppOptionsForBinary* psOptionsForBinary); - -void CPL_DLL GDALWarpAppOptionsFree( GDALWarpAppOptions *psOptions ); - -void CPL_DLL GDALWarpAppOptionsSetProgress( GDALWarpAppOptions *psOptions, - GDALProgressFunc pfnProgress, - void *pProgressData ); -void CPL_DLL GDALWarpAppOptionsSetWarpOption( GDALWarpAppOptions *psOptions, - const char* pszKey, - const char* pszValue ); - -GDALDatasetH CPL_DLL GDALWarp( const char *pszDest, GDALDatasetH hDstDS, - int nSrcCount, GDALDatasetH *pahSrcDS, - const GDALWarpAppOptions *psOptions, int *pbUsageError ); - -/*! Options for GDALVectorTranslate(). Opaque type */ -typedef struct GDALVectorTranslateOptions GDALVectorTranslateOptions; - -typedef struct GDALVectorTranslateOptionsForBinary GDALVectorTranslateOptionsForBinary; - -GDALVectorTranslateOptions CPL_DLL *GDALVectorTranslateOptionsNew(char** papszArgv, - GDALVectorTranslateOptionsForBinary* psOptionsForBinary); - -void CPL_DLL GDALVectorTranslateOptionsFree( GDALVectorTranslateOptions *psOptions ); - -void CPL_DLL GDALVectorTranslateOptionsSetProgress( GDALVectorTranslateOptions *psOptions, - GDALProgressFunc pfnProgress, - void *pProgressData ); - -GDALDatasetH CPL_DLL GDALVectorTranslate( const char *pszDest, GDALDatasetH hDstDS, int nSrcCount, - GDALDatasetH *pahSrcDS, - const GDALVectorTranslateOptions *psOptions, int *pbUsageError ); - - -/*! Options for GDALDEMProcessing(). Opaque type */ -typedef struct GDALDEMProcessingOptions GDALDEMProcessingOptions; - -typedef struct GDALDEMProcessingOptionsForBinary GDALDEMProcessingOptionsForBinary; - -GDALDEMProcessingOptions CPL_DLL *GDALDEMProcessingOptionsNew(char** papszArgv, - GDALDEMProcessingOptionsForBinary* psOptionsForBinary); - -void CPL_DLL GDALDEMProcessingOptionsFree( GDALDEMProcessingOptions *psOptions ); - -void CPL_DLL GDALDEMProcessingOptionsSetProgress( GDALDEMProcessingOptions *psOptions, - GDALProgressFunc pfnProgress, - void *pProgressData ); - -GDALDatasetH CPL_DLL GDALDEMProcessing(const char *pszDestFilename, - GDALDatasetH hSrcDataset, - const char* pszProcessing, - const char* pszColorFilename, - const GDALDEMProcessingOptions *psOptions, - int *pbUsageError); - -/*! Options for GDALNearblack(). Opaque type */ -typedef struct GDALNearblackOptions GDALNearblackOptions; - -typedef struct GDALNearblackOptionsForBinary GDALNearblackOptionsForBinary; - -GDALNearblackOptions CPL_DLL *GDALNearblackOptionsNew(char** papszArgv, - GDALNearblackOptionsForBinary* psOptionsForBinary); - -void CPL_DLL GDALNearblackOptionsFree( GDALNearblackOptions *psOptions ); - -void CPL_DLL GDALNearblackOptionsSetProgress( GDALNearblackOptions *psOptions, - GDALProgressFunc pfnProgress, - void *pProgressData ); - -GDALDatasetH CPL_DLL GDALNearblack( const char *pszDest, GDALDatasetH hDstDS, - GDALDatasetH hSrcDS, - const GDALNearblackOptions *psOptions, int *pbUsageError ); - -/*! Options for GDALGrid(). Opaque type */ -typedef struct GDALGridOptions GDALGridOptions; - -typedef struct GDALGridOptionsForBinary GDALGridOptionsForBinary; - -GDALGridOptions CPL_DLL *GDALGridOptionsNew(char** papszArgv, - GDALGridOptionsForBinary* psOptionsForBinary); - -void CPL_DLL GDALGridOptionsFree( GDALGridOptions *psOptions ); - -void CPL_DLL GDALGridOptionsSetProgress( GDALGridOptions *psOptions, - GDALProgressFunc pfnProgress, - void *pProgressData ); - -GDALDatasetH CPL_DLL GDALGrid( const char *pszDest, - GDALDatasetH hSrcDS, - const GDALGridOptions *psOptions, int *pbUsageError ); - -/*! Options for GDALRasterize(). Opaque type */ -typedef struct GDALRasterizeOptions GDALRasterizeOptions; - -typedef struct GDALRasterizeOptionsForBinary GDALRasterizeOptionsForBinary; - -GDALRasterizeOptions CPL_DLL *GDALRasterizeOptionsNew(char** papszArgv, - GDALRasterizeOptionsForBinary* psOptionsForBinary); - -void CPL_DLL GDALRasterizeOptionsFree( GDALRasterizeOptions *psOptions ); - -void CPL_DLL GDALRasterizeOptionsSetProgress( GDALRasterizeOptions *psOptions, - GDALProgressFunc pfnProgress, - void *pProgressData ); - -GDALDatasetH CPL_DLL GDALRasterize( const char *pszDest, GDALDatasetH hDstDS, - GDALDatasetH hSrcDS, - const GDALRasterizeOptions *psOptions, int *pbUsageError ); - -/*! Options for GDALBuildVRT(). Opaque type */ -typedef struct GDALBuildVRTOptions GDALBuildVRTOptions; - -typedef struct GDALBuildVRTOptionsForBinary GDALBuildVRTOptionsForBinary; - -GDALBuildVRTOptions CPL_DLL *GDALBuildVRTOptionsNew(char** papszArgv, - GDALBuildVRTOptionsForBinary* psOptionsForBinary); - -void CPL_DLL GDALBuildVRTOptionsFree( GDALBuildVRTOptions *psOptions ); - -void CPL_DLL GDALBuildVRTOptionsSetProgress( GDALBuildVRTOptions *psOptions, - GDALProgressFunc pfnProgress, - void *pProgressData ); - -GDALDatasetH CPL_DLL GDALBuildVRT( const char *pszDest, - int nSrcCount, GDALDatasetH *pahSrcDS, const char* const* papszSrcDSNames, - const GDALBuildVRTOptions *psOptions, int *pbUsageError ); - -CPL_C_END - -#endif /* GDAL_UTILS_H_INCLUDED */ diff --git a/src/gdal/gdal_version.h b/src/gdal/gdal_version.h deleted file mode 100644 index 3e4aa051..00000000 --- a/src/gdal/gdal_version.h +++ /dev/null @@ -1,29 +0,0 @@ - -/* -------------------------------------------------------------------- */ -/* GDAL Version Information. */ -/* -------------------------------------------------------------------- */ - -#ifndef GDAL_VERSION_MAJOR -# define GDAL_VERSION_MAJOR 2 -# define GDAL_VERSION_MINOR 1 -# define GDAL_VERSION_REV 2 -# define GDAL_VERSION_BUILD 0 -#endif - - /* GDAL_COMPUTE_VERSION macro introduced in GDAL 1.10 */ -/* Must be used ONLY to compare with version numbers for GDAL >= 1.10 */ -#ifndef GDAL_COMPUTE_VERSION -#define GDAL_COMPUTE_VERSION(maj,min,rev) ((maj)*1000000+(min)*10000+(rev)*100) -#endif - -/* Note: the formula to compute GDAL_VERSION_NUM has changed in GDAL 1.10 */ -#ifndef GDAL_VERSION_NUM -# define GDAL_VERSION_NUM (GDAL_COMPUTE_VERSION(GDAL_VERSION_MAJOR,GDAL_VERSION_MINOR,GDAL_VERSION_REV)+GDAL_VERSION_BUILD) -#endif - -#ifndef GDAL_RELEASE_DATE -# define GDAL_RELEASE_DATE 20161024 -#endif -#ifndef GDAL_RELEASE_NAME -# define GDAL_RELEASE_NAME "2.1.2" -#endif diff --git a/src/gdal/gdal_vrt.h b/src/gdal/gdal_vrt.h deleted file mode 100644 index 63f76ffb..00000000 --- a/src/gdal/gdal_vrt.h +++ /dev/null @@ -1,104 +0,0 @@ -/****************************************************************************** - * $Id: gdal_vrt.h 33720 2016-03-15 00:39:53Z goatbar $ - * - * Project: Virtual GDAL Datasets - * Purpose: C/Public declarations of virtual GDAL dataset objects. - * Author: Andrey Kiselev, dron@ak4719.spb.edu - * - ****************************************************************************** - * Copyright (c) 2007, Andrey Kiselev - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_VRT_H_INCLUDED -#define GDAL_VRT_H_INCLUDED - -/** - * \file gdal_vrt.h - * - * Public (C callable) entry points for virtual GDAL dataset objects. - */ - -#include "gdal.h" -#include "cpl_port.h" -#include "cpl_error.h" -#include "cpl_minixml.h" - -#define VRT_NODATA_UNSET -1234.56 - -CPL_C_START - -void GDALRegister_VRT(); -typedef CPLErr -(*VRTImageReadFunc)( void *hCBData, - int nXOff, int nYOff, int nXSize, int nYSize, - void *pData ); - -/* -------------------------------------------------------------------- */ -/* Define handle types related to various VRT dataset classes. */ -/* -------------------------------------------------------------------- */ -typedef void *VRTDriverH; -typedef void *VRTSourceH; -typedef void *VRTSimpleSourceH; -typedef void *VRTAveragedSourceH; -typedef void *VRTComplexSourceH; -typedef void *VRTFilteredSourceH; -typedef void *VRTKernelFilteredSourceH; -typedef void *VRTAverageFilteredSourceH; -typedef void *VRTFuncSourceH; -typedef void *VRTDatasetH; -typedef void *VRTWarpedDatasetH; -typedef void *VRTRasterBandH; -typedef void *VRTSourcedRasterBandH; -typedef void *VRTWarpedRasterBandH; -typedef void *VRTDerivedRasterBandH; -typedef void *VRTRawRasterBandH; - -/* ==================================================================== */ -/* VRTDataset class. */ -/* ==================================================================== */ - -VRTDatasetH CPL_DLL CPL_STDCALL VRTCreate( int, int ); -void CPL_DLL CPL_STDCALL VRTFlushCache( VRTDatasetH ); -CPLXMLNode CPL_DLL * CPL_STDCALL VRTSerializeToXML( VRTDatasetH, const char * ); -int CPL_DLL CPL_STDCALL VRTAddBand( VRTDatasetH, GDALDataType, char ** ); - -/* ==================================================================== */ -/* VRTSourcedRasterBand class. */ -/* ==================================================================== */ - -CPLErr CPL_STDCALL VRTAddSource( VRTSourcedRasterBandH, VRTSourceH ); -CPLErr CPL_DLL CPL_STDCALL VRTAddSimpleSource( VRTSourcedRasterBandH, - GDALRasterBandH, - int, int, int, int, - int, int, int, int, - const char *, double ); -CPLErr CPL_DLL CPL_STDCALL VRTAddComplexSource( VRTSourcedRasterBandH, - GDALRasterBandH, - int, int, int, int, - int, int, int, int, - double, double, double ); -CPLErr CPL_DLL CPL_STDCALL VRTAddFuncSource( VRTSourcedRasterBandH, - VRTImageReadFunc, - void *, double ); - -CPL_C_END - -#endif /* GDAL_VRT_H_INCLUDED */ diff --git a/src/gdal/gdalexif.h b/src/gdal/gdalexif.h deleted file mode 100644 index 6ab15605..00000000 --- a/src/gdal/gdalexif.h +++ /dev/null @@ -1,235 +0,0 @@ -/****************************************************************************** - * $Id: gdalexif.h 33175 2016-01-27 00:37:49Z goatbar $ - * - * Project: JPEG JFIF Driver - * Purpose: Implement GDAL JPEG Support based on IJG libjpeg. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 2000, Frank Warmerdam - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifdef RENAME_INTERNAL_LIBTIFF_SYMBOLS -#include "../frmts/gtiff/libtiff/gdal_libtiff_symbol_rename.h" -#endif - -static const struct gpsname { - GUInt16 tag; - const char* name; -} gpstags [] = { - { 0x00, "EXIF_GPSVersionID" }, - { 0x01, "EXIF_GPSLatitudeRef" }, - { 0x02, "EXIF_GPSLatitude" }, - { 0x03, "EXIF_GPSLongitudeRef" }, - { 0x04, "EXIF_GPSLongitude" }, - { 0x05, "EXIF_GPSAltitudeRef" }, - { 0x06, "EXIF_GPSAltitude" }, - { 0x07, "EXIF_GPSTimeStamp" }, - { 0x08, "EXIF_GPSSatellites" }, - { 0x09, "EXIF_GPSStatus" }, - { 0x0a, "EXIF_GPSMeasureMode" }, - { 0x0b, "EXIF_GPSDOP" }, - { 0x0c, "EXIF_GPSSpeedRef"}, - { 0x0d, "EXIF_GPSSpeed"}, - { 0x0e, "EXIF_GPSTrackRef"}, - { 0x0f, "EXIF_GPSTrack"}, - { 0x10, "EXIF_GPSImgDirectionRef"}, - { 0x11, "EXIF_GPSImgDirection"}, - { 0x12, "EXIF_GPSMapDatum"}, - { 0x13, "EXIF_GPSDestLatitudeRef"}, - { 0x14, "EXIF_GPSDestLatitude"}, - { 0x15, "EXIF_GPSDestLongitudeRef"}, - { 0x16, "EXIF_GPSDestLongitude"}, - { 0x17, "EXIF_GPSDestBearingRef"}, - { 0x18, "EXIF_GPSDestBearing"}, - { 0x19, "EXIF_GPSDestDistanceRef"}, - { 0x1a, "EXIF_GPSDestDistance"}, - { 0x1b, "EXIF_GPSProcessingMethod"}, - { 0x1c, "EXIF_GPSAreaInformation"}, - { 0x1d, "EXIF_GPSDateStamp"}, - { 0x1e, "EXIF_GPSDifferential"}, - { 0xffff, ""} -}; - -static const struct tagname { - GUInt16 tag; - const char* name; -} tagnames [] = { - -// { 0x100, "EXIF_Image_Width"}, -// { 0x101, "EXIF_Image_Length"}, - { 0x102, "EXIF_BitsPerSample"}, - { 0x103, "EXIF_Compression"}, - { 0x106, "EXIF_PhotometricInterpretation"}, - { 0x10A, "EXIF_Fill_Order"}, - { 0x10D, "EXIF_Document_Name"}, - { 0x10E, "EXIF_ImageDescription"}, - { 0x10F, "EXIF_Make"}, - { 0x110, "EXIF_Model"}, - { 0x111, "EXIF_StripOffsets"}, - { 0x112, "EXIF_Orientation"}, - { 0x115, "EXIF_SamplesPerPixel"}, - { 0x116, "EXIF_RowsPerStrip"}, - { 0x117, "EXIF_StripByteCounts"}, - { 0x11A, "EXIF_XResolution"}, - { 0x11B, "EXIF_YResolution"}, - { 0x11C, "EXIF_PlanarConfiguration"}, - { 0x128, "EXIF_ResolutionUnit"}, - { 0x12D, "EXIF_TransferFunction"}, - { 0x131, "EXIF_Software"}, - { 0x132, "EXIF_DateTime"}, - { 0x13B, "EXIF_Artist"}, - { 0x13E, "EXIF_WhitePoint"}, - { 0x13F, "EXIF_PrimaryChromaticities"}, - { 0x156, "EXIF_Transfer_Range"}, - { 0x200, "EXIF_JPEG_Proc"}, - { 0x201, "EXIF_JPEGInterchangeFormat"}, - { 0x202, "EXIF_JPEGInterchangeFormatLength"}, - { 0x211, "EXIF_YCbCrCoefficients"}, - { 0x212, "EXIF_YCbCrSubSampling"}, - { 0x213, "EXIF_YCbCrPositioning"}, - { 0x214, "EXIF_ReferenceBlackWhite"}, - { 0x828D, "EXIF_CFA_Repeat_Pattern_Dim"}, - { 0x828E, "EXIF_CFA_Pattern"}, - { 0x828F, "EXIF_Battery_Level"}, - { 0x8298, "EXIF_Copyright"}, - { 0x829A, "EXIF_ExposureTime"}, - { 0x829D, "EXIF_FNumber"}, - { 0x83BB, "EXIF_IPTC/NAA"}, -// { 0x8769, "EXIF_Offset"}, - { 0x8773, "EXIF_Inter_Color_Profile"}, - { 0x8822, "EXIF_ExposureProgram"}, - { 0x8824, "EXIF_SpectralSensitivity"}, -// { 0x8825, "EXIF_GPSOffset"}, - { 0x8827, "EXIF_ISOSpeedRatings"}, - { 0x8828, "EXIF_OECF"}, - { 0x9000, "EXIF_ExifVersion"}, - { 0x9003, "EXIF_DateTimeOriginal"}, - { 0x9004, "EXIF_DateTimeDigitized"}, - { 0x9101, "EXIF_ComponentsConfiguration"}, - { 0x9102, "EXIF_CompressedBitsPerPixel"}, - { 0x9201, "EXIF_ShutterSpeedValue"}, - { 0x9202, "EXIF_ApertureValue"}, - { 0x9203, "EXIF_BrightnessValue"}, - { 0x9204, "EXIF_ExposureBiasValue"}, - { 0x9205, "EXIF_MaxApertureValue"}, - { 0x9206, "EXIF_SubjectDistance"}, - { 0x9207, "EXIF_MeteringMode"}, - { 0x9208, "EXIF_LightSource"}, - { 0x9209, "EXIF_Flash"}, - { 0x920A, "EXIF_FocalLength"}, - { 0x9214, "EXIF_SubjectArea"}, - { 0x927C, "EXIF_MakerNote"}, - { 0x9286, "EXIF_UserComment"}, - { 0x9290, "EXIF_SubSecTime"}, - { 0x9291, "EXIF_SubSecTime_Original"}, - { 0x9292, "EXIF_SubSecTime_Digitized"}, - { 0xA000, "EXIF_FlashpixVersion"}, - { 0xA001, "EXIF_ColorSpace"}, - { 0xA002, "EXIF_PixelXDimension"}, - { 0xA003, "EXIF_PixelYDimension"}, - { 0xA004, "EXIF_RelatedSoundFile"}, -// { 0xA005, "EXIF_InteroperabilityOffset"}, - { 0xA20B, "EXIF_FlashEnergy"}, // 0x920B in TIFF/EP - { 0xA20C, "EXIF_SpatialFrequencyResponse"}, // 0x920C - - - { 0xA20E, "EXIF_FocalPlaneXResolution"}, // 0x920E - - - { 0xA20F, "EXIF_FocalPlaneYResolution"}, // 0x920F - - - { 0xA210, "EXIF_FocalPlaneResolutionUnit"}, // 0x9210 - - - { 0xA214, "EXIF_SubjectLocation"}, // 0x9214 - - - { 0xA215, "EXIF_ExposureIndex"}, // 0x9215 - - - { 0xA217, "EXIF_SensingMethod"}, // 0x9217 - - - { 0xA300, "EXIF_FileSource"}, - { 0xA301, "EXIF_SceneType"}, - { 0xA302, "EXIF_CFAPattern"}, - { 0xA401, "EXIF_CustomRendered"}, - { 0xA402, "EXIF_ExposureMode"}, - { 0XA403, "EXIF_WhiteBalance"}, - { 0xA404, "EXIF_DigitalZoomRatio"}, - { 0xA405, "EXIF_FocalLengthIn35mmFilm"}, - { 0xA406, "EXIF_SceneCaptureType"}, - { 0xA407, "EXIF_GainControl"}, - { 0xA408, "EXIF_Contrast"}, - { 0xA409, "EXIF_Saturation"}, - { 0xA40A, "EXIF_Sharpness"}, - { 0xA40B, "EXIF_DeviceSettingDescription"}, - { 0xA40C, "EXIF_SubjectDistanceRange"}, - { 0xA420, "EXIF_ImageUniqueID"}, - { 0x0000, ""} -}; - - -static const struct intr_tag { - GInt16 tag; - const char* name; -} intr_tags [] = { - - { 0x1, "EXIF_Interoperability_Index"}, - { 0x2, "EXIF_Interoperability_Version"}, - { 0x1000, "EXIF_Related_Image_File_Format"}, - { 0x1001, "EXIF_Related_Image_Width"}, - { 0x1002, "EXIF_Related_Image_Length"}, - { 0x0000, ""} -}; - -typedef enum { - TIFF_NOTYPE = 0, /* placeholder */ - TIFF_BYTE = 1, /* 8-bit unsigned integer */ - TIFF_ASCII = 2, /* 8-bit bytes w/ last byte null */ - TIFF_SHORT = 3, /* 16-bit unsigned integer */ - TIFF_LONG = 4, /* 32-bit unsigned integer */ - TIFF_RATIONAL = 5, /* 64-bit unsigned fraction */ - TIFF_SBYTE = 6, /* !8-bit signed integer */ - TIFF_UNDEFINED = 7, /* !8-bit untyped data */ - TIFF_SSHORT = 8, /* !16-bit signed integer */ - TIFF_SLONG = 9, /* !32-bit signed integer */ - TIFF_SRATIONAL = 10, /* !64-bit signed fraction */ - TIFF_FLOAT = 11, /* !32-bit IEEE floating point */ - TIFF_DOUBLE = 12, /* !64-bit IEEE floating point */ - TIFF_IFD = 13 /* %32-bit unsigned integer (offset) */ -} GDALEXIFTIFFDataType; - -/* - * TIFF Image File Directories are comprised of a table of field - * descriptors of the form shown below. The table is sorted in - * ascending order by tag. The values associated with each entry are - * disjoint and may appear anywhere in the file (so long as they are - * placed on a word boundary). - * - * If the value is 4 bytes or less, then it is placed in the offset - * field to save space. If the value is less than 4 bytes, it is - * left-justified in the offset field. - */ -typedef struct { - GUInt16 tdir_tag; /* see below */ - GUInt16 tdir_type; /* data type; see below */ - GUInt32 tdir_count; /* number of items; length in spec */ - GUInt32 tdir_offset; /* byte offset to field data */ -} GDALEXIFTIFFDirEntry; - -CPL_C_START -extern int TIFFDataWidth(GDALEXIFTIFFDataType); /* table of tag datatype widths */ -extern void TIFFSwabShort(GUInt16*); -extern void TIFFSwabLong(GUInt32*); -extern void TIFFSwabDouble(double*); -extern void TIFFSwabArrayOfShort(GUInt16*, unsigned long); -extern void TIFFSwabArrayOfLong(GUInt32*, unsigned long); -extern void TIFFSwabArrayOfDouble(double*, unsigned long); -CPL_C_END diff --git a/src/gdal/gdalgeorefpamdataset.h b/src/gdal/gdalgeorefpamdataset.h deleted file mode 100644 index 326b2b37..00000000 --- a/src/gdal/gdalgeorefpamdataset.h +++ /dev/null @@ -1,57 +0,0 @@ -/****************************************************************************** - * $Id: gdalgeorefpamdataset.h 33794 2016-03-26 13:19:07Z goatbar $ - * - * Project: GDAL - * Purpose: GDALPamDataset with internal storage for georeferencing, with - * priority for PAM over internal georeferencing - * Author: Even Rouault - * - ****************************************************************************** - * Copyright (c) 2013, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_GEOREF_PAM_DATASET_H_INCLUDED -#define GDAL_GEOREF_PAM_DATASET_H_INCLUDED - -#include "gdal_pam.h" - -class CPL_DLL GDALGeorefPamDataset : public GDALPamDataset -{ - protected: - bool bGeoTransformValid; - double adfGeoTransform[6]; - char *pszProjection; - int nGCPCount; - GDAL_GCP *pasGCPList; - - public: - GDALGeorefPamDataset(); - virtual ~GDALGeorefPamDataset(); - - virtual CPLErr GetGeoTransform( double * ); - virtual const char *GetProjectionRef(); - - virtual int GetGCPCount(); - virtual const char *GetGCPProjection(); - virtual const GDAL_GCP *GetGCPs(); -}; - -#endif /* GDAL_GEOREF_PAM_DATASET_H_INCLUDED */ diff --git a/src/gdal/gdalgrid.h b/src/gdal/gdalgrid.h deleted file mode 100644 index f111130f..00000000 --- a/src/gdal/gdalgrid.h +++ /dev/null @@ -1,137 +0,0 @@ -/****************************************************************************** - * $Id: gdalgrid.h 29541 2015-07-20 14:03:42Z rouault $ - * - * Project: GDAL Gridding API. - * Purpose: Prototypes, and definitions for of GDAL scattered data gridder. - * Author: Andrey Kiselev, dron@ak4719.spb.edu - * - ****************************************************************************** - * Copyright (c) 2007, Andrey Kiselev - * Copyright (c) 2012, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDALGRID_H_INCLUDED -#define GDALGRID_H_INCLUDED - -/** - * \file gdalgrid.h - * - * GDAL gridder related entry points and definitions. - */ - -#include "gdal_alg.h" - -/* - * GridCreate Algorithm names - */ - -static const char szAlgNameInvDist[] = "invdist"; -static const char szAlgNameInvDistNearestNeighbor[] = "invdistnn"; -static const char szAlgNameAverage[] = "average"; -static const char szAlgNameNearest[] = "nearest"; -static const char szAlgNameMinimum[] = "minimum"; -static const char szAlgNameMaximum[] = "maximum"; -static const char szAlgNameRange[] = "range"; -static const char szAlgNameCount[] = "count"; -static const char szAlgNameAverageDistance[] = "average_distance"; -static const char szAlgNameAverageDistancePts[] = "average_distance_pts"; -static const char szAlgNameLinear[] = "linear"; - -CPL_C_START - -typedef CPLErr (*GDALGridFunction)( const void *, GUInt32, - const double *, const double *, - const double *, - double, double, double *, - void* ); -CPLErr -GDALGridInverseDistanceToAPower( const void *, GUInt32, - const double *, const double *, - const double *, - double, double, double *, - void* ); -CPLErr -GDALGridInverseDistanceToAPowerNearestNeighbor( const void *, GUInt32, - const double *, const double *, - const double *, - double, double, double *, - void* ); -CPLErr -GDALGridInverseDistanceToAPowerNoSearch( const void *, GUInt32, - const double *, const double *, - const double *, - double, double, double *, - void* ); -CPLErr -GDALGridMovingAverage( const void *, GUInt32, - const double *, const double *, const double *, - double, double, double *, - void* ); -CPLErr -GDALGridNearestNeighbor( const void *, GUInt32, - const double *, const double *, const double *, - double, double, double *, - void* ); -CPLErr -GDALGridDataMetricMinimum( const void *, GUInt32, - const double *, const double *, const double *, - double, double, double *, - void* ); -CPLErr -GDALGridDataMetricMaximum( const void *, GUInt32, - const double *, const double *, const double *, - double, double, double *, - void* ); -CPLErr -GDALGridDataMetricRange( const void *, GUInt32, - const double *, const double *, const double *, - double, double, double *, - void* ); -CPLErr -GDALGridDataMetricCount( const void *, GUInt32, - const double *, const double *, const double *, - double, double, double *, - void* ); -CPLErr -GDALGridDataMetricAverageDistance( const void *, GUInt32, - const double *, const double *, - const double *, double, double, double *, - void* ); -CPLErr -GDALGridDataMetricAverageDistancePts( const void *, GUInt32, - const double *, const double *, - const double *, double, double, - double *, - void* ); -CPLErr -GDALGridLinear( const void *, GUInt32, - const double *, const double *, - const double *, - double, double, double *, - void* ); - -CPLErr CPL_DLL -ParseAlgorithmAndOptions( const char *, - GDALGridAlgorithm *, - void ** ); -CPL_C_END - -#endif /* GDALGRID_H_INCLUDED */ diff --git a/src/gdal/gdalgrid_priv.h b/src/gdal/gdalgrid_priv.h deleted file mode 100644 index 9fe4e137..00000000 --- a/src/gdal/gdalgrid_priv.h +++ /dev/null @@ -1,106 +0,0 @@ -/****************************************************************************** - * $Id: gdalgrid_priv.h 33715 2016-03-13 08:52:06Z goatbar $ - * - * Project: GDAL Gridding API. - * Purpose: Prototypes, and definitions for of GDAL scattered data gridder. - * Author: Even Rouault, - * - ****************************************************************************** - * Copyright (c) 2013, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#include "cpl_error.h" -#include "cpl_quad_tree.h" - -typedef struct -{ - const double* padfX; - const double* padfY; -} GDALGridXYArrays; - -typedef struct -{ - GDALGridXYArrays* psXYArrays; - int i; -} GDALGridPoint; - -typedef struct -{ - CPLQuadTree* hQuadTree; - double dfInitialSearchRadius; - const float *pafX; - const float *pafY; - const float *pafZ; - GDALTriangulation* psTriangulation; - int nInitialFacetIdx; - /*! Weighting power divided by 2 (pre-computation). */ - double dfPowerDiv2PreComp; - /*! The radius of search circle squared (pre-computation). */ - double dfRadiusPower2PreComp; - /*! The radius of search circle to power 4 (pre-computation). */ - double dfRadiusPower4PreComp; -} GDALGridExtraParameters; - -#ifdef HAVE_SSE_AT_COMPILE_TIME -int CPLHaveRuntimeSSE(); - -CPLErr -GDALGridInverseDistanceToAPower2NoSmoothingNoSearchSSE( - const void *poOptions, - GUInt32 nPoints, - const double *unused_padfX, - const double *unused_padfY, - const double *unused_padfZ, - double dfXPoint, double dfYPoint, - double *pdfValue, - void* hExtraParamsIn ); -#endif - -#ifdef HAVE_AVX_AT_COMPILE_TIME -int CPLHaveRuntimeAVX(); - -CPLErr GDALGridInverseDistanceToAPower2NoSmoothingNoSearchAVX( - const void *poOptions, - GUInt32 nPoints, - const double *unused_padfX, - const double *unused_padfY, - const double *unused_padfZ, - double dfXPoint, double dfYPoint, - double *pdfValue, - void* hExtraParamsIn ); -#endif -#if defined(__GNUC__) -#if defined(__x86_64) -#define GCC_CPUID(level, a, b, c, d) \ - __asm__ ("xchgq %%rbx, %q1\n" \ - "cpuid\n" \ - "xchgq %%rbx, %q1" \ - : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \ - : "0" (level)) -#else -#define GCC_CPUID(level, a, b, c, d) \ - __asm__ ("xchgl %%ebx, %1\n" \ - "cpuid\n" \ - "xchgl %%ebx, %1" \ - : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \ - : "0" (level)) -#endif -#endif diff --git a/src/gdal/gdaljp2abstractdataset.h b/src/gdal/gdaljp2abstractdataset.h deleted file mode 100644 index aea9600c..00000000 --- a/src/gdal/gdaljp2abstractdataset.h +++ /dev/null @@ -1,60 +0,0 @@ -/****************************************************************************** - * $Id: gdaljp2abstractdataset.h 33794 2016-03-26 13:19:07Z goatbar $ - * - * Project: GDAL - * Purpose: GDALGeorefPamDataset with helper to read georeferencing and other - * metadata from JP2Boxes - * Author: Even Rouault - * - ****************************************************************************** - * Copyright (c) 2013, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_JP2_ABSTRACT_DATASET_H_INCLUDED -#define GDAL_JP2_ABSTRACT_DATASET_H_INCLUDED - -#include "gdalgeorefpamdataset.h" - -class CPL_DLL GDALJP2AbstractDataset: public GDALGeorefPamDataset -{ - char* pszWldFilename; - - GDALDataset* poMemDS; - char** papszMetadataFiles; - - protected: - virtual int CloseDependentDatasets(); - - public: - GDALJP2AbstractDataset(); - virtual ~GDALJP2AbstractDataset(); - - void LoadJP2Metadata(GDALOpenInfo* poOpenInfo, - const char* pszOverrideFilename = NULL); - void LoadVectorLayers(int bOpenRemoteResources = FALSE); - - virtual char **GetFileList(void); - - virtual int GetLayerCount(); - virtual OGRLayer *GetLayer(int i); -}; - -#endif /* GDAL_JP2_ABSTRACT_DATASET_H_INCLUDED */ diff --git a/src/gdal/gdaljp2metadata.h b/src/gdal/gdaljp2metadata.h deleted file mode 100644 index 8e80d90a..00000000 --- a/src/gdal/gdaljp2metadata.h +++ /dev/null @@ -1,196 +0,0 @@ -/****************************************************************************** - * $Id: gdaljp2metadata.h 33694 2016-03-10 17:54:30Z goatbar $ - * - * Project: GDAL - * Purpose: JP2 Box Reader (and GMLJP2 Interpreter) - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 2005, Frank Warmerdam - * Copyright (c) 2010-2013, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_JP2READER_H_INCLUDED -#define GDAL_JP2READER_H_INCLUDED - -#include "cpl_conv.h" -#include "cpl_minixml.h" -#include "cpl_vsi.h" -#include "gdal.h" -#include "gdal_priv.h" - -/************************************************************************/ -/* GDALJP2Box */ -/************************************************************************/ - -class CPL_DLL GDALJP2Box -{ - - VSILFILE *fpVSIL; - - char szBoxType[5]; - - GIntBig nBoxOffset; - GIntBig nBoxLength; - - GIntBig nDataOffset; - - GByte abyUUID[16]; - - GByte *pabyData; - -public: - GDALJP2Box( VSILFILE * = NULL ); - ~GDALJP2Box(); - - int SetOffset( GIntBig nNewOffset ); - int ReadBox(); - - int ReadFirst(); - int ReadNext(); - - int ReadFirstChild( GDALJP2Box *poSuperBox ); - int ReadNextChild( GDALJP2Box *poSuperBox ); - - GIntBig GetBoxOffset() const { return nBoxOffset; } - GIntBig GetBoxLength() const { return nBoxLength; } - - GIntBig GetDataOffset() const { return nDataOffset; } - GIntBig GetDataLength(); - - const char *GetType() { return szBoxType; } - - GByte *ReadBoxData(); - - int IsSuperBox(); - - int DumpReadable( FILE *, int nIndentLevel = 0 ); - - VSILFILE *GetFILE() { return fpVSIL; } - - const GByte *GetUUID() { return abyUUID; } - - // write support - void SetType( const char * ); - void SetWritableData( int nLength, const GByte *pabyData ); - void AppendWritableData( int nLength, const void *pabyDataIn ); - void AppendUInt32( GUInt32 nVal ); - void AppendUInt16( GUInt16 nVal ); - void AppendUInt8( GByte nVal ); - const GByte*GetWritableData() { return pabyData; } - - // factory methods. - static GDALJP2Box *CreateSuperBox( const char* pszType, - int nCount, GDALJP2Box **papoBoxes ); - static GDALJP2Box *CreateAsocBox( int nCount, GDALJP2Box **papoBoxes ); - static GDALJP2Box *CreateLblBox( const char *pszLabel ); - static GDALJP2Box *CreateLabelledXMLAssoc( const char *pszLabel, - const char *pszXML ); - static GDALJP2Box *CreateUUIDBox( const GByte *pabyUUID, - int nDataSize, const GByte *pabyData ); -}; - -/************************************************************************/ -/* GDALJP2Metadata */ -/************************************************************************/ - -typedef struct _GDALJP2GeoTIFFBox GDALJP2GeoTIFFBox; - -class CPL_DLL GDALJP2Metadata - -{ -private: - void CollectGMLData( GDALJP2Box * ); - int GMLSRSLookup( const char *pszURN ); - - int nGeoTIFFBoxesCount; - GDALJP2GeoTIFFBox *pasGeoTIFFBoxes; - - int nMSIGSize; - GByte *pabyMSIGData; - - int GetGMLJP2GeoreferencingInfo( int& nEPSGCode, - double adfOrigin[2], - double adfXVector[2], - double adfYVector[2], - const char*& pszComment, - CPLString& osDictBox, - int& bNeedAxisFlip ); - static CPLXMLNode* CreateGDALMultiDomainMetadataXML( - GDALDataset* poSrcDS, - int bMainMDDomainOnly ); - -public: - char **papszGMLMetadata; - - int bHaveGeoTransform; - double adfGeoTransform[6]; - int bPixelIsPoint; - - char *pszProjection; - - int nGCPCount; - GDAL_GCP *pasGCPList; - - char **papszRPCMD; - - char **papszMetadata; /* TIFFTAG_?RESOLUTION* for now from resd box */ - char *pszXMPMetadata; - char *pszGDALMultiDomainMetadata; /* as serialized XML */ - char *pszXMLIPR; /* if an IPR box with XML content has been found */ - -public: - GDALJP2Metadata(); - ~GDALJP2Metadata(); - - int ReadBoxes( VSILFILE * fpVSIL ); - - int ParseJP2GeoTIFF(); - int ParseMSIG(); - int ParseGMLCoverageDesc(); - - int ReadAndParse( VSILFILE * fpVSIL ); - int ReadAndParse( const char *pszFilename ); - - // Write oriented. - void SetProjection( const char *pszWKT ); - void SetGeoTransform( double * ); - void SetGCPs( int, const GDAL_GCP * ); - void SetRPCMD( char** papszRPCMDIn ); - - GDALJP2Box *CreateJP2GeoTIFF(); - GDALJP2Box *CreateGMLJP2( int nXSize, int nYSize ); - GDALJP2Box *CreateGMLJP2V2( int nXSize, int nYSize, - const char* pszDefFilename, - GDALDataset* poSrcDS ); - - static GDALJP2Box* CreateGDALMultiDomainMetadataXMLBox( - GDALDataset* poSrcDS, - int bMainMDDomainOnly ); - static GDALJP2Box** CreateXMLBoxes( GDALDataset* poSrcDS, - int* pnBoxes ); - static GDALJP2Box *CreateXMPBox ( GDALDataset* poSrcDS ); - static GDALJP2Box *CreateIPRBox ( GDALDataset* poSrcDS ); - static int IsUUID_MSI(const GByte *abyUUID); - static int IsUUID_XMP(const GByte *abyUUID); -}; - -#endif /* ndef GDAL_JP2READER_H_INCLUDED */ diff --git a/src/gdal/gdaljp2metadatagenerator.h b/src/gdal/gdaljp2metadatagenerator.h deleted file mode 100644 index bf7faf01..00000000 --- a/src/gdal/gdaljp2metadatagenerator.h +++ /dev/null @@ -1,40 +0,0 @@ -/****************************************************************************** - * $Id: gdaljp2metadatagenerator.h 33694 2016-03-10 17:54:30Z goatbar $ - * - * Project: GDAL - * Purpose: GDALJP2Metadata: metadata generator - * Author: Even Rouault - * - ****************************************************************************** - * Copyright (c) 2015, European Union Satellite Centre - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_JP2METADATA_GENERATOR_H_INCLUDED -#define GDAL_JP2METADATA_GENERATOR_H_INCLUDED - - -#include "cpl_string.h" -#include "cpl_minixml.h" - -CPLXMLNode* GDALGMLJP2GenerateMetadata(const CPLString& osTemplateFile, - const CPLString& osSourceFile); - -#endif /* GDAL_JP2METADATA_GENERATOR_H_INCLUDED */ diff --git a/src/gdal/gdalpansharpen.h b/src/gdal/gdalpansharpen.h deleted file mode 100644 index 97f60db5..00000000 --- a/src/gdal/gdalpansharpen.h +++ /dev/null @@ -1,270 +0,0 @@ -/****************************************************************************** - * $Id: gdalpansharpen.h 33715 2016-03-13 08:52:06Z goatbar $ - * - * Project: GDAL Pansharpening module - * Purpose: Prototypes, and definitions for pansharpening related work. - * Author: Even Rouault - * - ****************************************************************************** - * Copyright (c) 2015, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDALPANSHARPEN_H_INCLUDED -#define GDALPANSHARPEN_H_INCLUDED - -#include "gdal.h" - -CPL_C_START - -/** - * \file gdalpansharpen.h - * - * GDAL pansharpening related entry points and definitions. - * - * @since GDAL 2.1 - */ - -/** Pansharpening algorithms. - */ -typedef enum -{ - /*! Weighted Brovery. */ - GDAL_PSH_WEIGHTED_BROVEY -} GDALPansharpenAlg; - -/** Pansharpening options. - */ -typedef struct -{ - /*! Pan sharpening algorithm/method. Only weighed Brovey for now. */ - GDALPansharpenAlg ePansharpenAlg; - - /*! Resampling algorithm to upsample spectral bands to pan band resolution. */ - GDALRIOResampleAlg eResampleAlg; - - /*! Bit depth of the spectral bands. Can be let to 0 for default behaviour. */ - int nBitDepth; - - /*! Number of weight coefficients in padfWeights. */ - int nWeightCount; - - /*! Array of nWeightCount weights used by weighted Brovey. */ - double *padfWeights; - - /*! Panchromatic band. */ - GDALRasterBandH hPanchroBand; - - /*! Number of input spectral bands. */ - int nInputSpectralBands; - - /** Array of nInputSpectralBands input spectral bands. The spectral band have - * generally a coarser resolution than the panchromatic band, but they - * are assumed to have the same spatial extent (and projection) at that point. - * Necessary spatial adjustments must be done beforehand, for example by wrapping - * inside a VRT dataset. - */ - GDALRasterBandH *pahInputSpectralBands; - - /*! Number of output pansharpened spectral bands. */ - int nOutPansharpenedBands; - - /*! Array of nOutPansharpendBands values such as panOutPansharpenedBands[k] is a value in the range [0,nInputSpectralBands-1] . */ - int *panOutPansharpenedBands; - - /*! Whether the panchromatic and spectral bands have a noData value. */ - int bHasNoData; - - /** NoData value of the panchromatic and spectral bands (only taken into account if bHasNoData = TRUE). - This will also be use has the output nodata value. */ - double dfNoData; - - /** Number of threads or -1 to mean ALL_CPUS. By default (0), single threaded mode is enabled - * unless the GDAL_NUM_THREADS configuration option is set to an integer or ALL_CPUS. */ - int nThreads; - - double dfMSShiftX; - double dfMSShiftY; - -} GDALPansharpenOptions; - - -GDALPansharpenOptions CPL_DLL * GDALCreatePansharpenOptions(void); -void CPL_DLL GDALDestroyPansharpenOptions( GDALPansharpenOptions * ); -GDALPansharpenOptions CPL_DLL * GDALClonePansharpenOptions( - const GDALPansharpenOptions* psOptions); - -/*! Pansharpening operation handle. */ -typedef void* GDALPansharpenOperationH; - -GDALPansharpenOperationH CPL_DLL GDALCreatePansharpenOperation(const GDALPansharpenOptions* ); -void CPL_DLL GDALDestroyPansharpenOperation( GDALPansharpenOperationH ); -CPLErr CPL_DLL GDALPansharpenProcessRegion( GDALPansharpenOperationH hOperation, - int nXOff, int nYOff, - int nXSize, int nYSize, - void *pDataBuf, - GDALDataType eBufDataType); - -CPL_C_END - -#ifdef __cplusplus - -#include -#include "gdal_priv.h" -#include "cpl_worker_thread_pool.h" - -#ifdef DEBUG_TIMING -#include -#endif - -class GDALPansharpenOperation; - -typedef struct -{ - GDALPansharpenOperation* poPansharpenOperation; - GDALDataType eWorkDataType; - GDALDataType eBufDataType; - const void* pPanBuffer; - const void* pUpsampledSpectralBuffer; - void* pDataBuf; - int nValues; - int nBandValues; - GUInt32 nMaxValue; - -#ifdef DEBUG_TIMING - struct timeval* ptv; -#endif - - CPLErr eErr; -} GDALPansharpenJob; - -typedef struct -{ - GDALDataset* poMEMDS; - int nXOff; - int nYOff; - int nXSize; - int nYSize; - double dfXOff; - double dfYOff; - double dfXSize; - double dfYSize; - void *pBuffer; - GDALDataType eDT; - int nBufXSize; - int nBufYSize; - int nBandCount; - GDALRIOResampleAlg eResampleAlg; - GSpacing nBandSpace; - -#ifdef DEBUG_TIMING - struct timeval* ptv; -#endif -} GDALPansharpenResampleJob; - -/** Pansharpening operation class. - */ -class GDALPansharpenOperation -{ - GDALPansharpenOptions* psOptions; - std::vector anInputBands; - std::vector aVDS; // to destroy - std::vector aMSBands; // original multispectral bands potentially warped into a VRT - int bPositiveWeights; - CPLWorkerThreadPool* poThreadPool; - int nKernelRadius; - - static void PansharpenJobThreadFunc(void* pUserData); - static void PansharpenResampleJobThreadFunc(void* pUserData); - - template void WeightedBroveyWithNoData( - const WorkDataType* pPanBuffer, - const WorkDataType* pUpsampledSpectralBuffer, - OutDataType* pDataBuf, - int nValues, - int nBandValues, - WorkDataType nMaxValue) const; - template void WeightedBrovey3( - const WorkDataType* pPanBuffer, - const WorkDataType* pUpsampledSpectralBuffer, - OutDataType* pDataBuf, - int nValues, - int nBandValues, - WorkDataType nMaxValue) const; - template void WeightedBrovey( - const WorkDataType* pPanBuffer, - const WorkDataType* pUpsampledSpectralBuffer, - OutDataType* pDataBuf, - int nValues, - int nBandValues, - WorkDataType nMaxValue) const; - template CPLErr WeightedBrovey( - const WorkDataType* pPanBuffer, - const WorkDataType* pUpsampledSpectralBuffer, - void *pDataBuf, - GDALDataType eBufDataType, - int nValues, - int nBandValues, - WorkDataType nMaxValue) const; - template CPLErr WeightedBrovey( - const WorkDataType* pPanBuffer, - const WorkDataType* pUpsampledSpectralBuffer, - void *pDataBuf, - GDALDataType eBufDataType, - int nValues, - int nBandValues) const; - void WeightedBroveyPositiveWeights( - const GUInt16* pPanBuffer, - const GUInt16* pUpsampledSpectralBuffer, - GUInt16* pDataBuf, - int nValues, - int nBandValues, - GUInt16 nMaxValue) const; - - template int WeightedBroveyPositiveWeightsInternal( - const GUInt16* pPanBuffer, - const GUInt16* pUpsampledSpectralBuffer, - GUInt16* pDataBuf, - int nValues, - int nBandValues, - GUInt16 nMaxValue) const; - - CPLErr PansharpenChunk( GDALDataType eWorkDataType, GDALDataType eBufDataType, - const void* pPanBuffer, - const void* pUpsampledSpectralBuffer, - void* pDataBuf, - int nValues, - int nBandValues, - GUInt32 nMaxValue) const; - public: - GDALPansharpenOperation(); - ~GDALPansharpenOperation(); - - CPLErr Initialize(const GDALPansharpenOptions* psOptions); - CPLErr ProcessRegion(int nXOff, int nYOff, - int nXSize, int nYSize, - void *pDataBuf, - GDALDataType eBufDataType); - GDALPansharpenOptions* GetOptions(); -}; - -#endif /* __cplusplus */ - -#endif /* GDALPANSHARPEN_H_INCLUDED */ diff --git a/src/gdal/gdalsse_priv.h b/src/gdal/gdalsse_priv.h deleted file mode 100644 index ffc10ef3..00000000 --- a/src/gdal/gdalsse_priv.h +++ /dev/null @@ -1,855 +0,0 @@ -/****************************************************************************** - * $Id: gdalsse_priv.h 32173 2015-12-14 00:04:53Z goatbar $ - * - * Project: GDAL - * Purpose: SSE2 helper - * Author: Even Rouault - * - ****************************************************************************** - * Copyright (c) 2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDALSSE_PRIV_H_INCLUDED -#define GDALSSE_PRIV_H_INCLUDED - -#include "cpl_port.h" - -/* We restrict to 64bit processors because they are guaranteed to have SSE2 */ -/* Could possibly be used too on 32bit, but we would need to check at runtime */ -#if (defined(__x86_64) || defined(_M_X64)) && !defined(USE_SSE2_EMULATION) - -/* Requires SSE2 */ -#include -#include - -class XMMReg2Double -{ - public: - __m128d xmm; - - /* coverity[uninit_member] */ - XMMReg2Double() {} - - XMMReg2Double(double val) { xmm = _mm_load_sd (&val); } - XMMReg2Double(const XMMReg2Double& other) : xmm(other.xmm) {} - - static inline XMMReg2Double Zero() - { - XMMReg2Double reg; - reg.Zeroize(); - return reg; - } - - static inline XMMReg2Double Load1ValHighAndLow(const double* ptr) - { - XMMReg2Double reg; - reg.nsLoad1ValHighAndLow(ptr); - return reg; - } - - static inline XMMReg2Double Load2Val(const double* ptr) - { - XMMReg2Double reg; - reg.nsLoad2Val(ptr); - return reg; - } - - static inline XMMReg2Double Load2Val(const float* ptr) - { - XMMReg2Double reg; - reg.nsLoad2Val(ptr); - return reg; - } - - static inline XMMReg2Double Load2ValAligned(const double* ptr) - { - XMMReg2Double reg; - reg.nsLoad2ValAligned(ptr); - return reg; - } - - static inline XMMReg2Double Load2Val(const unsigned char* ptr) - { - XMMReg2Double reg; - reg.nsLoad2Val(ptr); - return reg; - } - - static inline XMMReg2Double Load2Val(const short* ptr) - { - XMMReg2Double reg; - reg.nsLoad2Val(ptr); - return reg; - } - - static inline XMMReg2Double Load2Val(const unsigned short* ptr) - { - XMMReg2Double reg; - reg.nsLoad2Val(ptr); - return reg; - } - - static inline XMMReg2Double Equals(const XMMReg2Double& expr1, const XMMReg2Double& expr2) - { - XMMReg2Double reg; - reg.xmm = _mm_cmpeq_pd(expr1.xmm, expr2.xmm); - return reg; - } - - static inline XMMReg2Double NotEquals(const XMMReg2Double& expr1, const XMMReg2Double& expr2) - { - XMMReg2Double reg; - reg.xmm = _mm_cmpneq_pd(expr1.xmm, expr2.xmm); - return reg; - } - - static inline XMMReg2Double Greater(const XMMReg2Double& expr1, const XMMReg2Double& expr2) - { - XMMReg2Double reg; - reg.xmm = _mm_cmpgt_pd(expr1.xmm, expr2.xmm); - return reg; - } - - static inline XMMReg2Double And(const XMMReg2Double& expr1, const XMMReg2Double& expr2) - { - XMMReg2Double reg; - reg.xmm = _mm_and_pd(expr1.xmm, expr2.xmm); - return reg; - } - - static inline XMMReg2Double Ternary(const XMMReg2Double& cond, const XMMReg2Double& true_expr, const XMMReg2Double& false_expr) - { - XMMReg2Double reg; - reg.xmm = _mm_or_pd(_mm_and_pd (cond.xmm, true_expr.xmm), _mm_andnot_pd(cond.xmm, false_expr.xmm)); - return reg; - } - - static inline XMMReg2Double Min(const XMMReg2Double& expr1, const XMMReg2Double& expr2) - { - XMMReg2Double reg; - reg.xmm = _mm_min_pd(expr1.xmm, expr2.xmm); - return reg; - } - - inline void nsLoad1ValHighAndLow(const double* ptr) - { - xmm = _mm_load1_pd(ptr); - } - - inline void nsLoad2Val(const double* ptr) - { - xmm = _mm_loadu_pd(ptr); - } - - inline void nsLoad2ValAligned(const double* pval) - { - xmm = _mm_load_pd(pval); - } - - inline void nsLoad2Val(const float* pval) - { - __m128 temp1 = _mm_load_ss(pval); - __m128 temp2 = _mm_load_ss(pval + 1); - temp1 = _mm_shuffle_ps(temp1, temp2, _MM_SHUFFLE(1,0,1,0)); - temp1 = _mm_shuffle_ps(temp1, temp1, _MM_SHUFFLE(3,3,2,0)); - xmm = _mm_cvtps_pd(temp1); - } - - inline void nsLoad2Val(const unsigned char* ptr) - { -#ifdef CPL_CPU_REQUIRES_ALIGNED_ACCESS - unsigned short s; - memcpy(&s, ptr, 2); - __m128i xmm_i = _mm_cvtsi32_si128(s); -#else - __m128i xmm_i = _mm_cvtsi32_si128(*(unsigned short*)(ptr)); -#endif - xmm_i = _mm_unpacklo_epi8(xmm_i, _mm_setzero_si128()); - xmm_i = _mm_unpacklo_epi16(xmm_i, _mm_setzero_si128()); - xmm = _mm_cvtepi32_pd(xmm_i); - } - - inline void nsLoad2Val(const short* ptr) - { - int i; - memcpy(&i, ptr, 4); - __m128i xmm_i = _mm_cvtsi32_si128(i); - xmm_i = _mm_unpacklo_epi16(xmm_i,xmm_i); /* 0|0|0|0|0|0|b|a --> 0|0|0|0|b|b|a|a */ - xmm_i = _mm_srai_epi32(xmm_i, 16); /* 0|0|0|0|b|b|a|a --> 0|0|0|0|sign(b)|b|sign(a)|a */ - xmm = _mm_cvtepi32_pd(xmm_i); - } - - inline void nsLoad2Val(const unsigned short* ptr) - { - int i; - memcpy(&i, ptr, 4); - __m128i xmm_i = _mm_cvtsi32_si128(i); - xmm_i = _mm_unpacklo_epi16(xmm_i,xmm_i); /* 0|0|0|0|0|0|b|a --> 0|0|0|0|b|b|a|a */ - xmm_i = _mm_srli_epi32(xmm_i, 16); /* 0|0|0|0|b|b|a|a --> 0|0|0|0|0|b|0|a */ - xmm = _mm_cvtepi32_pd(xmm_i); - } - - static inline void Load4Val(const unsigned char* ptr, XMMReg2Double& low, XMMReg2Double& high) - { -#ifdef CPL_CPU_REQUIRES_ALIGNED_ACCESS - int i; - memcpy(&i, ptr, 4); - __m128i xmm_i = _mm_cvtsi32_si128(i); -#else - __m128i xmm_i = _mm_cvtsi32_si128(*(int*)(ptr)); -#endif - xmm_i = _mm_unpacklo_epi8(xmm_i, _mm_setzero_si128()); - xmm_i = _mm_unpacklo_epi16(xmm_i, _mm_setzero_si128()); - low.xmm = _mm_cvtepi32_pd(xmm_i); - high.xmm = _mm_cvtepi32_pd(_mm_shuffle_epi32(xmm_i,_MM_SHUFFLE(3,2,3,2))); - } - - static inline void Load4Val(const short* ptr, XMMReg2Double& low, XMMReg2Double& high) - { - low.nsLoad2Val(ptr); - high.nsLoad2Val(ptr+2); - } - - static inline void Load4Val(const unsigned short* ptr, XMMReg2Double& low, XMMReg2Double& high) - { - low.nsLoad2Val(ptr); - high.nsLoad2Val(ptr+2); - } - - static inline void Load4Val(const double* ptr, XMMReg2Double& low, XMMReg2Double& high) - { - low.nsLoad2Val(ptr); - high.nsLoad2Val(ptr+2); - } - - static inline void Load4Val(const float* ptr, XMMReg2Double& low, XMMReg2Double& high) - { - __m128 temp1 = _mm_loadu_ps(ptr); - __m128 temp2 = _mm_shuffle_ps(temp1, temp1, _MM_SHUFFLE(3,2,3,2)); - low.xmm = _mm_cvtps_pd(temp1); - high.xmm = _mm_cvtps_pd(temp2); - } - - inline void Zeroize() - { - xmm = _mm_setzero_pd(); - } - - inline XMMReg2Double& operator= (const XMMReg2Double& other) - { - xmm = other.xmm; - return *this; - } - - inline XMMReg2Double& operator+= (const XMMReg2Double& other) - { - xmm = _mm_add_pd(xmm, other.xmm); - return *this; - } - - inline XMMReg2Double& operator*= (const XMMReg2Double& other) - { - xmm = _mm_mul_pd(xmm, other.xmm); - return *this; - } - - inline XMMReg2Double operator+ (const XMMReg2Double& other) const - { - XMMReg2Double ret; - ret.xmm = _mm_add_pd(xmm, other.xmm); - return ret; - } - - inline XMMReg2Double operator- (const XMMReg2Double& other) const - { - XMMReg2Double ret; - ret.xmm = _mm_sub_pd(xmm, other.xmm); - return ret; - } - - inline XMMReg2Double operator* (const XMMReg2Double& other) const - { - XMMReg2Double ret; - ret.xmm = _mm_mul_pd(xmm, other.xmm); - return ret; - } - - inline XMMReg2Double operator/ (const XMMReg2Double& other) const - { - XMMReg2Double ret; - ret.xmm = _mm_div_pd(xmm, other.xmm); - return ret; - } - - inline void AddLowAndHigh() - { - __m128d xmm2; - xmm2 = _mm_shuffle_pd(xmm,xmm,_MM_SHUFFLE2(0,1)); /* transfer high word into low word of xmm2 */ - xmm = _mm_add_pd(xmm, xmm2); - } - - inline void Store2Double(double* pval) const - { - _mm_storeu_pd(pval, xmm); - } - - inline void Store2DoubleAligned(double* pval) const - { - _mm_store_pd(pval, xmm); - } - - void Store2Val(unsigned short* ptr) const - { - __m128i tmp = _mm_cvtpd_epi32(xmm); /* Convert the 2 double values to 2 integers */ - ptr[0] = (GUInt16)_mm_extract_epi16(tmp, 0); - ptr[1] = (GUInt16)_mm_extract_epi16(tmp, 2); - } - - inline operator double () const - { - double val; - _mm_store_sd(&val, xmm); - return val; - } -}; - -#else - -#warning "Software emulation of SSE2 !" - -class XMMReg2Double -{ - public: - double low; - double high; - - XMMReg2Double() {} - XMMReg2Double(double val) { low = val; high = 0.0; } - XMMReg2Double(const XMMReg2Double& other) : low(other.low), high(other.high) {} - - static inline XMMReg2Double Zero() - { - XMMReg2Double reg; - reg.Zeroize(); - return reg; - } - - static inline XMMReg2Double Load1ValHighAndLow(const double* ptr) - { - XMMReg2Double reg; - reg.nsLoad1ValHighAndLow(ptr); - return reg; - } - - static inline XMMReg2Double Equals(const XMMReg2Double& expr1, const XMMReg2Double& expr2) - { - XMMReg2Double reg; - - if (expr1.low == expr2.low) - memset(&(reg.low), 0xFF, sizeof(double)); - else - reg.low = 0; - - if (expr1.high == expr2.high) - memset(&(reg.high), 0xFF, sizeof(double)); - else - reg.high = 0; - - return reg; - } - - static inline XMMReg2Double NotEquals(const XMMReg2Double& expr1, const XMMReg2Double& expr2) - { - XMMReg2Double reg; - - if (expr1.low != expr2.low) - memset(&(reg.low), 0xFF, sizeof(double)); - else - reg.low = 0; - - if (expr1.high != expr2.high) - memset(&(reg.high), 0xFF, sizeof(double)); - else - reg.high = 0; - - return reg; - } - - static inline XMMReg2Double Greater(const XMMReg2Double& expr1, const XMMReg2Double& expr2) - { - XMMReg2Double reg; - - if (expr1.low > expr2.low) - memset(&(reg.low), 0xFF, sizeof(double)); - else - reg.low = 0; - - if (expr1.high > expr2.high) - memset(&(reg.high), 0xFF, sizeof(double)); - else - reg.high = 0; - - return reg; - } - - static inline XMMReg2Double And(const XMMReg2Double& expr1, const XMMReg2Double& expr2) - { - XMMReg2Double reg; - int low1[2], high1[2]; - int low2[2], high2[2]; - memcpy(low1, &expr1.low, sizeof(double)); - memcpy(high1, &expr1.high, sizeof(double)); - memcpy(low2, &expr2.low, sizeof(double)); - memcpy(high2, &expr2.high, sizeof(double)); - low1[0] &= low2[0]; - low1[1] &= low2[1]; - high1[0] &= high2[0]; - high1[1] &= high2[1]; - memcpy(®.low, low1, sizeof(double)); - memcpy(®.high, high1, sizeof(double)); - return reg; - } - - static inline XMMReg2Double Ternary(const XMMReg2Double& cond, const XMMReg2Double& true_expr, const XMMReg2Double& false_expr) - { - XMMReg2Double reg; - if( cond.low ) - reg.low = true_expr.low; - else - reg.low = false_expr.low; - if( cond.high ) - reg.high = true_expr.high; - else - reg.high = false_expr.high; - return reg; - } - - static inline XMMReg2Double Min(const XMMReg2Double& expr1, const XMMReg2Double& expr2) - { - XMMReg2Double reg; - reg.low = (expr1.low < expr2.low) ? expr1.low : expr2.high; - reg.high = (expr1.high < expr2.high) ? expr1.high : expr2.low; - return reg; - } - - static inline XMMReg2Double Load2Val(const double* ptr) - { - XMMReg2Double reg; - reg.nsLoad2Val(ptr); - return reg; - } - - static inline XMMReg2Double Load2ValAligned(const double* ptr) - { - XMMReg2Double reg; - reg.nsLoad2ValAligned(ptr); - return reg; - } - - static inline XMMReg2Double Load2Val(const float* ptr) - { - XMMReg2Double reg; - reg.nsLoad2Val(ptr); - return reg; - } - - static inline XMMReg2Double Load2Val(const unsigned char* ptr) - { - XMMReg2Double reg; - reg.nsLoad2Val(ptr); - return reg; - } - - static inline XMMReg2Double Load2Val(const short* ptr) - { - XMMReg2Double reg; - reg.nsLoad2Val(ptr); - return reg; - } - - static inline XMMReg2Double Load2Val(const unsigned short* ptr) - { - XMMReg2Double reg; - reg.nsLoad2Val(ptr); - return reg; - } - - inline void nsLoad1ValHighAndLow(const double* pval) - { - low = pval[0]; - high = pval[0]; - } - - inline void nsLoad2Val(const double* pval) - { - low = pval[0]; - high = pval[1]; - } - - inline void nsLoad2ValAligned(const double* pval) - { - low = pval[0]; - high = pval[1]; - } - - inline void nsLoad2Val(const float* pval) - { - low = pval[0]; - high = pval[1]; - } - - inline void nsLoad2Val(const unsigned char* ptr) - { - low = ptr[0]; - high = ptr[1]; - } - - inline void nsLoad2Val(const short* ptr) - { - low = ptr[0]; - high = ptr[1]; - } - - inline void nsLoad2Val(const unsigned short* ptr) - { - low = ptr[0]; - high = ptr[1]; - } - - static inline void Load4Val(const unsigned char* ptr, XMMReg2Double& low, XMMReg2Double& high) - { - low.low = ptr[0]; - low.high = ptr[1]; - high.low = ptr[2]; - high.high = ptr[3]; - } - - static inline void Load4Val(const short* ptr, XMMReg2Double& low, XMMReg2Double& high) - { - low.nsLoad2Val(ptr); - high.nsLoad2Val(ptr+2); - } - - static inline void Load4Val(const unsigned short* ptr, XMMReg2Double& low, XMMReg2Double& high) - { - low.nsLoad2Val(ptr); - high.nsLoad2Val(ptr+2); - } - - static inline void Load4Val(const double* ptr, XMMReg2Double& low, XMMReg2Double& high) - { - low.nsLoad2Val(ptr); - high.nsLoad2Val(ptr+2); - } - - static inline void Load4Val(const float* ptr, XMMReg2Double& low, XMMReg2Double& high) - { - low.nsLoad2Val(ptr); - high.nsLoad2Val(ptr+2); - } - - inline void Zeroize() - { - low = 0.0; - high = 0.0; - } - - inline XMMReg2Double& operator= (const XMMReg2Double& other) - { - low = other.low; - high = other.high; - return *this; - } - - inline XMMReg2Double& operator+= (const XMMReg2Double& other) - { - low += other.low; - high += other.high; - return *this; - } - - inline XMMReg2Double& operator*= (const XMMReg2Double& other) - { - low *= other.low; - high *= other.high; - return *this; - } - - inline XMMReg2Double operator+ (const XMMReg2Double& other) const - { - XMMReg2Double ret; - ret.low = low + other.low; - ret.high = high + other.high; - return ret; - } - - inline XMMReg2Double operator- (const XMMReg2Double& other) const - { - XMMReg2Double ret; - ret.low = low - other.low; - ret.high = high - other.high; - return ret; - } - - inline XMMReg2Double operator* (const XMMReg2Double& other) const - { - XMMReg2Double ret; - ret.low = low * other.low; - ret.high = high * other.high; - return ret; - } - - inline XMMReg2Double operator/ (const XMMReg2Double& other) const - { - XMMReg2Double ret; - ret.low = low / other.low; - ret.high = high / other.high; - return ret; - } - - inline void AddLowAndHigh() - { - double add = low + high; - low = add; - high = add; - } - - inline void Store2Double(double* pval) const - { - pval[0] = low; - pval[1] = high; - } - - inline void Store2DoubleAligned(double* pval) const - { - pval[0] = low; - pval[1] = high; - } - - void Store2Val(unsigned short* ptr) const - { - ptr[0] = (GUInt16)low; - ptr[1] = (GUInt16)high; - } - - inline operator double () const - { - return low; - } -}; - -#endif /* defined(__x86_64) || defined(_M_X64) */ - -class XMMReg4Double -{ - public: - XMMReg2Double low, high; - - XMMReg4Double() {} - XMMReg4Double(const XMMReg4Double& other) : low(other.low), high(other.high) {} - - static inline XMMReg4Double Zero() - { - XMMReg4Double reg; - reg.low.Zeroize(); - reg.high.Zeroize(); - return reg; - } - - static inline XMMReg4Double Load1ValHighAndLow(const double* ptr) - { - XMMReg4Double reg; - reg.low.nsLoad1ValHighAndLow(ptr); - reg.high = reg.low; - return reg; - } - - static inline XMMReg4Double Load4Val(const unsigned char* ptr) - { - XMMReg4Double reg; - XMMReg2Double::Load4Val(ptr, reg.low, reg.high); - return reg; - } - - static inline XMMReg4Double Load4Val(const short* ptr) - { - XMMReg4Double reg; - reg.low.nsLoad2Val(ptr); - reg.high.nsLoad2Val(ptr+2); - return reg; - } - - static inline XMMReg4Double Load4Val(const unsigned short* ptr) - { - XMMReg4Double reg; - reg.low.nsLoad2Val(ptr); - reg.high.nsLoad2Val(ptr+2); - return reg; - } - - static inline XMMReg4Double Load4Val(const double* ptr) - { - XMMReg4Double reg; - reg.low.nsLoad2Val(ptr); - reg.high.nsLoad2Val(ptr+2); - return reg; - } - - static inline XMMReg4Double Load4ValAligned(const double* ptr) - { - XMMReg4Double reg; - reg.low.nsLoad2ValAligned(ptr); - reg.high.nsLoad2ValAligned(ptr+2); - return reg; - } - - static inline XMMReg4Double Load4Val(const float* ptr) - { - XMMReg4Double reg; - XMMReg2Double::Load4Val(ptr, reg.low, reg.high); - return reg; - } - - static inline XMMReg4Double Equals(const XMMReg4Double& expr1, const XMMReg4Double& expr2) - { - XMMReg4Double reg; - reg.low = XMMReg2Double::Equals(expr1.low, expr2.low); - reg.high = XMMReg2Double::Equals(expr1.high, expr2.high); - return reg; - } - - static inline XMMReg4Double NotEquals(const XMMReg4Double& expr1, const XMMReg4Double& expr2) - { - XMMReg4Double reg; - reg.low = XMMReg2Double::NotEquals(expr1.low, expr2.low); - reg.high = XMMReg2Double::NotEquals(expr1.high, expr2.high); - return reg; - } - - static inline XMMReg4Double Greater(const XMMReg4Double& expr1, const XMMReg4Double& expr2) - { - XMMReg4Double reg; - reg.low = XMMReg2Double::Greater(expr1.low, expr2.low); - reg.high = XMMReg2Double::Greater(expr1.high, expr2.high); - return reg; - } - - static inline XMMReg4Double And(const XMMReg4Double& expr1, const XMMReg4Double& expr2) - { - XMMReg4Double reg; - reg.low = XMMReg2Double::And(expr1.low, expr2.low); - reg.high = XMMReg2Double::And(expr1.high, expr2.high); - return reg; - } - - static inline XMMReg4Double Ternary(const XMMReg4Double& cond, const XMMReg4Double& true_expr, const XMMReg4Double& false_expr) - { - XMMReg4Double reg; - reg.low = XMMReg2Double::Ternary(cond.low, true_expr.low, false_expr.low); - reg.high = XMMReg2Double::Ternary(cond.high, true_expr.high, false_expr.high); - return reg; - } - - static inline XMMReg4Double Min(const XMMReg4Double& expr1, const XMMReg4Double& expr2) - { - XMMReg4Double reg; - reg.low = XMMReg2Double::Min(expr1.low, expr2.low); - reg.high = XMMReg2Double::Min(expr1.high, expr2.high); - return reg; - } - - inline XMMReg4Double& operator= (const XMMReg4Double& other) - { - low = other.low; - high = other.high; - return *this; - } - - inline XMMReg4Double& operator+= (const XMMReg4Double& other) - { - low += other.low; - high += other.high; - return *this; - } - - inline XMMReg4Double& operator*= (const XMMReg4Double& other) - { - low *= other.low; - high *= other.high; - return *this; - } - - inline XMMReg4Double operator+ (const XMMReg4Double& other) const - { - XMMReg4Double ret; - ret.low = low + other.low; - ret.high = high + other.high; - return ret; - } - - inline XMMReg4Double operator- (const XMMReg4Double& other) const - { - XMMReg4Double ret; - ret.low = low - other.low; - ret.high = high - other.high; - return ret; - } - - inline XMMReg4Double operator* (const XMMReg4Double& other) const - { - XMMReg4Double ret; - ret.low = low * other.low; - ret.high = high * other.high; - return ret; - } - - inline XMMReg4Double operator/ (const XMMReg4Double& other) const - { - XMMReg4Double ret; - ret.low = low / other.low; - ret.high = high / other.high; - return ret; - } - - inline void AddLowAndHigh() - { - low = low + high; - low.AddLowAndHigh(); - } - - inline XMMReg2Double& GetLow() - { - return low; - } - - inline XMMReg2Double& GetHigh() - { - return high; - } - - void Store4Val(unsigned short* ptr) const - { - low.Store2Val(ptr); - high.Store2Val(ptr+2); - } -}; - -#endif /* GDALSSE_PRIV_H_INCLUDED */ diff --git a/src/gdal/gdalwarper.h b/src/gdal/gdalwarper.h deleted file mode 100644 index 9cf35ef1..00000000 --- a/src/gdal/gdalwarper.h +++ /dev/null @@ -1,459 +0,0 @@ -/****************************************************************************** - * $Id: gdalwarper.h 33717 2016-03-14 06:29:14Z goatbar $ - * - * Project: GDAL High Performance Warper - * Purpose: Prototypes, and definitions for warping related work. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 2003, Frank Warmerdam - * Copyright (c) 2009-2012, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDALWARPER_H_INCLUDED -#define GDALWARPER_H_INCLUDED - -/** - * \file gdalwarper.h - * - * GDAL warper related entry points and definitions. Eventually it is - * expected that this file will be mostly private to the implementation, - * and the public C entry points will be available in gdal_alg.h. - */ - -#include "gdal_alg.h" -#include "cpl_minixml.h" -#include "cpl_multiproc.h" - -CPL_C_START - -/* Note: values are selected to be consistent with GDALRIOResampleAlg of gcore/gdal.h */ -/*! Warp Resampling Algorithm */ -typedef enum { - /*! Nearest neighbour (select on one input pixel) */ GRA_NearestNeighbour=0, - /*! Bilinear (2x2 kernel) */ GRA_Bilinear=1, - /*! Cubic Convolution Approximation (4x4 kernel) */ GRA_Cubic=2, - /*! Cubic B-Spline Approximation (4x4 kernel) */ GRA_CubicSpline=3, - /*! Lanczos windowed sinc interpolation (6x6 kernel) */ GRA_Lanczos=4, - /*! Average (computes the average of all non-NODATA contributing pixels) */ GRA_Average=5, - /*! Mode (selects the value which appears most often of all the sampled points) */ GRA_Mode=6, - // GRA_Gauss=7 reserved. - /*! Max (selects maximum of all non-NODATA contributing pixels) */ GRA_Max=8, - /*! Min (selects minimum of all non-NODATA contributing pixels) */ GRA_Min=9, - /*! Med (selects median of all non-NODATA contributing pixels) */ GRA_Med=10, - /*! Q1 (selects first quartile of all non-NODATA contributing pixels) */ GRA_Q1=11, - /*! Q3 (selects third quartile of all non-NODATA contributing pixels) */ GRA_Q3=12 -} GDALResampleAlg; - -/*! GWKAverageOrMode Algorithm */ -typedef enum { - /*! Average */ GWKAOM_Average=1, - /*! Mode */ GWKAOM_Fmode=2, - /*! Mode of GDT_Byte, GDT_UInt16, or GDT_Int16 */ GWKAOM_Imode=3, - /*! Maximum */ GWKAOM_Max=4, - /*! Minimum */ GWKAOM_Min=5, - /*! Quantile */ GWKAOM_Quant=6 -} GWKAverageOrModeAlg; - -typedef int -(*GDALMaskFunc)( void *pMaskFuncArg, - int nBandCount, GDALDataType eType, - int nXOff, int nYOff, - int nXSize, int nYSize, - GByte **papabyImageData, - int bMaskIsFloat, void *pMask ); - -CPLErr CPL_DLL -GDALWarpNoDataMasker( void *pMaskFuncArg, int nBandCount, GDALDataType eType, - int nXOff, int nYOff, int nXSize, int nYSize, - GByte **papabyImageData, int bMaskIsFloat, - void *pValidityMask, int* pbOutAllValid ); - -CPLErr CPL_DLL -GDALWarpDstAlphaMasker( void *pMaskFuncArg, int nBandCount, GDALDataType eType, - int nXOff, int nYOff, int nXSize, int nYSize, - GByte ** /*ppImageData */, - int bMaskIsFloat, void *pValidityMask ); -CPLErr CPL_DLL -GDALWarpSrcAlphaMasker( void *pMaskFuncArg, int nBandCount, GDALDataType eType, - int nXOff, int nYOff, int nXSize, int nYSize, - GByte ** /*ppImageData */, - int bMaskIsFloat, void *pValidityMask, int* pbOutAllOpaque ); - -CPLErr CPL_DLL -GDALWarpSrcMaskMasker( void *pMaskFuncArg, int nBandCount, GDALDataType eType, - int nXOff, int nYOff, int nXSize, int nYSize, - GByte ** /*ppImageData */, - int bMaskIsFloat, void *pValidityMask ); - -CPLErr CPL_DLL -GDALWarpCutlineMasker( void *pMaskFuncArg, int nBandCount, GDALDataType eType, - int nXOff, int nYOff, int nXSize, int nYSize, - GByte ** /* ppImageData */, - int bMaskIsFloat, void *pValidityMask ); - -/************************************************************************/ -/* GDALWarpOptions */ -/************************************************************************/ - -/** Warp control options for use with GDALWarpOperation::Initialize() */ -typedef struct { - - char **papszWarpOptions; - - /*! In bytes, 0.0 for internal default */ - double dfWarpMemoryLimit; - - /*! Resampling algorithm to use */ - GDALResampleAlg eResampleAlg; - - /*! data type to use during warp operation, GDT_Unknown lets the algorithm - select the type */ - GDALDataType eWorkingDataType; - - /*! Source image dataset. */ - GDALDatasetH hSrcDS; - - /*! Destination image dataset - may be NULL if only using GDALWarpOperation::WarpRegionToBuffer(). */ - GDALDatasetH hDstDS; - - /*! Number of bands to process, may be 0 to select all bands. */ - int nBandCount; - - /*! The band numbers for the source bands to process (1 based) */ - int *panSrcBands; - - /*! The band numbers for the destination bands to process (1 based) */ - int *panDstBands; - - /*! The source band so use as an alpha (transparency) value, 0=disabled */ - int nSrcAlphaBand; - - /*! The dest. band so use as an alpha (transparency) value, 0=disabled */ - int nDstAlphaBand; - - /*! The "nodata" value real component for each input band, if NULL there isn't one */ - double *padfSrcNoDataReal; - /*! The "nodata" value imaginary component - may be NULL even if real - component is provided. */ - double *padfSrcNoDataImag; - - /*! The "nodata" value real component for each output band, if NULL there isn't one */ - double *padfDstNoDataReal; - /*! The "nodata" value imaginary component - may be NULL even if real - component is provided. */ - double *padfDstNoDataImag; - - /*! GDALProgressFunc() compatible progress reporting function, or NULL - if there isn't one. */ - GDALProgressFunc pfnProgress; - - /*! Callback argument to be passed to pfnProgress. */ - void *pProgressArg; - - /*! Type of spatial point transformer function */ - GDALTransformerFunc pfnTransformer; - - /*! Handle to image transformer setup structure */ - void *pTransformerArg; - - GDALMaskFunc *papfnSrcPerBandValidityMaskFunc; - void **papSrcPerBandValidityMaskFuncArg; - - GDALMaskFunc pfnSrcValidityMaskFunc; - void *pSrcValidityMaskFuncArg; - - GDALMaskFunc pfnSrcDensityMaskFunc; - void *pSrcDensityMaskFuncArg; - - GDALMaskFunc pfnDstDensityMaskFunc; - void *pDstDensityMaskFuncArg; - - GDALMaskFunc pfnDstValidityMaskFunc; - void *pDstValidityMaskFuncArg; - - CPLErr (*pfnPreWarpChunkProcessor)( void *pKern, void *pArg ); - void *pPreWarpProcessorArg; - - CPLErr (*pfnPostWarpChunkProcessor)( void *pKern, void *pArg); - void *pPostWarpProcessorArg; - - /*! Optional OGRPolygonH for a masking cutline. */ - void *hCutline; - - /*! Optional blending distance to apply across cutline in pixels, default is zero. */ - double dfCutlineBlendDist; - -} GDALWarpOptions; - -GDALWarpOptions CPL_DLL * CPL_STDCALL GDALCreateWarpOptions(void); -void CPL_DLL CPL_STDCALL GDALDestroyWarpOptions( GDALWarpOptions * ); -GDALWarpOptions CPL_DLL * CPL_STDCALL -GDALCloneWarpOptions( const GDALWarpOptions * ); - -CPLXMLNode CPL_DLL * CPL_STDCALL - GDALSerializeWarpOptions( const GDALWarpOptions * ); -GDALWarpOptions CPL_DLL * CPL_STDCALL - GDALDeserializeWarpOptions( CPLXMLNode * ); - -/************************************************************************/ -/* GDALReprojectImage() */ -/************************************************************************/ - -CPLErr CPL_DLL CPL_STDCALL -GDALReprojectImage( GDALDatasetH hSrcDS, const char *pszSrcWKT, - GDALDatasetH hDstDS, const char *pszDstWKT, - GDALResampleAlg eResampleAlg, double dfWarpMemoryLimit, - double dfMaxError, - GDALProgressFunc pfnProgress, void *pProgressArg, - GDALWarpOptions *psOptions ); - -CPLErr CPL_DLL CPL_STDCALL -GDALCreateAndReprojectImage( GDALDatasetH hSrcDS, const char *pszSrcWKT, - const char *pszDstFilename, const char *pszDstWKT, - GDALDriverH hDstDriver, char **papszCreateOptions, - GDALResampleAlg eResampleAlg, double dfWarpMemoryLimit, - double dfMaxError, - GDALProgressFunc pfnProgress, void *pProgressArg, - GDALWarpOptions *psOptions ); - -/************************************************************************/ -/* VRTWarpedDataset */ -/************************************************************************/ - -GDALDatasetH CPL_DLL CPL_STDCALL -GDALAutoCreateWarpedVRT( GDALDatasetH hSrcDS, - const char *pszSrcWKT, const char *pszDstWKT, - GDALResampleAlg eResampleAlg, - double dfMaxError, const GDALWarpOptions *psOptions ); - -GDALDatasetH CPL_DLL CPL_STDCALL -GDALCreateWarpedVRT( GDALDatasetH hSrcDS, - int nPixels, int nLines, double *padfGeoTransform, - GDALWarpOptions *psOptions ); - -CPLErr CPL_DLL CPL_STDCALL -GDALInitializeWarpedVRT( GDALDatasetH hDS, - GDALWarpOptions *psWO ); - -CPL_C_END - -#ifdef __cplusplus - -/************************************************************************/ -/* GDALWarpKernel */ -/* */ -/* This class represents the lowest level of abstraction. It */ -/* is holds the imagery for one "chunk" of a warp, and the */ -/* pre-prepared masks. All IO is done before and after it's */ -/* operation. This class is not normally used by the */ -/* application. */ -/************************************************************************/ - -// This is the number of dummy pixels that must be reserved in source arrays -// in order to satisfy assumptions made in GWKResample(), and more specifically -// by GWKGetPixelRow() that always read a even number of pixels. So if we are -// in the situation to read the last pixel of the source array, we need 1 extra -// dummy pixel to avoid reading out of bounds. -#define WARP_EXTRA_ELTS 1 - -class CPL_DLL GDALWarpKernel -{ -public: - char **papszWarpOptions; - - GDALResampleAlg eResample; - GDALDataType eWorkingDataType; - int nBands; - - int nSrcXSize; - int nSrcYSize; - int nSrcXExtraSize; /* extra pixels (included in nSrcXSize) reserved for filter window. Should be ignored in scale computation */ - int nSrcYExtraSize; /* extra pixels (included in nSrcYSize) reserved for filter window. Should be ignored in scale computation */ - GByte **papabySrcImage; /* each subarray must have WARP_EXTRA_ELTS at the end */ - - GUInt32 **papanBandSrcValid; /* each subarray must have WARP_EXTRA_ELTS at the end */ - GUInt32 *panUnifiedSrcValid; /* must have WARP_EXTRA_ELTS at the end */ - float *pafUnifiedSrcDensity; /* must have WARP_EXTRA_ELTS at the end */ - - int nDstXSize; - int nDstYSize; - GByte **papabyDstImage; - GUInt32 *panDstValid; - float *pafDstDensity; - - double dfXScale; // Resampling scale, i.e. - double dfYScale; // nDstSize/nSrcSize. - double dfXFilter; // Size of filter kernel. - double dfYFilter; - int nXRadius; // Size of window to filter. - int nYRadius; - int nFiltInitX; // Filtering offset - int nFiltInitY; - - int nSrcXOff; - int nSrcYOff; - - int nDstXOff; - int nDstYOff; - - GDALTransformerFunc pfnTransformer; - void *pTransformerArg; - - GDALProgressFunc pfnProgress; - void *pProgress; - - double dfProgressBase; - double dfProgressScale; - - double *padfDstNoDataReal; - - void *psThreadData; - - GDALWarpKernel(); - virtual ~GDALWarpKernel(); - - CPLErr Validate(); - CPLErr PerformWarp(); -}; - -void* GWKThreadsCreate(char** papszWarpOptions, - GDALTransformerFunc pfnTransformer, - void* pTransformerArg); -void GWKThreadsEnd(void* psThreadDataIn); - -/************************************************************************/ -/* GDALWarpOperation() */ -/* */ -/* This object is application created, or created by a higher */ -/* level convenience function. It is responsible for */ -/* subdividing the operation into chunks, loading and saving */ -/* imagery, and establishing the varios validity and density */ -/* masks. Actual resampling is done by the GDALWarpKernel. */ -/************************************************************************/ - -typedef struct _GDALWarpChunk GDALWarpChunk; - -class CPL_DLL GDALWarpOperation { -private: - GDALWarpOptions *psOptions; - - void WipeOptions(); - int ValidateOptions(); - - CPLErr ComputeSourceWindow( int nDstXOff, int nDstYOff, - int nDstXSize, int nDstYSize, - int *pnSrcXOff, int *pnSrcYOff, - int *pnSrcXSize, int *pnSrcYSize, - int *pnSrcXExtraSize, int *pnSrcYExtraSize, - double* pdfSrcFillRatio ); - - CPLErr CreateKernelMask( GDALWarpKernel *, int iBand, - const char *pszType ); - - CPLMutex *hIOMutex; - CPLMutex *hWarpMutex; - - int nChunkListCount; - int nChunkListMax; - GDALWarpChunk *pasChunkList; - - int bReportTimings; - unsigned long nLastTimeReported; - - void *psThreadData; - - void WipeChunkList(); - CPLErr CollectChunkList( int nDstXOff, int nDstYOff, - int nDstXSize, int nDstYSize ); - void ReportTiming( const char * ); - -public: - GDALWarpOperation(); - virtual ~GDALWarpOperation(); - - CPLErr Initialize( const GDALWarpOptions *psNewOptions ); - - const GDALWarpOptions *GetOptions(); - - CPLErr ChunkAndWarpImage( int nDstXOff, int nDstYOff, - int nDstXSize, int nDstYSize ); - CPLErr ChunkAndWarpMulti( int nDstXOff, int nDstYOff, - int nDstXSize, int nDstYSize ); - CPLErr WarpRegion( int nDstXOff, int nDstYOff, - int nDstXSize, int nDstYSize, - int nSrcXOff=0, int nSrcYOff=0, - int nSrcXSize=0, int nSrcYSize=0, - double dfProgressBase=0.0, double dfProgressScale=1.0); - CPLErr WarpRegion( int nDstXOff, int nDstYOff, - int nDstXSize, int nDstYSize, - int nSrcXOff, int nSrcYOff, - int nSrcXSize, int nSrcYSize, - int nSrcXExtraSize, int nSrcYExtraSize, - double dfProgressBase, double dfProgressScale); - CPLErr WarpRegionToBuffer( int nDstXOff, int nDstYOff, - int nDstXSize, int nDstYSize, - void *pDataBuf, - GDALDataType eBufDataType, - int nSrcXOff=0, int nSrcYOff=0, - int nSrcXSize=0, int nSrcYSize=0, - double dfProgressBase=0.0, double dfProgressScale=1.0); - CPLErr WarpRegionToBuffer( int nDstXOff, int nDstYOff, - int nDstXSize, int nDstYSize, - void *pDataBuf, - GDALDataType eBufDataType, - int nSrcXOff, int nSrcYOff, - int nSrcXSize, int nSrcYSize, - int nSrcXExtraSize, int nSrcYExtraSize, - double dfProgressBase, double dfProgressScale); -}; - -#endif /* def __cplusplus */ - -CPL_C_START - -typedef void * GDALWarpOperationH; - -GDALWarpOperationH CPL_DLL GDALCreateWarpOperation(const GDALWarpOptions* ); -void CPL_DLL GDALDestroyWarpOperation( GDALWarpOperationH ); -CPLErr CPL_DLL GDALChunkAndWarpImage( GDALWarpOperationH, int, int, int, int ); -CPLErr CPL_DLL GDALChunkAndWarpMulti( GDALWarpOperationH, int, int, int, int ); -CPLErr CPL_DLL GDALWarpRegion( GDALWarpOperationH, - int, int, int, int, int, int, int, int ); -CPLErr CPL_DLL GDALWarpRegionToBuffer( GDALWarpOperationH, int, int, int, int, - void *, GDALDataType, - int, int, int, int ); - -/************************************************************************/ -/* Warping kernel functions */ -/************************************************************************/ - -int GWKGetFilterRadius(GDALResampleAlg eResampleAlg); - -typedef double (*FilterFuncType)(double dfX); -FilterFuncType GWKGetFilterFunc(GDALResampleAlg eResampleAlg); - -typedef double (*FilterFunc4ValuesType)(double* padfVals); -FilterFunc4ValuesType GWKGetFilterFunc4Values(GDALResampleAlg eResampleAlg); - -CPL_C_END - -#endif /* ndef GDAL_ALG_H_INCLUDED */ diff --git a/src/gdal/gdalwarpkernel_opencl.h b/src/gdal/gdalwarpkernel_opencl.h deleted file mode 100644 index 003b0c1a..00000000 --- a/src/gdal/gdalwarpkernel_opencl.h +++ /dev/null @@ -1,197 +0,0 @@ -/****************************************************************************** - * $Id: gdalwarpkernel_opencl.h 33715 2016-03-13 08:52:06Z goatbar $ - * - * Project: OpenCL Image Reprojector - * Purpose: Implementation of the GDALWarpKernel reprojector in OpenCL. - * Author: Seth Price, seth@pricepages.org - * - ****************************************************************************** - * Copyright (c) 2010, Seth Price - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#if defined(HAVE_OPENCL) - -/* The following relates to the profiling calls to - clSetCommandQueueProperty() which are not available by default - with some OpenCL implementation (i.e. ATI) */ - -#if defined(DEBUG_OPENCL) && DEBUG_OPENCL == 1 -#define CL_USE_DEPRECATED_OPENCL_1_0_APIS -#endif - -#ifdef __APPLE__ -#include -#else -#include -#endif - -#ifdef __cplusplus /* If this is a C++ compiler, use C linkage */ -extern "C" { -#endif - -typedef enum { - OCL_Bilinear=10, - OCL_Cubic=11, - OCL_CubicSpline=12, - OCL_Lanczos=13 -} OCLResampAlg; - -typedef enum -{ - VENDOR_OTHER, - VENDOR_AMD, - VENDOR_INTEL -} OCLVendor; - -struct oclWarper { - cl_command_queue queue; - cl_context context; - cl_device_id dev; - cl_kernel kern1; - cl_kernel kern4; - - int srcWidth; - int srcHeight; - int dstWidth; - int dstHeight; - - int useUnifiedSrcDensity; - int useUnifiedSrcValid; - int useDstDensity; - int useDstValid; - - int numBands; - int numImages; - OCLResampAlg resampAlg; - - cl_channel_type imageFormat; - cl_mem *realWorkCL; - union { - void **v; - char **c; - unsigned char **uc; - short **s; - unsigned short **us; - float **f; - } realWork; - - cl_mem *imagWorkCL; - union { - void **v; - char **c; - unsigned char **uc; - short **s; - unsigned short **us; - float **f; - } imagWork; - - cl_mem *dstRealWorkCL; - union { - void **v; - char **c; - unsigned char **uc; - short **s; - unsigned short **us; - float **f; - } dstRealWork; - - cl_mem *dstImagWorkCL; - union { - void **v; - char **c; - unsigned char **uc; - short **s; - unsigned short **us; - float **f; - } dstImagWork; - - unsigned int imgChSize1; - cl_channel_order imgChOrder1; - unsigned int imgChSize4; - cl_channel_order imgChOrder4; - char useVec; - - cl_mem useBandSrcValidCL; - char *useBandSrcValid; - - cl_mem nBandSrcValidCL; - float *nBandSrcValid; - - cl_mem xyWorkCL; - float *xyWork; - - int xyWidth; - int xyHeight; - int coordMult; - - unsigned int xyChSize; - cl_channel_order xyChOrder; - - cl_mem fDstNoDataRealCL; - float *fDstNoDataReal; - - OCLVendor eCLVendor; -}; - -struct oclWarper* GDALWarpKernelOpenCL_createEnv(int srcWidth, int srcHeight, - int dstWidth, int dstHeight, - cl_channel_type imageFormat, - int numBands, int coordMult, - int useImag, int useBandSrcValid, - float *fDstDensity, - double *dfDstNoDataReal, - OCLResampAlg resampAlg, cl_int *envErr); - -cl_int GDALWarpKernelOpenCL_setSrcValid(struct oclWarper *warper, - int *bandSrcValid, int bandNum); - -cl_int GDALWarpKernelOpenCL_setSrcImg(struct oclWarper *warper, void *imgData, - int bandNum); - -cl_int GDALWarpKernelOpenCL_setDstImg(struct oclWarper *warper, void *imgData, - int bandNum); - -cl_int GDALWarpKernelOpenCL_setCoordRow(struct oclWarper *warper, - double *rowSrcX, double *rowSrcY, - double srcXOff, double srcYOff, - int *success, int rowNum); - -cl_int GDALWarpKernelOpenCL_runResamp(struct oclWarper *warper, - float *unifiedSrcDensity, - unsigned int *unifiedSrcValid, - float *dstDensity, - unsigned int *dstValid, - double dfXScale, double dfYScale, - double dfXFilter, double dfYFilter, - int nXRadius, int nYRadius, - int nFiltInitX, int nFiltInitY); - -cl_int GDALWarpKernelOpenCL_getRow(struct oclWarper *warper, - void **rowReal, void **rowImag, - int rowNum, int bandNum); - -cl_int GDALWarpKernelOpenCL_deleteEnv(struct oclWarper *warper); - -#ifdef __cplusplus /* If this is a C++ compiler, end C linkage */ -} -#endif - -#endif /* defined(HAVE_OPENCL) */ diff --git a/src/gdal/gvgcpfit.h b/src/gdal/gvgcpfit.h deleted file mode 100644 index 4496c590..00000000 --- a/src/gdal/gvgcpfit.h +++ /dev/null @@ -1,94 +0,0 @@ -#ifndef GVGCPFIT_H_INCLUDED -#define GVGCPFIT_H_INCLUDED - -#include "cpl_port.h" -#include "cpl_conv.h" -#include "cpl_error.h" - -#define EXTERNAL -#define LOCAL static - -#define SUCCESS 0 -#define ABORT -1 - - -/*------------------------ Start of file CURVEFIT.H -----------------------*/ - -/* -****************************************************************************** -* * -* CURVEFIT.H * -* ========= * -* * -* This file contains the function prototype for CURVEFIT.C. * -****************************************************************************** -*/ - - -#ifndef CURVEFIT_H -#define CURVEFIT_H - -/*- Function prototypes in CURVEFIT.C. -*/ - -EXTERNAL int svdfit(float x[], float y[], int ndata, - double a[], int ma, double **u, double **v, double w[], - double *chisq, void (*funcs)(double, double *, int)); - -EXTERNAL void svbksb(double **u, double w[], double **v, int m,int n, - double b[], double x[]); - -EXTERNAL void svdvar(double **v, int ma, double w[], double **cvm); - -EXTERNAL int svdcmp(double **a, int m, int n, double *w, double **v); - - -#endif - - -/*-------------------------- End of file CURVEFIT.H -----------------------*/ - - - - -/*----------------------------- FILE polyfit.h ----------------------------*/ -#ifndef POLYFIT_H -#define POLYFIT_H - -EXTERNAL int OneDPolyFit( double *rms_err, double *coeffs_array, - int fit_order, int no_samples, double *f_array, double *x_array ); - -EXTERNAL double OneDPolyEval( double *coeff, int order, double x ); - -EXTERNAL int TwoDPolyFit( double *rms_err, double *coeffs_array, - int fit_order, int no_samples, double *f_array, double *x_array, - double *y_array ); - -EXTERNAL double TwoDPolyEval( double *coeff, int order, double x, double y ); - -EXTERNAL int TwoDPolyGradFit( double *rms_err, double *coeffs_array, - int fit_order, int no_samples, double *gradxy_array, - double *x_array, double *y_array ); - -EXTERNAL void TwoDPolyGradEval(double *fgradx, double *fgrady, - double *coeff, int order, double x, double y); - -EXTERNAL void GetPolyInX (double *xcoeffs, double *xycoeffs, int order, - double y); - -EXTERNAL void GetPolyInY(double *ycoeffs, double *xycoeffs, int order, - double x); - -EXTERNAL int ThreeDPolyFit( double *rms_err, double *coeffs_array, - int fit_order, int no_samples, double *f_array, double *x_array, - double *y_array, double *z_array ); - -EXTERNAL double ThreeDPolyEval( double *coeff, int order, double x, double y, double z ); - - - -#endif /* POLYFIT_H */ - - -/*---------------------- End of FILE polyfit.h ----------------------------*/ - -#endif /* ndef _GVGCPFIT_INCLUDED */ diff --git a/src/gdal/internal_qhull_headers.h b/src/gdal/internal_qhull_headers.h deleted file mode 100644 index 61f2bf1d..00000000 --- a/src/gdal/internal_qhull_headers.h +++ /dev/null @@ -1,1006 +0,0 @@ -/****************************************************************************** - * - * Project: GDAL - * Purpose: Includes internal qhull headers - * Author: Even Rouault - * - ****************************************************************************** - * Copyright (c) 2015, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - *****************************************************************************/ - -#ifndef INTERNAL_QHULL_HEADERS_H -#define INTERNAL_QHULL_HEADERS_H - -#ifdef HAVE_GCC_SYSTEM_HEADER -#pragma GCC system_header -#endif - -#if defined(__MINGW64__) -/* See https://github.com/scipy/scipy/issues/3237 */ -/* This ensures that ptr_intT is a long lon on MinGW 64 */ -#define _MSC_VER 1 -#endif - -// To avoid issue with icc that defines a template in qhull_a.h -#if defined(__INTEL_COMPILER) -#define QHULL_OS_WIN -#endif - -/* Below a lot of renames and static definition of the symbols so as */ -/* to avoid "contaminating" with a potential external qhull */ -typedef struct setT gdal_setT; -typedef struct facetT gdal_facetT; -typedef struct vertexT gdal_vertexT; -typedef struct qhT gdal_qhT; -typedef struct ridgeT gdal_ridgeT; -#define gdal_realT double -#define gdal_pointT double -#define gdal_realT double -#define gdal_coordT double -#define gdal_boolT unsigned int - -#define qhmem gdal_qhmem -#define qh_rand_seed gdal_qh_rand_seed -#define qh_qh gdal_qh_qh -#define qh_qhstat gdal_qh_qhstat -#define qh_version gdal_qh_version -#define qhull_inuse gdal_qhull_inuse - -#define qh_compare_vertexpoint gdal_qh_compare_vertexpoint -static int qh_compare_vertexpoint(); - -#define qh_intcompare gdal_qh_intcompare - -#ifdef notdef - -Generated by the following Python script + manual cleaning of the result - -f = open('headers.txt') -for line in f.readlines(): - line = line[0:-1].strip() - if len(line) > 3 and line[0] != '#' and (line[-2:] == ');' or line[-1:] == ',') and \ - line.find('(') > 0 and line.find('=') < 0 and line.find('typedef') < 0 and line.find('are used by') < 0 and \ - line.find('&') < 0 and line.find('"') < 0 and line.find(' ') < line.find('('): - line = line[0:line.find('(')].strip() - last_star = line.rfind('*') - last_space = line.rfind(' ') - if last_star > last_space: - (type, name) = (line[0:last_star+1], line[last_star+1:]) - else: - (type, name) = (line[0:last_space], line[last_space+1:]) - type = type.strip() - print('#define %s gdal_%s' % (name, name)) - if type.find('void') != 0 and type.find('int') != 0 and type.find('char') != 0 and type.find('double') != 0 and type.find('unsigned') != 0: - type = 'gdal_' + type - print("static %s %s();" % (type, name)) -#endif - -#define qh_backnormal gdal_qh_backnormal -static void qh_backnormal(); -#define qh_distplane gdal_qh_distplane -static void qh_distplane(); -#define qh_findbest gdal_qh_findbest -static gdal_facetT * qh_findbest(); -#define qh_findbesthorizon gdal_qh_findbesthorizon -static gdal_facetT * qh_findbesthorizon(); -#define qh_findbestnew gdal_qh_findbestnew -static gdal_facetT * qh_findbestnew(); -#define qh_gausselim gdal_qh_gausselim -static void qh_gausselim(); -#define qh_getangle gdal_qh_getangle -static gdal_realT qh_getangle(); -#define qh_getcenter gdal_qh_getcenter -static gdal_pointT * qh_getcenter(); -#define qh_getcentrum gdal_qh_getcentrum -static gdal_pointT * qh_getcentrum(); -#define qh_getdistance gdal_qh_getdistance -static gdal_realT qh_getdistance(); -#define qh_normalize gdal_qh_normalize -static void qh_normalize(); -#define qh_normalize2 gdal_qh_normalize2 -static void qh_normalize2(); -#define qh_projectpoint gdal_qh_projectpoint -static gdal_pointT * qh_projectpoint(); -#define qh_setfacetplane gdal_qh_setfacetplane -static void qh_setfacetplane(); -#define qh_sethyperplane_det gdal_qh_sethyperplane_det -static void qh_sethyperplane_det(); -#define qh_sethyperplane_gauss gdal_qh_sethyperplane_gauss -static void qh_sethyperplane_gauss(); -#define qh_sharpnewfacets gdal_qh_sharpnewfacets -static gdal_boolT qh_sharpnewfacets(); -#define qh_copypoints gdal_qh_copypoints -static gdal_coordT * qh_copypoints(); -#define qh_crossproduct gdal_qh_crossproduct -static void qh_crossproduct(); -#define qh_determinant gdal_qh_determinant -static gdal_realT qh_determinant(); -#define qh_detjoggle gdal_qh_detjoggle -static gdal_realT qh_detjoggle(); -#define qh_detroundoff gdal_qh_detroundoff -static void qh_detroundoff(); -#define qh_detsimplex gdal_qh_detsimplex -static gdal_realT qh_detsimplex(); -#define qh_distnorm gdal_qh_distnorm -static gdal_realT qh_distnorm(); -#define qh_distround gdal_qh_distround -static gdal_realT qh_distround(); -#define qh_divzero gdal_qh_divzero -static gdal_realT qh_divzero(); -#define qh_facetarea gdal_qh_facetarea -static gdal_realT qh_facetarea(); -#define qh_facetarea_simplex gdal_qh_facetarea_simplex -static gdal_realT qh_facetarea_simplex(); -#define qh_facetcenter gdal_qh_facetcenter -static gdal_pointT * qh_facetcenter(); -#define qh_findgooddist gdal_qh_findgooddist -static gdal_facetT * qh_findgooddist(); -#define qh_getarea gdal_qh_getarea -static void qh_getarea(); -#define qh_gram_schmidt gdal_qh_gram_schmidt -static gdal_boolT qh_gram_schmidt(); -#define qh_inthresholds gdal_qh_inthresholds -static gdal_boolT qh_inthresholds(); -#define qh_joggleinput gdal_qh_joggleinput -static void qh_joggleinput(); -#define qh_maxabsval gdal_qh_maxabsval -static gdal_realT * qh_maxabsval(); -#define qh_maxmin gdal_qh_maxmin -static gdal_setT * qh_maxmin(); -#define qh_maxouter gdal_qh_maxouter -static gdal_realT qh_maxouter(); -#define qh_maxsimplex gdal_qh_maxsimplex -static void qh_maxsimplex(); -#define qh_minabsval gdal_qh_minabsval -static gdal_realT qh_minabsval(); -#define qh_mindiff gdal_qh_mindiff -static int qh_mindiff(); -#define qh_orientoutside gdal_qh_orientoutside -static gdal_boolT qh_orientoutside(); -#define qh_outerinner gdal_qh_outerinner -static void qh_outerinner(); -#define qh_pointdist gdal_qh_pointdist -static gdal_coordT qh_pointdist(); -#define qh_printmatrix gdal_qh_printmatrix -static void qh_printmatrix(); -#define qh_printpoints gdal_qh_printpoints -static void qh_printpoints(); -#define qh_projectinput gdal_qh_projectinput -static void qh_projectinput(); -#define qh_projectpoints gdal_qh_projectpoints -static void qh_projectpoints(); -#define qh_rotateinput gdal_qh_rotateinput -static void qh_rotateinput(); -#define qh_rotatepoints gdal_qh_rotatepoints -static void qh_rotatepoints(); -#define qh_scaleinput gdal_qh_scaleinput -static void qh_scaleinput(); -#define qh_scalelast gdal_qh_scalelast -static void qh_scalelast(); -#define qh_scalepoints gdal_qh_scalepoints -static void qh_scalepoints(); -#define qh_sethalfspace gdal_qh_sethalfspace -static gdal_boolT qh_sethalfspace(); -#define qh_sethalfspace_all gdal_qh_sethalfspace_all -static gdal_coordT * qh_sethalfspace_all(); -#define qh_voronoi_center gdal_qh_voronoi_center -static gdal_pointT * qh_voronoi_center(); -#define dfacet gdal_dfacet -static void dfacet(); -#define dvertex gdal_dvertex -static void dvertex(); -#define qh_compare_facetarea gdal_qh_compare_facetarea -static int qh_compare_facetarea(); -#define qh_compare_facetmerge gdal_qh_compare_facetmerge -static int qh_compare_facetmerge(); -#define qh_compare_facetvisit gdal_qh_compare_facetvisit -static int qh_compare_facetvisit(); -#define qh_copyfilename gdal_qh_copyfilename -static void qh_copyfilename(); -#define qh_countfacets gdal_qh_countfacets -static void qh_countfacets(); -#define qh_detvnorm gdal_qh_detvnorm -static gdal_pointT * qh_detvnorm(); -#define qh_detvridge gdal_qh_detvridge -static gdal_setT * qh_detvridge(); -#define qh_detvridge3 gdal_qh_detvridge3 -static gdal_setT * qh_detvridge3(); -#define qh_eachvoronoi gdal_qh_eachvoronoi -static int qh_eachvoronoi(); -#define qh_eachvoronoi_all gdal_qh_eachvoronoi_all -static int qh_eachvoronoi_all(); -#define qh_facet2point gdal_qh_facet2point -static void qh_facet2point(); -#define qh_facetvertices gdal_qh_facetvertices -static gdal_setT * qh_facetvertices(); -#define qh_geomplanes gdal_qh_geomplanes -static void qh_geomplanes(); -#define qh_markkeep gdal_qh_markkeep -static void qh_markkeep(); -#define qh_markvoronoi gdal_qh_markvoronoi -static gdal_setT * qh_markvoronoi(); -#define qh_order_vertexneighbors gdal_qh_order_vertexneighbors -static void qh_order_vertexneighbors(); -#define qh_prepare_output gdal_qh_prepare_output -static void qh_prepare_output(); -#define qh_printafacet gdal_qh_printafacet -static void qh_printafacet(); -#define qh_printbegin gdal_qh_printbegin -static void qh_printbegin(); -#define qh_printcenter gdal_qh_printcenter -static void qh_printcenter(); -#define qh_printcentrum gdal_qh_printcentrum -static void qh_printcentrum(); -#define qh_printend gdal_qh_printend -static void qh_printend(); -#define qh_printend4geom gdal_qh_printend4geom -static void qh_printend4geom(); -#define qh_printextremes gdal_qh_printextremes -static void qh_printextremes(); -#define qh_printextremes_2d gdal_qh_printextremes_2d -static void qh_printextremes_2d(); -#define qh_printextremes_d gdal_qh_printextremes_d -static void qh_printextremes_d(); -#define qh_printfacet gdal_qh_printfacet -static void qh_printfacet(); -#define qh_printfacet2math gdal_qh_printfacet2math -static void qh_printfacet2math(); -#define qh_printfacet2geom gdal_qh_printfacet2geom -static void qh_printfacet2geom(); -#define qh_printfacet2geom_points gdal_qh_printfacet2geom_points -static void qh_printfacet2geom_points(); -#define qh_printfacet3math gdal_qh_printfacet3math -static void qh_printfacet3math(); -#define qh_printfacet3geom_nonsimplicial gdal_qh_printfacet3geom_nonsimplicial -static void qh_printfacet3geom_nonsimplicial(); -#define qh_printfacet3geom_points gdal_qh_printfacet3geom_points -static void qh_printfacet3geom_points(); -#define qh_printfacet3geom_simplicial gdal_qh_printfacet3geom_simplicial -static void qh_printfacet3geom_simplicial(); -#define qh_printfacet3vertex gdal_qh_printfacet3vertex -static void qh_printfacet3vertex(); -#define qh_printfacet4geom_nonsimplicial gdal_qh_printfacet4geom_nonsimplicial -static void qh_printfacet4geom_nonsimplicial(); -#define qh_printfacet4geom_simplicial gdal_qh_printfacet4geom_simplicial -static void qh_printfacet4geom_simplicial(); -#define qh_printfacetNvertex_nonsimplicial gdal_qh_printfacetNvertex_nonsimplicial -static void qh_printfacetNvertex_nonsimplicial(); -#define qh_printfacetNvertex_simplicial gdal_qh_printfacetNvertex_simplicial -static void qh_printfacetNvertex_simplicial(); -#define qh_printfacetheader gdal_qh_printfacetheader -static void qh_printfacetheader(); -#define qh_printfacetridges gdal_qh_printfacetridges -static void qh_printfacetridges(); -#define qh_printfacets gdal_qh_printfacets -static void qh_printfacets(); -#define qh_printhyperplaneintersection gdal_qh_printhyperplaneintersection -static void qh_printhyperplaneintersection(); -#define qh_printneighborhood gdal_qh_printneighborhood -static void qh_printneighborhood(); -#define qh_printline3geom gdal_qh_printline3geom -static void qh_printline3geom(); -#define qh_printpoint gdal_qh_printpoint -static void qh_printpoint(); -#define qh_printpointid gdal_qh_printpointid -static void qh_printpointid(); -#define qh_printpoint3 gdal_qh_printpoint3 -static void qh_printpoint3(); -#define qh_printpoints_out gdal_qh_printpoints_out -static void qh_printpoints_out(); -#define qh_printpointvect gdal_qh_printpointvect -static void qh_printpointvect(); -#define qh_printpointvect2 gdal_qh_printpointvect2 -static void qh_printpointvect2(); -#define qh_printridge gdal_qh_printridge -static void qh_printridge(); -#define qh_printspheres gdal_qh_printspheres -static void qh_printspheres(); -#define qh_printvdiagram gdal_qh_printvdiagram -static void qh_printvdiagram(); -#define qh_printvdiagram2 gdal_qh_printvdiagram2 -static int qh_printvdiagram2(); -#define qh_printvertex gdal_qh_printvertex -static void qh_printvertex(); -#define qh_printvertexlist gdal_qh_printvertexlist -static void qh_printvertexlist(); -#define qh_printvertices gdal_qh_printvertices -static void qh_printvertices(); -#define qh_printvneighbors gdal_qh_printvneighbors -static void qh_printvneighbors(); -#define qh_printvoronoi gdal_qh_printvoronoi -static void qh_printvoronoi(); -#define qh_printvnorm gdal_qh_printvnorm -static void qh_printvnorm(); -#define qh_printvridge gdal_qh_printvridge -static void qh_printvridge(); -#define qh_produce_output gdal_qh_produce_output -static void qh_produce_output(); -#define qh_produce_output2 gdal_qh_produce_output2 -static void qh_produce_output2(); -#define qh_projectdim3 gdal_qh_projectdim3 -static void qh_projectdim3(); -#define qh_readfeasible gdal_qh_readfeasible -static int qh_readfeasible(); -#define qh_readpoints gdal_qh_readpoints -static gdal_coordT * qh_readpoints(); -#define qh_setfeasible gdal_qh_setfeasible -static void qh_setfeasible(); -#define qh_skipfacet gdal_qh_skipfacet -static gdal_boolT qh_skipfacet(); -#define qh_skipfilename gdal_qh_skipfilename -static char * qh_skipfilename(); -#define qh_qhull gdal_qh_qhull -static void qh_qhull(); -#define qh_addpoint gdal_qh_addpoint -static gdal_boolT qh_addpoint(); -#define qh_printsummary gdal_qh_printsummary -static void qh_printsummary(); -#define qh_errexit gdal_qh_errexit -static void qh_errexit(); -#define qh_errprint gdal_qh_errprint -static void qh_errprint(); -#define qh_new_qhull gdal_qh_new_qhull -static int qh_new_qhull(); -#define qh_printfacetlist gdal_qh_printfacetlist -static void qh_printfacetlist(); -#define qh_printhelp_degenerate gdal_qh_printhelp_degenerate -static void qh_printhelp_degenerate(); -#define qh_printhelp_narrowhull gdal_qh_printhelp_narrowhull -static void qh_printhelp_narrowhull(); -#define qh_printhelp_singular gdal_qh_printhelp_singular -static void qh_printhelp_singular(); -#define qh_user_memsizes gdal_qh_user_memsizes -static void qh_user_memsizes(); -#define qh_exit gdal_qh_exit -static void qh_exit(); -#define qh_free gdal_qh_free -static void qh_free(); -#define qh_malloc gdal_qh_malloc -static void * qh_malloc(); -#define qh_fprintf gdal_qh_fprintf -static void qh_fprintf(FILE *fp, int msgcode, const char *fmt, ... ); -/*#define qh_fprintf_rbox gdal_qh_fprintf_rbox*/ -/*static void qh_fprintf_rbox(FILE *fp, int msgcode, const char *fmt, ... );*/ -#define qh_findbest gdal_qh_findbest -static gdal_facetT * qh_findbest(); -#define qh_findbestnew gdal_qh_findbestnew -static gdal_facetT * qh_findbestnew(); -#define qh_gram_schmidt gdal_qh_gram_schmidt -static gdal_boolT qh_gram_schmidt(); -#define qh_outerinner gdal_qh_outerinner -static void qh_outerinner(); -#define qh_printsummary gdal_qh_printsummary -static void qh_printsummary(); -#define qh_projectinput gdal_qh_projectinput -static void qh_projectinput(); -#define qh_randommatrix gdal_qh_randommatrix -static void qh_randommatrix(); -#define qh_rotateinput gdal_qh_rotateinput -static void qh_rotateinput(); -#define qh_scaleinput gdal_qh_scaleinput -static void qh_scaleinput(); -#define qh_setdelaunay gdal_qh_setdelaunay -static void qh_setdelaunay(); -#define qh_sethalfspace_all gdal_qh_sethalfspace_all -static gdal_coordT * qh_sethalfspace_all(); -#define qh_clock gdal_qh_clock -static unsigned long qh_clock(); -#define qh_checkflags gdal_qh_checkflags -static void qh_checkflags(); -#define qh_clear_outputflags gdal_qh_clear_outputflags -static void qh_clear_outputflags(); -#define qh_freebuffers gdal_qh_freebuffers -static void qh_freebuffers(); -#define qh_freeqhull gdal_qh_freeqhull -static void qh_freeqhull(); -#define qh_freeqhull2 gdal_qh_freeqhull2 -static void qh_freeqhull2(); -#define qh_init_A gdal_qh_init_A -static void qh_init_A(); -#define qh_init_B gdal_qh_init_B -static void qh_init_B(); -#define qh_init_qhull_command gdal_qh_init_qhull_command -static void qh_init_qhull_command(); -/*#define qh_initbuffers gdal_qh_initbuffers*/ -/*static void qh_initbuffers();*/ -#define qh_initflags gdal_qh_initflags -static void qh_initflags(); -#define qh_initqhull_buffers gdal_qh_initqhull_buffers -static void qh_initqhull_buffers(); -#define qh_initqhull_globals gdal_qh_initqhull_globals -static void qh_initqhull_globals(); -#define qh_initqhull_mem gdal_qh_initqhull_mem -static void qh_initqhull_mem(); -#define qh_initqhull_outputflags gdal_qh_initqhull_outputflags -static void qh_initqhull_outputflags(); -#define qh_initqhull_start gdal_qh_initqhull_start -static void qh_initqhull_start(); -#define qh_initqhull_start2 gdal_qh_initqhull_start2 -static void qh_initqhull_start2(); -#define qh_initthresholds gdal_qh_initthresholds -static void qh_initthresholds(); -#define qh_option gdal_qh_option -static void qh_option(); -/*#define qh_restore_qhull gdal_qh_restore_qhull*/ -/*static void qh_restore_qhull();*/ -/*#define qh_save_qhull gdal_qh_save_qhull*/ -/*static gdal_qhT * qh_save_qhull();*/ -#define dfacet gdal_dfacet -static void dfacet(); -#define dvertex gdal_dvertex -static void dvertex(); -#define qh_printneighborhood gdal_qh_printneighborhood -static void qh_printneighborhood(); -#define qh_produce_output gdal_qh_produce_output -static void qh_produce_output(); -#define qh_readpoints gdal_qh_readpoints -static gdal_coordT * qh_readpoints(); -#define qh_meminit gdal_qh_meminit -static void qh_meminit(); -#define qh_memfreeshort gdal_qh_memfreeshort -static void qh_memfreeshort(); -#define qh_check_output gdal_qh_check_output -static void qh_check_output(); -#define qh_check_points gdal_qh_check_points -static void qh_check_points(); -#define qh_facetvertices gdal_qh_facetvertices -static gdal_setT * qh_facetvertices(); -#define qh_findbestfacet gdal_qh_findbestfacet -static gdal_facetT * qh_findbestfacet(); -#define qh_nearvertex gdal_qh_nearvertex -static gdal_vertexT * qh_nearvertex(); -#define qh_point gdal_qh_point -static gdal_pointT * qh_point(); -#define qh_pointfacet gdal_qh_pointfacet -static gdal_setT * qh_pointfacet(); -#define qh_pointid gdal_qh_pointid -static int qh_pointid(); -#define qh_pointvertex gdal_qh_pointvertex -static gdal_setT * qh_pointvertex(); -#define qh_setvoronoi_all gdal_qh_setvoronoi_all -static void qh_setvoronoi_all(); -#define qh_triangulate gdal_qh_triangulate -static void qh_triangulate(); -/*#define qh_rboxpoints gdal_qh_rboxpoints*/ -/*static int qh_rboxpoints();*/ -/*#define qh_errexit_rbox gdal_qh_errexit_rbox*/ -/*static void qh_errexit_rbox();*/ -#define qh_collectstatistics gdal_qh_collectstatistics -static void qh_collectstatistics(); -#define qh_printallstatistics gdal_qh_printallstatistics -static void qh_printallstatistics(); -/*#define machines gdal_machines*/ -/*static gdal_of machines();*/ -#define qh_memalloc gdal_qh_memalloc -static void * qh_memalloc(); -#define qh_memfree gdal_qh_memfree -static void qh_memfree(); -#define qh_memfreeshort gdal_qh_memfreeshort -static void qh_memfreeshort(); -#define qh_meminit gdal_qh_meminit -static void qh_meminit(); -#define qh_meminitbuffers gdal_qh_meminitbuffers -static void qh_meminitbuffers(); -#define qh_memsetup gdal_qh_memsetup -static void qh_memsetup(); -#define qh_memsize gdal_qh_memsize -static void qh_memsize(); -#define qh_memstatistics gdal_qh_memstatistics -static void qh_memstatistics(); -#define qh_memtotal gdal_qh_memtotal -static void qh_memtotal(); -/*#define qh_mergefacet gdal_qh_mergefacet*/ -/*static gdal_if qh_mergefacet();*/ -#define qh_premerge gdal_qh_premerge -static void qh_premerge(); -#define qh_postmerge gdal_qh_postmerge -static void qh_postmerge(); -#define qh_all_merges gdal_qh_all_merges -static void qh_all_merges(); -#define qh_appendmergeset gdal_qh_appendmergeset -static void qh_appendmergeset(); -#define qh_basevertices gdal_qh_basevertices -static gdal_setT * qh_basevertices(); -#define qh_checkconnect gdal_qh_checkconnect -static void qh_checkconnect(); -#define qh_checkzero gdal_qh_checkzero -static gdal_boolT qh_checkzero(); -#define qh_compareangle gdal_qh_compareangle -static int qh_compareangle(); -#define qh_comparemerge gdal_qh_comparemerge -static int qh_comparemerge(); -#define qh_comparevisit gdal_qh_comparevisit -static int qh_comparevisit(); -#define qh_copynonconvex gdal_qh_copynonconvex -static void qh_copynonconvex(); -#define qh_degen_redundant_facet gdal_qh_degen_redundant_facet -static void qh_degen_redundant_facet(); -#define qh_degen_redundant_neighbors gdal_qh_degen_redundant_neighbors -static void qh_degen_redundant_neighbors(); -#define qh_find_newvertex gdal_qh_find_newvertex -static gdal_vertexT * qh_find_newvertex(); -#define qh_findbest_test gdal_qh_findbest_test -static void qh_findbest_test(); -#define qh_findbestneighbor gdal_qh_findbestneighbor -static gdal_facetT * qh_findbestneighbor(); -#define qh_flippedmerges gdal_qh_flippedmerges -static void qh_flippedmerges(); -#define qh_forcedmerges gdal_qh_forcedmerges -static void qh_forcedmerges(); -#define qh_getmergeset gdal_qh_getmergeset -static void qh_getmergeset(); -#define qh_getmergeset_initial gdal_qh_getmergeset_initial -static void qh_getmergeset_initial(); -#define qh_hashridge gdal_qh_hashridge -static void qh_hashridge(); -#define qh_hashridge_find gdal_qh_hashridge_find -static gdal_ridgeT * qh_hashridge_find(); -#define qh_makeridges gdal_qh_makeridges -static void qh_makeridges(); -#define qh_mark_dupridges gdal_qh_mark_dupridges -static void qh_mark_dupridges(); -#define qh_maydropneighbor gdal_qh_maydropneighbor -static void qh_maydropneighbor(); -#define qh_merge_degenredundant gdal_qh_merge_degenredundant -static int qh_merge_degenredundant(); -#define qh_merge_nonconvex gdal_qh_merge_nonconvex -static void qh_merge_nonconvex(); -#define qh_mergecycle gdal_qh_mergecycle -static void qh_mergecycle(); -#define qh_mergecycle_all gdal_qh_mergecycle_all -static void qh_mergecycle_all(); -#define qh_mergecycle_facets gdal_qh_mergecycle_facets -static void qh_mergecycle_facets(); -#define qh_mergecycle_neighbors gdal_qh_mergecycle_neighbors -static void qh_mergecycle_neighbors(); -#define qh_mergecycle_ridges gdal_qh_mergecycle_ridges -static void qh_mergecycle_ridges(); -#define qh_mergecycle_vneighbors gdal_qh_mergecycle_vneighbors -static void qh_mergecycle_vneighbors(); -#define qh_mergefacet gdal_qh_mergefacet -static void qh_mergefacet(); -#define qh_mergefacet2d gdal_qh_mergefacet2d -static void qh_mergefacet2d(); -#define qh_mergeneighbors gdal_qh_mergeneighbors -static void qh_mergeneighbors(); -#define qh_mergeridges gdal_qh_mergeridges -static void qh_mergeridges(); -#define qh_mergesimplex gdal_qh_mergesimplex -static void qh_mergesimplex(); -#define qh_mergevertex_del gdal_qh_mergevertex_del -static void qh_mergevertex_del(); -#define qh_mergevertex_neighbors gdal_qh_mergevertex_neighbors -static void qh_mergevertex_neighbors(); -#define qh_mergevertices gdal_qh_mergevertices -static void qh_mergevertices(); -#define qh_neighbor_intersections gdal_qh_neighbor_intersections -static gdal_setT * qh_neighbor_intersections(); -#define qh_newvertices gdal_qh_newvertices -static void qh_newvertices(); -#define qh_reducevertices gdal_qh_reducevertices -static gdal_boolT qh_reducevertices(); -#define qh_redundant_vertex gdal_qh_redundant_vertex -static gdal_vertexT * qh_redundant_vertex(); -#define qh_remove_extravertices gdal_qh_remove_extravertices -static gdal_boolT qh_remove_extravertices(); -#define qh_rename_sharedvertex gdal_qh_rename_sharedvertex -static gdal_vertexT * qh_rename_sharedvertex(); -#define qh_renameridgevertex gdal_qh_renameridgevertex -static void qh_renameridgevertex(); -#define qh_renamevertex gdal_qh_renamevertex -static void qh_renamevertex(); -#define qh_test_appendmerge gdal_qh_test_appendmerge -static gdal_boolT qh_test_appendmerge(); -#define qh_test_vneighbors gdal_qh_test_vneighbors -static gdal_boolT qh_test_vneighbors(); -#define qh_tracemerge gdal_qh_tracemerge -static void qh_tracemerge(); -#define qh_tracemerging gdal_qh_tracemerging -static void qh_tracemerging(); -#define qh_updatetested gdal_qh_updatetested -static void qh_updatetested(); -#define qh_vertexridges gdal_qh_vertexridges -static gdal_setT * qh_vertexridges(); -#define qh_vertexridges_facet gdal_qh_vertexridges_facet -static void qh_vertexridges_facet(); -#define qh_willdelete gdal_qh_willdelete -static void qh_willdelete(); -#define qh_appendfacet gdal_qh_appendfacet -static void qh_appendfacet(); -#define qh_appendvertex gdal_qh_appendvertex -static void qh_appendvertex(); -#define qh_attachnewfacets gdal_qh_attachnewfacets -static void qh_attachnewfacets(); -#define qh_checkflipped gdal_qh_checkflipped -static gdal_boolT qh_checkflipped(); -#define qh_delfacet gdal_qh_delfacet -static void qh_delfacet(); -#define qh_deletevisible gdal_qh_deletevisible -static void qh_deletevisible(); -#define qh_facetintersect gdal_qh_facetintersect -static gdal_setT * qh_facetintersect(); -#define qh_gethash gdal_qh_gethash -static int qh_gethash(); -#define qh_makenewfacet gdal_qh_makenewfacet -static gdal_facetT * qh_makenewfacet(); -#define qh_makenewplanes gdal_qh_makenewplanes -static void qh_makenewplanes(); -#define qh_makenew_nonsimplicial gdal_qh_makenew_nonsimplicial -static gdal_facetT * qh_makenew_nonsimplicial(); -#define qh_makenew_simplicial gdal_qh_makenew_simplicial -static gdal_facetT * qh_makenew_simplicial(); -#define qh_matchneighbor gdal_qh_matchneighbor -static void qh_matchneighbor(); -#define qh_matchnewfacets gdal_qh_matchnewfacets -static void qh_matchnewfacets(); -#define qh_matchvertices gdal_qh_matchvertices -static gdal_boolT qh_matchvertices(); -#define qh_newfacet gdal_qh_newfacet -static gdal_facetT * qh_newfacet(); -#define qh_newridge gdal_qh_newridge -static gdal_ridgeT * qh_newridge(); -#define qh_pointid gdal_qh_pointid -static int qh_pointid(); -#define qh_removefacet gdal_qh_removefacet -static void qh_removefacet(); -#define qh_removevertex gdal_qh_removevertex -static void qh_removevertex(); -#define qh_updatevertices gdal_qh_updatevertices -static void qh_updatevertices(); -#define qh_addhash gdal_qh_addhash -static void qh_addhash(); -#define qh_check_bestdist gdal_qh_check_bestdist -static void qh_check_bestdist(); -#define qh_check_maxout gdal_qh_check_maxout -static void qh_check_maxout(); -#define qh_check_output gdal_qh_check_output -static void qh_check_output(); -#define qh_check_point gdal_qh_check_point -static void qh_check_point(); -#define qh_check_points gdal_qh_check_points -static void qh_check_points(); -#define qh_checkconvex gdal_qh_checkconvex -static void qh_checkconvex(); -#define qh_checkfacet gdal_qh_checkfacet -static void qh_checkfacet(); -#define qh_checkflipped_all gdal_qh_checkflipped_all -static void qh_checkflipped_all(); -#define qh_checkpolygon gdal_qh_checkpolygon -static void qh_checkpolygon(); -#define qh_checkvertex gdal_qh_checkvertex -static void qh_checkvertex(); -#define qh_clearcenters gdal_qh_clearcenters -static void qh_clearcenters(); -#define qh_createsimplex gdal_qh_createsimplex -static void qh_createsimplex(); -#define qh_delridge gdal_qh_delridge -static void qh_delridge(); -#define qh_delvertex gdal_qh_delvertex -static void qh_delvertex(); -#define qh_facet3vertex gdal_qh_facet3vertex -static gdal_setT * qh_facet3vertex(); -#define qh_findbestfacet gdal_qh_findbestfacet -static gdal_facetT * qh_findbestfacet(); -#define qh_findbestlower gdal_qh_findbestlower -static gdal_facetT * qh_findbestlower(); -#define qh_findfacet_all gdal_qh_findfacet_all -static gdal_facetT * qh_findfacet_all(); -#define qh_findgood gdal_qh_findgood -static int qh_findgood(); -#define qh_findgood_all gdal_qh_findgood_all -static void qh_findgood_all(); -#define qh_furthestnext gdal_qh_furthestnext -static void qh_furthestnext(); -#define qh_furthestout gdal_qh_furthestout -static void qh_furthestout(); -#define qh_infiniteloop gdal_qh_infiniteloop -static void qh_infiniteloop(); -#define qh_initbuild gdal_qh_initbuild -static void qh_initbuild(); -#define qh_initialhull gdal_qh_initialhull -static void qh_initialhull(); -#define qh_initialvertices gdal_qh_initialvertices -static gdal_setT * qh_initialvertices(); -#define qh_isvertex gdal_qh_isvertex -static gdal_vertexT * qh_isvertex(); -#define qh_makenewfacets gdal_qh_makenewfacets -static gdal_vertexT * qh_makenewfacets(); -#define qh_matchduplicates gdal_qh_matchduplicates -static void qh_matchduplicates(); -#define qh_nearcoplanar gdal_qh_nearcoplanar -static void qh_nearcoplanar(); -#define qh_nearvertex gdal_qh_nearvertex -static gdal_vertexT * qh_nearvertex(); -#define qh_newhashtable gdal_qh_newhashtable -static int qh_newhashtable(); -#define qh_newvertex gdal_qh_newvertex -static gdal_vertexT * qh_newvertex(); -#define qh_nextridge3d gdal_qh_nextridge3d -static gdal_ridgeT * qh_nextridge3d(); -#define qh_outcoplanar gdal_qh_outcoplanar -static void qh_outcoplanar(); -#define qh_point gdal_qh_point -static gdal_pointT * qh_point(); -#define qh_point_add gdal_qh_point_add -static void qh_point_add(); -#define qh_pointfacet gdal_qh_pointfacet -static gdal_setT * qh_pointfacet(); -#define qh_pointvertex gdal_qh_pointvertex -static gdal_setT * qh_pointvertex(); -#define qh_prependfacet gdal_qh_prependfacet -static void qh_prependfacet(); -#define qh_printhashtable gdal_qh_printhashtable -static void qh_printhashtable(); -#define qh_printlists gdal_qh_printlists -static void qh_printlists(); -#define qh_resetlists gdal_qh_resetlists -static void qh_resetlists(); -#define qh_setvoronoi_all gdal_qh_setvoronoi_all -static void qh_setvoronoi_all(); -#define qh_triangulate gdal_qh_triangulate -static void qh_triangulate(); -#define qh_triangulate_facet gdal_qh_triangulate_facet -static void qh_triangulate_facet(); -#define qh_triangulate_link gdal_qh_triangulate_link -static void qh_triangulate_link(); -#define qh_triangulate_mirror gdal_qh_triangulate_mirror -static void qh_triangulate_mirror(); -#define qh_triangulate_null gdal_qh_triangulate_null -static void qh_triangulate_null(); -#define qh_vertexintersect gdal_qh_vertexintersect -static void qh_vertexintersect(); -#define qh_vertexintersect_new gdal_qh_vertexintersect_new -static gdal_setT * qh_vertexintersect_new(); -#define qh_vertexneighbors gdal_qh_vertexneighbors -static void qh_vertexneighbors(); -#define qh_vertexsubset gdal_qh_vertexsubset -static gdal_boolT qh_vertexsubset(); -#define qh_qhull gdal_qh_qhull -static void qh_qhull(); -#define qh_addpoint gdal_qh_addpoint -static gdal_boolT qh_addpoint(); -#define qh_buildhull gdal_qh_buildhull -static void qh_buildhull(); -#define qh_buildtracing gdal_qh_buildtracing -static void qh_buildtracing(); -#define qh_build_withrestart gdal_qh_build_withrestart -static void qh_build_withrestart(); -#define qh_errexit2 gdal_qh_errexit2 -static void qh_errexit2(); -#define qh_findhorizon gdal_qh_findhorizon -static void qh_findhorizon(); -#define qh_nextfurthest gdal_qh_nextfurthest -static gdal_pointT * qh_nextfurthest(); -#define qh_partitionall gdal_qh_partitionall -static void qh_partitionall(); -#define qh_partitioncoplanar gdal_qh_partitioncoplanar -static void qh_partitioncoplanar(); -#define qh_partitionpoint gdal_qh_partitionpoint -static void qh_partitionpoint(); -#define qh_partitionvisible gdal_qh_partitionvisible -static void qh_partitionvisible(); -#define qh_precision gdal_qh_precision -static void qh_precision(); -#define qh_printsummary gdal_qh_printsummary -static void qh_printsummary(); -#define qh_appendprint gdal_qh_appendprint -static void qh_appendprint(); -#define qh_freebuild gdal_qh_freebuild -static void qh_freebuild(); -#define qh_freebuffers gdal_qh_freebuffers -static void qh_freebuffers(); -/*#define qh_initbuffers gdal_qh_initbuffers*/ -/*static void qh_initbuffers();*/ -#define qh_allstatA gdal_qh_allstatA -static void qh_allstatA(); -#define qh_allstatB gdal_qh_allstatB -static void qh_allstatB(); -#define qh_allstatC gdal_qh_allstatC -static void qh_allstatC(); -#define qh_allstatD gdal_qh_allstatD -static void qh_allstatD(); -#define qh_allstatE gdal_qh_allstatE -static void qh_allstatE(); -#define qh_allstatE2 gdal_qh_allstatE2 -static void qh_allstatE2(); -#define qh_allstatF gdal_qh_allstatF -static void qh_allstatF(); -#define qh_allstatG gdal_qh_allstatG -static void qh_allstatG(); -#define qh_allstatH gdal_qh_allstatH -static void qh_allstatH(); -#define qh_freebuffers gdal_qh_freebuffers -static void qh_freebuffers(); -/*#define qh_initbuffers gdal_qh_initbuffers*/ -/*static void qh_initbuffers();*/ -#define qh_setaddsorted gdal_qh_setaddsorted -static void qh_setaddsorted(); -#define qh_setaddnth gdal_qh_setaddnth -static void qh_setaddnth(); -#define qh_setappend gdal_qh_setappend -static void qh_setappend(); -#define qh_setappend_set gdal_qh_setappend_set -static void qh_setappend_set(); -#define qh_setappend2ndlast gdal_qh_setappend2ndlast -static void qh_setappend2ndlast(); -#define qh_setcheck gdal_qh_setcheck -static void qh_setcheck(); -#define qh_setcompact gdal_qh_setcompact -static void qh_setcompact(); -#define qh_setcopy gdal_qh_setcopy -static gdal_setT * qh_setcopy(); -#define qh_setdel gdal_qh_setdel -static void * qh_setdel(); -#define qh_setdellast gdal_qh_setdellast -static void * qh_setdellast(); -#define qh_setdelnth gdal_qh_setdelnth -static void * qh_setdelnth(); -#define qh_setdelnthsorted gdal_qh_setdelnthsorted -static void * qh_setdelnthsorted(); -#define qh_setdelsorted gdal_qh_setdelsorted -static void * qh_setdelsorted(); -#define qh_setduplicate gdal_qh_setduplicate -static gdal_setT * qh_setduplicate(); -#define qh_setequal gdal_qh_setequal -static int qh_setequal(); -#define qh_setequal_except gdal_qh_setequal_except -static int qh_setequal_except(); -#define qh_setequal_skip gdal_qh_setequal_skip -static int qh_setequal_skip(); -#define qh_setendpointer gdal_qh_setendpointer -static void ** qh_setendpointer(); -#define qh_setfree gdal_qh_setfree -static void qh_setfree(); -#define qh_setfree2 gdal_qh_setfree2 -static void qh_setfree2(); -#define qh_setfreelong gdal_qh_setfreelong -static void qh_setfreelong(); -#define qh_setin gdal_qh_setin -static int qh_setin(); -#define qh_setindex gdal_qh_setindex -static int qh_setindex(); -#define qh_setlarger gdal_qh_setlarger -static void qh_setlarger(); -#define qh_setlast gdal_qh_setlast -static void * qh_setlast(); -#define qh_setnew gdal_qh_setnew -static gdal_setT * qh_setnew(); -#define qh_setnew_delnthsorted gdal_qh_setnew_delnthsorted -static gdal_setT * qh_setnew_delnthsorted(); -#define qh_setprint gdal_qh_setprint -static void qh_setprint(); -#define qh_setreplace gdal_qh_setreplace -static void qh_setreplace(); -#define qh_setsize gdal_qh_setsize -static int qh_setsize(); -#define qh_settemp gdal_qh_settemp -static gdal_setT * qh_settemp(); -#define qh_settempfree gdal_qh_settempfree -static void qh_settempfree(); -#define qh_settempfree_all gdal_qh_settempfree_all -static void qh_settempfree_all(); -#define qh_settemppop gdal_qh_settemppop -static gdal_setT * qh_settemppop(); -#define qh_settemppush gdal_qh_settemppush -static void qh_settemppush(); -#define qh_settruncate gdal_qh_settruncate -static void qh_settruncate(); -#define qh_setunique gdal_qh_setunique -static int qh_setunique(); -#define qh_setzero gdal_qh_setzero -static void qh_setzero(); -#define qh_argv_to_command gdal_qh_argv_to_command -static int qh_argv_to_command(); -#define qh_argv_to_command_size gdal_qh_argv_to_command_size -static int qh_argv_to_command_size(); -#define qh_rand gdal_qh_rand -static int qh_rand(); -#define qh_srand gdal_qh_srand -static void qh_srand(); -#define qh_randomfactor gdal_qh_randomfactor -static gdal_realT qh_randomfactor(); -#define qh_randommatrix gdal_qh_randommatrix -static void qh_randommatrix(); -#define qh_strtol gdal_qh_strtol -static int qh_strtol(); -#define qh_strtod gdal_qh_strtod -static double qh_strtod(); -#define qh_allstatA gdal_qh_allstatA -static void qh_allstatA(); -#define qh_allstatB gdal_qh_allstatB -static void qh_allstatB(); -#define qh_allstatC gdal_qh_allstatC -static void qh_allstatC(); -#define qh_allstatD gdal_qh_allstatD -static void qh_allstatD(); -#define qh_allstatE gdal_qh_allstatE -static void qh_allstatE(); -#define qh_allstatE2 gdal_qh_allstatE2 -static void qh_allstatE2(); -#define qh_allstatF gdal_qh_allstatF -static void qh_allstatF(); -#define qh_allstatG gdal_qh_allstatG -static void qh_allstatG(); -#define qh_allstatH gdal_qh_allstatH -static void qh_allstatH(); -#define qh_allstatI gdal_qh_allstatI -static void qh_allstatI(); -#define qh_allstatistics gdal_qh_allstatistics -static void qh_allstatistics(); -#define qh_collectstatistics gdal_qh_collectstatistics -static void qh_collectstatistics(); -#define qh_freestatistics gdal_qh_freestatistics -static void qh_freestatistics(); -#define qh_initstatistics gdal_qh_initstatistics -static void qh_initstatistics(); -#define qh_newstats gdal_qh_newstats -static gdal_boolT qh_newstats(); -#define qh_nostatistic gdal_qh_nostatistic -static gdal_boolT qh_nostatistic(); -#define qh_printallstatistics gdal_qh_printallstatistics -static void qh_printallstatistics(); -#define qh_printstatistics gdal_qh_printstatistics -static void qh_printstatistics(); -#define qh_printstatlevel gdal_qh_printstatlevel -static void qh_printstatlevel(); -#define qh_printstats gdal_qh_printstats -static void qh_printstats(); -#define qh_stddev gdal_qh_stddev -static gdal_realT qh_stddev(); - -#ifdef _MSC_VER -#pragma warning( push ) -#pragma warning( disable : 4324 ) -#pragma warning( disable : 4032 ) -#pragma warning( disable : 4306 ) /* e.g 'type cast' : conversion from 'long' to 'facetT *' of greater size */ -#endif - -#include "libqhull.h" -#include "libqhull.c" -#include "poly.c" -#include "poly2.c" -#include "mem.c" -#include "user.c" -#include "global.c" -/*#include "userprintf.c"*/ -#include "random.c" -#include "qset.c" -#include "io.c" -#include "usermem.c" -#include "geom.c" -#include "geom2.c" -#include "stat.c" -#include "merge.c" - -#ifdef _MSC_VER -#pragma warning( pop ) -#endif - -/* Replaces userprintf.c implementation */ -static void qh_fprintf(CPL_UNUSED FILE *fp, CPL_UNUSED int msgcode, const char *fmt, ... ) -{ - va_list args; - va_start(args, fmt); - CPLErrorV(CE_Warning, CPLE_AppDefined, fmt, args); - va_end(args); -} - -#endif diff --git a/src/gdal/memdataset.h b/src/gdal/memdataset.h deleted file mode 100644 index d11e7a70..00000000 --- a/src/gdal/memdataset.h +++ /dev/null @@ -1,184 +0,0 @@ -/****************************************************************************** - * $Id: memdataset.h 33838 2016-03-31 20:42:32Z goatbar $ - * - * Project: Memory Array Translator - * Purpose: Declaration of MEMDataset, and MEMRasterBand. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 2000, Frank Warmerdam - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef MEMDATASET_H_INCLUDED -#define MEMDATASET_H_INCLUDED - -#include "gdal_pam.h" -#include "gdal_priv.h" - -CPL_C_START -void GDALRegister_MEM(); -/* Caution: if changing this prototype, also change in swig/include/gdal_python.i - where it is redefined */ -GDALRasterBandH CPL_DLL MEMCreateRasterBand( GDALDataset *, int, GByte *, - GDALDataType, int, int, int ); -GDALRasterBandH CPL_DLL MEMCreateRasterBandEx( GDALDataset *, int, GByte *, - GDALDataType, GSpacing, GSpacing, - int ); -CPL_C_END - -/************************************************************************/ -/* MEMDataset */ -/************************************************************************/ - -class MEMRasterBand; - -class CPL_DLL MEMDataset : public GDALDataset -{ - int bGeoTransformSet; - double adfGeoTransform[6]; - - char *pszProjection; - - int nGCPCount; - GDAL_GCP *pasGCPs; - CPLString osGCPProjection; - -#if 0 - protected: - virtual int EnterReadWrite(GDALRWFlag eRWFlag); - virtual void LeaveReadWrite(); -#endif - - public: - MEMDataset(); - virtual ~MEMDataset(); - - virtual const char *GetProjectionRef(void); - virtual CPLErr SetProjection( const char * ); - - virtual CPLErr GetGeoTransform( double * ); - virtual CPLErr SetGeoTransform( double * ); - - virtual void *GetInternalHandle( const char * ); - - virtual int GetGCPCount(); - virtual const char *GetGCPProjection(); - virtual const GDAL_GCP *GetGCPs(); - virtual CPLErr SetGCPs( int nGCPCount, const GDAL_GCP *pasGCPList, - const char *pszGCPProjection ); - - virtual CPLErr AddBand( GDALDataType eType, - char **papszOptions=NULL ); - virtual CPLErr IRasterIO( GDALRWFlag eRWFlag, - int nXOff, int nYOff, int nXSize, int nYSize, - void * pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - int nBandCount, int *panBandMap, - GSpacing nPixelSpaceBuf, - GSpacing nLineSpaceBuf, - GSpacing nBandSpaceBuf, - GDALRasterIOExtraArg* psExtraArg); - - static GDALDataset *Open( GDALOpenInfo * ); - static GDALDataset *Create( const char * pszFilename, - int nXSize, int nYSize, int nBands, - GDALDataType eType, char ** papszParmList ); -}; - -/************************************************************************/ -/* MEMRasterBand */ -/************************************************************************/ - -class CPL_DLL MEMRasterBand : public GDALPamRasterBand -{ - protected: - friend class MEMDataset; - - GByte *pabyData; - GSpacing nPixelOffset; - GSpacing nLineOffset; - int bOwnData; - - int bNoDataSet; - double dfNoData; - - GDALColorTable *poColorTable; - GDALColorInterp eColorInterp; - - char *pszUnitType; - char **papszCategoryNames; - - double dfOffset; - double dfScale; - - CPLXMLNode *psSavedHistograms; - - public: - MEMRasterBand( GDALDataset *poDS, int nBand, - GByte *pabyData, GDALDataType eType, - GSpacing nPixelOffset, GSpacing nLineOffset, - int bAssumeOwnership, - const char * pszPixelType = NULL ); - virtual ~MEMRasterBand(); - - virtual CPLErr IReadBlock( int, int, void * ); - virtual CPLErr IWriteBlock( int, int, void * ); - virtual CPLErr IRasterIO( GDALRWFlag eRWFlag, - int nXOff, int nYOff, int nXSize, int nYSize, - void * pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - GSpacing nPixelSpaceBuf, - GSpacing nLineSpaceBuf, - GDALRasterIOExtraArg* psExtraArg ); - virtual double GetNoDataValue( int *pbSuccess = NULL ); - virtual CPLErr SetNoDataValue( double ); - virtual CPLErr DeleteNoDataValue(); - - virtual GDALColorInterp GetColorInterpretation(); - virtual GDALColorTable *GetColorTable(); - virtual CPLErr SetColorTable( GDALColorTable * ); - - virtual CPLErr SetColorInterpretation( GDALColorInterp ); - - virtual const char *GetUnitType(); - CPLErr SetUnitType( const char * ); - - virtual char **GetCategoryNames(); - virtual CPLErr SetCategoryNames( char ** ); - - virtual double GetOffset( int *pbSuccess = NULL ); - CPLErr SetOffset( double ); - virtual double GetScale( int *pbSuccess = NULL ); - CPLErr SetScale( double ); - - virtual CPLErr SetDefaultHistogram( double dfMin, double dfMax, - int nBuckets, GUIntBig *panHistogram ); - virtual CPLErr GetDefaultHistogram( double *pdfMin, double *pdfMax, - int *pnBuckets, - GUIntBig ** ppanHistogram, - int bForce, - GDALProgressFunc, void *pProgressData); - - // Allow access to MEM driver's private internal memory buffer. - GByte *GetData(void) const { return(pabyData); } -}; - -#endif /* ndef MEMDATASET_H_INCLUDED */ diff --git a/src/gdal/ogr_api.h b/src/gdal/ogr_api.h deleted file mode 100644 index cd3704e7..00000000 --- a/src/gdal/ogr_api.h +++ /dev/null @@ -1,655 +0,0 @@ -/****************************************************************************** - * $Id: ogr_api.h 33631 2016-03-04 06:28:09Z goatbar $ - * - * Project: OpenGIS Simple Features Reference Implementation - * Purpose: C API for OGR Geometry, Feature, Layers, DataSource and drivers. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 2002, Frank Warmerdam - * Copyright (c) 2008-2013, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OGR_API_H_INCLUDED -#define OGR_API_H_INCLUDED - -/** - * \file ogr_api.h - * - * C API and defines for OGRFeature, OGRGeometry, and OGRDataSource - * related classes. - * - * See also: ogr_geometry.h, ogr_feature.h, ogrsf_frmts.h, ogr_featurestyle.h - */ - -#include "cpl_progress.h" -#include "cpl_minixml.h" -#include "ogr_core.h" - -CPL_C_START - -/* -------------------------------------------------------------------- */ -/* Geometry related functions (ogr_geometry.h) */ -/* -------------------------------------------------------------------- */ -#ifdef DEBUG -typedef struct OGRGeometryHS *OGRGeometryH; -#else -typedef void *OGRGeometryH; -#endif - -#ifndef DEFINED_OGRSpatialReferenceH -#define DEFINED_OGRSpatialReferenceH - -#ifdef DEBUG -typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH; -typedef struct OGRCoordinateTransformationHS *OGRCoordinateTransformationH; -#else -typedef void *OGRSpatialReferenceH; -typedef void *OGRCoordinateTransformationH; -#endif - -#endif - -struct _CPLXMLNode; - -/* From base OGRGeometry class */ - -OGRErr CPL_DLL OGR_G_CreateFromWkb( unsigned char *, OGRSpatialReferenceH, - OGRGeometryH *, int ); -OGRErr CPL_DLL OGR_G_CreateFromWkt( char **, OGRSpatialReferenceH, - OGRGeometryH * ); -OGRErr CPL_DLL OGR_G_CreateFromFgf( unsigned char *, OGRSpatialReferenceH, - OGRGeometryH *, int, int * ); -void CPL_DLL OGR_G_DestroyGeometry( OGRGeometryH ); -OGRGeometryH CPL_DLL OGR_G_CreateGeometry( OGRwkbGeometryType ) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL -OGR_G_ApproximateArcAngles( - double dfCenterX, double dfCenterY, double dfZ, - double dfPrimaryRadius, double dfSecondaryAxis, double dfRotation, - double dfStartAngle, double dfEndAngle, - double dfMaxAngleStepSizeDegrees ) CPL_WARN_UNUSED_RESULT; - -OGRGeometryH CPL_DLL OGR_G_ForceToPolygon( OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL OGR_G_ForceToLineString( OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL OGR_G_ForceToMultiPolygon( OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL OGR_G_ForceToMultiPoint( OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL OGR_G_ForceToMultiLineString( OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL OGR_G_ForceTo( OGRGeometryH hGeom, - OGRwkbGeometryType eTargetType, - char** papszOptions ) CPL_WARN_UNUSED_RESULT; - -int CPL_DLL OGR_G_GetDimension( OGRGeometryH ); -int CPL_DLL OGR_G_GetCoordinateDimension( OGRGeometryH ); -int CPL_DLL OGR_G_CoordinateDimension( OGRGeometryH ); -void CPL_DLL OGR_G_SetCoordinateDimension( OGRGeometryH, int ); -int CPL_DLL OGR_G_Is3D( OGRGeometryH ); -int CPL_DLL OGR_G_IsMeasured( OGRGeometryH ); -void CPL_DLL OGR_G_Set3D( OGRGeometryH, int ); -void CPL_DLL OGR_G_SetMeasured( OGRGeometryH, int ); -OGRGeometryH CPL_DLL OGR_G_Clone( OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -void CPL_DLL OGR_G_GetEnvelope( OGRGeometryH, OGREnvelope * ); -void CPL_DLL OGR_G_GetEnvelope3D( OGRGeometryH, OGREnvelope3D * ); -OGRErr CPL_DLL OGR_G_ImportFromWkb( OGRGeometryH, unsigned char *, int ); -OGRErr CPL_DLL OGR_G_ExportToWkb( OGRGeometryH, OGRwkbByteOrder, unsigned char*); -OGRErr CPL_DLL OGR_G_ExportToIsoWkb( OGRGeometryH, OGRwkbByteOrder, unsigned char*); -int CPL_DLL OGR_G_WkbSize( OGRGeometryH hGeom ); -OGRErr CPL_DLL OGR_G_ImportFromWkt( OGRGeometryH, char ** ); -OGRErr CPL_DLL OGR_G_ExportToWkt( OGRGeometryH, char ** ); -OGRErr CPL_DLL OGR_G_ExportToIsoWkt( OGRGeometryH, char ** ); -OGRwkbGeometryType CPL_DLL OGR_G_GetGeometryType( OGRGeometryH ); -const char CPL_DLL *OGR_G_GetGeometryName( OGRGeometryH ); -void CPL_DLL OGR_G_DumpReadable( OGRGeometryH, FILE *, const char * ); -void CPL_DLL OGR_G_FlattenTo2D( OGRGeometryH ); -void CPL_DLL OGR_G_CloseRings( OGRGeometryH ); - -OGRGeometryH CPL_DLL OGR_G_CreateFromGML( const char * ) CPL_WARN_UNUSED_RESULT; -char CPL_DLL *OGR_G_ExportToGML( OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -char CPL_DLL *OGR_G_ExportToGMLEx( OGRGeometryH, char** papszOptions ) CPL_WARN_UNUSED_RESULT; - -OGRGeometryH CPL_DLL OGR_G_CreateFromGMLTree( const CPLXMLNode * ) CPL_WARN_UNUSED_RESULT; -CPLXMLNode CPL_DLL *OGR_G_ExportToGMLTree( OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -CPLXMLNode CPL_DLL *OGR_G_ExportEnvelopeToGMLTree( OGRGeometryH ) CPL_WARN_UNUSED_RESULT; - -char CPL_DLL *OGR_G_ExportToKML( OGRGeometryH, const char* pszAltitudeMode ) CPL_WARN_UNUSED_RESULT; - -char CPL_DLL *OGR_G_ExportToJson( OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -char CPL_DLL *OGR_G_ExportToJsonEx( OGRGeometryH, char** papszOptions ) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL OGR_G_CreateGeometryFromJson( const char* ) CPL_WARN_UNUSED_RESULT; - -void CPL_DLL OGR_G_AssignSpatialReference( OGRGeometryH, - OGRSpatialReferenceH ); -OGRSpatialReferenceH CPL_DLL OGR_G_GetSpatialReference( OGRGeometryH ); -OGRErr CPL_DLL OGR_G_Transform( OGRGeometryH, OGRCoordinateTransformationH ); -OGRErr CPL_DLL OGR_G_TransformTo( OGRGeometryH, OGRSpatialReferenceH ); - -OGRGeometryH CPL_DLL OGR_G_Simplify( OGRGeometryH hThis, double tolerance ) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL OGR_G_SimplifyPreserveTopology( OGRGeometryH hThis, double tolerance ) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL OGR_G_DelaunayTriangulation( OGRGeometryH hThis, double dfTolerance, int bOnlyEdges ) CPL_WARN_UNUSED_RESULT; - -void CPL_DLL OGR_G_Segmentize(OGRGeometryH hGeom, double dfMaxLength ); -int CPL_DLL OGR_G_Intersects( OGRGeometryH, OGRGeometryH ); -int CPL_DLL OGR_G_Equals( OGRGeometryH, OGRGeometryH ); -/*int CPL_DLL OGR_G_EqualsExact( OGRGeometryH, OGRGeometryH, double );*/ -int CPL_DLL OGR_G_Disjoint( OGRGeometryH, OGRGeometryH ); -int CPL_DLL OGR_G_Touches( OGRGeometryH, OGRGeometryH ); -int CPL_DLL OGR_G_Crosses( OGRGeometryH, OGRGeometryH ); -int CPL_DLL OGR_G_Within( OGRGeometryH, OGRGeometryH ); -int CPL_DLL OGR_G_Contains( OGRGeometryH, OGRGeometryH ); -int CPL_DLL OGR_G_Overlaps( OGRGeometryH, OGRGeometryH ); - -OGRGeometryH CPL_DLL OGR_G_Boundary( OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL OGR_G_ConvexHull( OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL OGR_G_Buffer( OGRGeometryH, double, int ) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL OGR_G_Intersection( OGRGeometryH, OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL OGR_G_Union( OGRGeometryH, OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL OGR_G_UnionCascaded( OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL OGR_G_PointOnSurface( OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -/*OGRGeometryH CPL_DLL OGR_G_Polygonize( OGRGeometryH *, int);*/ -/*OGRGeometryH CPL_DLL OGR_G_Polygonizer_getCutEdges( OGRGeometryH *, int);*/ -/*OGRGeometryH CPL_DLL OGR_G_LineMerge( OGRGeometryH );*/ - -OGRGeometryH CPL_DLL OGR_G_Difference( OGRGeometryH, OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL OGR_G_SymDifference( OGRGeometryH, OGRGeometryH ) CPL_WARN_UNUSED_RESULT; -double CPL_DLL OGR_G_Distance( OGRGeometryH, OGRGeometryH ); -double CPL_DLL OGR_G_Length( OGRGeometryH ); -double CPL_DLL OGR_G_Area( OGRGeometryH ); -int CPL_DLL OGR_G_Centroid( OGRGeometryH, OGRGeometryH ); -OGRGeometryH CPL_DLL OGR_G_Value( OGRGeometryH, double dfDistance ) CPL_WARN_UNUSED_RESULT; - -void CPL_DLL OGR_G_Empty( OGRGeometryH ); -int CPL_DLL OGR_G_IsEmpty( OGRGeometryH ); -int CPL_DLL OGR_G_IsValid( OGRGeometryH ); -/*char CPL_DLL *OGR_G_IsValidReason( OGRGeometryH );*/ -int CPL_DLL OGR_G_IsSimple( OGRGeometryH ); -int CPL_DLL OGR_G_IsRing( OGRGeometryH ); - -OGRGeometryH CPL_DLL OGR_G_Polygonize( OGRGeometryH ) CPL_WARN_UNUSED_RESULT; - -/* backward compatibility (non-standard methods) */ -int CPL_DLL OGR_G_Intersect( OGRGeometryH, OGRGeometryH ) CPL_WARN_DEPRECATED("Non standard method. Use OGR_G_Intersects() instead"); -int CPL_DLL OGR_G_Equal( OGRGeometryH, OGRGeometryH ) CPL_WARN_DEPRECATED("Non standard method. Use OGR_G_Equals() instead"); -OGRGeometryH CPL_DLL OGR_G_SymmetricDifference( OGRGeometryH, OGRGeometryH ) CPL_WARN_DEPRECATED("Non standard method. Use OGR_G_SymDifference() instead"); -double CPL_DLL OGR_G_GetArea( OGRGeometryH ) CPL_WARN_DEPRECATED("Non standard method. Use OGR_G_Area() instead"); -OGRGeometryH CPL_DLL OGR_G_GetBoundary( OGRGeometryH ) CPL_WARN_DEPRECATED("Non standard method. Use OGR_G_Boundary() instead"); - -/* Methods for getting/setting vertices in points, line strings and rings */ -int CPL_DLL OGR_G_GetPointCount( OGRGeometryH ); -int CPL_DLL OGR_G_GetPoints( OGRGeometryH hGeom, - void* pabyX, int nXStride, - void* pabyY, int nYStride, - void* pabyZ, int nZStride); -int CPL_DLL OGR_G_GetPointsZM( OGRGeometryH hGeom, - void* pabyX, int nXStride, - void* pabyY, int nYStride, - void* pabyZ, int nZStride, - void* pabyM, int nMStride); -double CPL_DLL OGR_G_GetX( OGRGeometryH, int ); -double CPL_DLL OGR_G_GetY( OGRGeometryH, int ); -double CPL_DLL OGR_G_GetZ( OGRGeometryH, int ); -double CPL_DLL OGR_G_GetM( OGRGeometryH, int ); -void CPL_DLL OGR_G_GetPoint( OGRGeometryH, int iPoint, - double *, double *, double * ); -void CPL_DLL OGR_G_GetPointZM( OGRGeometryH, int iPoint, - double *, double *, double *, double * ); -void CPL_DLL OGR_G_SetPointCount( OGRGeometryH hGeom, int nNewPointCount ); -void CPL_DLL OGR_G_SetPoint( OGRGeometryH, int iPoint, - double, double, double ); -void CPL_DLL OGR_G_SetPoint_2D( OGRGeometryH, int iPoint, - double, double ); -void CPL_DLL OGR_G_SetPointM( OGRGeometryH, int iPoint, - double, double, double ); -void CPL_DLL OGR_G_SetPointZM( OGRGeometryH, int iPoint, - double, double, double, double ); -void CPL_DLL OGR_G_AddPoint( OGRGeometryH, double, double, double ); -void CPL_DLL OGR_G_AddPoint_2D( OGRGeometryH, double, double ); -void CPL_DLL OGR_G_AddPointM( OGRGeometryH, double, double, double ); -void CPL_DLL OGR_G_AddPointZM( OGRGeometryH, double, double, double, double ); -void CPL_DLL OGR_G_SetPoints( OGRGeometryH hGeom, int nPointsIn, - void* pabyX, int nXStride, - void* pabyY, int nYStride, - void* pabyZ, int nZStride ); -void CPL_DLL OGR_G_SetPointsZM( OGRGeometryH hGeom, int nPointsIn, - void* pabyX, int nXStride, - void* pabyY, int nYStride, - void* pabyZ, int nZStride, - void* pabyM, int nMStride ); - -/* Methods for getting/setting rings and members collections */ - -int CPL_DLL OGR_G_GetGeometryCount( OGRGeometryH ); -OGRGeometryH CPL_DLL OGR_G_GetGeometryRef( OGRGeometryH, int ); -OGRErr CPL_DLL OGR_G_AddGeometry( OGRGeometryH, OGRGeometryH ); -OGRErr CPL_DLL OGR_G_AddGeometryDirectly( OGRGeometryH, OGRGeometryH ); -OGRErr CPL_DLL OGR_G_RemoveGeometry( OGRGeometryH, int, int ); - -int CPL_DLL OGR_G_HasCurveGeometry( OGRGeometryH, int bLookForNonLinear ); -OGRGeometryH CPL_DLL OGR_G_GetLinearGeometry( OGRGeometryH hGeom, - double dfMaxAngleStepSizeDegrees, - char** papszOptions) CPL_WARN_UNUSED_RESULT; -OGRGeometryH CPL_DLL OGR_G_GetCurveGeometry( OGRGeometryH hGeom, - char** papszOptions ) CPL_WARN_UNUSED_RESULT; - -OGRGeometryH CPL_DLL OGRBuildPolygonFromEdges( OGRGeometryH hLinesAsCollection, - int bBestEffort, - int bAutoClose, - double dfTolerance, - OGRErr * peErr ) CPL_WARN_UNUSED_RESULT; - -OGRErr CPL_DLL OGRSetGenerate_DB2_V72_BYTE_ORDER( - int bGenerate_DB2_V72_BYTE_ORDER ); - -int CPL_DLL OGRGetGenerate_DB2_V72_BYTE_ORDER(void); - -void CPL_DLL OGRSetNonLinearGeometriesEnabledFlag(int bFlag); -int CPL_DLL OGRGetNonLinearGeometriesEnabledFlag(void); - -/* -------------------------------------------------------------------- */ -/* Feature related (ogr_feature.h) */ -/* -------------------------------------------------------------------- */ - -#ifdef DEBUG -typedef struct OGRFieldDefnHS *OGRFieldDefnH; -typedef struct OGRFeatureDefnHS *OGRFeatureDefnH; -typedef struct OGRFeatureHS *OGRFeatureH; -typedef struct OGRStyleTableHS *OGRStyleTableH; -#else -typedef void *OGRFieldDefnH; -typedef void *OGRFeatureDefnH; -typedef void *OGRFeatureH; -typedef void *OGRStyleTableH; -#endif -typedef struct OGRGeomFieldDefnHS *OGRGeomFieldDefnH; - -/* OGRFieldDefn */ - -OGRFieldDefnH CPL_DLL OGR_Fld_Create( const char *, OGRFieldType ) CPL_WARN_UNUSED_RESULT; -void CPL_DLL OGR_Fld_Destroy( OGRFieldDefnH ); - -void CPL_DLL OGR_Fld_SetName( OGRFieldDefnH, const char * ); -const char CPL_DLL *OGR_Fld_GetNameRef( OGRFieldDefnH ); -OGRFieldType CPL_DLL OGR_Fld_GetType( OGRFieldDefnH ); -void CPL_DLL OGR_Fld_SetType( OGRFieldDefnH, OGRFieldType ); -OGRFieldSubType CPL_DLL OGR_Fld_GetSubType( OGRFieldDefnH ); -void CPL_DLL OGR_Fld_SetSubType( OGRFieldDefnH, OGRFieldSubType ); -OGRJustification CPL_DLL OGR_Fld_GetJustify( OGRFieldDefnH ); -void CPL_DLL OGR_Fld_SetJustify( OGRFieldDefnH, OGRJustification ); -int CPL_DLL OGR_Fld_GetWidth( OGRFieldDefnH ); -void CPL_DLL OGR_Fld_SetWidth( OGRFieldDefnH, int ); -int CPL_DLL OGR_Fld_GetPrecision( OGRFieldDefnH ); -void CPL_DLL OGR_Fld_SetPrecision( OGRFieldDefnH, int ); -void CPL_DLL OGR_Fld_Set( OGRFieldDefnH, const char *, OGRFieldType, - int, int, OGRJustification ); -int CPL_DLL OGR_Fld_IsIgnored( OGRFieldDefnH hDefn ); -void CPL_DLL OGR_Fld_SetIgnored( OGRFieldDefnH hDefn, int ); -int CPL_DLL OGR_Fld_IsNullable( OGRFieldDefnH hDefn ); -void CPL_DLL OGR_Fld_SetNullable( OGRFieldDefnH hDefn, int ); -const char CPL_DLL *OGR_Fld_GetDefault( OGRFieldDefnH hDefn ); -void CPL_DLL OGR_Fld_SetDefault( OGRFieldDefnH hDefn, const char* ); -int CPL_DLL OGR_Fld_IsDefaultDriverSpecific( OGRFieldDefnH hDefn ); - -const char CPL_DLL *OGR_GetFieldTypeName( OGRFieldType ); -const char CPL_DLL *OGR_GetFieldSubTypeName( OGRFieldSubType ); -int CPL_DLL OGR_AreTypeSubTypeCompatible( OGRFieldType eType, - OGRFieldSubType eSubType ); - -/* OGRGeomFieldDefnH */ - -OGRGeomFieldDefnH CPL_DLL OGR_GFld_Create( const char *, OGRwkbGeometryType ) CPL_WARN_UNUSED_RESULT; -void CPL_DLL OGR_GFld_Destroy( OGRGeomFieldDefnH ); - -void CPL_DLL OGR_GFld_SetName( OGRGeomFieldDefnH, const char * ); -const char CPL_DLL *OGR_GFld_GetNameRef( OGRGeomFieldDefnH ); - -OGRwkbGeometryType CPL_DLL OGR_GFld_GetType( OGRGeomFieldDefnH ); -void CPL_DLL OGR_GFld_SetType( OGRGeomFieldDefnH, OGRwkbGeometryType ); - -OGRSpatialReferenceH CPL_DLL OGR_GFld_GetSpatialRef( OGRGeomFieldDefnH ); -void CPL_DLL OGR_GFld_SetSpatialRef( OGRGeomFieldDefnH, - OGRSpatialReferenceH hSRS ); - -int CPL_DLL OGR_GFld_IsNullable( OGRGeomFieldDefnH hDefn ); -void CPL_DLL OGR_GFld_SetNullable( OGRGeomFieldDefnH hDefn, int ); - -int CPL_DLL OGR_GFld_IsIgnored( OGRGeomFieldDefnH hDefn ); -void CPL_DLL OGR_GFld_SetIgnored( OGRGeomFieldDefnH hDefn, int ); - -/* OGRFeatureDefn */ - -OGRFeatureDefnH CPL_DLL OGR_FD_Create( const char * ) CPL_WARN_UNUSED_RESULT; -void CPL_DLL OGR_FD_Destroy( OGRFeatureDefnH ); -void CPL_DLL OGR_FD_Release( OGRFeatureDefnH ); -const char CPL_DLL *OGR_FD_GetName( OGRFeatureDefnH ); -int CPL_DLL OGR_FD_GetFieldCount( OGRFeatureDefnH ); -OGRFieldDefnH CPL_DLL OGR_FD_GetFieldDefn( OGRFeatureDefnH, int ); -int CPL_DLL OGR_FD_GetFieldIndex( OGRFeatureDefnH, const char * ); -void CPL_DLL OGR_FD_AddFieldDefn( OGRFeatureDefnH, OGRFieldDefnH ); -OGRErr CPL_DLL OGR_FD_DeleteFieldDefn( OGRFeatureDefnH hDefn, int iField ); -OGRErr CPL_DLL OGR_FD_ReorderFieldDefns( OGRFeatureDefnH hDefn, int* panMap ); -OGRwkbGeometryType CPL_DLL OGR_FD_GetGeomType( OGRFeatureDefnH ); -void CPL_DLL OGR_FD_SetGeomType( OGRFeatureDefnH, OGRwkbGeometryType ); -int CPL_DLL OGR_FD_IsGeometryIgnored( OGRFeatureDefnH ); -void CPL_DLL OGR_FD_SetGeometryIgnored( OGRFeatureDefnH, int ); -int CPL_DLL OGR_FD_IsStyleIgnored( OGRFeatureDefnH ); -void CPL_DLL OGR_FD_SetStyleIgnored( OGRFeatureDefnH, int ); -int CPL_DLL OGR_FD_Reference( OGRFeatureDefnH ); -int CPL_DLL OGR_FD_Dereference( OGRFeatureDefnH ); -int CPL_DLL OGR_FD_GetReferenceCount( OGRFeatureDefnH ); - -int CPL_DLL OGR_FD_GetGeomFieldCount( OGRFeatureDefnH hFDefn ); -OGRGeomFieldDefnH CPL_DLL OGR_FD_GetGeomFieldDefn( OGRFeatureDefnH hFDefn, - int i ); -int CPL_DLL OGR_FD_GetGeomFieldIndex( OGRFeatureDefnH hFDefn, - const char *pszName); - -void CPL_DLL OGR_FD_AddGeomFieldDefn( OGRFeatureDefnH hFDefn, - OGRGeomFieldDefnH hGFldDefn); -OGRErr CPL_DLL OGR_FD_DeleteGeomFieldDefn( OGRFeatureDefnH hFDefn, - int iGeomField ); -int CPL_DLL OGR_FD_IsSame( OGRFeatureDefnH hFDefn, - OGRFeatureDefnH hOtherFDefn ); -/* OGRFeature */ - -OGRFeatureH CPL_DLL OGR_F_Create( OGRFeatureDefnH ) CPL_WARN_UNUSED_RESULT; -void CPL_DLL OGR_F_Destroy( OGRFeatureH ); -OGRFeatureDefnH CPL_DLL OGR_F_GetDefnRef( OGRFeatureH ); - -OGRErr CPL_DLL OGR_F_SetGeometryDirectly( OGRFeatureH, OGRGeometryH ); -OGRErr CPL_DLL OGR_F_SetGeometry( OGRFeatureH, OGRGeometryH ); -OGRGeometryH CPL_DLL OGR_F_GetGeometryRef( OGRFeatureH ); -OGRGeometryH CPL_DLL OGR_F_StealGeometry( OGRFeatureH ) CPL_WARN_UNUSED_RESULT; -OGRFeatureH CPL_DLL OGR_F_Clone( OGRFeatureH ) CPL_WARN_UNUSED_RESULT; -int CPL_DLL OGR_F_Equal( OGRFeatureH, OGRFeatureH ); - -int CPL_DLL OGR_F_GetFieldCount( OGRFeatureH ); -OGRFieldDefnH CPL_DLL OGR_F_GetFieldDefnRef( OGRFeatureH, int ); -int CPL_DLL OGR_F_GetFieldIndex( OGRFeatureH, const char * ); - -int CPL_DLL OGR_F_IsFieldSet( OGRFeatureH, int ); -void CPL_DLL OGR_F_UnsetField( OGRFeatureH, int ); -OGRField CPL_DLL *OGR_F_GetRawFieldRef( OGRFeatureH, int ); - -int CPL_DLL OGR_F_GetFieldAsInteger( OGRFeatureH, int ); -GIntBig CPL_DLL OGR_F_GetFieldAsInteger64( OGRFeatureH, int ); -double CPL_DLL OGR_F_GetFieldAsDouble( OGRFeatureH, int ); -const char CPL_DLL *OGR_F_GetFieldAsString( OGRFeatureH, int ); -const int CPL_DLL *OGR_F_GetFieldAsIntegerList( OGRFeatureH, int, int * ); -const GIntBig CPL_DLL *OGR_F_GetFieldAsInteger64List( OGRFeatureH, int, int * ); -const double CPL_DLL *OGR_F_GetFieldAsDoubleList( OGRFeatureH, int, int * ); -char CPL_DLL **OGR_F_GetFieldAsStringList( OGRFeatureH, int ); -GByte CPL_DLL *OGR_F_GetFieldAsBinary( OGRFeatureH, int, int * ); -int CPL_DLL OGR_F_GetFieldAsDateTime( OGRFeatureH, int, int *, int *, int *, - int *, int *, int *, int * ); -int CPL_DLL OGR_F_GetFieldAsDateTimeEx( OGRFeatureH hFeat, int iField, - int *pnYear, int *pnMonth, int *pnDay, - int *pnHour, int *pnMinute, float *pfSecond, - int *pnTZFlag ); - -void CPL_DLL OGR_F_SetFieldInteger( OGRFeatureH, int, int ); -void CPL_DLL OGR_F_SetFieldInteger64( OGRFeatureH, int, GIntBig ); -void CPL_DLL OGR_F_SetFieldDouble( OGRFeatureH, int, double ); -void CPL_DLL OGR_F_SetFieldString( OGRFeatureH, int, const char * ); -void CPL_DLL OGR_F_SetFieldIntegerList( OGRFeatureH, int, int, int * ); -void CPL_DLL OGR_F_SetFieldInteger64List( OGRFeatureH, int, int, const GIntBig * ); -void CPL_DLL OGR_F_SetFieldDoubleList( OGRFeatureH, int, int, double * ); -void CPL_DLL OGR_F_SetFieldStringList( OGRFeatureH, int, char ** ); -void CPL_DLL OGR_F_SetFieldRaw( OGRFeatureH, int, OGRField * ); -void CPL_DLL OGR_F_SetFieldBinary( OGRFeatureH, int, int, GByte * ); -void CPL_DLL OGR_F_SetFieldDateTime( OGRFeatureH, int, - int, int, int, int, int, int, int ); -void CPL_DLL OGR_F_SetFieldDateTimeEx( OGRFeatureH, int, - int, int, int, int, int, float, int ); - -int CPL_DLL OGR_F_GetGeomFieldCount( OGRFeatureH hFeat ); -OGRGeomFieldDefnH CPL_DLL OGR_F_GetGeomFieldDefnRef( OGRFeatureH hFeat, - int iField ); -int CPL_DLL OGR_F_GetGeomFieldIndex( OGRFeatureH hFeat, - const char *pszName); - -OGRGeometryH CPL_DLL OGR_F_GetGeomFieldRef( OGRFeatureH hFeat, - int iField ); -OGRErr CPL_DLL OGR_F_SetGeomFieldDirectly( OGRFeatureH hFeat, - int iField, - OGRGeometryH hGeom ); -OGRErr CPL_DLL OGR_F_SetGeomField( OGRFeatureH hFeat, - int iField, OGRGeometryH hGeom ); - -GIntBig CPL_DLL OGR_F_GetFID( OGRFeatureH ); -OGRErr CPL_DLL OGR_F_SetFID( OGRFeatureH, GIntBig ); -void CPL_DLL OGR_F_DumpReadable( OGRFeatureH, FILE * ); -OGRErr CPL_DLL OGR_F_SetFrom( OGRFeatureH, OGRFeatureH, int ); -OGRErr CPL_DLL OGR_F_SetFromWithMap( OGRFeatureH, OGRFeatureH, int , int * ); - -const char CPL_DLL *OGR_F_GetStyleString( OGRFeatureH ); -void CPL_DLL OGR_F_SetStyleString( OGRFeatureH, const char * ); -void CPL_DLL OGR_F_SetStyleStringDirectly( OGRFeatureH, char * ); -OGRStyleTableH CPL_DLL OGR_F_GetStyleTable( OGRFeatureH ); -void CPL_DLL OGR_F_SetStyleTableDirectly( OGRFeatureH, OGRStyleTableH ); -void CPL_DLL OGR_F_SetStyleTable( OGRFeatureH, OGRStyleTableH ); - -const char CPL_DLL *OGR_F_GetNativeData( OGRFeatureH ); -void CPL_DLL OGR_F_SetNativeData( OGRFeatureH, const char* ); -const char CPL_DLL *OGR_F_GetNativeMediaType( OGRFeatureH ); -void CPL_DLL OGR_F_SetNativeMediaType( OGRFeatureH, const char* ); - -void CPL_DLL OGR_F_FillUnsetWithDefault( OGRFeatureH hFeat, - int bNotNullableOnly, - char** papszOptions ); -int CPL_DLL OGR_F_Validate( OGRFeatureH, int nValidateFlags, int bEmitError ); - -/* -------------------------------------------------------------------- */ -/* ogrsf_frmts.h */ -/* -------------------------------------------------------------------- */ - -#ifdef DEBUG -typedef struct OGRLayerHS *OGRLayerH; -typedef struct OGRDataSourceHS *OGRDataSourceH; -typedef struct OGRDriverHS *OGRSFDriverH; -#else -typedef void *OGRLayerH; -typedef void *OGRDataSourceH; -typedef void *OGRSFDriverH; -#endif - -/* OGRLayer */ - -const char CPL_DLL* OGR_L_GetName( OGRLayerH ); -OGRwkbGeometryType CPL_DLL OGR_L_GetGeomType( OGRLayerH ); -OGRGeometryH CPL_DLL OGR_L_GetSpatialFilter( OGRLayerH ); -void CPL_DLL OGR_L_SetSpatialFilter( OGRLayerH, OGRGeometryH ); -void CPL_DLL OGR_L_SetSpatialFilterRect( OGRLayerH, - double, double, double, double ); -void CPL_DLL OGR_L_SetSpatialFilterEx( OGRLayerH, int iGeomField, - OGRGeometryH hGeom ); -void CPL_DLL OGR_L_SetSpatialFilterRectEx( OGRLayerH, int iGeomField, - double dfMinX, double dfMinY, - double dfMaxX, double dfMaxY ); -OGRErr CPL_DLL OGR_L_SetAttributeFilter( OGRLayerH, const char * ); -void CPL_DLL OGR_L_ResetReading( OGRLayerH ); -OGRFeatureH CPL_DLL OGR_L_GetNextFeature( OGRLayerH ) CPL_WARN_UNUSED_RESULT; -OGRErr CPL_DLL OGR_L_SetNextByIndex( OGRLayerH, GIntBig ); -OGRFeatureH CPL_DLL OGR_L_GetFeature( OGRLayerH, GIntBig ) CPL_WARN_UNUSED_RESULT; -OGRErr CPL_DLL OGR_L_SetFeature( OGRLayerH, OGRFeatureH ) CPL_WARN_UNUSED_RESULT; -OGRErr CPL_DLL OGR_L_CreateFeature( OGRLayerH, OGRFeatureH ) CPL_WARN_UNUSED_RESULT; -OGRErr CPL_DLL OGR_L_DeleteFeature( OGRLayerH, GIntBig ) CPL_WARN_UNUSED_RESULT; -OGRFeatureDefnH CPL_DLL OGR_L_GetLayerDefn( OGRLayerH ); -OGRSpatialReferenceH CPL_DLL OGR_L_GetSpatialRef( OGRLayerH ); -int CPL_DLL OGR_L_FindFieldIndex( OGRLayerH, const char *, int bExactMatch ); -GIntBig CPL_DLL OGR_L_GetFeatureCount( OGRLayerH, int ); -OGRErr CPL_DLL OGR_L_GetExtent( OGRLayerH, OGREnvelope *, int ); -OGRErr CPL_DLL OGR_L_GetExtentEx( OGRLayerH, int iGeomField, - OGREnvelope *psExtent, int bForce ); -int CPL_DLL OGR_L_TestCapability( OGRLayerH, const char * ); -OGRErr CPL_DLL OGR_L_CreateField( OGRLayerH, OGRFieldDefnH, int ); -OGRErr CPL_DLL OGR_L_CreateGeomField( OGRLayerH hLayer, - OGRGeomFieldDefnH hFieldDefn, int bForce ); -OGRErr CPL_DLL OGR_L_DeleteField( OGRLayerH, int iField ); -OGRErr CPL_DLL OGR_L_ReorderFields( OGRLayerH, int* panMap ); -OGRErr CPL_DLL OGR_L_ReorderField( OGRLayerH, int iOldFieldPos, int iNewFieldPos ); -OGRErr CPL_DLL OGR_L_AlterFieldDefn( OGRLayerH, int iField, OGRFieldDefnH hNewFieldDefn, int nFlags ); -OGRErr CPL_DLL OGR_L_StartTransaction( OGRLayerH ) CPL_WARN_UNUSED_RESULT; -OGRErr CPL_DLL OGR_L_CommitTransaction( OGRLayerH ) CPL_WARN_UNUSED_RESULT; -OGRErr CPL_DLL OGR_L_RollbackTransaction( OGRLayerH ); -int CPL_DLL OGR_L_Reference( OGRLayerH ); -int CPL_DLL OGR_L_Dereference( OGRLayerH ); -int CPL_DLL OGR_L_GetRefCount( OGRLayerH ); -OGRErr CPL_DLL OGR_L_SyncToDisk( OGRLayerH ); -GIntBig CPL_DLL OGR_L_GetFeaturesRead( OGRLayerH ); -const char CPL_DLL *OGR_L_GetFIDColumn( OGRLayerH ); -const char CPL_DLL *OGR_L_GetGeometryColumn( OGRLayerH ); -OGRStyleTableH CPL_DLL OGR_L_GetStyleTable( OGRLayerH ); -void CPL_DLL OGR_L_SetStyleTableDirectly( OGRLayerH, OGRStyleTableH ); -void CPL_DLL OGR_L_SetStyleTable( OGRLayerH, OGRStyleTableH ); -OGRErr CPL_DLL OGR_L_SetIgnoredFields( OGRLayerH, const char** ); -OGRErr CPL_DLL OGR_L_Intersection( OGRLayerH, OGRLayerH, OGRLayerH, char**, GDALProgressFunc, void * ); -OGRErr CPL_DLL OGR_L_Union( OGRLayerH, OGRLayerH, OGRLayerH, char**, GDALProgressFunc, void * ); -OGRErr CPL_DLL OGR_L_SymDifference( OGRLayerH, OGRLayerH, OGRLayerH, char**, GDALProgressFunc, void * ); -OGRErr CPL_DLL OGR_L_Identity( OGRLayerH, OGRLayerH, OGRLayerH, char**, GDALProgressFunc, void * ); -OGRErr CPL_DLL OGR_L_Update( OGRLayerH, OGRLayerH, OGRLayerH, char**, GDALProgressFunc, void * ); -OGRErr CPL_DLL OGR_L_Clip( OGRLayerH, OGRLayerH, OGRLayerH, char**, GDALProgressFunc, void * ); -OGRErr CPL_DLL OGR_L_Erase( OGRLayerH, OGRLayerH, OGRLayerH, char**, GDALProgressFunc, void * ); - -/* OGRDataSource */ - -void CPL_DLL OGR_DS_Destroy( OGRDataSourceH ); -const char CPL_DLL *OGR_DS_GetName( OGRDataSourceH ); -int CPL_DLL OGR_DS_GetLayerCount( OGRDataSourceH ); -OGRLayerH CPL_DLL OGR_DS_GetLayer( OGRDataSourceH, int ); -OGRLayerH CPL_DLL OGR_DS_GetLayerByName( OGRDataSourceH, const char * ); -OGRErr CPL_DLL OGR_DS_DeleteLayer( OGRDataSourceH, int ); -OGRSFDriverH CPL_DLL OGR_DS_GetDriver( OGRDataSourceH ); -OGRLayerH CPL_DLL OGR_DS_CreateLayer( OGRDataSourceH, const char *, - OGRSpatialReferenceH, OGRwkbGeometryType, - char ** ); -OGRLayerH CPL_DLL OGR_DS_CopyLayer( OGRDataSourceH, OGRLayerH, const char *, - char ** ); -int CPL_DLL OGR_DS_TestCapability( OGRDataSourceH, const char * ); -OGRLayerH CPL_DLL OGR_DS_ExecuteSQL( OGRDataSourceH, const char *, - OGRGeometryH, const char * ); -void CPL_DLL OGR_DS_ReleaseResultSet( OGRDataSourceH, OGRLayerH ); -int CPL_DLL OGR_DS_Reference( OGRDataSourceH ); -int CPL_DLL OGR_DS_Dereference( OGRDataSourceH ); -int CPL_DLL OGR_DS_GetRefCount( OGRDataSourceH ); -int CPL_DLL OGR_DS_GetSummaryRefCount( OGRDataSourceH ); -OGRErr CPL_DLL OGR_DS_SyncToDisk( OGRDataSourceH ); -OGRStyleTableH CPL_DLL OGR_DS_GetStyleTable( OGRDataSourceH ); -void CPL_DLL OGR_DS_SetStyleTableDirectly( OGRDataSourceH, OGRStyleTableH ); -void CPL_DLL OGR_DS_SetStyleTable( OGRDataSourceH, OGRStyleTableH ); - -/* OGRSFDriver */ - -const char CPL_DLL *OGR_Dr_GetName( OGRSFDriverH ); -OGRDataSourceH CPL_DLL OGR_Dr_Open( OGRSFDriverH, const char *, int ) CPL_WARN_UNUSED_RESULT; -int CPL_DLL OGR_Dr_TestCapability( OGRSFDriverH, const char * ); -OGRDataSourceH CPL_DLL OGR_Dr_CreateDataSource( OGRSFDriverH, const char *, - char ** ) CPL_WARN_UNUSED_RESULT; -OGRDataSourceH CPL_DLL OGR_Dr_CopyDataSource( OGRSFDriverH, OGRDataSourceH, - const char *, char ** ) CPL_WARN_UNUSED_RESULT; -OGRErr CPL_DLL OGR_Dr_DeleteDataSource( OGRSFDriverH, const char * ); - -/* OGRSFDriverRegistrar */ - -OGRDataSourceH CPL_DLL OGROpen( const char *, int, OGRSFDriverH * ) CPL_WARN_UNUSED_RESULT; -OGRDataSourceH CPL_DLL OGROpenShared( const char *, int, OGRSFDriverH * ) CPL_WARN_UNUSED_RESULT; -OGRErr CPL_DLL OGRReleaseDataSource( OGRDataSourceH ); -void CPL_DLL OGRRegisterDriver( OGRSFDriverH ); -void CPL_DLL OGRDeregisterDriver( OGRSFDriverH ); -int CPL_DLL OGRGetDriverCount(void); -OGRSFDriverH CPL_DLL OGRGetDriver( int ); -OGRSFDriverH CPL_DLL OGRGetDriverByName( const char * ); -int CPL_DLL OGRGetOpenDSCount(void); -OGRDataSourceH CPL_DLL OGRGetOpenDS( int iDS ); - - -/* note: this is also declared in ogrsf_frmts.h */ -void CPL_DLL OGRRegisterAll(void); -void CPL_DLL OGRCleanupAll(void); - -/* -------------------------------------------------------------------- */ -/* ogrsf_featurestyle.h */ -/* -------------------------------------------------------------------- */ - -#ifdef DEBUG -typedef struct OGRStyleMgrHS *OGRStyleMgrH; -typedef struct OGRStyleToolHS *OGRStyleToolH; -#else -typedef void *OGRStyleMgrH; -typedef void *OGRStyleToolH; -#endif - -/* OGRStyleMgr */ - -OGRStyleMgrH CPL_DLL OGR_SM_Create(OGRStyleTableH hStyleTable) CPL_WARN_UNUSED_RESULT; -void CPL_DLL OGR_SM_Destroy(OGRStyleMgrH hSM); - -const char CPL_DLL *OGR_SM_InitFromFeature(OGRStyleMgrH hSM, - OGRFeatureH hFeat); -int CPL_DLL OGR_SM_InitStyleString(OGRStyleMgrH hSM, - const char *pszStyleString); -int CPL_DLL OGR_SM_GetPartCount(OGRStyleMgrH hSM, - const char *pszStyleString); -OGRStyleToolH CPL_DLL OGR_SM_GetPart(OGRStyleMgrH hSM, int nPartId, - const char *pszStyleString); -int CPL_DLL OGR_SM_AddPart(OGRStyleMgrH hSM, OGRStyleToolH hST); -int CPL_DLL OGR_SM_AddStyle(OGRStyleMgrH hSM, const char *pszStyleName, - const char *pszStyleString); - -/* OGRStyleTool */ - -OGRStyleToolH CPL_DLL OGR_ST_Create(OGRSTClassId eClassId) CPL_WARN_UNUSED_RESULT; -void CPL_DLL OGR_ST_Destroy(OGRStyleToolH hST); - -OGRSTClassId CPL_DLL OGR_ST_GetType(OGRStyleToolH hST); - -OGRSTUnitId CPL_DLL OGR_ST_GetUnit(OGRStyleToolH hST); -void CPL_DLL OGR_ST_SetUnit(OGRStyleToolH hST, OGRSTUnitId eUnit, - double dfGroundPaperScale); - -const char CPL_DLL *OGR_ST_GetParamStr(OGRStyleToolH hST, int eParam, int *bValueIsNull); -int CPL_DLL OGR_ST_GetParamNum(OGRStyleToolH hST, int eParam, int *bValueIsNull); -double CPL_DLL OGR_ST_GetParamDbl(OGRStyleToolH hST, int eParam, int *bValueIsNull); -void CPL_DLL OGR_ST_SetParamStr(OGRStyleToolH hST, int eParam, const char *pszValue); -void CPL_DLL OGR_ST_SetParamNum(OGRStyleToolH hST, int eParam, int nValue); -void CPL_DLL OGR_ST_SetParamDbl(OGRStyleToolH hST, int eParam, double dfValue); -const char CPL_DLL *OGR_ST_GetStyleString(OGRStyleToolH hST); - -int CPL_DLL OGR_ST_GetRGBFromString(OGRStyleToolH hST, const char *pszColor, - int *pnRed, int *pnGreen, int *pnBlue, - int *pnAlpha); - -/* OGRStyleTable */ - -OGRStyleTableH CPL_DLL OGR_STBL_Create( void ) CPL_WARN_UNUSED_RESULT; -void CPL_DLL OGR_STBL_Destroy( OGRStyleTableH hSTBL ); -int CPL_DLL OGR_STBL_AddStyle( OGRStyleTableH hStyleTable, - const char *pszName, - const char *pszStyleString); -int CPL_DLL OGR_STBL_SaveStyleTable( OGRStyleTableH hStyleTable, - const char *pszFilename ); -int CPL_DLL OGR_STBL_LoadStyleTable( OGRStyleTableH hStyleTable, - const char *pszFilename ); -const char CPL_DLL *OGR_STBL_Find( OGRStyleTableH hStyleTable, const char *pszName ); -void CPL_DLL OGR_STBL_ResetStyleStringReading( OGRStyleTableH hStyleTable ); -const char CPL_DLL *OGR_STBL_GetNextStyle( OGRStyleTableH hStyleTable); -const char CPL_DLL *OGR_STBL_GetLastStyleName( OGRStyleTableH hStyleTable); - -CPL_C_END - -#endif /* ndef OGR_API_H_INCLUDED */ diff --git a/src/gdal/ogr_attrind.h b/src/gdal/ogr_attrind.h deleted file mode 100644 index 593b3434..00000000 --- a/src/gdal/ogr_attrind.h +++ /dev/null @@ -1,93 +0,0 @@ -/****************************************************************************** - * $Id: ogr_attrind.h 32177 2015-12-14 07:25:30Z goatbar $ - * - * Project: OpenGIS Simple Features Reference Implementation - * Purpose: Classes related to generic implementation of attribute indexing. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 2003, Frank Warmerdam - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OGR_ATTRIND_H_INCLUDED -#define OGR_ATTRIND_H_INCLUDED - -#include "ogrsf_frmts.h" - -/************************************************************************/ -/* OGRAttrIndex */ -/* */ -/* Base class for accessing the indexing info about one field. */ -/************************************************************************/ - -class CPL_DLL OGRAttrIndex -{ -protected: - OGRAttrIndex(); - -public: - virtual ~OGRAttrIndex(); - - virtual GIntBig GetFirstMatch( OGRField *psKey ) = 0; - virtual GIntBig *GetAllMatches( OGRField *psKey ) = 0; - virtual GIntBig *GetAllMatches( OGRField *psKey, GIntBig* panFIDList, int* nFIDCount, int* nLength ) = 0; - - virtual OGRErr AddEntry( OGRField *psKey, GIntBig nFID ) = 0; - virtual OGRErr RemoveEntry( OGRField *psKey, GIntBig nFID ) = 0; - - virtual OGRErr Clear() = 0; -}; - -/************************************************************************/ -/* OGRLayerAttrIndex */ -/* */ -/* Base class representing attribute indexes for all indexed */ -/* fields in a layer. */ -/************************************************************************/ - -class CPL_DLL OGRLayerAttrIndex -{ -protected: - OGRLayer *poLayer; - char *pszIndexPath; - - OGRLayerAttrIndex(); - -public: - virtual ~OGRLayerAttrIndex(); - - virtual OGRErr Initialize( const char *pszIndexPath, OGRLayer * ) = 0; - - virtual OGRErr CreateIndex( int iField ) = 0; - virtual OGRErr DropIndex( int iField ) = 0; - virtual OGRErr IndexAllFeatures( int iField = -1 ) = 0; - - virtual OGRErr AddToIndex( OGRFeature *poFeature, int iField = -1 ) = 0; - virtual OGRErr RemoveFromIndex( OGRFeature *poFeature ) = 0; - - virtual OGRAttrIndex *GetFieldIndex( int iField ) = 0; -}; - -OGRLayerAttrIndex CPL_DLL *OGRCreateDefaultLayerIndex(); - - -#endif /* ndef OGR_ATTRIND_H_INCLUDED */ - diff --git a/src/gdal/ogr_core.h b/src/gdal/ogr_core.h deleted file mode 100644 index 78181374..00000000 --- a/src/gdal/ogr_core.h +++ /dev/null @@ -1,910 +0,0 @@ -/****************************************************************************** - * $Id: ogr_core.h 33680 2016-03-08 09:59:03Z rouault $ - * - * Project: OpenGIS Simple Features Reference Implementation - * Purpose: Define some core portability services for cross-platform OGR code. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 1999, Frank Warmerdam - * Copyright (c) 2007-2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OGR_CORE_H_INCLUDED -#define OGR_CORE_H_INCLUDED - -#include "cpl_port.h" -#include "gdal_version.h" - -/** - * \file - * - * Core portability services for cross-platform OGR code. - */ - -/** - * Simple container for a bounding region. - */ - -#if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS) -class CPL_DLL OGREnvelope -{ - public: - OGREnvelope() : MinX(0.0), MaxX(0.0), MinY(0.0), MaxY(0.0) - { - } - - OGREnvelope(const OGREnvelope& oOther) : - MinX(oOther.MinX),MaxX(oOther.MaxX), MinY(oOther.MinY), MaxY(oOther.MaxY) - { - } - - double MinX; - double MaxX; - double MinY; - double MaxY; - -#ifdef HAVE_GCC_DIAGNOSTIC_PUSH -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#endif - int IsInit() const { return MinX != 0 || MinY != 0 || MaxX != 0 || MaxY != 0; } - -#ifdef HAVE_GCC_DIAGNOSTIC_PUSH -#pragma GCC diagnostic pop -#endif - - void Merge( OGREnvelope const& sOther ) { - if( IsInit() ) - { - MinX = MIN(MinX,sOther.MinX); - MaxX = MAX(MaxX,sOther.MaxX); - MinY = MIN(MinY,sOther.MinY); - MaxY = MAX(MaxY,sOther.MaxY); - } - else - { - MinX = sOther.MinX; - MaxX = sOther.MaxX; - MinY = sOther.MinY; - MaxY = sOther.MaxY; - } - } - void Merge( double dfX, double dfY ) { - if( IsInit() ) - { - MinX = MIN(MinX,dfX); - MaxX = MAX(MaxX,dfX); - MinY = MIN(MinY,dfY); - MaxY = MAX(MaxY,dfY); - } - else - { - MinX = MaxX = dfX; - MinY = MaxY = dfY; - } - } - - void Intersect( OGREnvelope const& sOther ) { - if(Intersects(sOther)) - { - if( IsInit() ) - { - MinX = MAX(MinX,sOther.MinX); - MaxX = MIN(MaxX,sOther.MaxX); - MinY = MAX(MinY,sOther.MinY); - MaxY = MIN(MaxY,sOther.MaxY); - } - else - { - MinX = sOther.MinX; - MaxX = sOther.MaxX; - MinY = sOther.MinY; - MaxY = sOther.MaxY; - } - } - else - { - MinX = 0; - MaxX = 0; - MinY = 0; - MaxY = 0; - } - } - - int Intersects(OGREnvelope const& other) const - { - return MinX <= other.MaxX && MaxX >= other.MinX && - MinY <= other.MaxY && MaxY >= other.MinY; - } - - int Contains(OGREnvelope const& other) const - { - return MinX <= other.MinX && MinY <= other.MinY && - MaxX >= other.MaxX && MaxY >= other.MaxY; - } -}; -#else -typedef struct -{ - double MinX; - double MaxX; - double MinY; - double MaxY; -} OGREnvelope; -#endif - - -/** - * Simple container for a bounding region in 3D. - */ - -#if defined(__cplusplus) && !defined(CPL_SURESS_CPLUSPLUS) -class CPL_DLL OGREnvelope3D : public OGREnvelope -{ - public: - OGREnvelope3D() : OGREnvelope(), MinZ(0.0), MaxZ(0.0) - { - } - - OGREnvelope3D(const OGREnvelope3D& oOther) : - OGREnvelope(oOther), - MinZ(oOther.MinZ), MaxZ(oOther.MaxZ) - { - } - - double MinZ; - double MaxZ; - -#ifdef HAVE_GCC_DIAGNOSTIC_PUSH -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#endif - int IsInit() const { return MinX != 0 || MinY != 0 || MaxX != 0 || MaxY != 0 || MinZ != 0 || MaxZ != 0; } -#ifdef HAVE_GCC_DIAGNOSTIC_PUSH -#pragma GCC diagnostic pop -#endif - - void Merge( OGREnvelope3D const& sOther ) { - if( IsInit() ) - { - MinX = MIN(MinX,sOther.MinX); - MaxX = MAX(MaxX,sOther.MaxX); - MinY = MIN(MinY,sOther.MinY); - MaxY = MAX(MaxY,sOther.MaxY); - MinZ = MIN(MinZ,sOther.MinZ); - MaxZ = MAX(MaxZ,sOther.MaxZ); - } - else - { - MinX = sOther.MinX; - MaxX = sOther.MaxX; - MinY = sOther.MinY; - MaxY = sOther.MaxY; - MinZ = sOther.MinZ; - MaxZ = sOther.MaxZ; - } - } - void Merge( double dfX, double dfY, double dfZ ) { - if( IsInit() ) - { - MinX = MIN(MinX,dfX); - MaxX = MAX(MaxX,dfX); - MinY = MIN(MinY,dfY); - MaxY = MAX(MaxY,dfY); - MinZ = MIN(MinZ,dfZ); - MaxZ = MAX(MaxZ,dfZ); - } - else - { - MinX = MaxX = dfX; - MinY = MaxY = dfY; - MinZ = MaxZ = dfZ; - } - } - - void Intersect( OGREnvelope3D const& sOther ) { - if(Intersects(sOther)) - { - if( IsInit() ) - { - MinX = MAX(MinX,sOther.MinX); - MaxX = MIN(MaxX,sOther.MaxX); - MinY = MAX(MinY,sOther.MinY); - MaxY = MIN(MaxY,sOther.MaxY); - MinZ = MAX(MinZ,sOther.MinZ); - MaxZ = MIN(MaxZ,sOther.MaxZ); - } - else - { - MinX = sOther.MinX; - MaxX = sOther.MaxX; - MinY = sOther.MinY; - MaxY = sOther.MaxY; - MinZ = sOther.MinZ; - MaxZ = sOther.MaxZ; - } - } - else - { - MinX = 0; - MaxX = 0; - MinY = 0; - MaxY = 0; - MinZ = 0; - MaxZ = 0; - } - } - - int Intersects(OGREnvelope3D const& other) const - { - return MinX <= other.MaxX && MaxX >= other.MinX && - MinY <= other.MaxY && MaxY >= other.MinY && - MinZ <= other.MaxZ && MaxZ >= other.MinZ; - } - - int Contains(OGREnvelope3D const& other) const - { - return MinX <= other.MinX && MinY <= other.MinY && - MaxX >= other.MaxX && MaxY >= other.MaxY && - MinZ <= other.MinZ && MaxZ >= other.MaxZ; - } -}; -#else -typedef struct -{ - double MinX; - double MaxX; - double MinY; - double MaxY; - double MinZ; - double MaxZ; -} OGREnvelope3D; -#endif - - -CPL_C_START - -void CPL_DLL *OGRMalloc( size_t ); -void CPL_DLL *OGRCalloc( size_t, size_t ); -void CPL_DLL *OGRRealloc( void *, size_t ); -char CPL_DLL *OGRStrdup( const char * ); -void CPL_DLL OGRFree( void * ); - -#ifdef STRICT_OGRERR_TYPE -typedef enum -{ - OGRERR_NONE, - OGRERR_NOT_ENOUGH_DATA, - OGRERR_NOT_ENOUGH_MEMORY, - OGRERR_UNSUPPORTED_GEOMETRY_TYPE, - OGRERR_UNSUPPORTED_OPERATION, - OGRERR_CORRUPT_DATA, - OGRERR_FAILURE, - OGRERR_UNSUPPORTED_SRS, - OGRERR_INVALID_HANDLE, - OGRERR_NON_EXISTING_FEATURE -} OGRErr; -#else -typedef int OGRErr; - -#define OGRERR_NONE 0 -#define OGRERR_NOT_ENOUGH_DATA 1 /* not enough data to deserialize */ -#define OGRERR_NOT_ENOUGH_MEMORY 2 -#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE 3 -#define OGRERR_UNSUPPORTED_OPERATION 4 -#define OGRERR_CORRUPT_DATA 5 -#define OGRERR_FAILURE 6 -#define OGRERR_UNSUPPORTED_SRS 7 -#define OGRERR_INVALID_HANDLE 8 -#define OGRERR_NON_EXISTING_FEATURE 9 /* added in GDAL 2.0 */ - -#endif - -typedef int OGRBoolean; - -/* -------------------------------------------------------------------- */ -/* ogr_geometry.h related definitions. */ -/* -------------------------------------------------------------------- */ - -/** - * List of well known binary geometry types. These are used within the BLOBs - * but are also returned from OGRGeometry::getGeometryType() to identify the - * type of a geometry object. - */ -typedef enum -{ - wkbUnknown = 0, /**< unknown type, non-standard */ - - wkbPoint = 1, /**< 0-dimensional geometric object, standard WKB */ - wkbLineString = 2, /**< 1-dimensional geometric object with linear - * interpolation between Points, standard WKB */ - wkbPolygon = 3, /**< planar 2-dimensional geometric object defined - * by 1 exterior boundary and 0 or more interior - * boundaries, standard WKB */ - wkbMultiPoint = 4, /**< GeometryCollection of Points, standard WKB */ - wkbMultiLineString = 5, /**< GeometryCollection of LineStrings, standard WKB */ - wkbMultiPolygon = 6, /**< GeometryCollection of Polygons, standard WKB */ - wkbGeometryCollection = 7, /**< geometric object that is a collection of 1 - or more geometric objects, standard WKB */ - - wkbCircularString = 8, /**< one or more circular arc segments connected end to end, - * ISO SQL/MM Part 3. GDAL >= 2.0 */ - wkbCompoundCurve = 9, /**< sequence of contiguous curves, ISO SQL/MM Part 3. GDAL >= 2.0 */ - wkbCurvePolygon = 10, /**< planar surface, defined by 1 exterior boundary - * and zero or more interior boundaries, that are curves. - * ISO SQL/MM Part 3. GDAL >= 2.0 */ - wkbMultiCurve = 11, /**< GeometryCollection of Curves, ISO SQL/MM Part 3. GDAL >= 2.0 */ - wkbMultiSurface = 12, /**< GeometryCollection of Surfaces, ISO SQL/MM Part 3. GDAL >= 2.0 */ - wkbCurve = 13, /**< Curve (abstract type). ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbSurface = 14, /**< Surface (abstract type). ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbPolyhedralSurface = 15,/**< a contiguous collection of polygons, which share common boundary segments, - * ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented */ - wkbTIN = 16, /**< a PolyhedralSurface consisting only of Triangle patches - * ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented */ - wkbTriangle = 17, /** < a Triangle. ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented */ - - wkbNone = 100, /**< non-standard, for pure attribute records */ - wkbLinearRing = 101, /**< non-standard, just for createGeometry() */ - - wkbCircularStringZ = 1008, /**< wkbCircularString with Z component. ISO SQL/MM Part 3. GDAL >= 2.0 */ - wkbCompoundCurveZ = 1009, /**< wkbCompoundCurve with Z component. ISO SQL/MM Part 3. GDAL >= 2.0 */ - wkbCurvePolygonZ = 1010, /**< wkbCurvePolygon with Z component. ISO SQL/MM Part 3. GDAL >= 2.0 */ - wkbMultiCurveZ = 1011, /**< wkbMultiCurve with Z component. ISO SQL/MM Part 3. GDAL >= 2.0 */ - wkbMultiSurfaceZ = 1012, /**< wkbMultiSurface with Z component. ISO SQL/MM Part 3. GDAL >= 2.0 */ - wkbCurveZ = 1013, /**< wkbCurve with Z component. ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbSurfaceZ = 1014, /**< wkbSurface with Z component. ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbPolyhedralSurfaceZ = 1015, /**< ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented */ - wkbTINZ = 1016, /**< ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented */ - wkbTriangleZ = 1017, /**< ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented */ - - wkbPointM = 2001, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbLineStringM = 2002, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbPolygonM = 2003, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbMultiPointM = 2004, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbMultiLineStringM = 2005, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbMultiPolygonM = 2006, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbGeometryCollectionM = 2007, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbCircularStringM = 2008, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbCompoundCurveM = 2009, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbCurvePolygonM = 2010, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbMultiCurveM = 2011, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbMultiSurfaceM = 2012, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbCurveM = 2013, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbSurfaceM = 2014, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbPolyhedralSurfaceM = 2015, /**< ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented */ - wkbTINM = 2016, /**< ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented */ - wkbTriangleM = 2017, /**< ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented */ - - wkbPointZM = 3001, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbLineStringZM = 3002, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbPolygonZM = 3003, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbMultiPointZM = 3004, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbMultiLineStringZM = 3005, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbMultiPolygonZM = 3006, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbGeometryCollectionZM = 3007, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbCircularStringZM = 3008, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbCompoundCurveZM = 3009, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbCurvePolygonZM = 3010, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbMultiCurveZM = 3011, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbMultiSurfaceZM = 3012, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbCurveZM = 3013, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbSurfaceZM = 3014, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ - wkbPolyhedralSurfaceZM = 3015, /**< ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented */ - wkbTINZM = 3016, /**< ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented */ - wkbTriangleZM = 3017, /**< ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented */ - - wkbPoint25D = 0x80000001, /**< 2.5D extension as per 99-402 */ - wkbLineString25D = 0x80000002, /**< 2.5D extension as per 99-402 */ - wkbPolygon25D = 0x80000003, /**< 2.5D extension as per 99-402 */ - wkbMultiPoint25D = 0x80000004, /**< 2.5D extension as per 99-402 */ - wkbMultiLineString25D = 0x80000005, /**< 2.5D extension as per 99-402 */ - wkbMultiPolygon25D = 0x80000006, /**< 2.5D extension as per 99-402 */ - wkbGeometryCollection25D = 0x80000007 /**< 2.5D extension as per 99-402 */ - -} OGRwkbGeometryType; - -/** - * Output variants of WKB we support. - * - * 99-402 was a short-lived extension to SFSQL 1.1 that used a high-bit flag - * to indicate the presence of Z coordinates in a WKB geometry. - * - * SQL/MM Part 3 and SFSQL 1.2 use offsets of 1000 (Z), 2000 (M) and 3000 (ZM) - * to indicate the present of higher dimensional coordinates in a WKB geometry. - * Reference: - * 09-009_Committee_Draft_ISOIEC_CD_13249-3_SQLMM_Spatial.pdf, - * ISO/IEC JTC 1/SC 32 N 1820, ISO/IEC CD 13249-3:201x(E), Date: 2009-01-16. - * The codes are also found in §8.2.3 of - * OGC 06-103r4 "OpenGIS® Implementation Standard for Geographic information - Simple feature access - Part 1: Common architecture", v1.2.1 - */ -typedef enum -{ - wkbVariantOldOgc, /**< Old-style 99-402 extended dimension (Z) WKB types */ - wkbVariantIso, /**< SFSQL 1.2 and ISO SQL/MM Part 3 extended dimension (Z&M) WKB types */ - wkbVariantPostGIS1 /**< PostGIS 1.X has different codes for CurvePolygon, MultiCurve and MultiSurface */ -} OGRwkbVariant; - - -/** @deprecated in GDAL 2.0. Use wkbHasZ() or wkbSetZ() instead */ -#ifndef GDAL_COMPILATION -#define wkb25DBit 0x80000000 -#endif - -/** Return the 2D geometry type corresponding to the specified geometry type */ -#define wkbFlatten(x) OGR_GT_Flatten((OGRwkbGeometryType)(x)) - -/** Return if the geometry type is a 3D geometry type - * @since GDAL 2.0 - */ -#define wkbHasZ(x) (OGR_GT_HasZ(x) != 0) - -/** Return the 3D geometry type corresponding to the specified geometry type. - * @since GDAL 2.0 - */ -#define wkbSetZ(x) OGR_GT_SetZ(x) - -/** Return if the geometry type is a measured geometry type - * @since GDAL 2.1 - */ -#define wkbHasM(x) (OGR_GT_HasM(x) != 0) - -/** Return the measured geometry type corresponding to the specified geometry type. - * @since GDAL 2.1 - */ -#define wkbSetM(x) OGR_GT_SetM(x) - -#define ogrZMarker 0x21125711 - -const char CPL_DLL * OGRGeometryTypeToName( OGRwkbGeometryType eType ); -OGRwkbGeometryType CPL_DLL OGRMergeGeometryTypes( OGRwkbGeometryType eMain, - OGRwkbGeometryType eExtra ); -OGRwkbGeometryType CPL_DLL OGRMergeGeometryTypesEx( OGRwkbGeometryType eMain, - OGRwkbGeometryType eExtra, - int bAllowPromotingToCurves ); -OGRwkbGeometryType CPL_DLL OGR_GT_Flatten( OGRwkbGeometryType eType ); -OGRwkbGeometryType CPL_DLL OGR_GT_SetZ( OGRwkbGeometryType eType ); -OGRwkbGeometryType CPL_DLL OGR_GT_SetM( OGRwkbGeometryType eType ); -OGRwkbGeometryType CPL_DLL OGR_GT_SetModifier( OGRwkbGeometryType eType, int bSetZ, int bSetM ); -int CPL_DLL OGR_GT_HasZ( OGRwkbGeometryType eType ); -int CPL_DLL OGR_GT_HasM( OGRwkbGeometryType eType ); -int CPL_DLL OGR_GT_IsSubClassOf( OGRwkbGeometryType eType, - OGRwkbGeometryType eSuperType ); -int CPL_DLL OGR_GT_IsCurve( OGRwkbGeometryType ); -int CPL_DLL OGR_GT_IsSurface( OGRwkbGeometryType ); -int CPL_DLL OGR_GT_IsNonLinear( OGRwkbGeometryType ); -OGRwkbGeometryType CPL_DLL OGR_GT_GetCollection( OGRwkbGeometryType eType ); -OGRwkbGeometryType CPL_DLL OGR_GT_GetCurve( OGRwkbGeometryType eType ); -OGRwkbGeometryType CPL_DLL OGR_GT_GetLinear( OGRwkbGeometryType eType ); - -typedef enum -{ - wkbXDR = 0, /* MSB/Sun/Motoroloa: Most Significant Byte First */ - wkbNDR = 1 /* LSB/Intel/Vax: Least Significant Byte First */ -} OGRwkbByteOrder; - -#ifndef NO_HACK_FOR_IBM_DB2_V72 -# define HACK_FOR_IBM_DB2_V72 -#endif - -#ifdef HACK_FOR_IBM_DB2_V72 -# define DB2_V72_FIX_BYTE_ORDER(x) ((((x) & 0x31) == (x)) ? ((x) & 0x1) : (x)) -# define DB2_V72_UNFIX_BYTE_ORDER(x) ((unsigned char) (OGRGeometry::bGenerate_DB2_V72_BYTE_ORDER ? ((x) | 0x30) : (x))) -#else -# define DB2_V72_FIX_BYTE_ORDER(x) (x) -# define DB2_V72_UNFIX_BYTE_ORDER(x) (x) -#endif - -/** Alter field name. - * Used by OGR_L_AlterFieldDefn(). - */ -#define ALTER_NAME_FLAG 0x1 - -/** Alter field type. - * Used by OGR_L_AlterFieldDefn(). - */ -#define ALTER_TYPE_FLAG 0x2 - -/** Alter field width and precision. - * Used by OGR_L_AlterFieldDefn(). - */ -#define ALTER_WIDTH_PRECISION_FLAG 0x4 - -/** Alter field NOT NULL constraint. - * Used by OGR_L_AlterFieldDefn(). - * @since GDAL 2.0 - */ -#define ALTER_NULLABLE_FLAG 0x8 - -/** Alter field DEFAULT value. - * Used by OGR_L_AlterFieldDefn(). - * @since GDAL 2.0 - */ -#define ALTER_DEFAULT_FLAG 0x10 - -/** Alter all parameters of field definition. - * Used by OGR_L_AlterFieldDefn(). - */ -#define ALTER_ALL_FLAG (ALTER_NAME_FLAG | ALTER_TYPE_FLAG | ALTER_WIDTH_PRECISION_FLAG | ALTER_NULLABLE_FLAG | ALTER_DEFAULT_FLAG) - - -/** Validate that fields respect not-null constraints. - * Used by OGR_F_Validate(). - * @since GDAL 2.0 - */ -#define OGR_F_VAL_NULL 0x00000001 - -/** Validate that geometries respect geometry column type. - * Used by OGR_F_Validate(). - * @since GDAL 2.0 - */ -#define OGR_F_VAL_GEOM_TYPE 0x00000002 - -/** Validate that (string) fields respect field width. - * Used by OGR_F_Validate(). - * @since GDAL 2.0 - */ -#define OGR_F_VAL_WIDTH 0x00000004 - -/** Allow fields that are null when there's an associated default value. - * This can be used for drivers where the low-level layers will automatically set the - * field value to the associated default value. - * This flag only makes sense if OGR_F_VAL_NULL is set too. - * Used by OGR_F_Validate(). - * @since GDAL 2.0 - */ -#define OGR_F_VAL_ALLOW_NULL_WHEN_DEFAULT 0x00000008 - -/** Allow geometry fields to have a different coordinate dimension that their - * geometry column type. - * This flag only makes sense if OGR_F_VAL_GEOM_TYPE is set too. - * Used by OGR_F_Validate(). - * @since GDAL 2.1 - */ -#define OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM 0x00000010 - -/** Enable all validation tests (except OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM) - * Used by OGR_F_Validate(). - * @since GDAL 2.0 - */ -#define OGR_F_VAL_ALL (0x7FFFFFFF & ~OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM) - -/************************************************************************/ -/* ogr_feature.h related definitions. */ -/************************************************************************/ - -/** - * List of feature field types. This list is likely to be extended in the - * future ... avoid coding applications based on the assumption that all - * field types can be known. - */ - -typedef enum -{ - /** Simple 32bit integer */ OFTInteger = 0, - /** List of 32bit integers */ OFTIntegerList = 1, - /** Double Precision floating point */ OFTReal = 2, - /** List of doubles */ OFTRealList = 3, - /** String of ASCII chars */ OFTString = 4, - /** Array of strings */ OFTStringList = 5, - /** deprecated */ OFTWideString = 6, - /** deprecated */ OFTWideStringList = 7, - /** Raw Binary data */ OFTBinary = 8, - /** Date */ OFTDate = 9, - /** Time */ OFTTime = 10, - /** Date and Time */ OFTDateTime = 11, - /** Single 64bit integer */ OFTInteger64 = 12, - /** List of 64bit integers */ OFTInteger64List = 13, - OFTMaxType = 13 -} OGRFieldType; - -/** - * List of field subtypes. A subtype represents a hint, a restriction of the - * main type, that is not strictly necessary to consult. - * This list is likely to be extended in the - * future ... avoid coding applications based on the assumption that all - * field types can be known. - * Most subtypes only make sense for a restricted set of main types. - * @since GDAL 2.0 - */ -typedef enum -{ - /** No subtype. This is the default value */ OFSTNone = 0, - /** Boolean integer. Only valid for OFTInteger and OFTIntegerList.*/ - OFSTBoolean = 1, - /** Signed 16-bit integer. Only valid for OFTInteger and OFTIntegerList. */ - OFSTInt16 = 2, - /** Single precision (32 bit) floating point. Only valid for OFTReal and OFTRealList. */ - OFSTFloat32 = 3, - OFSTMaxSubType = 3 -} OGRFieldSubType; - -/** - * Display justification for field values. - */ - -typedef enum -{ - OJUndefined = 0, - OJLeft = 1, - OJRight = 2 -} OGRJustification; - -#define OGRNullFID -1 -#define OGRUnsetMarker -21121 - -/************************************************************************/ -/* OGRField */ -/************************************************************************/ - -/** - * OGRFeature field attribute value union. - */ - -typedef union { - int Integer; - GIntBig Integer64; - double Real; - char *String; - - struct { - int nCount; - int *paList; - } IntegerList; - - struct { - int nCount; - GIntBig *paList; - } Integer64List; - - struct { - int nCount; - double *paList; - } RealList; - - struct { - int nCount; - char **paList; - } StringList; - - struct { - int nCount; - GByte *paData; - } Binary; - - struct { - int nMarker1; - int nMarker2; - } Set; - - struct { - GInt16 Year; - GByte Month; - GByte Day; - GByte Hour; - GByte Minute; - GByte TZFlag; /* 0=unknown, 1=localtime(ambiguous), - 100=GMT, 104=GMT+1, 80=GMT-5, etc */ - GByte Reserved; /* must be set to 0 */ - float Second; /* with millisecond accuracy. at the end of the structure, so as to keep it 12 bytes on 32 bit */ - } Date; -} OGRField; - -#define OGR_GET_MS(floatingpoint_sec) (int)(((floatingpoint_sec) - (int)(floatingpoint_sec)) * 1000 + 0.5) - -int CPL_DLL OGRParseDate( const char *pszInput, OGRField *psOutput, - int nOptions ); - -/* -------------------------------------------------------------------- */ -/* Constants from ogrsf_frmts.h for capabilities. */ -/* -------------------------------------------------------------------- */ -#define OLCRandomRead "RandomRead" -#define OLCSequentialWrite "SequentialWrite" -#define OLCRandomWrite "RandomWrite" -#define OLCFastSpatialFilter "FastSpatialFilter" -#define OLCFastFeatureCount "FastFeatureCount" -#define OLCFastGetExtent "FastGetExtent" -#define OLCCreateField "CreateField" -#define OLCDeleteField "DeleteField" -#define OLCReorderFields "ReorderFields" -#define OLCAlterFieldDefn "AlterFieldDefn" -#define OLCTransactions "Transactions" -#define OLCDeleteFeature "DeleteFeature" -#define OLCFastSetNextByIndex "FastSetNextByIndex" -#define OLCStringsAsUTF8 "StringsAsUTF8" -#define OLCIgnoreFields "IgnoreFields" -#define OLCCreateGeomField "CreateGeomField" -#define OLCCurveGeometries "CurveGeometries" -#define OLCMeasuredGeometries "MeasuredGeometries" - -#define ODsCCreateLayer "CreateLayer" -#define ODsCDeleteLayer "DeleteLayer" -#define ODsCCreateGeomFieldAfterCreateLayer "CreateGeomFieldAfterCreateLayer" -#define ODsCCurveGeometries "CurveGeometries" -#define ODsCTransactions "Transactions" -#define ODsCEmulatedTransactions "EmulatedTransactions" -#define ODsCMeasuredGeometries "MeasuredGeometries" - -#define ODrCCreateDataSource "CreateDataSource" -#define ODrCDeleteDataSource "DeleteDataSource" - -/* -------------------------------------------------------------------- */ -/* Layer metadata items. */ -/* -------------------------------------------------------------------- */ -/** Capability set to YES as metadata on a layer that has features with - * 64 bit identifiers. - @since GDAL 2.0 - */ -#define OLMD_FID64 "OLMD_FID64" - -/************************************************************************/ -/* ogr_featurestyle.h related definitions. */ -/************************************************************************/ - -/** - * OGRStyleTool derived class types (returned by GetType()). - */ - -typedef enum ogr_style_tool_class_id -{ - OGRSTCNone = 0, - OGRSTCPen = 1, - OGRSTCBrush = 2, - OGRSTCSymbol = 3, - OGRSTCLabel = 4, - OGRSTCVector = 5 -} OGRSTClassId; - -/** - * List of units supported by OGRStyleTools. - */ -typedef enum ogr_style_tool_units_id -{ - OGRSTUGround = 0, - OGRSTUPixel = 1, - OGRSTUPoints = 2, - OGRSTUMM = 3, - OGRSTUCM = 4, - OGRSTUInches = 5 -} OGRSTUnitId; - -/** - * List of parameters for use with OGRStylePen. - */ -typedef enum ogr_style_tool_param_pen_id -{ - OGRSTPenColor = 0, - OGRSTPenWidth = 1, - OGRSTPenPattern = 2, - OGRSTPenId = 3, - OGRSTPenPerOffset = 4, - OGRSTPenCap = 5, - OGRSTPenJoin = 6, - OGRSTPenPriority = 7, - OGRSTPenLast = 8 - -} OGRSTPenParam; - -/** - * List of parameters for use with OGRStyleBrush. - */ -typedef enum ogr_style_tool_param_brush_id -{ - OGRSTBrushFColor = 0, - OGRSTBrushBColor = 1, - OGRSTBrushId = 2, - OGRSTBrushAngle = 3, - OGRSTBrushSize = 4, - OGRSTBrushDx = 5, - OGRSTBrushDy = 6, - OGRSTBrushPriority = 7, - OGRSTBrushLast = 8 - -} OGRSTBrushParam; - - -/** - * List of parameters for use with OGRStyleSymbol. - */ -typedef enum ogr_style_tool_param_symbol_id -{ - OGRSTSymbolId = 0, - OGRSTSymbolAngle = 1, - OGRSTSymbolColor = 2, - OGRSTSymbolSize = 3, - OGRSTSymbolDx = 4, - OGRSTSymbolDy = 5, - OGRSTSymbolStep = 6, - OGRSTSymbolPerp = 7, - OGRSTSymbolOffset = 8, - OGRSTSymbolPriority = 9, - OGRSTSymbolFontName = 10, - OGRSTSymbolOColor = 11, - OGRSTSymbolLast = 12 - -} OGRSTSymbolParam; - -/** - * List of parameters for use with OGRStyleLabel. - */ -typedef enum ogr_style_tool_param_label_id -{ - OGRSTLabelFontName = 0, - OGRSTLabelSize = 1, - OGRSTLabelTextString = 2, - OGRSTLabelAngle = 3, - OGRSTLabelFColor = 4, - OGRSTLabelBColor = 5, - OGRSTLabelPlacement = 6, - OGRSTLabelAnchor = 7, - OGRSTLabelDx = 8, - OGRSTLabelDy = 9, - OGRSTLabelPerp = 10, - OGRSTLabelBold = 11, - OGRSTLabelItalic = 12, - OGRSTLabelUnderline = 13, - OGRSTLabelPriority = 14, - OGRSTLabelStrikeout = 15, - OGRSTLabelStretch = 16, - OGRSTLabelAdjHor = 17, - OGRSTLabelAdjVert = 18, - OGRSTLabelHColor = 19, - OGRSTLabelOColor = 20, - OGRSTLabelLast = 21 - -} OGRSTLabelParam; - -/* ------------------------------------------------------------------- */ -/* Version checking */ -/* -------------------------------------------------------------------- */ - -/* Note to developers : please keep this section in sync with gdal.h */ - -#ifndef GDAL_VERSION_INFO_DEFINED -#define GDAL_VERSION_INFO_DEFINED -const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * ); -#endif - -#ifndef GDAL_CHECK_VERSION - -/** Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor. - - The purpose of this method is to ensure that calling code will run with the GDAL - version it is compiled for. It is primarily indented for external plugins. - - @param nVersionMajor Major version to be tested against - @param nVersionMinor Minor version to be tested against - @param pszCallingComponentName If not NULL, in case of version mismatch, the method - will issue a failure mentioning the name of - the calling component. - */ -int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor, - const char* pszCallingComponentName); - -/** Helper macro for GDALCheckVersion */ -#define GDAL_CHECK_VERSION(pszCallingComponentName) \ - GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName) - -#endif - -CPL_C_END - -#endif /* ndef OGR_CORE_H_INCLUDED */ diff --git a/src/gdal/ogr_expat.h b/src/gdal/ogr_expat.h deleted file mode 100644 index c08ced04..00000000 --- a/src/gdal/ogr_expat.h +++ /dev/null @@ -1,58 +0,0 @@ -/****************************************************************************** - * $Id: ogr_expat.h 27044 2014-03-16 23:41:27Z rouault $ - * - * Project: OGR - * Purpose: Convenience function for parsing with Expat library - * Author: Even Rouault, even dot rouault at mines dash paris dot org - * - ****************************************************************************** - * Copyright (c) 2009, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OGR_EXPATH_INCLUDED -#define OGR_EXPATH_INCLUDED - -#ifdef HAVE_EXPAT - -#include "cpl_port.h" -#include - -/* Compatibility stuff for expat >= 1.95.0 and < 1.95.7 */ -#ifndef XMLCALL -#define XMLCALL -#endif -#ifndef XML_STATUS_OK -#define XML_STATUS_OK 1 -#define XML_STATUS_ERROR 0 -#endif - -/* XML_StopParser only available for expat >= 1.95.8 */ -#if !defined(XML_MAJOR_VERSION) || (XML_MAJOR_VERSION * 10000 + XML_MINOR_VERSION * 100 + XML_MICRO_VERSION) < 19508 -#define XML_StopParser(parser, resumable) -#warning "Expat version is too old and does not have XML_StopParser. Corrupted files could hang OGR" -#endif - -/* Only for internal use ! */ -XML_Parser CPL_DLL OGRCreateExpatXMLParser(void); - -#endif /* HAVE_EXPAT */ - -#endif /* OGR_EXPATH_INCLUDED */ diff --git a/src/gdal/ogr_feature.h b/src/gdal/ogr_feature.h deleted file mode 100644 index 454756cd..00000000 --- a/src/gdal/ogr_feature.h +++ /dev/null @@ -1,490 +0,0 @@ -/****************************************************************************** - * $Id: ogr_feature.h 33631 2016-03-04 06:28:09Z goatbar $ - * - * Project: OpenGIS Simple Features Reference Implementation - * Purpose: Class for representing a whole feature, and layer schemas. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 1999, Les Technologies SoftMap Inc. - * Copyright (c) 2008-2013, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OGR_FEATURE_H_INCLUDED -#define OGR_FEATURE_H_INCLUDED - -#include "ogr_geometry.h" -#include "ogr_featurestyle.h" -#include "cpl_atomic_ops.h" - -/** - * \file ogr_feature.h - * - * Simple feature classes. - */ - -/************************************************************************/ -/* OGRFieldDefn */ -/************************************************************************/ - -/** - * Definition of an attribute of an OGRFeatureDefn. A field is described by : - *
    - *
  • a name. See SetName() / GetNameRef()
  • - *
  • a type: OFTString, OFTInteger, OFTReal, ... See SetType() / GetType()
  • - *
  • a subtype (optional): OFSTBoolean, ... See SetSubType() / GetSubType()
  • - *
  • a width (optional): maximal number of characters. See SetWidth() / GetWidth()
  • - *
  • a precision (optional): number of digits after decimal point. See SetPrecision() / GetPrecision()
  • - *
  • a NOT NULL constraint (optional). See SetNullable() / IsNullable()
  • - *
  • a default value (optional). See SetDefault() / GetDefault()
  • - *
  • a boolean to indicate whether it should be ignored when retrieving features. See SetIgnored() / IsIgnored()
  • - *
- */ - -class CPL_DLL OGRFieldDefn -{ - private: - char *pszName; - OGRFieldType eType; - OGRJustification eJustify; - int nWidth; /* zero is variable */ - int nPrecision; - char *pszDefault; - - int bIgnore; - OGRFieldSubType eSubType; - - int bNullable; - - void Initialize( const char *, OGRFieldType ); - - public: - OGRFieldDefn( const char *, OGRFieldType ); - OGRFieldDefn( OGRFieldDefn * ); - ~OGRFieldDefn(); - - void SetName( const char * ); - const char *GetNameRef() { return pszName; } - - OGRFieldType GetType() { return eType; } - void SetType( OGRFieldType eTypeIn ); - static const char *GetFieldTypeName( OGRFieldType ); - - OGRFieldSubType GetSubType() { return eSubType; } - void SetSubType( OGRFieldSubType eSubTypeIn ); - static const char *GetFieldSubTypeName( OGRFieldSubType ); - - OGRJustification GetJustify() { return eJustify; } - void SetJustify( OGRJustification eJustifyIn ) - { eJustify = eJustifyIn; } - - int GetWidth() { return nWidth; } - void SetWidth( int nWidthIn ) { nWidth = MAX(0,nWidthIn); } - - int GetPrecision() { return nPrecision; } - void SetPrecision( int nPrecisionIn ) - { nPrecision = nPrecisionIn; } - - void Set( const char *, OGRFieldType, int = 0, int = 0, - OGRJustification = OJUndefined ); - - void SetDefault( const char* ); - const char *GetDefault() const; - int IsDefaultDriverSpecific() const; - - int IsIgnored() { return bIgnore; } - void SetIgnored( int bIgnoreIn ) { bIgnore = bIgnoreIn; } - - int IsNullable() const { return bNullable; } - void SetNullable( int bNullableIn ) { bNullable = bNullableIn; } - - int IsSame( const OGRFieldDefn * ) const; - - private: - CPL_DISALLOW_COPY_ASSIGN(OGRFieldDefn); -}; - -/************************************************************************/ -/* OGRGeomFieldDefn */ -/************************************************************************/ - -/** - * Definition of a geometry field of an OGRFeatureDefn. A geometry field is - * described by : - *
    - *
  • a name. See SetName() / GetNameRef()
  • - *
  • a type: wkbPoint, wkbLineString, ... See SetType() / GetType()
  • - *
  • a spatial reference system (optional). See SetSpatialRef() / GetSpatialRef()
  • - *
  • a NOT NULL constraint (optional). See SetNullable() / IsNullable()
  • - *
  • a boolean to indicate whether it should be ignored when retrieving features. See SetIgnored() / IsIgnored()
  • - *
- * - * @since OGR 1.11 - */ - -class CPL_DLL OGRGeomFieldDefn -{ -protected: - char *pszName; - OGRwkbGeometryType eGeomType; /* all values possible except wkbNone */ - OGRSpatialReference* poSRS; - - int bIgnore; - int bNullable; - - void Initialize( const char *, OGRwkbGeometryType ); - -public: - OGRGeomFieldDefn(const char *pszNameIn, - OGRwkbGeometryType eGeomTypeIn); - OGRGeomFieldDefn( OGRGeomFieldDefn * ); - virtual ~OGRGeomFieldDefn(); - - void SetName( const char * ); - const char *GetNameRef() { return pszName; } - - OGRwkbGeometryType GetType() { return eGeomType; } - void SetType( OGRwkbGeometryType eTypeIn ); - - virtual OGRSpatialReference* GetSpatialRef(); - void SetSpatialRef(OGRSpatialReference* poSRSIn); - - int IsIgnored() { return bIgnore; } - void SetIgnored( int bIgnoreIn ) { bIgnore = bIgnoreIn; } - - int IsNullable() const { return bNullable; } - void SetNullable( int bNullableIn ) { bNullable = bNullableIn; } - - int IsSame( OGRGeomFieldDefn * ); - - private: - CPL_DISALLOW_COPY_ASSIGN(OGRGeomFieldDefn); -}; - -/************************************************************************/ -/* OGRFeatureDefn */ -/************************************************************************/ - -/** - * Definition of a feature class or feature layer. - * - * This object contains schema information for a set of OGRFeatures. In - * table based systems, an OGRFeatureDefn is essentially a layer. In more - * object oriented approaches (such as SF CORBA) this can represent a class - * of features but doesn't necessarily relate to all of a layer, or just one - * layer. - * - * This object also can contain some other information such as a name and - * potentially other metadata. - * - * It is essentially a collection of field descriptions (OGRFieldDefn class). - * Starting with GDAL 1.11, in addition to attribute fields, it can also - * contain multiple geometry fields (OGRGeomFieldDefn class). - * - * It is reasonable for different translators to derive classes from - * OGRFeatureDefn with additional translator specific information. - */ - -class CPL_DLL OGRFeatureDefn -{ - protected: - volatile int nRefCount; - - int nFieldCount; - OGRFieldDefn **papoFieldDefn; - - int nGeomFieldCount; - OGRGeomFieldDefn **papoGeomFieldDefn; - - char *pszFeatureClassName; - - int bIgnoreStyle; - - public: - OGRFeatureDefn( const char * pszName = NULL ); - virtual ~OGRFeatureDefn(); - - virtual const char *GetName(); - - virtual int GetFieldCount(); - virtual OGRFieldDefn *GetFieldDefn( int i ); - virtual int GetFieldIndex( const char * ); - - virtual void AddFieldDefn( OGRFieldDefn * ); - virtual OGRErr DeleteFieldDefn( int iField ); - virtual OGRErr ReorderFieldDefns( int* panMap ); - - virtual int GetGeomFieldCount(); - virtual OGRGeomFieldDefn *GetGeomFieldDefn( int i ); - virtual int GetGeomFieldIndex( const char * ); - - virtual void AddGeomFieldDefn( OGRGeomFieldDefn *, int bCopy = TRUE ); - virtual OGRErr DeleteGeomFieldDefn( int iGeomField ); - - virtual OGRwkbGeometryType GetGeomType(); - virtual void SetGeomType( OGRwkbGeometryType ); - - virtual OGRFeatureDefn *Clone(); - - int Reference() { return CPLAtomicInc(&nRefCount); } - int Dereference() { return CPLAtomicDec(&nRefCount); } - int GetReferenceCount() { return nRefCount; } - void Release(); - - virtual int IsGeometryIgnored(); - virtual void SetGeometryIgnored( int bIgnore ); - virtual int IsStyleIgnored() { return bIgnoreStyle; } - virtual void SetStyleIgnored( int bIgnore ) { bIgnoreStyle = bIgnore; } - - virtual int IsSame( OGRFeatureDefn * poOtherFeatureDefn ); - - static OGRFeatureDefn *CreateFeatureDefn( const char *pszName = NULL ); - static void DestroyFeatureDefn( OGRFeatureDefn * ); - - private: - CPL_DISALLOW_COPY_ASSIGN(OGRFeatureDefn); -}; - -/************************************************************************/ -/* OGRFeature */ -/************************************************************************/ - -/** - * A simple feature, including geometry and attributes. - */ - -class CPL_DLL OGRFeature -{ - private: - - GIntBig nFID; - OGRFeatureDefn *poDefn; - OGRGeometry **papoGeometries; - OGRField *pauFields; - char *m_pszNativeData; - char *m_pszNativeMediaType; - - bool SetFieldInternal( int i, OGRField * puValue ); - - protected: - char * m_pszStyleString; - OGRStyleTable *m_poStyleTable; - char * m_pszTmpFieldValue; - - public: - OGRFeature( OGRFeatureDefn * ); - virtual ~OGRFeature(); - - OGRFeatureDefn *GetDefnRef() { return poDefn; } - - OGRErr SetGeometryDirectly( OGRGeometry * ); - OGRErr SetGeometry( OGRGeometry * ); - OGRGeometry *GetGeometryRef(); - OGRGeometry *StealGeometry() CPL_WARN_UNUSED_RESULT; - - int GetGeomFieldCount() - { return poDefn->GetGeomFieldCount(); } - OGRGeomFieldDefn *GetGeomFieldDefnRef( int iField ) - { return poDefn->GetGeomFieldDefn(iField); } - int GetGeomFieldIndex( const char * pszName) - { return poDefn->GetGeomFieldIndex(pszName); } - - OGRGeometry* GetGeomFieldRef(int iField); - OGRGeometry* StealGeometry(int iField); - OGRGeometry* GetGeomFieldRef(const char* pszFName); - OGRErr SetGeomFieldDirectly( int iField, OGRGeometry * ); - OGRErr SetGeomField( int iField, OGRGeometry * ); - - OGRFeature *Clone() CPL_WARN_UNUSED_RESULT; - virtual OGRBoolean Equal( OGRFeature * poFeature ); - - int GetFieldCount() { return poDefn->GetFieldCount(); } - OGRFieldDefn *GetFieldDefnRef( int iField ) - { return poDefn->GetFieldDefn(iField); } - int GetFieldIndex( const char * pszName) - { return poDefn->GetFieldIndex(pszName);} - - int IsFieldSet( int iField ); - - void UnsetField( int iField ); - - OGRField *GetRawFieldRef( int i ) { return pauFields + i; } - - int GetFieldAsInteger( int i ); - GIntBig GetFieldAsInteger64( int i ); - double GetFieldAsDouble( int i ); - const char *GetFieldAsString( int i ); - const int *GetFieldAsIntegerList( int i, int *pnCount ); - const GIntBig *GetFieldAsInteger64List( int i, int *pnCount ); - const double *GetFieldAsDoubleList( int i, int *pnCount ); - char **GetFieldAsStringList( int i ); - GByte *GetFieldAsBinary( int i, int *pnCount ); - int GetFieldAsDateTime( int i, - int *pnYear, int *pnMonth, int *pnDay, - int *pnHour, int *pnMinute, int *pnSecond, - int *pnTZFlag ); - int GetFieldAsDateTime( int i, - int *pnYear, int *pnMonth, int *pnDay, - int *pnHour, int *pnMinute, float *pfSecond, - int *pnTZFlag ); - - int GetFieldAsInteger( const char *pszFName ) - { return GetFieldAsInteger( GetFieldIndex(pszFName) ); } - GIntBig GetFieldAsInteger64( const char *pszFName ) - { return GetFieldAsInteger64( GetFieldIndex(pszFName) ); } - double GetFieldAsDouble( const char *pszFName ) - { return GetFieldAsDouble( GetFieldIndex(pszFName) ); } - const char *GetFieldAsString( const char *pszFName ) - { return GetFieldAsString( GetFieldIndex(pszFName) ); } - const int *GetFieldAsIntegerList( const char *pszFName, - int *pnCount ) - { return GetFieldAsIntegerList( GetFieldIndex(pszFName), - pnCount ); } - const GIntBig *GetFieldAsInteger64List( const char *pszFName, - int *pnCount ) - { return GetFieldAsInteger64List( GetFieldIndex(pszFName), - pnCount ); } - const double *GetFieldAsDoubleList( const char *pszFName, - int *pnCount ) - { return GetFieldAsDoubleList( GetFieldIndex(pszFName), - pnCount ); } - char **GetFieldAsStringList( const char *pszFName ) - { return GetFieldAsStringList(GetFieldIndex(pszFName)); } - - void SetField( int i, int nValue ); - void SetField( int i, GIntBig nValue ); - void SetField( int i, double dfValue ); - void SetField( int i, const char * pszValue ); - void SetField( int i, int nCount, int * panValues ); - void SetField( int i, int nCount, const GIntBig * panValues ); - void SetField( int i, int nCount, double * padfValues ); - void SetField( int i, char ** papszValues ); - void SetField( int i, OGRField * puValue ); - void SetField( int i, int nCount, GByte * pabyBinary ); - void SetField( int i, int nYear, int nMonth, int nDay, - int nHour=0, int nMinute=0, float fSecond=0.f, - int nTZFlag = 0 ); - - void SetField( const char *pszFName, int nValue ) - { SetField( GetFieldIndex(pszFName), nValue ); } - void SetField( const char *pszFName, GIntBig nValue ) - { SetField( GetFieldIndex(pszFName), nValue ); } - void SetField( const char *pszFName, double dfValue ) - { SetField( GetFieldIndex(pszFName), dfValue ); } - void SetField( const char *pszFName, const char * pszValue) - { SetField( GetFieldIndex(pszFName), pszValue ); } - void SetField( const char *pszFName, int nCount, - int * panValues ) - { SetField(GetFieldIndex(pszFName),nCount,panValues);} - void SetField( const char *pszFName, int nCount, - const GIntBig * panValues ) - { SetField(GetFieldIndex(pszFName),nCount,panValues);} - void SetField( const char *pszFName, int nCount, - double * padfValues ) - {SetField(GetFieldIndex(pszFName),nCount,padfValues);} - void SetField( const char *pszFName, char ** papszValues ) - { SetField( GetFieldIndex(pszFName), papszValues); } - void SetField( const char *pszFName, OGRField * puValue ) - { SetField( GetFieldIndex(pszFName), puValue ); } - void SetField( const char *pszFName, - int nYear, int nMonth, int nDay, - int nHour=0, int nMinute=0, float fSecond=0.f, - int nTZFlag = 0 ) - { SetField( GetFieldIndex(pszFName), - nYear, nMonth, nDay, - nHour, nMinute, fSecond, nTZFlag ); } - - GIntBig GetFID() { return nFID; } - virtual OGRErr SetFID( GIntBig nFIDIn ); - - void DumpReadable( FILE *, char** papszOptions = NULL ); - - OGRErr SetFrom( OGRFeature *, int = TRUE); - OGRErr SetFrom( OGRFeature *, int *, int = TRUE ); - OGRErr SetFieldsFrom( OGRFeature *, int *, int = TRUE ); - - OGRErr RemapFields( OGRFeatureDefn *poNewDefn, - int *panRemapSource ); - OGRErr RemapGeomFields( OGRFeatureDefn *poNewDefn, - int *panRemapSource ); - - int Validate( int nValidateFlags, - int bEmitError ); - void FillUnsetWithDefault(int bNotNullableOnly, - char** papszOptions ); - - virtual const char *GetStyleString(); - virtual void SetStyleString( const char * ); - virtual void SetStyleStringDirectly( char * ); - virtual OGRStyleTable *GetStyleTable() { return m_poStyleTable; } - virtual void SetStyleTable(OGRStyleTable *poStyleTable); - virtual void SetStyleTableDirectly(OGRStyleTable *poStyleTable); - - const char *GetNativeData() const { return m_pszNativeData; } - const char *GetNativeMediaType() const { return m_pszNativeMediaType; } - void SetNativeData( const char* pszNativeData ); - void SetNativeMediaType( const char* pszNativeMediaType ); - - static OGRFeature *CreateFeature( OGRFeatureDefn * ); - static void DestroyFeature( OGRFeature * ); - - private: - CPL_DISALLOW_COPY_ASSIGN(OGRFeature); -}; - -/************************************************************************/ -/* OGRFeatureQuery */ -/************************************************************************/ - -class OGRLayer; -class swq_expr_node; -class swq_custom_func_registrar; - -class CPL_DLL OGRFeatureQuery -{ - private: - OGRFeatureDefn *poTargetDefn; - void *pSWQExpr; - - char **FieldCollector( void *, char ** ); - - GIntBig *EvaluateAgainstIndices( swq_expr_node*, OGRLayer *, GIntBig& nFIDCount); - - int CanUseIndex( swq_expr_node*, OGRLayer * ); - - public: - OGRFeatureQuery(); - ~OGRFeatureQuery(); - - OGRErr Compile( OGRFeatureDefn *, const char *, - int bCheck = TRUE, swq_custom_func_registrar* poCustomFuncRegistrar = NULL ); - int Evaluate( OGRFeature * ); - - GIntBig *EvaluateAgainstIndices( OGRLayer *, OGRErr * ); - - int CanUseIndex( OGRLayer * ); - - char **GetUsedFields(); - - void *GetSWQExpr() { return pSWQExpr; } -}; - -#endif /* ndef OGR_FEATURE_H_INCLUDED */ diff --git a/src/gdal/ogr_featurestyle.h b/src/gdal/ogr_featurestyle.h deleted file mode 100644 index b3ef9114..00000000 --- a/src/gdal/ogr_featurestyle.h +++ /dev/null @@ -1,466 +0,0 @@ -/****************************************************************************** - * $Id: ogr_featurestyle.h 33631 2016-03-04 06:28:09Z goatbar $ - * - * Project: OpenGIS Simple Features Reference Implementation - * Purpose: Define of Feature Representation - * Author: Stephane Villeneuve, stephane.v@videtron.ca - * - ****************************************************************************** - * Copyright (c) 1999, Frank Warmerdam - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OGR_FEATURESTYLE_INCLUDE -#define OGR_FEATURESTYLE_INCLUDE - -#include "cpl_conv.h" -#include "cpl_string.h" -#include "ogr_core.h" - -class OGRFeature; - -/** - * \file ogr_featurestyle.h - * - * Simple feature style classes. - */ - -/* - * All OGRStyleTool param lists are defined in ogr_core.h. - */ - -typedef enum ogr_style_type -{ - OGRSTypeString, - OGRSTypeDouble, - OGRSTypeInteger, - OGRSTypeBoolean -} OGRSType; - -typedef struct ogr_style_param -{ - int eParam; - const char *pszToken; - GBool bGeoref; - OGRSType eType; -} OGRStyleParamId; - - -typedef struct ogr_style_value -{ - char *pszValue; - double dfValue; - int nValue; // Used for both integer and boolean types - GBool bValid; - OGRSTUnitId eUnit; -} OGRStyleValue; - - -// Every time a pszStyleString given in parameter is NULL, -// the StyleString defined in the Mgr will be use. - -/** - * This class represents a style table - */ -class CPL_DLL OGRStyleTable -{ - private: - char **m_papszStyleTable; - - CPLString osLastRequestedStyleName; - int iNextStyle; - - public: - OGRStyleTable(); - ~OGRStyleTable(); - GBool AddStyle(const char *pszName,const char *pszStyleString); - GBool RemoveStyle(const char *pszName); - GBool ModifyStyle(const char *pszName, const char *pszStyleString); - - GBool SaveStyleTable(const char *pszFilename); - GBool LoadStyleTable(const char *pszFilename); - const char *Find(const char *pszStyleString); - GBool IsExist(const char *pszName); - const char *GetStyleName(const char *pszName); - void Print(FILE *fpOut); - void Clear(); - OGRStyleTable *Clone(); - void ResetStyleStringReading(); - const char *GetNextStyle(); - const char *GetLastStyleName(); -}; - - -class OGRStyleTool; - -/** - * This class represents a style manager - */ -class CPL_DLL OGRStyleMgr -{ - private: - OGRStyleTable *m_poDataSetStyleTable; - char *m_pszStyleString; - - public: - OGRStyleMgr(OGRStyleTable *poDataSetStyleTable = NULL); - ~OGRStyleMgr(); - - GBool SetFeatureStyleString(OGRFeature *,const char *pszStyleString=NULL, - GBool bNoMatching = FALSE); - /* It will set in the given feature the pszStyleString with - the style or will set the style name found in - dataset StyleTable (if bNoMatching == FALSE). */ - - const char *InitFromFeature(OGRFeature *); - GBool InitStyleString(const char *pszStyleString = NULL); - - const char *GetStyleName(const char *pszStyleString= NULL); - const char *GetStyleByName(const char *pszStyleName); - - GBool AddStyle(const char *pszStyleName, const char *pszStyleString=NULL); - - const char *GetStyleString(OGRFeature * = NULL); - - GBool AddPart(OGRStyleTool *); - GBool AddPart(const char *); - - int GetPartCount(const char *pszStyleString = NULL); - OGRStyleTool *GetPart(int hPartId, const char *pszStyleString = NULL); - - /* It could have a reference counting process us for the OGRStyleTable, if - needed. */ - - OGRStyleTable *GetDataSetStyleTable(){return m_poDataSetStyleTable;} - - OGRStyleTool *CreateStyleToolFromStyleString(const char *pszStyleString); - -}; - -/** - * This class represents a style tool - */ -class CPL_DLL OGRStyleTool -{ - private: - GBool m_bModified; - GBool m_bParsed; - double m_dfScale; - OGRSTUnitId m_eUnit; - OGRSTClassId m_eClassId; - char *m_pszStyleString; - - virtual GBool Parse() = 0; - - protected: - GBool Parse(const OGRStyleParamId* pasStyle, - OGRStyleValue* pasValue, - int nCount); - - public: - - OGRStyleTool(){} - OGRStyleTool(OGRSTClassId eClassId); - virtual ~OGRStyleTool(); - - GBool GetRGBFromString(const char *pszColor, int &nRed, int &nGreen, - int &nBlue, int &nTransparence); - int GetSpecificId(const char *pszId, const char *pszWanted); - - GBool IsStyleModified() {return m_bModified;} - void StyleModified() {m_bModified = TRUE;} - - GBool IsStyleParsed() {return m_bParsed;} - void StyleParsed() {m_bParsed = TRUE;} - - OGRSTClassId GetType(); - - void SetInternalInputUnitFromParam(char *pszString); - - void SetUnit(OGRSTUnitId,double dfScale = 1.0); //the dfScale will be - //used if we are working with Ground Unit ( ground = paper * scale); - - OGRSTUnitId GetUnit(){return m_eUnit;} - - // There are two way to set the parameters in the Style, with generic - // methods (using a defined enumeration) or with the reel method specific - // for Each style tools. - - virtual const char *GetStyleString() = 0; - void SetStyleString(const char *pszStyleString); - const char *GetStyleString(const OGRStyleParamId *pasStyleParam , - OGRStyleValue *pasStyleValue, int nSize); - - const char *GetParamStr(const OGRStyleParamId &sStyleParam , - OGRStyleValue &sStyleValue, - GBool &bValueIsNull); - - int GetParamNum(const OGRStyleParamId &sStyleParam , - OGRStyleValue &sStyleValue, - GBool &bValueIsNull); - - double GetParamDbl(const OGRStyleParamId &sStyleParam , - OGRStyleValue &sStyleValue, - GBool &bValueIsNull); - - void SetParamStr(const OGRStyleParamId &sStyleParam , - OGRStyleValue &sStyleValue, - const char *pszParamString); - - void SetParamNum(const OGRStyleParamId &sStyleParam , - OGRStyleValue &sStyleValue, - int nParam); - - void SetParamDbl(const OGRStyleParamId &sStyleParam , - OGRStyleValue &sStyleValue, - double dfParam); - - double ComputeWithUnit(double, OGRSTUnitId); - int ComputeWithUnit(int , OGRSTUnitId); - -}; - -/** - * This class represents a style pen - */ -class CPL_DLL OGRStylePen : public OGRStyleTool -{ - private: - - OGRStyleValue *m_pasStyleValue; - - GBool Parse(); - - public: - - OGRStylePen(); - virtual ~OGRStylePen(); - - /**********************************************************************/ - /* Explicit fct for all parameters defined in the Drawing tools Pen */ - /**********************************************************************/ - - const char *Color(GBool &bDefault){return GetParamStr(OGRSTPenColor,bDefault);} - void SetColor(const char *pszColor){SetParamStr(OGRSTPenColor,pszColor);} - double Width(GBool &bDefault){return GetParamDbl(OGRSTPenWidth,bDefault);} - void SetWidth(double dfWidth){SetParamDbl(OGRSTPenWidth,dfWidth);} - const char *Pattern(GBool &bDefault){return (const char *)GetParamStr(OGRSTPenPattern,bDefault);} - void SetPattern(const char *pszPattern){SetParamStr(OGRSTPenPattern,pszPattern);} - const char *Id(GBool &bDefault){return GetParamStr(OGRSTPenId,bDefault);} - void SetId(const char *pszId){SetParamStr(OGRSTPenId,pszId);} - double PerpendicularOffset(GBool &bDefault){return GetParamDbl(OGRSTPenPerOffset,bDefault);} - void SetPerpendicularOffset(double dfPerp){SetParamDbl(OGRSTPenPerOffset,dfPerp);} - const char *Cap(GBool &bDefault){return GetParamStr(OGRSTPenCap,bDefault);} - void SetCap(const char *pszCap){SetParamStr(OGRSTPenCap,pszCap);} - const char *Join(GBool &bDefault){return GetParamStr(OGRSTPenJoin,bDefault);} - void SetJoin(const char *pszJoin){SetParamStr(OGRSTPenJoin,pszJoin);} - int Priority(GBool &bDefault){return GetParamNum(OGRSTPenPriority,bDefault);} - void SetPriority(int nPriority){SetParamNum(OGRSTPenPriority,nPriority);} - - /*****************************************************************/ - - const char *GetParamStr(OGRSTPenParam eParam, GBool &bValueIsNull); - int GetParamNum(OGRSTPenParam eParam,GBool &bValueIsNull); - double GetParamDbl(OGRSTPenParam eParam,GBool &bValueIsNull); - void SetParamStr(OGRSTPenParam eParam, const char *pszParamString); - void SetParamNum(OGRSTPenParam eParam, int nParam); - void SetParamDbl(OGRSTPenParam eParam, double dfParam); - const char *GetStyleString(); -}; - -/** - * This class represents a style brush - */ -class CPL_DLL OGRStyleBrush : public OGRStyleTool -{ - private: - - OGRStyleValue *m_pasStyleValue; - - GBool Parse(); - - public: - - OGRStyleBrush(); - virtual ~OGRStyleBrush(); - - /* Explicit fct for all parameters defined in the Drawing tools Brush */ - - const char *ForeColor(GBool &bDefault){return GetParamStr(OGRSTBrushFColor,bDefault);} - void SetForeColor(const char *pszColor){SetParamStr(OGRSTBrushFColor,pszColor);} - const char *BackColor(GBool &bDefault){return GetParamStr(OGRSTBrushBColor,bDefault);} - void SetBackColor(const char *pszColor){SetParamStr(OGRSTBrushBColor,pszColor);} - const char *Id(GBool &bDefault){ return GetParamStr(OGRSTBrushId,bDefault);} - void SetId(const char *pszId){SetParamStr(OGRSTBrushId,pszId);} - double Angle(GBool &bDefault){return GetParamDbl(OGRSTBrushAngle,bDefault);} - void SetAngle(double dfAngle){SetParamDbl(OGRSTBrushAngle,dfAngle );} - double Size(GBool &bDefault){return GetParamDbl(OGRSTBrushSize,bDefault);} - void SetSize(double dfSize){SetParamDbl(OGRSTBrushSize,dfSize );} - double SpacingX(GBool &bDefault){return GetParamDbl(OGRSTBrushDx,bDefault);} - void SetSpacingX(double dfX){SetParamDbl(OGRSTBrushDx,dfX );} - double SpacingY(GBool &bDefault){return GetParamDbl(OGRSTBrushDy,bDefault);} - void SetSpacingY(double dfY){SetParamDbl(OGRSTBrushDy,dfY );} - int Priority(GBool &bDefault){ return GetParamNum(OGRSTBrushPriority,bDefault);} - void SetPriority(int nPriority){ SetParamNum(OGRSTBrushPriority,nPriority);} - - /*****************************************************************/ - - const char *GetParamStr(OGRSTBrushParam eParam, GBool &bValueIsNull); - int GetParamNum(OGRSTBrushParam eParam,GBool &bValueIsNull); - double GetParamDbl(OGRSTBrushParam eParam,GBool &bValueIsNull); - void SetParamStr(OGRSTBrushParam eParam, const char *pszParamString); - void SetParamNum(OGRSTBrushParam eParam, int nParam); - void SetParamDbl(OGRSTBrushParam eParam, double dfParam); - const char *GetStyleString(); -}; - -/** - * This class represents a style symbol - */ -class CPL_DLL OGRStyleSymbol : public OGRStyleTool -{ - private: - - OGRStyleValue *m_pasStyleValue; - - GBool Parse(); - - public: - - OGRStyleSymbol(); - virtual ~OGRStyleSymbol(); - - /*****************************************************************/ - /* Explicit fct for all parameters defined in the Drawing tools */ - /*****************************************************************/ - - const char *Id(GBool &bDefault){return GetParamStr(OGRSTSymbolId,bDefault);} - void SetId(const char *pszId){ SetParamStr(OGRSTSymbolId,pszId);} - double Angle(GBool &bDefault){ return GetParamDbl(OGRSTSymbolAngle,bDefault);} - void SetAngle(double dfAngle){SetParamDbl(OGRSTSymbolAngle,dfAngle );} - const char *Color(GBool &bDefault){return GetParamStr(OGRSTSymbolColor,bDefault);} - void SetColor(const char *pszColor){SetParamStr(OGRSTSymbolColor,pszColor);} - double Size(GBool &bDefault){ return GetParamDbl(OGRSTSymbolSize,bDefault);} - void SetSize(double dfSize){ SetParamDbl(OGRSTSymbolSize,dfSize );} - double SpacingX(GBool &bDefault){return GetParamDbl(OGRSTSymbolDx,bDefault);} - void SetSpacingX(double dfX){SetParamDbl(OGRSTSymbolDx,dfX );} - double SpacingY(GBool &bDefault){return GetParamDbl(OGRSTSymbolDy,bDefault);} - void SetSpacingY(double dfY){SetParamDbl(OGRSTSymbolDy,dfY );} - double Step(GBool &bDefault){return GetParamDbl(OGRSTSymbolStep,bDefault);} - void SetStep(double dfStep){SetParamDbl(OGRSTSymbolStep,dfStep );} - double Offset(GBool &bDefault){return GetParamDbl(OGRSTSymbolOffset,bDefault);} - void SetOffset(double dfOffset){SetParamDbl(OGRSTSymbolOffset,dfOffset );} - double Perp(GBool &bDefault){return GetParamDbl(OGRSTSymbolPerp,bDefault);} - void SetPerp(double dfPerp){SetParamDbl(OGRSTSymbolPerp,dfPerp );} - int Priority(GBool &bDefault){return GetParamNum(OGRSTSymbolPriority,bDefault);} - void SetPriority(int nPriority){SetParamNum(OGRSTSymbolPriority,nPriority);} - const char *FontName(GBool &bDefault) - {return GetParamStr(OGRSTSymbolFontName,bDefault);} - void SetFontName(const char *pszFontName) - {SetParamStr(OGRSTSymbolFontName,pszFontName);} - const char *OColor(GBool &bDefault){return GetParamStr(OGRSTSymbolOColor,bDefault);} - void SetOColor(const char *pszColor){SetParamStr(OGRSTSymbolOColor,pszColor);} - - /*****************************************************************/ - - const char *GetParamStr(OGRSTSymbolParam eParam, GBool &bValueIsNull); - int GetParamNum(OGRSTSymbolParam eParam,GBool &bValueIsNull); - double GetParamDbl(OGRSTSymbolParam eParam,GBool &bValueIsNull); - void SetParamStr(OGRSTSymbolParam eParam, const char *pszParamString); - void SetParamNum(OGRSTSymbolParam eParam, int nParam); - void SetParamDbl(OGRSTSymbolParam eParam, double dfParam); - const char *GetStyleString(); -}; - -/** - * This class represents a style label - */ -class CPL_DLL OGRStyleLabel : public OGRStyleTool -{ - private: - - OGRStyleValue *m_pasStyleValue; - - GBool Parse(); - - public: - - OGRStyleLabel(); - virtual ~OGRStyleLabel(); - - /*****************************************************************/ - /* Explicit fct for all parameters defined in the Drawing tools */ - /*****************************************************************/ - - const char *FontName(GBool &bDefault){return GetParamStr(OGRSTLabelFontName,bDefault);} - void SetFontName(const char *pszFontName){SetParamStr(OGRSTLabelFontName,pszFontName);} - double Size(GBool &bDefault){return GetParamDbl(OGRSTLabelSize,bDefault);} - void SetSize(double dfSize){SetParamDbl(OGRSTLabelSize,dfSize);} - const char *TextString(GBool &bDefault){return GetParamStr(OGRSTLabelTextString,bDefault);} - void SetTextString(const char *pszTextString){SetParamStr(OGRSTLabelTextString,pszTextString);} - double Angle(GBool &bDefault){return GetParamDbl(OGRSTLabelAngle,bDefault);} - void SetAngle(double dfAngle){SetParamDbl(OGRSTLabelAngle,dfAngle);} - const char *ForeColor(GBool &bDefault){return GetParamStr(OGRSTLabelFColor,bDefault);} - void SetForColor(const char *pszForColor){SetParamStr(OGRSTLabelFColor,pszForColor);} - const char *BackColor(GBool &bDefault){return GetParamStr(OGRSTLabelBColor,bDefault);} - void SetBackColor(const char *pszBackColor){SetParamStr(OGRSTLabelBColor,pszBackColor);} - const char *Placement(GBool &bDefault){return GetParamStr(OGRSTLabelPlacement,bDefault);} - void SetPlacement(const char *pszPlacement){SetParamStr(OGRSTLabelPlacement,pszPlacement);} - int Anchor(GBool &bDefault){return GetParamNum(OGRSTLabelAnchor,bDefault);} - void SetAnchor(int nAnchor){SetParamNum(OGRSTLabelAnchor,nAnchor);} - double SpacingX(GBool &bDefault){return GetParamDbl(OGRSTLabelDx,bDefault);} - void SetSpacingX(double dfX){SetParamDbl(OGRSTLabelDx,dfX);} - double SpacingY(GBool &bDefault){return GetParamDbl(OGRSTLabelDy,bDefault);} - void SetSpacingY(double dfY){SetParamDbl(OGRSTLabelDy,dfY);} - double Perp(GBool &bDefault){return GetParamDbl(OGRSTLabelPerp,bDefault);} - void SetPerp(double dfPerp){SetParamDbl(OGRSTLabelPerp,dfPerp);} - GBool Bold(GBool &bDefault){return GetParamNum(OGRSTLabelBold,bDefault);} - void SetBold(GBool bBold){SetParamNum(OGRSTLabelBold,bBold);} - GBool Italic(GBool &bDefault){return GetParamNum(OGRSTLabelItalic,bDefault);} - void SetItalic(GBool bItalic){SetParamNum(OGRSTLabelItalic,bItalic);} - GBool Underline(GBool &bDefault){return GetParamNum(OGRSTLabelUnderline,bDefault);} - void SetUnderline(GBool bUnderline){SetParamNum(OGRSTLabelUnderline,bUnderline);} - int Priority(GBool &bDefault){return GetParamNum(OGRSTLabelPriority,bDefault);} - void SetPriority(int nPriority){SetParamNum(OGRSTLabelPriority,nPriority);} - GBool Strikeout(GBool &bDefault){return GetParamNum(OGRSTLabelStrikeout,bDefault);} - void SetStrikeout(GBool bStrikeout){SetParamNum(OGRSTLabelStrikeout,bStrikeout);} - double Stretch(GBool &bDefault){return GetParamDbl(OGRSTLabelStretch,bDefault);} - void SetStretch(double dfStretch){SetParamDbl(OGRSTLabelStretch,dfStretch);} - const char *AdjustmentHor(GBool &bDefault){return GetParamStr(OGRSTLabelAdjHor,bDefault);} - void SetAdjustmentHor(const char *pszAdjustmentHor){SetParamStr(OGRSTLabelAdjHor,pszAdjustmentHor);} - const char *AdjustmentVert(GBool &bDefault){return GetParamStr(OGRSTLabelAdjVert,bDefault);} - void SetAdjustmentVert(const char *pszAdjustmentVert){SetParamStr(OGRSTLabelAdjHor,pszAdjustmentVert);} - const char *ShadowColor(GBool &bDefault){return GetParamStr(OGRSTLabelHColor,bDefault);} - void SetShadowColor(const char *pszShadowColor){SetParamStr(OGRSTLabelHColor,pszShadowColor);} - const char *OutlineColor(GBool &bDefault){return GetParamStr(OGRSTLabelOColor,bDefault);} - void SetOutlineColor(const char *pszOutlineColor){SetParamStr(OGRSTLabelOColor,pszOutlineColor);} - - /*****************************************************************/ - - const char *GetParamStr(OGRSTLabelParam eParam, GBool &bValueIsNull); - int GetParamNum(OGRSTLabelParam eParam,GBool &bValueIsNull); - double GetParamDbl(OGRSTLabelParam eParam,GBool &bValueIsNull); - void SetParamStr(OGRSTLabelParam eParam, const char *pszParamString); - void SetParamNum(OGRSTLabelParam eParam, int nParam); - void SetParamDbl(OGRSTLabelParam eParam, double dfParam); - const char *GetStyleString(); -}; - -#endif /* OGR_FEATURESTYLE_INCLUDE */ diff --git a/src/gdal/ogr_geocoding.h b/src/gdal/ogr_geocoding.h deleted file mode 100644 index 6ed9d50a..00000000 --- a/src/gdal/ogr_geocoding.h +++ /dev/null @@ -1,63 +0,0 @@ -/****************************************************************************** - * $Id: ogr_geocoding.h 33631 2016-03-04 06:28:09Z goatbar $ - * - * Project: OpenGIS Simple Features Reference Implementation - * Purpose: Client of geocoding service. - * Author: Even Rouault, - * - ****************************************************************************** - * Copyright (c) 2012, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OGR_GEOCODING_H_INCLUDED -#define OGR_GEOCODING_H_INCLUDED - -#include "cpl_port.h" -#include "ogr_api.h" - -/** - * \file ogr_geocoding.h - * - * C API for geocoding client. - */ - -CPL_C_START - -typedef struct _OGRGeocodingSessionHS *OGRGeocodingSessionH; - -OGRGeocodingSessionH CPL_DLL OGRGeocodeCreateSession(char** papszOptions); - -void CPL_DLL OGRGeocodeDestroySession(OGRGeocodingSessionH hSession); - -OGRLayerH CPL_DLL OGRGeocode(OGRGeocodingSessionH hSession, - const char* pszQuery, - char** papszStructuredQuery, - char** papszOptions); - -OGRLayerH CPL_DLL OGRGeocodeReverse(OGRGeocodingSessionH hSession, - double dfLon, double dfLat, - char** papszOptions); - -void CPL_DLL OGRGeocodeFreeResult(OGRLayerH hLayer); - -CPL_C_END - -#endif // OGR_GEOCODING_H_INCLUDED diff --git a/src/gdal/ogr_geometry.h b/src/gdal/ogr_geometry.h deleted file mode 100644 index 0024396b..00000000 --- a/src/gdal/ogr_geometry.h +++ /dev/null @@ -1,1400 +0,0 @@ -/****************************************************************************** - * $Id: ogr_geometry.h 33631 2016-03-04 06:28:09Z goatbar $ - * - * Project: OpenGIS Simple Features Reference Implementation - * Purpose: Classes for manipulating simple features that is not specific - * to a particular interface technology. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 1999, Frank Warmerdam - * Copyright (c) 2008-2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OGR_GEOMETRY_H_INCLUDED -#define OGR_GEOMETRY_H_INCLUDED - -#include "ogr_core.h" -#include "ogr_spatialref.h" - -/** - * \file ogr_geometry.h - * - * Simple feature geometry classes. - */ - -/** - * Simple container for a position. - */ -class OGRRawPoint -{ - public: - OGRRawPoint() - { - x = y = 0.0; - } - - OGRRawPoint(double xIn, double yIn) : x(xIn), y(yIn) {} - double x; - double y; -}; - -typedef struct GEOSGeom_t *GEOSGeom; -typedef struct GEOSContextHandle_HS *GEOSContextHandle_t; - -class OGRPoint; -class OGRCurve; -class OGRCompoundCurve; -class OGRLinearRing; -class OGRLineString; -class OGRSurface; -class OGRCurvePolygon; -class OGRPolygon; -class OGRMultiSurface; -class OGRMultiPolygon; -class OGRMultiCurve; -class OGRMultiLineString; - -typedef OGRLineString* (*OGRCurveCasterToLineString)(OGRCurve*); -typedef OGRLinearRing* (*OGRCurveCasterToLinearRing)(OGRCurve*); - -typedef OGRPolygon* (*OGRSurfaceCasterToPolygon)(OGRSurface*); -typedef OGRCurvePolygon* (*OGRSurfaceCasterToCurvePolygon)(OGRSurface*); - -/************************************************************************/ -/* OGRGeometry */ -/************************************************************************/ - -/** - * Abstract base class for all geometry classes. - * - * Some spatial analysis methods require that OGR is built on the GEOS library - * to work properly. The precise meaning of methods that describe spatial relationships - * between geometries is described in the SFCOM, or other simple features interface - * specifications, like "OpenGIS® Implementation Specification for - * Geographic information - Simple feature access - Part 1: Common architecture" - * (OGC 06-103r4) - * - * In GDAL 2.0, the hierarchy of classes has been extended with - * - * (working draft) ISO SQL/MM Part 3 (ISO/IEC 13249-3) curve geometries : - * CIRCULARSTRING (OGRCircularString), COMPOUNDCURVE (OGRCompoundCurve), - * CURVEPOLYGON (OGRCurvePolygon), MULTICURVE (OGRMultiCurve) and MULTISURFACE (OGRMultiSurface). - * - */ - -class CPL_DLL OGRGeometry -{ - private: - OGRSpatialReference * poSRS; // may be NULL - - protected: - friend class OGRCurveCollection; - - unsigned int flags; - - OGRErr importPreambuleFromWkt( char ** ppszInput, - int* pbHasZ, int* pbHasM, - bool* pbIsEmpty ); - OGRErr importCurveCollectionFromWkt( char ** ppszInput, - int bAllowEmptyComponent, - int bAllowLineString, - int bAllowCurve, - int bAllowCompoundCurve, - OGRErr (*pfnAddCurveDirectly)(OGRGeometry* poSelf, OGRCurve* poCurve) ); - OGRErr importPreambuleFromWkb( unsigned char * pabyData, - int nSize, - OGRwkbByteOrder& eByteOrder, - OGRwkbVariant eWkbVariant ); - OGRErr importPreambuleOfCollectionFromWkb( - unsigned char * pabyData, - int& nSize, - int& nDataOffset, - OGRwkbByteOrder& eByteOrder, - int nMinSubGeomSize, - int& nGeomCount, - OGRwkbVariant eWkbVariant ); - OGRErr PointOnSurfaceInternal( OGRPoint * poPoint ) const; - - public: - -/************************************************************************/ -/* Bit flags for OGRGeometry */ -/* The OGR_G_NOT_EMPTY_POINT is used *only* for points. */ -/* Do not use these outside of the core. */ -/* Use Is3D, IsMeasured, set3D, and setMeasured instead */ -/************************************************************************/ - - static const unsigned int OGR_G_NOT_EMPTY_POINT = 0x1; - static const unsigned int OGR_G_3D = 0x2; - static const unsigned int OGR_G_MEASURED = 0x4; - - OGRGeometry(); - OGRGeometry( const OGRGeometry& other ); - virtual ~OGRGeometry(); - - OGRGeometry& operator=( const OGRGeometry& other ); - - // standard IGeometry - virtual int getDimension() const = 0; - virtual int getCoordinateDimension() const; - int CoordinateDimension() const; - virtual OGRBoolean IsEmpty() const; - virtual OGRBoolean IsValid() const; - virtual OGRBoolean IsSimple() const; - OGRBoolean Is3D() const { return flags & OGR_G_3D; } - OGRBoolean IsMeasured() const { return flags & OGR_G_MEASURED; } - virtual OGRBoolean IsRing() const; - virtual void empty() = 0; - virtual OGRGeometry *clone() const CPL_WARN_UNUSED_RESULT = 0; - virtual void getEnvelope( OGREnvelope * psEnvelope ) const = 0; - virtual void getEnvelope( OGREnvelope3D * psEnvelope ) const = 0; - - // IWks Interface - virtual int WkbSize() const = 0; - virtual OGRErr importFromWkb( unsigned char *, int=-1, OGRwkbVariant=wkbVariantOldOgc )=0; - virtual OGRErr exportToWkb( OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc ) const = 0; - virtual OGRErr importFromWkt( char ** ppszInput ) = 0; - virtual OGRErr exportToWkt( char ** ppszDstText, OGRwkbVariant=wkbVariantOldOgc ) const = 0; - - // non-standard - virtual OGRwkbGeometryType getGeometryType() const = 0; - OGRwkbGeometryType getIsoGeometryType() const; - virtual const char *getGeometryName() const = 0; - virtual void dumpReadable( FILE *, const char * = NULL, char** papszOptions = NULL ) const; - virtual void flattenTo2D() = 0; - virtual char * exportToGML( const char* const * papszOptions = NULL ) const; - virtual char * exportToKML() const; - virtual char * exportToJson() const; - - static GEOSContextHandle_t createGEOSContext(); - static void freeGEOSContext(GEOSContextHandle_t hGEOSCtxt); - virtual GEOSGeom exportToGEOS(GEOSContextHandle_t hGEOSCtxt) const CPL_WARN_UNUSED_RESULT; - virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear = FALSE) const; - virtual OGRGeometry* getCurveGeometry(const char* const* papszOptions = NULL) const CPL_WARN_UNUSED_RESULT; - virtual OGRGeometry* getLinearGeometry(double dfMaxAngleStepSizeDegrees = 0, - const char* const* papszOptions = NULL) const CPL_WARN_UNUSED_RESULT; - - virtual void closeRings(); - - virtual void setCoordinateDimension( int nDimension ); - virtual void set3D( OGRBoolean bIs3D ); - virtual void setMeasured( OGRBoolean bIsMeasured ); - - void assignSpatialReference( OGRSpatialReference * poSR ); - OGRSpatialReference *getSpatialReference( void ) const { return poSRS; } - - virtual OGRErr transform( OGRCoordinateTransformation *poCT ) = 0; - OGRErr transformTo( OGRSpatialReference *poSR ); - - virtual void segmentize(double dfMaxLength); - - // ISpatialRelation - virtual OGRBoolean Intersects( const OGRGeometry * ) const; - virtual OGRBoolean Equals( OGRGeometry * ) const = 0; - virtual OGRBoolean Disjoint( const OGRGeometry * ) const; - virtual OGRBoolean Touches( const OGRGeometry * ) const; - virtual OGRBoolean Crosses( const OGRGeometry * ) const; - virtual OGRBoolean Within( const OGRGeometry * ) const; - virtual OGRBoolean Contains( const OGRGeometry * ) const; - virtual OGRBoolean Overlaps( const OGRGeometry * ) const; -// virtual OGRBoolean Relate( const OGRGeometry *, const char * ) const; -// virtual OGRGeometry *LocateAlong( double mValue ) const; -// virtual OGRGeometry *LocateBetween( double mStart, double mEnd ) const; - - virtual OGRGeometry *Boundary() const CPL_WARN_UNUSED_RESULT; - virtual double Distance( const OGRGeometry * ) const ; - virtual OGRGeometry *ConvexHull() const CPL_WARN_UNUSED_RESULT; - virtual OGRGeometry *Buffer( double dfDist, int nQuadSegs = 30 ) const CPL_WARN_UNUSED_RESULT; - virtual OGRGeometry *Intersection( const OGRGeometry *) const CPL_WARN_UNUSED_RESULT; - virtual OGRGeometry *Union( const OGRGeometry * ) const CPL_WARN_UNUSED_RESULT; - virtual OGRGeometry *UnionCascaded() const CPL_WARN_UNUSED_RESULT; - virtual OGRGeometry *Difference( const OGRGeometry * ) const CPL_WARN_UNUSED_RESULT; - virtual OGRGeometry *SymDifference( const OGRGeometry * ) const CPL_WARN_UNUSED_RESULT; - virtual OGRErr Centroid( OGRPoint * poPoint ) const; - virtual OGRGeometry *Simplify(double dTolerance) const CPL_WARN_UNUSED_RESULT; - OGRGeometry *SimplifyPreserveTopology(double dTolerance) const CPL_WARN_UNUSED_RESULT; - virtual OGRGeometry *DelaunayTriangulation(double dfTolerance, int bOnlyEdges) const CPL_WARN_UNUSED_RESULT; - - virtual OGRGeometry *Polygonize() const CPL_WARN_UNUSED_RESULT; - - // backward compatibility to non-standard method names. - OGRBoolean Intersect( OGRGeometry * ) const CPL_WARN_DEPRECATED("Non standard method. Use Intersects() instead"); - OGRBoolean Equal( OGRGeometry * ) const CPL_WARN_DEPRECATED("Non standard method. Use Equals() instead"); - OGRGeometry *SymmetricDifference( const OGRGeometry * ) const CPL_WARN_DEPRECATED("Non standard method. Use SymDifference() instead"); - OGRGeometry *getBoundary() const CPL_WARN_DEPRECATED("Non standard method. Use Boundary() instead"); - - // Special HACK for DB2 7.2 support - static int bGenerate_DB2_V72_BYTE_ORDER; - - virtual void swapXY(); - - static OGRGeometry* CastToIdentity(OGRGeometry* poGeom) { return poGeom; } - static OGRGeometry* CastToError(OGRGeometry* poGeom); -}; - -/************************************************************************/ -/* OGRPoint */ -/************************************************************************/ - -/** - * Point class. - * - * Implements SFCOM IPoint methods. - */ - -class CPL_DLL OGRPoint : public OGRGeometry -{ - double x; - double y; - double z; - double m; - - public: - OGRPoint(); - OGRPoint( double x, double y ); - OGRPoint( double x, double y, double z ); - OGRPoint( double x, double y, double z, double m ); - OGRPoint( const OGRPoint& other ); - virtual ~OGRPoint(); - - OGRPoint& operator=( const OGRPoint& other ); - - // IWks Interface - virtual int WkbSize() const; - virtual OGRErr importFromWkb( unsigned char *, int=-1, OGRwkbVariant=wkbVariantOldOgc ); - virtual OGRErr exportToWkb( OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc ) const; - virtual OGRErr importFromWkt( char ** ); - virtual OGRErr exportToWkt( char ** ppszDstText, OGRwkbVariant=wkbVariantOldOgc ) const; - - // IGeometry - virtual int getDimension() const; - virtual OGRGeometry *clone() const; - virtual void empty(); - virtual void getEnvelope( OGREnvelope * psEnvelope ) const; - virtual void getEnvelope( OGREnvelope3D * psEnvelope ) const; - virtual OGRBoolean IsEmpty() const { return !(flags & OGR_G_NOT_EMPTY_POINT); } - - // IPoint - double getX() const { return x; } - double getY() const { return y; } - double getZ() const { return z; } - double getM() const { return m; } - - // Non standard - virtual void setCoordinateDimension( int nDimension ); - void setX( double xIn ) { x = xIn; flags |= OGR_G_NOT_EMPTY_POINT; } - void setY( double yIn ) { y = yIn; flags |= OGR_G_NOT_EMPTY_POINT; } - void setZ( double zIn ) { z = zIn; flags |= (OGR_G_NOT_EMPTY_POINT | OGR_G_3D); } - void setM( double mIn ) { m = mIn; flags |= (OGR_G_NOT_EMPTY_POINT | OGR_G_MEASURED); } - - // ISpatialRelation - virtual OGRBoolean Equals( OGRGeometry * ) const; - virtual OGRBoolean Intersects( const OGRGeometry * ) const; - virtual OGRBoolean Within( const OGRGeometry * ) const; - - // Non standard from OGRGeometry - virtual const char *getGeometryName() const; - virtual OGRwkbGeometryType getGeometryType() const; - virtual OGRErr transform( OGRCoordinateTransformation *poCT ); - virtual void flattenTo2D(); - - virtual void swapXY(); -}; - -/************************************************************************/ -/* OGRPointIterator */ -/************************************************************************/ - -/** - * Interface for a point iterator. - * - * @since GDAL 2.0 - */ - -class CPL_DLL OGRPointIterator -{ - public: - virtual ~OGRPointIterator(); - virtual OGRBoolean getNextPoint(OGRPoint* p) = 0; - - static void destroy(OGRPointIterator*); -}; - -/************************************************************************/ -/* OGRCurve */ -/************************************************************************/ - -/** - * Abstract curve base class for OGRLineString, OGRCircularString and - * OGRCompoundCurve - */ - -class CPL_DLL OGRCurve : public OGRGeometry -{ - protected: - OGRCurve(); - OGRCurve( const OGRCurve& other ); - - virtual OGRCurveCasterToLineString GetCasterToLineString() const = 0; - virtual OGRCurveCasterToLinearRing GetCasterToLinearRing() const = 0; - - friend class OGRCurvePolygon; - friend class OGRCompoundCurve; - virtual int ContainsPoint( const OGRPoint* p ) const; - virtual double get_AreaOfCurveSegments() const = 0; - - public: - virtual ~OGRCurve(); - - OGRCurve& operator=( const OGRCurve& other ); - - // ICurve methods - virtual double get_Length() const = 0; - virtual void StartPoint(OGRPoint *) const = 0; - virtual void EndPoint(OGRPoint *) const = 0; - virtual int get_IsClosed() const; - virtual void Value( double, OGRPoint * ) const = 0; - virtual OGRLineString* CurveToLine(double dfMaxAngleStepSizeDegrees = 0, - const char* const* papszOptions = NULL) const = 0; - virtual int getDimension() const; - - // non standard - virtual int getNumPoints() const = 0; - virtual OGRPointIterator* getPointIterator() const = 0; - virtual OGRBoolean IsConvex() const; - virtual double get_Area() const = 0; - - static OGRCompoundCurve* CastToCompoundCurve(OGRCurve* puCurve); - static OGRLineString* CastToLineString(OGRCurve* poCurve); - static OGRLinearRing* CastToLinearRing(OGRCurve* poCurve); -}; - -/************************************************************************/ -/* OGRSimpleCurve */ -/************************************************************************/ - -/** - * Abstract curve base class for OGRLineString and OGRCircularString - * - * Note: this class does not exist in SQL/MM standard and exists for - * implementation convenience. - * - * @since GDAL 2.0 - */ - -class CPL_DLL OGRSimpleCurve: public OGRCurve -{ - protected: - friend class OGRGeometry; - - int nPointCount; - OGRRawPoint *paoPoints; - double *padfZ; - double *padfM; - - void Make3D(); - void Make2D(); - void RemoveM(); - void AddM(); - - OGRErr importFromWKTListOnly( char ** ppszInput, int bHasZ, int bHasM, - OGRRawPoint*& paoPointsIn, int& nMaxPoints, - double*& padfZIn ); - - virtual double get_LinearArea() const; - - OGRSimpleCurve(); - OGRSimpleCurve( const OGRSimpleCurve& other ); - - public: - virtual ~OGRSimpleCurve(); - - OGRSimpleCurve& operator=( const OGRSimpleCurve& other ); - - // IWks Interface - virtual int WkbSize() const; - virtual OGRErr importFromWkb( unsigned char *, int = -1, OGRwkbVariant=wkbVariantOldOgc ); - virtual OGRErr exportToWkb( OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc ) const; - virtual OGRErr importFromWkt( char ** ); - virtual OGRErr exportToWkt( char ** ppszDstText, OGRwkbVariant=wkbVariantOldOgc ) const; - - // IGeometry interface - virtual OGRGeometry *clone() const; - virtual void empty(); - virtual void getEnvelope( OGREnvelope * psEnvelope ) const; - virtual void getEnvelope( OGREnvelope3D * psEnvelope ) const; - virtual OGRBoolean IsEmpty() const; - - // ICurve methods - virtual double get_Length() const; - virtual void StartPoint(OGRPoint *) const; - virtual void EndPoint(OGRPoint *) const; - virtual void Value( double, OGRPoint * ) const; - virtual double Project(const OGRPoint *) const; - virtual OGRLineString* getSubLine(double, double, int) const; - - // ILineString methods - virtual int getNumPoints() const { return nPointCount; } - void getPoint( int, OGRPoint * ) const; - double getX( int i ) const { return paoPoints[i].x; } - double getY( int i ) const { return paoPoints[i].y; } - double getZ( int i ) const; - double getM( int i ) const; - - // ISpatialRelation - virtual OGRBoolean Equals( OGRGeometry * ) const; - - // non standard. - virtual void setCoordinateDimension( int nDimension ); - virtual void set3D( OGRBoolean bIs3D ); - virtual void setMeasured( OGRBoolean bIsMeasured ); - void setNumPoints( int nNewPointCount, int bZeroizeNewContent = TRUE ); - void setPoint( int, OGRPoint * ); - void setPoint( int, double, double ); - void setZ( int, double ); - void setM( int, double ); - void setPoint( int, double, double, double ); - void setPointM( int, double, double, double ); - void setPoint( int, double, double, double, double ); - void setPoints( int, OGRRawPoint *, double * = NULL ); - void setPointsM( int, OGRRawPoint *, double * ); - void setPoints( int, OGRRawPoint *, double *, double * ); - void setPoints( int, double * padfX, double * padfY, - double *padfZIn = NULL ); - void setPointsM( int, double * padfX, double * padfY, - double *padfMIn = NULL ); - void setPoints( int, double * padfX, double * padfY, - double *padfZIn, double *padfMIn ); - void addPoint( OGRPoint * ); - void addPoint( double, double ); - void addPoint( double, double, double ); - void addPointM( double, double, double ); - void addPoint( double, double, double, double ); - - void getPoints( OGRRawPoint *, double * = NULL ) const; - void getPoints( OGRRawPoint *, double *, double * ) const; - void getPoints( void* pabyX, int nXStride, - void* pabyY, int nYStride, - void* pabyZ = NULL, int nZStride = 0 ) const; - void getPoints( void* pabyX, int nXStride, - void* pabyY, int nYStride, - void* pabyZ, int nZStride, - void* pabyM, int nMStride ) const; - - void addSubLineString( const OGRLineString *, - int nStartVertex = 0, int nEndVertex = -1 ); - void reversePoints( void ); - virtual OGRPointIterator* getPointIterator() const; - - // non-standard from OGRGeometry - virtual OGRErr transform( OGRCoordinateTransformation *poCT ); - virtual void flattenTo2D(); - virtual void segmentize(double dfMaxLength); - - virtual void swapXY(); -}; - -/************************************************************************/ -/* OGRLineString */ -/************************************************************************/ - -/** - * Concrete representation of a multi-vertex line. - * - * Note: for implementation convenience, we make it inherit from OGRSimpleCurve whereas - * SFSQL and SQL/MM only make it inherits from OGRCurve. - */ - -class CPL_DLL OGRLineString : public OGRSimpleCurve -{ - protected: - static OGRLineString* TransferMembersAndDestroy( - OGRLineString* poSrc, - OGRLineString* poDst); - - static OGRLinearRing* CastToLinearRing(OGRLineString* poLS); - - virtual OGRCurveCasterToLineString GetCasterToLineString() const; - virtual OGRCurveCasterToLinearRing GetCasterToLinearRing() const; - - virtual double get_AreaOfCurveSegments() const; - - public: - OGRLineString(); - OGRLineString(const OGRLineString& other); - virtual ~OGRLineString(); - - OGRLineString& operator=(const OGRLineString& other); - - virtual OGRLineString* CurveToLine(double dfMaxAngleStepSizeDegrees = 0, - const char* const* papszOptions = NULL) const; - virtual OGRGeometry* getCurveGeometry(const char* const* papszOptions = NULL) const; - virtual double get_Area() const; - - // non-standard from OGRGeometry - virtual OGRwkbGeometryType getGeometryType() const; - virtual const char *getGeometryName() const; -}; - -/************************************************************************/ -/* OGRLinearRing */ -/************************************************************************/ - -/** - * Concrete representation of a closed ring. - * - * This class is functionally equivalent to an OGRLineString, but has a - * separate identity to maintain alignment with the OpenGIS simple feature - * data model. It exists to serve as a component of an OGRPolygon. - * - * The OGRLinearRing has no corresponding free standing well known binary - * representation, so importFromWkb() and exportToWkb() will not actually - * work. There is a non-standard GDAL WKT representation though. - * - * Because OGRLinearRing is not a "proper" free standing simple features - * object, it cannot be directly used on a feature via SetGeometry(), and - * cannot generally be used with GEOS for operations like Intersects(). - * Instead the polygon should be used, or the OGRLinearRing should be - * converted to an OGRLineString for such operations. - * - * Note: this class exists in SFSQL 1.2, but not in ISO SQL/MM Part 3. - */ - -class CPL_DLL OGRLinearRing : public OGRLineString -{ - protected: - friend class OGRPolygon; - - // These are not IWks compatible ... just a convenience for OGRPolygon. - virtual int _WkbSize( int _flags ) const; - virtual OGRErr _importFromWkb( OGRwkbByteOrder, int _flags, - unsigned char *, int=-1 ); - virtual OGRErr _exportToWkb( OGRwkbByteOrder, int _flags, - unsigned char * ) const; - - static OGRLineString* CastToLineString(OGRLinearRing* poLR); - - virtual OGRCurveCasterToLineString GetCasterToLineString() const; - virtual OGRCurveCasterToLinearRing GetCasterToLinearRing() const; - - public: - OGRLinearRing(); - OGRLinearRing(const OGRLinearRing& other); - OGRLinearRing( OGRLinearRing * ); - virtual ~OGRLinearRing(); - - OGRLinearRing& operator=(const OGRLinearRing& other); - - // Non standard. - virtual const char *getGeometryName() const; - virtual OGRGeometry *clone() const; - virtual int isClockwise() const; - virtual void reverseWindingOrder(); - virtual void closeRings(); - OGRBoolean isPointInRing(const OGRPoint* pt, int bTestEnvelope = TRUE) const; - OGRBoolean isPointOnRingBoundary(const OGRPoint* pt, int bTestEnvelope = TRUE) const; - - // IWks Interface - Note this isn't really a first class object - // for the purposes of WKB form. These methods always fail since this - // object can't be serialized on its own. - virtual int WkbSize() const; - virtual OGRErr importFromWkb( unsigned char *, int=-1, OGRwkbVariant=wkbVariantOldOgc ); - virtual OGRErr exportToWkb( OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc ) const; -}; - -/************************************************************************/ -/* OGRCircularString */ -/************************************************************************/ - -/** - * Concrete representation of a circular string, that is to say a curve made - * of one or several arc circles. - * - * Note: for implementation convenience, we make it inherit from OGRSimpleCurve whereas - * SQL/MM only makes it inherits from OGRCurve. - * - * Compatibility: ISO SQL/MM Part 3. - * - * @since GDAL 2.0 - */ - -class CPL_DLL OGRCircularString : public OGRSimpleCurve -{ - private: - void ExtendEnvelopeWithCircular( OGREnvelope * psEnvelope ) const; - OGRBoolean IsValidFast() const; - int IsFullCircle( double& cx, double& cy, double& square_R ) const; - - protected: - virtual OGRCurveCasterToLineString GetCasterToLineString() const; - virtual OGRCurveCasterToLinearRing GetCasterToLinearRing() const; - virtual int ContainsPoint( const OGRPoint* p ) const; - virtual double get_AreaOfCurveSegments() const; - - public: - OGRCircularString(); - OGRCircularString(const OGRCircularString& other); - virtual ~OGRCircularString(); - - OGRCircularString& operator=(const OGRCircularString& other); - - // IWks Interface - virtual OGRErr importFromWkb( unsigned char *, int = -1, OGRwkbVariant=wkbVariantOldOgc ); - virtual OGRErr exportToWkb( OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc ) const; - virtual OGRErr importFromWkt( char ** ); - virtual OGRErr exportToWkt( char ** ppszDstText, OGRwkbVariant=wkbVariantOldOgc ) const; - - // IGeometry interface - virtual OGRBoolean IsValid() const; - virtual void getEnvelope( OGREnvelope * psEnvelope ) const; - virtual void getEnvelope( OGREnvelope3D * psEnvelope ) const; - - // ICurve methods - virtual double get_Length() const; - virtual OGRLineString* CurveToLine(double dfMaxAngleStepSizeDegrees = 0, - const char* const* papszOptions = NULL) const; - virtual void Value( double, OGRPoint * ) const; - virtual double get_Area() const; - - // non-standard from OGRGeometry - virtual OGRwkbGeometryType getGeometryType() const; - virtual const char *getGeometryName() const; - virtual void segmentize(double dfMaxLength); - virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear = FALSE) const; - virtual OGRGeometry* getLinearGeometry(double dfMaxAngleStepSizeDegrees = 0, - const char* const* papszOptions = NULL) const; -}; - -/************************************************************************/ -/* OGRCurveCollection */ -/************************************************************************/ - -/** - * Utility class to store a collection of curves. Used as a member of - * OGRCompoundCurve and OGRCurvePolygon. - * - * This class is only exported because of linking issues. It should never - * be directly used. - * - * @since GDAL 2.0 - */ - -class CPL_DLL OGRCurveCollection -{ - protected: - friend class OGRCompoundCurve; - friend class OGRCurvePolygon; - friend class OGRPolygon; - - int nCurveCount; - OGRCurve **papoCurves; - - public: - OGRCurveCollection(); - OGRCurveCollection(const OGRCurveCollection& other); - ~OGRCurveCollection(); - - OGRCurveCollection& operator=(const OGRCurveCollection& other); - - void empty(OGRGeometry* poGeom); - OGRBoolean IsEmpty() const; - void getEnvelope( OGREnvelope * psEnvelope ) const; - void getEnvelope( OGREnvelope3D * psEnvelope ) const; - - OGRErr addCurveDirectly( OGRGeometry* poGeom, OGRCurve* poCurve, - int bNeedRealloc ); - int WkbSize() const; - OGRErr importPreambuleFromWkb( OGRGeometry* poGeom, - unsigned char * pabyData, - int& nSize, - int& nDataOffset, - OGRwkbByteOrder& eByteOrder, - int nMinSubGeomSize, - OGRwkbVariant eWkVariant ); - OGRErr importBodyFromWkb( OGRGeometry* poGeom, - unsigned char * pabyData, - int nSize, - int nDataOffset, - int bAcceptCompoundCurve, - OGRErr (*pfnAddCurveDirectlyFromWkb)(OGRGeometry* poGeom, OGRCurve* poCurve), - OGRwkbVariant eWkVariant ); - OGRErr exportToWkt( const OGRGeometry* poGeom, char ** ppszDstText ) const; - OGRErr exportToWkb( const OGRGeometry* poGeom, OGRwkbByteOrder, - unsigned char *, OGRwkbVariant eWkbVariant ) const; - OGRBoolean Equals(OGRCurveCollection *poOCC) const; - void setCoordinateDimension( OGRGeometry* poGeom, int nNewDimension ); - void set3D( OGRGeometry* poGeom, OGRBoolean bIs3D ); - void setMeasured( OGRGeometry* poGeom, OGRBoolean bIsMeasured ); - int getNumCurves() const; - OGRCurve *getCurve( int ); - const OGRCurve *getCurve( int ) const; - OGRCurve *stealCurve( int ); - OGRErr transform( OGRGeometry* poGeom, - OGRCoordinateTransformation *poCT ); - void flattenTo2D(OGRGeometry* poGeom); - void segmentize(double dfMaxLength); - void swapXY(); - OGRBoolean hasCurveGeometry(int bLookForNonLinear) const; -}; - -/************************************************************************/ -/* OGRCompoundCurve */ -/************************************************************************/ - -/** - * Concrete representation of a compound curve, made of curves: OGRLineString - * and OGRCircularString. Each curve is connected by its first point to - * the last point of the previous curve. - * - * Compatibility: ISO SQL/MM Part 3. - * - * @since GDAL 2.0 - */ - -class CPL_DLL OGRCompoundCurve : public OGRCurve -{ - private: - OGRCurveCollection oCC; - - OGRErr addCurveDirectlyInternal( OGRCurve* poCurve, - double dfToleranceEps, - int bNeedRealloc ); - static OGRErr addCurveDirectlyFromWkt( OGRGeometry* poSelf, OGRCurve* poCurve ); - static OGRErr addCurveDirectlyFromWkb( OGRGeometry* poSelf, OGRCurve* poCurve ); - OGRLineString* CurveToLineInternal(double dfMaxAngleStepSizeDegrees, - const char* const* papszOptions, - int bIsLinearRing) const; - - protected: - static OGRLineString* CastToLineString(OGRCompoundCurve* poCC); - static OGRLinearRing* CastToLinearRing(OGRCompoundCurve* poCC); - - virtual OGRCurveCasterToLineString GetCasterToLineString() const; - virtual OGRCurveCasterToLinearRing GetCasterToLinearRing() const; - - public: - OGRCompoundCurve(); - OGRCompoundCurve(const OGRCompoundCurve& other); - virtual ~OGRCompoundCurve(); - - OGRCompoundCurve& operator=(const OGRCompoundCurve& other); - - // IWks Interface - virtual int WkbSize() const; - virtual OGRErr importFromWkb( unsigned char *, int = -1, OGRwkbVariant=wkbVariantOldOgc ); - virtual OGRErr exportToWkb( OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc ) const; - virtual OGRErr importFromWkt( char ** ); - virtual OGRErr exportToWkt( char ** ppszDstText, OGRwkbVariant=wkbVariantOldOgc ) const; - - // IGeometry interface - virtual OGRGeometry *clone() const; - virtual void empty(); - virtual void getEnvelope( OGREnvelope * psEnvelope ) const; - virtual void getEnvelope( OGREnvelope3D * psEnvelope ) const; - virtual OGRBoolean IsEmpty() const; - - // ICurve methods - virtual double get_Length() const; - virtual void StartPoint(OGRPoint *) const; - virtual void EndPoint(OGRPoint *) const; - virtual void Value( double, OGRPoint * ) const; - virtual OGRLineString* CurveToLine(double dfMaxAngleStepSizeDegrees = 0, - const char* const* papszOptions = NULL) const; - - virtual int getNumPoints() const; - virtual double get_AreaOfCurveSegments() const; - virtual double get_Area() const; - - // ISpatialRelation - virtual OGRBoolean Equals( OGRGeometry * ) const; - - // ICompoundCurve method - int getNumCurves() const; - OGRCurve *getCurve( int ); - const OGRCurve *getCurve( int ) const; - - // non standard. - virtual void setCoordinateDimension( int nDimension ); - virtual void set3D( OGRBoolean bIs3D ); - virtual void setMeasured( OGRBoolean bIsMeasured ); - - OGRErr addCurve( OGRCurve*, double dfToleranceEps = 1e-14 ); - OGRErr addCurveDirectly( OGRCurve*, double dfToleranceEps = 1e-14 ); - OGRCurve *stealCurve( int ); - virtual OGRPointIterator* getPointIterator() const; - - // non-standard from OGRGeometry - virtual OGRwkbGeometryType getGeometryType() const; - virtual const char *getGeometryName() const; - virtual OGRErr transform( OGRCoordinateTransformation *poCT ); - virtual void flattenTo2D(); - virtual void segmentize(double dfMaxLength); - virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear = FALSE) const; - virtual OGRGeometry* getLinearGeometry(double dfMaxAngleStepSizeDegrees = 0, - const char* const* papszOptions = NULL) const; - - virtual void swapXY(); -}; - -/************************************************************************/ -/* OGRSurface */ -/************************************************************************/ - -/** - * Abstract base class for 2 dimensional objects like polygons or curve polygons. - */ - -class CPL_DLL OGRSurface : public OGRGeometry -{ - protected: - - virtual OGRSurfaceCasterToPolygon GetCasterToPolygon() const = 0; - virtual OGRSurfaceCasterToCurvePolygon GetCasterToCurvePolygon() const = 0; - - public: - virtual double get_Area() const = 0; - virtual OGRErr PointOnSurface( OGRPoint * poPoint ) const = 0; - - static OGRPolygon* CastToPolygon(OGRSurface* poSurface); - static OGRCurvePolygon* CastToCurvePolygon(OGRSurface* poSurface); -}; - - -/************************************************************************/ -/* OGRCurvePolygon */ -/************************************************************************/ - -/** - * Concrete class representing curve polygons. - * - * Note that curve polygons consist of one outer (curve) ring, and zero or - * more inner rings. A curve polygon cannot represent disconnected - * regions (such as multiple islands in a political body). The - * OGRMultiSurface must be used for this. - * - * Compatibility: ISO SQL/MM Part 3. - * - * @since GDAL 2.0 - */ - -class CPL_DLL OGRCurvePolygon : public OGRSurface -{ - private: - OGRBoolean ContainsPoint( const OGRPoint* p ) const; - virtual int checkRing( OGRCurve * poNewRing ) const; - OGRErr addRingDirectlyInternal( OGRCurve* poCurve, int bNeedRealloc ); - static OGRErr addCurveDirectlyFromWkt( OGRGeometry* poSelf, OGRCurve* poCurve ); - static OGRErr addCurveDirectlyFromWkb( OGRGeometry* poSelf, OGRCurve* poCurve ); - - protected: - friend class OGRPolygon; - OGRCurveCollection oCC; - - static OGRPolygon* CastToPolygon(OGRCurvePolygon* poCP); - - virtual OGRSurfaceCasterToPolygon GetCasterToPolygon() const; - virtual OGRSurfaceCasterToCurvePolygon GetCasterToCurvePolygon() const; - - public: - OGRCurvePolygon(); - OGRCurvePolygon(const OGRCurvePolygon&); - virtual ~OGRCurvePolygon(); - - OGRCurvePolygon& operator=(const OGRCurvePolygon& other); - - // Non standard (OGRGeometry). - virtual const char *getGeometryName() const; - virtual OGRwkbGeometryType getGeometryType() const; - virtual OGRGeometry *clone() const; - virtual void empty(); - virtual OGRErr transform( OGRCoordinateTransformation *poCT ); - virtual void flattenTo2D(); - virtual OGRBoolean IsEmpty() const; - virtual void segmentize(double dfMaxLength); - virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear = FALSE) const; - virtual OGRGeometry* getLinearGeometry(double dfMaxAngleStepSizeDegrees = 0, - const char* const* papszOptions = NULL) const; - - // ISurface Interface - virtual double get_Area() const; - virtual OGRErr PointOnSurface( OGRPoint * poPoint ) const; - - // IWks Interface - virtual int WkbSize() const; - virtual OGRErr importFromWkb( unsigned char *, int = -1, OGRwkbVariant=wkbVariantOldOgc ); - virtual OGRErr exportToWkb( OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc ) const; - virtual OGRErr importFromWkt( char ** ); - virtual OGRErr exportToWkt( char ** ppszDstText, OGRwkbVariant eWkbVariant = wkbVariantOldOgc ) const; - - // IGeometry - virtual int getDimension() const; - virtual void getEnvelope( OGREnvelope * psEnvelope ) const; - virtual void getEnvelope( OGREnvelope3D * psEnvelope ) const; - - // ICurvePolygon - virtual OGRPolygon* CurvePolyToPoly(double dfMaxAngleStepSizeDegrees = 0, - const char* const* papszOptions = NULL) const; - - // ISpatialRelation - virtual OGRBoolean Equals( OGRGeometry * ) const; - virtual OGRBoolean Intersects( const OGRGeometry * ) const; - virtual OGRBoolean Contains( const OGRGeometry * ) const; - - // Non standard - virtual void setCoordinateDimension( int nDimension ); - virtual void set3D( OGRBoolean bIs3D ); - virtual void setMeasured( OGRBoolean bIsMeasured ); - - OGRErr addRing( OGRCurve * ); - OGRErr addRingDirectly( OGRCurve * ); - - OGRCurve *getExteriorRingCurve(); - const OGRCurve *getExteriorRingCurve() const; - int getNumInteriorRings() const; - OGRCurve *getInteriorRingCurve( int ); - const OGRCurve *getInteriorRingCurve( int ) const; - - OGRCurve *stealExteriorRingCurve(); - - virtual void swapXY(); -}; - -/************************************************************************/ -/* OGRPolygon */ -/************************************************************************/ - -/** - * Concrete class representing polygons. - * - * Note that the OpenGIS simple features polygons consist of one outer - * ring (linearring), and zero or more inner rings. A polygon cannot represent disconnected - * regions (such as multiple islands in a political body). The - * OGRMultiPolygon must be used for this. - */ - -class CPL_DLL OGRPolygon : public OGRCurvePolygon -{ - protected: - friend class OGRMultiSurface; - - virtual int checkRing( OGRCurve * poNewRing ) const; - OGRErr importFromWKTListOnly( char ** ppszInput, int bHasZ, int bHasM, - OGRRawPoint*& paoPoints, int& nMaxPoints, - double*& padfZ ); - - static OGRCurvePolygon* CastToCurvePolygon(OGRPolygon* poPoly); - - virtual OGRSurfaceCasterToPolygon GetCasterToPolygon() const; - virtual OGRSurfaceCasterToCurvePolygon GetCasterToCurvePolygon() const; - - public: - OGRPolygon(); - OGRPolygon(const OGRPolygon& other); - virtual ~OGRPolygon(); - - OGRPolygon& operator=(const OGRPolygon& other); - - // Non standard (OGRGeometry). - virtual const char *getGeometryName() const; - virtual OGRwkbGeometryType getGeometryType() const; - virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear = FALSE) const; - virtual OGRGeometry* getCurveGeometry(const char* const* papszOptions = NULL) const; - virtual OGRGeometry* getLinearGeometry(double dfMaxAngleStepSizeDegrees = 0, - const char* const* papszOptions = NULL) const; - - // ISurface Interface - virtual OGRErr PointOnSurface( OGRPoint * poPoint ) const; - - // IWks Interface - virtual int WkbSize() const; - virtual OGRErr importFromWkb( unsigned char *, int = -1, OGRwkbVariant=wkbVariantOldOgc ); - virtual OGRErr exportToWkb( OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc ) const; - virtual OGRErr importFromWkt( char ** ); - virtual OGRErr exportToWkt( char ** ppszDstText, OGRwkbVariant=wkbVariantOldOgc ) const; - - // ICurvePolygon - virtual OGRPolygon* CurvePolyToPoly(double dfMaxAngleStepSizeDegrees = 0, - const char* const* papszOptions = NULL) const; - - OGRLinearRing *getExteriorRing(); - const OGRLinearRing *getExteriorRing() const; - OGRLinearRing *getInteriorRing( int ); - const OGRLinearRing *getInteriorRing( int ) const; - - OGRLinearRing *stealExteriorRing(); - OGRLinearRing *stealInteriorRing(int); - - OGRBoolean IsPointOnSurface( const OGRPoint * ) const; - - virtual void closeRings(); -}; - -/************************************************************************/ -/* OGRGeometryCollection */ -/************************************************************************/ - -/** - * A collection of 1 or more geometry objects. - * - * All geometries must share a common spatial reference system, and - * Subclasses may impose additional restrictions on the contents. - */ - -class CPL_DLL OGRGeometryCollection : public OGRGeometry -{ - OGRErr importFromWkbInternal( unsigned char * pabyData, int nSize, int nRecLevel, - OGRwkbVariant ); - OGRErr importFromWktInternal( char **ppszInput, int nRecLevel ); - - protected: - int nGeomCount; - OGRGeometry **papoGeoms; - - OGRErr exportToWktInternal( char ** ppszDstText, - OGRwkbVariant eWkbVariant, - const char* pszSkipPrefix ) const; - virtual OGRBoolean isCompatibleSubType( OGRwkbGeometryType ) const; - - static OGRGeometryCollection* TransferMembersAndDestroy(OGRGeometryCollection* poSrc, - OGRGeometryCollection* poDst); - - public: - OGRGeometryCollection(); - OGRGeometryCollection(const OGRGeometryCollection& other); - virtual ~OGRGeometryCollection(); - - OGRGeometryCollection& operator=(const OGRGeometryCollection& other); - - // Non standard (OGRGeometry). - virtual const char *getGeometryName() const; - virtual OGRwkbGeometryType getGeometryType() const; - virtual OGRGeometry *clone() const; - virtual void empty(); - virtual OGRErr transform( OGRCoordinateTransformation *poCT ); - virtual void flattenTo2D(); - virtual OGRBoolean IsEmpty() const; - virtual void segmentize(double dfMaxLength); - virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear = FALSE) const; - virtual OGRGeometry* getCurveGeometry(const char* const* papszOptions = NULL) const; - virtual OGRGeometry* getLinearGeometry(double dfMaxAngleStepSizeDegrees = 0, const char* const* papszOptions = NULL) const; - - // IWks Interface - virtual int WkbSize() const; - virtual OGRErr importFromWkb( unsigned char *, int = -1, OGRwkbVariant=wkbVariantOldOgc ); - virtual OGRErr exportToWkb( OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc ) const; - virtual OGRErr importFromWkt( char ** ); - virtual OGRErr exportToWkt( char ** ppszDstText, OGRwkbVariant=wkbVariantOldOgc ) const; - - virtual double get_Length() const; - virtual double get_Area() const; - - // IGeometry methods - virtual int getDimension() const; - virtual void getEnvelope( OGREnvelope * psEnvelope ) const; - virtual void getEnvelope( OGREnvelope3D * psEnvelope ) const; - - // IGeometryCollection - int getNumGeometries() const; - OGRGeometry *getGeometryRef( int ); - const OGRGeometry *getGeometryRef( int ) const; - - // ISpatialRelation - virtual OGRBoolean Equals( OGRGeometry * ) const; - - // Non standard - virtual void setCoordinateDimension( int nDimension ); - virtual void set3D( OGRBoolean bIs3D ); - virtual void setMeasured( OGRBoolean bIsMeasured ); - virtual OGRErr addGeometry( const OGRGeometry * ); - virtual OGRErr addGeometryDirectly( OGRGeometry * ); - virtual OGRErr removeGeometry( int iIndex, int bDelete = TRUE ); - - void closeRings(); - - virtual void swapXY(); -}; - -/************************************************************************/ -/* OGRMultiSurface */ -/************************************************************************/ - -/** - * A collection of non-overlapping OGRSurface. - * - * @since GDAL 2.0 - */ - -class CPL_DLL OGRMultiSurface : public OGRGeometryCollection -{ - protected: - virtual OGRBoolean isCompatibleSubType( OGRwkbGeometryType ) const; - - public: - OGRMultiSurface(); - OGRMultiSurface(const OGRMultiSurface& other); - virtual ~OGRMultiSurface(); - - OGRMultiSurface& operator=(const OGRMultiSurface& other); - - // Non standard (OGRGeometry). - virtual const char *getGeometryName() const; - virtual OGRwkbGeometryType getGeometryType() const; - virtual OGRErr importFromWkt( char ** ); - virtual OGRErr exportToWkt( char **, OGRwkbVariant=wkbVariantOldOgc ) const; - - // IMultiSurface methods - virtual OGRErr PointOnSurface( OGRPoint * poPoint ) const; - - // IGeometry methods - virtual int getDimension() const; - - // Non standard - virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear = FALSE) const; - - static OGRMultiPolygon* CastToMultiPolygon(OGRMultiSurface* poMS); -}; - -/************************************************************************/ -/* OGRMultiPolygon */ -/************************************************************************/ - -/** - * A collection of non-overlapping OGRPolygon. - */ - -class CPL_DLL OGRMultiPolygon : public OGRMultiSurface -{ - protected: - virtual OGRBoolean isCompatibleSubType( OGRwkbGeometryType ) const; - - public: - OGRMultiPolygon(); - OGRMultiPolygon(const OGRMultiPolygon& other); - virtual ~OGRMultiPolygon(); - - OGRMultiPolygon& operator=(const OGRMultiPolygon& other); - - // Non standard (OGRGeometry). - virtual const char *getGeometryName() const; - virtual OGRwkbGeometryType getGeometryType() const; - virtual OGRErr exportToWkt( char **, OGRwkbVariant=wkbVariantOldOgc ) const; - - // IMultiSurface methods - virtual OGRErr PointOnSurface( OGRPoint * poPoint ) const; - - // Non standard - virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear = FALSE) const; - - static OGRMultiSurface* CastToMultiSurface(OGRMultiPolygon* poMP); -}; - -/************************************************************************/ -/* OGRMultiPoint */ -/************************************************************************/ - -/** - * A collection of OGRPoint. - */ - -class CPL_DLL OGRMultiPoint : public OGRGeometryCollection -{ - private: - OGRErr importFromWkt_Bracketed( char **, int bHasM, int bHasZ ); - - protected: - virtual OGRBoolean isCompatibleSubType( OGRwkbGeometryType ) const; - - public: - OGRMultiPoint(); - OGRMultiPoint(const OGRMultiPoint& other); - virtual ~OGRMultiPoint(); - - OGRMultiPoint& operator=(const OGRMultiPoint& other); - - // Non standard (OGRGeometry). - virtual const char *getGeometryName() const; - virtual OGRwkbGeometryType getGeometryType() const; - virtual OGRErr importFromWkt( char ** ); - virtual OGRErr exportToWkt( char **, OGRwkbVariant=wkbVariantOldOgc ) const; - - // IGeometry methods - virtual int getDimension() const; - - // Non standard - virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear = FALSE) const; -}; - -/************************************************************************/ -/* OGRMultiCurve */ -/************************************************************************/ - -/** - * A collection of OGRCurve. - * - * @since GDAL 2.0 - */ - -class CPL_DLL OGRMultiCurve : public OGRGeometryCollection -{ - protected: - static OGRErr addCurveDirectlyFromWkt( OGRGeometry* poSelf, OGRCurve* poCurve ); - virtual OGRBoolean isCompatibleSubType( OGRwkbGeometryType ) const; - - public: - OGRMultiCurve(); - OGRMultiCurve(const OGRMultiCurve& other); - virtual ~OGRMultiCurve(); - - OGRMultiCurve& operator=(const OGRMultiCurve& other); - - // Non standard (OGRGeometry). - virtual const char *getGeometryName() const; - virtual OGRwkbGeometryType getGeometryType() const; - virtual OGRErr importFromWkt( char ** ); - virtual OGRErr exportToWkt( char **, OGRwkbVariant=wkbVariantOldOgc ) const; - - // IGeometry methods - virtual int getDimension() const; - - // Non standard - virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear = FALSE) const; - - static OGRMultiLineString* CastToMultiLineString(OGRMultiCurve* poMC); -}; - -/************************************************************************/ -/* OGRMultiLineString */ -/************************************************************************/ - -/** - * A collection of OGRLineString. - */ - -class CPL_DLL OGRMultiLineString : public OGRMultiCurve -{ - protected: - virtual OGRBoolean isCompatibleSubType( OGRwkbGeometryType ) const; - - public: - OGRMultiLineString(); - OGRMultiLineString(const OGRMultiLineString& other); - virtual ~OGRMultiLineString(); - - OGRMultiLineString& operator=(const OGRMultiLineString& other); - - // Non standard (OGRGeometry). - virtual const char *getGeometryName() const; - virtual OGRwkbGeometryType getGeometryType() const; - virtual OGRErr exportToWkt( char **, OGRwkbVariant=wkbVariantOldOgc ) const; - - // Non standard - virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear = FALSE) const; - - static OGRMultiCurve* CastToMultiCurve(OGRMultiLineString* poMLS); -}; - - -/************************************************************************/ -/* OGRGeometryFactory */ -/************************************************************************/ - -/** - * Create geometry objects from well known text/binary. - */ - -class CPL_DLL OGRGeometryFactory -{ - static OGRErr createFromFgfInternal( unsigned char *pabyData, - OGRSpatialReference * poSR, - OGRGeometry **ppoReturn, - int nBytes, - int *pnBytesConsumed, - int nRecLevel ); - public: - static OGRErr createFromWkb( unsigned char *, OGRSpatialReference *, - OGRGeometry **, int = -1, OGRwkbVariant=wkbVariantOldOgc ); - static OGRErr createFromWkt( char **, OGRSpatialReference *, - OGRGeometry ** ); - static OGRErr createFromFgf( unsigned char *, OGRSpatialReference *, - OGRGeometry **, int = -1, int * = NULL ); - static OGRGeometry *createFromGML( const char * ); - static OGRGeometry *createFromGEOS( GEOSContextHandle_t hGEOSCtxt, GEOSGeom ); - - static void destroyGeometry( OGRGeometry * ); - static OGRGeometry *createGeometry( OGRwkbGeometryType ); - - static OGRGeometry * forceToPolygon( OGRGeometry * ); - static OGRGeometry * forceToLineString( OGRGeometry *, bool bOnlyInOrder = true ); - static OGRGeometry * forceToMultiPolygon( OGRGeometry * ); - static OGRGeometry * forceToMultiPoint( OGRGeometry * ); - static OGRGeometry * forceToMultiLineString( OGRGeometry * ); - - static OGRGeometry * forceTo( OGRGeometry* poGeom, - OGRwkbGeometryType eTargetType, - const char*const* papszOptions = NULL ); - - static OGRGeometry * organizePolygons( OGRGeometry **papoPolygons, - int nPolygonCount, - int *pbResultValidGeometry, - const char **papszOptions = NULL); - static int haveGEOS(); - - static OGRGeometry* transformWithOptions( const OGRGeometry* poSrcGeom, - OGRCoordinateTransformation *poCT, - char** papszOptions ); - - static OGRGeometry* - approximateArcAngles( double dfX, double dfY, double dfZ, - double dfPrimaryRadius, double dfSecondaryAxis, - double dfRotation, - double dfStartAngle, double dfEndAngle, - double dfMaxAngleStepSizeDegrees ); - - static int GetCurveParmeters(double x0, double y0, - double x1, double y1, - double x2, double y2, - double& R, double& cx, double& cy, - double& alpha0, double& alpha1, double& alpha2 ); - static OGRLineString* curveToLineString( double x0, double y0, double z0, - double x1, double y1, double z1, - double x2, double y2, double z2, - int bHasZ, - double dfMaxAngleStepSizeDegrees, - const char*const* papszOptions = NULL ); - static OGRCurve* curveFromLineString(const OGRLineString* poLS, - const char*const* papszOptions = NULL); -}; - -OGRwkbGeometryType CPL_DLL OGRFromOGCGeomType( const char *pszGeomType ); -const char CPL_DLL * OGRToOGCGeomType( OGRwkbGeometryType eGeomType ); - -/* Prepared geometry API (needs GEOS >= 3.1.0) */ -typedef struct _OGRPreparedGeometry OGRPreparedGeometry; -int OGRHasPreparedGeometrySupport(); -OGRPreparedGeometry* OGRCreatePreparedGeometry( const OGRGeometry* poGeom ); -void OGRDestroyPreparedGeometry( OGRPreparedGeometry* poPreparedGeom ); -int OGRPreparedGeometryIntersects( const OGRPreparedGeometry* poPreparedGeom, - const OGRGeometry* poOtherGeom ); -int OGRPreparedGeometryContains( const OGRPreparedGeometry* poPreparedGeom, - const OGRGeometry* poOtherGeom ); - -#endif /* ndef OGR_GEOMETRY_H_INCLUDED */ diff --git a/src/gdal/ogr_geos.h b/src/gdal/ogr_geos.h deleted file mode 100644 index 19e75e48..00000000 --- a/src/gdal/ogr_geos.h +++ /dev/null @@ -1,49 +0,0 @@ -/****************************************************************************** - * $Id: ogr_geos.h 33631 2016-03-04 06:28:09Z goatbar $ - * - * Project: OpenGIS Simple Features Reference Implementation - * Purpose: Definitions related to support for use of GEOS in OGR. - * This file is only intended to be pulled in by OGR implementation - * code directly accessing GEOS. - * Author: Frank Warmerdam - * - ****************************************************************************** - * Copyright (c) 2004, Frank Warmerdam - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OGR_GEOS_H_INCLUDED -#define OGR_GEOS_H_INCLUDED - -#ifdef HAVE_GEOS -// To avoid accidental use of non reentrant GEOS API. -// (check only effective in GEOS >= 3.5) -# define GEOS_USE_ONLY_R_API - -# include -#else - -namespace geos { - class Geometry; -}; - -#endif - -#endif /* ndef OGR_GEOS_H_INCLUDED */ diff --git a/src/gdal/ogr_p.h b/src/gdal/ogr_p.h deleted file mode 100644 index 359df8b6..00000000 --- a/src/gdal/ogr_p.h +++ /dev/null @@ -1,182 +0,0 @@ -/****************************************************************************** - * $Id: ogr_p.h 33631 2016-03-04 06:28:09Z goatbar $ - * - * Project: OpenGIS Simple Features Reference Implementation - * Purpose: Some private helper functions and stuff for OGR implementation. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 1999, Frank Warmerdam - * Copyright (c) 2008-2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OGR_P_H_INCLUDED -#define OGR_P_H_INCLUDED - -/* -------------------------------------------------------------------- */ -/* Include the common portability library ... lets us do lots */ -/* of stuff easily. */ -/* -------------------------------------------------------------------- */ - -#include "cpl_string.h" -#include "cpl_conv.h" -#include "cpl_minixml.h" - -#include "ogr_core.h" -#include "ogr_geometry.h" -#include "ogr_feature.h" - -/* A default name for the default geometry column, instead of '' */ -#define OGR_GEOMETRY_DEFAULT_NON_EMPTY_NAME "_ogr_geometry_" - -#ifdef CPL_MSB -# define OGR_SWAP(x) (x == wkbNDR) -#else -# define OGR_SWAP(x) (x == wkbXDR) -#endif - -/* PostGIS 1.X has non standard codes for the following geometry types */ -#define POSTGIS15_CURVEPOLYGON 13 /* instead of 10 */ -#define POSTGIS15_MULTICURVE 14 /* instead of 11 */ -#define POSTGIS15_MULTISURFACE 15 /* instead of 12 */ - -/* Has been deprecated. Can only be used in very specific circumstances */ -#ifdef GDAL_COMPILATION -#define wkb25DBitInternalUse 0x80000000 -#endif - -/* -------------------------------------------------------------------- */ -/* helper function for parsing well known text format vector objects.*/ -/* -------------------------------------------------------------------- */ - -#ifdef OGR_GEOMETRY_H_INCLUDED -#define OGR_WKT_TOKEN_MAX 64 - -const char CPL_DLL * OGRWktReadToken( const char * pszInput, char * pszToken ); - -const char CPL_DLL * OGRWktReadPoints( const char * pszInput, - OGRRawPoint **ppaoPoints, - double **ppadfZ, - int * pnMaxPoints, - int * pnReadPoints ); - -const char CPL_DLL * OGRWktReadPointsM( const char * pszInput, - OGRRawPoint **ppaoPoints, - double **ppadfZ, - double **ppadfM, - int * flags, /* geometry flags, are we expecting Z, M, or both; may change due to input */ - int * pnMaxPoints, - int * pnReadPoints ); - -void CPL_DLL OGRMakeWktCoordinate( char *, double, double, double, int ); -void CPL_DLL OGRMakeWktCoordinateM( char *, double, double, double, double, OGRBoolean, OGRBoolean ); - -#endif - -void OGRFormatDouble( char *pszBuffer, int nBufferLen, double dfVal, - char chDecimalSep, int nPrecision = 15, char chConversionSpecifier = 'f' ); - -/* -------------------------------------------------------------------- */ -/* Date-time parsing and processing functions */ -/* -------------------------------------------------------------------- */ - -/* Internal use by OGR drivers only, CPL_DLL is just there in case */ -/* they are compiled as plugins */ -int CPL_DLL OGRGetDayOfWeek(int day, int month, int year); -int CPL_DLL OGRParseXMLDateTime( const char* pszXMLDateTime, - OGRField* psField ); -int CPL_DLL OGRParseRFC822DateTime( const char* pszRFC822DateTime, - OGRField* psField ); -char CPL_DLL * OGRGetRFC822DateTime(const OGRField* psField); -char CPL_DLL * OGRGetXMLDateTime(const OGRField* psField); -char CPL_DLL * OGRGetXML_UTF8_EscapedString(const char* pszString); - -int OGRCompareDate( OGRField *psFirstTuple, - OGRField *psSecondTuple ); /* used by ogr_gensql.cpp and ogrfeaturequery.cpp */ - -/* General utility option processing. */ -int CPL_DLL OGRGeneralCmdLineProcessor( int nArgc, char ***ppapszArgv, int nOptions ); - -/************************************************************************/ -/* Support for special attributes (feature query and selection) */ -/************************************************************************/ -#define SPF_FID 0 -#define SPF_OGR_GEOMETRY 1 -#define SPF_OGR_STYLE 2 -#define SPF_OGR_GEOM_WKT 3 -#define SPF_OGR_GEOM_AREA 4 -#define SPECIAL_FIELD_COUNT 5 - -extern const char* const SpecialFieldNames[SPECIAL_FIELD_COUNT]; - -#ifdef SWQ_H_INCLUDED_ -extern const swq_field_type SpecialFieldTypes[SPECIAL_FIELD_COUNT]; -#endif - -/************************************************************************/ -/* Some SRS related stuff, search in SRS data files. */ -/************************************************************************/ - -OGRErr CPL_DLL OSRGetEllipsoidInfo( int, char **, double *, double *); - -/* Fast atof function */ -double OGRFastAtof(const char* pszStr); - -OGRErr CPL_DLL OGRCheckPermutation(int* panPermutation, int nSize); - -/* GML related */ - -OGRGeometry *GML2OGRGeometry_XMLNode( const CPLXMLNode *psNode, - int nPseudoBoolGetSecondaryGeometryOption, - int nRecLevel = 0, - int nSRSDimension = 0, - bool bIgnoreGSG = false, - bool bOrientation = true, - bool bFaceHoleNegative = false); - -/************************************************************************/ -/* PostGIS EWKB encoding */ -/************************************************************************/ - -OGRGeometry CPL_DLL *OGRGeometryFromEWKB( GByte *pabyWKB, int nLength, int* pnSRID, - int bIsPostGIS1_EWKB ); -OGRGeometry CPL_DLL *OGRGeometryFromHexEWKB( const char *pszBytea, int* pnSRID, - int bIsPostGIS1_EWKB ); -char CPL_DLL * OGRGeometryToHexEWKB( OGRGeometry * poGeometry, int nSRSId, - int nPostGISMajor, int nPostGISMinor ); - -/************************************************************************/ -/* WKB Type Handling encoding */ -/************************************************************************/ - -OGRErr OGRReadWKBGeometryType( unsigned char * pabyData, - OGRwkbVariant wkbVariant, - OGRwkbGeometryType *eGeometryType ); - -/************************************************************************/ -/* Other */ -/************************************************************************/ - -void CPL_DLL OGRUpdateFieldType( OGRFieldDefn* poFDefn, - OGRFieldType eNewType, - OGRFieldSubType eNewSubType ); - -#endif /* ndef OGR_P_H_INCLUDED */ diff --git a/src/gdal/ogr_spatialref.h b/src/gdal/ogr_spatialref.h deleted file mode 100644 index f12ff22f..00000000 --- a/src/gdal/ogr_spatialref.h +++ /dev/null @@ -1,636 +0,0 @@ -/****************************************************************************** - * $Id: ogr_spatialref.h 33631 2016-03-04 06:28:09Z goatbar $ - * - * Project: OpenGIS Simple Features Reference Implementation - * Purpose: Classes for manipulating spatial reference systems in a - * platform non-specific manner. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 1999, Les Technologies SoftMap Inc. - * Copyright (c) 2008-2013, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OGR_SPATIALREF_H_INCLUDED -#define OGR_SPATIALREF_H_INCLUDED - -#include "ogr_srs_api.h" - -/** - * \file ogr_spatialref.h - * - * Coordinate systems services. - */ - -/************************************************************************/ -/* OGR_SRSNode */ -/************************************************************************/ - -/** - * Objects of this class are used to represent value nodes in the parsed - * representation of the WKT SRS format. For instance UNIT["METER",1] - * would be rendered into three OGR_SRSNodes. The root node would have a - * value of UNIT, and two children, the first with a value of METER, and the - * second with a value of 1. - * - * Normally application code just interacts with the OGRSpatialReference - * object, which uses the OGR_SRSNode to implement it's data structure; - * however, this class is user accessible for detailed access to components - * of an SRS definition. - */ - -class CPL_DLL OGR_SRSNode -{ - char *pszValue; - - OGR_SRSNode **papoChildNodes; - OGR_SRSNode *poParent; - - int nChildren; - - int NeedsQuoting() const; - OGRErr importFromWkt( char **, int nRecLevel, int* pnNodes ); - - public: - OGR_SRSNode(const char * = NULL); - ~OGR_SRSNode(); - - int IsLeafNode() const { return nChildren == 0; } - - int GetChildCount() const { return nChildren; } - OGR_SRSNode *GetChild( int ); - const OGR_SRSNode *GetChild( int ) const; - - OGR_SRSNode *GetNode( const char * ); - const OGR_SRSNode *GetNode( const char * ) const; - - void InsertChild( OGR_SRSNode *, int ); - void AddChild( OGR_SRSNode * ); - int FindChild( const char * ) const; - void DestroyChild( int ); - void ClearChildren(); - void StripNodes( const char * ); - - const char *GetValue() const { return pszValue; } - void SetValue( const char * ); - - void MakeValueSafe(); - OGRErr FixupOrdering(); - - OGR_SRSNode *Clone() const; - - OGRErr importFromWkt( char ** ); - OGRErr exportToWkt( char ** ) const; - OGRErr exportToPrettyWkt( char **, int = 1) const; - - OGRErr applyRemapper( const char *pszNode, - char **papszSrcValues, - char **papszDstValues, - int nStepSize = 1, - int bChildOfHit = FALSE ); -}; - -/************************************************************************/ -/* OGRSpatialReference */ -/************************************************************************/ - -/** - * This class represents an OpenGIS Spatial Reference System, and contains - * methods for converting between this object organization and well known - * text (WKT) format. This object is reference counted as one instance of - * the object is normally shared between many OGRGeometry objects. - * - * Normally application code can fetch needed parameter values for this - * SRS using GetAttrValue(), but in special cases the underlying parse tree - * (or OGR_SRSNode objects) can be accessed more directly. - * - * See the tutorial for more information on - * how to use this class. - */ - -class CPL_DLL OGRSpatialReference -{ - double dfFromGreenwich; - double dfToMeter; - double dfToDegrees; - - OGR_SRSNode *poRoot; - - int nRefCount; - int bNormInfoSet; - - static OGRErr Validate(OGR_SRSNode *poRoot); - static OGRErr ValidateAuthority(OGR_SRSNode *poRoot); - static OGRErr ValidateAxis(OGR_SRSNode *poRoot); - static OGRErr ValidateUnit(OGR_SRSNode *poRoot); - static OGRErr ValidateVertDatum(OGR_SRSNode *poRoot); - static OGRErr ValidateProjection( OGR_SRSNode* poRoot ); - static int IsAliasFor( const char *, const char * ); - void GetNormInfo() const; - - OGRErr importFromURNPart(const char* pszAuthority, - const char* pszCode, - const char* pszURN); - public: - OGRSpatialReference(const OGRSpatialReference&); - OGRSpatialReference(const char * = NULL); - - virtual ~OGRSpatialReference(); - - static void DestroySpatialReference(OGRSpatialReference* poSRS); - - OGRSpatialReference &operator=(const OGRSpatialReference&); - - int Reference(); - int Dereference(); - int GetReferenceCount() const { return nRefCount; } - void Release(); - - OGRSpatialReference *Clone() const; - OGRSpatialReference *CloneGeogCS() const; - - void dumpReadable(); - OGRErr exportToWkt( char ** ) const; - OGRErr exportToPrettyWkt( char **, int = FALSE) const; - OGRErr exportToProj4( char ** ) const; - OGRErr exportToPCI( char **, char **, double ** ) const; - OGRErr exportToUSGS( long *, long *, double **, long * ) const; - OGRErr exportToXML( char **, const char * = NULL ) const; - OGRErr exportToPanorama( long *, long *, long *, long *, - double * ) const; - OGRErr exportToERM( char *pszProj, char *pszDatum, char *pszUnits ); - OGRErr exportToMICoordSys( char ** ) const; - - OGRErr importFromWkt( char ** ); - OGRErr importFromProj4( const char * ); - OGRErr importFromEPSG( int ); - OGRErr importFromEPSGA( int ); - OGRErr importFromESRI( char ** ); - OGRErr importFromPCI( const char *, const char * = NULL, - double * = NULL ); -#define USGS_ANGLE_DECIMALDEGREES 0 -#define USGS_ANGLE_PACKEDDMS TRUE /* 1 */ -#define USGS_ANGLE_RADIANS 2 - OGRErr importFromUSGS( long iProjSys, long iZone, - double *padfPrjParams, long iDatum, - int nUSGSAngleFormat = USGS_ANGLE_PACKEDDMS ); - OGRErr importFromPanorama( long, long, long, double* ); - OGRErr importFromOzi( const char * const* papszLines ); - OGRErr importFromWMSAUTO( const char *pszAutoDef ); - OGRErr importFromXML( const char * ); - OGRErr importFromDict( const char *pszDict, const char *pszCode ); - OGRErr importFromURN( const char * ); - OGRErr importFromCRSURL( const char * ); - OGRErr importFromERM( const char *pszProj, const char *pszDatum, - const char *pszUnits ); - OGRErr importFromUrl( const char * ); - OGRErr importFromMICoordSys( const char * ); - - OGRErr morphToESRI(); - OGRErr morphFromESRI(); - - OGRErr Validate(); - OGRErr StripCTParms( OGR_SRSNode * = NULL ); - OGRErr StripVertical(); - OGRErr FixupOrdering(); - OGRErr Fixup(); - - int EPSGTreatsAsLatLong(); - int EPSGTreatsAsNorthingEasting(); - const char *GetAxis( const char *pszTargetKey, int iAxis, - OGRAxisOrientation *peOrientation ) const; - OGRErr SetAxes( const char *pszTargetKey, - const char *pszXAxisName, - OGRAxisOrientation eXAxisOrientation, - const char *pszYAxisName, - OGRAxisOrientation eYAxisOrientation ); - - // Machinery for accessing parse nodes - OGR_SRSNode *GetRoot() { return poRoot; } - const OGR_SRSNode *GetRoot() const { return poRoot; } - void SetRoot( OGR_SRSNode * ); - - OGR_SRSNode *GetAttrNode(const char *); - const OGR_SRSNode *GetAttrNode(const char *) const; - const char *GetAttrValue(const char *, int = 0) const; - - OGRErr SetNode( const char *, const char * ); - OGRErr SetNode( const char *, double ); - - OGRErr SetLinearUnitsAndUpdateParameters( const char *pszName, - double dfInMeters ); - OGRErr SetLinearUnits( const char *pszName, double dfInMeters ); - OGRErr SetTargetLinearUnits( const char *pszTargetKey, - const char *pszName, double dfInMeters ); - double GetLinearUnits( char ** = NULL ) const; - double GetTargetLinearUnits( const char *pszTargetKey, - char ** ppszRetName = NULL ) const; - - OGRErr SetAngularUnits( const char *pszName, double dfInRadians ); - double GetAngularUnits( char ** = NULL ) const; - - double GetPrimeMeridian( char ** = NULL ) const; - - int IsGeographic() const; - int IsProjected() const; - int IsGeocentric() const; - int IsLocal() const; - int IsVertical() const; - int IsCompound() const; - int IsSameGeogCS( const OGRSpatialReference * ) const; - int IsSameVertCS( const OGRSpatialReference * ) const; - int IsSame( const OGRSpatialReference * ) const; - - void Clear(); - OGRErr SetLocalCS( const char * ); - OGRErr SetProjCS( const char * ); - OGRErr SetProjection( const char * ); - OGRErr SetGeocCS( const char * pszGeocName ); - OGRErr SetGeogCS( const char * pszGeogName, - const char * pszDatumName, - const char * pszEllipsoidName, - double dfSemiMajor, double dfInvFlattening, - const char * pszPMName = NULL, - double dfPMOffset = 0.0, - const char * pszUnits = NULL, - double dfConvertToRadians = 0.0 ); - OGRErr SetWellKnownGeogCS( const char * ); - OGRErr CopyGeogCSFrom( const OGRSpatialReference * poSrcSRS ); - OGRErr SetVertCS( const char *pszVertCSName, - const char *pszVertDatumName, - int nVertDatumClass = 2005 ); - OGRErr SetCompoundCS( const char *pszName, - const OGRSpatialReference *poHorizSRS, - const OGRSpatialReference *poVertSRS ); - - OGRErr SetFromUserInput( const char * ); - - OGRErr SetTOWGS84( double, double, double, - double = 0.0, double = 0.0, double = 0.0, - double = 0.0 ); - OGRErr GetTOWGS84( double *padfCoef, int nCoeff = 7 ) const; - - double GetSemiMajor( OGRErr * = NULL ) const; - double GetSemiMinor( OGRErr * = NULL ) const; - double GetInvFlattening( OGRErr * = NULL ) const; - - OGRErr SetAuthority( const char * pszTargetKey, - const char * pszAuthority, - int nCode ); - - OGRErr AutoIdentifyEPSG(); - int GetEPSGGeogCS(); - - const char *GetAuthorityCode( const char * pszTargetKey ) const; - const char *GetAuthorityName( const char * pszTargetKey ) const; - - const char *GetExtension( const char *pszTargetKey, - const char *pszName, - const char *pszDefault = NULL ) const; - OGRErr SetExtension( const char *pszTargetKey, - const char *pszName, - const char *pszValue ); - - int FindProjParm( const char *pszParameter, - const OGR_SRSNode *poPROJCS=NULL ) const; - OGRErr SetProjParm( const char *, double ); - double GetProjParm( const char *, double =0.0, OGRErr* = NULL ) const; - - OGRErr SetNormProjParm( const char *, double ); - double GetNormProjParm( const char *, double=0.0, OGRErr* =NULL)const; - - static int IsAngularParameter( const char * ); - static int IsLongitudeParameter( const char * ); - static int IsLinearParameter( const char * ); - - /** Albers Conic Equal Area */ - OGRErr SetACEA( double dfStdP1, double dfStdP2, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - - /** Azimuthal Equidistant */ - OGRErr SetAE( double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - - /** Bonne */ - OGRErr SetBonne( double dfStdP1, double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - - /** Cylindrical Equal Area */ - OGRErr SetCEA( double dfStdP1, double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - - /** Cassini-Soldner */ - OGRErr SetCS( double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - - /** Equidistant Conic */ - OGRErr SetEC( double dfStdP1, double dfStdP2, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - - /** Eckert I-VI */ - OGRErr SetEckert( int nVariation, double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - - OGRErr SetEckertIV( double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - - OGRErr SetEckertVI( double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - - /** Equirectangular */ - OGRErr SetEquirectangular(double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - /** Equirectangular generalized form : */ - OGRErr SetEquirectangular2( double dfCenterLat, double dfCenterLong, - double dfPseudoStdParallel1, - double dfFalseEasting, double dfFalseNorthing ); - - /** Geostationary Satellite */ - OGRErr SetGEOS( double dfCentralMeridian, double dfSatelliteHeight, - double dfFalseEasting, double dfFalseNorthing ); - - /** Goode Homolosine */ - OGRErr SetGH( double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - - /** Interrupted Goode Homolosine */ - OGRErr SetIGH(); - - /** Gall Stereograpic */ - OGRErr SetGS( double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - - /** Gauss Schreiber Transverse Mercator */ - OGRErr SetGaussSchreiberTMercator(double dfCenterLat, double dfCenterLong, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - - /** Gnomonic */ - OGRErr SetGnomonic(double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - - /** Hotine Oblique Mercator */ - OGRErr SetHOM( double dfCenterLat, double dfCenterLong, - double dfAzimuth, double dfRectToSkew, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - - OGRErr SetHOM2PNO( double dfCenterLat, - double dfLat1, double dfLong1, - double dfLat2, double dfLong2, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - - OGRErr SetOM( double dfCenterLat, double dfCenterLong, - double dfAzimuth, double dfRectToSkew, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - - /** Hotine Oblique Mercator Azimuth Center / Variant B */ - OGRErr SetHOMAC( double dfCenterLat, double dfCenterLong, - double dfAzimuth, double dfRectToSkew, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - - /** International Map of the World Polyconic */ - OGRErr SetIWMPolyconic( double dfLat1, double dfLat2, - double dfCenterLong, - double dfFalseEasting, - double dfFalseNorthing ); - - /** Krovak Oblique Conic Conformal */ - OGRErr SetKrovak( double dfCenterLat, double dfCenterLong, - double dfAzimuth, double dfPseudoStdParallelLat, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - - /** Lambert Azimuthal Equal-Area */ - OGRErr SetLAEA( double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - - /** Lambert Conformal Conic */ - OGRErr SetLCC( double dfStdP1, double dfStdP2, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - - /** Lambert Conformal Conic 1SP */ - OGRErr SetLCC1SP( double dfCenterLat, double dfCenterLong, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - - /** Lambert Conformal Conic (Belgium) */ - OGRErr SetLCCB( double dfStdP1, double dfStdP2, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - - /** Miller Cylindrical */ - OGRErr SetMC( double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - - /** Mercator */ - OGRErr SetMercator( double dfCenterLat, double dfCenterLong, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - - OGRErr SetMercator2SP( double dfStdP1, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - - /** Mollweide */ - OGRErr SetMollweide( double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - - /** New Zealand Map Grid */ - OGRErr SetNZMG( double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - - /** Oblique Stereographic */ - OGRErr SetOS( double dfOriginLat, double dfCMeridian, - double dfScale, - double dfFalseEasting,double dfFalseNorthing); - - /** Orthographic */ - OGRErr SetOrthographic( double dfCenterLat, double dfCenterLong, - double dfFalseEasting,double dfFalseNorthing); - - /** Polyconic */ - OGRErr SetPolyconic( double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - - /** Polar Stereographic */ - OGRErr SetPS( double dfCenterLat, double dfCenterLong, - double dfScale, - double dfFalseEasting, double dfFalseNorthing); - - /** Robinson */ - OGRErr SetRobinson( double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - - /** Sinusoidal */ - OGRErr SetSinusoidal( double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - - /** Stereographic */ - OGRErr SetStereographic( double dfCenterLat, double dfCenterLong, - double dfScale, - double dfFalseEasting,double dfFalseNorthing); - - /** Swiss Oblique Cylindrical */ - OGRErr SetSOC( double dfLatitudeOfOrigin, double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - - /** Transverse Mercator */ - OGRErr SetTM( double dfCenterLat, double dfCenterLong, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - - /** Transverse Mercator variants. */ - OGRErr SetTMVariant( const char *pszVariantName, - double dfCenterLat, double dfCenterLong, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - - /** Tunesia Mining Grid */ - OGRErr SetTMG( double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - - /** Transverse Mercator (South Oriented) */ - OGRErr SetTMSO( double dfCenterLat, double dfCenterLong, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - - /** Two Point Equidistant */ - OGRErr SetTPED( double dfLat1, double dfLong1, - double dfLat2, double dfLong2, - double dfFalseEasting, double dfFalseNorthing ); - - /** VanDerGrinten */ - OGRErr SetVDG( double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - - /** Universal Transverse Mercator */ - OGRErr SetUTM( int nZone, int bNorth = TRUE ); - int GetUTMZone( int *pbNorth = NULL ) const; - - /** Wagner I -- VII */ - OGRErr SetWagner( int nVariation, double dfCenterLat, - double dfFalseEasting, double dfFalseNorthing ); - - /** Quadrilateralized Spherical Cube */ - OGRErr SetQSC(double dfCenterLat, double dfCenterLong); - - /** Spherical, Cross-track, Height */ - OGRErr SetSCH( double dfPegLat, double dfPegLong, - double dfPegHeading, double dfPegHgt); - /** State Plane */ - OGRErr SetStatePlane( int nZone, int bNAD83 = TRUE, - const char *pszOverrideUnitName = NULL, - double dfOverrideUnit = 0.0 ); - - OGRErr ImportFromESRIStatePlaneWKT( - int nCode, const char* pszDatumName, const char* pszUnitsName, - int nPCSCode, const char* pszCSName = NULL ); - OGRErr ImportFromESRIWisconsinWKT( - const char* pszPrjName, double dfCentralMeridian, double dfLatOfOrigin, - const char* pszUnitsName, const char* pszCSName = NULL ); - - static OGRSpatialReference* GetWGS84SRS(); -}; - -/************************************************************************/ -/* OGRCoordinateTransformation */ -/* */ -/* This is really just used as a base class for a private */ -/* implementation. */ -/************************************************************************/ - -/** - * Interface for transforming between coordinate systems. - * - * Currently, the only implementation within OGR is OGRProj4CT, which - * requires the PROJ.4 library to be available at run-time. - * - * Also, see OGRCreateCoordinateTransformation() for creating transformations. - */ - -class CPL_DLL OGRCoordinateTransformation -{ -public: - virtual ~OGRCoordinateTransformation() {} - - static void DestroyCT(OGRCoordinateTransformation* poCT); - - // From CT_CoordinateTransformation - - /** Fetch internal source coordinate system. */ - virtual OGRSpatialReference *GetSourceCS() = 0; - - /** Fetch internal target coordinate system. */ - virtual OGRSpatialReference *GetTargetCS() = 0; - - // From CT_MathTransform - - /** - * Transform points from source to destination space. - * - * This method is the same as the C function OCTTransform(). - * - * The method TransformEx() allows extended success information to - * be captured indicating which points failed to transform. - * - * @param nCount number of points to transform. - * @param x array of nCount X vertices, modified in place. - * @param y array of nCount Y vertices, modified in place. - * @param z array of nCount Z vertices, modified in place. - * @return TRUE on success, or FALSE if some or all points fail to - * transform. - */ - virtual int Transform( int nCount, - double *x, double *y, double *z = NULL ) = 0; - - /** - * Transform points from source to destination space. - * - * This method is the same as the C function OCTTransformEx(). - * - * @param nCount number of points to transform. - * @param x array of nCount X vertices, modified in place. - * @param y array of nCount Y vertices, modified in place. - * @param z array of nCount Z vertices, modified in place. - * @param pabSuccess array of per-point flags set to TRUE if that point - * transforms, or FALSE if it does not. - * - * @return TRUE if some or all points transform successfully, or FALSE if - * if none transform. - */ - virtual int TransformEx( int nCount, - double *x, double *y, double *z = NULL, - int *pabSuccess = NULL ) = 0; - -}; - -OGRCoordinateTransformation CPL_DLL * -OGRCreateCoordinateTransformation( OGRSpatialReference *poSource, - OGRSpatialReference *poTarget ); - -#endif /* ndef OGR_SPATIALREF_H_INCLUDED */ diff --git a/src/gdal/ogr_srs_api.h b/src/gdal/ogr_srs_api.h deleted file mode 100644 index ca961ecd..00000000 --- a/src/gdal/ogr_srs_api.h +++ /dev/null @@ -1,791 +0,0 @@ -/****************************************************************************** - * $Id: ogr_srs_api.h 33631 2016-03-04 06:28:09Z goatbar $ - * - * Project: OpenGIS Simple Features Reference Implementation - * Purpose: C API and constant declarations for OGR Spatial References. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 2000, Frank Warmerdam - * Copyright (c) 2008-2013, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OGR_SRS_API_H_INCLUDED -#define OGR_SRS_API_H_INCLUDED - -#ifndef SWIG -#include "ogr_core.h" - -CPL_C_START - -/** - * \file ogr_srs_api.h - * - * C spatial reference system services and defines. - * - * See also: ogr_spatialref.h - */ - -/* -------------------------------------------------------------------- */ -/* Axis orientations (corresponds to CS_AxisOrientationEnum). */ -/* -------------------------------------------------------------------- */ -typedef enum { - OAO_Other=0, - OAO_North=1, - OAO_South=2, - OAO_East=3, - OAO_West=4, - OAO_Up=5, - OAO_Down=6 -} OGRAxisOrientation; - -const char CPL_DLL *OSRAxisEnumToName( OGRAxisOrientation eOrientation ); - -/* -------------------------------------------------------------------- */ -/* Datum types (corresponds to CS_DatumType). */ -/* -------------------------------------------------------------------- */ - -typedef enum { - ODT_HD_Min=1000, - ODT_HD_Other=1000, - ODT_HD_Classic=1001, - ODT_HD_Geocentric=1002, - ODT_HD_Max=1999, - ODT_VD_Min=2000, - ODT_VD_Other=2000, - ODT_VD_Orthometric=2001, - ODT_VD_Ellipsoidal=2002, - ODT_VD_AltitudeBarometric=2003, - ODT_VD_Normal=2004, - ODT_VD_GeoidModelDerived=2005, - ODT_VD_Depth=2006, - ODT_VD_Max=2999, - ODT_LD_Min=10000, - ODT_LD_Max=32767 -} OGRDatumType; - -#endif // ndef SWIG - -/* ==================================================================== */ -/* Some standard WKT geographic coordinate systems. */ -/* ==================================================================== */ - -#define SRS_WKT_WGS84 "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]]" - -/* ==================================================================== */ -/* Some "standard" strings. */ -/* ==================================================================== */ - -#define SRS_PT_ALBERS_CONIC_EQUAL_AREA \ - "Albers_Conic_Equal_Area" -#define SRS_PT_AZIMUTHAL_EQUIDISTANT "Azimuthal_Equidistant" -#define SRS_PT_CASSINI_SOLDNER "Cassini_Soldner" -#define SRS_PT_CYLINDRICAL_EQUAL_AREA "Cylindrical_Equal_Area" -#define SRS_PT_BONNE "Bonne" -#define SRS_PT_ECKERT_I "Eckert_I" -#define SRS_PT_ECKERT_II "Eckert_II" -#define SRS_PT_ECKERT_III "Eckert_III" -#define SRS_PT_ECKERT_IV "Eckert_IV" -#define SRS_PT_ECKERT_V "Eckert_V" -#define SRS_PT_ECKERT_VI "Eckert_VI" -#define SRS_PT_EQUIDISTANT_CONIC \ - "Equidistant_Conic" -#define SRS_PT_EQUIRECTANGULAR "Equirectangular" -#define SRS_PT_GALL_STEREOGRAPHIC \ - "Gall_Stereographic" -#define SRS_PT_GAUSSSCHREIBERTMERCATOR \ - "Gauss_Schreiber_Transverse_Mercator" -#define SRS_PT_GEOSTATIONARY_SATELLITE \ - "Geostationary_Satellite" -#define SRS_PT_GOODE_HOMOLOSINE "Goode_Homolosine" -#define SRS_PT_IGH "Interrupted_Goode_Homolosine" -#define SRS_PT_GNOMONIC "Gnomonic" -#define SRS_PT_HOTINE_OBLIQUE_MERCATOR_AZIMUTH_CENTER \ - "Hotine_Oblique_Mercator_Azimuth_Center" -#define SRS_PT_HOTINE_OBLIQUE_MERCATOR \ - "Hotine_Oblique_Mercator" -#define SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN \ - "Hotine_Oblique_Mercator_Two_Point_Natural_Origin" -#define SRS_PT_LABORDE_OBLIQUE_MERCATOR \ - "Laborde_Oblique_Mercator" -#define SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP \ - "Lambert_Conformal_Conic_1SP" -#define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP \ - "Lambert_Conformal_Conic_2SP" -#define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM \ - "Lambert_Conformal_Conic_2SP_Belgium" -#define SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA \ - "Lambert_Azimuthal_Equal_Area" -#define SRS_PT_MERCATOR_1SP "Mercator_1SP" -#define SRS_PT_MERCATOR_2SP "Mercator_2SP" -// Mercator_Auxiliary_Sphere is used used by ESRI to mean EPSG:3875 -#define SRS_PT_MERCATOR_AUXILIARY_SPHERE \ - "Mercator_Auxiliary_Sphere" -#define SRS_PT_MILLER_CYLINDRICAL "Miller_Cylindrical" -#define SRS_PT_MOLLWEIDE "Mollweide" -#define SRS_PT_NEW_ZEALAND_MAP_GRID \ - "New_Zealand_Map_Grid" -#define SRS_PT_OBLIQUE_STEREOGRAPHIC \ - "Oblique_Stereographic" -#define SRS_PT_ORTHOGRAPHIC "Orthographic" -#define SRS_PT_POLAR_STEREOGRAPHIC \ - "Polar_Stereographic" -#define SRS_PT_POLYCONIC "Polyconic" -#define SRS_PT_ROBINSON "Robinson" -#define SRS_PT_SINUSOIDAL "Sinusoidal" -#define SRS_PT_STEREOGRAPHIC "Stereographic" -#define SRS_PT_SWISS_OBLIQUE_CYLINDRICAL \ - "Swiss_Oblique_Cylindrical" -#define SRS_PT_TRANSVERSE_MERCATOR \ - "Transverse_Mercator" -#define SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED \ - "Transverse_Mercator_South_Orientated" - -/* special mapinfo variants on Transverse Mercator */ -#define SRS_PT_TRANSVERSE_MERCATOR_MI_21 \ - "Transverse_Mercator_MapInfo_21" -#define SRS_PT_TRANSVERSE_MERCATOR_MI_22 \ - "Transverse_Mercator_MapInfo_22" -#define SRS_PT_TRANSVERSE_MERCATOR_MI_23 \ - "Transverse_Mercator_MapInfo_23" -#define SRS_PT_TRANSVERSE_MERCATOR_MI_24 \ - "Transverse_Mercator_MapInfo_24" -#define SRS_PT_TRANSVERSE_MERCATOR_MI_25 \ - "Transverse_Mercator_MapInfo_25" - -#define SRS_PT_TUNISIA_MINING_GRID \ - "Tunisia_Mining_Grid" -#define SRS_PT_TWO_POINT_EQUIDISTANT \ - "Two_Point_Equidistant" -#define SRS_PT_VANDERGRINTEN "VanDerGrinten" -#define SRS_PT_KROVAK "Krovak" -#define SRS_PT_IMW_POLYCONIC "International_Map_of_the_World_Polyconic" -#define SRS_PT_WAGNER_I "Wagner_I" -#define SRS_PT_WAGNER_II "Wagner_II" -#define SRS_PT_WAGNER_III "Wagner_III" -#define SRS_PT_WAGNER_IV "Wagner_IV" -#define SRS_PT_WAGNER_V "Wagner_V" -#define SRS_PT_WAGNER_VI "Wagner_VI" -#define SRS_PT_WAGNER_VII "Wagner_VII" -#define SRS_PT_QSC "Quadrilateralized_Spherical_Cube" -#define SRS_PT_AITOFF "Aitoff" -#define SRS_PT_WINKEL_I "Winkel_I" -#define SRS_PT_WINKEL_II "Winkel_II" -#define SRS_PT_WINKEL_TRIPEL "Winkel_Tripel" -#define SRS_PT_CRASTER_PARABOLIC "Craster_Parabolic" -#define SRS_PT_LOXIMUTHAL "Loximuthal" -#define SRS_PT_QUARTIC_AUTHALIC "Quartic_Authalic" -#define SRS_PT_SCH "Spherical_Cross_Track_Height" - -#define SRS_PP_CENTRAL_MERIDIAN "central_meridian" -#define SRS_PP_SCALE_FACTOR "scale_factor" -#define SRS_PP_STANDARD_PARALLEL_1 "standard_parallel_1" -#define SRS_PP_STANDARD_PARALLEL_2 "standard_parallel_2" -#define SRS_PP_PSEUDO_STD_PARALLEL_1 "pseudo_standard_parallel_1" -#define SRS_PP_LONGITUDE_OF_CENTER "longitude_of_center" -#define SRS_PP_LATITUDE_OF_CENTER "latitude_of_center" -#define SRS_PP_LONGITUDE_OF_ORIGIN "longitude_of_origin" -#define SRS_PP_LATITUDE_OF_ORIGIN "latitude_of_origin" -#define SRS_PP_FALSE_EASTING "false_easting" -#define SRS_PP_FALSE_NORTHING "false_northing" -#define SRS_PP_AZIMUTH "azimuth" -#define SRS_PP_LONGITUDE_OF_POINT_1 "longitude_of_point_1" -#define SRS_PP_LATITUDE_OF_POINT_1 "latitude_of_point_1" -#define SRS_PP_LONGITUDE_OF_POINT_2 "longitude_of_point_2" -#define SRS_PP_LATITUDE_OF_POINT_2 "latitude_of_point_2" -#define SRS_PP_LONGITUDE_OF_POINT_3 "longitude_of_point_3" -#define SRS_PP_LATITUDE_OF_POINT_3 "latitude_of_point_3" -#define SRS_PP_RECTIFIED_GRID_ANGLE "rectified_grid_angle" -#define SRS_PP_LANDSAT_NUMBER "landsat_number" -#define SRS_PP_PATH_NUMBER "path_number" -#define SRS_PP_PERSPECTIVE_POINT_HEIGHT "perspective_point_height" -#define SRS_PP_SATELLITE_HEIGHT "satellite_height" -#define SRS_PP_FIPSZONE "fipszone" -#define SRS_PP_ZONE "zone" -#define SRS_PP_LATITUDE_OF_1ST_POINT "Latitude_Of_1st_Point" -#define SRS_PP_LONGITUDE_OF_1ST_POINT "Longitude_Of_1st_Point" -#define SRS_PP_LATITUDE_OF_2ND_POINT "Latitude_Of_2nd_Point" -#define SRS_PP_LONGITUDE_OF_2ND_POINT "Longitude_Of_2nd_Point" -#define SRS_PP_PEG_POINT_LATITUDE "peg_point_latitude" -#define SRS_PP_PEG_POINT_LONGITUDE "peg_point_longitude" -#define SRS_PP_PEG_POINT_HEADING "peg_point_heading" -#define SRS_PP_PEG_POINT_HEIGHT "peg_point_height" - -#define SRS_UL_METER "Meter" -#define SRS_UL_FOOT "Foot (International)" /* or just "FOOT"? */ -#define SRS_UL_FOOT_CONV "0.3048" -#define SRS_UL_US_FOOT "Foot_US" /* or "US survey foot" from EPSG */ -#define SRS_UL_US_FOOT_CONV "0.3048006096012192" -#define SRS_UL_NAUTICAL_MILE "Nautical Mile" -#define SRS_UL_NAUTICAL_MILE_CONV "1852.0" -#define SRS_UL_LINK "Link" /* Based on US Foot */ -#define SRS_UL_LINK_CONV "0.20116684023368047" -#define SRS_UL_CHAIN "Chain" /* based on US Foot */ -#define SRS_UL_CHAIN_CONV "20.116684023368047" -#define SRS_UL_ROD "Rod" /* based on US Foot */ -#define SRS_UL_ROD_CONV "5.02921005842012" -#define SRS_UL_LINK_Clarke "Link_Clarke" -#define SRS_UL_LINK_Clarke_CONV "0.2011661949" - -#define SRS_UL_KILOMETER "Kilometer" -#define SRS_UL_KILOMETER_CONV "1000." -#define SRS_UL_DECIMETER "Decimeter" -#define SRS_UL_DECIMETER_CONV "0.1" -#define SRS_UL_CENTIMETER "Centimeter" -#define SRS_UL_CENTIMETER_CONV "0.01" -#define SRS_UL_MILLIMETER "Millimeter" -#define SRS_UL_MILLIMETER_CONV "0.001" -#define SRS_UL_INTL_NAUT_MILE "Nautical_Mile_International" -#define SRS_UL_INTL_NAUT_MILE_CONV "1852.0" -#define SRS_UL_INTL_INCH "Inch_International" -#define SRS_UL_INTL_INCH_CONV "0.0254" -#define SRS_UL_INTL_FOOT "Foot_International" -#define SRS_UL_INTL_FOOT_CONV "0.3048" -#define SRS_UL_INTL_YARD "Yard_International" -#define SRS_UL_INTL_YARD_CONV "0.9144" -#define SRS_UL_INTL_STAT_MILE "Statute_Mile_International" -#define SRS_UL_INTL_STAT_MILE_CONV "1609.344" -#define SRS_UL_INTL_FATHOM "Fathom_International" -#define SRS_UL_INTL_FATHOM_CONV "1.8288" -#define SRS_UL_INTL_CHAIN "Chain_International" -#define SRS_UL_INTL_CHAIN_CONV "20.1168" -#define SRS_UL_INTL_LINK "Link_International" -#define SRS_UL_INTL_LINK_CONV "0.201168" -#define SRS_UL_US_INCH "Inch_US_Surveyor" -#define SRS_UL_US_INCH_CONV "0.025400050800101603" -#define SRS_UL_US_YARD "Yard_US_Surveyor" -#define SRS_UL_US_YARD_CONV "0.914401828803658" -#define SRS_UL_US_CHAIN "Chain_US_Surveyor" -#define SRS_UL_US_CHAIN_CONV "20.11684023368047" -#define SRS_UL_US_STAT_MILE "Statute_Mile_US_Surveyor" -#define SRS_UL_US_STAT_MILE_CONV "1609.347218694437" -#define SRS_UL_INDIAN_YARD "Yard_Indian" -#define SRS_UL_INDIAN_YARD_CONV "0.91439523" -#define SRS_UL_INDIAN_FOOT "Foot_Indian" -#define SRS_UL_INDIAN_FOOT_CONV "0.30479841" -#define SRS_UL_INDIAN_CHAIN "Chain_Indian" -#define SRS_UL_INDIAN_CHAIN_CONV "20.11669506" - -#define SRS_UA_DEGREE "degree" -#define SRS_UA_DEGREE_CONV "0.0174532925199433" -#define SRS_UA_RADIAN "radian" - -#define SRS_PM_GREENWICH "Greenwich" - -#define SRS_DN_NAD27 "North_American_Datum_1927" -#define SRS_DN_NAD83 "North_American_Datum_1983" -#define SRS_DN_WGS72 "WGS_1972" -#define SRS_DN_WGS84 "WGS_1984" - -#define SRS_WGS84_SEMIMAJOR 6378137.0 -#define SRS_WGS84_INVFLATTENING 298.257223563 - -#ifndef SWIG -/* -------------------------------------------------------------------- */ -/* C Wrappers for C++ objects and methods. */ -/* -------------------------------------------------------------------- */ -#ifndef DEFINED_OGRSpatialReferenceH -#define DEFINED_OGRSpatialReferenceH - -#ifdef DEBUG -typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH; -typedef struct OGRCoordinateTransformationHS *OGRCoordinateTransformationH; -#else -typedef void *OGRSpatialReferenceH; -typedef void *OGRCoordinateTransformationH; -#endif - -#endif - - -OGRSpatialReferenceH CPL_DLL CPL_STDCALL - OSRNewSpatialReference( const char * /* = NULL */); -OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRCloneGeogCS( OGRSpatialReferenceH ); -OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRClone( OGRSpatialReferenceH ); -void CPL_DLL CPL_STDCALL OSRDestroySpatialReference( OGRSpatialReferenceH ); - -int CPL_DLL OSRReference( OGRSpatialReferenceH ); -int CPL_DLL OSRDereference( OGRSpatialReferenceH ); -void CPL_DLL OSRRelease( OGRSpatialReferenceH ); - -OGRErr CPL_DLL OSRValidate( OGRSpatialReferenceH ); -OGRErr CPL_DLL OSRFixupOrdering( OGRSpatialReferenceH ); -OGRErr CPL_DLL OSRFixup( OGRSpatialReferenceH ); -OGRErr CPL_DLL OSRStripCTParms( OGRSpatialReferenceH ); - -OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSG( OGRSpatialReferenceH, int ); -OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSGA( OGRSpatialReferenceH, int ); -OGRErr CPL_DLL OSRImportFromWkt( OGRSpatialReferenceH, char ** ); -OGRErr CPL_DLL OSRImportFromProj4( OGRSpatialReferenceH, const char *); -OGRErr CPL_DLL OSRImportFromESRI( OGRSpatialReferenceH, char **); -OGRErr CPL_DLL OSRImportFromPCI( OGRSpatialReferenceH hSRS, const char *, - const char *, double * ); -OGRErr CPL_DLL OSRImportFromUSGS( OGRSpatialReferenceH, - long, long, double *, long); -OGRErr CPL_DLL OSRImportFromXML( OGRSpatialReferenceH, const char * ); -OGRErr CPL_DLL OSRImportFromDict( OGRSpatialReferenceH, const char *, - const char * ); -OGRErr CPL_DLL OSRImportFromPanorama( OGRSpatialReferenceH, long, long, long, - double * ); -OGRErr CPL_DLL OSRImportFromOzi( OGRSpatialReferenceH , const char * const *); -OGRErr CPL_DLL OSRImportFromMICoordSys( OGRSpatialReferenceH, const char *); -OGRErr CPL_DLL OSRImportFromERM( OGRSpatialReferenceH, - const char *, const char *, const char * ); -OGRErr CPL_DLL OSRImportFromUrl( OGRSpatialReferenceH, const char * ); - -OGRErr CPL_DLL CPL_STDCALL OSRExportToWkt( OGRSpatialReferenceH, char ** ); -OGRErr CPL_DLL CPL_STDCALL OSRExportToPrettyWkt( OGRSpatialReferenceH, char **, int); -OGRErr CPL_DLL CPL_STDCALL OSRExportToProj4( OGRSpatialReferenceH, char **); -OGRErr CPL_DLL OSRExportToPCI( OGRSpatialReferenceH, char **, char **, - double ** ); -OGRErr CPL_DLL OSRExportToUSGS( OGRSpatialReferenceH, long *, long *, - double **, long * ); -OGRErr CPL_DLL OSRExportToXML( OGRSpatialReferenceH, char **, const char * ); -OGRErr CPL_DLL OSRExportToPanorama( OGRSpatialReferenceH, long *, long *, - long *, long *, double * ); -OGRErr CPL_DLL OSRExportToMICoordSys( OGRSpatialReferenceH, char ** ); -OGRErr CPL_DLL OSRExportToERM( OGRSpatialReferenceH, char *, char *, char * ); - -OGRErr CPL_DLL OSRMorphToESRI( OGRSpatialReferenceH ); -OGRErr CPL_DLL OSRMorphFromESRI( OGRSpatialReferenceH ); - -OGRErr CPL_DLL CPL_STDCALL OSRSetAttrValue( OGRSpatialReferenceH hSRS, - const char * pszNodePath, - const char * pszNewNodeValue ); -const char CPL_DLL * CPL_STDCALL OSRGetAttrValue( OGRSpatialReferenceH hSRS, - const char * pszName, int iChild /* = 0 */ ); - -OGRErr CPL_DLL OSRSetAngularUnits( OGRSpatialReferenceH, const char *, double ); -double CPL_DLL OSRGetAngularUnits( OGRSpatialReferenceH, char ** ); -OGRErr CPL_DLL OSRSetLinearUnits( OGRSpatialReferenceH, const char *, double ); -OGRErr CPL_DLL OSRSetTargetLinearUnits( OGRSpatialReferenceH, const char *, const char *, double ); -OGRErr CPL_DLL OSRSetLinearUnitsAndUpdateParameters( - OGRSpatialReferenceH, const char *, double ); -double CPL_DLL OSRGetLinearUnits( OGRSpatialReferenceH, char ** ); -double CPL_DLL OSRGetTargetLinearUnits( OGRSpatialReferenceH, const char *, char ** ); - -double CPL_DLL OSRGetPrimeMeridian( OGRSpatialReferenceH, char ** ); - -int CPL_DLL OSRIsGeographic( OGRSpatialReferenceH ); -int CPL_DLL OSRIsLocal( OGRSpatialReferenceH ); -int CPL_DLL OSRIsProjected( OGRSpatialReferenceH ); -int CPL_DLL OSRIsCompound( OGRSpatialReferenceH ); -int CPL_DLL OSRIsGeocentric( OGRSpatialReferenceH ); -int CPL_DLL OSRIsVertical( OGRSpatialReferenceH ); -int CPL_DLL OSRIsSameGeogCS( OGRSpatialReferenceH, OGRSpatialReferenceH ); -int CPL_DLL OSRIsSameVertCS( OGRSpatialReferenceH, OGRSpatialReferenceH ); -int CPL_DLL OSRIsSame( OGRSpatialReferenceH, OGRSpatialReferenceH ); - -OGRErr CPL_DLL OSRSetLocalCS( OGRSpatialReferenceH hSRS, const char *pszName ); -OGRErr CPL_DLL OSRSetProjCS( OGRSpatialReferenceH hSRS, const char * pszName ); -OGRErr CPL_DLL OSRSetGeocCS( OGRSpatialReferenceH hSRS, const char * pszName ); -OGRErr CPL_DLL OSRSetWellKnownGeogCS( OGRSpatialReferenceH hSRS, - const char * pszName ); -OGRErr CPL_DLL CPL_STDCALL OSRSetFromUserInput( OGRSpatialReferenceH hSRS, - const char * ); -OGRErr CPL_DLL OSRCopyGeogCSFrom( OGRSpatialReferenceH hSRS, - const OGRSpatialReferenceH hSrcSRS ); -OGRErr CPL_DLL OSRSetTOWGS84( OGRSpatialReferenceH hSRS, - double, double, double, - double, double, double, double ); -OGRErr CPL_DLL OSRGetTOWGS84( OGRSpatialReferenceH hSRS, double *, int ); - -OGRErr CPL_DLL OSRSetCompoundCS( OGRSpatialReferenceH hSRS, - const char *pszName, - OGRSpatialReferenceH hHorizSRS, - OGRSpatialReferenceH hVertSRS ); -OGRErr CPL_DLL OSRSetGeogCS( OGRSpatialReferenceH hSRS, - const char * pszGeogName, - const char * pszDatumName, - const char * pszEllipsoidName, - double dfSemiMajor, double dfInvFlattening, - const char * pszPMName /* = NULL */, - double dfPMOffset /* = 0.0 */, - const char * pszUnits /* = NULL */, - double dfConvertToRadians /* = 0.0 */ ); - -OGRErr CPL_DLL OSRSetVertCS( OGRSpatialReferenceH hSRS, - const char * pszVertCSName, - const char * pszVertDatumName, - int nVertDatumType ); - -double CPL_DLL OSRGetSemiMajor( OGRSpatialReferenceH, OGRErr * /* = NULL */ ); -double CPL_DLL OSRGetSemiMinor( OGRSpatialReferenceH, OGRErr * /* = NULL */ ); -double CPL_DLL OSRGetInvFlattening( OGRSpatialReferenceH, OGRErr * /*=NULL*/); - -OGRErr CPL_DLL OSRSetAuthority( OGRSpatialReferenceH hSRS, - const char * pszTargetKey, - const char * pszAuthority, - int nCode ); -const char CPL_DLL *OSRGetAuthorityCode( OGRSpatialReferenceH hSRS, - const char * pszTargetKey ); -const char CPL_DLL *OSRGetAuthorityName( OGRSpatialReferenceH hSRS, - const char * pszTargetKey ); -OGRErr CPL_DLL OSRSetProjection( OGRSpatialReferenceH, const char * ); -OGRErr CPL_DLL OSRSetProjParm( OGRSpatialReferenceH, const char *, double ); -double CPL_DLL OSRGetProjParm( OGRSpatialReferenceH hSRS, - const char * pszParmName, - double dfDefault /* = 0.0 */, - OGRErr * /* = NULL */ ); -OGRErr CPL_DLL OSRSetNormProjParm( OGRSpatialReferenceH, const char *, double); -double CPL_DLL OSRGetNormProjParm( OGRSpatialReferenceH hSRS, - const char * pszParmName, - double dfDefault /* = 0.0 */, - OGRErr * /* = NULL */ ); - -OGRErr CPL_DLL OSRSetUTM( OGRSpatialReferenceH hSRS, int nZone, int bNorth ); -int CPL_DLL OSRGetUTMZone( OGRSpatialReferenceH hSRS, int *pbNorth ); -OGRErr CPL_DLL OSRSetStatePlane( OGRSpatialReferenceH hSRS, - int nZone, int bNAD83 ); -OGRErr CPL_DLL OSRSetStatePlaneWithUnits( OGRSpatialReferenceH hSRS, - int nZone, int bNAD83, - const char *pszOverrideUnitName, - double dfOverrideUnit ); -OGRErr CPL_DLL OSRAutoIdentifyEPSG( OGRSpatialReferenceH hSRS ); - -int CPL_DLL OSREPSGTreatsAsLatLong( OGRSpatialReferenceH hSRS ); -int CPL_DLL OSREPSGTreatsAsNorthingEasting( OGRSpatialReferenceH hSRS ); -const char CPL_DLL *OSRGetAxis( OGRSpatialReferenceH hSRS, - const char *pszTargetKey, int iAxis, - OGRAxisOrientation *peOrientation ); -OGRErr CPL_DLL OSRSetAxes( OGRSpatialReferenceH hSRS, - const char *pszTargetKey, - const char *pszXAxisName, - OGRAxisOrientation eXAxisOrientation, - const char *pszYAxisName, - OGRAxisOrientation eYAxisOrientation ); -/** Albers Conic Equal Area */ -OGRErr CPL_DLL OSRSetACEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - -/** Azimuthal Equidistant */ -OGRErr CPL_DLL OSRSetAE( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - -/** Bonne */ -OGRErr CPL_DLL OSRSetBonne(OGRSpatialReferenceH hSRS, - double dfStandardParallel, double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - -/** Cylindrical Equal Area */ -OGRErr CPL_DLL OSRSetCEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - -/** Cassini-Soldner */ -OGRErr CPL_DLL OSRSetCS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - -/** Equidistant Conic */ -OGRErr CPL_DLL OSRSetEC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - -/** Eckert I-VI */ -OGRErr CPL_DLL OSRSetEckert( OGRSpatialReferenceH hSRS, int nVariation, - double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - -/** Eckert IV */ -OGRErr CPL_DLL OSRSetEckertIV( OGRSpatialReferenceH hSRS, double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - -/** Eckert VI */ -OGRErr CPL_DLL OSRSetEckertVI( OGRSpatialReferenceH hSRS, double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - -/** Equirectangular */ -OGRErr CPL_DLL OSRSetEquirectangular(OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - -/** Equirectangular generalized form */ -OGRErr CPL_DLL OSRSetEquirectangular2( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfPseudoStdParallel1, - double dfFalseEasting, - double dfFalseNorthing ); - -/** Gall Stereograpic */ -OGRErr CPL_DLL OSRSetGS( OGRSpatialReferenceH hSRS, double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - -/** Goode Homolosine */ -OGRErr CPL_DLL OSRSetGH( OGRSpatialReferenceH hSRS, double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - -/** Interrupted Goode Homolosine */ -OGRErr CPL_DLL OSRSetIGH( OGRSpatialReferenceH hSRS ); - -/** GEOS - Geostationary Satellite View */ -OGRErr CPL_DLL OSRSetGEOS( OGRSpatialReferenceH hSRS, - double dfCentralMeridian, double dfSatelliteHeight, - double dfFalseEasting, double dfFalseNorthing ); - -/** Gauss Schreiber Transverse Mercator */ -OGRErr CPL_DLL OSRSetGaussSchreiberTMercator( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfScale, - double dfFalseEasting, - double dfFalseNorthing ); -/** Gnomonic */ -OGRErr CPL_DLL OSRSetGnomonic(OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - -/** Oblique Mercator (aka HOM (variant B) */ -OGRErr CPL_DLL OSRSetOM( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfAzimuth, double dfRectToSkew, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - -/** Hotine Oblique Mercator using azimuth angle */ -OGRErr CPL_DLL OSRSetHOM( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfAzimuth, double dfRectToSkew, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - -OGRErr CPL_DLL OSRSetHOMAC( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfAzimuth, double dfRectToSkew, - double dfScale, - double dfFalseEasting, - double dfFalseNorthing ); - -/** Hotine Oblique Mercator using two points on centerline */ -OGRErr CPL_DLL OSRSetHOM2PNO( OGRSpatialReferenceH hSRS, double dfCenterLat, - double dfLat1, double dfLong1, - double dfLat2, double dfLong2, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - -/** International Map of the World Polyconic */ -OGRErr CPL_DLL OSRSetIWMPolyconic( OGRSpatialReferenceH hSRS, - double dfLat1, double dfLat2, - double dfCenterLong, - double dfFalseEasting, - double dfFalseNorthing ); - -/** Krovak Oblique Conic Conformal */ -OGRErr CPL_DLL OSRSetKrovak( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfAzimuth, double dfPseudoStdParallelLat, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - -/** Lambert Azimuthal Equal-Area */ -OGRErr CPL_DLL OSRSetLAEA( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - -/** Lambert Conformal Conic */ -OGRErr CPL_DLL OSRSetLCC( OGRSpatialReferenceH hSRS, - double dfStdP1, double dfStdP2, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - -/** Lambert Conformal Conic 1SP */ -OGRErr CPL_DLL OSRSetLCC1SP( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - -/** Lambert Conformal Conic (Belgium) */ -OGRErr CPL_DLL OSRSetLCCB( OGRSpatialReferenceH hSRS, - double dfStdP1, double dfStdP2, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - -/** Miller Cylindrical */ -OGRErr CPL_DLL OSRSetMC( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - -/** Mercator */ -OGRErr CPL_DLL OSRSetMercator( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); -OGRErr CPL_DLL OSRSetMercator2SP( OGRSpatialReferenceH hSRS, - double dfStdP1, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - -/** Mollweide */ -OGRErr CPL_DLL OSRSetMollweide( OGRSpatialReferenceH hSRS, - double dfCentralMeridian, - double dfFalseEasting, - double dfFalseNorthing ); - -/** New Zealand Map Grid */ -OGRErr CPL_DLL OSRSetNZMG( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - -/** Oblique Stereographic */ -OGRErr CPL_DLL OSRSetOS( OGRSpatialReferenceH hSRS, - double dfOriginLat, double dfCMeridian, - double dfScale, - double dfFalseEasting,double dfFalseNorthing); - -/** Orthographic */ -OGRErr CPL_DLL OSRSetOrthographic( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, - double dfFalseNorthing); - -/** Polyconic */ -OGRErr CPL_DLL OSRSetPolyconic( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - -/** Polar Stereographic */ -OGRErr CPL_DLL OSRSetPS( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfScale, - double dfFalseEasting, double dfFalseNorthing); - -/** Robinson */ -OGRErr CPL_DLL OSRSetRobinson( OGRSpatialReferenceH hSRS, - double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - -/** Sinusoidal */ -OGRErr CPL_DLL OSRSetSinusoidal( OGRSpatialReferenceH hSRS, - double dfCenterLong, - double dfFalseEasting, - double dfFalseNorthing ); - -/** Stereographic */ -OGRErr CPL_DLL OSRSetStereographic( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfScale, - double dfFalseEasting, - double dfFalseNorthing); - -/** Swiss Oblique Cylindrical */ -OGRErr CPL_DLL OSRSetSOC( OGRSpatialReferenceH hSRS, - double dfLatitudeOfOrigin, double dfCentralMeridian, - double dfFalseEasting, double dfFalseNorthing ); - -/** Transverse Mercator - * - * Special processing available for Transverse Mercator with GDAL >= 1.10 and PROJ >= 4.8 : - * see OGRSpatialReference::exportToProj4(). - */ - -OGRErr CPL_DLL OSRSetTM( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - -/** Transverse Mercator variant */ -OGRErr CPL_DLL OSRSetTMVariant( - OGRSpatialReferenceH hSRS, const char *pszVariantName, - double dfCenterLat, double dfCenterLong, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - -/** Tunesia Mining Grid */ -OGRErr CPL_DLL OSRSetTMG( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - -/** Transverse Mercator (South Oriented) */ -OGRErr CPL_DLL OSRSetTMSO( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong, - double dfScale, - double dfFalseEasting, double dfFalseNorthing ); - -OGRErr CPL_DLL OSRSetTPED( OGRSpatialReferenceH hSRS, - double dfLat1, double dfLong1, - double dfLat2, double dfLong2, - double dfFalseEasting, double dfFalseNorthing ); - -/** VanDerGrinten */ -OGRErr CPL_DLL OSRSetVDG( OGRSpatialReferenceH hSRS, - double dfCenterLong, - double dfFalseEasting, double dfFalseNorthing ); - -/** Wagner I -- VII */ -OGRErr CPL_DLL OSRSetWagner( OGRSpatialReferenceH hSRS, int nVariation, - double dfCenterLat, - double dfFalseEasting, - double dfFalseNorthing ); - -/** Quadrilateralized Spherical Cube */ -OGRErr CPL_DLL OSRSetQSC( OGRSpatialReferenceH hSRS, - double dfCenterLat, double dfCenterLong ); - -/** Spherical, Cross-track, Height */ -OGRErr CPL_DLL OSRSetSCH( OGRSpatialReferenceH hSRS, - double dfPegLat, double dfPegLong, - double dfPegHeading, double dfPegHgt); - - -double CPL_DLL OSRCalcInvFlattening( double dfSemiMajor, double dfSemiMinor ); -double CPL_DLL OSRCalcSemiMinorFromInvFlattening( double dfSemiMajor, double dfInvFlattening ); - -void CPL_DLL OSRCleanup( void ); - -/* -------------------------------------------------------------------- */ -/* OGRCoordinateTransform C API. */ -/* -------------------------------------------------------------------- */ -OGRCoordinateTransformationH CPL_DLL CPL_STDCALL -OCTNewCoordinateTransformation( OGRSpatialReferenceH hSourceSRS, - OGRSpatialReferenceH hTargetSRS ); -void CPL_DLL CPL_STDCALL - OCTDestroyCoordinateTransformation( OGRCoordinateTransformationH ); - -int CPL_DLL CPL_STDCALL -OCTTransform( OGRCoordinateTransformationH hCT, - int nCount, double *x, double *y, double *z ); - -int CPL_DLL CPL_STDCALL -OCTTransformEx( OGRCoordinateTransformationH hCT, - int nCount, double *x, double *y, double *z, - int *pabSuccess ); - -/* this is really private to OGR. */ -char *OCTProj4Normalize( const char *pszProj4Src ); - -void OCTCleanupProjMutex( void ); - -/* -------------------------------------------------------------------- */ -/* Projection transform dictionary query. */ -/* -------------------------------------------------------------------- */ - -char CPL_DLL ** OPTGetProjectionMethods( void ); -char CPL_DLL ** OPTGetParameterList( const char * pszProjectionMethod, - char ** ppszUserName ); -int CPL_DLL OPTGetParameterInfo( const char * pszProjectionMethod, - const char * pszParameterName, - char ** ppszUserName, - char ** ppszType, - double *pdfDefaultValue ); - -CPL_C_END - -#endif /* ndef SWIG */ - -#endif /* ndef OGR_SRS_API_H_INCLUDED */ diff --git a/src/gdal/ogr_srs_esri_names.h b/src/gdal/ogr_srs_esri_names.h deleted file mode 100644 index 2a7181bd..00000000 --- a/src/gdal/ogr_srs_esri_names.h +++ /dev/null @@ -1,717 +0,0 @@ -static const char * const apszGcsNameMapping[] = { -"North_American_Datum_1983", "GCS_North_American_1983", -"North_American_Datum_1927", "GCS_North_American_1927", -"NAD27_CONUS", "GCS_North_American_1927", -"Reseau_Geodesique_de_Nouvelle_Caledonie_1991-93", "GCS_RGNC_1991-93", -"Reseau_Geodesique_de_la_Polynesie_Francaise", "GCS_RGPF", -"Rauenberg_1983", "GCS_RD/83", -"Phillipine_Reference_System_1992", "GCS_PRS_1992", -"Potsdam_1983", "GCS_PD/83", -"Datum_Geodesi_Nasional_1995", "GCS_DGN_1995", -"Islands_Network_1993", "GCS_ISN_1993", -"Institut_Geographique_du_Congo_Belge_1955", "GCS_IGCB_1955", -"IGC_1962_Arc_of_the_6th_Parallel_South", "GCS_IGC_1962_6th_Parallel_South", -"Jamaica_2001", "GCS_JAD_2001", -"European_Libyan_1979", "GCS_European_Libyan_Datum_1979", -"Madrid_1870", "GCS_Madrid_1870_Madrid", -"Azores_Occidental_Islands_1939", "GCS_Azores_Occidental_1939", -"Azores_Central_Islands_1948", "GCS_Azores_Central_1948", -"Azores_Oriental_Islands_1940", "GCS_Azores_Oriental_1940", -"Lithuania_1994", "GCS_LKS_1994", -"Libyan_Geodetic_Datum_2006", "GCS_LGD2006", -//"Lisbon", "GCS_Lisbon_Lisbon", -"Stockholm_1938", "GCS_RT38", -"Latvia_1992", "GCS_LKS_1992", -"Azores_Oriental_Islands_1995", "GCS_Azores_Oriental_1995", -"Azores_Central_Islands_1948", "GCS_Azores_Central_1948", -"Azores_Central_Islands_1995", "GCS_Azores_Central_1995", -"ATF", "GCS_ATF_Paris", -//"ITRF_2000", "GCS_MONREF_1997", -"Faroe_Datum_1954", "GCS_FD_1954", -"Vietnam_2000", "GCS_VN_2000", -//"Belge_1950", "GCS_Belge_1950_Brussels", -"Qatar_1948", "GCS_Qatar_1948", -"Qatar", "GCS_Qatar_1974", -"Kuwait_Utility", "GCS_KUDAMS", -"ED_1950_16", "GCS_European_1950", -"SAD_1969_Mean", "GCS_South_American_1969", -"Sphere_of_Radius_6370997m", "GCS_Sphere_ARC_INFO", -"Australian_Geodetic_1966", "GCS_Australian_1966", -"Australian_Geodetic_1984", "GCS_Australian_1984", -"AGD84", "GCS_Australian_1984", -"AGD66", "GCS_Australian_1966", -"Rome_1940", "GCS_Monte_Mario", -"Tokyo_Japan", "GCS_Tokyo", -"Graciosa_Base_SW_1948_1", "GCS_Graciosa_Base_SW_1948", -"Datum_Lisboa_Bessel_1", "GCS_Datum_Lisboa_Bessel", -"Datum_Lisboa_Hayford_1", "GCS_Datum_Lisboa_Hayford", -"Observatorio_Metereo_1939_Grupo_Ocidental", "GCS_Observ_Meteorologico_1939", -"Porto_Santo_1936_1", "GCS_Porto_Santo_1936", -"Sao_Braz_1", "GCS_Sao_Braz", -"GDA94", "GCS_GDA_1994", -"HARN", "GCS_North_American_1983_HARN", -"NAD83_HARN", "GCS_North_American_1983_HARN", -"Voirol_1875", "GCS_Voirol_1875", -"Voirol_1960", "GCS_Voirol_Unifie_1960", -"Ain_el_Abd_1970_Bahrain", "GCS_Ain_el_Abd_1970", -"ED_1950_ED77", "GCS_European_1950_ED77", -"Naparima_1955_2", "GCS_Naparima_1955", -"Aratu_Brazil_Campos_Espirito_Santo_and_Santos_basins", "GCS_Aratu", -"Camacupa_Angola_1", "GCS_Camacupa", -"Cape_1", "GCS_Cape", -"Carthage_Tunisia", "GCS_Carthage", -"Deir_ez_Zor_2", "GCS_Deir_ez_Zor", -"Old_Egyptian_1907", "GCS_Egypt_1907", -"PSAD56", "GCS_Provisional_S_American_1956", -"Indian 1975", "GCS_Indian_1975", -"Indian_1960_1", "GCS_Indian_1960", -"Kalianpur_1937_1", "GCS_Kalianpur_1937", -"Kertau_1948", "GCS_Kertau", -"Kertau_1968", "GCS_Kertau", -"Luzon", "GCS_Luzon_1911", -"Malongo_1987_1", "GCS_Malongo_1987", -"Minna_Cameroon", "GCS_Minna", -"Mporaloko_1", "GCS_Mporaloko", -"Nahrwan_Oman", "GCS_Nahrwan_1967", -"Naparima_BWI", "GCS_Naparima_1972", -"Geodetic_Datum_1949", "GCS_New_Zealand_1949", -"Qatar_National", "GCS_Qatar_1974", -"SAD_1969_Mean", "GCS_South_American_1969", -"Tananarive_Observatory_1925", "GCS_Tananarive_1925", -"Tananarive", "GCS_Tananarive_1925", -"Ireland_1965", "GCS_TM65", -"DE_DHDN_whole_country_2001_to_ETRS89", "GCS_Deutsches_Hauptdreiecksnetz", -"Belge_1972_1", "GCS_Belge_1972", -"WGS_72", "GCS_WGS_1972", -"JGD2000", "GCS_JGD_2000", -"NZGD49", "GCS_New_Zealand_1949", -"CH1903_1", "GCS_CH1903", -"DE_42/83_to_ETRS89", "GCS_Pulkovo_1942", -"DE_42_83_to_ETRS89", "GCS_Pulkovo_1942", -"Amersfoort_1", "GCS_Amersfoort", -"CH1903+_L+T1997", "GCS_CH1903+", -"Ord_Survey_G_Britain_1936", "GCS_OSGB_1936", -"European_Datum_1950", "GCS_European_1950", -"Geocentric_Datum_of_Australia_1994", "GCS_GDA_1994", -"NAD83_High_Accuracy_Regional_Network", "GCS_North_American_1983_HARN", -"Bogota_1975", "GCS_Bogota", -"North_American_Datum_1927_CGQ77", "GCS_NAD_1927_CGQ77", -"North_American_Datum_1927_1976", "GCS_NAD_1927_Definition_1976", -"European_Datum_1950_1977", "GCS_European_1950_ED77", -"WGS_1972_Transit_Broadcast_Ephemeris", "GCS_WGS_1972_BE", -"Greek_Geodetic_Reference_System_1987", "GCS_GGRS_1987", -"Militar_Geographische_Institute", "GCS_MGI", -"ED50", "GCS_European_1950", -"ETRS89", "GCS_ETRS_1989", -NULL, NULL}; - -static const char * const apszGcsNameMappingBasedOnProjCS[] = { -"EUREF_FIN_TM35FIN", "GCS_ETRS_1989", "GCS_EUREF_FIN", -"Nord_Maroc_Degree", "GCS_Merchich", "GCS_Merchich_Degree", -"Sahara_Degree", "GCS_Merchich", "GCS_Merchich_Degree", -"Sud_Maroc_Degree", "GCS_Merchich", "GCS_Merchich_Degree", -"Merchich_Degree_UTM_Zone_28N", "GCS_Merchich", "GCS_Merchich_Degree", -"Lambert_Conformal_Conic", "GCS_Merchich", "GCS_Merchich_Degree", -"UTM", "GCS_Merchich", "GCS_Merchich_Degree", -"UTM_Zone_28_Northern_Hemisphere", "GCS_Merchich", "GCS_Merchich_Degree", -"Portuguese_National_Grid", "GCS_Lisbon", "GCS_Lisbon_Lisbon", -"Belge_Lambert_1950", "GCS_Belge_1950", "GCS_Belge_1950_Brussels", -"MONREF_1997_UTM_Zone_46N", "GCS_ITRF_2000", "GCS_MONREF_1997", -"MONREF_1997_UTM_Zone_47N", "GCS_ITRF_2000", "GCS_MONREF_1997", -NULL, NULL, NULL}; - - - -static const char * const apszGcsNameMappingBasedOnUnit[] = { -"Voirol_Unifie_1960", "Degree", "GCS_Voirol_Unifie_1960_Degree", -"Voirol_1960", "Degree", "GCS_Voirol_Unifie_1960_Degree", -"Voirol 1960", "Degree", "GCS_Voirol_Unifie_1960_Degree", -"Voirol_1875", "Degree", "GCS_Voirol_1875_Degree", -"Voirol 1875", "Degree", "GCS_Voirol_1875_Degree", -"NTF", "Grad", "GCS_NTF_Paris", -NULL, NULL, NULL}; - -static const char * const apszGcsNameMappingBasedPrime[] = { -"Bern_1898", "Bern", "GCS_Bern_1898_Bern", -"Madrid_1870", "Madrid", "GCS_Madrid_1870_Madrid", -"MGI", "Ferro", "GCS_MGI_Ferro", -"MGI", "Stockholm", "GCS_RT38_Stockholm", -"Monte_Mario", "Rome", "GCS_Monte_Mario_Rome", -"NGO_1948", "Oslo", "GCS_NGO_1948_Oslo", -"S_JTSK", "Ferro", "GCS_S_JTSK_Ferro", -"Stockholm_1938", "Stockholm", "GCS_RT38_Stockholm", -NULL, NULL, NULL}; - -static const char * const apszInvFlatteningMapping[] = { -"293.464999999", "293.465", -"293.465000003", "293.465", -"293.465073361", "293.465", -"293.466020000", "293.46602", -"293.466021293", "293.46602", -"293.4663077168286", "293.466307656", -"293.4664236085404", "293.466307656", -"294.2606763690", "294.260676369", -"294.9786981999", "294.9786982", -"294.978698213", "294.9786982", -"295.9999999999", "296.0", -"297.0000000000", "297.0", -"297.0000000284", "297.0", -"297.0000535480", "297.0", -"298.2499972761", "298.25", -"298.2500000654", "298.25", -"298.2500112226", "298.25", -"298.256999999", "298.257", -"298.2600000000", "298.26", -"298.2571643544962", "298.257223563", -"298.25716435449", "298.257222101", -"298.257222096042", "298.257222101", -"298.25722210100", "298.257222101", -"298.25722356299", "298.257223563", -"298.25722356300", "298.257223563", -"298.25999858999", "298.26", -"298.2684109950054", "298.268410995005", -"298.2999", "298.3", -"298.3000", "298.3", -"299.1527033239203", "299.1528128", -"299.15281280000", "299.1528128", -"299.15281283", "299.1528128", -"299.15281310607", "299.1528128", -"299.15281327254", "299.1528128", -"299.32496460000", "299.3249646", -"299.32496405862", "299.3249646", -"299.32497531503", "299.3249646", -"300.80158474106", "300.8017", -"300.80169943849", "300.8017", -"300.80169999999", "300.8017", -"300.80170000000", "300.8017", -"300.80170009712", "300.8017", -NULL, NULL}; - -static const char * const apszParamValueMapping[] = { -"Cassini", "false_easting", "283799.9999", "283800.0", -"Cassini", "false_easting", "132033.9199", "132033.92", -"Cassini", "false_northing", "214499.9999", "214500.0", -"Cassini", "false_northing", "62565.9599", "62565.95", -"Transverse_Mercator", "false_easting", "499999.1331", "500000.0", -"Transverse_Mercator", "false_easting", "299999.4798609", "300000.0", -"Transverse_Mercator", "false_northing", "399999.30648", "400000.0", -"Transverse_Mercator", "false_northing", "499999.1331", "500000.0", -"Transverse_Mercator", "central_meridian","51.21666666666668", "51.21666666666667", -"Transverse_Mercator", "Scale_Factor", "0.999601272", "0.9996012717", -"Lambert_Conformal_Conic", "central_meridian", "-90.33333333333334", "-90.33333333333333", -"Lambert_Conformal_Conic", "central_meridian", "-76.83333333333334", "-76.83333333333333", -"Krovak", "longitude_of_center", "24.83333333333334", "24.83333333333333", -"Hotine_Oblique_Mercator_Azimuth_Center", "longitude_of_center", "7.439583333333334", "7.439583333333333", -"Hotine_Oblique_Mercator_Azimuth_Center", "latitude_of_center", "46.95240555555557", "46.95240555555556", -NULL, NULL, NULL, NULL}; - -static const char * const apszParamNameMapping[] = { -"Lambert_Azimuthal_Equal_Area", "longitude_of_center", "Central_Meridian", -"Lambert_Azimuthal_Equal_Area", "Latitude_Of_Center", "Latitude_Of_Origin", -"Miller_Cylindrical", "longitude_of_center", "Central_Meridian", -"Gnomonic", "central_meridian", "Longitude_Of_Center", -"Gnomonic", "latitude_of_origin", "Latitude_Of_Center", -"Orthographic", "central_meridian", "Longitude_Of_Center", -"Orthographic", "latitude_of_origin", "Latitude_Of_Center", -"New_Zealand_Map_Grid", "central_meridian", "Longitude_Of_Origin", -"Hotine_Oblique_Mercator_Two_Point_Natural_Origin", "latitude_of_point_1", "Latitude_Of_1st_Point", -"Hotine_Oblique_Mercator_Two_Point_Natural_Origin", "longitude_of_point_1", "Longitude_Of_1st_Point", -"Hotine_Oblique_Mercator_Two_Point_Natural_Origin", "latitude_of_point_2", "Latitude_Of_2nd_Point", -"Hotine_Oblique_Mercator_Two_Point_Natural_Origin", "longitude_of_point_2", "Longitude_Of_2nd_Point", -NULL, NULL, NULL}; - -static const char * const apszDeleteParametersBasedOnProjection[] = { -"Stereographic_South_Pole", "scale_factor", -"Stereographic_North_Pole", "scale_factor", -"Mercator", "scale_factor", -"Miller_Cylindrical", "latitude_of_center", -"Equidistant_Cylindrical", "pseudo_standard_parallel_1", -"Equidistant_Cylindrical", "latitude_of_origin", -"Plate_Carree", "latitude_of_origin", -"Plate_Carree", "pseudo_standard_parallel_1", -"Plate_Carree", "standard_parallel_1", -"Hotine_Oblique_Mercator_Azimuth_Center", "rectified_grid_angle", -"Hotine_Oblique_Mercator_Azimuth_Natural_Origin", "rectified_grid_angle", -NULL, NULL}; - -static const char * const apszAddParametersBasedOnProjection[] = { -"Cassini", "scale_factor", "1.0", -"Mercator", "standard_parallel_1", "0.0", -NULL, NULL, NULL}; - -static const int statePlaneZoneMapping[] = { -/* old zone code, prj code, new zone code */ - 3126, -1, 101, - 3151, -1, 102, - 3176, -1, 202, - 3201, -1, 203, - 3226, -1, 301, - 3251, -1, 302, - 3326, -1, 403, - 3351, -1, 404, - 3376, 26945, 405, - 3426, -1, 407, - 3451, -1, 501, - 3476, -1, 502, - 3526, -1, 600, - 3551, -1, 700, - 3576, -1, 903, - 3626, -1, 902, - 3651, -1, 1001, - 3676, -1, 1002, - 3726, -1, 1102, - 3751, -1, 1103, - 3776, -1, 1201, - 3801, -1, 1202, - 3826, -1, 1301, - 3851, -1, 1302, - 3876, -1, 1401, - 3926, -1, 1501, - 3951, -1, 1502, - 3976, -1, 1601, - 4026, -1, 1701, - 6426, -1, 1703, - 4076, -1, 1801, - 4101, -1, 1802, - 4126, -1, 1900, - 4151, -1, 2001, - 4176, -1, 2002, - 4226, -1, 2102, - 4251, -1, 2103, - 6351, -1, 2111, - 6376, -1, 2112, - 6401, -1, 2113, - 4276, -1, 2201, - 4326, -1, 2203, - 4351, -1, 2301, - 4376, -1, 2302, - 4400, 32045, 3400, - 4401, -1, 2401, - 4426, -1, 2402, - 4451, -1, 2403, - 4476, 32100, 2500, - 4476, -1, 2501, - 4701, 32111, 2900, - 4801, 2260, 3101, - 4801, 32115, 3101, - 4526, -1, 2503, - 4551, -1, 2601, - 4576, -1, 2602, - 4626, -1, 2702, - 4651, -1, 2703, - 4676, -1, 2800, - 4726, -1, 3001, - 4751, -1, 3002, - 4776, -1, 3003, - 4826, -1, 3102, - 4851, -1, 3103, - 4876, -1, 3104, - 4926, -1, 3301, - 4951, -1, 3302, - 4976, -1, 3401, - 5026, -1, 3501, - 5051, -1, 3502, - 5076, -1, 3601, - 5126, -1, 3701, - 5151, -1, 3702, - 5176, -1, 3800, - 5226, -1, 3902, - 5251, -1, 4001, - 5276, -1, 4002, - 5301, -1, 4100, - 5326, -1, 4201, - 5351, -1, 4202, - 5376, -1, 4203, - 5401, -1, 4204, - 5426, -1, 4205, - 5451, -1, 4301, - 5476, -1, 4302, - 5501, -1, 4303, - 5526, -1, 4400, - 5551, -1, 4501, - 5576, -1, 4502, - 5601, -1, 4601, - 5626, -1, 4602, - 5651, -1, 4701, - 5676, -1, 4702, - 5701, -1, 4801, - 5726, -1, 4802, - 5751, -1, 4803, - 5776, -1, 4901, - 5801, -1, 4902, - 5826, -1, 4903, - 5851, -1, 4904, - 6101, -1, 5001, - 6126, -1, 5002, - 6151, -1, 5003, - 6176, -1, 5004, - 6201, -1, 5005, - 6226, -1, 5006, - 6251, -1, 5007, - 6276, -1, 5008, - 6301, -1, 5009, - 6326, -1, 5010, - 5876, -1, 5101, - 5901, -1, 5102, - 5926, -1, 5103, - 5951, -1, 5104, - 5976, -1, 5105, - 6001, -1, 5201, - 6026, -1, 5200, - 6076, -1, 5200, - 6051, -1, 5202, - 0, 0, 0 - }; - -/* This is not a complete mapping. Need to add more. */ -static const int statePlanePcsCodeToZoneCode[] = { -/* pcs code, state plane prj str index*/ -2222, 2016, -2223, 2026, -2224, 2036, -2225, 4012, -2226, 4022, -2227, 4032, -2228, 4042, -2229, 4052, -2230, 4062, -2231, 5012, -2232, 5022, -2233, 5032, -2234, 6002, -2235, 7002, -2236, 9012, -2237, 9022, -2238, 9032, -2239, 10012, -2240, 10022, -2241, 11012, -2242, 11022, -2243, 11032, -2251, 21116, -2252, 21126, -2253, 21136, -2256, 25006, -2265, 33016, -2266, 33026, -2965, 13012, -2966, 13022, -2246, 16012, -2247, 16022, -2248, 19002, -2249, 20012, -2250, 20022, -2254, 23012, -2255, 23022, -2257, 30012, -2258, 30022, -2259, 30032, -2260, 31012, -2261, 31022, -2262, 31032, -2263, 31042, -2264, 32002, -2267, 35012, -2268, 35022, -2269, 36016, -2270, 36026, -2271, 37012, -2272, 37022, -2273, 39006, -2274, 41002, -2275, 42012, -2276, 42022, -2277, 42032, -2278, 42042, -2279, 42052, -2280, 43016, -2281, 43026, -2282, 43036, -2283, 45012, -2284, 45022, -2285, 46012, -2286, 46022, -2287, 48012, -2288, 48022, -2289, 48032, -2867, 2015, -2868, 2025, -2869, 2035, -2896, 21115, -2897, 21125, -2898, 21135, -2901, 25005, -2909, 33015, -2910, 33025, -2913, 36015, -2914, 36025, -2921, 43015, -2922, 43025, -2923, 43035, -2870, 4013, -2871, 4023, -2872, 4033, -2873, 4043, -2874, 4053, -2875, 4063, -2876, 5013, -2877, 5023, -2878, 5033, -2879, 6003, -2880, 7003, -2881, 9013, -2882, 9023, -2883, 9033, -2884, 10013, -2885, 10023, -2886, 11013, -2887, 11023, -2888, 11033, -2967, 13013, -2968, 13023, -2891, 16013, -2892, 16023, -2893, 19003, -2894, 20013, -2895, 20023, -2899, 23013, -2900, 23023, -2902, 30013, -2903, 30023, -2904, 30033, -2905, 31013, -2906, 31023, -2907, 31033, -2908, 31043, -2911, 35013, -2912, 35023, -2915, 41003, -2916, 42013, -2917, 42023, -2918, 42033, -2919, 42043, -2920, 42053, -2924, 45013, -2925, 45023, -2926, 46013, -2927, 46023, -2928, 48013, -2929, 48023, -2930, 48033, -// following are state systems (not complete) -2964, 102965, -2991, 102991, -2992, 102992, -2993, 102993, -2994, 102994, -// following are NAD 1983 SPCS Zone -26929, 1011, -26930, 1021, -26931, 50011, -26932, 50021, -26933, 50031, -26934, 50041, -26935, 50051, -26936, 50061, -26937, 50071, -26938, 50081, -26939, 50091, -26940, 50101, -26948, 2011, -26949, 2021, -26950, 2031, -26951, 3011, -26952, 3021, -26941, 4011, -26942, 4021, -26943, 4031, -26944, 4041, -26945, 4051, -26946, 4061, -26953, 5011, -26954, 5021, -26955, 5031, -26956, 6001, -26957, 7001, -26958, 9011, -26959, 9021, -26960, 9031, -26966, 10011, -26967, 10021, -26961, 51011, -26962, 51021, -26963, 51031, -26964, 51041, -26965, 51051, -26968, 11011, -26969, 11021, -26970, 11031, -26971, 12011, -26972, 12021, -26973, 13011, -26974, 13021, -26975, 14011, -26976, 14021, -26977, 15011, -26978, 15021, -26979, 16011, -26980, 16021, -26981, 17011, -26982, 17021, -26983, 18011, -26984, 18021, -26985, 19001, -26986, 20011, -26987, 20021, -26988, 21111, -26989, 21121, -26990, 21131, -26991, 22011, -26992, 22021, -26993, 22031, -26994, 23011, -26995, 23021, -26996, 24011, -26997, 24021, -26998, 24031, -32100, 25001, -32104, 26001, -32107, 27011, -32108, 27021, -32109, 27031, -32110, 28001, -32111, 29001, -32112, 30011, -32113, 30021, -32114, 30031, -32115, 31011, -32116, 31021, -32117, 31031, -32118, 31041, -32119, 32001, -32120, 33011, -32121, 33021, -32122, 34011, -32123, 34021, -32124, 35011, -32125, 35021, -32126, 36011, -32127, 36021, -32128, 37011, -32129, 37021, -32130, 38001, -32133, 39001, -32134, 40011, -32135, 40021, -32136, 41001, -32137, 42011, -32138, 42021, -32139, 42031, -32140, 42041, -32141, 42051, -32142, 43011, -32143, 43021, -32144, 43031, -32145, 44001, -32146, 45011, -32147, 45021, -32148, 46011, -32149, 46021, -32150, 47011, -32151, 47021, -32152, 48011, -32153, 48021, -32154, 48031, -32155, 49011, -32156, 49021, -32157, 49031, -32158, 49041, -32161, 52000, -65161, 54001, -0, 0 -}; - -/* ==================================================================== */ -/* WISCRS Table */ -/* ==================================================================== */ -static const double apszWISCRS_LCC_meter[] = { -// Central_Meridian, Latitude_Of_Origin, SR code - -91.1527777777, 46.6696483772, 103303.0, - -92.4577777777, 45.8987148658, 103306.0, - -91.2944444444, 44.9778568986, 103308.0, - -89.3944444444, 43.4625466458, 103310.0, - -90.9388888888, 43.2000556050, 103311.0, - -89.4222222222, 43.0695160375, 103312.0, - -91.2888888888, 45.8722811263, 103317.0, - -89.8388888888, 42.6375622769, 103322.0, - -89.2416666666, 43.8070001177, 103323.0, - -89.8388888888, 42.6375622769, 103332.0, - -89.0333333333, 45.1542371052, 103333.0, - -89.7700000000, 44.9009044236, 103336.0, - -89.2416666666, 43.8070001177, 103338.0, - -90.6416666666, 44.0000739286, 103341.0, - -89.5444444444, 45.7042237702, 103343.0, - -92.2277777777, 44.6361488719, 103346.0, - -92.2277777777, 44.6361488719, 103347.0, - -89.5000000000, 44.4168239752, 103349.0, - -90.4305555555, 43.3223129275, 103352.0, - -91.1166666666, 45.9000991313, 103356.0, - -90.4833333333, 45.1778220858, 103360.0, - -90.7833333333, 43.5750329397, 103362.0, - -89.4888888888, 46.0778440905, 103363.0, - -88.5416666667, 42.6694620969, 103364.0, - -91.7833333333, 45.9612198333, 103365.0, - -89.2416666666, 44.1139440458, 103369.0, - -90.0000000000, 44.3625954694, 103371.0, - 0.0, 0,0, 0,0 -}; - -static const double apszWISCRS_TM_meter[] = { -// Central_Meridian, Latitude_Of_Origin, SR code - -90.0000000000, 43.3666666666, 103300.0, - -90.6222222222, 45.7061111111, 103301.0, - -91.8500000000, 45.1333333333, 103302.0, - -88.0000000000, 43.0000000000, 103304.0, - -91.7972222222, 43.4813888888, 103305.0, - -88.5000000000, 42.7194444444, 103307.0, - -90.7083333333, 43.6000000000, 103309.0, - -88.7750000000, 41.4722222222, 103313.0, - -87.2722222222, 44.4000000000, 103314.0, - -91.9166666666, 45.8833333333, 103315.0, - -91.8944444444, 44.4083333333, 103316.0, - -88.1416666666, 45.4388888888, 103318.0, - -88.5000000000, 42.7194444444, 103319.0, - -88.6333333333, 44.0055555556, 103320.0, - -90.8000000000, 41.4111111111, 103321.0, - -90.1611111111, 42.5388888888, 103324.0, - -90.2555555555, 45.4333333333, 103325.0, - -90.8442965194, 44.2533351277, 103326.0, - -88.7750000000, 41.4722222222, 103327.0, - -90.0000000000, 43.3666666666, 103328.0, - -87.8944444444, 42.2166666666, 103329.0, - -87.5500000000, 43.2666666666, 103330.0, - -91.3166666666, 43.4511111111, 103331.0, - -89.7333333333, 44.8444444444, 103334.0, - -87.5500000000, 43.2666666666, 103335.0, - -87.7111111111, 44.6916666666, 103337.0, - -88.4166666666, 44.7166666666, 103339.0, - -87.8944444444, 42.2166666666, 103340.0, - -87.9083333333, 44.3972222222, 103342.0, - -88.5000000000, 42.7194444444, 103344.0, - -87.8944444444, 42.2166666666, 103345.0, - -92.6333333333, 44.6611111111, 103348.0, - -90.4888888889, 44.5555555556, 103350.0, - -87.8944444444, 42.2166666666, 103351.0, - -89.0722222222, 41.9444444444, 103353.0, - -91.0666666666, 43.9194444444, 103354.0, - -89.9000000000, 42.8194444444, 103355.0, - -88.6055555556, 44.0361111111, 103357.0, - -87.5500000000, 43.2666666666, 103358.0, - -92.6333333333, 44.0361111111, 103359.0, - -91.3666666666, 43.1611111111, 103361.0, - -88.0638888888, 42.9180555555, 103366.0, - -88.2250000000, 42.5694444444, 103367.0, - -88.8166666666, 43.4202777777, 103368.0, - -88.5000000000, 42.7194444444, 103370.0, - 0.0, 0,0, 0,0 -}; diff --git a/src/gdal/ograpispy.h b/src/gdal/ograpispy.h deleted file mode 100644 index d2d21e7e..00000000 --- a/src/gdal/ograpispy.h +++ /dev/null @@ -1,173 +0,0 @@ -/****************************************************************************** - * $Id: ograpispy.h 33631 2016-03-04 06:28:09Z goatbar $ - * - * Project: OpenGIS Simple Features Reference Implementation - * Purpose: OGR C API "Spy" - * Author: Even Rouault, even.rouault at spatialys.com - * - ****************************************************************************** - * Copyright (c) 2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OGRAPISPY_H_INCLUDED -#define OGRAPISPY_H_INCLUDED - -#include "gdal.h" - -/** - * \file ograpispy.h - * - * OGR C API spy. - * - * If GDAL is compiled with OGRAPISPY_ENABLED defined (which is the case for a - * DEBUG build), a mechanism to trace calls to the OGR *C* API is available - * (calls to the C++ API will not be traced) - * - * Provided there is compile-time support, the mechanism must also be enabled at - * runtime by setting the OGR_API_SPY_FILE configuration option - * to a file where the calls to the OGR C API will be dumped (stdout and stderr - * are recognized as special strings to name the standard output and error files). - * The traced calls are outputted as a OGR Python script. - * - * Only calls that may have side-effects to the behaviour of drivers are traced. - * - * If a file-based datasource is open in update mode, a snapshot of its initial - * state is stored in a 'snapshot' directory, and then a copy of it is made as - * the working datasource. That way, the generated script can be executed in a - * reproducible way. The path for snapshots is the current working directory by - * default, and can be changed by setting the OGR_API_SPY_SNAPSHOT_PATH - * configuration option. If it is set to NO, the snapshot feature will be disabled. - * The reliability of snapshoting relies on if the dataset correctly implements - * GetFileList() (for multi-file datasources) - * - * @since GDAL 2.0 - */ - - -#ifdef DEBUG -#define OGRAPISPY_ENABLED -#endif - -#ifdef OGRAPISPY_ENABLED - -CPL_C_START - -extern int bOGRAPISpyEnabled; - -int OGRAPISpyOpenTakeSnapshot(const char* pszName, int bUpdate); -void OGRAPISpyOpen(const char* pszName, int bUpdate, int iSnapshot, - GDALDatasetH* phDS); -void OGRAPISpyPreClose(OGRDataSourceH hDS); -void OGRAPISpyPostClose(); -void OGRAPISpyCreateDataSource(OGRSFDriverH hDriver, const char* pszName, - char** papszOptions, OGRDataSourceH hDS); -void OGRAPISpyDeleteDataSource(OGRSFDriverH hDriver, const char* pszName); - -void OGRAPISpy_DS_GetLayerCount( OGRDataSourceH hDS ); -void OGRAPISpy_DS_GetLayer( OGRDataSourceH hDS, int iLayer, OGRLayerH hLayer ); -void OGRAPISpy_DS_GetLayerByName( OGRDataSourceH hDS, const char* pszLayerName, - OGRLayerH hLayer ); -void OGRAPISpy_DS_ExecuteSQL( OGRDataSourceH hDS, - const char *pszStatement, - OGRGeometryH hSpatialFilter, - const char *pszDialect, - OGRLayerH hLayer); -void OGRAPISpy_DS_ReleaseResultSet( OGRDataSourceH hDS, OGRLayerH hLayer); - -void OGRAPISpy_DS_CreateLayer( OGRDataSourceH hDS, - const char * pszName, - OGRSpatialReferenceH hSpatialRef, - OGRwkbGeometryType eType, - char ** papszOptions, - OGRLayerH hLayer); -void OGRAPISpy_DS_DeleteLayer( OGRDataSourceH hDS, int iLayer ); - -void OGRAPISpy_Dataset_StartTransaction( GDALDatasetH hDS, int bForce ); -void OGRAPISpy_Dataset_CommitTransaction( GDALDatasetH hDS ); -void OGRAPISpy_Dataset_RollbackTransaction( GDALDatasetH hDS ); - -void OGRAPISpy_L_GetFeatureCount( OGRLayerH hLayer, int bForce ); -void OGRAPISpy_L_GetExtent( OGRLayerH hLayer, int bForce ); -void OGRAPISpy_L_GetExtentEx( OGRLayerH hLayer, int iGeomField, int bForce ); -void OGRAPISpy_L_SetAttributeFilter( OGRLayerH hLayer, const char* pszFilter ); -void OGRAPISpy_L_GetFeature( OGRLayerH hLayer, GIntBig nFeatureId ); -void OGRAPISpy_L_SetNextByIndex( OGRLayerH hLayer, GIntBig nIndex ); -void OGRAPISpy_L_GetNextFeature( OGRLayerH hLayer ); -void OGRAPISpy_L_SetFeature( OGRLayerH hLayer, OGRFeatureH hFeat ); -void OGRAPISpy_L_CreateFeature( OGRLayerH hLayer, OGRFeatureH hFeat ); -void OGRAPISpy_L_CreateField( OGRLayerH hLayer, OGRFieldDefnH hField, - int bApproxOK ); -void OGRAPISpy_L_DeleteField( OGRLayerH hLayer, int iField ); -void OGRAPISpy_L_ReorderFields( OGRLayerH hLayer, int* panMap ); -void OGRAPISpy_L_ReorderField( OGRLayerH hLayer, int iOldFieldPos, - int iNewFieldPos ); -void OGRAPISpy_L_AlterFieldDefn( OGRLayerH hLayer, int iField, - OGRFieldDefnH hNewFieldDefn, - int nFlags ); -void OGRAPISpy_L_CreateGeomField( OGRLayerH hLayer, OGRGeomFieldDefnH hField, - int bApproxOK ); -void OGRAPISpy_L_StartTransaction( OGRLayerH hLayer ); -void OGRAPISpy_L_CommitTransaction( OGRLayerH hLayer ); -void OGRAPISpy_L_RollbackTransaction( OGRLayerH hLayer ); -void OGRAPISpy_L_GetLayerDefn( OGRLayerH hLayer ); -void OGRAPISpy_L_FindFieldIndex( OGRLayerH hLayer, const char *pszFieldName, - int bExactMatch ); -void OGRAPISpy_L_GetSpatialRef( OGRLayerH hLayer ); -void OGRAPISpy_L_TestCapability( OGRLayerH hLayer, const char* pszCap ); -void OGRAPISpy_L_GetSpatialFilter( OGRLayerH hLayer ); -void OGRAPISpy_L_SetSpatialFilter( OGRLayerH hLayer, OGRGeometryH hGeom ); -void OGRAPISpy_L_SetSpatialFilterEx( OGRLayerH hLayer, int iGeomField, - OGRGeometryH hGeom ); -void OGRAPISpy_L_SetSpatialFilterRect( OGRLayerH hLayer, - double dfMinX, double dfMinY, - double dfMaxX, double dfMaxY); -void OGRAPISpy_L_SetSpatialFilterRectEx( OGRLayerH hLayer, int iGeomField, - double dfMinX, double dfMinY, - double dfMaxX, double dfMaxY); -void OGRAPISpy_L_ResetReading( OGRLayerH hLayer ); -void OGRAPISpy_L_SyncToDisk( OGRLayerH hLayer ); -void OGRAPISpy_L_DeleteFeature( OGRLayerH hLayer, GIntBig nFID ); -void OGRAPISpy_L_GetFIDColumn( OGRLayerH hLayer ); -void OGRAPISpy_L_GetGeometryColumn( OGRLayerH hLayer ); -void OGRAPISpy_L_GetName( OGRLayerH hLayer ); -void OGRAPISpy_L_GetGeomType( OGRLayerH hLayer ); -void OGRAPISpy_L_SetIgnoredFields( OGRLayerH hLayer, - const char** papszIgnoredFields ); - -void OGRAPISpy_FD_GetGeomType(OGRFeatureDefnH hDefn); -void OGRAPISpy_FD_GetFieldCount(OGRFeatureDefnH hDefn); -void OGRAPISpy_FD_GetFieldDefn(OGRFeatureDefnH hDefn, int iField, - OGRFieldDefnH hGeomField); -void OGRAPISpy_FD_GetFieldIndex(OGRFeatureDefnH hDefn, const char* pszFieldName); - -void OGRAPISpy_Fld_GetXXXX(OGRFieldDefnH hField, const char* pszOp); - -void OGRAPISpy_FD_GetGeomFieldCount(OGRFeatureDefnH hDefn); -void OGRAPISpy_FD_GetGeomFieldDefn(OGRFeatureDefnH hDefn, int iGeomField, - OGRGeomFieldDefnH hGeomField); -void OGRAPISpy_FD_GetGeomFieldIndex(OGRFeatureDefnH hDefn, const char* pszFieldName); -void OGRAPISpy_GFld_GetXXXX(OGRGeomFieldDefnH hGeomField, const char* pszOp); - -CPL_C_END - -#endif /* OGRAPISPY_ENABLED */ - -#endif /* OGRAPISPY_H_INCLUDED */ diff --git a/src/gdal/ogrgeomediageometry.h b/src/gdal/ogrgeomediageometry.h deleted file mode 100644 index 6de124fe..00000000 --- a/src/gdal/ogrgeomediageometry.h +++ /dev/null @@ -1,43 +0,0 @@ -/****************************************************************************** - * $Id: ogrgeomediageometry.h 31777 2015-11-26 14:14:41Z rouault $ - * - * Project: OpenGIS Simple Features Reference Implementation - * Purpose: Implements decoder of geomedia geometry blobs - * Author: Even Rouault, - * - ****************************************************************************** - * Copyright (c) 2011, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OGR_GEOMEDIAGEOMETRY_H_INCLUDED -#define OGR_GEOMEDIAGEOMETRY_H_INCLUDED - -#include "ogr_geometry.h" -#include "ogr_spatialref.h" -#include "ogr_feature.h" - -OGRErr OGRCreateFromGeomedia( GByte *pabyGeom, - OGRGeometry **ppoGeom, - int nBytes ); - -OGRSpatialReference* OGRGetGeomediaSRS(OGRFeature* poFeature); - -#endif diff --git a/src/gdal/ogrpgeogeometry.h b/src/gdal/ogrpgeogeometry.h deleted file mode 100644 index c8838754..00000000 --- a/src/gdal/ogrpgeogeometry.h +++ /dev/null @@ -1,96 +0,0 @@ -/****************************************************************************** - * $Id: ogrpgeogeometry.h 33631 2016-03-04 06:28:09Z goatbar $ - * - * Project: OpenGIS Simple Features Reference Implementation - * Purpose: Implements decoder of shapebin geometry for PGeo - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 2005, Frank Warmerdam - * Copyright (c) 2011-2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OGR_PGEOGEOMETRY_H_INCLUDED -#define OGR_PGEOGEOMETRY_H_INCLUDED - -#include "ogr_geometry.h" - -#define SHPT_NULL 0 - -#define SHPT_POINT 1 -#define SHPT_POINTM 21 -#define SHPT_POINTZM 11 -#define SHPT_POINTZ 9 - -#define SHPT_MULTIPOINT 8 -#define SHPT_MULTIPOINTM 28 -#define SHPT_MULTIPOINTZM 18 -#define SHPT_MULTIPOINTZ 20 - -#define SHPT_ARC 3 -#define SHPT_ARCM 23 -#define SHPT_ARCZM 13 -#define SHPT_ARCZ 10 - -#define SHPT_POLYGON 5 -#define SHPT_POLYGONM 25 -#define SHPT_POLYGONZM 15 -#define SHPT_POLYGONZ 19 - -#define SHPT_MULTIPATCHM 31 -#define SHPT_MULTIPATCH 32 - -#define SHPT_GENERALPOLYLINE 50 -#define SHPT_GENERALPOLYGON 51 -#define SHPT_GENERALPOINT 52 -#define SHPT_GENERALMULTIPOINT 53 -#define SHPT_GENERALMULTIPATCH 54 - -/* The following are layers geometry type */ -/* They are different from the above shape types */ -#define ESRI_LAYERGEOMTYPE_NULL 0 -#define ESRI_LAYERGEOMTYPE_POINT 1 -#define ESRI_LAYERGEOMTYPE_MULTIPOINT 2 -#define ESRI_LAYERGEOMTYPE_POLYLINE 3 -#define ESRI_LAYERGEOMTYPE_POLYGON 4 -#define ESRI_LAYERGEOMTYPE_MULTIPATCH 9 - -void OGRCreateFromMultiPatchPart(OGRMultiPolygon *poMP, - OGRPolygon*& poLastPoly, - int nPartType, - int nPartPoints, - double* padfX, - double* padfY, - double* padfZ); - -OGRErr CPL_DLL OGRCreateFromShapeBin( GByte *pabyShape, - OGRGeometry **ppoGeom, - int nBytes ); - -OGRErr CPL_DLL OGRWriteToShapeBin( OGRGeometry *poGeom, - GByte **ppabyShape, - int *pnBytes ); - -OGRErr CPL_DLL OGRWriteMultiPatchToShapeBin( OGRGeometry *poGeom, - GByte **ppabyShape, - int *pnBytes ); - -#endif diff --git a/src/gdal/ogrsf_frmts.h b/src/gdal/ogrsf_frmts.h deleted file mode 100644 index f846586d..00000000 --- a/src/gdal/ogrsf_frmts.h +++ /dev/null @@ -1,428 +0,0 @@ -/****************************************************************************** - * $Id: ogrsf_frmts.h 35040 2016-08-10 14:02:46Z rouault $ - * - * Project: OpenGIS Simple Features Reference Implementation - * Purpose: Classes related to format registration, and file opening. - * Author: Frank Warmerdam, warmerda@home.com - * - ****************************************************************************** - * Copyright (c) 1999, Les Technologies SoftMap Inc. - * Copyright (c) 2007-2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OGRSF_FRMTS_H_INCLUDED -#define OGRSF_FRMTS_H_INCLUDED - -#include "cpl_progress.h" -#include "ogr_feature.h" -#include "ogr_featurestyle.h" -#include "gdal_priv.h" - -/** - * \file ogrsf_frmts.h - * - * Classes related to registration of format support, and opening datasets. - */ - -#if !defined(GDAL_COMPILATION) && !defined(SUPPRESS_DEPRECATION_WARNINGS) -#define OGR_DEPRECATED(x) CPL_WARN_DEPRECATED(x) -#else -#define OGR_DEPRECATED(x) -#endif - -class OGRLayerAttrIndex; -class OGRSFDriver; - -/************************************************************************/ -/* OGRLayer */ -/************************************************************************/ - -/** - * This class represents a layer of simple features, with access methods. - * - */ - -/* Note: any virtual method added to this class must also be added in the */ -/* OGRLayerDecorator and OGRMutexedLayer classes. */ - -class CPL_DLL OGRLayer : public GDALMajorObject -{ - private: - void ConvertGeomsIfNecessary( OGRFeature *poFeature ); - - protected: - int m_bFilterIsEnvelope; - OGRGeometry *m_poFilterGeom; - OGRPreparedGeometry *m_pPreparedFilterGeom; /* m_poFilterGeom compiled as a prepared geometry */ - OGREnvelope m_sFilterEnvelope; - int m_iGeomFieldFilter; // specify the index on which the spatial - // filter is active. - - int FilterGeometry( OGRGeometry * ); - //int FilterGeometry( OGRGeometry *, OGREnvelope* psGeometryEnvelope); - int InstallFilter( OGRGeometry * ); - - OGRErr GetExtentInternal(int iGeomField, OGREnvelope *psExtent, int bForce ); - - virtual OGRErr ISetFeature( OGRFeature *poFeature ) CPL_WARN_UNUSED_RESULT; - virtual OGRErr ICreateFeature( OGRFeature *poFeature ) CPL_WARN_UNUSED_RESULT; - - public: - OGRLayer(); - virtual ~OGRLayer(); - - virtual OGRGeometry *GetSpatialFilter(); - virtual void SetSpatialFilter( OGRGeometry * ); - virtual void SetSpatialFilterRect( double dfMinX, double dfMinY, - double dfMaxX, double dfMaxY ); - - virtual void SetSpatialFilter( int iGeomField, OGRGeometry * ); - virtual void SetSpatialFilterRect( int iGeomField, - double dfMinX, double dfMinY, - double dfMaxX, double dfMaxY ); - - virtual OGRErr SetAttributeFilter( const char * ); - - virtual void ResetReading() = 0; - virtual OGRFeature *GetNextFeature() CPL_WARN_UNUSED_RESULT = 0; - virtual OGRErr SetNextByIndex( GIntBig nIndex ); - virtual OGRFeature *GetFeature( GIntBig nFID ) CPL_WARN_UNUSED_RESULT; - - OGRErr SetFeature( OGRFeature *poFeature ) CPL_WARN_UNUSED_RESULT; - OGRErr CreateFeature( OGRFeature *poFeature ) CPL_WARN_UNUSED_RESULT; - - virtual OGRErr DeleteFeature( GIntBig nFID ) CPL_WARN_UNUSED_RESULT; - - virtual const char *GetName(); - virtual OGRwkbGeometryType GetGeomType(); - virtual OGRFeatureDefn *GetLayerDefn() = 0; - virtual int FindFieldIndex( const char *pszFieldName, int bExactMatch ); - - virtual OGRSpatialReference *GetSpatialRef(); - - virtual GIntBig GetFeatureCount( int bForce = TRUE ); - virtual OGRErr GetExtent(OGREnvelope *psExtent, int bForce = TRUE) CPL_WARN_UNUSED_RESULT; - virtual OGRErr GetExtent(int iGeomField, OGREnvelope *psExtent, - int bForce = TRUE) CPL_WARN_UNUSED_RESULT; - - virtual int TestCapability( const char * ) = 0; - - virtual OGRErr CreateField( OGRFieldDefn *poField, - int bApproxOK = TRUE ); - virtual OGRErr DeleteField( int iField ); - virtual OGRErr ReorderFields( int* panMap ); - virtual OGRErr AlterFieldDefn( int iField, OGRFieldDefn* poNewFieldDefn, int nFlagsIn ); - - virtual OGRErr CreateGeomField( OGRGeomFieldDefn *poField, - int bApproxOK = TRUE ); - - virtual OGRErr SyncToDisk(); - - virtual OGRStyleTable *GetStyleTable(); - virtual void SetStyleTableDirectly( OGRStyleTable *poStyleTable ); - - virtual void SetStyleTable(OGRStyleTable *poStyleTable); - - virtual OGRErr StartTransaction() CPL_WARN_UNUSED_RESULT; - virtual OGRErr CommitTransaction() CPL_WARN_UNUSED_RESULT; - virtual OGRErr RollbackTransaction(); - - virtual const char *GetFIDColumn(); - virtual const char *GetGeometryColumn(); - - virtual OGRErr SetIgnoredFields( const char **papszFields ); - - OGRErr Intersection( OGRLayer *pLayerMethod, - OGRLayer *pLayerResult, - char** papszOptions = NULL, - GDALProgressFunc pfnProgress = NULL, - void * pProgressArg = NULL ); - OGRErr Union( OGRLayer *pLayerMethod, - OGRLayer *pLayerResult, - char** papszOptions = NULL, - GDALProgressFunc pfnProgress = NULL, - void * pProgressArg = NULL ); - OGRErr SymDifference( OGRLayer *pLayerMethod, - OGRLayer *pLayerResult, - char** papszOptions, - GDALProgressFunc pfnProgress, - void * pProgressArg ); - OGRErr Identity( OGRLayer *pLayerMethod, - OGRLayer *pLayerResult, - char** papszOptions = NULL, - GDALProgressFunc pfnProgress = NULL, - void * pProgressArg = NULL ); - OGRErr Update( OGRLayer *pLayerMethod, - OGRLayer *pLayerResult, - char** papszOptions = NULL, - GDALProgressFunc pfnProgress = NULL, - void * pProgressArg = NULL ); - OGRErr Clip( OGRLayer *pLayerMethod, - OGRLayer *pLayerResult, - char** papszOptions = NULL, - GDALProgressFunc pfnProgress = NULL, - void * pProgressArg = NULL ); - OGRErr Erase( OGRLayer *pLayerMethod, - OGRLayer *pLayerResult, - char** papszOptions = NULL, - GDALProgressFunc pfnProgress = NULL, - void * pProgressArg = NULL ); - - int Reference(); - int Dereference(); - int GetRefCount() const; - - GIntBig GetFeaturesRead(); - - /* non virtual : convenience wrapper for ReorderFields() */ - OGRErr ReorderField( int iOldFieldPos, int iNewFieldPos ); - - int AttributeFilterEvaluationNeedsGeometry(); - - /* consider these private */ - OGRErr InitializeIndexSupport( const char * ); - OGRLayerAttrIndex *GetIndex() { return m_poAttrIndex; } - - protected: - OGRStyleTable *m_poStyleTable; - OGRFeatureQuery *m_poAttrQuery; - char *m_pszAttrQueryString; - OGRLayerAttrIndex *m_poAttrIndex; - - int m_nRefCount; - - GIntBig m_nFeaturesRead; -}; - -/************************************************************************/ -/* OGRDataSource */ -/************************************************************************/ - -/** - * LEGACY class. Use GDALDataset in your new code ! This class may be - * removed in a later release. - * - * This class represents a data source. A data source potentially - * consists of many layers (OGRLayer). A data source normally consists - * of one, or a related set of files, though the name doesn't have to be - * a real item in the file system. - * - * When an OGRDataSource is destroyed, all it's associated OGRLayers objects - * are also destroyed. - * - * NOTE: Starting with GDAL 2.0, it is *NOT* safe to cast the handle of - * a C function that returns a OGRDataSourceH to a OGRDataSource*. If a C++ object - * is needed, the handle should be cast to GDALDataset*. - * - * @deprecated - */ - -class CPL_DLL OGRDataSource : public GDALDataset -{ -public: - OGRDataSource(); - - virtual const char *GetName() OGR_DEPRECATED("Use GDALDataset class instead") = 0; - - static void DestroyDataSource( OGRDataSource * ) OGR_DEPRECATED("Use GDALDataset class instead"); -}; - -/************************************************************************/ -/* OGRSFDriver */ -/************************************************************************/ - -/** - * LEGACY class. Use GDALDriver in your new code ! This class may be - * removed in a later release. - * - * Represents an operational format driver. - * - * One OGRSFDriver derived class will normally exist for each file format - * registered for use, regardless of whether a file has or will be opened. - * The list of available drivers is normally managed by the - * OGRSFDriverRegistrar. - * - * NOTE: Starting with GDAL 2.0, it is *NOT* safe to cast the handle of - * a C function that returns a OGRSFDriverH to a OGRSFDriver*. If a C++ object - * is needed, the handle should be cast to GDALDriver*. - * - * @deprecated - */ - -class CPL_DLL OGRSFDriver : public GDALDriver -{ - public: - virtual ~OGRSFDriver(); - - virtual const char *GetName() OGR_DEPRECATED("Use GDALDriver class instead") = 0; - - virtual OGRDataSource *Open( const char *pszName, int bUpdate=FALSE ) OGR_DEPRECATED("Use GDALDriver class instead") = 0; - - virtual int TestCapability( const char *pszCap ) OGR_DEPRECATED("Use GDALDriver class instead") = 0; - - virtual OGRDataSource *CreateDataSource( const char *pszName, - char ** = NULL ) OGR_DEPRECATED("Use GDALDriver class instead"); - virtual OGRErr DeleteDataSource( const char *pszName ) OGR_DEPRECATED("Use GDALDriver class instead"); -}; - - -/************************************************************************/ -/* OGRSFDriverRegistrar */ -/************************************************************************/ - -/** - * LEGACY class. Use GDALDriverManager in your new code ! This class may be - * removed in a later release. - * - * Singleton manager for OGRSFDriver instances that will be used to try - * and open datasources. Normally the registrar is populated with - * standard drivers using the OGRRegisterAll() function and does not need - * to be directly accessed. The driver registrar and all registered drivers - * may be cleaned up on shutdown using OGRCleanupAll(). - * - * @deprecated - */ - -class CPL_DLL OGRSFDriverRegistrar -{ - - OGRSFDriverRegistrar(); - ~OGRSFDriverRegistrar(); - - static GDALDataset* OpenWithDriverArg(GDALDriver* poDriver, - GDALOpenInfo* poOpenInfo); - static GDALDataset* CreateVectorOnly( GDALDriver* poDriver, - const char * pszName, - char ** papszOptions ); - static CPLErr DeleteDataSource( GDALDriver* poDriver, - const char * pszName ); - - public: - - static OGRSFDriverRegistrar *GetRegistrar() OGR_DEPRECATED("Use GDALDriverManager class instead"); - - void RegisterDriver( OGRSFDriver * poDriver ) OGR_DEPRECATED("Use GDALDriverManager class instead"); - - int GetDriverCount( void ) OGR_DEPRECATED("Use GDALDriverManager class instead"); - GDALDriver *GetDriver( int iDriver ) OGR_DEPRECATED("Use GDALDriverManager class instead"); - GDALDriver *GetDriverByName( const char * ) OGR_DEPRECATED("Use GDALDriverManager class instead"); - - int GetOpenDSCount() OGR_DEPRECATED("Use GDALDriverManager class instead"); - OGRDataSource *GetOpenDS( int ) OGR_DEPRECATED("Use GDALDriverManager class instead"); -}; - -/* -------------------------------------------------------------------- */ -/* Various available registration methods. */ -/* -------------------------------------------------------------------- */ -CPL_C_START -void CPL_DLL OGRRegisterAll(); -void OGRRegisterAllInternal(); - -void CPL_DLL RegisterOGRFileGDB(); -void CPL_DLL RegisterOGRShape(); -void CPL_DLL RegisterOGRDB2(); -void CPL_DLL RegisterOGRNTF(); -void CPL_DLL RegisterOGRFME(); -void CPL_DLL RegisterOGRSDTS(); -void CPL_DLL RegisterOGRTiger(); -void CPL_DLL RegisterOGRS57(); -void CPL_DLL RegisterOGRTAB(); -void CPL_DLL RegisterOGRMIF(); -void CPL_DLL RegisterOGROGDI(); -void CPL_DLL RegisterOGRODBC(); -void CPL_DLL RegisterOGRWAsP(); -void CPL_DLL RegisterOGRPG(); -void CPL_DLL RegisterOGRMSSQLSpatial(); -void CPL_DLL RegisterOGRMySQL(); -void CPL_DLL RegisterOGROCI(); -void CPL_DLL RegisterOGRDGN(); -void CPL_DLL RegisterOGRGML(); -void CPL_DLL RegisterOGRLIBKML(); -void CPL_DLL RegisterOGRKML(); -void CPL_DLL RegisterOGRGeoJSON(); -void CPL_DLL RegisterOGRAVCBin(); -void CPL_DLL RegisterOGRAVCE00(); -void CPL_DLL RegisterOGRREC(); -void CPL_DLL RegisterOGRMEM(); -void CPL_DLL RegisterOGRVRT(); -void CPL_DLL RegisterOGRDODS(); -void CPL_DLL RegisterOGRSQLite(); -void CPL_DLL RegisterOGRCSV(); -void CPL_DLL RegisterOGRILI1(); -void CPL_DLL RegisterOGRILI2(); -void CPL_DLL RegisterOGRGRASS(); -void CPL_DLL RegisterOGRPGeo(); -void CPL_DLL RegisterOGRDXFDWG(); -void CPL_DLL RegisterOGRDXF(); -void CPL_DLL RegisterOGRDWG(); -void CPL_DLL RegisterOGRSDE(); -void CPL_DLL RegisterOGRIDB(); -void CPL_DLL RegisterOGRGMT(); -void CPL_DLL RegisterOGRBNA(); -void CPL_DLL RegisterOGRGPX(); -void CPL_DLL RegisterOGRGeoconcept(); -void CPL_DLL RegisterOGRIngres(); -void CPL_DLL RegisterOGRXPlane(); -void CPL_DLL RegisterOGRNAS(); -void CPL_DLL RegisterOGRGeoRSS(); -void CPL_DLL RegisterOGRGTM(); -void CPL_DLL RegisterOGRVFK(); -void CPL_DLL RegisterOGRPGDump(); -void CPL_DLL RegisterOGROSM(); -void CPL_DLL RegisterOGRGPSBabel(); -void CPL_DLL RegisterOGRSUA(); -void CPL_DLL RegisterOGROpenAir(); -void CPL_DLL RegisterOGRPDS(); -void CPL_DLL RegisterOGRWFS(); -void CPL_DLL RegisterOGRSOSI(); -void CPL_DLL RegisterOGRHTF(); -void CPL_DLL RegisterOGRAeronavFAA(); -void CPL_DLL RegisterOGRGeomedia(); -void CPL_DLL RegisterOGRMDB(); -void CPL_DLL RegisterOGREDIGEO(); -void CPL_DLL RegisterOGRGFT(); -void CPL_DLL RegisterOGRSVG(); -void CPL_DLL RegisterOGRCouchDB(); -void CPL_DLL RegisterOGRCloudant(); -void CPL_DLL RegisterOGRIdrisi(); -void CPL_DLL RegisterOGRARCGEN(); -void CPL_DLL RegisterOGRSEGUKOOA(); -void CPL_DLL RegisterOGRSEGY(); -void CPL_DLL RegisterOGRXLS(); -void CPL_DLL RegisterOGRODS(); -void CPL_DLL RegisterOGRXLSX(); -void CPL_DLL RegisterOGRElastic(); -void CPL_DLL RegisterOGRGeoPackage(); -void CPL_DLL RegisterOGRWalk(); -void CPL_DLL RegisterOGRCarto(); -void CPL_DLL RegisterOGRCartoDB(); // Just kept for C ABI stability -void CPL_DLL RegisterOGRAmigoCloud(); -void CPL_DLL RegisterOGRSXF(); -void CPL_DLL RegisterOGROpenFileGDB(); -void CPL_DLL RegisterOGRSelafin(); -void CPL_DLL RegisterOGRJML(); -void CPL_DLL RegisterOGRPLSCENES(); -void CPL_DLL RegisterOGRCSW(); -void CPL_DLL RegisterOGRMongoDB(); -void CPL_DLL RegisterOGRVDV(); -CPL_C_END - -#endif /* ndef OGRSF_FRMTS_H_INCLUDED */ diff --git a/src/gdal/osr_cs_wkt.h b/src/gdal/osr_cs_wkt.h deleted file mode 100644 index d895c3c9..00000000 --- a/src/gdal/osr_cs_wkt.h +++ /dev/null @@ -1,55 +0,0 @@ -/****************************************************************************** - * $Id: osr_cs_wkt.h 31777 2015-11-26 14:14:41Z rouault $ - * - * Project: OpenGIS Simple Features Reference Implementation - * Purpose: CS WKT parser - * Author: Even Rouault, - * - ****************************************************************************** - * Copyright (c) 2013, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef OSR_CS_WKT_H_INCLUDED_ -#define OSR_CS_WKT_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct -{ - const char *pszInput; - const char *pszLastSuccess; - const char *pszNext; - char szErrorMsg[512]; -} osr_cs_wkt_parse_context; - -#include "osr_cs_wkt_parser.h" - -void osr_cs_wkt_error( osr_cs_wkt_parse_context *context, const char *msg ); -int osr_cs_wkt_lex(YYSTYPE* pNode, osr_cs_wkt_parse_context *context); -int osr_cs_wkt_parse(osr_cs_wkt_parse_context *context); - -#ifdef __cplusplus -} -#endif - -#endif /* OSR_CS_WKT_H_INCLUDED_ */ diff --git a/src/gdal/osr_cs_wkt_parser.h b/src/gdal/osr_cs_wkt_parser.h deleted file mode 100644 index c4678054..00000000 --- a/src/gdal/osr_cs_wkt_parser.h +++ /dev/null @@ -1,89 +0,0 @@ -/* A Bison parser, made by GNU Bison 3.0. */ - -/* Bison interface for Yacc-like parsers in C - - Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - -#ifndef YY_OSR_CS_WKT_OSR_CS_WKT_PARSER_H_INCLUDED -# define YY_OSR_CS_WKT_OSR_CS_WKT_PARSER_H_INCLUDED -/* Debug traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif -#if YYDEBUG -extern int osr_cs_wkt_debug; -#endif - -/* Token type. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - enum yytokentype - { - END = 0, - T_PARAM_MT = 258, - T_CONCAT_MT = 259, - T_INVERSE_MT = 260, - T_PASSTHROUGH_MT = 261, - T_PROJCS = 262, - T_PROJECTION = 263, - T_GEOGCS = 264, - T_DATUM = 265, - T_SPHEROID = 266, - T_PRIMEM = 267, - T_UNIT = 268, - T_GEOCCS = 269, - T_AUTHORITY = 270, - T_VERT_CS = 271, - T_VERT_DATUM = 272, - T_COMPD_CS = 273, - T_AXIS = 274, - T_TOWGS84 = 275, - T_FITTED_CS = 276, - T_LOCAL_CS = 277, - T_LOCAL_DATUM = 278, - T_PARAMETER = 279, - T_EXTENSION = 280, - T_STRING = 281, - T_NUMBER = 282, - T_IDENTIFIER = 283 - }; -#endif - -/* Value type. */ -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef int YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1 -# define YYSTYPE_IS_DECLARED 1 -#endif - - - -int osr_cs_wkt_parse (osr_cs_wkt_parse_context *context); - -#endif /* !YY_OSR_CS_WKT_OSR_CS_WKT_PARSER_H_INCLUDED */ diff --git a/src/gdal/rawdataset.h b/src/gdal/rawdataset.h deleted file mode 100644 index 9a52b732..00000000 --- a/src/gdal/rawdataset.h +++ /dev/null @@ -1,179 +0,0 @@ -/****************************************************************************** - * $Id: rawdataset.h 33673 2016-03-07 20:40:54Z goatbar $ - * - * Project: Raw Translator - * Purpose: Implementation of RawDataset class. Intended to be subclassed - * by other raw formats. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 1999, Frank Warmerdam - * Copyright (c) 2008-2014, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef GDAL_FRMTS_RAW_RAWDATASET_H_INCLUDED -#define GDAL_FRMTS_RAW_RAWDATASET_H_INCLUDED - -#include "gdal_pam.h" - -/************************************************************************/ -/* ==================================================================== */ -/* RawDataset */ -/* ==================================================================== */ -/************************************************************************/ - -class RawRasterBand; - -/** - * \brief Abstract Base Class dedicated to define new raw dataset types. - */ -class CPL_DLL RawDataset : public GDALPamDataset -{ - friend class RawRasterBand; - - protected: - virtual CPLErr IRasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - int, int *, - GSpacing nPixelSpace, GSpacing nLineSpace, - GSpacing nBandSpace, - GDALRasterIOExtraArg* psExtraArg ); - public: - RawDataset(); - ~RawDataset() = 0; - - private: - CPL_DISALLOW_COPY_ASSIGN(RawDataset); -}; - -/************************************************************************/ -/* ==================================================================== */ -/* RawRasterBand */ -/* ==================================================================== */ -/************************************************************************/ - -/** - * \brief Abstract Base Class dedicated to define raw datasets. - * \note It is not defined an Abstract Base Class, but it's advised to - * consider it as such and not use it directly in client's code. - */ -class CPL_DLL RawRasterBand : public GDALPamRasterBand -{ -protected: - friend class RawDataset; - - FILE *fpRaw; - VSILFILE *fpRawL; - int bIsVSIL; - - vsi_l_offset nImgOffset; - int nPixelOffset; - int nLineOffset; - int nLineSize; - int bNativeOrder; - - int nLoadedScanline; - void *pLineBuffer; - void *pLineStart; - int bDirty; - - GDALColorTable *poCT; - GDALColorInterp eInterp; - - char **papszCategoryNames; - - int bOwnsFP; - - int Seek( vsi_l_offset, int ); - size_t Read( void *, size_t, size_t ); - size_t Write( void *, size_t, size_t ); - - CPLErr AccessBlock( vsi_l_offset nBlockOff, size_t nBlockSize, - void * pData ); - int IsSignificantNumberOfLinesLoaded( int nLineOff, int nLines ); - void Initialize(); - - virtual CPLErr IRasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - GSpacing nPixelSpace, GSpacing nLineSpace, - GDALRasterIOExtraArg* psExtraArg ); - - int CanUseDirectIO(int nXOff, int nYOff, int nXSize, int nYSize, - GDALDataType eBufType); - -public: - - RawRasterBand( GDALDataset *poDS, int nBand, void * fpRaw, - vsi_l_offset nImgOffset, int nPixelOffset, - int nLineOffset, - GDALDataType eDataType, int bNativeOrder, - int bIsVSIL = FALSE, int bOwnsFP = FALSE ); - - RawRasterBand( void * fpRaw, - vsi_l_offset nImgOffset, int nPixelOffset, - int nLineOffset, - GDALDataType eDataType, int bNativeOrder, - int nXSize, int nYSize, int bIsVSIL = FALSE, int bOwnsFP = FALSE ); - - ~RawRasterBand() /* = 0 */ ; - - // should override RasterIO eventually. - - virtual CPLErr IReadBlock( int, int, void * ); - virtual CPLErr IWriteBlock( int, int, void * ); - - virtual GDALColorTable *GetColorTable(); - virtual GDALColorInterp GetColorInterpretation(); - virtual CPLErr SetColorTable( GDALColorTable * ); - virtual CPLErr SetColorInterpretation( GDALColorInterp ); - - virtual char **GetCategoryNames(); - virtual CPLErr SetCategoryNames( char ** ); - - virtual CPLErr FlushCache(); - - virtual CPLVirtualMem *GetVirtualMemAuto( GDALRWFlag eRWFlag, - int *pnPixelSpace, - GIntBig *pnLineSpace, - char **papszOptions ); - - CPLErr AccessLine( int iLine ); - - void SetAccess( GDALAccess eAccess ); - - // this is deprecated. - void StoreNoDataValue( double ); - - // Query methods for internal data. - vsi_l_offset GetImgOffset() { return nImgOffset; } - int GetPixelOffset() { return nPixelOffset; } - int GetLineOffset() { return nLineOffset; } - int GetNativeOrder() { return bNativeOrder; } - int GetIsVSIL() { return bIsVSIL; } - FILE *GetFP() { return (bIsVSIL) ? reinterpret_cast( fpRawL ) : fpRaw; } - VSILFILE *GetFPL() { CPLAssert(bIsVSIL); return fpRawL; } - int GetOwnsFP() { return bOwnsFP; } - - private: - CPL_DISALLOW_COPY_ASSIGN(RawRasterBand); -}; - -#endif // GDAL_FRMTS_RAW_RAWDATASET_H_INCLUDED diff --git a/src/gdal/swq.h b/src/gdal/swq.h deleted file mode 100644 index e9548659..00000000 --- a/src/gdal/swq.h +++ /dev/null @@ -1,389 +0,0 @@ -/****************************************************************************** - * - * Component: OGDI Driver Support Library - * Purpose: Generic SQL WHERE Expression Evaluator Declarations. - * Author: Frank Warmerdam - * - ****************************************************************************** - * Copyright (C) 2001 Information Interoperability Institute (3i) - * Copyright (c) 2010-2013, Even Rouault - * Permission to use, copy, modify and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that the above copyright notice appear in all copies, that - * both the copyright notice and this permission notice appear in - * supporting documentation, and that the name of 3i not be used - * in advertising or publicity pertaining to distribution of the software - * without specific, written prior permission. 3i makes no - * representations about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - ****************************************************************************/ - -#ifndef SWQ_H_INCLUDED_ -#define SWQ_H_INCLUDED_ - -#include "cpl_conv.h" -#include "cpl_string.h" -#include "ogr_core.h" - -#if defined(_WIN32) && !defined(strcasecmp) -# define strcasecmp stricmp -#endif - -typedef enum { - SWQ_OR, - SWQ_AND, - SWQ_NOT, - SWQ_EQ, - SWQ_NE, - SWQ_GE, - SWQ_LE, - SWQ_LT, - SWQ_GT, - SWQ_LIKE, - SWQ_ISNULL, - SWQ_IN, - SWQ_BETWEEN, - SWQ_ADD, - SWQ_SUBTRACT, - SWQ_MULTIPLY, - SWQ_DIVIDE, - SWQ_MODULUS, - SWQ_CONCAT, - SWQ_SUBSTR, - SWQ_HSTORE_GET_VALUE, - SWQ_AVG, - SWQ_MIN, - SWQ_MAX, - SWQ_COUNT, - SWQ_SUM, - SWQ_CAST, - SWQ_CUSTOM_FUNC, /* only if parsing done in bAcceptCustomFuncs mode */ - SWQ_ARGUMENT_LIST /* temporary value only set during parsing and replaced by something else at the end */ -} swq_op; - -typedef enum { - SWQ_INTEGER, - SWQ_INTEGER64, - SWQ_FLOAT, - SWQ_STRING, - SWQ_BOOLEAN, // integer - SWQ_DATE, // string - SWQ_TIME, // string - SWQ_TIMESTAMP,// string - SWQ_GEOMETRY, - SWQ_NULL, - SWQ_OTHER, - SWQ_ERROR -} swq_field_type; - -#define SWQ_IS_INTEGER(x) ((x) == SWQ_INTEGER || (x) == SWQ_INTEGER64) - -typedef enum { - SNT_CONSTANT, - SNT_COLUMN, - SNT_OPERATION -} swq_node_type; - - -class swq_field_list; -class swq_expr_node; -class swq_select; -class OGRGeometry; - -typedef swq_expr_node *(*swq_field_fetcher)( swq_expr_node *op, - void *record_handle ); -typedef swq_expr_node *(*swq_op_evaluator)(swq_expr_node *op, - swq_expr_node **sub_field_values ); -typedef swq_field_type (*swq_op_checker)( swq_expr_node *op, - int bAllowMismatchTypeOnFieldComparison ); - -class swq_custom_func_registrar; - -class swq_expr_node { -public: - swq_expr_node(); - - explicit swq_expr_node( const char * ); - explicit swq_expr_node( int ); - explicit swq_expr_node( GIntBig ); - explicit swq_expr_node( double ); - explicit swq_expr_node( OGRGeometry* ); - explicit swq_expr_node( swq_op ); - - ~swq_expr_node(); - - void Initialize(); - CPLString UnparseOperationFromUnparsedSubExpr(char** apszSubExpr); - char *Unparse( swq_field_list *, char chColumnQuote ); - void Dump( FILE *fp, int depth ); - swq_field_type Check( swq_field_list *, int bAllowFieldsInSecondaryTables, - int bAllowMismatchTypeOnFieldComparison, - swq_custom_func_registrar* poCustomFuncRegistrar ); - swq_expr_node* Evaluate( swq_field_fetcher pfnFetcher, - void *record ); - swq_expr_node* Clone(); - - void ReplaceBetweenByGEAndLERecurse(); - - swq_node_type eNodeType; - swq_field_type field_type; - - /* only for SNT_OPERATION */ - void PushSubExpression( swq_expr_node * ); - void ReverseSubExpressions(); - int nOperation; - int nSubExprCount; - swq_expr_node **papoSubExpr; - - /* only for SNT_COLUMN */ - int field_index; - int table_index; - char *table_name; - - /* only for SNT_CONSTANT */ - int is_null; - GIntBig int_value; - double float_value; - OGRGeometry *geometry_value; - - /* shared by SNT_COLUMN, SNT_CONSTANT and also possibly SNT_OPERATION when */ - /* nOperation == SWQ_CUSTOM_FUNC */ - char *string_value; /* column name when SNT_COLUMN */ - - static CPLString QuoteIfNecessary( const CPLString &, char chQuote = '\'' ); - static CPLString Quote( const CPLString &, char chQuote = '\'' ); -}; - -typedef struct { - const char* pszName; - swq_op eOperation; - swq_op_evaluator pfnEvaluator; - swq_op_checker pfnChecker; -} swq_operation; - -class swq_op_registrar { -public: - static const swq_operation *GetOperator( const char * ); - static const swq_operation *GetOperator( swq_op eOperation ); -}; - -class swq_custom_func_registrar -{ - public: - virtual ~swq_custom_func_registrar() {} - virtual const swq_operation *GetOperator( const char * ) = 0; -}; - - -typedef struct { - char *data_source; - char *table_name; - char *table_alias; -} swq_table_def; - -class swq_field_list { -public: - int count; - char **names; - swq_field_type *types; - int *table_ids; - int *ids; - - int table_count; - swq_table_def *table_defs; -}; - -class swq_parse_context { -public: - swq_parse_context() : nStartToken(0), pszInput(NULL), pszNext(NULL), - pszLastValid(NULL), bAcceptCustomFuncs(FALSE), - poRoot(NULL), poCurSelect(NULL) {} - - int nStartToken; - const char *pszInput; - const char *pszNext; - const char *pszLastValid; - int bAcceptCustomFuncs; - - swq_expr_node *poRoot; - - swq_select *poCurSelect; -}; - -/* Compile an SQL WHERE clause into an internal form. The field_list is -** the list of fields in the target 'table', used to render where into -** field numbers instead of names. -*/ -int swqparse( swq_parse_context *context ); -int swqlex( swq_expr_node **ppNode, swq_parse_context *context ); -void swqerror( swq_parse_context *context, const char *msg ); - -int swq_identify_field( const char* table_name, - const char *token, swq_field_list *field_list, - swq_field_type *this_type, int *table_id ); - -CPLErr swq_expr_compile( const char *where_clause, - int field_count, - char **field_list, - swq_field_type *field_types, - int bCheck, - swq_custom_func_registrar* poCustomFuncRegistrar, - swq_expr_node **expr_root ); - -CPLErr swq_expr_compile2( const char *where_clause, - swq_field_list *field_list, - int bCheck, - swq_custom_func_registrar* poCustomFuncRegistrar, - swq_expr_node **expr_root ); - -/* -** Evaluation related. -*/ -int swq_test_like( const char *input, const char *pattern ); - -swq_expr_node *SWQGeneralEvaluator( swq_expr_node *, swq_expr_node **); -swq_field_type SWQGeneralChecker( swq_expr_node *node, int bAllowMismatchTypeOnFieldComparison ); -swq_expr_node *SWQCastEvaluator( swq_expr_node *, swq_expr_node **); -swq_field_type SWQCastChecker( swq_expr_node *node, int bAllowMismatchTypeOnFieldComparison ); -const char* SWQFieldTypeToString( swq_field_type field_type ); - -/****************************************************************************/ - -#define SWQP_ALLOW_UNDEFINED_COL_FUNCS 0x01 - -#define SWQM_SUMMARY_RECORD 1 -#define SWQM_RECORDSET 2 -#define SWQM_DISTINCT_LIST 3 - -typedef enum { - SWQCF_NONE = 0, - SWQCF_AVG = SWQ_AVG, - SWQCF_MIN = SWQ_MIN, - SWQCF_MAX = SWQ_MAX, - SWQCF_COUNT = SWQ_COUNT, - SWQCF_SUM = SWQ_SUM, - SWQCF_CUSTOM -} swq_col_func; - -typedef struct { - swq_col_func col_func; - char *table_name; - char *field_name; - char *field_alias; - int table_index; - int field_index; - swq_field_type field_type; - swq_field_type target_type; - OGRFieldSubType target_subtype; - int field_length; - int field_precision; - int distinct_flag; - OGRwkbGeometryType eGeomType; - int nSRID; - swq_expr_node *expr; -} swq_col_def; - -typedef struct { - GIntBig count; - - char **distinct_list; /* items of the list can be NULL */ - double sum; - double min; - double max; - char szMin[32]; - char szMax[32]; -} swq_summary; - -typedef struct { - char *table_name; - char *field_name; - int table_index; - int field_index; - int ascending_flag; -} swq_order_def; - -typedef struct { - int secondary_table; - swq_expr_node *poExpr; -} swq_join_def; - -class swq_select_parse_options -{ -public: - swq_custom_func_registrar* poCustomFuncRegistrar; - int bAllowFieldsInSecondaryTablesInWhere; - int bAddSecondaryTablesGeometryFields; - int bAlwaysPrefixWithTableName; - int bAllowDistinctOnGeometryField; - int bAllowDistinctOnMultipleFields; - - swq_select_parse_options(): poCustomFuncRegistrar(NULL), - bAllowFieldsInSecondaryTablesInWhere(FALSE), - bAddSecondaryTablesGeometryFields(FALSE), - bAlwaysPrefixWithTableName(FALSE), - bAllowDistinctOnGeometryField(FALSE), - bAllowDistinctOnMultipleFields(FALSE) {} -}; - -class swq_select -{ - void postpreparse(); - -public: - swq_select(); - ~swq_select(); - - int query_mode; - - char *raw_select; - - int PushField( swq_expr_node *poExpr, const char *pszAlias=NULL, - int distinct_flag = FALSE ); - int result_columns; - swq_col_def *column_defs; - swq_summary *column_summary; - - int PushTableDef( const char *pszDataSource, - const char *pszTableName, - const char *pszAlias ); - int table_count; - swq_table_def *table_defs; - - void PushJoin( int iSecondaryTable, swq_expr_node* poExpr ); - int join_count; - swq_join_def *join_defs; - - swq_expr_node *where_expr; - - void PushOrderBy( const char* pszTableName, const char *pszFieldName, int bAscending ); - int order_specs; - swq_order_def *order_defs; - - swq_select *poOtherSelect; - void PushUnionAll( swq_select* poOtherSelectIn ); - - CPLErr preparse( const char *select_statement, - int bAcceptCustomFuncs = FALSE ); - CPLErr expand_wildcard( swq_field_list *field_list, - int bAlwaysPrefixWithTableName ); - CPLErr parse( swq_field_list *field_list, - swq_select_parse_options* poParseOptions ); - - char *Unparse(); - void Dump( FILE * ); -}; - -CPLErr swq_select_parse( swq_select *select_info, - swq_field_list *field_list, - int parse_flags ); - -const char *swq_select_finish_summarize( swq_select *select_info ); -const char *swq_select_summarize( swq_select *select_info, - int dest_column, - const char *value ); - -int swq_is_reserved_keyword(const char* pszStr); - -char* OGRHStoreGetValue(const char* pszHStore, const char* pszSearchedKey); - -#endif /* def SWQ_H_INCLUDED_ */ diff --git a/src/gdal/thinplatespline.h b/src/gdal/thinplatespline.h deleted file mode 100644 index 91ab0521..00000000 --- a/src/gdal/thinplatespline.h +++ /dev/null @@ -1,188 +0,0 @@ -/****************************************************************************** - * $Id: thinplatespline.h 33715 2016-03-13 08:52:06Z goatbar $ - * - * Project: GDAL Warp API - * Purpose: Declarations for 2D Thin Plate Spline transformer. - * Author: VIZRT Development Team. - * - * This code was provided by Gilad Ronnen (gro at visrt dot com) with - * permission to reuse under the following license. - * - ****************************************************************************** - * Copyright (c) 2004, VIZRT Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#include "gdal_alg.h" -#include "cpl_conv.h" - -typedef enum -{ - VIZ_GEOREF_SPLINE_ZERO_POINTS, - VIZ_GEOREF_SPLINE_ONE_POINT, - VIZ_GEOREF_SPLINE_TWO_POINTS, - VIZ_GEOREF_SPLINE_ONE_DIMENSIONAL, - VIZ_GEOREF_SPLINE_FULL, - - VIZ_GEOREF_SPLINE_POINT_WAS_ADDED, - VIZ_GEOREF_SPLINE_POINT_WAS_DELETED - -} vizGeorefInterType; - -//#define VIZ_GEOREF_SPLINE_MAX_POINTS 40 -#define VIZGEOREF_MAX_VARS 2 - -class VizGeorefSpline2D -{ - bool grow_points(); - - public: - - VizGeorefSpline2D(int nof_vars = 1) : - type(VIZ_GEOREF_SPLINE_ZERO_POINTS), - _nof_vars(nof_vars), - _nof_points(0), - _max_nof_points(0), - _nof_eqs(0), -#if 0 - _tx(0.0), - _ty(0.0), - _ta(10.0), -#endif - _dx(0.0), - _dy(0.0), - x(NULL), - y(NULL), - u(NULL), - unused(NULL), - index(NULL) - { - for( int i = 0; i < VIZGEOREF_MAX_VARS; i++ ) - { - rhs[i] = NULL; - coef[i] = NULL; - } - - grow_points(); - } - - ~VizGeorefSpline2D() { - CPLFree( x ); - CPLFree( y ); - CPLFree( u ); - CPLFree( unused ); - CPLFree( index ); - for( int i = 0; i < _nof_vars; i++ ) - { - CPLFree( rhs[i] ); - CPLFree( coef[i] ); - } - } - -#if 0 - int get_nof_points(){ - return _nof_points; - } - - void set_toler( double tx, double ty ){ - _tx = tx; - _ty = ty; - } - - void get_toler( double& tx, double& ty) { - tx = _tx; - ty = _ty; - } - - vizGeorefInterType get_interpolation_type ( ){ - return type; - } - - void dump_data_points() - { - for ( int i = 0; i < _nof_points; i++ ) - { - fprintf(stderr, "X = %f Y = %f Vars = ", x[i], y[i]); - for ( int v = 0; v < _nof_vars; v++ ) - fprintf(stderr, "%f ", rhs[v][i+3]); - fprintf(stderr, "\n"); - } - } - - int delete_list() - { - _nof_points = 0; - type = VIZ_GEOREF_SPLINE_ZERO_POINTS; - if ( _AA ) - { - CPLFree(_AA); - _AA = NULL; - } - if ( _Ainv ) - { - CPLFree(_Ainv); - _Ainv = NULL; - } - return _nof_points; - } -#endif - - bool add_point( const double Px, const double Py, const double *Pvars ); - int get_point( const double Px, const double Py, double *Pvars ); -#if 0 - int delete_point(const double Px, const double Py ); - bool get_xy(int index, double& x, double& y); - bool change_point(int index, double x, double y, double* Pvars); - void reset(void) { _nof_points = 0; } -#endif - int solve(void); - - private: - - vizGeorefInterType type; - - const int _nof_vars; - int _nof_points; - int _max_nof_points; - int _nof_eqs; - -#if 0 - // Disabled because the methods that use there is disabled. - double _tx, _ty; - double _ta; -#endif - - double _dx, _dy; - - double *x; // [VIZ_GEOREF_SPLINE_MAX_POINTS+3]; - double *y; // [VIZ_GEOREF_SPLINE_MAX_POINTS+3]; - -// double rhs[VIZ_GEOREF_SPLINE_MAX_POINTS+3][VIZGEOREF_MAX_VARS]; -// double coef[VIZ_GEOREF_SPLINE_MAX_POINTS+3][VIZGEOREF_MAX_VARS]; - double *rhs[VIZGEOREF_MAX_VARS]; - double *coef[VIZGEOREF_MAX_VARS]; - - double *u; // [VIZ_GEOREF_SPLINE_MAX_POINTS]; - int *unused; // [VIZ_GEOREF_SPLINE_MAX_POINTS]; - int *index; // [VIZ_GEOREF_SPLINE_MAX_POINTS]; - - private: - CPL_DISALLOW_COPY_ASSIGN(VizGeorefSpline2D); -}; diff --git a/src/gdal/vrtdataset.h b/src/gdal/vrtdataset.h deleted file mode 100644 index 7bf25a7e..00000000 --- a/src/gdal/vrtdataset.h +++ /dev/null @@ -1,1035 +0,0 @@ -/****************************************************************************** - * $Id: vrtdataset.h 35350 2016-09-07 07:21:52Z rouault $ - * - * Project: Virtual GDAL Datasets - * Purpose: Declaration of virtual gdal dataset classes. - * Author: Frank Warmerdam, warmerdam@pobox.com - * - ****************************************************************************** - * Copyright (c) 2001, Frank Warmerdam - * Copyright (c) 2007-2013, Even Rouault - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -#ifndef VIRTUALDATASET_H_INCLUDED -#define VIRTUALDATASET_H_INCLUDED - -#include "cpl_hash_set.h" -#include "gdal_pam.h" -#include "gdal_priv.h" -#include "gdal_vrt.h" - -#include -#include - -int VRTApplyMetadata( CPLXMLNode *, GDALMajorObject * ); -CPLXMLNode *VRTSerializeMetadata( GDALMajorObject * ); - -#if 0 -int VRTWarpedOverviewTransform( void *pTransformArg, int bDstToSrc, - int nPointCount, - double *padfX, double *padfY, double *padfZ, - int *panSuccess ); -void* VRTDeserializeWarpedOverviewTransformer( CPLXMLNode *psTree ); -#endif - -/************************************************************************/ -/* VRTOverviewInfo() */ -/************************************************************************/ -class VRTOverviewInfo -{ -public: - CPLString osFilename; - int nBand; - GDALRasterBand *poBand; - int bTriedToOpen; - - VRTOverviewInfo() : nBand(0), poBand(NULL), bTriedToOpen(FALSE) {} - ~VRTOverviewInfo() { - if( poBand == NULL ) - /* do nothing */; - else if( poBand->GetDataset()->GetShared() ) - GDALClose( (GDALDatasetH) poBand->GetDataset() ); - else - poBand->GetDataset()->Dereference(); - } -}; - - -/************************************************************************/ -/* VRTSource */ -/************************************************************************/ - -class CPL_DLL VRTSource -{ -public: - virtual ~VRTSource(); - - virtual CPLErr RasterIO( int nXOff, int nYOff, int nXSize, int nYSize, - void *pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - GSpacing nPixelSpace, GSpacing nLineSpace, - GDALRasterIOExtraArg* psExtraArg ) = 0; - - virtual double GetMinimum( int nXSize, int nYSize, int *pbSuccess ) = 0; - virtual double GetMaximum( int nXSize, int nYSize, int *pbSuccess ) = 0; - virtual CPLErr ComputeRasterMinMax( int nXSize, int nYSize, int bApproxOK, double* adfMinMax ) = 0; - virtual CPLErr ComputeStatistics( int nXSize, int nYSize, - int bApproxOK, - double *pdfMin, double *pdfMax, - double *pdfMean, double *pdfStdDev, - GDALProgressFunc pfnProgress, void *pProgressData ) = 0; - virtual CPLErr GetHistogram( int nXSize, int nYSize, - double dfMin, double dfMax, - int nBuckets, GUIntBig * panHistogram, - int bIncludeOutOfRange, int bApproxOK, - GDALProgressFunc pfnProgress, void *pProgressData ) = 0; - - virtual CPLErr XMLInit( CPLXMLNode *psTree, const char * ) = 0; - virtual CPLXMLNode *SerializeToXML( const char *pszVRTPath ) = 0; - - virtual void GetFileList(char*** ppapszFileList, int *pnSize, - int *pnMaxSize, CPLHashSet* hSetFiles); - - virtual int IsSimpleSource() { return FALSE; } -}; - -typedef VRTSource *(*VRTSourceParser)(CPLXMLNode *, const char *); - -VRTSource *VRTParseCoreSources( CPLXMLNode *psTree, const char * ); -VRTSource *VRTParseFilterSources( CPLXMLNode *psTree, const char * ); - -/************************************************************************/ -/* VRTDataset */ -/************************************************************************/ - -class VRTRasterBand; - -class CPL_DLL VRTDataset : public GDALDataset -{ - friend class VRTRasterBand; - - char *m_pszProjection; - - int m_bGeoTransformSet; - double m_adfGeoTransform[6]; - - int m_nGCPCount; - GDAL_GCP *m_pasGCPList; - char *m_pszGCPProjection; - - int m_bNeedsFlush; - int m_bWritable; - - char *m_pszVRTPath; - - VRTRasterBand *m_poMaskBand; - - int m_bCompatibleForDatasetIO; - int CheckCompatibleForDatasetIO(); - std::vector m_apoOverviews; - std::vector m_apoOverviewsBak; - - protected: - virtual int CloseDependentDatasets(); - - public: - VRTDataset(int nXSize, int nYSize); - virtual ~VRTDataset(); - - void SetNeedsFlush() { m_bNeedsFlush = TRUE; } - virtual void FlushCache(); - - void SetWritable(int bWritableIn) { m_bWritable = bWritableIn; } - - virtual CPLErr CreateMaskBand( int nFlags ); - void SetMaskBand(VRTRasterBand* poMaskBand); - - virtual const char *GetProjectionRef(void); - virtual CPLErr SetProjection( const char * ); - virtual CPLErr GetGeoTransform( double * ); - virtual CPLErr SetGeoTransform( double * ); - - virtual CPLErr SetMetadata( char **papszMD, const char *pszDomain = "" ); - virtual CPLErr SetMetadataItem( const char *pszName, const char *pszValue, - const char *pszDomain = "" ); - - virtual char** GetMetadata( const char *pszDomain = "" ); - - virtual int GetGCPCount(); - virtual const char *GetGCPProjection(); - virtual const GDAL_GCP *GetGCPs(); - virtual CPLErr SetGCPs( int nGCPCount, const GDAL_GCP *pasGCPList, - const char *pszGCPProjection ); - - virtual CPLErr AddBand( GDALDataType eType, - char **papszOptions=NULL ); - - virtual char **GetFileList(); - - virtual CPLErr IRasterIO( GDALRWFlag eRWFlag, - int nXOff, int nYOff, int nXSize, int nYSize, - void * pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - int nBandCount, int *panBandMap, - GSpacing nPixelSpace, GSpacing nLineSpace, - GSpacing nBandSpace, - GDALRasterIOExtraArg* psExtraArg); - - virtual CPLXMLNode *SerializeToXML( const char *pszVRTPath); - virtual CPLErr XMLInit( CPLXMLNode *, const char * ); - - virtual CPLErr IBuildOverviews( const char *, int, int *, - int, int *, GDALProgressFunc, void * ); - - /* Used by PDF driver for example */ - GDALDataset* GetSingleSimpleSource(); - void BuildVirtualOverviews(); - - void UnsetPreservedRelativeFilenames(); - - static int Identify( GDALOpenInfo * ); - static GDALDataset *Open( GDALOpenInfo * ); - static GDALDataset *OpenXML( const char *, const char * = NULL, GDALAccess eAccess = GA_ReadOnly ); - static GDALDataset *Create( const char * pszName, - int nXSize, int nYSize, int nBands, - GDALDataType eType, char ** papszOptions ); - static CPLErr Delete( const char * pszFilename ); -}; - -/************************************************************************/ -/* VRTWarpedDataset */ -/************************************************************************/ - -class GDALWarpOperation; -class VRTWarpedRasterBand; - -class CPL_DLL VRTWarpedDataset : public VRTDataset -{ - int m_nBlockXSize; - int m_nBlockYSize; - GDALWarpOperation *m_poWarper; - - int m_nOverviewCount; - VRTWarpedDataset **m_papoOverviews; - int m_nSrcOvrLevel; - - void CreateImplicitOverviews(); - - friend class VRTWarpedRasterBand; - - protected: - virtual int CloseDependentDatasets(); - -public: - VRTWarpedDataset( int nXSize, int nYSize ); - virtual ~VRTWarpedDataset(); - - CPLErr Initialize( /* GDALWarpOptions */ void * ); - - virtual CPLErr IBuildOverviews( const char *, int, int *, - int, int *, GDALProgressFunc, void * ); - - virtual CPLErr SetMetadataItem( const char *pszName, const char *pszValue, - const char *pszDomain = "" ); - - virtual CPLXMLNode *SerializeToXML( const char *pszVRTPath ); - virtual CPLErr XMLInit( CPLXMLNode *, const char * ); - - virtual CPLErr AddBand( GDALDataType eType, - char **papszOptions=NULL ); - - virtual char **GetFileList(); - - CPLErr ProcessBlock( int iBlockX, int iBlockY ); - - void GetBlockSize( int *, int * ); -}; - -/************************************************************************/ -/* VRTPansharpenedDataset */ -/************************************************************************/ - -class GDALPansharpenOperation; - -typedef enum -{ - GTAdjust_Union, - GTAdjust_Intersection, - GTAdjust_None, - GTAdjust_NoneWithoutWarning -} GTAdjustment; - -class VRTPansharpenedDataset : public VRTDataset -{ - friend class VRTPansharpenedRasterBand; - - int m_nBlockXSize; - int m_nBlockYSize; - GDALPansharpenOperation* m_poPansharpener; - VRTPansharpenedDataset* m_poMainDataset; - std::vector m_apoOverviewDatasets; - std::map m_oMapToRelativeFilenames; // map from absolute to relative - - int m_bLoadingOtherBands; - - GByte *m_pabyLastBufferBandRasterIO; - int m_nLastBandRasterIOXOff; - int m_nLastBandRasterIOYOff; - int m_nLastBandRasterIOXSize; - int m_nLastBandRasterIOYSize; - GDALDataType m_eLastBandRasterIODataType; - - GTAdjustment m_eGTAdjustment; - int m_bNoDataDisabled; - - std::vector m_apoDatasetsToClose; - - protected: - virtual int CloseDependentDatasets(); - -public: - VRTPansharpenedDataset( int nXSize, int nYSize ); - ~VRTPansharpenedDataset(); - - virtual CPLErr XMLInit( CPLXMLNode *, const char * ); - virtual CPLXMLNode * SerializeToXML( const char *pszVRTPath ); - - CPLErr XMLInit( CPLXMLNode *psTree, const char *pszVRTPath, - GDALRasterBandH hPanchroBandIn, - int nInputSpectralBandsIn, - GDALRasterBandH* pahInputSpectralBandsIn ); - - virtual CPLErr AddBand( GDALDataType eType, - char **papszOptions=NULL ); - - virtual char **GetFileList(); - - virtual CPLErr IRasterIO( GDALRWFlag eRWFlag, - int nXOff, int nYOff, int nXSize, int nYSize, - void * pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - int nBandCount, int *panBandMap, - GSpacing nPixelSpace, GSpacing nLineSpace, - GSpacing nBandSpace, - GDALRasterIOExtraArg* psExtraArg); - - void GetBlockSize( int *, int * ); - - GDALPansharpenOperation* GetPansharpener() { return m_poPansharpener; } -}; - -/************************************************************************/ -/* VRTRasterBand */ -/* */ -/* Provides support for all the various kinds of metadata but */ -/* no raster access. That is handled by derived classes. */ -/************************************************************************/ - -class CPL_DLL VRTRasterBand : public GDALRasterBand -{ - protected: - int m_bIsMaskBand; - - int m_bNoDataValueSet; - int m_bHideNoDataValue; // If set to true, will not report the existence of nodata - double m_dfNoDataValue; - - GDALColorTable *m_poColorTable; - - GDALColorInterp m_eColorInterp; - - char *m_pszUnitType; - char **m_papszCategoryNames; - - double m_dfOffset; - double m_dfScale; - - CPLXMLNode *m_psSavedHistograms; - - void Initialize( int nXSize, int nYSize ); - - std::vector m_apoOverviews; - - VRTRasterBand *m_poMaskBand; - - public: - - VRTRasterBand(); - virtual ~VRTRasterBand(); - - virtual CPLErr XMLInit( CPLXMLNode *, const char * ); - virtual CPLXMLNode * SerializeToXML( const char *pszVRTPath ); - - virtual CPLErr SetNoDataValue( double ); - virtual double GetNoDataValue( int *pbSuccess = NULL ); - virtual CPLErr DeleteNoDataValue(); - - virtual CPLErr SetColorTable( GDALColorTable * ); - virtual GDALColorTable *GetColorTable(); - - virtual CPLErr SetColorInterpretation( GDALColorInterp ); - virtual GDALColorInterp GetColorInterpretation(); - - virtual const char *GetUnitType(); - CPLErr SetUnitType( const char * ); - - virtual char **GetCategoryNames(); - virtual CPLErr SetCategoryNames( char ** ); - - virtual CPLErr SetMetadata( char **papszMD, const char *pszDomain = "" ); - virtual CPLErr SetMetadataItem( const char *pszName, const char *pszValue, - const char *pszDomain = "" ); - - virtual double GetOffset( int *pbSuccess = NULL ); - CPLErr SetOffset( double ); - virtual double GetScale( int *pbSuccess = NULL ); - CPLErr SetScale( double ); - - virtual int GetOverviewCount(); - virtual GDALRasterBand *GetOverview(int); - - virtual CPLErr GetHistogram( double dfMin, double dfMax, - int nBuckets, GUIntBig * panHistogram, - int bIncludeOutOfRange, int bApproxOK, - GDALProgressFunc, void *pProgressData ); - - virtual CPLErr GetDefaultHistogram( double *pdfMin, double *pdfMax, - int *pnBuckets, GUIntBig ** ppanHistogram, - int bForce, - GDALProgressFunc, void *pProgressData); - - virtual CPLErr SetDefaultHistogram( double dfMin, double dfMax, - int nBuckets, GUIntBig *panHistogram ); - - CPLErr CopyCommonInfoFrom( GDALRasterBand * ); - - virtual void GetFileList(char*** ppapszFileList, int *pnSize, - int *pnMaxSize, CPLHashSet* hSetFiles); - - virtual void SetDescription( const char * ); - - virtual GDALRasterBand *GetMaskBand(); - virtual int GetMaskFlags(); - - virtual CPLErr CreateMaskBand( int nFlags ); - - void SetMaskBand(VRTRasterBand* poMaskBand); - - void SetIsMaskBand(); - - CPLErr UnsetNoDataValue(); - - virtual int CloseDependentDatasets(); - - virtual int IsSourcedRasterBand() { return FALSE; } - virtual int IsPansharpenRasterBand() { return FALSE; } -}; - -/************************************************************************/ -/* VRTSourcedRasterBand */ -/************************************************************************/ - -class VRTSimpleSource; - -class CPL_DLL VRTSourcedRasterBand : public VRTRasterBand -{ - private: - int m_nRecursionCounter; - CPLString m_osLastLocationInfo; - char **m_papszSourceList; - - void Initialize( int nXSize, int nYSize ); - - int CanUseSourcesMinMaxImplementations(); - - public: - int nSources; - VRTSource **papoSources; - int bEqualAreas; - - VRTSourcedRasterBand( GDALDataset *poDS, int nBand ); - VRTSourcedRasterBand( GDALDataType eType, - int nXSize, int nYSize ); - VRTSourcedRasterBand( GDALDataset *poDS, int nBand, - GDALDataType eType, - int nXSize, int nYSize ); - virtual ~VRTSourcedRasterBand(); - - virtual CPLErr IRasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - GSpacing nPixelSpace, GSpacing nLineSpace, - GDALRasterIOExtraArg* psExtraArg); - - virtual char **GetMetadataDomainList(); - virtual const char *GetMetadataItem( const char * pszName, - const char * pszDomain = "" ); - virtual char **GetMetadata( const char * pszDomain = "" ); - virtual CPLErr SetMetadata( char ** papszMetadata, - const char * pszDomain = "" ); - virtual CPLErr SetMetadataItem( const char * pszName, - const char * pszValue, - const char * pszDomain = "" ); - - virtual CPLErr XMLInit( CPLXMLNode *, const char * ); - virtual CPLXMLNode * SerializeToXML( const char *pszVRTPath ); - - virtual double GetMinimum( int *pbSuccess = NULL ); - virtual double GetMaximum(int *pbSuccess = NULL ); - virtual CPLErr ComputeRasterMinMax( int bApproxOK, double* adfMinMax ); - virtual CPLErr ComputeStatistics( int bApproxOK, - double *pdfMin, double *pdfMax, - double *pdfMean, double *pdfStdDev, - GDALProgressFunc pfnProgress, void *pProgressData ); - virtual CPLErr GetHistogram( double dfMin, double dfMax, - int nBuckets, GUIntBig * panHistogram, - int bIncludeOutOfRange, int bApproxOK, - GDALProgressFunc pfnProgress, void *pProgressData ); - - CPLErr AddSource( VRTSource * ); - CPLErr AddSimpleSource( GDALRasterBand *poSrcBand, - double dfSrcXOff=-1, double dfSrcYOff=-1, - double dfSrcXSize=-1, double dfSrcYSize=-1, - double dfDstXOff=-1, double dfDstYOff=-1, - double dfDstXSize=-1, double dfDstYSize=-1, - const char *pszResampling = "near", - double dfNoDataValue = VRT_NODATA_UNSET); - CPLErr AddComplexSource( GDALRasterBand *poSrcBand, - double dfSrcXOff=-1, double dfSrcYOff=-1, - double dfSrcXSize=-1, double dfSrcYSize=-1, - double dfDstXOff=-1, double dfDstYOff=-1, - double dfDstXSize=-1, double dfDstYSize=-1, - double dfScaleOff=0.0, - double dfScaleRatio=1.0, - double dfNoDataValue = VRT_NODATA_UNSET, - int nColorTableComponent = 0); - - CPLErr AddMaskBandSource( GDALRasterBand *poSrcBand, - double dfSrcXOff=-1, double dfSrcYOff=-1, - double dfSrcXSize=-1, double dfSrcYSize=-1, - double dfDstXOff=-1, double dfDstYOff=-1, - double dfDstXSize=-1, double dfDstYSize=-1 ); - - CPLErr AddFuncSource( VRTImageReadFunc pfnReadFunc, void *hCBData, - double dfNoDataValue = VRT_NODATA_UNSET ); - - void ConfigureSource(VRTSimpleSource *poSimpleSource, - GDALRasterBand *poSrcBand, - int bAddAsMaskBand, - double dfSrcXOff, double dfSrcYOff, - double dfSrcXSize, double dfSrcYSize, - double dfDstXOff, double dfDstYOff, - double dfDstXSize, double dfDstYSize); - - virtual CPLErr IReadBlock( int, int, void * ); - - virtual void GetFileList(char*** ppapszFileList, int *pnSize, - int *pnMaxSize, CPLHashSet* hSetFiles); - - virtual int CloseDependentDatasets(); - - virtual int IsSourcedRasterBand() { return TRUE; } -}; - -/************************************************************************/ -/* VRTWarpedRasterBand */ -/************************************************************************/ - -class CPL_DLL VRTWarpedRasterBand : public VRTRasterBand -{ - public: - VRTWarpedRasterBand( GDALDataset *poDS, int nBand, - GDALDataType eType = GDT_Unknown ); - virtual ~VRTWarpedRasterBand(); - - virtual CPLErr XMLInit( CPLXMLNode *, const char * ); - virtual CPLXMLNode * SerializeToXML( const char *pszVRTPath ); - - virtual CPLErr IReadBlock( int, int, void * ); - virtual CPLErr IWriteBlock( int, int, void * ); - - virtual int GetOverviewCount(); - virtual GDALRasterBand *GetOverview(int); -}; -/************************************************************************/ -/* VRTPansharpenedRasterBand */ -/************************************************************************/ - -class VRTPansharpenedRasterBand : public VRTRasterBand -{ - int m_nIndexAsPansharpenedBand; - - public: - VRTPansharpenedRasterBand( GDALDataset *poDS, int nBand, - GDALDataType eDataType = GDT_Unknown ); - virtual ~VRTPansharpenedRasterBand(); - - virtual CPLErr XMLInit( CPLXMLNode *, const char * ); - virtual CPLXMLNode * SerializeToXML( const char *pszVRTPath ); - - virtual CPLErr IReadBlock( int, int, void * ); - - virtual CPLErr IRasterIO( GDALRWFlag eRWFlag, - int nXOff, int nYOff, int nXSize, int nYSize, - void * pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - GSpacing nPixelSpace, GSpacing nLineSpace, - GDALRasterIOExtraArg* psExtraArg); - - virtual int GetOverviewCount(); - virtual GDALRasterBand *GetOverview(int); - - virtual int IsPansharpenRasterBand() { return TRUE; } - - void SetIndexAsPansharpenedBand(int nIdx) { m_nIndexAsPansharpenedBand = nIdx; } - int GetIndexAsPansharpenedBand() const { return m_nIndexAsPansharpenedBand; } -}; - -/************************************************************************/ -/* VRTDerivedRasterBand */ -/************************************************************************/ - -class CPL_DLL VRTDerivedRasterBand : public VRTSourcedRasterBand -{ - - public: - char *pszFuncName; - GDALDataType eSourceTransferType; - - VRTDerivedRasterBand(GDALDataset *poDS, int nBand); - VRTDerivedRasterBand(GDALDataset *poDS, int nBand, - GDALDataType eType, int nXSize, int nYSize); - virtual ~VRTDerivedRasterBand(); - - virtual CPLErr IRasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - GSpacing nPixelSpace, GSpacing nLineSpace, - GDALRasterIOExtraArg* psExtraArg ); - - static CPLErr AddPixelFunction - (const char *pszFuncName, GDALDerivedPixelFunc pfnPixelFunc); - static GDALDerivedPixelFunc GetPixelFunction(const char *pszFuncName); - - void SetPixelFunctionName(const char *pszFuncName); - void SetSourceTransferType(GDALDataType eDataType); - - virtual CPLErr XMLInit( CPLXMLNode *, const char * ); - virtual CPLXMLNode * SerializeToXML( const char *pszVRTPath ); - -}; - -/************************************************************************/ -/* VRTRawRasterBand */ -/************************************************************************/ - -class RawRasterBand; - -class CPL_DLL VRTRawRasterBand : public VRTRasterBand -{ - RawRasterBand *m_poRawRaster; - - char *m_pszSourceFilename; - int m_bRelativeToVRT; - - public: - VRTRawRasterBand( GDALDataset *poDS, int nBand, - GDALDataType eType = GDT_Unknown ); - virtual ~VRTRawRasterBand(); - - virtual CPLErr XMLInit( CPLXMLNode *, const char * ); - virtual CPLXMLNode * SerializeToXML( const char *pszVRTPath ); - - virtual CPLErr IRasterIO( GDALRWFlag, int, int, int, int, - void *, int, int, GDALDataType, - GSpacing nPixelSpace, GSpacing nLineSpace, - GDALRasterIOExtraArg* psExtraArg ); - - virtual CPLErr IReadBlock( int, int, void * ); - virtual CPLErr IWriteBlock( int, int, void * ); - - CPLErr SetRawLink( const char *pszFilename, - const char *pszVRTPath, - int bRelativeToVRT, - vsi_l_offset nImageOffset, - int nPixelOffset, int nLineOffset, - const char *pszByteOrder ); - - void ClearRawLink(); - - virtual void GetFileList(char*** ppapszFileList, int *pnSize, - int *pnMaxSize, CPLHashSet* hSetFiles); -}; - -/************************************************************************/ -/* VRTDriver */ -/************************************************************************/ - -class VRTDriver : public GDALDriver -{ - void *m_pDeserializerData; - - public: - VRTDriver(); - ~VRTDriver(); - - char **papszSourceParsers; - - virtual char **GetMetadataDomainList(); - virtual char **GetMetadata( const char * pszDomain = "" ); - virtual CPLErr SetMetadata( char ** papszMetadata, - const char * pszDomain = "" ); - - VRTSource *ParseSource( CPLXMLNode *psSrc, const char *pszVRTPath ); - void AddSourceParser( const char *pszElementName, - VRTSourceParser pfnParser ); -}; - -/************************************************************************/ -/* VRTSimpleSource */ -/************************************************************************/ - -class CPL_DLL VRTSimpleSource : public VRTSource -{ -protected: - GDALRasterBand *m_poRasterBand; - - /* when poRasterBand is a mask band, poMaskBandMainBand is the band */ - /* from which the mask band is taken */ - GDALRasterBand *m_poMaskBandMainBand; - - double m_dfSrcXOff; - double m_dfSrcYOff; - double m_dfSrcXSize; - double m_dfSrcYSize; - - double m_dfDstXOff; - double m_dfDstYOff; - double m_dfDstXSize; - double m_dfDstYSize; - - int m_bNoDataSet; - double m_dfNoDataValue; - CPLString m_osResampling; - - int m_nMaxValue; - - int m_bRelativeToVRTOri; - CPLString m_osSourceFileNameOri; - - int NeedMaxValAdjustment() const; - -public: - VRTSimpleSource(); - VRTSimpleSource(const VRTSimpleSource* poSrcSource, - double dfXDstRatio, double dfYDstRatio); - virtual ~VRTSimpleSource(); - - virtual CPLErr XMLInit( CPLXMLNode *psTree, const char * ); - virtual CPLXMLNode *SerializeToXML( const char *pszVRTPath ); - - void SetSrcBand( GDALRasterBand * ); - void SetSrcMaskBand( GDALRasterBand * ); - void SetSrcWindow( double, double, double, double ); - void SetDstWindow( double, double, double, double ); - void SetNoDataValue( double dfNoDataValue ); - const CPLString& GetResampling() const { return m_osResampling; } - void SetResampling( const char* pszResampling ); - - int GetSrcDstWindow( int, int, int, int, int, int, - double *pdfReqXOff, double *pdfReqYOff, - double *pdfReqXSize, double *pdfReqYSize, - int *, int *, int *, int *, - int *, int *, int *, int * ); - - virtual CPLErr RasterIO( int nXOff, int nYOff, int nXSize, int nYSize, - void *pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - GSpacing nPixelSpace, GSpacing nLineSpace, - GDALRasterIOExtraArg* psExtraArg ); - - virtual double GetMinimum( int nXSize, int nYSize, int *pbSuccess ); - virtual double GetMaximum( int nXSize, int nYSize, int *pbSuccess ); - virtual CPLErr ComputeRasterMinMax( int nXSize, int nYSize, int bApproxOK, double* adfMinMax ); - virtual CPLErr ComputeStatistics( int nXSize, int nYSize, - int bApproxOK, - double *pdfMin, double *pdfMax, - double *pdfMean, double *pdfStdDev, - GDALProgressFunc pfnProgress, void *pProgressData ); - virtual CPLErr GetHistogram( int nXSize, int nYSize, - double dfMin, double dfMax, - int nBuckets, GUIntBig * panHistogram, - int bIncludeOutOfRange, int bApproxOK, - GDALProgressFunc pfnProgress, void *pProgressData ); - - void DstToSrc( double dfX, double dfY, - double &dfXOut, double &dfYOut ); - void SrcToDst( double dfX, double dfY, - double &dfXOut, double &dfYOut ); - - virtual void GetFileList(char*** ppapszFileList, int *pnSize, - int *pnMaxSize, CPLHashSet* hSetFiles); - - virtual int IsSimpleSource() { return TRUE; } - virtual const char* GetType() { return "SimpleSource"; } - - GDALRasterBand* GetBand(); - int IsSameExceptBandNumber(VRTSimpleSource* poOtherSource); - CPLErr DatasetRasterIO( - int nXOff, int nYOff, int nXSize, int nYSize, - void * pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - int nBandCount, int *panBandMap, - GSpacing nPixelSpace, GSpacing nLineSpace, - GSpacing nBandSpace, - GDALRasterIOExtraArg* psExtraArg); - - void UnsetPreservedRelativeFilenames(); - - void SetMaxValue(int nVal) { m_nMaxValue = nVal; } -}; - -/************************************************************************/ -/* VRTAveragedSource */ -/************************************************************************/ - -class VRTAveragedSource : public VRTSimpleSource -{ -public: - VRTAveragedSource(); - virtual CPLErr RasterIO( int nXOff, int nYOff, int nXSize, int nYSize, - void *pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - GSpacing nPixelSpace, GSpacing nLineSpace, - GDALRasterIOExtraArg* psExtraArg ); - - virtual double GetMinimum( int nXSize, int nYSize, int *pbSuccess ); - virtual double GetMaximum( int nXSize, int nYSize, int *pbSuccess ); - virtual CPLErr ComputeRasterMinMax( int nXSize, int nYSize, int bApproxOK, double* adfMinMax ); - virtual CPLErr ComputeStatistics( int nXSize, int nYSize, - int bApproxOK, - double *pdfMin, double *pdfMax, - double *pdfMean, double *pdfStdDev, - GDALProgressFunc pfnProgress, void *pProgressData ); - virtual CPLErr GetHistogram( int nXSize, int nYSize, - double dfMin, double dfMax, - int nBuckets, GUIntBig * panHistogram, - int bIncludeOutOfRange, int bApproxOK, - GDALProgressFunc pfnProgress, void *pProgressData ); - - virtual CPLXMLNode *SerializeToXML( const char *pszVRTPath ); - virtual const char* GetType() { return "AveragedSource"; } -}; - -/************************************************************************/ -/* VRTComplexSource */ -/************************************************************************/ - -typedef enum -{ - VRT_SCALING_NONE, - VRT_SCALING_LINEAR, - VRT_SCALING_EXPONENTIAL, -} VRTComplexSourceScaling; - -class CPL_DLL VRTComplexSource : public VRTSimpleSource -{ -protected: - VRTComplexSourceScaling m_eScalingType; - double m_dfScaleOff; /* for linear scaling */ - double m_dfScaleRatio; /* for linear scaling */ - - /* For non-linear scaling with a power function. */ - int m_bSrcMinMaxDefined; - double m_dfSrcMin; - double m_dfSrcMax; - double m_dfDstMin; - double m_dfDstMax; - double m_dfExponent; - - int m_nColorTableComponent; - - template - CPLErr RasterIOInternal( int nReqXOff, int nReqYOff, - int nReqXSize, int nReqYSize, - void *pData, int nOutXSize, int nOutYSize, - GDALDataType eBufType, - GSpacing nPixelSpace, GSpacing nLineSpace, - GDALRasterIOExtraArg* psExtraArg, - GDALDataType eWrkDataType ); - -public: - VRTComplexSource(); - VRTComplexSource(const VRTComplexSource* poSrcSource, - double dfXDstRatio, double dfYDstRatio); - virtual ~VRTComplexSource(); - - virtual CPLErr RasterIO( int nXOff, int nYOff, int nXSize, int nYSize, - void *pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - GSpacing nPixelSpace, GSpacing nLineSpace, - GDALRasterIOExtraArg* psExtraArg ); - - virtual double GetMinimum( int nXSize, int nYSize, int *pbSuccess ); - virtual double GetMaximum( int nXSize, int nYSize, int *pbSuccess ); - virtual CPLErr ComputeRasterMinMax( int nXSize, int nYSize, int bApproxOK, double* adfMinMax ); - virtual CPLErr ComputeStatistics( int nXSize, int nYSize, - int bApproxOK, - double *pdfMin, double *pdfMax, - double *pdfMean, double *pdfStdDev, - GDALProgressFunc pfnProgress, void *pProgressData ); - virtual CPLErr GetHistogram( int nXSize, int nYSize, - double dfMin, double dfMax, - int nBuckets, GUIntBig * panHistogram, - int bIncludeOutOfRange, int bApproxOK, - GDALProgressFunc pfnProgress, void *pProgressData ); - - virtual CPLXMLNode *SerializeToXML( const char *pszVRTPath ); - virtual CPLErr XMLInit( CPLXMLNode *, const char * ); - virtual const char* GetType() { return "ComplexSource"; } - - double LookupValue( double dfInput ); - - void SetLinearScaling(double dfOffset, double dfScale); - void SetPowerScaling(double dfExponent, - double dfSrcMin, - double dfSrcMax, - double dfDstMin, - double dfDstMax); - void SetColorTableComponent(int nComponent); - - double *m_padfLUTInputs; - double *m_padfLUTOutputs; - int m_nLUTItemCount; - -}; - -/************************************************************************/ -/* VRTFilteredSource */ -/************************************************************************/ - -class VRTFilteredSource : public VRTComplexSource -{ -private: - int IsTypeSupported( GDALDataType eType ); - -protected: - int m_nSupportedTypesCount; - GDALDataType m_aeSupportedTypes[20]; - - int m_nExtraEdgePixels; - -public: - VRTFilteredSource(); - virtual ~VRTFilteredSource(); - - void SetExtraEdgePixels( int ); - void SetFilteringDataTypesSupported( int, GDALDataType * ); - - virtual CPLErr FilterData( int nXSize, int nYSize, GDALDataType eType, - GByte *pabySrcData, GByte *pabyDstData ) = 0; - - virtual CPLErr RasterIO( int nXOff, int nYOff, int nXSize, int nYSize, - void *pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - GSpacing nPixelSpace, GSpacing nLineSpace, - GDALRasterIOExtraArg* psExtraArg ); -}; - -/************************************************************************/ -/* VRTKernelFilteredSource */ -/************************************************************************/ - -class VRTKernelFilteredSource : public VRTFilteredSource -{ -protected: - int m_nKernelSize; - - double *m_padfKernelCoefs; - - int m_bNormalized; - -public: - VRTKernelFilteredSource(); - virtual ~VRTKernelFilteredSource(); - - virtual CPLErr XMLInit( CPLXMLNode *psTree, const char * ); - virtual CPLXMLNode *SerializeToXML( const char *pszVRTPath ); - - virtual CPLErr FilterData( int nXSize, int nYSize, GDALDataType eType, - GByte *pabySrcData, GByte *pabyDstData ); - - CPLErr SetKernel( int nKernelSize, double *padfCoefs ); - void SetNormalized( int ); -}; - -/************************************************************************/ -/* VRTAverageFilteredSource */ -/************************************************************************/ - -class VRTAverageFilteredSource : public VRTKernelFilteredSource -{ -public: - explicit VRTAverageFilteredSource( int nKernelSize ); - virtual ~VRTAverageFilteredSource(); - - virtual CPLErr XMLInit( CPLXMLNode *psTree, const char * ); - virtual CPLXMLNode *SerializeToXML( const char *pszVRTPath ); -}; - -/************************************************************************/ -/* VRTFuncSource */ -/************************************************************************/ -class VRTFuncSource : public VRTSource -{ -public: - VRTFuncSource(); - virtual ~VRTFuncSource(); - - virtual CPLErr XMLInit( CPLXMLNode *, const char *) { return CE_Failure; } - virtual CPLXMLNode *SerializeToXML( const char *pszVRTPath ); - - virtual CPLErr RasterIO( int nXOff, int nYOff, int nXSize, int nYSize, - void *pData, int nBufXSize, int nBufYSize, - GDALDataType eBufType, - GSpacing nPixelSpace, GSpacing nLineSpace, - GDALRasterIOExtraArg* psExtraArg ); - - virtual double GetMinimum( int nXSize, int nYSize, int *pbSuccess ); - virtual double GetMaximum( int nXSize, int nYSize, int *pbSuccess ); - virtual CPLErr ComputeRasterMinMax( int nXSize, int nYSize, int bApproxOK, double* adfMinMax ); - virtual CPLErr ComputeStatistics( int nXSize, int nYSize, - int bApproxOK, - double *pdfMin, double *pdfMax, - double *pdfMean, double *pdfStdDev, - GDALProgressFunc pfnProgress, void *pProgressData ); - virtual CPLErr GetHistogram( int nXSize, int nYSize, - double dfMin, double dfMax, - int nBuckets, GUIntBig * panHistogram, - int bIncludeOutOfRange, int bApproxOK, - GDALProgressFunc pfnProgress, void *pProgressData ); - - VRTImageReadFunc pfnReadFunc; - void *pCBData; - GDALDataType eType; - - float fNoDataValue; -}; - -#endif /* ndef VIRTUALDATASET_H_INCLUDED */ diff --git a/src/osg/OpenThreads/Atomic b/src/osg/OpenThreads/Atomic deleted file mode 100644 index ba672335..00000000 --- a/src/osg/OpenThreads/Atomic +++ /dev/null @@ -1,287 +0,0 @@ -/* -*-c++-*- OpenThreads library, Copyright (C) 2008 The Open Thread Group - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef _OPENTHREADS_ATOMIC_ -#define _OPENTHREADS_ATOMIC_ - -#include -#include - -#if defined(_OPENTHREADS_ATOMIC_USE_BSD_ATOMIC) -# include -# define _OPENTHREADS_ATOMIC_USE_LIBRARY_ROUTINES -#elif defined(_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS) && defined(__i386__) -# define _OPENTHREADS_ATOMIC_USE_LIBRARY_ROUTINES -#elif defined(_OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED) -# define _OPENTHREADS_ATOMIC_USE_LIBRARY_ROUTINES -#elif defined(_OPENTHREADS_ATOMIC_USE_SUN) -# include -# include "Mutex" -# include "ScopedLock" -#elif defined(_OPENTHREADS_ATOMIC_USE_MUTEX) -# include "Mutex" -# include "ScopedLock" -#endif - -#if defined(_OPENTHREADS_ATOMIC_USE_LIBRARY_ROUTINES) -#define _OPENTHREADS_ATOMIC_INLINE -#else -#define _OPENTHREADS_ATOMIC_INLINE inline -#endif - -namespace OpenThreads { - -/** - * @class Atomic - * @brief This class provides an atomic increment and decrement operation. - */ -class OPENTHREAD_EXPORT_DIRECTIVE Atomic { - public: - Atomic(unsigned value = 0) : _value(value) - { } - _OPENTHREADS_ATOMIC_INLINE unsigned operator++(); - _OPENTHREADS_ATOMIC_INLINE unsigned operator--(); - _OPENTHREADS_ATOMIC_INLINE unsigned AND(unsigned value); - _OPENTHREADS_ATOMIC_INLINE unsigned OR(unsigned value); - _OPENTHREADS_ATOMIC_INLINE unsigned XOR(unsigned value); - _OPENTHREADS_ATOMIC_INLINE unsigned exchange(unsigned value = 0); - _OPENTHREADS_ATOMIC_INLINE operator unsigned() const; - private: - - Atomic(const Atomic&); - Atomic& operator=(const Atomic&); - -#if defined(_OPENTHREADS_ATOMIC_USE_MUTEX) - mutable Mutex _mutex; -#endif -#if defined(_OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED) - volatile long _value; -#elif defined(_OPENTHREADS_ATOMIC_USE_BSD_ATOMIC) - volatile int32_t _value; -#elif defined(_OPENTHREADS_ATOMIC_USE_SUN) - volatile uint_t _value; - mutable Mutex _mutex; // needed for xor -#else - volatile unsigned _value; -#endif -}; - -/** - * @class AtomicPtr - * @brief This class provides an atomic pointer assignment using cas operations. - */ -class OPENTHREAD_EXPORT_DIRECTIVE AtomicPtr { -public: - AtomicPtr(void* ptr = 0) : _ptr(ptr) - { } - ~AtomicPtr() - { _ptr = 0; } - - // assigns a new pointer - _OPENTHREADS_ATOMIC_INLINE bool assign(void* ptrNew, const void* const ptrOld); - _OPENTHREADS_ATOMIC_INLINE void* get() const; - -private: - AtomicPtr(const AtomicPtr&); - AtomicPtr& operator=(const AtomicPtr&); - -#if defined(_OPENTHREADS_ATOMIC_USE_MUTEX) - mutable Mutex _mutex; -#endif - void* volatile _ptr; -}; - -#if !defined(_OPENTHREADS_ATOMIC_USE_LIBRARY_ROUTINES) - -_OPENTHREADS_ATOMIC_INLINE unsigned -Atomic::operator++() -{ -#if defined(_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS) - return __sync_add_and_fetch(&_value, 1); -#elif defined(_OPENTHREADS_ATOMIC_USE_MIPOSPRO_BUILTINS) - return __add_and_fetch(&_value, 1); -#elif defined(_OPENTHREADS_ATOMIC_USE_SUN) - return atomic_inc_uint_nv(&_value); -#elif defined(_OPENTHREADS_ATOMIC_USE_MUTEX) - ScopedLock lock(_mutex); - return ++_value; -#else - return ++_value; -#endif -} - -_OPENTHREADS_ATOMIC_INLINE unsigned -Atomic::operator--() -{ -#if defined(_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS) - return __sync_sub_and_fetch(&_value, 1); -#elif defined(_OPENTHREADS_ATOMIC_USE_MIPOSPRO_BUILTINS) - return __sub_and_fetch(&_value, 1); -#elif defined(_OPENTHREADS_ATOMIC_USE_SUN) - return atomic_dec_uint_nv(&_value); -#elif defined(_OPENTHREADS_ATOMIC_USE_MUTEX) - ScopedLock lock(_mutex); - return --_value; -#else - return --_value; -#endif -} - -_OPENTHREADS_ATOMIC_INLINE unsigned -Atomic::AND(unsigned value) -{ -#if defined(_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS) - return __sync_fetch_and_and(&_value, value); -#elif defined(_OPENTHREADS_ATOMIC_USE_MIPOSPRO_BUILTINS) - return __and_and_fetch(&_value, value); -#elif defined(_OPENTHREADS_ATOMIC_USE_SUN) - return atomic_and_uint_nv(&_value, value); -#elif defined(_OPENTHREADS_ATOMIC_USE_MUTEX) - ScopedLock lock(_mutex); - _value &= value; - return _value; -#else - _value &= value; - return _value; -#endif -} - -_OPENTHREADS_ATOMIC_INLINE unsigned -Atomic::OR(unsigned value) -{ -#if defined(_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS) - return __sync_fetch_and_or(&_value, value); -#elif defined(_OPENTHREADS_ATOMIC_USE_MIPOSPRO_BUILTINS) - return __or_and_fetch(&_value, value); -#elif defined(_OPENTHREADS_ATOMIC_USE_SUN) - return atomic_or_uint_nv(&_value, value); -#elif defined(_OPENTHREADS_ATOMIC_USE_MUTEX) - ScopedLock lock(_mutex); - _value |= value; - return _value; -#else - _value |= value; - return _value; -#endif -} - -_OPENTHREADS_ATOMIC_INLINE unsigned -Atomic::XOR(unsigned value) -{ -#if defined(_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS) - return __sync_fetch_and_xor(&_value, value); -#elif defined(_OPENTHREADS_ATOMIC_USE_MIPOSPRO_BUILTINS) - return __xor_and_fetch(&_value, value); -#elif defined(_OPENTHREADS_ATOMIC_USE_SUN) - ScopedLock lock(_mutex); - _value ^= value; - return _value; -#elif defined(_OPENTHREADS_ATOMIC_USE_MUTEX) - ScopedLock lock(_mutex); - _value ^= value; - return _value; -#else - _value ^= value; - return _value; -#endif -} - -_OPENTHREADS_ATOMIC_INLINE unsigned -Atomic::exchange(unsigned value) -{ -#if defined(_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS) - return __sync_lock_test_and_set(&_value, value); -#elif defined(_OPENTHREADS_ATOMIC_USE_MIPOSPRO_BUILTINS) - return __compare_and_swap(&_value, _value, value); -#elif defined(_OPENTHREADS_ATOMIC_USE_SUN) - return atomic_cas_uint(&_value, _value, value); -#elif defined(_OPENTHREADS_ATOMIC_USE_MUTEX) - ScopedLock lock(_mutex); - unsigned oldval = _value; - _value = value; - return oldval; -#else - unsigned oldval = _value; - _value = value; - return oldval; -#endif -} - -_OPENTHREADS_ATOMIC_INLINE -Atomic::operator unsigned() const -{ -#if defined(_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS) - __sync_synchronize(); - return _value; -#elif defined(_OPENTHREADS_ATOMIC_USE_MIPOSPRO_BUILTINS) - __synchronize(); - return _value; -#elif defined(_OPENTHREADS_ATOMIC_USE_SUN) - membar_consumer(); // Hmm, do we need??? - return _value; -#elif defined(_OPENTHREADS_ATOMIC_USE_MUTEX) - ScopedLock lock(_mutex); - return _value; -#else - return _value; -#endif -} - -_OPENTHREADS_ATOMIC_INLINE bool -AtomicPtr::assign(void* ptrNew, const void* const ptrOld) -{ -#if defined(_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS) - return __sync_bool_compare_and_swap(&_ptr, (void *)ptrOld, ptrNew); -#elif defined(_OPENTHREADS_ATOMIC_USE_MIPOSPRO_BUILTINS) - return __compare_and_swap((unsigned long*)&_ptr, (unsigned long)ptrOld, (unsigned long)ptrNew); -#elif defined(_OPENTHREADS_ATOMIC_USE_SUN) - return ptrOld == atomic_cas_ptr(&_ptr, const_cast(ptrOld), ptrNew); -#elif defined(_OPENTHREADS_ATOMIC_USE_MUTEX) - ScopedLock lock(_mutex); - if (_ptr != ptrOld) - return false; - _ptr = ptrNew; - return true; -#else - if (_ptr != ptrOld) - return false; - _ptr = ptrNew; - return true; -#endif -} - -_OPENTHREADS_ATOMIC_INLINE void* -AtomicPtr::get() const -{ -#if defined(_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS) - __sync_synchronize(); - return _ptr; -#elif defined(_OPENTHREADS_ATOMIC_USE_MIPOSPRO_BUILTINS) - __synchronize(); - return _ptr; -#elif defined(_OPENTHREADS_ATOMIC_USE_SUN) - membar_consumer(); // Hmm, do we need??? - return _ptr; -#elif defined(_OPENTHREADS_ATOMIC_USE_MUTEX) - ScopedLock lock(_mutex); - return _ptr; -#else - return _ptr; -#endif -} - -#endif // !defined(_OPENTHREADS_ATOMIC_USE_LIBRARY_ROUTINES) - -} - -#endif // _OPENTHREADS_ATOMIC_ diff --git a/src/osg/OpenThreads/Barrier b/src/osg/OpenThreads/Barrier deleted file mode 100644 index f15368dd..00000000 --- a/src/osg/OpenThreads/Barrier +++ /dev/null @@ -1,100 +0,0 @@ -/* -*-c++-*- OpenThreads library, Copyright (C) 2002 - 2007 The Open Thread Group - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - - -// -// Barrier - C++ barrier class -// ~~~~~~~ -// - -#ifndef _OPENTHREADS_BARRIER_ -#define _OPENTHREADS_BARRIER_ - -#include - -namespace OpenThreads { - - -/** - * @class Barrier - * @brief This class provides an object-oriented thread barrier interface - * - * @warning It is unwise to use the construct "Barrier barrier" in the - * global namespace on sgi's. The object "barrier" - * will confilict with the c-library sproc function "barrier" and - * unpredictable results may occur. You have been warned. - */ -class OPENTHREAD_EXPORT_DIRECTIVE Barrier { - -public: - - /** - * Constructor - */ - Barrier(int numThreads=0); - - /** - * Destructor - */ - virtual ~Barrier(); - - /** - * Reset the barrier to it's original state. - */ - virtual void reset(); - - /** - * Block until numThreads threads have entered the barrier. - */ - virtual void block(unsigned int numThreads=0); - - /** - * Release the barrier, now. - */ - virtual void release(); - - /** - * Return the number of threads currently blocked in the barrier, - * Return -1 if error. - */ - virtual int numThreadsCurrentlyBlocked(); - - - void invalidate(); - -private: - - /** - * Private copy constructor, to prevent tampering. - */ - Barrier(const Barrier &/*b*/) {}; - - /** - * Private copy assignment, to prevent tampering. - */ - Barrier &operator=(const Barrier &/*b*/) {return *(this);}; - - /** - * Implementation-specific private data. - */ - void *_prvData; - - - bool _valid; - -}; - -} - -#endif // !_OPENTHREADS_BARRIER_ - diff --git a/src/osg/OpenThreads/Block b/src/osg/OpenThreads/Block deleted file mode 100644 index 380ed22f..00000000 --- a/src/osg/OpenThreads/Block +++ /dev/null @@ -1,177 +0,0 @@ -/* -*-c++-*- OpenThreads - Copyright (C) 1998-2007 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef _OPENTHREADS_BLOCK_ -#define _OPENTHREADS_BLOCK_ - -#include -#include -#include -#include - -namespace OpenThreads { - -/** Block is a block that can be used to halt a thread that is waiting another thread to release it.*/ -class Block -{ - public: - - Block(): - _released(false) {} - - ~Block() - { - release(); - } - - inline bool block() - { - ScopedLock mutlock(_mut); - if( !_released ) - { - return _cond.wait(&_mut)==0; - } - else - { - return true; - } - } - - inline bool block(unsigned long timeout) - { - ScopedLock mutlock(_mut); - if( !_released ) - { - return _cond.wait(&_mut, timeout)==0; - } - else - { - return true; - } - } - - inline void release() - { - ScopedLock mutlock(_mut); - if (!_released) - { - _released = true; - _cond.broadcast(); - } - } - - inline void reset() - { - ScopedLock mutlock(_mut); - _released = false; - } - - inline void set(bool doRelease) - { - if (doRelease!=_released) - { - if (doRelease) release(); - else reset(); - } - } - - protected: - - Mutex _mut; - Condition _cond; - bool _released; - - private: - - Block(const Block&) {} -}; - -/** BlockCount is a block that can be used to halt a thread that is waiting for a specified number of operations to be completed.*/ -class BlockCount -{ - public: - - BlockCount(unsigned int blockCount): - _blockCount(blockCount), - _currentCount(0) {} - - ~BlockCount() - { - _blockCount = 0; - release(); - } - - inline void completed() - { - OpenThreads::ScopedLock mutlock(_mut); - if (_currentCount>0) - { - --_currentCount; - - if (_currentCount==0) - { - // osg::notify(osg::NOTICE)<<"Released"< mutlock(_mut); - if (_currentCount) - _cond.wait(&_mut); - } - - inline void reset() - { - OpenThreads::ScopedLock mutlock(_mut); - if (_currentCount!=_blockCount) - { - if (_blockCount==0) _cond.broadcast(); - _currentCount = _blockCount; - } - } - - inline void release() - { - OpenThreads::ScopedLock mutlock(_mut); - if (_currentCount) - { - _currentCount = 0; - _cond.broadcast(); - } - } - - inline void setBlockCount(unsigned int blockCount) { _blockCount = blockCount; } - - inline unsigned int getBlockCount() const { return _blockCount; } - - inline unsigned int getCurrentCount() const { return _currentCount; } - - protected: - - OpenThreads::Mutex _mut; - OpenThreads::Condition _cond; - unsigned int _blockCount; - unsigned int _currentCount; - - private: - - BlockCount(const BlockCount&) {} - -}; - -} - -#endif diff --git a/src/osg/OpenThreads/Condition b/src/osg/OpenThreads/Condition deleted file mode 100644 index cf966358..00000000 --- a/src/osg/OpenThreads/Condition +++ /dev/null @@ -1,93 +0,0 @@ -/* -*-c++-*- OpenThreads library, Copyright (C) 2002 - 2007 The Open Thread Group - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - - -// -// Condition - C++ condition class -// ~~~~~~~~~ -// - -#ifndef _OPENTHREADS_CONDITION_ -#define _OPENTHREADS_CONDITION_ - -#include -#include - -namespace OpenThreads { - -/** - * @class Condition - * @brief This class provides an object-oriented thread condition interface. - */ -class OPENTHREAD_EXPORT_DIRECTIVE Condition { - -public: - - /** - * Constructor - */ - Condition(); - - /** - * Destructor - */ - virtual ~Condition(); - - /** - * Wait on a mutex. - */ - virtual int wait(Mutex *mutex); - - /** - * Wait on a mutex for a given amount of time (ms) - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - virtual int wait(Mutex *mutex, unsigned long int ms); - - /** - * Signal a SINGLE thread to wake if it's waiting. - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - virtual int signal(); - - /** - * Wake all threads waiting on this condition. - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - virtual int broadcast(); - -private: - - /** - * Private copy constructor, to prevent tampering. - */ - Condition(const Condition &/*c*/) {}; - - /** - * Private copy assignment, to prevent tampering. - */ - Condition &operator=(const Condition &/*c*/) {return *(this);}; - - /** - * Implementation-specific data - */ - void *_prvData; - -}; - -} - -#endif // !_OPENTHREADS_CONDITION_ diff --git a/src/osg/OpenThreads/Config b/src/osg/OpenThreads/Config deleted file mode 100644 index 1ee5f1d0..00000000 --- a/src/osg/OpenThreads/Config +++ /dev/null @@ -1,34 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 2008 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -/**************************************************************************** - * THIS FILE IS AUTOGENERATED BY CMAKE. DO NOT EDIT! - ****************************************************************************/ - -/* Changes to the configuration reflected here can be made with ccmake on - * unix or with cmake-gui on windows. Alternatively you can use cmake's -D - * or -P switches to set some configuration values at cmake configuration time. - */ - -#ifndef _OPENTHREADS_CONFIG -#define _OPENTHREADS_CONFIG - -/* #undef _OPENTHREADS_ATOMIC_USE_GCC_BUILTINS */ -/* #undef _OPENTHREADS_ATOMIC_USE_MIPOSPRO_BUILTINS */ -/* #undef _OPENTHREADS_ATOMIC_USE_SUN */ -/* #undef _OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED */ -/* #undef _OPENTHREADS_ATOMIC_USE_BSD_ATOMIC */ -#define _OPENTHREADS_ATOMIC_USE_MUTEX -/* #undef OT_LIBRARY_STATIC */ - -#endif diff --git a/src/osg/OpenThreads/Exports b/src/osg/OpenThreads/Exports deleted file mode 100644 index bf262099..00000000 --- a/src/osg/OpenThreads/Exports +++ /dev/null @@ -1,33 +0,0 @@ -/* -*-c++-*- OpenThreads library, Copyright (C) 2002 - 2007 The Open Thread Group - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef _OPENTHREAD_EXPORTS_H_ -#define _OPENTHREAD_EXPORTS_H_ - -#include - -#ifndef WIN32 - #define OPENTHREAD_EXPORT_DIRECTIVE -#else - #if defined( OT_LIBRARY_STATIC ) - #define OPENTHREAD_EXPORT_DIRECTIVE - #elif defined( OPENTHREADS_EXPORTS ) - #define OPENTHREAD_EXPORT_DIRECTIVE __declspec(dllexport) - #else - #define OPENTHREAD_EXPORT_DIRECTIVE __declspec(dllimport) - #endif -#endif - -#endif - - diff --git a/src/osg/OpenThreads/Mutex b/src/osg/OpenThreads/Mutex deleted file mode 100644 index b9e8b9c1..00000000 --- a/src/osg/OpenThreads/Mutex +++ /dev/null @@ -1,100 +0,0 @@ -/* -*-c++-*- OpenThreads library, Copyright (C) 2002 - 2007 The Open Thread Group - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - - -// -// Mutex - C++ mutex class -// ~~~~~ -// - -#ifndef _OPENTHREADS_MUTEX_ -#define _OPENTHREADS_MUTEX_ - -#include - -namespace OpenThreads { - -/** - * @class Mutex - * @brief This class provides an object-oriented thread mutex interface. - */ -class OPENTHREAD_EXPORT_DIRECTIVE Mutex { - - friend class Condition; - -public: - - enum MutexType - { - MUTEX_NORMAL, - MUTEX_RECURSIVE - }; - - /** - * Constructor - */ - Mutex(MutexType type=MUTEX_NORMAL); - - /** - * Destructor - */ - virtual ~Mutex(); - - - MutexType getMutexType() const { return _mutexType; } - - - /** - * Lock the mutex - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - virtual int lock(); - - /** - * Unlock the mutex - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - virtual int unlock(); - - /** - * Test if mutex can be locked. - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - virtual int trylock(); - -private: - - /** - * Private copy constructor, to prevent tampering. - */ - Mutex(const Mutex &/*m*/) {}; - - /** - * Private copy assignment, to prevent tampering. - */ - Mutex &operator=(const Mutex &/*m*/) {return *(this);}; - - /** - * Implementation-specific private data. - */ - void *_prvData; - MutexType _mutexType; - -}; - -} - -#endif // _OPENTHREADS_MUTEX_ diff --git a/src/osg/OpenThreads/ReadWriteMutex b/src/osg/OpenThreads/ReadWriteMutex deleted file mode 100644 index a74c075c..00000000 --- a/src/osg/OpenThreads/ReadWriteMutex +++ /dev/null @@ -1,114 +0,0 @@ -/* -*-c++-*- OpenThreads - Copyright (C) 1998-2007 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef _OPENTHREADS_READWRITEMUTEX_ -#define _OPENTHREADS_READWRITEMUTEX_ - -#include -#include - -namespace OpenThreads { - -class ReadWriteMutex -{ - public: - - ReadWriteMutex(): - _readCount(0) {} - - virtual ~ReadWriteMutex() {} - - virtual int readLock() - { - OpenThreads::ScopedLock lock(_readCountMutex); - int result = 0; - if (_readCount==0) - { - result = _readWriteMutex.lock(); - } - ++_readCount; - return result; - } - - - virtual int readUnlock() - { - OpenThreads::ScopedLock lock(_readCountMutex); - int result = 0; - if (_readCount>0) - { - --_readCount; - if (_readCount==0) - { - result = _readWriteMutex.unlock(); - } - } - return result; - } - - virtual int writeLock() - { - return _readWriteMutex.lock(); - } - - virtual int writeUnlock() - { - return _readWriteMutex.unlock(); - } - - protected: - - ReadWriteMutex(const ReadWriteMutex&) {} - ReadWriteMutex& operator = (const ReadWriteMutex&) { return *(this); } - -#if 0 - ReentrantMutex _readWriteMutex; - ReentrantMutex _readCountMutex; -#else - OpenThreads::Mutex _readWriteMutex; - OpenThreads::Mutex _readCountMutex; -#endif - unsigned int _readCount; - -}; - -class ScopedReadLock -{ - public: - - ScopedReadLock(ReadWriteMutex& mutex):_mutex(mutex) { _mutex.readLock(); } - ~ScopedReadLock() { _mutex.readUnlock(); } - - protected: - ReadWriteMutex& _mutex; - - ScopedReadLock& operator = (const ScopedReadLock&) { return *this; } -}; - - -class ScopedWriteLock -{ - public: - - ScopedWriteLock(ReadWriteMutex& mutex):_mutex(mutex) { _mutex.writeLock(); } - ~ScopedWriteLock() { _mutex.writeUnlock(); } - - protected: - ReadWriteMutex& _mutex; - - ScopedWriteLock& operator = (const ScopedWriteLock&) { return *this; } -}; - -} - -#endif diff --git a/src/osg/OpenThreads/ReentrantMutex b/src/osg/OpenThreads/ReentrantMutex deleted file mode 100644 index 84f73157..00000000 --- a/src/osg/OpenThreads/ReentrantMutex +++ /dev/null @@ -1,34 +0,0 @@ -/* -*-c++-*- OpenThreads - Copyright (C) 1998-2007 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef _OPENTHREADS_REENTRANTMUTEX_ -#define _OPENTHREADS_REENTRANTMUTEX_ - -#include -#include -#include - -namespace OpenThreads { - -class ReentrantMutex : public OpenThreads::Mutex -{ - public: - - ReentrantMutex(): - Mutex(MUTEX_RECURSIVE) {} - -}; - -} - -#endif diff --git a/src/osg/OpenThreads/ScopedLock b/src/osg/OpenThreads/ScopedLock deleted file mode 100644 index 4176f3b1..00000000 --- a/src/osg/OpenThreads/ScopedLock +++ /dev/null @@ -1,70 +0,0 @@ -/* -*-c++-*- OpenThreads library, Copyright (C) 2002 - 2007 The Open Thread Group - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - - -// -// ScopedLock and ReverseScopedLock templates -// ~~~~~~~ -// -#ifndef _ScopedLock_ -#define _ScopedLock_ - -namespace OpenThreads{ - -template class ScopedLock -{ - private: - M& m_lock; - ScopedLock(const ScopedLock&); // prevent copy - ScopedLock& operator=(const ScopedLock&); // prevent assign - public: - explicit ScopedLock(M& m):m_lock(m) {m_lock.lock();} - ~ScopedLock(){m_lock.unlock();} -}; - -template class ReverseScopedLock -{ - private: - M& m_lock; - ReverseScopedLock(const ReverseScopedLock&); // prevent copy - ReverseScopedLock& operator=(const ReverseScopedLock&); // prevent assign - public: - explicit ReverseScopedLock(M& m):m_lock(m) {m_lock.unlock();} - ~ReverseScopedLock(){m_lock.lock();} -}; - - -template class ScopedPointerLock -{ - private: - M* m_lock; - ScopedPointerLock(const ScopedPointerLock&); // prevent copy - ScopedPointerLock& operator=(const ScopedPointerLock&); // prevent assign - public: - explicit ScopedPointerLock(M* m):m_lock(m) { if (m_lock) m_lock->lock();} - ~ScopedPointerLock(){ if (m_lock) m_lock->unlock();} -}; - -template class ReverseScopedPointerLock -{ - private: - M* m_lock; - ReverseScopedPointerLock(const ReverseScopedPointerLock&); // prevent copy - ReverseScopedPointerLock& operator=(const ReverseScopedPointerLock&); // prevent assign - public: - explicit ReverseScopedPointerLock(M* m):m_lock(m) { if (m_lock) m_lock->unlock();} - ~ReverseScopedPointerLock(){ if (m_lock) m_lock->lock();} -}; - -} -#endif diff --git a/src/osg/OpenThreads/Thread b/src/osg/OpenThreads/Thread deleted file mode 100644 index ab835bba..00000000 --- a/src/osg/OpenThreads/Thread +++ /dev/null @@ -1,389 +0,0 @@ -/* -*-c++-*- OpenThreads library, Copyright (C) 2002 - 2007 The Open Thread Group - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - - -// -// Thread - C++ Thread class -// ~~~~~~~~ -// - -#ifndef _OPENTHREADS_THREAD_ -#define _OPENTHREADS_THREAD_ - -#include - -#include - -namespace OpenThreads { - -/** - * Get the number of processors. - * - * Note, systems where no support exists for querying the number of processors, 1 is returned. - * - */ -extern OPENTHREAD_EXPORT_DIRECTIVE int GetNumberOfProcessors(); - -/** - * Set the processor affinity of current thread. - * - * Note, systems where no support exists no affinity will be set, and -1 will be returned. - * - */ -extern OPENTHREAD_EXPORT_DIRECTIVE int SetProcessorAffinityOfCurrentThread(unsigned int cpunum); - -/** - * @class Thread - * @brief This class provides an object-oriented thread interface. - */ -class OPENTHREAD_EXPORT_DIRECTIVE Thread { - -public: - - /** - * Set the concurrency level for a running application. This method - * only has effect if the pthreads thread model is being used, and - * then only when that model is many-to-one (eg. irix). - * in other cases it is ignored. The concurrency level is only a - * *hint* as to the number of execution vehicles to use, the actual - * implementation may do anything it wants. Setting the value - * to 0 returns things to their default state. - * - * @return previous concurrency level, -1 indicates no-op. - */ - static int SetConcurrency(int concurrencyLevel); - - /** - * Get the concurrency level for a running application. In this - * case, a return code of 0 means that the application is in default - * mode. A return code of -1 means that the application is incapable - * of setting an arbitrary concurrency, because it is a one-to-one - * execution model (sprocs, linuxThreads) - */ - static int GetConcurrency(); - - /** - * Enumerated Type for thread priority - */ - enum ThreadPriority { - - THREAD_PRIORITY_MAX, /**< The maximum possible priority */ - THREAD_PRIORITY_HIGH, /**< A high (but not max) setting */ - THREAD_PRIORITY_NOMINAL, /**< An average priority */ - THREAD_PRIORITY_LOW, /**< A low (but not min) setting */ - THREAD_PRIORITY_MIN, /**< The miniumum possible priority */ - THREAD_PRIORITY_DEFAULT /**< Priority scheduling default */ - - }; - - /** - * Enumerated Type for thread scheduling policy - */ - enum ThreadPolicy { - - THREAD_SCHEDULE_FIFO, /**< First in, First out scheduling */ - THREAD_SCHEDULE_ROUND_ROBIN, /**< Round-robin scheduling (LINUX_DEFAULT) */ - THREAD_SCHEDULE_TIME_SHARE, /**< Time-share scheduling (IRIX DEFAULT) */ - THREAD_SCHEDULE_DEFAULT /**< Default scheduling */ - - }; - - /** - * Constructor - */ - Thread(); - - /** - * Destructor - */ - virtual ~Thread(); - - - /** - * Return a pointer to the current running thread - */ - static Thread *CurrentThread(); - - - /** - * Initialize Threading in a program. This method must be called before - * you can do any threading in a program. - */ - static void Init(); - - /** - * Yield the processor. - * - * @note This method operates on the calling process. And is - * equivalent to calling sched_yield(). - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - static int YieldCurrentThread(); - - /** - * This method will return the ThreadPriority of the master process. - * (ie, the one calling the thread->start() methods for the first time) - * The method will almost certainly return - * Thread::THREAD_PRIORITY_DEFAULT if - * Init() has not been called. - * - * @return the Thread::ThreadPriority of the master thread. - */ - static ThreadPriority GetMasterPriority() {return s_masterThreadPriority;}; - - - /** - * Get a unique thread id. This id is monotonically increasing. - * - * @return a unique thread identifier - */ - int getThreadId(); - - /** - * Get the thread's process id. This is the pthread_t or pid_t value - * depending on the threading model being used. - * - * @return thread process id. - */ - size_t getProcessId(); - - /** - * Start the thread. This method will configure the thread, set - * it's priority, and spawn it. - * - * @note if the stack size specified setStackSize is smaller than the - * smallest allowable stack size, the threads stack size will be set to - * the minimum allowed, and may be retrieved via the getStackSize() - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - int start(); - int startThread(); - - /** - * Test the cancel state of the thread. If the thread has been canceled - * this method will cause the thread to exit now. This method operates - * on the calling thread. - * - * Returns 0 if normal, -1 if called from a thread other that this. - */ - int testCancel(); - - - /** - * Cancel the thread. Equivalent to SIGKILL. - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - virtual int cancel(); - - /** - * Set the thread's schedule priority. This is a complex method. - * Beware of thread priorities when using a many-to-many kernel - * entity implemenation (such as IRIX pthreads). If one is not careful - * to manage the thread priorities, a priority inversion deadlock can - * easily occur (Although the OpenThreads::Mutex & OpenThreads::Barrier - * constructs have been designed with this scenario in mind). Unless - * you have explicit need to set the schedule priorities for a given - * task, it is best to leave them alone. - * - * @note some implementations (notably LinuxThreads and IRIX Sprocs) - * only allow you to decrease thread priorities dynamically. Thus, - * a lower priority thread will not allow it's priority to be raised - * on the fly. - * - * @note setting the environment variable OUTPUT_THREADLIB_SCHEDULING_INFO - * will output scheduling information for each thread to stdout. - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - int setSchedulePriority(ThreadPriority priority); - - /** - * Get the thread's schedule priority (if able) - * - * @note setting the environment variable OUTPUT_THREADLIB_SCHEDULING_INFO - * will output scheduling information for each thread to stdout. - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - int getSchedulePriority(); - - /** - * Set the thread's scheduling policy (if able) - * - * @note On some implementations (notably IRIX Sprocs & LinuxThreads) - * The policy may prohibit the use of SCHEDULE_ROUND_ROBIN and - * SCHEDULE_FIFO policies - due to their real-time nature, and - * the danger of deadlocking the machine when used as super-user. - * In such cases, the command is a no-op. - * - * @note setting the environment variable OUTPUT_THREADLIB_SCHEDULING_INFO - * will output scheduling information for each thread to stdout. - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - int setSchedulePolicy(ThreadPolicy policy); - - /** - * Get the thread's policy (if able) - * - * @note setting the environment variable OUTPUT_THREADLIB_SCHEDULING_INFO - * will output scheduling information for each thread to stdout. - * - * @return policy if normal, -1 if errno set, errno code otherwise. - */ - int getSchedulePolicy(); - - /** - * Set the thread's desired stack size (in bytes). - * This method is an attribute of the thread and must be called - * *before* the start() method is invoked. - * - * @note a return code of 13 (EACESS) means that the thread stack - * size can no longer be changed. - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - int setStackSize(size_t size); - - /** - * Get the thread's desired stack size. - * - * @return the thread's stack size. 0 indicates that the stack size - * has either not yet been initialized, or not yet been specified by - * the application. - */ - size_t getStackSize(); - - /** - * Print the thread's scheduling information to stdout. - */ - void printSchedulingInfo(); - - /** - * Detach the thread from the calling process. - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - int detach(); - - /** - * Join the calling process with the thread - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - int join(); - - /** - * Disable thread cancellation altogether. Thread::cancel() has no effect. - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - int setCancelModeDisable(); - - /** - * Mark the thread to cancel asynchronously on Thread::cancel(). - * (May not be available with process-level implementations). - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - int setCancelModeAsynchronous(); - - /** - * Mark the thread to cancel at the earliest convenience on - * Thread::cancel() (This is the default) - * - * @return 0 if normal, -1 if errno set, errno code otherwise. - */ - int setCancelModeDeferred(); - - /** - * Query the thread's running status - * - * @return true if running, false if not. - */ - bool isRunning(); - - /** - * Thread's run method. Must be implemented by derived classes. - * This is where the action happens. - */ - virtual void run() = 0; - - /** - * Thread's cancel cleanup routine, called upon cancel(), after the - * cancellation has taken place, but before the thread exits completely. - * This method should be used to repair parts of the thread's data - * that may have been damaged by a pre-mature cancel. No-op by default. - */ - virtual void cancelCleanup() {}; - - void* getImplementation(){ return _prvData; }; - - /** Thread's processor affinity method. This binds a thread to a - * processor whenever possible. This call must be made before - * start() or startThread() and has no effect after the thread - * has been running. In the pthreads implementation, this is only - * implemented on sgi, through a pthread extension. On other pthread - * platforms this is ignored. Returns 0 on success, implementation's - * error on failure, or -1 if ignored. - */ - int setProcessorAffinity( unsigned int cpunum ); - - /** microSleep method, equivalent to the posix usleep(microsec). - * This is not strictly thread API but is used - * so often with threads. It's basically UNIX usleep. Parameter is - * number of microseconds we current thread to sleep. Returns 0 on - * success, non-zero on failure (UNIX errno or GetLastError() will give - * detailed description. - */ - static int microSleep( unsigned int microsec); - -private: - - /** - * The Private Actions class is allowed to operate on private data. - */ - friend class ThreadPrivateActions; - - /** - * Private copy constructor, to prevent tampering. - */ - Thread(const Thread &/*t*/) {}; - - /** - * Private copy assignment, to prevent tampering. - */ - Thread &operator=(const Thread &/*t*/) {return *(this);}; - - /** - * Implementation-specific data - */ - void * _prvData; - - /** - * Master thread's priority, set by Thread::Init. - */ - static ThreadPriority s_masterThreadPriority; - - /** - * Is initialized flag - */ - static bool s_isInitialized; -}; - -} - -#endif // !_OPENTHREADS_THREAD_ diff --git a/src/osg/OpenThreads/Version b/src/osg/OpenThreads/Version deleted file mode 100644 index 1fbe1e7f..00000000 --- a/src/osg/OpenThreads/Version +++ /dev/null @@ -1,38 +0,0 @@ -/* -*-c++-*- OpenThreads library, Copyright (C) 2002 - 2007 The Open Thread Group - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OPENTHREADS_VERSION -#define OPENTHREADS_VERSION 1 - -#include - -extern "C" { - -#define OPENTHREADS_MAJOR_VERSION 3 -#define OPENTHREADS_MINOR_VERSION 3 -#define OPENTHREADS_PATCH_VERSION 0 -#define OPENTHREADS_SOVERSION 20 - -/** OpenThreadsGetVersion() returns the library version number. - * Numbering convention : OpenThreads-1.0 will return 1.0 from OpenThreadsGetVersion. */ -extern OPENTHREAD_EXPORT_DIRECTIVE const char* OpenThreadsGetVersion(); - -/** The OpenThreadsGetSOVersion() method returns the OpenSceneGraph soversion number. */ -extern OPENTHREAD_EXPORT_DIRECTIVE const char* OpenThreadsGetSOVersion(); - -/** The OpenThreadsGetLibraryName() method returns the library name in human-friendly form. */ -extern OPENTHREAD_EXPORT_DIRECTIVE const char* OpenThreadsGetLibraryName(); - -} - -#endif diff --git a/src/osg/osg/AlphaFunc b/src/osg/osg/AlphaFunc deleted file mode 100644 index 95358651..00000000 --- a/src/osg/osg/AlphaFunc +++ /dev/null @@ -1,98 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_ALPHAFUNC -#define OSG_ALPHAFUNC 1 - -#include - -namespace osg { - -/** Encapsulates OpenGL glAlphaFunc. -*/ -class OSG_EXPORT AlphaFunc : public StateAttribute -{ - public : - - enum ComparisonFunction { - NEVER = GL_NEVER, - LESS = GL_LESS, - EQUAL = GL_EQUAL, - LEQUAL = GL_LEQUAL, - GREATER = GL_GREATER, - NOTEQUAL = GL_NOTEQUAL, - GEQUAL = GL_GEQUAL, - ALWAYS = GL_ALWAYS - }; - - - AlphaFunc(); - - AlphaFunc(ComparisonFunction func,float ref): - _comparisonFunc(func), - _referenceValue(ref) {} - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - AlphaFunc(const AlphaFunc& af,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(af,copyop), - _comparisonFunc(af._comparisonFunc), - _referenceValue(af._referenceValue) {} - - META_StateAttribute(osg, AlphaFunc,ALPHAFUNC); - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // Check for equal types, then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(AlphaFunc,sa) - - // Compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_comparisonFunc) - COMPARE_StateAttribute_Parameter(_referenceValue) - - return 0; // Passed all the above comparison macros, so must be equal. - } - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode(GL_ALPHA_TEST); - return true; - } - - inline void setFunction(ComparisonFunction func,float ref) - { - _comparisonFunc = func; - _referenceValue = ref; - } - - inline void setFunction(ComparisonFunction func) { _comparisonFunc=func; } - inline ComparisonFunction getFunction() const { return _comparisonFunc; } - - inline void setReferenceValue(float value) { _referenceValue=value; } - inline float getReferenceValue() const { return _referenceValue; } - - virtual void apply(State& state) const; - - protected: - - virtual ~AlphaFunc(); - - ComparisonFunction _comparisonFunc; - float _referenceValue; - -}; - -} - -#endif diff --git a/src/osg/osg/AnimationPath b/src/osg/osg/AnimationPath deleted file mode 100644 index 15df5f68..00000000 --- a/src/osg/osg/AnimationPath +++ /dev/null @@ -1,314 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_ANIMATIONPATH -#define OSG_ANIMATIONPATH 1 - -#include -#include -#include - -#include -#include -#include -#include - -namespace osg { - -/** AnimationPath encapsulates a time varying transformation pathway. Can be - * used for updating camera position and model object position. - * AnimationPathCallback can be attached directly to Transform nodes to - * move subgraphs around the scene. -*/ -class OSG_EXPORT AnimationPath : public virtual osg::Object -{ - public: - - AnimationPath():_loopMode(LOOP) {} - - AnimationPath(const AnimationPath& ap, const CopyOp& copyop=CopyOp::SHALLOW_COPY): - Object(ap,copyop), - _timeControlPointMap(ap._timeControlPointMap), - _loopMode(ap._loopMode) {} - - META_Object(osg,AnimationPath); - - class ControlPoint - { - public: - ControlPoint(): - _scale(1.0,1.0,1.0) {} - - ControlPoint(const osg::Vec3d& position): - _position(position), - _rotation(), - _scale(1.0,1.0,1.0) {} - - ControlPoint(const osg::Vec3d& position, const osg::Quat& rotation): - _position(position), - _rotation(rotation), - _scale(1.0,1.0,1.0) {} - - ControlPoint(const osg::Vec3d& position, const osg::Quat& rotation, const osg::Vec3d& scale): - _position(position), - _rotation(rotation), - _scale(scale) {} - - void setPosition(const osg::Vec3d& position) { _position = position; } - const osg::Vec3d& getPosition() const { return _position; } - - void setRotation(const osg::Quat& rotation) { _rotation = rotation; } - const osg::Quat& getRotation() const { return _rotation; } - - void setScale(const osg::Vec3d& scale) { _scale = scale; } - const osg::Vec3d& getScale() const { return _scale; } - - inline void interpolate(float ratio,const ControlPoint& first, const ControlPoint& second) - { - float one_minus_ratio = 1.0f-ratio; - _position = first._position*one_minus_ratio + second._position*ratio; - _rotation.slerp(ratio,first._rotation,second._rotation); - _scale = first._scale*one_minus_ratio + second._scale*ratio; - } - - inline void interpolate(double ratio,const ControlPoint& first, const ControlPoint& second) - { - double one_minus_ratio = 1.0-ratio; - _position = first._position*one_minus_ratio + second._position*ratio; - _rotation.slerp(ratio,first._rotation,second._rotation); - _scale = first._scale*one_minus_ratio + second._scale*ratio; - } - - inline void getMatrix(Matrixf& matrix) const - { - matrix.makeRotate(_rotation); - matrix.preMultScale(_scale); - matrix.postMultTranslate(_position); - } - - inline void getMatrix(Matrixd& matrix) const - { - matrix.makeRotate(_rotation); - matrix.preMultScale(_scale); - matrix.postMultTranslate(_position); - } - - inline void getInverse(Matrixf& matrix) const - { - matrix.makeRotate(_rotation.inverse()); - matrix.postMultScale(osg::Vec3d(1.0/_scale.x(),1.0/_scale.y(),1.0/_scale.z())); - matrix.preMultTranslate(-_position); - } - - inline void getInverse(Matrixd& matrix) const - { - matrix.makeRotate(_rotation.inverse()); - matrix.postMultScale(osg::Vec3d(1.0/_scale.x(),1.0/_scale.y(),1.0/_scale.z())); - matrix.preMultTranslate(-_position); - } - - protected: - - osg::Vec3d _position; - osg::Quat _rotation; - osg::Vec3d _scale; - - }; - - - /** Given a specific time, return the transformation matrix for a point. */ - bool getMatrix(double time,Matrixf& matrix) const - { - ControlPoint cp; - if (!getInterpolatedControlPoint(time,cp)) return false; - cp.getMatrix(matrix); - return true; - } - - /** Given a specific time, return the transformation matrix for a point. */ - bool getMatrix(double time,Matrixd& matrix) const - { - ControlPoint cp; - if (!getInterpolatedControlPoint(time,cp)) return false; - cp.getMatrix(matrix); - return true; - } - - /** Given a specific time, return the inverse transformation matrix for a point. */ - bool getInverse(double time,Matrixf& matrix) const - { - ControlPoint cp; - if (!getInterpolatedControlPoint(time,cp)) return false; - cp.getInverse(matrix); - return true; - } - - bool getInverse(double time,Matrixd& matrix) const - { - ControlPoint cp; - if (!getInterpolatedControlPoint(time,cp)) return false; - cp.getInverse(matrix); - return true; - } - - /** Given a specific time, return the local ControlPoint frame for a point. */ - virtual bool getInterpolatedControlPoint(double time,ControlPoint& controlPoint) const; - - /** Insert a control point into the AnimationPath.*/ - void insert(double time,const ControlPoint& controlPoint); - - double getFirstTime() const { if (!_timeControlPointMap.empty()) return _timeControlPointMap.begin()->first; else return 0.0;} - double getLastTime() const { if (!_timeControlPointMap.empty()) return _timeControlPointMap.rbegin()->first; else return 0.0;} - double getPeriod() const { return getLastTime()-getFirstTime();} - - enum LoopMode - { - SWING, - LOOP, - NO_LOOPING - }; - - void setLoopMode(LoopMode lm) { _loopMode = lm; } - - LoopMode getLoopMode() const { return _loopMode; } - - - typedef std::map TimeControlPointMap; - - void setTimeControlPointMap(TimeControlPointMap& tcpm) { _timeControlPointMap=tcpm; } - - TimeControlPointMap& getTimeControlPointMap() { return _timeControlPointMap; } - - const TimeControlPointMap& getTimeControlPointMap() const { return _timeControlPointMap; } - - bool empty() const { return _timeControlPointMap.empty(); } - - void clear() { _timeControlPointMap.clear(); } - - /** Read the animation path from a flat ASCII file stream. */ - void read(std::istream& in); - - /** Write the animation path to a flat ASCII file stream. */ - void write(std::ostream& out) const; - - /** Write the control point to a flat ASCII file stream. */ - void write(TimeControlPointMap::const_iterator itr, std::ostream& out) const; - - protected: - - virtual ~AnimationPath() {} - - TimeControlPointMap _timeControlPointMap; - LoopMode _loopMode; - -}; - - -class OSG_EXPORT AnimationPathCallback : public NodeCallback -{ - public: - - AnimationPathCallback(): - _pivotPoint(0.0,0.0,0.0), - _useInverseMatrix(false), - _timeOffset(0.0), - _timeMultiplier(1.0), - _firstTime(DBL_MAX), - _latestTime(0.0), - _pause(false), - _pauseTime(0.0) {} - - AnimationPathCallback(const AnimationPathCallback& apc,const CopyOp& copyop): - NodeCallback(apc,copyop), - _animationPath(apc._animationPath), - _pivotPoint(apc._pivotPoint), - _useInverseMatrix(apc._useInverseMatrix), - _timeOffset(apc._timeOffset), - _timeMultiplier(apc._timeMultiplier), - _firstTime(apc._firstTime), - _latestTime(apc._latestTime), - _pause(apc._pause), - _pauseTime(apc._pauseTime) {} - - - META_Object(osg,AnimationPathCallback); - - /** Construct an AnimationPathCallback with a specified animation path.*/ - AnimationPathCallback(AnimationPath* ap,double timeOffset=0.0,double timeMultiplier=1.0): - _animationPath(ap), - _pivotPoint(0.0,0.0,0.0), - _useInverseMatrix(false), - _timeOffset(timeOffset), - _timeMultiplier(timeMultiplier), - _firstTime(DBL_MAX), - _latestTime(0.0), - _pause(false), - _pauseTime(0.0) {} - - /** Construct an AnimationPathCallback and automatically create an animation path to produce a rotation about a point.*/ - AnimationPathCallback(const osg::Vec3d& pivot,const osg::Vec3d& axis,float angularVelocity); - - - void setAnimationPath(AnimationPath* path) { _animationPath = path; } - AnimationPath* getAnimationPath() { return _animationPath.get(); } - const AnimationPath* getAnimationPath() const { return _animationPath.get(); } - - inline void setPivotPoint(const Vec3d& pivot) { _pivotPoint = pivot; } - inline const Vec3d& getPivotPoint() const { return _pivotPoint; } - - void setUseInverseMatrix(bool useInverseMatrix) { _useInverseMatrix = useInverseMatrix; } - bool getUseInverseMatrix() const { return _useInverseMatrix; } - - void setTimeOffset(double offset) { _timeOffset = offset; } - double getTimeOffset() const { return _timeOffset; } - - void setTimeMultiplier(double multiplier) { _timeMultiplier = multiplier; } - double getTimeMultiplier() const { return _timeMultiplier; } - - - virtual void reset(); - - void setPause(bool pause); - bool getPause() const { return _pause; } - - /** Get the animation time that is used to specify the position along - * the AnimationPath. Animation time is computed from the formula: - * ((_latestTime-_firstTime)-_timeOffset)*_timeMultiplier.*/ - virtual double getAnimationTime() const; - - /** Implements the callback. */ - virtual void operator()(Node* node, NodeVisitor* nv); - - void update(osg::Node& node); - - public: - - ref_ptr _animationPath; - osg::Vec3d _pivotPoint; - bool _useInverseMatrix; - double _timeOffset; - double _timeMultiplier; - double _firstTime; - double _latestTime; - bool _pause; - double _pauseTime; - - protected: - - ~AnimationPathCallback(){} - -}; - -} - -#endif diff --git a/src/osg/osg/ApplicationUsage b/src/osg/osg/ApplicationUsage deleted file mode 100644 index fb6866ed..00000000 --- a/src/osg/osg/ApplicationUsage +++ /dev/null @@ -1,124 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_APPLICATIONUSAGE -#define OSG_APPLICATIONUSAGE 1 - -#include - -#include -#include -#include - -namespace osg { - -class OSG_EXPORT ApplicationUsage : public osg::Referenced -{ - public: - - static ApplicationUsage* instance(); - - ApplicationUsage() {} - - ApplicationUsage(const std::string& commandLineUsage); - - typedef std::map UsageMap; - - - /** The ApplicationName is often displayed when logging errors, and frequently incorporated into the Description (below). */ - void setApplicationName(const std::string& name) { _applicationName = name; } - const std::string& getApplicationName() const { return _applicationName; } - - /** If non-empty, the Description is typically shown by the Help Handler - * as text on the Help display (which also lists keyboard abbreviations. */ - void setDescription(const std::string& desc) { _description = desc; } - const std::string& getDescription() const { return _description; } - - enum Type - { - NO_HELP = 0x0, - COMMAND_LINE_OPTION = 0x1, - ENVIRONMENTAL_VARIABLE = 0x2, - KEYBOARD_MOUSE_BINDING = 0x4, - HELP_ALL = KEYBOARD_MOUSE_BINDING|ENVIRONMENTAL_VARIABLE|COMMAND_LINE_OPTION - }; - - void addUsageExplanation(Type type,const std::string& option,const std::string& explanation); - - void setCommandLineUsage(const std::string& explanation) { _commandLineUsage=explanation; } - const std::string& getCommandLineUsage() const { return _commandLineUsage; } - - - void addCommandLineOption(const std::string& option,const std::string& explanation, const std::string &defaultValue = ""); - - void setCommandLineOptions(const UsageMap& usageMap) { _commandLineOptions=usageMap; } - const UsageMap& getCommandLineOptions() const { return _commandLineOptions; } - - void setCommandLineOptionsDefaults(const UsageMap& usageMap) { _commandLineOptionsDefaults=usageMap; } - const UsageMap& getCommandLineOptionsDefaults() const { return _commandLineOptionsDefaults; } - - - void addEnvironmentalVariable(const std::string& option,const std::string& explanation, const std::string& defaultValue = ""); - - void setEnvironmentalVariables(const UsageMap& usageMap) { _environmentalVariables=usageMap; } - const UsageMap& getEnvironmentalVariables() const { return _environmentalVariables; } - - void setEnvironmentalVariablesDefaults(const UsageMap& usageMap) { _environmentalVariablesDefaults=usageMap; } - const UsageMap& getEnvironmentalVariablesDefaults() const { return _environmentalVariablesDefaults; } - - - void addKeyboardMouseBinding(const std::string& prefix, int key, const std::string& explanation); - void addKeyboardMouseBinding(int key, const std::string& explanation); - void addKeyboardMouseBinding(const std::string& option,const std::string& explanation); - - void setKeyboardMouseBindings(const UsageMap& usageMap) { _keyboardMouse=usageMap; } - const UsageMap& getKeyboardMouseBindings() const { return _keyboardMouse; } - - - void getFormattedString(std::string& str, const UsageMap& um,unsigned int widthOfOutput=80,bool showDefaults=false,const UsageMap& ud=UsageMap()); - - void write(std::ostream& output,const UsageMap& um,unsigned int widthOfOutput=80,bool showDefaults=false,const UsageMap& ud=UsageMap()); - - void write(std::ostream& output,unsigned int type=COMMAND_LINE_OPTION, unsigned int widthOfOutput=80,bool showDefaults=false); - - void writeEnvironmentSettings(std::ostream& output); - - protected: - - virtual ~ApplicationUsage() {} - - std::string _applicationName; - std::string _description; - std::string _commandLineUsage; - UsageMap _commandLineOptions; - UsageMap _environmentalVariables; - UsageMap _keyboardMouse; - UsageMap _environmentalVariablesDefaults; - UsageMap _commandLineOptionsDefaults; - -}; - -class ApplicationUsageProxy -{ - public: - - /** register an explanation of commandline/environmentvariable/keyboard mouse usage.*/ - ApplicationUsageProxy(ApplicationUsage::Type type,const std::string& option,const std::string& explanation) - { - ApplicationUsage::instance()->addUsageExplanation(type,option,explanation); - } -}; - -} - -#endif diff --git a/src/osg/osg/ArgumentParser b/src/osg/osg/ArgumentParser deleted file mode 100644 index 21b8ca33..00000000 --- a/src/osg/osg/ArgumentParser +++ /dev/null @@ -1,213 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_ARGUMENTPARSER -#define OSG_ARGUMENTPARSER 1 - -#include -#include -#include - -#include -#include -#include - -namespace osg { - -class OSG_EXPORT ArgumentParser -{ - public: - - class OSG_EXPORT Parameter - { - public: - enum ParameterType - { - BOOL_PARAMETER, - FLOAT_PARAMETER, - DOUBLE_PARAMETER, - INT_PARAMETER, - UNSIGNED_INT_PARAMETER, - STRING_PARAMETER - }; - - union ValueUnion - { - bool* _bool; - float* _float; - double* _double; - int* _int; - unsigned int* _uint; - std::string* _string; - }; - - Parameter(bool& value) { _type = BOOL_PARAMETER; _value._bool = &value; } - - Parameter(float& value) { _type = FLOAT_PARAMETER; _value._float = &value; } - - Parameter(double& value) { _type = DOUBLE_PARAMETER; _value._double = &value; } - - Parameter(int& value) { _type = INT_PARAMETER; _value._int = &value; } - - Parameter(unsigned int& value) { _type = UNSIGNED_INT_PARAMETER; _value._uint = &value; } - - Parameter(std::string& value) { _type = STRING_PARAMETER; _value._string = &value; } - - Parameter(const Parameter& param) { _type = param._type; _value = param._value; } - - Parameter& operator = (const Parameter& param) { _type = param._type; _value = param._value; return *this; } - - bool valid(const char* str) const; - bool assign(const char* str); - - protected: - - ParameterType _type; - ValueUnion _value; - }; - - /** Return true if the specified string is an option in the form - * -option or --option. */ - static bool isOption(const char* str); - - /** Return true if string is non-NULL and not an option in the form - * -option or --option. */ - static bool isString(const char* str); - - /** Return true if specified parameter is a number. */ - static bool isNumber(const char* str); - - /** Return true if specified parameter is a bool. */ - static bool isBool(const char* str); - - public: - - ArgumentParser(int* argc,char **argv); - - void setApplicationUsage(ApplicationUsage* usage) { _usage = usage; } - ApplicationUsage* getApplicationUsage() { return _usage.get(); } - const ApplicationUsage* getApplicationUsage() const { return _usage.get(); } - - /** Return the argument count. */ - int& argc() { return *_argc; } - - /** Return the argument array. */ - char** argv() { return _argv; } - - /** Return the char* argument at the specified position. */ - char* operator [] (int pos) { return _argv[pos]; } - - /** Return the const char* argument at the specified position. */ - const char* operator [] (int pos) const { return _argv[pos]; } - - /** Return the application name, as specified by argv[0] */ - std::string getApplicationName() const; - - /** Return the position of an occurrence of a string in the argument list. - * Return -1 if no string is found. */ - int find(const std::string& str) const; - - /** Return true if the specified parameter is an option in the form of - * -option or --option. */ - bool isOption(int pos) const; - - /** Return true if the specified parameter is a string not in - * the form of an option. */ - bool isString(int pos) const; - - /** Return true if the specified parameter is a number. */ - bool isNumber(int pos) const; - - bool containsOptions() const; - - /** Remove one or more arguments from the argv argument list, - * and decrement the argc respectively. */ - void remove(int pos,int num=1); - - /** Return true if the specified argument matches the given string. */ - bool match(int pos, const std::string& str) const; - - /** Search for an occurrence of a string in the argument list. If found, - * remove that occurrence and return true. Otherwise, return false. */ - bool read(const std::string& str); - bool read(const std::string& str, Parameter value1); - bool read(const std::string& str, Parameter value1, Parameter value2); - bool read(const std::string& str, Parameter value1, Parameter value2, Parameter value3); - bool read(const std::string& str, Parameter value1, Parameter value2, Parameter value3, Parameter value4); - bool read(const std::string& str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5); - bool read(const std::string& str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5, Parameter value6); - bool read(const std::string& str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5, Parameter value6, Parameter value7); - bool read(const std::string& str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5, Parameter value6, Parameter value7, Parameter value8); - - - /** If the argument value at the specified position matches the given string, - * and subsequent parameters are also matched, then set the parameter values, - * remove the arguments from the list, and return true. Otherwise, return false. */ - bool read(int pos, const std::string& str); - bool read(int pos, const std::string& str, Parameter value1); - bool read(int pos, const std::string& str, Parameter value1, Parameter value2); - bool read(int pos, const std::string& str, Parameter value1, Parameter value2, Parameter value3); - bool read(int pos, const std::string& str, Parameter value1, Parameter value2, Parameter value3, Parameter value4); - bool read(int pos, const std::string& str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5); - bool read(int pos, const std::string& str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5, Parameter value6); - bool read(int pos, const std::string& str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5, Parameter value6, Parameter value7); - bool read(int pos, const std::string& str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5, Parameter value6, Parameter value7, Parameter value8); - - - enum ErrorSeverity - { - BENIGN = 0, - CRITICAL = 1 - }; - - typedef std::map ErrorMessageMap; - - /** Return the error flag, true if an error has occurred when reading arguments. */ - bool errors(ErrorSeverity severity=BENIGN) const; - - /** Report an error message by adding to the ErrorMessageMap. */ - void reportError(const std::string& message,ErrorSeverity severity=CRITICAL); - - /** For each remaining option, report it as unrecognized. */ - void reportRemainingOptionsAsUnrecognized(ErrorSeverity severity=BENIGN); - - /** Return the error message, if any has occurred. */ - ErrorMessageMap& getErrorMessageMap() { return _errorMessageMap; } - - /** Return the error message, if any has occurred. */ - const ErrorMessageMap& getErrorMessageMap() const { return _errorMessageMap; } - - /** Write error messages to the given ostream, if at or above the given severity. */ - void writeErrorMessages(std::ostream& output,ErrorSeverity sevrity=BENIGN); - - - /** This convenience method handles help requests on the command line. - * Return the type(s) of help requested. The return value of this - * function is suitable for passing into getApplicationUsage()->write(). - * If ApplicationUsage::NO_HELP is returned then no help commandline option - * was found on the command line. */ - ApplicationUsage::Type readHelpType(); - - - protected: - - int* _argc; - char** _argv; - ErrorMessageMap _errorMessageMap; - ref_ptr _usage; - -}; - -} - -#endif diff --git a/src/osg/osg/Array b/src/osg/osg/Array deleted file mode 100644 index 8354e7b4..00000000 --- a/src/osg/osg/Array +++ /dev/null @@ -1,685 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_ARRAY -#define OSG_ARRAY 1 - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include - -namespace osg { - -class ArrayVisitor; -class ConstArrayVisitor; - -class ValueVisitor; -class ConstValueVisitor; - -class OSG_EXPORT Array : public BufferData -{ - - public: - - enum Type - { - ArrayType = 0, - - ByteArrayType = 1, - ShortArrayType = 2, - IntArrayType = 3, - - UByteArrayType = 4, - UShortArrayType = 5, - UIntArrayType = 6, - - FloatArrayType = 7, - DoubleArrayType = 8, - - Vec2bArrayType = 9, - Vec3bArrayType = 10, - Vec4bArrayType = 11, - - Vec2sArrayType = 12, - Vec3sArrayType = 13, - Vec4sArrayType = 14, - - Vec2iArrayType = 15, - Vec3iArrayType = 16, - Vec4iArrayType = 17, - - Vec2ubArrayType = 18, - Vec3ubArrayType = 19, - Vec4ubArrayType = 20, - - Vec2usArrayType = 21, - Vec3usArrayType = 22, - Vec4usArrayType = 23, - - Vec2uiArrayType = 24, - Vec3uiArrayType = 25, - Vec4uiArrayType = 26, - - Vec2ArrayType = 27, - Vec3ArrayType = 28, - Vec4ArrayType = 29, - - Vec2dArrayType = 30, - Vec3dArrayType = 31, - Vec4dArrayType = 32, - - MatrixArrayType = 33, - MatrixdArrayType = 34 - }; - - enum Binding - { - BIND_UNDEFINED=-1, - BIND_OFF=0, - BIND_OVERALL=1, - BIND_PER_PRIMITIVE_SET=2, - BIND_PER_VERTEX=4 - }; - - Array(Type arrayType=ArrayType,GLint dataSize=0,GLenum dataType=0, Binding binding=BIND_UNDEFINED): - _arrayType(arrayType), - _dataSize(dataSize), - _dataType(dataType), - _binding(binding), - _normalize(false), - _preserveDataType(false) {} - - Array(const Array& array,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - BufferData(array,copyop), - _arrayType(array._arrayType), - _dataSize(array._dataSize), - _dataType(array._dataType), - _binding(array._binding), - _normalize(array._normalize), - _preserveDataType(array._preserveDataType) {} - - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=NULL; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const; - - virtual void accept(ArrayVisitor&) = 0; - virtual void accept(ConstArrayVisitor&) const = 0; - - virtual void accept(unsigned int index,ValueVisitor&) = 0; - virtual void accept(unsigned int index,ConstValueVisitor&) const = 0; - - /** Return -1 if lhs element is less than rhs element, 0 if equal, - * 1 if lhs element is greater than rhs element. */ - virtual int compare(unsigned int lhs,unsigned int rhs) const = 0; - - Type getType() const { return _arrayType; } - GLint getDataSize() const { return _dataSize; } - GLenum getDataType() const { return _dataType; } - - virtual osg::Array* asArray() { return this; } - virtual const osg::Array* asArray() const { return this; } - - virtual unsigned int getElementSize() const = 0; - virtual const GLvoid* getDataPointer() const = 0; - virtual unsigned int getTotalDataSize() const = 0; - virtual unsigned int getNumElements() const = 0; - virtual void reserveArray(unsigned int num) = 0; - virtual void resizeArray(unsigned int num) = 0; - - - /** Specify how this array should be passed to OpenGL.*/ - void setBinding(Binding binding) { _binding = binding; } - - /** Get how this array should be passed to OpenGL.*/ - Binding getBinding() const { return _binding; } - - - /** Specify whether the array data should be normalized by OpenGL.*/ - void setNormalize(bool normalize) { _normalize = normalize; } - - /** Get whether the array data should be normalized by OpenGL.*/ - bool getNormalize() const { return _normalize; } - - - /** Set hint to ask that the array data is passed via integer or double, or normal setVertexAttribPointer function.*/ - void setPreserveDataType(bool preserve) { _preserveDataType = preserve; } - - /** Get hint to ask that the array data is passed via integer or double, or normal setVertexAttribPointer function.*/ - bool getPreserveDataType() const { return _preserveDataType; } - - - /** Frees unused space on this vector - i.e. the difference between size() and max_size() of the underlying vector.*/ - virtual void trim() {} - - /** Set the VertexBufferObject.*/ - inline void setVertexBufferObject(osg::VertexBufferObject* vbo) { setBufferObject(vbo); } - - /** Get the VertexBufferObject. If no VBO is assigned returns NULL*/ - inline osg::VertexBufferObject* getVertexBufferObject() { return dynamic_cast(_bufferObject.get()); } - - /** Get the const VertexBufferObject. If no VBO is assigned returns NULL*/ - inline const osg::VertexBufferObject* getVertexBufferObject() const { return dynamic_cast(_bufferObject.get()); } - - protected: - - virtual ~Array() {} - - Type _arrayType; - GLint _dataSize; - GLenum _dataType; - Binding _binding; - bool _normalize; - bool _preserveDataType; -}; - -/** convenience function for getting the binding of array via a ptr that may be null.*/ -inline osg::Array::Binding getBinding(const osg::Array* array) { return array ? array->getBinding() : osg::Array::BIND_OFF; } - -/** convenience function for getting the binding of array via a ptr that may be null.*/ -inline bool getNormalize(const osg::Array* array) { return array ? array->getNormalize() : false; } - - -template -class TemplateArray : public Array, public MixinVector -{ - public: - - TemplateArray(Binding binding=BIND_UNDEFINED) : Array(ARRAYTYPE,DataSize,DataType, binding) {} - - TemplateArray(const TemplateArray& ta,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - Array(ta,copyop), - MixinVector(ta) {} - - TemplateArray(unsigned int no) : - Array(ARRAYTYPE,DataSize,DataType), - MixinVector(no) {} - - TemplateArray(unsigned int no,const T* ptr) : - Array(ARRAYTYPE,DataSize,DataType), - MixinVector(ptr,ptr+no) {} - - TemplateArray(Binding binding, unsigned int no) : - Array(ARRAYTYPE,DataSize,DataType, binding), - MixinVector(no) {} - - TemplateArray(Binding binding, unsigned int no,const T* ptr) : - Array(ARRAYTYPE,DataSize,DataType, binding), - MixinVector(ptr,ptr+no) {} - - template - TemplateArray(InputIterator first,InputIterator last) : - Array(ARRAYTYPE,DataSize,DataType), - MixinVector(first,last) {} - - TemplateArray& operator = (const TemplateArray& array) - { - if (this==&array) return *this; - this->assign(array.begin(),array.end()); - return *this; - } - - virtual Object* cloneType() const { return new TemplateArray(); } - virtual Object* clone(const CopyOp& copyop) const { return new TemplateArray(*this,copyop); } - - inline virtual void accept(ArrayVisitor& av); - inline virtual void accept(ConstArrayVisitor& av) const; - - inline virtual void accept(unsigned int index,ValueVisitor& vv); - inline virtual void accept(unsigned int index,ConstValueVisitor& vv) const; - - virtual int compare(unsigned int lhs,unsigned int rhs) const - { - const T& elem_lhs = (*this)[lhs]; - const T& elem_rhs = (*this)[rhs]; - if (elem_lhs( *this ).swap( *this ); - } - - virtual unsigned int getElementSize() const { return sizeof(ElementDataType); } - virtual const GLvoid* getDataPointer() const { if (!this->empty()) return &this->front(); else return 0; } - virtual unsigned int getTotalDataSize() const { return static_cast(this->size()*sizeof(ElementDataType)); } - virtual unsigned int getNumElements() const { return static_cast(this->size()); } - virtual void reserveArray(unsigned int num) { this->reserve(num); } - virtual void resizeArray(unsigned int num) { this->resize(num); } - - typedef T ElementDataType; // expose T - - protected: - - virtual ~TemplateArray() {} -}; - -class OSG_EXPORT IndexArray : public Array -{ - - public: - - IndexArray(Type arrayType=ArrayType,GLint dataSize=0,GLenum dataType=0): - Array(arrayType,dataSize,dataType) {} - - IndexArray(const Array& array,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - Array(array,copyop) {} - - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=NULL; } - - virtual unsigned int index(unsigned int pos) const = 0; - - protected: - - virtual ~IndexArray() {} -}; - -template -class TemplateIndexArray : public IndexArray, public MixinVector -{ - public: - - TemplateIndexArray() : IndexArray(ARRAYTYPE,DataSize,DataType) {} - - TemplateIndexArray(const TemplateIndexArray& ta,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - IndexArray(ta,copyop), - MixinVector(ta) {} - - TemplateIndexArray(unsigned int no) : - IndexArray(ARRAYTYPE,DataSize,DataType), - MixinVector(no) {} - - TemplateIndexArray(unsigned int no,T* ptr) : - IndexArray(ARRAYTYPE,DataSize,DataType), - MixinVector(ptr,ptr+no) {} - - template - TemplateIndexArray(InputIterator first,InputIterator last) : - IndexArray(ARRAYTYPE,DataSize,DataType), - MixinVector(first,last) {} - - TemplateIndexArray& operator = (const TemplateIndexArray& array) - { - if (this==&array) return *this; - this->assign(array.begin(),array.end()); - return *this; - } - - virtual Object* cloneType() const { return new TemplateIndexArray(); } - virtual Object* clone(const CopyOp& copyop) const { return new TemplateIndexArray(*this,copyop); } - - inline virtual void accept(ArrayVisitor& av); - inline virtual void accept(ConstArrayVisitor& av) const; - - inline virtual void accept(unsigned int index,ValueVisitor& vv); - inline virtual void accept(unsigned int index,ConstValueVisitor& vv) const; - - virtual int compare(unsigned int lhs,unsigned int rhs) const - { - const T& elem_lhs = (*this)[lhs]; - const T& elem_rhs = (*this)[rhs]; - if (elem_lhs( *this ).swap( *this ); - } - - virtual unsigned int getElementSize() const { return sizeof(ElementDataType); } - virtual const GLvoid* getDataPointer() const { if (!this->empty()) return &this->front(); else return 0; } - virtual unsigned int getTotalDataSize() const { return static_cast(this->size()*sizeof(T)); } - virtual unsigned int getNumElements() const { return static_cast(this->size()); } - virtual void reserveArray(unsigned int num) { this->reserve(num); } - virtual void resizeArray(unsigned int num) { this->resize(num); } - - virtual unsigned int index(unsigned int pos) const { return (*this)[pos]; } - - typedef T ElementDataType; // expose T - - protected: - - virtual ~TemplateIndexArray() {} -}; - -typedef TemplateIndexArray ByteArray; -typedef TemplateIndexArray ShortArray; -typedef TemplateIndexArray IntArray; - -typedef TemplateIndexArray UByteArray; -typedef TemplateIndexArray UShortArray; -typedef TemplateIndexArray UIntArray; - -typedef TemplateArray FloatArray; -typedef TemplateArray DoubleArray; - - -typedef TemplateArray Vec2bArray; -typedef TemplateArray Vec3bArray; -typedef TemplateArray Vec4bArray; - -typedef TemplateArray Vec2sArray; -typedef TemplateArray Vec3sArray; -typedef TemplateArray Vec4sArray; - -typedef TemplateArray Vec2iArray; -typedef TemplateArray Vec3iArray; -typedef TemplateArray Vec4iArray; - -typedef TemplateArray Vec2ubArray; -typedef TemplateArray Vec3ubArray; -typedef TemplateArray Vec4ubArray; - -typedef TemplateArray Vec2usArray; -typedef TemplateArray Vec3usArray; -typedef TemplateArray Vec4usArray; - -typedef TemplateArray Vec2uiArray; -typedef TemplateArray Vec3uiArray; -typedef TemplateArray Vec4uiArray; - -typedef TemplateArray Vec2Array; -typedef TemplateArray Vec3Array; -typedef TemplateArray Vec4Array; - -typedef TemplateArray Vec2dArray; -typedef TemplateArray Vec3dArray; -typedef TemplateArray Vec4dArray; - -typedef TemplateArray MatrixfArray; -typedef TemplateArray MatrixdArray; - - -class ArrayVisitor -{ - public: - ArrayVisitor() {} - virtual ~ArrayVisitor() {} - - virtual void apply(Array&) {} - - virtual void apply(ByteArray&) {} - virtual void apply(ShortArray&) {} - virtual void apply(IntArray&) {} - - virtual void apply(UByteArray&) {} - virtual void apply(UShortArray&) {} - virtual void apply(UIntArray&) {} - - virtual void apply(FloatArray&) {} - virtual void apply(DoubleArray&) {} - - - virtual void apply(Vec2bArray&) {} - virtual void apply(Vec3bArray&) {} - virtual void apply(Vec4bArray&) {} - - virtual void apply(Vec2sArray&) {} - virtual void apply(Vec3sArray&) {} - virtual void apply(Vec4sArray&) {} - - virtual void apply(Vec2iArray&) {} - virtual void apply(Vec3iArray&) {} - virtual void apply(Vec4iArray&) {} - - virtual void apply(Vec2ubArray&) {} - virtual void apply(Vec3ubArray&) {} - virtual void apply(Vec4ubArray&) {} - - virtual void apply(Vec2usArray&) {} - virtual void apply(Vec3usArray&) {} - virtual void apply(Vec4usArray&) {} - - virtual void apply(Vec2uiArray&) {} - virtual void apply(Vec3uiArray&) {} - virtual void apply(Vec4uiArray&) {} - - virtual void apply(Vec2Array&) {} - virtual void apply(Vec3Array&) {} - virtual void apply(Vec4Array&) {} - - virtual void apply(Vec2dArray&) {} - virtual void apply(Vec3dArray&) {} - virtual void apply(Vec4dArray&) {} - - virtual void apply(MatrixfArray&) {} - virtual void apply(MatrixdArray&) {} -}; - -class ConstArrayVisitor -{ - public: - ConstArrayVisitor() {} - virtual ~ConstArrayVisitor() {} - - virtual void apply(const Array&) {} - - virtual void apply(const ByteArray&) {} - virtual void apply(const ShortArray&) {} - virtual void apply(const IntArray&) {} - - virtual void apply(const UByteArray&) {} - virtual void apply(const UShortArray&) {} - virtual void apply(const UIntArray&) {} - - virtual void apply(const FloatArray&) {} - virtual void apply(const DoubleArray&) {} - - - virtual void apply(const Vec2bArray&) {} - virtual void apply(const Vec3bArray&) {} - virtual void apply(const Vec4bArray&) {} - - virtual void apply(const Vec2sArray&) {} - virtual void apply(const Vec3sArray&) {} - virtual void apply(const Vec4sArray&) {} - - virtual void apply(const Vec2iArray&) {} - virtual void apply(const Vec3iArray&) {} - virtual void apply(const Vec4iArray&) {} - - virtual void apply(const Vec2ubArray&) {} - virtual void apply(const Vec3ubArray&) {} - virtual void apply(const Vec4ubArray&) {} - - virtual void apply(const Vec2usArray&) {} - virtual void apply(const Vec3usArray&) {} - virtual void apply(const Vec4usArray&) {} - - virtual void apply(const Vec2uiArray&) {} - virtual void apply(const Vec3uiArray&) {} - virtual void apply(const Vec4uiArray&) {} - - virtual void apply(const Vec2Array&) {} - virtual void apply(const Vec3Array&) {} - virtual void apply(const Vec4Array&) {} - - virtual void apply(const Vec2dArray&) {} - virtual void apply(const Vec3dArray&) {} - virtual void apply(const Vec4dArray&) {} - - virtual void apply(const MatrixfArray&) {} - virtual void apply(const MatrixdArray&) {} -}; - - -class ValueVisitor -{ - public: - ValueVisitor() {} - virtual ~ValueVisitor() {} - - virtual void apply(GLbyte&) {} - virtual void apply(GLshort&) {} - virtual void apply(GLint&) {} - - virtual void apply(GLushort&) {} - virtual void apply(GLubyte&) {} - virtual void apply(GLuint&) {} - - virtual void apply(GLfloat&) {} - virtual void apply(GLdouble&) {} - - - virtual void apply(Vec2b&) {} - virtual void apply(Vec3b&) {} - virtual void apply(Vec4b&) {} - - virtual void apply(Vec2s&) {} - virtual void apply(Vec3s&) {} - virtual void apply(Vec4s&) {} - - virtual void apply(Vec2i&) {} - virtual void apply(Vec3i&) {} - virtual void apply(Vec4i&) {} - - virtual void apply(Vec2ub&) {} - virtual void apply(Vec3ub&) {} - virtual void apply(Vec4ub&) {} - - virtual void apply(Vec2us&) {} - virtual void apply(Vec3us&) {} - virtual void apply(Vec4us&) {} - - virtual void apply(Vec2ui&) {} - virtual void apply(Vec3ui&) {} - virtual void apply(Vec4ui&) {} - - virtual void apply(Vec2&) {} - virtual void apply(Vec3&) {} - virtual void apply(Vec4&) {} - - virtual void apply(Vec2d&) {} - virtual void apply(Vec3d&) {} - virtual void apply(Vec4d&) {} - - virtual void apply(Matrixf&) {} - virtual void apply(Matrixd&) {} -}; - -class ConstValueVisitor -{ - public: - ConstValueVisitor() {} - virtual ~ConstValueVisitor() {} - - virtual void apply(const GLbyte&) {} - virtual void apply(const GLshort&) {} - virtual void apply(const GLint&) {} - - virtual void apply(const GLushort&) {} - virtual void apply(const GLubyte&) {} - virtual void apply(const GLuint&) {} - - virtual void apply(const GLfloat&) {} - virtual void apply(const GLdouble&) {} - - - virtual void apply(const Vec2b&) {} - virtual void apply(const Vec3b&) {} - virtual void apply(const Vec4b&) {} - - virtual void apply(const Vec2s&) {} - virtual void apply(const Vec3s&) {} - virtual void apply(const Vec4s&) {} - - virtual void apply(const Vec2i&) {} - virtual void apply(const Vec3i&) {} - virtual void apply(const Vec4i&) {} - - virtual void apply(const Vec2ub&) {} - virtual void apply(const Vec3ub&) {} - virtual void apply(const Vec4ub&) {} - - virtual void apply(const Vec2us&) {} - virtual void apply(const Vec3us&) {} - virtual void apply(const Vec4us&) {} - - virtual void apply(const Vec2ui&) {} - virtual void apply(const Vec3ui&) {} - virtual void apply(const Vec4ui&) {} - - virtual void apply(const Vec2&) {} - virtual void apply(const Vec3&) {} - virtual void apply(const Vec4&) {} - - virtual void apply(const Vec2d&) {} - virtual void apply(const Vec3d&) {} - virtual void apply(const Vec4d&) {} - - virtual void apply(const Matrixf&) {} - virtual void apply(const Matrixd&) {} -}; - -template -inline void TemplateArray::accept(ArrayVisitor& av) { av.apply(*this); } - -template -inline void TemplateArray::accept(ConstArrayVisitor& av) const { av.apply(*this); } - -template -inline void TemplateArray::accept(unsigned int index,ValueVisitor& vv) { vv.apply( (*this)[index] ); } - -template -inline void TemplateArray::accept(unsigned int index,ConstValueVisitor& vv) const { vv.apply( (*this)[index] );} - -template -inline void TemplateIndexArray::accept(ArrayVisitor& av) { av.apply(*this); } - -template -inline void TemplateIndexArray::accept(ConstArrayVisitor& av) const { av.apply(*this); } - -template -inline void TemplateIndexArray::accept(unsigned int index,ValueVisitor& vv) { vv.apply( (*this)[index] ); } - -template -inline void TemplateIndexArray::accept(unsigned int index,ConstValueVisitor& vv) const { vv.apply( (*this)[index] );} - -} - -#endif diff --git a/src/osg/osg/ArrayDispatchers b/src/osg/osg/ArrayDispatchers deleted file mode 100644 index 18339269..00000000 --- a/src/osg/osg/ArrayDispatchers +++ /dev/null @@ -1,112 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_ArrayDispatchers -#define OSG_ArrayDispatchers 1 - -#include -#include -#include - -namespace osg { - -// forward declare -class State; -class AttributeDispatchMap; - -struct AttributeDispatch : public osg::Referenced -{ - virtual void assign(const GLvoid*) {} - virtual void operator() (unsigned int) {}; -}; - -/** Helper class for managing the dispatch to OpenGL of various attribute arrays such as stored in osg::Geometry.*/ -class OSG_EXPORT ArrayDispatchers : public osg::Referenced -{ - public: - - ArrayDispatchers(); - ~ArrayDispatchers(); - - void setState(osg::State* state); - - void reset(); - - void setUseVertexAttribAlias(bool flag) { _useVertexAttribAlias = flag; } - bool getUseVertexAttribAlias() const { return _useVertexAttribAlias; } - - void activate(unsigned int binding, AttributeDispatch* at) - { - if (at) _activeDispatchList[binding].push_back(at); - } - - void activateVertexArray(osg::Array* array) { if (array && array->getBinding()>osg::Array::BIND_OFF) activate(array->getBinding(), vertexDispatcher(array)); } - void activateColorArray(osg::Array* array) { if (array && array->getBinding()>osg::Array::BIND_OFF) activate(array->getBinding(), colorDispatcher(array)); } - void activateNormalArray(osg::Array* array) { if (array && array->getBinding()>osg::Array::BIND_OFF) activate(array->getBinding(), normalDispatcher(array)); } - void activateSecondaryColorArray(osg::Array* array) { if (array && array->getBinding()>osg::Array::BIND_OFF) activate(array->getBinding(), secondaryColorDispatcher(array)); } - void activateFogCoordArray(osg::Array* array) { if (array && array->getBinding()>osg::Array::BIND_OFF) activate(array->getBinding(), fogCoordDispatcher(array)); } - void activateTexCoordArray(unsigned int unit, osg::Array* array) { if (array && array->getBinding()>osg::Array::BIND_OFF) activate(array->getBinding(), texCoordDispatcher(unit, array)); } - void activateVertexAttribArray(unsigned int unit, osg::Array* array) { if (array && array->getBinding()>osg::Array::BIND_OFF) activate(array->getBinding(), vertexAttribDispatcher(unit, array)); } - - AttributeDispatch* vertexDispatcher(Array* array); - AttributeDispatch* normalDispatcher(Array* array); - AttributeDispatch* colorDispatcher(Array* array); - AttributeDispatch* secondaryColorDispatcher(Array* array); - AttributeDispatch* fogCoordDispatcher(Array* array); - AttributeDispatch* texCoordDispatcher(unsigned int unit, Array* array); - AttributeDispatch* vertexAttribDispatcher(unsigned int unit, Array* array); - - void dispatch(unsigned int binding, unsigned int index) - { - AttributeDispatchList& ad = _activeDispatchList[binding]; - for(AttributeDispatchList::iterator itr = ad.begin(); - itr != ad.end(); - ++itr) - { - (*(*itr))(index); - } - } - - bool active(unsigned int binding) const { return !_activeDispatchList[binding].empty(); } - - protected: - - void init(); - - void assignTexCoordDispatchers(unsigned int unit); - void assignVertexAttribDispatchers(unsigned int unit); - - bool _initialized; - State* _state; - - AttributeDispatchMap* _vertexDispatchers; - AttributeDispatchMap* _normalDispatchers; - AttributeDispatchMap* _colorDispatchers; - AttributeDispatchMap* _secondaryColorDispatchers; - AttributeDispatchMap* _fogCoordDispatchers; - - typedef std::vector AttributeDispatchMapList; - AttributeDispatchMapList _texCoordDispatchers; - AttributeDispatchMapList _vertexAttribDispatchers; - - typedef std::vector AttributeDispatchList; - - typedef std::vector ActiveDispatchList; - ActiveDispatchList _activeDispatchList; - - bool _useVertexAttribAlias; -}; - -} - -#endif diff --git a/src/osg/osg/AudioStream b/src/osg/osg/AudioStream deleted file mode 100644 index 04bc3bdd..00000000 --- a/src/osg/osg/AudioStream +++ /dev/null @@ -1,86 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_AUDIOSTREAM -#define OSG_AUDIOSTREAM 1 - -#include -#include - -namespace osg { - -/** Pure virtual AudioSink bass class that is used to connect the audio system with AudioStreams. */ -class OSG_EXPORT AudioSink : public osg::Object -{ -public: - - AudioSink(); - - virtual const char * libraryName() const { return "osg"; } - virtual const char * className() const { return "AudioSinkInterface"; } - - virtual void play() = 0; - virtual void pause() = 0; - virtual void stop() = 0; - - virtual bool playing() const = 0; - - virtual double getDelay() const { return _delay; } - virtual void setDelay(const double delay) { _delay = delay; } - - virtual void setVolume(float) {} - virtual float getVolume() const { return 0.0f; } - -private: - - virtual Object* cloneType() const { return 0; } - virtual Object* clone(const osg::CopyOp &) const { return 0; } - - double _delay; -}; - -/** Pure virtual AudioStream base class. Subclasses provide mechanism for reading/generating audio data*/ -class OSG_EXPORT AudioStream : public osg::Object -{ - public: - AudioStream(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - AudioStream(const AudioStream& audio,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=0; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "AudioStream"; } - - virtual void setAudioSink(osg::AudioSink* audio_sink) = 0; - - virtual void consumeAudioBuffer(void * const buffer, const size_t size) = 0; - - virtual int audioFrequency() const = 0; - virtual int audioNbChannels() const = 0; - - enum SampleFormat - { - SAMPLE_FORMAT_U8, - SAMPLE_FORMAT_S16, - SAMPLE_FORMAT_S24, - SAMPLE_FORMAT_S32, - SAMPLE_FORMAT_F32 - }; - - virtual SampleFormat audioSampleFormat() const = 0; -}; - -} // namespace - -#endif diff --git a/src/osg/osg/AutoTransform b/src/osg/osg/AutoTransform deleted file mode 100644 index efa0f65e..00000000 --- a/src/osg/osg/AutoTransform +++ /dev/null @@ -1,161 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_AUTOTRANSFORM -#define OSG_AUTOTRANSFORM 1 - -#include -#include -#include -#include - -namespace osg { - -/** AutoTransform is a derived form of Transform that automatically - * scales or rotates to keep its children aligned with screen coordinates. -*/ -class OSG_EXPORT AutoTransform : public Transform -{ - public : - AutoTransform(); - - AutoTransform(const AutoTransform& pat,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - virtual osg::Object* cloneType() const { return new AutoTransform (); } - virtual osg::Object* clone(const osg::CopyOp& copyop) const { return new AutoTransform (*this,copyop); } - virtual bool isSameKindAs(const osg::Object* obj) const { return dynamic_cast(obj)!=NULL; } - virtual const char* className() const { return "AutoTransform"; } - virtual const char* libraryName() const { return "osg"; } - - virtual void accept(NodeVisitor& nv); - - virtual AutoTransform* asAutoTransform() { return this; } - virtual const AutoTransform* asAutoTransform() const { return this; } - - inline void setPosition(const Vec3d& pos) { _position = pos; _matrixDirty=true; dirtyBound(); } - inline const Vec3d& getPosition() const { return _position; } - - - inline void setRotation(const Quat& quat) { _rotation = quat; _matrixDirty=true; dirtyBound(); } - inline const Quat& getRotation() const { return _rotation; } - - inline void setScale(double scale) { setScale(osg::Vec3(scale,scale,scale)); } - - void setScale(const Vec3d& scale); - inline const Vec3d& getScale() const { return _scale; } - - void setMinimumScale(double minimumScale) { _minimumScale = minimumScale; } - double getMinimumScale() const { return _minimumScale; } - - void setMaximumScale(double maximumScale) { _maximumScale = maximumScale; } - double getMaximumScale() const { return _maximumScale; } - - inline void setPivotPoint(const Vec3d& pivot) { _pivotPoint = pivot; _matrixDirty=true; dirtyBound(); } - inline const Vec3d& getPivotPoint() const { return _pivotPoint; } - - - void setAutoUpdateEyeMovementTolerance(float tolerance) { _autoUpdateEyeMovementTolerance = tolerance; } - float getAutoUpdateEyeMovementTolerance() const { return _autoUpdateEyeMovementTolerance; } - - - enum AutoRotateMode - { - NO_ROTATION, - ROTATE_TO_SCREEN, - ROTATE_TO_CAMERA, - ROTATE_TO_AXIS - }; - - void setAutoRotateMode(AutoRotateMode mode); - - AutoRotateMode getAutoRotateMode() const { return _autoRotateMode; } - - /** Set the rotation axis for the AutoTransform's child nodes. - * Only utilized when _autoRotateMode==ROTATE_TO_AXIS. */ - void setAxis(const Vec3& axis); - /** Get the rotation axis. */ - inline const Vec3& getAxis() const { return _axis; } - - /** This normal defines child Nodes' front face direction when unrotated. */ - void setNormal(const Vec3& normal); - /** Get the front face direction normal. */ - inline const Vec3& getNormal() const { return _normal; } - - void setAutoScaleToScreen(bool autoScaleToScreen) { _autoScaleToScreen = autoScaleToScreen; _matrixDirty=true; } - - bool getAutoScaleToScreen() const { return _autoScaleToScreen; } - - void setAutoScaleTransitionWidthRatio(float ratio) { _autoScaleTransitionWidthRatio = ratio; } - float getAutoScaleTransitionWidthRatio() const { return _autoScaleTransitionWidthRatio; } - - - virtual bool computeLocalToWorldMatrix(Matrix& matrix,NodeVisitor* nv) const; - - virtual bool computeWorldToLocalMatrix(Matrix& matrix,NodeVisitor* nv) const; - - virtual BoundingSphere computeBound() const; - - - protected : - - virtual ~AutoTransform() {} - - Vec3d _position; - Vec3d _pivotPoint; - double _autoUpdateEyeMovementTolerance; - - AutoRotateMode _autoRotateMode; - - bool _autoScaleToScreen; - - mutable Quat _rotation; - mutable Vec3d _scale; - mutable bool _firstTimeToInitEyePoint; - mutable osg::Vec3 _previousEyePoint; - mutable osg::Vec3 _previousLocalUp; - mutable Viewport::value_type _previousWidth; - mutable Viewport::value_type _previousHeight; - mutable osg::Matrixd _previousProjection; - mutable osg::Vec3d _previousPosition; - - double _minimumScale; - double _maximumScale; - double _autoScaleTransitionWidthRatio; - - void computeMatrix() const; - - mutable bool _matrixDirty; - mutable osg::Matrixd _cachedMatrix; - - enum AxisAligned - { - AXIAL_ROT_X_AXIS=ROTATE_TO_AXIS+1, - AXIAL_ROT_Y_AXIS, - AXIAL_ROT_Z_AXIS, - CACHE_DIRTY - }; - - Vec3 _axis; - Vec3 _normal; - - // used internally as cache of which what _axis is aligned to help - // decide which method of rotation to use. - int _cachedMode; - Vec3 _side; - void updateCache(); - -}; - -} - -#endif diff --git a/src/osg/osg/Billboard b/src/osg/osg/Billboard deleted file mode 100644 index 02a8870e..00000000 --- a/src/osg/osg/Billboard +++ /dev/null @@ -1,132 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_BILLBOARD -#define OSG_BILLBOARD 1 - -#include -#include - -namespace osg { - -/** Billboard is a derived form of Geode that orients its osg::Drawable - * children to face the eye point. Typical uses include trees and - * particle explosions. -*/ -class OSG_EXPORT Billboard : public Geode -{ - public: - - enum Mode { - POINT_ROT_EYE, - POINT_ROT_WORLD, - AXIAL_ROT - }; - - Billboard(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - Billboard(const Billboard&,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_Node(osg, Billboard); - - /** Set the billboard rotation mode. */ - void setMode(Mode mode); - /** Get the billboard rotation mode. */ - inline Mode getMode() const { return _mode; } - - /** Set the rotation axis for the billboard's child Drawables. - * Only utilized when mode==AXIAL_ROT. */ - void setAxis(const Vec3& axis); - /** Get the rotation axis. */ - inline const Vec3& getAxis() const { return _axis; } - - /** This normal defines child Drawables' front face direction when unrotated. */ - void setNormal(const Vec3& normal); - /** Get the front face direction normal. */ - inline const Vec3& getNormal() const { return _normal; } - - - /** Set the specified child Drawable's position. */ - inline void setPosition(unsigned int i,const Vec3& pos) { _positionList[i] = pos; } - /** Get the specified child Drawable's position. */ - inline const Vec3& getPosition(unsigned int i) const { return _positionList[i]; } - - /** Type definition for pivot point position list. */ - typedef std::vector PositionList; - - /** Set the list of pivot point positions. */ - inline void setPositionList(PositionList& pl) { _positionList=pl; } - - /** Get the list of pivot point positions. */ - inline PositionList& getPositionList() { return _positionList; } - - /** Get a const list of pivot point positions. */ - inline const PositionList& getPositionList() const { return _positionList; } - - /** Add a Drawable with a default position of Vec3(0,0,0). - * Call the base-class Geode::addDrawble() to add the given Drawable - * gset as a child. If Geode::addDrawable() returns true, add the - * default position to the pivot point position list and return true. - * Otherwise, return false. */ - virtual bool addDrawable( Drawable *gset ); - - /** Add a Drawable with a specified position. - * Call the base-class Geode::addDrawble() to add the given Drawable - * gset as a child. If Geode::addDrawable() returns true, add the - * given position pos to the pivot point position list and return true. - * Otherwise, return false. */ - virtual bool addDrawable(Drawable *gset,const Vec3& pos); - - /** Remove a Drawable and its associated position. - * If gset is a child, remove it, decrement its reference count, - * remove its pivot point position. and return true. - * Otherwise, return false. */ - virtual bool removeDrawable( Drawable *gset ); - - - bool computeMatrix(Matrix& modelview, const Vec3& eye_local, const Vec3& pos_local) const; - - virtual BoundingSphere computeBound() const; - - protected: - - virtual ~Billboard(); - - enum AxisAligned - { - AXIAL_ROT_X_AXIS=AXIAL_ROT+1, - AXIAL_ROT_Y_AXIS, - AXIAL_ROT_Z_AXIS, - POINT_ROT_WORLD_Z_AXIS, - CACHE_DIRTY - }; - - - Mode _mode; - Vec3 _axis; - Vec3 _normal; - Matrix _rotateNormalToZAxis; - PositionList _positionList; - - // used internally as cache of which what _axis is aligned to help - // decide which method of rotation to use. - int _cachedMode; - Vec3 _side; - void updateCache(); - -}; - -} - -#endif diff --git a/src/osg/osg/BlendColor b/src/osg/osg/BlendColor deleted file mode 100644 index 0c86bc1f..00000000 --- a/src/osg/osg/BlendColor +++ /dev/null @@ -1,77 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_BLENDCOLOR -#define OSG_BLENDCOLOR 1 - -#include -#include -#include -#include - - -namespace osg { - -/** Encapsulates OpenGL blend/transparency state. */ -class OSG_EXPORT BlendColor : public StateAttribute -{ - public : - - BlendColor(); - - BlendColor(const osg::Vec4& constantColor); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - BlendColor(const BlendColor& trans,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(trans,copyop), - _constantColor(trans._constantColor) {} - - META_StateAttribute(osg, BlendColor,BLENDCOLOR); - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // Check for equal types, then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(BlendColor,sa) - - // Compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_constantColor) - - return 0; // Passed all the above comparison macros, so must be equal. - } - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode(GL_BLEND); - return true; - } - - void setConstantColor(const osg::Vec4& color) { _constantColor = color; } - - inline osg::Vec4& getConstantColor() { return _constantColor; } - - inline const osg::Vec4& getConstantColor() const { return _constantColor; } - - virtual void apply(State& state) const; - - protected : - - virtual ~BlendColor(); - - osg::Vec4 _constantColor; -}; - -} - -#endif diff --git a/src/osg/osg/BlendEquation b/src/osg/osg/BlendEquation deleted file mode 100644 index 2a37582e..00000000 --- a/src/osg/osg/BlendEquation +++ /dev/null @@ -1,111 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_BLENDEQUATION -#define OSG_BLENDEQUATION 1 - -#include - -#ifndef GL_VERSION_1_2 -/* Logic Ops */ -#define GL_MIN 0x8007 -#define GL_MAX 0x8008 -#define GL_FUNC_ADD 0x8006 -#define GL_FUNC_SUBTRACT 0x800A -#define GL_FUNC_REVERSE_SUBTRACT 0x800B -#endif - -#ifndef GL_LOGIC_OP -#define GL_LOGIC_OP 0x0BF1 -#endif - -#ifndef GL_ALPHA_MIN_SGIX -#define GL_ALPHA_MIN_SGIX 0x8320 -#define GL_ALPHA_MAX_SGIX 0x8321 -#endif - -namespace osg { - -/** Encapsulates OpenGL BlendEquation state. */ -class OSG_EXPORT BlendEquation : public StateAttribute -{ - public : - - enum Equation { - RGBA_MIN = GL_MIN, - RGBA_MAX = GL_MAX, - ALPHA_MIN = GL_ALPHA_MIN_SGIX, - ALPHA_MAX = GL_ALPHA_MAX_SGIX, - LOGIC_OP = GL_LOGIC_OP, - FUNC_ADD = GL_FUNC_ADD, - FUNC_SUBTRACT = GL_FUNC_SUBTRACT, - FUNC_REVERSE_SUBTRACT = GL_FUNC_REVERSE_SUBTRACT - }; - - BlendEquation(); - - BlendEquation(Equation equation); - - BlendEquation(Equation equationRGB, Equation equationAlpha); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - BlendEquation(const BlendEquation& trans,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(trans,copyop), - _equationRGB(trans._equationRGB), - _equationAlpha(trans._equationAlpha){} - - META_StateAttribute(osg, BlendEquation,BLENDEQUATION); - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // Check for equal types, then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(BlendEquation,sa) - - // Compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_equationRGB) - COMPARE_StateAttribute_Parameter(_equationAlpha) - - return 0; // Passed all the above comparison macros, so must be equal. - } - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode(GL_BLEND); - return true; - } - - - inline void setEquation(Equation equation) { _equationRGB = _equationAlpha = equation; } - inline Equation getEquation() const { return _equationRGB; } - - inline void setEquationRGB(Equation equation) { _equationRGB = equation; } - inline Equation getEquationRGB() const { return _equationRGB; } - - inline void setEquationAlpha(Equation equation) { _equationAlpha = equation; } - inline Equation getEquationAlpha() const { return _equationAlpha; } - - virtual void apply(State& state) const; - -protected : - - virtual ~BlendEquation(); - - - Equation _equationRGB, _equationAlpha; -}; - -} - -#endif diff --git a/src/osg/osg/BlendEquationi b/src/osg/osg/BlendEquationi deleted file mode 100644 index 8ab85f6e..00000000 --- a/src/osg/osg/BlendEquationi +++ /dev/null @@ -1,78 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2014 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_BLENDEQUATIONI -#define OSG_BLENDEQUATIONI 1 - -#include - -namespace osg { - -/** Encapsulates glBlendEquationi function : the index version of glBlendEquation for multiple render target. -*/ -class OSG_EXPORT BlendEquationi : public BlendEquation -{ - public : - - BlendEquationi(); - - BlendEquationi(unsigned int buf, Equation equation): - BlendEquation(equation), - _index(buf) {} - - BlendEquationi(unsigned int buf, Equation equationRGB, Equation equationAlpha): - BlendEquation(equationRGB, equationAlpha), - _index(buf) {} - - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - BlendEquationi(const BlendEquationi& cm,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - BlendEquation(cm,copyop), - _index(cm._index) {} - - META_StateAttribute(osg, BlendEquationi, BLENDEQUATION); - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // Check for equal types, then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(BlendEquationi,sa) - - COMPARE_StateAttribute_Parameter(_index); - - return BlendEquation::compare(sa); - } - - /** Return the buffer index as the member identifier.*/ - virtual unsigned int getMember() const { return _index; } - - /** Set the renderbuffer index of the BlendEquationi. */ - void setIndex(unsigned int buf) { _index = buf; } - - /** Get the renderbuffer index of the BlendEquationi. */ - unsigned int getIndex() const { return _index; } - - virtual void apply(State& state) const; - - protected: - - virtual ~BlendEquationi(); - - unsigned int _index; - -}; - -} - -#endif diff --git a/src/osg/osg/BlendFunc b/src/osg/osg/BlendFunc deleted file mode 100644 index 0c30ce08..00000000 --- a/src/osg/osg/BlendFunc +++ /dev/null @@ -1,172 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_BLENDFUNC -#define OSG_BLENDFUNC 1 - -#include - -#ifndef GL_VERSION_1_2 -#define GL_CONSTANT_COLOR 0x8001 -#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 -#define GL_CONSTANT_ALPHA 0x8003 -#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 -#define GL_BLEND_COLOR 0x8005 -#endif - -#ifndef GL_VERSION_1_4 -#define GL_BLEND_DST_RGB 0x80C8 -#define GL_BLEND_SRC_RGB 0x80C9 -#define GL_BLEND_DST_ALPHA 0x80CA -#define GL_BLEND_SRC_ALPHA 0x80CB -#endif - - -namespace osg { - -/** Encapsulates OpenGL blend/transparency state. - * - * Blending combines incoming fragment with a fragment - * already present in the target buffer. - * - * OpenGL 1.1 supports following source and destination blending factors: - * GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, - * GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, - * GL_ZERO, GL_ONE. - * - * Moreover, there are three source-only blending factors: - * GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA_SATURATE - * and two destination-only blending factors: - * GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR. - * OpenGL 1.4 allowed to use these five blending factors - * as both - source and destination blending factors. - * - * Following four source and destination blending factors - * were added by Imaging subset of OpenGL 1.2 - * and made mandatory by OpenGL 1.4: - * GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, - * GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA - * - * OpenGL 1.4 further provides glBlendFuncSeparate - * (promoted from GL_EXT_blend_func_separate). - * It makes possible to set blending functions for RGB and Alpha separately. - * Before, it was possible to set just one blending function for RGBA. - */ -class OSG_EXPORT BlendFunc : public StateAttribute -{ - public : - - BlendFunc(); - - BlendFunc(GLenum source, GLenum destination); - BlendFunc(GLenum source, GLenum destination, GLenum source_alpha, GLenum destination_alpha); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - BlendFunc(const BlendFunc& trans,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(trans,copyop), - _source_factor(trans._source_factor), - _destination_factor(trans._destination_factor), - _source_factor_alpha(trans._source_factor_alpha), - _destination_factor_alpha(trans._destination_factor_alpha) {} - - META_StateAttribute(osg, BlendFunc,BLENDFUNC); - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // Check for equal types, then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(BlendFunc,sa) - - // Compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_source_factor) - COMPARE_StateAttribute_Parameter(_destination_factor) - COMPARE_StateAttribute_Parameter(_source_factor_alpha) - COMPARE_StateAttribute_Parameter(_destination_factor_alpha) - - return 0; // Passed all the above comparison macros, so must be equal. - } - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode(GL_BLEND); - return true; - } - - enum BlendFuncMode { - DST_ALPHA = GL_DST_ALPHA, - DST_COLOR = GL_DST_COLOR, - ONE = GL_ONE, - ONE_MINUS_DST_ALPHA = GL_ONE_MINUS_DST_ALPHA, - ONE_MINUS_DST_COLOR = GL_ONE_MINUS_DST_COLOR, - ONE_MINUS_SRC_ALPHA = GL_ONE_MINUS_SRC_ALPHA, - ONE_MINUS_SRC_COLOR = GL_ONE_MINUS_SRC_COLOR, - SRC_ALPHA = GL_SRC_ALPHA, - SRC_ALPHA_SATURATE = GL_SRC_ALPHA_SATURATE, - SRC_COLOR = GL_SRC_COLOR, - CONSTANT_COLOR = GL_CONSTANT_COLOR, - ONE_MINUS_CONSTANT_COLOR = GL_ONE_MINUS_CONSTANT_COLOR, - CONSTANT_ALPHA = GL_CONSTANT_ALPHA, - ONE_MINUS_CONSTANT_ALPHA = GL_ONE_MINUS_CONSTANT_ALPHA, - ZERO = GL_ZERO - }; - - inline void setFunction( GLenum source, GLenum destination ) - { - _source_factor = source; - _destination_factor = destination; - _source_factor_alpha = source; - _destination_factor_alpha = destination; - } - - inline void setFunction( GLenum source_rgb, GLenum destination_rgb, GLenum source_alpha, GLenum destination_alpha ) - { - _source_factor = source_rgb; - _destination_factor = destination_rgb; - _source_factor_alpha = source_alpha; - _destination_factor_alpha = destination_alpha; - } - - void setSource(GLenum source) { _source_factor = _source_factor_alpha = source; } - inline GLenum getSource() const { return _source_factor; } - - void setSourceRGB(GLenum source) { _source_factor = source; } - inline GLenum getSourceRGB() const { return _source_factor; } - - void setSourceAlpha(GLenum source) { _source_factor_alpha = source; } - inline GLenum getSourceAlpha() const { return _source_factor_alpha; } - - void setDestination(GLenum destination) { _destination_factor = _destination_factor_alpha = destination; } - inline GLenum getDestination() const { return _destination_factor; } - - void setDestinationRGB(GLenum destination) { _destination_factor = destination; } - inline GLenum getDestinationRGB() const { return _destination_factor; } - - void setDestinationAlpha(GLenum destination) { _destination_factor_alpha = destination; } - inline GLenum getDestinationAlpha() const { return _destination_factor_alpha; } - - virtual void apply(State& state) const; - - protected : - - virtual ~BlendFunc(); - - GLenum _source_factor; - GLenum _destination_factor; - GLenum _source_factor_alpha; - GLenum _destination_factor_alpha; -}; - -} - -#endif diff --git a/src/osg/osg/BlendFunci b/src/osg/osg/BlendFunci deleted file mode 100644 index a1ed108e..00000000 --- a/src/osg/osg/BlendFunci +++ /dev/null @@ -1,77 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2014 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_BLENDFUNCI -#define OSG_BLENDFUNCI 1 - -#include - -namespace osg { - -/** Encapsulates glBlendFunci function : the index version of glBlendEquation for multiple render target. -*/ -class OSG_EXPORT BlendFunci : public BlendFunc -{ - public : - - BlendFunci(); - - BlendFunci(unsigned int buf, GLenum source, GLenum destination): - BlendFunc(source, destination), - _index(buf) {} - - BlendFunci(unsigned int buf, GLenum source, GLenum destination, GLenum source_alpha, GLenum destination_alpha): - BlendFunc(source, destination, source_alpha, destination_alpha), - _index(buf) {} - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - BlendFunci(const BlendFunci& cm,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - BlendFunc(cm,copyop), - _index(cm._index) {} - - META_StateAttribute(osg, BlendFunci, BLENDFUNC); - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // Check for equal types, then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(BlendFunci,sa) - - COMPARE_StateAttribute_Parameter(_index); - - return BlendFunc::compare(sa); - } - - /** Return the buffer index as the member identifier.*/ - virtual unsigned int getMember() const { return _index; } - - /** Set the renderbuffer index of the BlendFunci. */ - void setIndex(unsigned int buf) { _index = buf; } - - /** Get the renderbuffer index of the BlendFunci. */ - unsigned int getIndex() const { return _index; } - - virtual void apply(State& state) const; - - protected: - - virtual ~BlendFunci(); - - unsigned int _index; - -}; - -} - -#endif diff --git a/src/osg/osg/BoundingBox b/src/osg/osg/BoundingBox deleted file mode 100644 index e6c5b469..00000000 --- a/src/osg/osg/BoundingBox +++ /dev/null @@ -1,262 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_BOUNDINGBOX -#define OSG_BOUNDINGBOX 1 - -#include -#include -#include -#include -#include - -namespace osg { - -template -class BoundingSphereImpl; - -/** General purpose axis-aligned bounding box class for enclosing objects/vertices. - * Bounds leaf objects in a scene such as osg::Drawable objects. Used for frustum - * culling etc. -*/ -template -class BoundingBoxImpl -{ - public: - typedef VT vec_type; - typedef typename VT::value_type value_type; - - /** Minimum extent. (Smallest X, Y, and Z values of all coordinates.) */ - vec_type _min; - /** Maximum extent. (Greatest X, Y, and Z values of all coordinates.) */ - vec_type _max; - - /** Creates an uninitialized bounding box. */ - inline BoundingBoxImpl() : - _min(FLT_MAX, - FLT_MAX, - FLT_MAX), - _max(-FLT_MAX, - -FLT_MAX, - -FLT_MAX) - {} - - template - inline BoundingBoxImpl(const BoundingBoxImpl& bb) : - _min(bb._min), - _max(bb._max) - {} - - /** Creates a bounding box initialized to the given extents. */ - inline BoundingBoxImpl(value_type xmin, value_type ymin, value_type zmin, - value_type xmax, value_type ymax, value_type zmax) : - _min(xmin,ymin,zmin), - _max(xmax,ymax,zmax) {} - - /** Creates a bounding box initialized to the given extents. */ - inline BoundingBoxImpl(const vec_type& min,const vec_type& max) : - _min(min), - _max(max) {} - - /** Clear the bounding box. Erases existing minimum and maximum extents. */ - inline void init() - { - _min.set(FLT_MAX, - FLT_MAX, - FLT_MAX); - _max.set(-FLT_MAX, - -FLT_MAX, - -FLT_MAX); - } - - inline bool operator == (const BoundingBoxImpl& rhs) const { return _min==rhs._min && _max==rhs._max; } - inline bool operator != (const BoundingBoxImpl& rhs) const { return _min!=rhs._min || _max!=rhs._max; } - - /** Returns true if the bounding box extents are valid, false otherwise. */ - inline bool valid() const - { - return _max.x()>=_min.x() && _max.y()>=_min.y() && _max.z()>=_min.z(); - } - - /** Sets the bounding box extents. */ - inline void set (value_type xmin, value_type ymin, value_type zmin, - value_type xmax, value_type ymax, value_type zmax) - { - _min.set(xmin,ymin,zmin); - _max.set(xmax,ymax,zmax); - } - - /** Sets the bounding box extents. */ - inline void set(const vec_type& min,const vec_type& max) - { - _min = min; - _max = max; - } - - - inline value_type& xMin() { return _min.x(); } - inline value_type xMin() const { return _min.x(); } - - inline value_type& yMin() { return _min.y(); } - inline value_type yMin() const { return _min.y(); } - - inline value_type& zMin() { return _min.z(); } - inline value_type zMin() const { return _min.z(); } - - inline value_type& xMax() { return _max.x(); } - inline value_type xMax() const { return _max.x(); } - - inline value_type& yMax() { return _max.y(); } - inline value_type yMax() const { return _max.y(); } - - inline value_type& zMax() { return _max.z(); } - inline value_type zMax() const { return _max.z(); } - - /** Calculates and returns the bounding box center. */ - inline const vec_type center() const - { - return (_min+_max)*0.5; - } - - /** Calculates and returns the bounding box radius. */ - inline value_type radius() const - { - return sqrt(radius2()); - } - - /** Calculates and returns the squared length of the bounding box radius. - * Note, radius2() is faster to calculate than radius(). */ - inline value_type radius2() const - { - return 0.25*((_max-_min).length2()); - } - - /** Returns a specific corner of the bounding box. - * pos specifies the corner as a number between 0 and 7. - * Each bit selects an axis, X, Y, or Z from least- to - * most-significant. Unset bits select the minimum value - * for that axis, and set bits select the maximum. */ - inline const vec_type corner(unsigned int pos) const - { - return vec_type(pos&1?_max.x():_min.x(),pos&2?_max.y():_min.y(),pos&4?_max.z():_min.z()); - } - - /** Expands the bounding box to include the given coordinate. - * If the box is uninitialized, set its min and max extents to v. */ - inline void expandBy(const vec_type& v) - { - if(v.x()<_min.x()) _min.x() = v.x(); - if(v.x()>_max.x()) _max.x() = v.x(); - - if(v.y()<_min.y()) _min.y() = v.y(); - if(v.y()>_max.y()) _max.y() = v.y(); - - if(v.z()<_min.z()) _min.z() = v.z(); - if(v.z()>_max.z()) _max.z() = v.z(); - } - - /** Expands the bounding box to include the given coordinate. - * If the box is uninitialized, set its min and max extents to - * Vec3(x,y,z). */ - inline void expandBy(value_type x,value_type y,value_type z) - { - if(x<_min.x()) _min.x() = x; - if(x>_max.x()) _max.x() = x; - - if(y<_min.y()) _min.y() = y; - if(y>_max.y()) _max.y() = y; - - if(z<_min.z()) _min.z() = z; - if(z>_max.z()) _max.z() = z; - } - - /** Expands this bounding box to include the given bounding box. - * If this box is uninitialized, set it equal to bb. */ - void expandBy(const BoundingBoxImpl& bb) - { - if (!bb.valid()) return; - - if(bb._min.x()<_min.x()) _min.x() = bb._min.x(); - if(bb._max.x()>_max.x()) _max.x() = bb._max.x(); - - if(bb._min.y()<_min.y()) _min.y() = bb._min.y(); - if(bb._max.y()>_max.y()) _max.y() = bb._max.y(); - - if(bb._min.z()<_min.z()) _min.z() = bb._min.z(); - if(bb._max.z()>_max.z()) _max.z() = bb._max.z(); - } - - /** Expands this bounding box to include the given sphere. - * If this box is uninitialized, set it to include sh. */ - template - void expandBy(const BoundingSphereImpl& sh) - { - if (!sh.valid()) return; - - if(sh._center.x()-sh._radius<_min.x()) _min.x() = sh._center.x()-sh._radius; - if(sh._center.x()+sh._radius>_max.x()) _max.x() = sh._center.x()+sh._radius; - - if(sh._center.y()-sh._radius<_min.y()) _min.y() = sh._center.y()-sh._radius; - if(sh._center.y()+sh._radius>_max.y()) _max.y() = sh._center.y()+sh._radius; - - if(sh._center.z()-sh._radius<_min.z()) _min.z() = sh._center.z()-sh._radius; - if(sh._center.z()+sh._radius>_max.z()) _max.z() = sh._center.z()+sh._radius; - } - - - /** Returns the intersection of this bounding box and the specified bounding box. */ - BoundingBoxImpl intersect(const BoundingBoxImpl& bb) const - { return BoundingBoxImpl(osg::maximum(xMin(),bb.xMin()),osg::maximum(yMin(),bb.yMin()),osg::maximum(zMin(),bb.zMin()), - osg::minimum(xMax(),bb.xMax()),osg::minimum(yMax(),bb.yMax()),osg::minimum(zMax(),bb.zMax())); - - } - - /** Return true if this bounding box intersects the specified bounding box. */ - bool intersects(const BoundingBoxImpl& bb) const - { return osg::maximum(xMin(),bb.xMin()) <= osg::minimum(xMax(),bb.xMax()) && - osg::maximum(yMin(),bb.yMin()) <= osg::minimum(yMax(),bb.yMax()) && - osg::maximum(zMin(),bb.zMin()) <= osg::minimum(zMax(),bb.zMax()); - - } - - /** Returns true if this bounding box contains the specified coordinate. */ - inline bool contains(const vec_type& v) const - { - return valid() && - (v.x()>=_min.x() && v.x()<=_max.x()) && - (v.y()>=_min.y() && v.y()<=_max.y()) && - (v.z()>=_min.z() && v.z()<=_max.z()); - } - - /** Returns true if this bounding box contains the specified coordinate allowing for specific epsilon. */ - inline bool contains(const vec_type& v, value_type epsilon) const - { - return valid() && - ((v.x()+epsilon)>=_min.x() && (v.x()-epsilon)<=_max.x()) && - ((v.y()+epsilon)>=_min.y() && (v.y()-epsilon)<=_max.y()) && - ((v.z()+epsilon)>=_min.z() && (v.z()-epsilon)<=_max.z()); - } -}; - -typedef BoundingBoxImpl BoundingBoxf; -typedef BoundingBoxImpl BoundingBoxd; - -#ifdef OSG_USE_FLOAT_BOUNDINGBOX -typedef BoundingBoxf BoundingBox; -#else -typedef BoundingBoxd BoundingBox; -#endif - -} - -#endif diff --git a/src/osg/osg/BoundingSphere b/src/osg/osg/BoundingSphere deleted file mode 100644 index 5ec81f3e..00000000 --- a/src/osg/osg/BoundingSphere +++ /dev/null @@ -1,312 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_BOUNDINGSPHERE -#define OSG_BOUNDINGSPHERE 1 - -#include -#include -#include -#include - -namespace osg { - -template -class BoundingBoxImpl; - -/** General purpose bounding sphere class for enclosing nodes/objects/vertices. - * Bounds internal osg::Nodes in the scene, assists in view frustum culling, - * etc. Similar in function to BoundingBox, it's quicker for evaluating - * culling but generally will not cull as aggressively because it encloses a - * greater volume. -*/ -template -class BoundingSphereImpl -{ - public: - typedef VT vec_type; - typedef typename VT::value_type value_type; - - vec_type _center; - value_type _radius; - - /** Construct a default bounding sphere with radius to -1.0f, representing an invalid/unset bounding sphere.*/ - BoundingSphereImpl() : _center(0.0,0.0,0.0),_radius(-1.0) {} - - /** Creates a bounding sphere initialized to the given extents. */ - BoundingSphereImpl(const vec_type& center, value_type radius) : _center(center),_radius(radius) {} - - /** Creates a bounding sphere initialized to the given extents. */ - BoundingSphereImpl(const BoundingSphereImpl& bs) : _center(bs._center),_radius(bs._radius) {} - - /** Creates a bounding sphere initialized to the given extents. */ - BoundingSphereImpl(const BoundingBoxImpl& bb) : _center(0.0,0.0,0.0),_radius(-1.0) { expandBy(bb); } - - /** Clear the bounding sphere. Reset to default values. */ - inline void init() - { - _center.set(0.0,0.0,0.0); - _radius = -1.0; - } - - /** Returns true of the bounding sphere extents are valid, false - * otherwise. */ - inline bool valid() const { return _radius>=0.0; } - - inline bool operator == (const BoundingSphereImpl& rhs) const { return _center==rhs._center && _radius==rhs._radius; } - inline bool operator != (const BoundingSphereImpl& rhs) const { return _center!=rhs._center || _radius==rhs._radius; } - - /** Set the bounding sphere to the given center/radius using floats. */ - inline void set(const vec_type& center,value_type radius) - { - _center = center; - _radius = radius; - } - - /** Returns the center of the bounding sphere. */ - inline vec_type& center() { return _center; } - - /** Returns the const center of the bounding sphere. */ - inline const vec_type& center() const { return _center; } - - /** Returns the radius of the bounding sphere. */ - inline value_type& radius() { return _radius; } - /** Returns the const radius of the bounding sphere. */ - inline value_type radius() const { return _radius; } - - /** Returns the squared length of the radius. Note, For performance - * reasons, the calling method is responsible for checking to make - * sure the sphere is valid. */ - inline value_type radius2() const { return _radius*_radius; } - - /** Expands the sphere to encompass the given point. Repositions the - * sphere center to minimize the radius increase. If the sphere is - * uninitialized, set its center to v and radius to zero. */ - template - void expandBy(const vector_type& v); - - /** Expands the sphere to encompass the given point. Does not - * reposition the sphere center. If the sphere is - * uninitialized, set its center to v and radius to zero. */ - template - void expandRadiusBy(const vector_type& v); - - /** Expands the sphere to encompass the given sphere. Repositions the - * sphere center to minimize the radius increase. If the sphere is - * uninitialized, set its center and radius to match sh. */ - void expandBy(const BoundingSphereImpl& sh); - - /** Expands the sphere to encompass the given sphere. Does not - * repositions the sphere center. If the sphere is - * uninitialized, set its center and radius to match sh. */ - void expandRadiusBy(const BoundingSphereImpl& sh); - - /** Expands the sphere to encompass the given box. Repositions the - * sphere center to minimize the radius increase. */ - template - void expandBy(const BoundingBoxImpl& bb); - - /** Expands the sphere to encompass the given box. Does not - * repositions the sphere center. */ - template - void expandRadiusBy(const BoundingBoxImpl& bb); - - /** Returns true if v is within the sphere. */ - inline bool contains(const vec_type& v) const - { - return valid() && ((v-_center).length2()<=radius2()); - } - - - /** Returns true if there is a non-empty intersection with the given - * bounding sphere. */ - inline bool intersects( const BoundingSphereImpl& bs ) const - { - return valid() && bs.valid() && - ((_center - bs._center).length2() <= (_radius + bs._radius)*(_radius + bs._radius)); - } -}; - - -template -template -void BoundingSphereImpl::expandBy(const vector_type& v) -{ - if (valid()) - { - vec_type dv = vec_type(v)-_center; - value_type r = dv.length(); - if (r>_radius) - { - value_type dr = (r-_radius)*0.5; - _center += dv*(dr/r); - _radius += dr; - } // else do nothing as vertex is within sphere. - } - else - { - _center = v; - _radius = 0.0; - } -} - -template -template -void BoundingSphereImpl::expandRadiusBy(const vector_type& v) -{ - if (valid()) - { - value_type r = (vec_type(v)-_center).length(); - if (r>_radius) _radius = r; - // else do nothing as vertex is within sphere. - } - else - { - _center = v; - _radius = 0.0; - } -} - -template -void BoundingSphereImpl::expandBy(const BoundingSphereImpl& sh) -{ - // ignore operation if incoming BoundingSphere is invalid. - if (!sh.valid()) return; - - // This sphere is not set so use the inbound sphere - if (!valid()) - { - _center = sh._center; - _radius = sh._radius; - - return; - } - - - // Calculate d == The distance between the sphere centers - double d = ( _center - sh.center() ).length(); - - // New sphere is already inside this one - if ( d + sh.radius() <= _radius ) - { - return; - } - - // New sphere completely contains this one - if ( d + _radius <= sh.radius() ) - { - _center = sh._center; - _radius = sh._radius; - return; - } - - - // Build a new sphere that completely contains the other two: - // - // The center point lies halfway along the line between the furthest - // points on the edges of the two spheres. - // - // Computing those two points is ugly - so we'll use similar triangles - double new_radius = (_radius + d + sh.radius() ) * 0.5; - double ratio = ( new_radius - _radius ) / d ; - - _center[0] += ( sh.center()[0] - _center[0] ) * ratio; - _center[1] += ( sh.center()[1] - _center[1] ) * ratio; - _center[2] += ( sh.center()[2] - _center[2] ) * ratio; - - _radius = new_radius; - -} - -template -void BoundingSphereImpl::expandRadiusBy(const BoundingSphereImpl& sh) -{ - if (sh.valid()) - { - if (valid()) - { - value_type r = (sh._center-_center).length()+sh._radius; - if (r>_radius) _radius = r; - // else do nothing as vertex is within sphere. - } - else - { - _center = sh._center; - _radius = sh._radius; - } - } -} - -template -template -void BoundingSphereImpl::expandBy(const BoundingBoxImpl& bb) -{ - if (bb.valid()) - { - if (valid()) - { - BoundingBoxImpl newbb(bb); - - for(unsigned int c=0;c<8;++c) - { - vec_type v = bb.corner(c)-_center; // get the direction vector from corner - v.normalize(); // normalise it. - v *= -_radius; // move the vector in the opposite direction distance radius. - v += _center; // move to absolute position. - newbb.expandBy(v); // add it into the new bounding box. - } - - _center = newbb.center(); - _radius = newbb.radius(); - - } - else - { - _center = bb.center(); - _radius = bb.radius(); - } - } -} - -template -template -void BoundingSphereImpl::expandRadiusBy(const BoundingBoxImpl& bb) -{ - if (bb.valid()) - { - if (valid()) - { - for(unsigned int c=0;c<8;++c) - { - expandRadiusBy(bb.corner(c)); - } - } - else - { - _center = bb.center(); - _radius = bb.radius(); - } - } -} - -typedef BoundingSphereImpl BoundingSpheref; -typedef BoundingSphereImpl BoundingSphered; - -#ifdef OSG_USE_FLOAT_BOUNDINGSPHERE - typedef BoundingSpheref BoundingSphere; -#else - typedef BoundingSphered BoundingSphere; -#endif -} - -#endif diff --git a/src/osg/osg/BoundsChecking b/src/osg/osg/BoundsChecking deleted file mode 100644 index 541a281e..00000000 --- a/src/osg/osg/BoundsChecking +++ /dev/null @@ -1,216 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_BOUNDSCHECKING -#define OSG_BOUNDSCHECKING 1 - -#include - -namespace osg { - - -/** If value is greater than or equal to minValue do nothing - legal value, - * Otherwise set value to minValue, and warn that valueName was clamped. - * Note this is effectively A=max(A,B). */ -template -inline void clampGEQUAL(T& value,const T minValue,const char* valueName) -{ - if (value -inline void clampLEQUAL(T& value,const T maxValue,const char* valueName) -{ - if (value>maxValue) - { - notify(WARN) << "Warning: "< -inline void clampBetweenRange(T& value,const T minValue,const T maxValue,const char* valueName) -{ - if (valuemaxValue) - { - notify(WARN) << "Warning: "< -inline void clampArrayElementGEQUAL(A& value,unsigned int i,const T minValue,const char* valueName) -{ - if (value[i] -inline void clampArrayElementLEQUAL(A& value,unsigned int i,const T maxValue,const char* valueName) -{ - if (value[i]>maxValue) - { - notify(WARN) << "Warning: "< -inline void clampArrayElementBetweenRange(A& value,unsigned int i,const T minValue,const T maxValue,const char* valueName) -{ - if (value[i]maxValue) - { - notify(WARN) << "Warning: "< -inline void clampArrayElementsGEQUAL(A& value,unsigned int first,unsigned int last,const T minValue,const char* valueName) -{ - for(unsigned int i=first;i<=last;++i) - clampArrayElementGEQUAL(value,i,minValue,valueName); -} - -/** For each element of value[] in the range (first,last), if the element is - * less than or equal to maxValue do nothing - legal value, Otherwise clamp - * the element to maxValue, and warn that valueName[i] was clamped. */ -template -inline void clampArrayElementsLEQUAL(A& value,unsigned int first,unsigned int last,const T maxValue,const char* valueName) -{ - for(unsigned int i=first;i<=last;++i) - clampArrayElementLEQUAL(value,i,maxValue,valueName); -} - -/** For each element of value[] in the range (first,last), if the element is - * between or equal to minValue and maxValue do nothing - legal value, - * Otherwise clamp the element to the range and warn that valueName[i] was - * clamped. Equivalent to calling - * clampArrayElementsGEQUAL( value, first, last, minValue, valueName); - * clampArrayElementsLEQUAL( value, first, last, maxValue, valueName); */ -template -inline void clampArrayElementsBetweenRange(A& value,unsigned int first,unsigned int last,const T minValue,const T maxValue,const char* valueName) -{ - for(unsigned int i=first;i<=last;++i) - clampArrayElementBetweenRange(value,i,minValue,maxValue,valueName); -} - - -/** For each element of the three-element array value[], if the element is - * greater than or equal to minValue do nothing - legal value, Otherwise - * clamp the element to minValue, and warn that valueName[i] was clamped. */ -template -inline void clampArray3GEQUAL(A& value,const T minValue,const char* valueName) -{ - clampArrayElementsGEQUAL(value,0u,2u,minValue,valueName); -} - -/** For each element of the three-element array value[], if the element is - * less than or equal to maxValue do nothing - legal value, Otherwise clamp - * the element to maxValue, and warn that valueName[i] was clamped. */ -template -inline void clampArray3LEQUAL(A& value,const T maxValue,const char* valueName) -{ - clampArrayElementsLEQUAL(value,0u,2u,maxValue,valueName); -} - -/** For each element of the three-element array value[], if the element is - * between or equal to minValue and maxValue do nothing - legal value, - * Otherwise clamp the element to the range and warn that valueName[i] was - * clamped. Equivalent to calling - * clampArray3GEQUAL( value, minValue, valueName); - * clampArray3LEQUAL( value, maxValue, valueName); */ -template -inline void clampArray3BetweenRange(A& value,const T minValue,const T maxValue,const char* valueName) -{ - clampArrayElementsBetweenRange(value,0u,2u,minValue,maxValue,valueName); -} - - - -/** For each element of the four-element array value[], if the element is - * greater than or equal to minValue do nothing - legal value, Otherwise - * clamp the element to minValue, and warn that valueName[i] was clamped. */ -template -inline void clampArray4GEQUAL(A& value,const T minValue,const char* valueName) -{ - clampArrayElementsGEQUAL(value,0u,3u,minValue,valueName); -} - -/** For each element of the four-element array value[], if the element is - * less than or equal to maxValue do nothing - legal value, Otherwise clamp - * the element to maxValue, and warn that valueName[i] was clamped. */ -template -inline void clampArray4LEQUAL(A& value,const T maxValue,const char* valueName) -{ - clampArrayElementsLEQUAL(value,0u,3u,maxValue,valueName); -} - -/** For each element of the four-element array value[], if the element is - * between or equal to minValue and maxValue do nothing - legal value, - * Otherwise clamp the element to the range and warn that valueName[i] was - * clamped. Equivalent to calling - * clampArray4GEQUAL( value, minValue, valueName); - * clampArray4LEQUAL( value, maxValue, valueName); */ -template -inline void clampArray4BetweenRange(A& value,const T minValue,const T maxValue,const char* valueName) -{ - clampArrayElementsBetweenRange(value,0u,3u,minValue,maxValue,valueName); -} - -} - -#endif diff --git a/src/osg/osg/BufferIndexBinding b/src/osg/osg/BufferIndexBinding deleted file mode 100644 index 51666b77..00000000 --- a/src/osg/osg/BufferIndexBinding +++ /dev/null @@ -1,198 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * Copyright (C) 2010 Tim Moore - * Copyright (C) 2012 David Callu - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_BUFFERINDEXBINDING -#define OSG_BUFFERINDEXBINDING 1 - -#include -#include -#include -#include - -#ifndef GL_TRANSFORM_FEEDBACK_BUFFER - #define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E -#endif - - -namespace osg { - -class State; - -/** Encapsulate binding buffer objects to index targets. This - * specifically supports the uniform buffer and transform feedback - * targets. - */ - -// Common implementation superclass -class OSG_EXPORT BufferIndexBinding : public StateAttribute -{ - protected: - BufferIndexBinding(GLenum target, GLuint index); - BufferIndexBinding(GLenum target, GLuint index, BufferObject* bo, GLintptr offset, - GLsizeiptr size); - BufferIndexBinding(const BufferIndexBinding& rhs, const CopyOp& copyop=CopyOp::SHALLOW_COPY); - public: - // The member value is part of the key to this state attribute in - // the State class. Using the index target, we can separately - // track the bindings for many different index targets. - virtual unsigned getMember() const { return static_cast(_index); } - - GLenum getTarget() const { return _target; } - /** Get the index target. - */ - GLuint getIndex() const { return _index; } - /** Set the buffer object that will be bound to the index target. - */ - void setBufferObject(BufferObject *bo) { _bufferObject = bo; } - /** Get the buffer object to be bound. - */ - BufferObject* getBufferObject() const { return _bufferObject.get(); } - /** Set the starting offset into the buffer object for data for - the indexed target. Note: the required alignment on the offset - may be quite large (e.g., 256 bytes on NVidia 8600M). This - should be checked with glGetIntegerv(GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT...). - */ - void setOffset(GLintptr offset) { _offset = offset; } - GLintptr getOffset() const { return _offset; } - /** Set the size of data for the indexed target. - */ - void setSize(GLsizeiptr size) { _size = size; } - GLsizeiptr getSize() const { return _size; } - virtual void apply(State& state) const; - protected: - virtual ~BufferIndexBinding(); - const GLenum _target; - const GLuint _index; - ref_ptr _bufferObject; - GLintptr _offset; - GLsizeiptr _size; -}; - -/** StateAttribute for binding a uniform buffer index target. - */ -class OSG_EXPORT UniformBufferBinding : public BufferIndexBinding -{ - public: - UniformBufferBinding(); - UniformBufferBinding(GLuint index); - /** Create a binding for a uniform buffer index target. - * @param index the index target - * @param bo associated buffer object - * @param offset offset into buffer object - * @param size size of data in buffer object - */ - UniformBufferBinding(GLuint index, BufferObject* bo, GLintptr offset, GLsizeiptr size); - UniformBufferBinding(const UniformBufferBinding& rhs, const CopyOp& copyop=CopyOp::SHALLOW_COPY); - META_StateAttribute(osg, UniformBufferBinding, UNIFORMBUFFERBINDING); - - virtual int compare(const StateAttribute& bb) const - { - COMPARE_StateAttribute_Types(UniformBufferBinding, bb) - - COMPARE_StateAttribute_Parameter(_target) - COMPARE_StateAttribute_Parameter(_index) - COMPARE_StateAttribute_Parameter(_bufferObject) - COMPARE_StateAttribute_Parameter(_offset) - COMPARE_StateAttribute_Parameter(_size) - return 0; - } -}; - -/** StateAttribute for binding a transform feedback index target. - */ -class OSG_EXPORT TransformFeedbackBufferBinding : public BufferIndexBinding -{ - public: - TransformFeedbackBufferBinding(GLuint index = 0); - TransformFeedbackBufferBinding(GLuint index, BufferObject* bo, GLintptr offset, GLsizeiptr size); - TransformFeedbackBufferBinding(const TransformFeedbackBufferBinding& rhs, const CopyOp& copyop=CopyOp::SHALLOW_COPY); - META_StateAttribute(osg, TransformFeedbackBufferBinding, TRANSFORMFEEDBACKBUFFERBINDING); - - virtual int compare(const StateAttribute& bb) const - { - COMPARE_StateAttribute_Types(TransformFeedbackBufferBinding, bb) - - COMPARE_StateAttribute_Parameter(_target) - COMPARE_StateAttribute_Parameter(_index) - COMPARE_StateAttribute_Parameter(_bufferObject) - COMPARE_StateAttribute_Parameter(_offset) - COMPARE_StateAttribute_Parameter(_size) - return 0; - } -}; - -/** StateAttribute for binding a atomic counter buffer index target. - */ -class OSG_EXPORT AtomicCounterBufferBinding : public BufferIndexBinding -{ - public: - AtomicCounterBufferBinding(GLuint index=0); - /** Create a binding for a atomic counter buffer index target. - * @param index the index target - * @param bo associated buffer object - * @param offset offset into buffer object - * @param size size of data in buffer object - */ - AtomicCounterBufferBinding(GLuint index, BufferObject* bo, GLintptr offset, GLsizeiptr size); - AtomicCounterBufferBinding(const AtomicCounterBufferBinding& rhs, const CopyOp& copyop=CopyOp::SHALLOW_COPY); - META_StateAttribute(osg, AtomicCounterBufferBinding, ATOMICCOUNTERBUFFERBINDING); - - void readData(osg::State & state, osg::UIntArray & uintArray) const; - - virtual int compare(const StateAttribute& bb) const - { - COMPARE_StateAttribute_Types(AtomicCounterBufferBinding, bb) - - COMPARE_StateAttribute_Parameter(_target) - COMPARE_StateAttribute_Parameter(_index) - COMPARE_StateAttribute_Parameter(_bufferObject) - COMPARE_StateAttribute_Parameter(_offset) - COMPARE_StateAttribute_Parameter(_size) - return 0; - } -}; - -class OSG_EXPORT ShaderStorageBufferBinding : public BufferIndexBinding -{ - public: - ShaderStorageBufferBinding(GLuint index=0); - /** Create a binding for a shader storage buffer index target. - * @param index the index target - * @param bo associated buffer object - * @param offset offset into buffer object - * @param size size of data in buffer object - */ - ShaderStorageBufferBinding(GLuint index, BufferObject* bo, GLintptr offset, GLsizeiptr size); - ShaderStorageBufferBinding(const ShaderStorageBufferBinding& rhs, const CopyOp& copyop=CopyOp::SHALLOW_COPY); - META_StateAttribute(osg, ShaderStorageBufferBinding, SHADERSTORAGEBUFFERBINDING); - - virtual int compare(const StateAttribute& bb) const - { - COMPARE_StateAttribute_Types(ShaderStorageBufferBinding, bb) - COMPARE_StateAttribute_Parameter(_target) - COMPARE_StateAttribute_Parameter(_index) - COMPARE_StateAttribute_Parameter(_bufferObject) - COMPARE_StateAttribute_Parameter(_offset) - COMPARE_StateAttribute_Parameter(_size) - return 0; - } -}; - - - - -} // namespace osg - -#endif diff --git a/src/osg/osg/BufferObject b/src/osg/osg/BufferObject deleted file mode 100644 index a729743c..00000000 --- a/src/osg/osg/BufferObject +++ /dev/null @@ -1,777 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * Copyright (C) 2012 David Callu - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_BUFFEROBJECT -#define OSG_BUFFEROBJECT 1 - -#include -#include -#include -#include -#include - -#include -#include -#include - -#ifndef GL_ARB_vertex_buffer_object - #define GL_ARRAY_BUFFER_ARB 0x8892 - #define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893 - #define GL_ARRAY_BUFFER_BINDING_ARB 0x8894 - #define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895 - #define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896 - #define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897 - #define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898 - #define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899 - #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A - #define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B - #define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C - #define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D - #define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E - #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F - #define GL_STREAM_DRAW_ARB 0x88E0 - #define GL_STREAM_READ_ARB 0x88E1 - #define GL_STREAM_COPY_ARB 0x88E2 - #define GL_STATIC_DRAW_ARB 0x88E4 - #define GL_STATIC_READ_ARB 0x88E5 - #define GL_STATIC_COPY_ARB 0x88E6 - #define GL_DYNAMIC_DRAW_ARB 0x88E8 - #define GL_DYNAMIC_READ_ARB 0x88E9 - #define GL_DYNAMIC_COPY_ARB 0x88EA - #define GL_READ_ONLY_ARB 0x88B8 - #define GL_WRITE_ONLY_ARB 0x88B9 - #define GL_READ_WRITE_ARB 0x88BA - #define GL_BUFFER_SIZE_ARB 0x8764 - #define GL_BUFFER_USAGE_ARB 0x8765 - #define GL_BUFFER_ACCESS_ARB 0x88BB - #define GL_BUFFER_MAPPED_ARB 0x88BC - #define GL_BUFFER_MAP_POINTER_ARB 0x88BD -#endif - -#ifndef GL_VERSION_1_5 - #define GL_STREAM_DRAW 0x88E0 - #define GL_STREAM_READ 0x88E1 - #define GL_STREAM_COPY 0x88E2 - #define GL_STATIC_DRAW 0x88E4 - #define GL_STATIC_READ 0x88E5 - #define GL_STATIC_COPY 0x88E6 - #define GL_DYNAMIC_DRAW 0x88E8 - #define GL_DYNAMIC_READ 0x88E9 - #define GL_DYNAMIC_COPY 0x88EA -#endif - -#ifndef GL_VERSION_2_1 - #define GL_PIXEL_PACK_BUFFER 0x88EB - #define GL_PIXEL_UNPACK_BUFFER 0x88EC - #define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED - #define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF -#endif - - -#ifndef GL_ARB_pixel_buffer_object - #define GL_PIXEL_PACK_BUFFER_ARB 0x88EB - #define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC - #define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED - #define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF -#endif - -namespace osg -{ - -class State; -class BufferData; -class BufferObject; - -class BufferObjectProfile -{ - public: - BufferObjectProfile(): - _target(0), - _usage(0), - _size(0) {} - - BufferObjectProfile(GLenum target, GLenum usage, unsigned int size): - _target(target), - _usage(usage), - _size(size) {} - - BufferObjectProfile(const BufferObjectProfile& bpo): - _target(bpo._target), - _usage(bpo._usage), - _size(bpo._size) {} - - bool operator < (const BufferObjectProfile& rhs) const - { - if (_target < rhs._target) return true; - else if (_target > rhs._target) return false; - if (_usage < rhs._usage) return true; - else if (_usage > rhs._usage) return false; - return _size < rhs._size; - } - - bool operator == (const BufferObjectProfile& rhs) const - { - return (_target == rhs._target) && - (_usage == rhs._usage) && - (_size == rhs._size); - } - - void setProfile(GLenum target, GLenum usage, unsigned int size) - { - _target = target; - _usage = usage; - _size = size; - } - - BufferObjectProfile& operator = (const BufferObjectProfile& rhs) - { - _target = rhs._target; - _usage = rhs._usage; - _size = rhs._size; - return *this; - } - - GLenum _target; - GLenum _usage; - GLenum _size; -}; - -// forward declare -class GLBufferObjectSet; -class GLBufferObjectManager; - -class OSG_EXPORT GLBufferObject : public Referenced -{ - public: - - GLBufferObject(unsigned int contextID, BufferObject* bufferObject, unsigned int glObjectID=0); - - void setProfile(const BufferObjectProfile& profile) { _profile = profile; } - const BufferObjectProfile& getProfile() const { return _profile; } - - void setBufferObject(BufferObject* bufferObject); - BufferObject* getBufferObject() { return _bufferObject; } - - struct BufferEntry - { - BufferEntry(): numRead(0), modifiedCount(0),dataSize(0),offset(0),dataSource(0) {} - - BufferEntry(const BufferEntry& rhs): - numRead(rhs.numRead), - modifiedCount(rhs.modifiedCount), - dataSize(rhs.dataSize), - offset(rhs.offset), - dataSource(rhs.dataSource) {} - - BufferEntry& operator = (const BufferEntry& rhs) - { - if (&rhs==this) return *this; - numRead = rhs.numRead; - modifiedCount = rhs.modifiedCount; - dataSize = rhs.dataSize; - offset = rhs.offset; - dataSource = rhs.dataSource; - return *this; - } - - unsigned int getNumClients() const; - - unsigned int numRead; - unsigned int modifiedCount; - unsigned int dataSize; - unsigned int offset; - BufferData* dataSource; - }; - - inline unsigned int getContextID() const { return _contextID; } - - inline GLuint& getGLObjectID() { return _glObjectID; } - inline GLuint getGLObjectID() const { return _glObjectID; } - inline GLsizeiptr getOffset(unsigned int i) const { return _bufferEntries[i].offset; } - - inline void bindBuffer(); - - inline void unbindBuffer() - { - _extensions->glBindBuffer(_profile._target,0); - } - - inline bool isDirty() const { return _dirty; } - - void dirty() { _dirty = true; } - - void clear(); - - void compileBuffer(); - - void deleteGLObject(); - - void assign(BufferObject* bufferObject); - - bool isPBOSupported() const { return _extensions->isPBOSupported; } - - static osg::ref_ptr createGLBufferObject(unsigned int contextID, const BufferObject* bufferObject); - - static void deleteAllBufferObjects(unsigned int contextID); - static void discardAllBufferObjects(unsigned int contextID); - static void flushAllDeletedBufferObjects(unsigned int contextID); - static void discardAllDeletedBufferObjects(unsigned int contextID); - static void flushDeletedBufferObjects(unsigned int contextID,double currentTime, double& availbleTime); - static void releaseGLBufferObject(unsigned int contextID, GLBufferObject* to); - - bool hasAllBufferDataBeenRead() const; - - void setBufferDataHasBeenRead(const osg::BufferData* bd); - - protected: - - virtual ~GLBufferObject(); - - unsigned int computeBufferAlignment(unsigned int pos, unsigned int bufferAlignment) const - { - if (bufferAlignment<2) return pos; - if ((pos%bufferAlignment)==0) return pos; - return ((pos/bufferAlignment)+1)*bufferAlignment; - } - - unsigned int _contextID; - GLuint _glObjectID; - - BufferObjectProfile _profile; - unsigned int _allocatedSize; - - bool _dirty; - - typedef std::vector BufferEntries; - BufferEntries _bufferEntries; - - BufferObject* _bufferObject; - - public: - - GLBufferObjectSet* _set; - GLBufferObject* _previous; - GLBufferObject* _next; - unsigned int _frameLastUsed; - - public: - GLExtensions* _extensions; - -}; - -typedef std::list< ref_ptr > GLBufferObjectList; - -class OSG_EXPORT GLBufferObjectSet : public Referenced -{ - public: - GLBufferObjectSet(GLBufferObjectManager* parent, const BufferObjectProfile& profile); - - const BufferObjectProfile& getProfile() const { return _profile; } - - void handlePendingOrphandedGLBufferObjects(); - - void deleteAllGLBufferObjects(); - void discardAllGLBufferObjects(); - void flushAllDeletedGLBufferObjects(); - void discardAllDeletedGLBufferObjects(); - void flushDeletedGLBufferObjects(double currentTime, double& availableTime); - - osg::ref_ptr takeFromOrphans(BufferObject* bufferObject); - osg::ref_ptr takeOrGenerate(BufferObject* bufferObject); - - void moveToBack(GLBufferObject* to); - void addToBack(GLBufferObject* to); - void orphan(GLBufferObject* to); - void remove(GLBufferObject* to); - void moveToSet(GLBufferObject* to, GLBufferObjectSet* set); - - unsigned int size() const { return _profile._size * _numOfGLBufferObjects; } - - bool makeSpace(unsigned int& size); - - bool checkConsistency() const; - - GLBufferObjectManager* getParent() { return _parent; } - - unsigned int computeNumGLBufferObjectsInList() const; - unsigned int getNumOfGLBufferObjects() const { return _numOfGLBufferObjects; } - unsigned int getNumOrphans() const { return static_cast(_orphanedGLBufferObjects.size()); } - unsigned int getNumPendingOrphans() const { return static_cast(_pendingOrphanedGLBufferObjects.size()); } - - - protected: - - virtual ~GLBufferObjectSet(); - - OpenThreads::Mutex _mutex; - - GLBufferObjectManager* _parent; - unsigned int _contextID; - BufferObjectProfile _profile; - unsigned int _numOfGLBufferObjects; - GLBufferObjectList _orphanedGLBufferObjects; - GLBufferObjectList _pendingOrphanedGLBufferObjects; - - GLBufferObject* _head; - GLBufferObject* _tail; -}; - -class OSG_EXPORT GLBufferObjectManager : public osg::Referenced -{ - public: - GLBufferObjectManager(unsigned int contextID); - - unsigned int getContextID() const { return _contextID; } - - - void setNumberActiveGLBufferObjects(unsigned int size) { _numActiveGLBufferObjects = size; } - unsigned int& getNumberActiveGLBufferObjects() { return _numActiveGLBufferObjects; } - unsigned int getNumberActiveGLBufferObjects() const { return _numActiveGLBufferObjects; } - - void setNumberOrphanedGLBufferObjects(unsigned int size) { _numOrphanedGLBufferObjects = size; } - unsigned int& getNumberOrphanedGLBufferObjects() { return _numOrphanedGLBufferObjects; } - unsigned int getNumberOrphanedGLBufferObjects() const { return _numOrphanedGLBufferObjects; } - - void setCurrGLBufferObjectPoolSize(unsigned int size) { _currGLBufferObjectPoolSize = size; } - unsigned int& getCurrGLBufferObjectPoolSize() { return _currGLBufferObjectPoolSize; } - unsigned int getCurrGLBufferObjectPoolSize() const { return _currGLBufferObjectPoolSize; } - - void setMaxGLBufferObjectPoolSize(unsigned int size); - unsigned int getMaxGLBufferObjectPoolSize() const { return _maxGLBufferObjectPoolSize; } - - bool hasSpace(unsigned int size) const { return (_currGLBufferObjectPoolSize+size)<=_maxGLBufferObjectPoolSize; } - bool makeSpace(unsigned int size); - - osg::ref_ptr generateGLBufferObject(const osg::BufferObject* bufferObject); - - void handlePendingOrphandedGLBufferObjects(); - - void deleteAllGLBufferObjects(); - void discardAllGLBufferObjects(); - void flushAllDeletedGLBufferObjects(); - void discardAllDeletedGLBufferObjects(); - void flushDeletedGLBufferObjects(double currentTime, double& availableTime); - void releaseGLBufferObject(GLBufferObject* to); - - GLBufferObjectSet* getGLBufferObjectSet(const BufferObjectProfile& profile); - - void newFrame(osg::FrameStamp* fs); - void resetStats(); - void reportStats(std::ostream& out); - void recomputeStats(std::ostream& out); - - unsigned int& getFrameNumber() { return _frameNumber; } - unsigned int& getNumberFrames() { return _numFrames; } - - unsigned int& getNumberDeleted() { return _numDeleted; } - double& getDeleteTime() { return _deleteTime; } - - unsigned int& getNumberGenerated() { return _numGenerated; } - double& getGenerateTime() { return _generateTime; } - - unsigned int& getNumberApplied() { return _numApplied; } - double& getApplyTime() { return _applyTime; } - - static osg::ref_ptr& getGLBufferObjectManager(unsigned int contextID); - - protected: - - typedef std::map< BufferObjectProfile, osg::ref_ptr > GLBufferObjectSetMap; - unsigned int _contextID; - unsigned int _numActiveGLBufferObjects; - unsigned int _numOrphanedGLBufferObjects; - unsigned int _currGLBufferObjectPoolSize; - unsigned int _maxGLBufferObjectPoolSize; - GLBufferObjectSetMap _glBufferObjectSetMap; - - unsigned int _frameNumber; - - unsigned int _numFrames; - unsigned int _numDeleted; - double _deleteTime; - - unsigned int _numGenerated; - double _generateTime; - - unsigned int _numApplied; - double _applyTime; - -}; - - -class OSG_EXPORT BufferObject : public Object -{ - public: - - BufferObject(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - BufferObject(const BufferObject& bo,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=NULL; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "BufferObject"; } - - void setTarget(GLenum target) { _profile._target = target; } - GLenum getTarget() const { return _profile._target; } - - /** Set what type of usage the buffer object will have. Options are: - * GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, - * GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, - * GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. - */ - void setUsage(GLenum usage) { _profile._usage = usage; } - - /** Get the type of usage the buffer object has been set up for.*/ - GLenum getUsage() const { return _profile._usage; } - - BufferObjectProfile& getProfile() { return _profile; } - const BufferObjectProfile& getProfile() const { return _profile; } - - - /** Set whether the BufferObject should use a GLBufferObject just for copying the BufferData and release it immmediately so that it may be reused.*/ - void setCopyDataAndReleaseGLBufferObject(bool copyAndRelease) { _copyDataAndReleaseGLBufferObject = copyAndRelease; } - - /** Get whether the BufferObject should use a GLBufferObject just for copying the BufferData and release it immmediately.*/ - bool getCopyDataAndReleaseGLBufferObject() const { return _copyDataAndReleaseGLBufferObject; } - - - void dirty(); - - /** Resize any per context GLObject buffers to specified size. */ - virtual void resizeGLObjectBuffers(unsigned int maxSize); - - /** If State is non-zero, this function releases OpenGL objects for - * the specified graphics context. Otherwise, releases OpenGL objects - * for all graphics contexts. */ - void releaseGLObjects(State* state=0) const; - - unsigned int addBufferData(BufferData* bd); - void removeBufferData(unsigned int index); - void removeBufferData(BufferData* bd); - - void setBufferData(unsigned int index, BufferData* bd); - BufferData* getBufferData(unsigned int index) { return _bufferDataList[index]; } - const BufferData* getBufferData(unsigned int index) const { return _bufferDataList[index]; } - - unsigned int getNumBufferData() const { return static_cast(_bufferDataList.size()); } - - void setGLBufferObject(unsigned int contextID, GLBufferObject* glbo) { _glBufferObjects[contextID] = glbo; } - - GLBufferObject* getGLBufferObject(unsigned int contextID) const { return _glBufferObjects[contextID].get(); } - - GLBufferObject* getOrCreateGLBufferObject(unsigned int contextID) const - { - if (!_glBufferObjects[contextID]) _glBufferObjects[contextID] = GLBufferObject::createGLBufferObject(contextID, this); - return _glBufferObjects[contextID].get(); - } - - unsigned int computeRequiredBufferSize() const; - - /** deprecated, provided for backwards compatibility.*/ - static void deleteBufferObject(unsigned int contextID,GLuint globj); - - protected: - - ~BufferObject(); - - typedef std::vector< BufferData* > BufferDataList; - typedef osg::buffered_object< osg::ref_ptr > GLBufferObjects; - - BufferObjectProfile _profile; - - bool _copyDataAndReleaseGLBufferObject; - - BufferDataList _bufferDataList; - - mutable GLBufferObjects _glBufferObjects; -}; - -class OSG_EXPORT BufferData : public Object -{ - public: - - BufferData(): - Object(true), - _modifiedCount(0), - _bufferIndex(0), - _numClients(0) {} - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - BufferData(const BufferData& bd,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - osg::Object(bd,copyop), - _modifiedCount(0), - _bufferIndex(0), - _modifiedCallback(bd._modifiedCallback), - _numClients(0) {} - - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=NULL; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "BufferData"; } - - virtual const GLvoid* getDataPointer() const = 0; - virtual unsigned int getTotalDataSize() const = 0; - - virtual osg::Array* asArray() { return 0; } - virtual const osg::Array* asArray() const { return 0; } - - virtual osg::PrimitiveSet* asPrimitiveSet() { return 0; } - virtual const osg::PrimitiveSet* asPrimitiveSet() const { return 0; } - - virtual osg::Image* asImage() { return 0; } - virtual const osg::Image* asImage() const { return 0; } - - void setBufferObject(BufferObject* bufferObject); - BufferObject* getBufferObject() { return _bufferObject.get(); } - const BufferObject* getBufferObject() const { return _bufferObject.get(); } - - void setBufferIndex(unsigned int index) { _bufferIndex = index; } - unsigned int getBufferIndex() const { return _bufferIndex; } - - GLBufferObject* getGLBufferObject(unsigned int contextID) const { return _bufferObject.valid() ? _bufferObject->getGLBufferObject(contextID) : 0; } - GLBufferObject* getOrCreateGLBufferObject(unsigned int contextID) const { return _bufferObject.valid() ? _bufferObject->getOrCreateGLBufferObject(contextID) : 0; } - - struct ModifiedCallback : public virtual osg::Object - { - ModifiedCallback() {} - - ModifiedCallback(const ModifiedCallback&,const CopyOp&) {} - - META_Object(osg,ModifiedCallback); - - virtual void modified(BufferData* /*bufferData*/) const {} - }; - - void setModifiedCallback(ModifiedCallback* md) { _modifiedCallback = md; } - ModifiedCallback* getModifiedCallback() { return _modifiedCallback.get(); } - const ModifiedCallback* getModifiedCallback() const { return _modifiedCallback.get(); } - - /** Dirty the primitive, which increments the modified count, to force buffer objects to update. - * If a ModifiedCallback is attached to this BufferData then the callback is called prior to the bufferObject's dirty is called. */ - inline void dirty() - { - ++_modifiedCount; - if (_modifiedCallback.valid()) _modifiedCallback->modified(this); - if (_bufferObject.valid()) _bufferObject->dirty(); - } - - /** Set the modified count value.*/ - inline void setModifiedCount(unsigned int value) { _modifiedCount=value; } - - /** Get modified count value.*/ - inline unsigned int getModifiedCount() const { return _modifiedCount; } - - /** Resize any per context GLObject buffers to specified size. */ - virtual void resizeGLObjectBuffers(unsigned int maxSize); - - /** If State is non-zero, this function releases OpenGL objects for - * the specified graphics context. Otherwise, releases OpenGL objects - * for all graphics contexts. */ - void releaseGLObjects(State* state=0) const; - - unsigned int getNumClients() const { return _numClients; } - - void addClient(osg::Object * /*client*/) { ++_numClients; } - - void removeClient(osg::Object * /*client*/) { --_numClients; } - -protected: - - virtual ~BufferData(); - - unsigned int _modifiedCount; - - unsigned int _bufferIndex; - osg::ref_ptr _bufferObject; - osg::ref_ptr _modifiedCallback; - - unsigned int _numClients; -}; - - -class Array; -class OSG_EXPORT VertexBufferObject : public BufferObject -{ - public: - - VertexBufferObject(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - VertexBufferObject(const VertexBufferObject& vbo,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_Object(osg,VertexBufferObject); - - unsigned int addArray(osg::Array* array); - void removeArray(osg::Array* array); - - void setArray(unsigned int i, Array* array); - Array* getArray(unsigned int i); - const Array* getArray(unsigned int i) const; - - protected: - virtual ~VertexBufferObject(); -}; - -class DrawElements; -class OSG_EXPORT ElementBufferObject : public BufferObject -{ - public: - - ElementBufferObject(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - ElementBufferObject(const ElementBufferObject& pbo,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_Object(osg,ElementBufferObject); - - unsigned int addDrawElements(osg::DrawElements* PrimitiveSet); - void removeDrawElements(osg::DrawElements* PrimitiveSet); - - void setDrawElements(unsigned int i, DrawElements* PrimitiveSet); - DrawElements* getDrawElements(unsigned int i); - const DrawElements* getDrawElements(unsigned int i) const; - - protected: - - virtual ~ElementBufferObject(); -}; - -class Image; -class OSG_EXPORT PixelBufferObject : public BufferObject -{ - public: - - PixelBufferObject(osg::Image* image=0); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - PixelBufferObject(const PixelBufferObject& pbo,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_Object(osg,PixelBufferObject); - - void setImage(osg::Image* image); - - Image* getImage(); - const Image* getImage() const; - - bool isPBOSupported(unsigned int contextID) const { return _glBufferObjects[contextID]->isPBOSupported(); } - - protected: - - virtual ~PixelBufferObject(); -}; - -/** - * This object represent a general class of pixel buffer objects, - * which are capable of allocating buffer object (memory) - * on the GPU. The memory can then be used either for CPU-GPU - * pixel transfer or directly for GPU-GPU transfer, without CPU intervention. - **/ -class OSG_EXPORT PixelDataBufferObject : public BufferObject -{ - public: - PixelDataBufferObject(); - PixelDataBufferObject(const PixelDataBufferObject& pbo, const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_Object(osg, PixelDataBufferObject); - - //! Set new size of the buffer object. This will reallocate the memory on the next compile - inline void setDataSize(unsigned int size) { _profile._size = size; dirty(); } - - //! Get data size of the used buffer - inline unsigned int getDataSize() const { return _profile._size; } - - //! Compile the buffer (reallocate the memory if buffer is dirty) - virtual void compileBuffer(State& state) const; - - //! Bind the buffer in read mode, which means that data can be downloaded from the buffer (note: GL_PIXEL_UNPACK_BUFFER_ARB) - virtual void bindBufferInReadMode(State& state); - - //! Bind the buffer in write mode, which means following OpenGL instructions will write data into the buffer (note: GL_PIXEL_PACK_BUFFER_ARB) - virtual void bindBufferInWriteMode(State& state); - - //! Unbind the buffer - virtual void unbindBuffer(unsigned int contextID) const; - - /** Resize any per context GLObject buffers to specified size. */ - virtual void resizeGLObjectBuffers(unsigned int maxSize); - - enum Mode - { - //! A normal mode of this data buffer - NONE = 0, - - //! Buffer is in read mode (@see bindBufferInReadMode) - READ = 1, - - //! Buffer is in write mode (@see bindBufferInWriteMode) - WRITE = 2 - }; - - Mode getMode(unsigned int contextID) const { return (Mode)_mode[contextID]; } - - protected: - - virtual ~PixelDataBufferObject(); - - typedef osg::buffered_value ModeList; - - mutable ModeList _mode; - -}; - - -class OSG_EXPORT UniformBufferObject : public BufferObject -{ - public: - UniformBufferObject(); - UniformBufferObject(const UniformBufferObject& ubo, const CopyOp& copyop=CopyOp::SHALLOW_COPY); - META_Object(osg, UniformBufferObject); - protected: - virtual ~UniformBufferObject(); -}; - -class OSG_EXPORT AtomicCounterBufferObject : public BufferObject -{ - public: - AtomicCounterBufferObject(); - AtomicCounterBufferObject(const AtomicCounterBufferObject& ubo, const CopyOp& copyop=CopyOp::SHALLOW_COPY); - META_Object(osg, AtomicCounterBufferObject); - - protected: - virtual ~AtomicCounterBufferObject(); -}; - -inline void GLBufferObject::bindBuffer() -{ - _extensions->glBindBuffer(_profile._target,_glObjectID); - if (_set) _set->moveToBack(this); -} - - -class OSG_EXPORT ShaderStorageBufferObject : public BufferObject -{ - public: - - ShaderStorageBufferObject(); - ShaderStorageBufferObject(const ShaderStorageBufferObject& ubo, const CopyOp& copyop=CopyOp::SHALLOW_COPY); - META_Object(osg, ShaderStorageBufferObject); - protected: - virtual ~ShaderStorageBufferObject(); -}; - - - -} - -#endif diff --git a/src/osg/osg/BufferTemplate b/src/osg/osg/BufferTemplate deleted file mode 100644 index 55f2af6d..00000000 --- a/src/osg/osg/BufferTemplate +++ /dev/null @@ -1,104 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2014 Robert Osfield - * Copyright (C) 2012 David Callu - * std::vector specialization : Pawel Ksiezopolski - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_BUFFERTEMPLATE -#define OSG_BUFFERTEMPLATE 1 - -#include -#include - -namespace osg -{ - -/** Template buffer class to be used with a struct as template parameter. - * This class is useful to send C++ structures on the GPU (e.g. for uniform blocks) but be careful to the alignments rules on the GPU side ! - */ -template -class BufferTemplate : public BufferData -{ - public: - BufferTemplate(): - BufferData(), - _data(T()) - {} - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - BufferTemplate(const BufferTemplate& bt,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - osg::BufferData(bt,copyop), - _data(bt._data) - {} - - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast*>(obj)!=NULL; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "BufferTemplate"; } - - virtual Object* cloneType() const { return new BufferTemplate(); } - virtual Object* clone(const CopyOp& copyop) const { return new BufferTemplate(*this,copyop); } - - virtual const GLvoid* getDataPointer() const { return &_data; } - virtual unsigned int getTotalDataSize() const { return sizeof(T); } - - const T& getData() const { return _data; } - T& getData() { return _data; } - void setData(const T& data) { _data = data; dirty(); } - - protected: - virtual ~BufferTemplate() {}; - - private: - T _data; -}; - -/** BufferTemplate specialization for std::vector - */ -template -class BufferTemplate< std::vector > : public BufferData -{ - public: - BufferTemplate(): - BufferData(), - _data() - {} - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - BufferTemplate(const BufferTemplate< std::vector >& bt,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - osg::BufferData(bt,copyop), - _data(bt._data) - {} - - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast >*>(obj)!=NULL; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "BufferTemplate >"; } - - virtual Object* cloneType() const { return new BufferTemplate< std::vector >(); } - virtual Object* clone(const CopyOp& copyop) const { return new BufferTemplate< std::vector >(*this,copyop); } - - virtual const GLvoid* getDataPointer() const { return &_data[0]; } - virtual unsigned int getTotalDataSize() const { return _data.size() * sizeof(T); } - - const std::vector& getData() const { return _data; } - std::vector& getData() { return _data; } - void setData(const std::vector& data) { _data = data; dirty(); } - - protected: - virtual ~BufferTemplate() {}; - - private: - std::vector _data; -}; - -} - -#endif diff --git a/src/osg/osg/Callback b/src/osg/osg/Callback deleted file mode 100644 index 9dae4098..00000000 --- a/src/osg/osg/Callback +++ /dev/null @@ -1,234 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_CALLBACK -#define OSG_CALLBACK 1 - -#include -#include - -namespace osg { - - -class OSG_EXPORT Callback : public virtual Object { - - public : - - Callback(){} - - Callback(const Callback& cb,const CopyOp& copyop): - osg::Object(cb, copyop), - _nestedCallback(cb._nestedCallback) {} - - META_Object(osg, Callback); - - /** Invoke the callback, first parameter is the Object that the callback is attached to, - * the second parameter, the data, is typically the NodeVisitor that is invoking the callback. - * The run(..) method may be overriden by users directly, or if the user is using one of the old - * style callbacks such as NodeCallback or Drawable::UpdateCallback then you can just override - * the appropriate callback method on those callback subclasses. - * If you are implementing your own callback then one should call traverse() to make sure nested callbacks - * and visitor traversal() is completed. */ - virtual bool run(osg::Object* object, osg::Object* data) - { - return traverse(object, data); - } - - /** traverse the nested callbacks or call NodeVisitor::traverse() if the object is Node, and data is NodeVisitor.*/ - bool traverse(osg::Object* object, osg::Object* data); - - void setNestedCallback(osg::Callback* cb) { _nestedCallback = cb; } - osg::Callback* getNestedCallback() { return _nestedCallback.get(); } - const osg::Callback* getNestedCallback() const { return _nestedCallback.get(); } - - inline void addNestedCallback(osg::Callback* nc) - { - if (nc) - { - if (_nestedCallback.valid()) - { - _nestedCallback->addNestedCallback(nc); - } - else - { - _nestedCallback = nc; - } - } - } - - inline void removeNestedCallback(osg::Callback* nc) - { - if (nc) - { - if (_nestedCallback==nc) - { - ref_ptr new_nested_callback = _nestedCallback->getNestedCallback(); - _nestedCallback->setNestedCallback(0); - _nestedCallback = new_nested_callback; - } - else if (_nestedCallback.valid()) - { - _nestedCallback->removeNestedCallback(nc); - } - } - } - - protected: - - virtual ~Callback() {} - ref_ptr _nestedCallback; -}; - -typedef std::vector< osg::ref_ptr > Parameters; - -/** Callback for attaching a script to a Node's via there UserDataContainer for the purpose of overriding class methods within scripts.*/ -class OSG_EXPORT CallbackObject : public virtual osg::Callback -{ -public: - CallbackObject() {} - CallbackObject(const std::string& name) { setName(name); } - CallbackObject(const CallbackObject& co, const osg::CopyOp copyop=osg::CopyOp::SHALLOW_COPY): - osg::Object(co, copyop), - osg::Callback(co,copyop) {} - - META_Object(osg, CallbackObject); - - virtual CallbackObject* asCallbackObject() { return this; } - virtual const CallbackObject* asCallbackObject() const { return this; } - - /** override Callback::run() entry point to adapt to CallbackObject::run(..) method.*/ - bool run(osg::Object* object, osg::Object* data); - - inline bool run(osg::Object* object) const - { - osg::Parameters inputParameters; - osg::Parameters outputParameters; - return run(object, inputParameters, outputParameters); - } - - virtual bool run(osg::Object* object, osg::Parameters& inputParameters, osg::Parameters& outputParameters) const; - -}; - -/** Convenience function for getting the CallbackObject associated with specificed name from an Object's UserDataContainer.*/ -inline CallbackObject* getCallbackObject(osg::Object* object, const std::string& name) -{ - osg::UserDataContainer* udc = object->getUserDataContainer(); - return udc ? dynamic_cast(udc->getUserObject(name)) : 0; -} - - -/** Convenience function for getting the CallbackObject associated with specificed name from an Object's UserDataContainer.*/ -inline const CallbackObject* getCallbackObject(const osg::Object* object, const std::string& name) -{ - const osg::UserDataContainer* udc = object->getUserDataContainer(); - return udc ? dynamic_cast(udc->getUserObject(name)) : 0; -} - -/** Call run(..) on named CallbackObjects attached to specified Object. Return true if at least one CallbackObject has been successfully invoked.*/ -inline bool runNamedCallbackObjects(osg::Object* object, const std::string& name, osg::Parameters& inputParameters, osg::Parameters& outputParameters) -{ - bool result = false; - osg::UserDataContainer* udc = object->getUserDataContainer(); - if (udc) - { - for(unsigned int i = 0; igetNumUserObjects(); ++i) - { - osg::Object* obj = udc->getUserObject(i); - if (obj && obj->getName()==name) - { - osg::CallbackObject* co = dynamic_cast(obj); - if (co) result = co->run(object, inputParameters, outputParameters) | result; - } - } - } - - return result; -} - - - -// forward declare -class Node; -class NodeVisitor; - - -/** Deprecated. */ -class OSG_EXPORT NodeCallback : public virtual Callback { - - public : - - - NodeCallback(){} - - NodeCallback(const NodeCallback& nc,const CopyOp& copyop): - Callback(nc,copyop) {} - - META_Object(osg,NodeCallback); - - /** NodeCallback overrides the Callback::run() method to adapt it the old style NodeCallback::operator()(Node* node, NodeVisitor* nv) method.*/ - virtual bool run(osg::Object* object, osg::Object* data); - - /** Callback method called by the NodeVisitor when visiting a node.*/ - virtual void operator()(Node* node, NodeVisitor* nv); - - protected: - - virtual ~NodeCallback() {} -}; - -// forward declare -class StateAttribute; - -/** Deprecated. */ -class OSG_EXPORT StateAttributeCallback : public virtual osg::Callback -{ - public: - StateAttributeCallback() {} - - StateAttributeCallback(const StateAttributeCallback&,const CopyOp&) {} - - META_Object(osg,StateAttributeCallback); - - /** override Callback::run() entry point to adapt to StateAttributeCallback::run(..) method.*/ - virtual bool run(osg::Object* object, osg::Object* data); - - /** do customized update code.*/ - virtual void operator () (StateAttribute*, NodeVisitor*) {} -}; - -// forward declare -class Uniform; - -/** Deprecated. */ -class OSG_EXPORT UniformCallback : public virtual osg::Callback -{ -public: - UniformCallback() {} - - UniformCallback(const UniformCallback&, const CopyOp&) {} - - META_Object(osg, UniformCallback); - - /** override Callback::run() entry point to adapt to UniformCallback::run(..) method.*/ - virtual bool run(osg::Object* object, osg::Object* data); - - /** do customized update code.*/ - virtual void operator () (Uniform*, NodeVisitor*) {} -}; - - -} // namespace - -#endif - diff --git a/src/osg/osg/Camera b/src/osg/osg/Camera deleted file mode 100644 index ad615ec0..00000000 --- a/src/osg/osg/Camera +++ /dev/null @@ -1,727 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_CAMERA -#define OSG_CAMERA 1 - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - - -#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) - #define GL_FRONT_LEFT 0x0400 - #define GL_FRONT_RIGHT 0x0401 - #define GL_BACK_LEFT 0x0402 - #define GL_BACK_RIGHT 0x0403 -#endif - -namespace osg { - -// forward declare View to allow Camera to point back to the View that its within -class View; -class RenderInfo; - -/** Camera - is a subclass of Transform which represents encapsulates the settings of a Camera. -*/ -class OSG_EXPORT Camera : public Transform, public CullSettings -{ - public : - - - Camera(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - Camera(const Camera&,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_Node(osg, Camera); - - virtual Camera* asCamera() { return this; } - virtual const Camera* asCamera() const { return this; } - - /** Set the View that this Camera is part of. */ - void setView(View* view) { _view = view; } - - /** Get the View that this Camera is part of. */ - View* getView() { return _view; } - - /** Get the const View that this Camera is part of. */ - const View* getView() const { return _view; } - - - /** Set the Stats object used to collect various frame related - * timing and scene graph stats. */ - void setStats(osg::Stats* stats) { _stats = stats; } - - /** Get the Stats object.*/ - osg::Stats* getStats() { return _stats.get(); } - - /** Get the const Stats object.*/ - const osg::Stats* getStats() const { return _stats.get(); } - - - /** Set whether this camera allows events to be generated by the - * associated graphics window to be associated with this camera. */ - void setAllowEventFocus(bool focus) { _allowEventFocus = focus; } - - /** Get whether this camera allows events to be generated by the - * associated graphics window to be associated with this camera. */ - bool getAllowEventFocus() const { return _allowEventFocus; } - - - /** Set the DisplaySettings object associated with this view.*/ - void setDisplaySettings(osg::DisplaySettings* ds) { _displaySettings = ds; } - - /** Get the DisplaySettings object associated with this view.*/ - osg::DisplaySettings* getDisplaySettings() { return _displaySettings.get(); } - - /** Get the const DisplaySettings object associated with this view.*/ - const osg::DisplaySettings* getDisplaySettings() const { return _displaySettings.get(); } - - - /** Set the clear mask used in glClear(). - * Defaults to GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT. */ - inline void setClearMask(GLbitfield mask) { _clearMask = mask; applyMaskAction(CLEAR_MASK); } - - /** Get the clear mask.*/ - inline GLbitfield getClearMask() const { return _clearMask; } - - /** Set the clear color used in glClearColor(). - * glClearColor is only called if mask & GL_COLOR_BUFFER_BIT is true*/ - void setClearColor(const osg::Vec4& color) { _clearColor=color; applyMaskAction(CLEAR_COLOR); } - - /** Get the clear color.*/ - const osg::Vec4& getClearColor() const { return _clearColor; } - - /** Set the clear accum used in glClearAccum(). - * glClearAcumm is only called if mask & GL_ACCUM_BUFFER_BIT is true. */ - void setClearAccum(const osg::Vec4& color) { _clearAccum=color; } - - /** Get the clear accum value.*/ - const osg::Vec4& getClearAccum() const { return _clearAccum; } - - /** Set the clear depth used in glClearDepth(). Defaults to 1.0 - * glClearDepth is only called if mask & GL_DEPTH_BUFFER_BIT is true. */ - void setClearDepth(double depth) { _clearDepth=depth; } - - /** Get the clear depth value.*/ - double getClearDepth() const { return _clearDepth; } - - /** Set the clear stencil value used in glClearStencil(). Defaults to 0; - * glClearStencil is only called if mask & GL_STENCIL_BUFFER_BIT is true*/ - void setClearStencil(int stencil) { _clearStencil=stencil; } - - /** Get the clear stencil value.*/ - int getClearStencil() const { return _clearStencil; } - - - /** Set the color mask of the camera to use specified osg::ColorMask. */ - void setColorMask(osg::ColorMask* colorMask); - - - /** Set the color mask of the camera to specified values. */ - void setColorMask(bool red, bool green, bool blue, bool alpha); - - /** Get the const ColorMask. */ - const ColorMask* getColorMask() const { return _colorMask.get(); } - - /** Get the ColorMask. */ - ColorMask* getColorMask() { return _colorMask.get(); } - - - /** Set the viewport of the camera to use specified osg::Viewport. */ - void setViewport(osg::Viewport* viewport); - - /** Set the viewport of the camera to specified dimensions. */ - void setViewport(int x,int y,int width,int height); - - /** Get the const viewport. */ - const Viewport* getViewport() const { return _viewport.get(); } - - /** Get the viewport. */ - Viewport* getViewport() { return _viewport.get(); } - - - - enum TransformOrder - { - PRE_MULTIPLY, - POST_MULTIPLY - }; - - /** Set the transformation order for world-to-local and local-to-world transformation.*/ - void setTransformOrder(TransformOrder order) { _transformOrder = order; } - - /** Get the transformation order.*/ - TransformOrder getTransformOrder() const { return _transformOrder; } - - enum ProjectionResizePolicy - { - FIXED, /**< Keep the projection matrix fixed, despite window resizes.*/ - HORIZONTAL, /**< Adjust the HORIZONTAL field of view on window resizes.*/ - VERTICAL /**< Adjust the VERTICAL field of view on window resizes.*/ - - }; - - /** Set the policy used to determine if and how the projection matrix should be adjusted on window resizes. */ - inline void setProjectionResizePolicy(ProjectionResizePolicy policy) { _projectionResizePolicy = policy; } - - /** Get the policy used to determine if and how the projection matrix should be adjusted on window resizes. */ - inline ProjectionResizePolicy getProjectionResizePolicy() const { return _projectionResizePolicy; } - - - /** Set the projection matrix. Can be thought of as setting the lens of a camera. */ - inline void setProjectionMatrix(const osg::Matrixf& matrix) { _projectionMatrix.set(matrix); } - - /** Set the projection matrix. Can be thought of as setting the lens of a camera. */ - inline void setProjectionMatrix(const osg::Matrixd& matrix) { _projectionMatrix.set(matrix); } - - /** Set to an orthographic projection. See OpenGL glOrtho for documentation further details.*/ - void setProjectionMatrixAsOrtho(double left, double right, - double bottom, double top, - double zNear, double zFar); - - /** Set to a 2D orthographic projection. See OpenGL glOrtho2D documentation for further details.*/ - void setProjectionMatrixAsOrtho2D(double left, double right, - double bottom, double top); - - /** Set to a perspective projection. See OpenGL glFrustum documentation for further details.*/ - void setProjectionMatrixAsFrustum(double left, double right, - double bottom, double top, - double zNear, double zFar); - - /** Create a symmetrical perspective projection, See OpenGL gluPerspective documentation for further details. - * Aspect ratio is defined as width/height.*/ - void setProjectionMatrixAsPerspective(double fovy,double aspectRatio, - double zNear, double zFar); - - /** Get the projection matrix.*/ - osg::Matrixd& getProjectionMatrix() { return _projectionMatrix; } - - /** Get the const projection matrix.*/ - const osg::Matrixd& getProjectionMatrix() const { return _projectionMatrix; } - - /** Get the orthographic settings of the orthographic projection matrix. - * Returns false if matrix is not an orthographic matrix, where parameter values are undefined.*/ - bool getProjectionMatrixAsOrtho(double& left, double& right, - double& bottom, double& top, - double& zNear, double& zFar) const; - - /** Get the frustum setting of a perspective projection matrix. - * Returns false if matrix is not a perspective matrix, where parameter values are undefined.*/ - bool getProjectionMatrixAsFrustum(double& left, double& right, - double& bottom, double& top, - double& zNear, double& zFar) const; - - /** Get the frustum setting of a symmetric perspective projection matrix. - * Returns false if matrix is not a perspective matrix, where parameter values are undefined. - * Note, if matrix is not a symmetric perspective matrix then the shear will be lost. - * Asymmetric matrices occur when stereo, power walls, caves and reality center display are used. - * In these configurations one should use the 'getProjectionMatrixAsFrustum' method instead.*/ - bool getProjectionMatrixAsPerspective(double& fovy,double& aspectRatio, - double& zNear, double& zFar) const; - - - - /** Set the view matrix. Can be thought of as setting the position of the world relative to the camera in camera coordinates. */ - inline void setViewMatrix(const osg::Matrixf& matrix) { _viewMatrix.set(matrix); dirtyBound();} - - /** Set the view matrix. Can be thought of as setting the position of the world relative to the camera in camera coordinates. */ - inline void setViewMatrix(const osg::Matrixd& matrix) { _viewMatrix.set(matrix); dirtyBound();} - - /** Get the view matrix. */ - osg::Matrixd& getViewMatrix() { return _viewMatrix; } - - /** Get the const view matrix. */ - const osg::Matrixd& getViewMatrix() const { return _viewMatrix; } - - /** Set to the position and orientation of view matrix, using the same convention as gluLookAt. */ - void setViewMatrixAsLookAt(const osg::Vec3d& eye,const osg::Vec3d& center,const osg::Vec3d& up); - - /** Get to the position and orientation of a modelview matrix, using the same convention as gluLookAt. */ - void getViewMatrixAsLookAt(osg::Vec3d& eye,osg::Vec3d& center,osg::Vec3d& up,double lookDistance=1.0) const; - - /** Get to the position and orientation of a modelview matrix, using the same convention as gluLookAt. */ - void getViewMatrixAsLookAt(osg::Vec3f& eye,osg::Vec3f& center,osg::Vec3f& up,float lookDistance=1.0f) const; - - /** Get the inverse view matrix.*/ - Matrixd getInverseViewMatrix() const; - - - enum RenderOrder - { - PRE_RENDER, - NESTED_RENDER, - POST_RENDER - }; - - /** Set the rendering order of this camera's subgraph relative to any camera that this subgraph is nested within. - * For rendering to a texture, one typically uses PRE_RENDER. - * For Head Up Displays, one would typically use POST_RENDER.*/ - void setRenderOrder(RenderOrder order, int orderNum = 0) { _renderOrder = order; _renderOrderNum = orderNum; } - - /** Get the rendering order of this camera's subgraph relative to any camera that this subgraph is nested within.*/ - RenderOrder getRenderOrder() const { return _renderOrder; } - - /** Get the rendering order number of this camera relative to any sibling cameras in this subgraph.*/ - int getRenderOrderNum() const { return _renderOrderNum; } - - /** Return true if this Camera is set up as a render to texture camera, i.e. it has textures assigned to it.*/ - bool isRenderToTextureCamera() const; - - enum RenderTargetImplementation - { - FRAME_BUFFER_OBJECT, - PIXEL_BUFFER_RTT, - PIXEL_BUFFER, - FRAME_BUFFER, - SEPARATE_WINDOW - }; - - /** Set the render target.*/ - void setRenderTargetImplementation(RenderTargetImplementation impl); - - /** Set the render target and fall-back that's used if the former isn't available.*/ - void setRenderTargetImplementation(RenderTargetImplementation impl, RenderTargetImplementation fallback); - - /** Get the render target.*/ - RenderTargetImplementation getRenderTargetImplementation() const { return _renderTargetImplementation; } - - /** Get the render target fallback.*/ - RenderTargetImplementation getRenderTargetFallback() const { return _renderTargetFallback; } - - - /** Set the draw buffer used at the start of each frame draw. - * Note, a buffer value of GL_NONE is used to specify that the rendering back-end should choose the most appropriate buffer.*/ - void setDrawBuffer(GLenum buffer) { _drawBuffer = buffer; applyMaskAction( DRAW_BUFFER ); } - - /** Get the draw buffer used at the start of each frame draw. */ - GLenum getDrawBuffer() const { return _drawBuffer; } - - /** Set the read buffer for any required copy operations to use. - * Note, a buffer value of GL_NONE is used to specify that the rendering back-end should choose the most appropriate buffer.*/ - void setReadBuffer(GLenum buffer) { _readBuffer = buffer; applyMaskAction( READ_BUFFER ); } - - /** Get the read buffer for any required copy operations to use. */ - GLenum getReadBuffer() const { return _readBuffer; } - - enum BufferComponent - { - DEPTH_BUFFER, - STENCIL_BUFFER, - PACKED_DEPTH_STENCIL_BUFFER, - COLOR_BUFFER, - COLOR_BUFFER0, - COLOR_BUFFER1 = COLOR_BUFFER0+1, - COLOR_BUFFER2 = COLOR_BUFFER0+2, - COLOR_BUFFER3 = COLOR_BUFFER0+3, - COLOR_BUFFER4 = COLOR_BUFFER0+4, - COLOR_BUFFER5 = COLOR_BUFFER0+5, - COLOR_BUFFER6 = COLOR_BUFFER0+6, - COLOR_BUFFER7 = COLOR_BUFFER0+7, - COLOR_BUFFER8 = COLOR_BUFFER0+8, - COLOR_BUFFER9 = COLOR_BUFFER0+9, - COLOR_BUFFER10 = COLOR_BUFFER0+10, - COLOR_BUFFER11 = COLOR_BUFFER0+11, - COLOR_BUFFER12 = COLOR_BUFFER0+12, - COLOR_BUFFER13 = COLOR_BUFFER0+13, - COLOR_BUFFER14 = COLOR_BUFFER0+14, - COLOR_BUFFER15 = COLOR_BUFFER0+15 - }; - - static const unsigned int FACE_CONTROLLED_BY_GEOMETRY_SHADER; - - /** Attach a buffer with specified OpenGL internal format.*/ - void attach(BufferComponent buffer, GLenum internalFormat); - - /** Attach a Texture to specified buffer component. - * The level parameter controls the mip map level of the texture that is attached. - * The face parameter controls the face of texture cube map or z level of 3d texture. - * The mipMapGeneration flag controls whether mipmap generation should be done for texture.*/ - void attach(BufferComponent buffer, osg::Texture* texture, unsigned int level = 0, unsigned int face=0, bool mipMapGeneration=false, - unsigned int multisampleSamples = 0, - unsigned int multisampleColorSamples = 0); - - /** Attach a Image to specified buffer component.*/ - void attach(BufferComponent buffer, osg::Image* image, - unsigned int multisampleSamples = 0, - unsigned int multisampleColorSamples = 0); - - /** Detach specified buffer component.*/ - void detach(BufferComponent buffer); - - struct Attachment - { - Attachment(): - _internalFormat(GL_NONE), - _level(0), - _face(0), - _mipMapGeneration(false), - _multisampleSamples(0), - _multisampleColorSamples(0) {} - - int width() const - { - if (_texture.valid()) return _texture->getTextureWidth(); - if (_image.valid()) return _image->s(); - return 0; - }; - - int height() const - { - if (_texture.valid()) return _texture->getTextureHeight(); - if (_image.valid()) return _image->t(); - return 0; - }; - - int depth() const - { - if (_texture.valid()) return _texture->getTextureDepth(); - if (_image.valid()) return _image->r(); - return 0; - }; - - GLenum _internalFormat; - ref_ptr _image; - ref_ptr _texture; - unsigned int _level; - unsigned int _face; - bool _mipMapGeneration; - unsigned int _multisampleSamples; - unsigned int _multisampleColorSamples; - }; - - typedef std::map< BufferComponent, Attachment> BufferAttachmentMap; - - /** Get the BufferAttachmentMap, used to configure frame buffer objects, pbuffers and texture reads.*/ - BufferAttachmentMap& getBufferAttachmentMap() { return _bufferAttachmentMap; } - - /** Get the const BufferAttachmentMap, used to configure frame buffer objects, pbuffers and texture reads.*/ - const BufferAttachmentMap& getBufferAttachmentMap() const { return _bufferAttachmentMap; } - - - /** Increment the _attachementMapModifiedCount so that the rendering backend will know that it needs to be updated to handle any new settings (such as format change/resizes.).*/ - void dirtyAttachmentMap() { ++_attachmentMapModifiedCount; } - - /** Set the AttachmentMapModifiedCount to a specific value. Note, normal usage you would simply call dirtyAttachmentMap(). */ - void setAttachmentMapModifiedCount(unsigned int v) { _attachmentMapModifiedCount = v; } - - /** Get the AttachmentMapModifiedCount. */ - unsigned int getAttachmentMapModifiedCount() const { return _attachmentMapModifiedCount; } - - /** Resize the image and textures in the AttachementMap.*/ - void resizeAttachments(int width, int height); - - - enum ResizeMask - { - RESIZE_VIEWPORT=1, - RESIZE_ATTACHMENTS=2, - RESIZE_PROJECTIONMATRIX=4, - RESIZE_DEFAULT=RESIZE_VIEWPORT|RESIZE_ATTACHMENTS - }; - - /** Resize, to the specified width and height, the viewport, attachments and projection matrix according to the resizeMask provided. - * Note, the adjustment of the projection matrix is done if the RESIZE_PROJECTIONMATRIX mask to set and according to the rules specified in the ProjectionResizePolicy. */ - void resize(int width, int height, int resizeMask=RESIZE_DEFAULT); - - - /** Explicit control over implicit allocation of buffers when using FBO. - Implicit buffers are automatically substituted when user have not attached such buffer. - - Camera may set up two FBOs: primary Render FBO and secondary Resolve FBO for multisample usage. - So in practice we have two masks defined for the Camera: - implicitBufferAttachmentRenderMask - implicitBufferAttachmentResolveMask - They can be set together by setImplicitBufferAttachmentMask method, or separately - by setImplicitBufferAttachmentRenderMask and setImplicitBufferAttachmentResolveMask. - - Camera defaults are USE_DISPLAY_SETTINGS_MASK which means that by default - Camera chooses to substitute buffer attachments as defined by DisplaySettings. - - Usually DisplaySettings implicit buffer attachment selection defaults to: DEPTH and COLOR - for both primary (Render) FBO and seconday Multisample (Resolve) FBO - ie: IMPLICIT_DEPTH_BUFFER_ATTACHMENT | IMPLICIT_COLOR_BUFFER_ATTACHMENT - - If these masks are not changed and user did not attach depth buffer and/or color buffer - to Camera, then OSG implicitly substitutes these buffers. - By default it does not implicitly allocate a stencil buffer. - Use implicit buffer attachment masks to override default behavior: - to turn off DEPTH or COLOR buffer substitution or to enforce STENCIL buffer substitution. - - Note that both values are ignored if not using FBO. - Note that the second mask value is ignored if not using MSFBO. - */ - enum ImplicitBufferAttachment - { - IMPLICIT_DEPTH_BUFFER_ATTACHMENT = DisplaySettings::IMPLICIT_DEPTH_BUFFER_ATTACHMENT, - IMPLICIT_STENCIL_BUFFER_ATTACHMENT = DisplaySettings::IMPLICIT_STENCIL_BUFFER_ATTACHMENT, - IMPLICIT_COLOR_BUFFER_ATTACHMENT = DisplaySettings::IMPLICIT_COLOR_BUFFER_ATTACHMENT, - USE_DISPLAY_SETTINGS_MASK = (~0) - }; - - typedef int ImplicitBufferAttachmentMask; - - void setImplicitBufferAttachmentMask(ImplicitBufferAttachmentMask renderMask = DisplaySettings::DEFAULT_IMPLICIT_BUFFER_ATTACHMENT, ImplicitBufferAttachmentMask resolveMask = DisplaySettings::DEFAULT_IMPLICIT_BUFFER_ATTACHMENT) - { - _implicitBufferAttachmentRenderMask = renderMask; - _implicitBufferAttachmentResolveMask = resolveMask; - } - - void setImplicitBufferAttachmentRenderMask(ImplicitBufferAttachmentMask implicitBufferAttachmentRenderMask) - { - _implicitBufferAttachmentRenderMask = implicitBufferAttachmentRenderMask; - } - - void setImplicitBufferAttachmentResolveMask(ImplicitBufferAttachmentMask implicitBufferAttachmentResolveMask) - { - _implicitBufferAttachmentResolveMask = implicitBufferAttachmentResolveMask; - } - - /** - Get mask selecting implicit buffer attachments for Camera primary FBO - if effectiveMask parameter is set, method follows USE_DISPLAY_SETTINGS_MASK dependence and returns effective mask - if effectiveMask parameter is reset, method returns nominal mask set by the Camera - */ - ImplicitBufferAttachmentMask getImplicitBufferAttachmentRenderMask(bool effectiveMask = false) const - { - if( effectiveMask && _implicitBufferAttachmentRenderMask == USE_DISPLAY_SETTINGS_MASK ) - { - const DisplaySettings * ds = _displaySettings.valid() ? _displaySettings.get() : DisplaySettings::instance().get(); - return ds->getImplicitBufferAttachmentRenderMask(); - } - else - { - return _implicitBufferAttachmentRenderMask; - } - } - - /** - Get mask selecting implicit buffer attachments for Camera secondary MULTISAMPLE FBO - if effectiveMask parameter is set, method follows USE_DISPLAY_SETTINGS_MASK dependence and returns effective mask - if effectiveMask parameter is reset, method returns nominal mask set by the Camera - */ - ImplicitBufferAttachmentMask getImplicitBufferAttachmentResolveMask(bool effectiveMask = false) const - { - if( effectiveMask && _implicitBufferAttachmentResolveMask == USE_DISPLAY_SETTINGS_MASK ) - { - const DisplaySettings * ds = _displaySettings.valid() ? _displaySettings.get() : DisplaySettings::instance().get(); - return ds->getImplicitBufferAttachmentResolveMask(); - } - else - { - return _implicitBufferAttachmentResolveMask; - } - } - - /** Create a operation thread for this camera.*/ - void createCameraThread(); - - /** Assign a operation thread to the camera.*/ - void setCameraThread(OperationThread* gt); - - /** Get the operation thread assigned to this camera.*/ - OperationThread* getCameraThread() { return _cameraThread.get(); } - - /** Get the const operation thread assigned to this camera.*/ - const OperationThread* getCameraThread() const { return _cameraThread.get(); } - - - - /** Set the GraphicsContext that provides the mechansim for managing the OpenGL graphics context associated with this camera.*/ - void setGraphicsContext(GraphicsContext* context); - - /** Get the GraphicsContext.*/ - GraphicsContext* getGraphicsContext() { return _graphicsContext.get(); } - - /** Get the const GraphicsContext.*/ - const GraphicsContext* getGraphicsContext() const { return _graphicsContext.get(); } - - - /** Set the Rendering object that is used to implement rendering of the subgraph.*/ - void setRenderer(osg::GraphicsOperation* rc) { _renderer = rc; } - - /** Get the Rendering object that is used to implement rendering of the subgraph.*/ - osg::GraphicsOperation* getRenderer() { return _renderer.get(); } - - /** Get the const Rendering object that is used to implement rendering of the subgraph.*/ - const osg::GraphicsOperation* getRenderer() const { return _renderer.get(); } - - - /** Set the Rendering cache that is used for cached objects associated with rendering of subgraphs.*/ - void setRenderingCache(osg::Object* rc) { _renderingCache = rc; } - - /** Get the Rendering cache that is used for cached objects associated with rendering of subgraphs.*/ - osg::Object* getRenderingCache() { return _renderingCache.get(); } - - /** Get the const Rendering cache that is used for cached objects associated with rendering of subgraphs.*/ - const osg::Object* getRenderingCache() const { return _renderingCache.get(); } - - - /** Draw callback for custom operations.*/ - struct OSG_EXPORT DrawCallback : virtual public Object - { - DrawCallback() {} - - DrawCallback(const DrawCallback&,const CopyOp&) {} - - META_Object(osg, DrawCallback); - - /** Functor method called by rendering thread. Users will typically override this method to carry tasks such as screen capture.*/ - virtual void operator () (osg::RenderInfo& renderInfo) const; - - /** Functor method, provided for backwards compatibility, called by operator() (osg::RenderInfo& renderInfo) method.*/ - virtual void operator () (const osg::Camera& /*camera*/) const {} - }; - - /** Set the initial draw callback for custom operations to be done before the drawing of the camera's subgraph and pre render stages.*/ - void setInitialDrawCallback(DrawCallback* cb) { _initialDrawCallback = cb; } - - /** Get the initial draw callback.*/ - DrawCallback* getInitialDrawCallback() { return _initialDrawCallback.get(); } - - /** Get the const initial draw callback.*/ - const DrawCallback* getInitialDrawCallback() const { return _initialDrawCallback.get(); } - - - /** Set the pre draw callback for custom operations to be done before the drawing of the camera's subgraph but after any pre render stages have been completed.*/ - void setPreDrawCallback(DrawCallback* cb) { _preDrawCallback = cb; } - - /** Get the pre draw callback.*/ - DrawCallback* getPreDrawCallback() { return _preDrawCallback.get(); } - - /** Get the const pre draw callback.*/ - const DrawCallback* getPreDrawCallback() const { return _preDrawCallback.get(); } - - - /** Set the post draw callback for custom operations to be done after the drawing of the camera's subgraph but before the any post render stages have been completed.*/ - void setPostDrawCallback(DrawCallback* cb) { _postDrawCallback = cb; } - - /** Get the post draw callback.*/ - DrawCallback* getPostDrawCallback() { return _postDrawCallback.get(); } - - /** Get the const post draw callback.*/ - const DrawCallback* getPostDrawCallback() const { return _postDrawCallback.get(); } - - - /** Set the final draw callback for custom operations to be done after the drawing of the camera's subgraph and all of the post render stages has been completed.*/ - void setFinalDrawCallback(DrawCallback* cb) { _finalDrawCallback = cb; } - - /** Get the final draw callback.*/ - DrawCallback* getFinalDrawCallback() { return _finalDrawCallback.get(); } - - /** Get the const final draw callback.*/ - const DrawCallback* getFinalDrawCallback() const { return _finalDrawCallback.get(); } - - - OpenThreads::Mutex* getDataChangeMutex() const { return &_dataChangeMutex; } - - /** Resize any per context GLObject buffers to specified size. */ - virtual void resizeGLObjectBuffers(unsigned int maxSize); - - /** If State is non-zero, this function releases any associated OpenGL objects for - * the specified graphics context. Otherwise, releases OpenGL objexts - * for all graphics contexts. */ - virtual void releaseGLObjects(osg::State* = 0) const; - - public: - - /** Transform method that must be defined to provide generic interface for scene graph traversals.*/ - virtual bool computeLocalToWorldMatrix(Matrix& matrix,NodeVisitor*) const; - - /** Transform method that must be defined to provide generic interface for scene graph traversals.*/ - virtual bool computeWorldToLocalMatrix(Matrix& matrix,NodeVisitor*) const; - - /** Inherit the local cull settings variable from specified CullSettings object, according to the inheritance mask.*/ - virtual void inheritCullSettings(const CullSettings& settings, unsigned int inheritanceMask); - - protected : - - virtual ~Camera(); - - mutable OpenThreads::Mutex _dataChangeMutex; - - - View* _view; - - osg::ref_ptr _stats; - - bool _allowEventFocus; - - osg::ref_ptr _displaySettings; - - GLbitfield _clearMask; - osg::Vec4 _clearColor; - osg::Vec4 _clearAccum; - double _clearDepth; - int _clearStencil; - - ref_ptr _colorMask; - ref_ptr _viewport; - - TransformOrder _transformOrder; - ProjectionResizePolicy _projectionResizePolicy; - - Matrixd _projectionMatrix; - Matrixd _viewMatrix; - - RenderOrder _renderOrder; - int _renderOrderNum; - - GLenum _drawBuffer; - GLenum _readBuffer; - - RenderTargetImplementation _renderTargetImplementation; - RenderTargetImplementation _renderTargetFallback; - BufferAttachmentMap _bufferAttachmentMap; - ImplicitBufferAttachmentMask _implicitBufferAttachmentRenderMask; - ImplicitBufferAttachmentMask _implicitBufferAttachmentResolveMask; - - unsigned int _attachmentMapModifiedCount; - - ref_ptr _cameraThread; - - ref_ptr _graphicsContext; - - ref_ptr _renderer; - ref_ptr _renderingCache; - - ref_ptr _initialDrawCallback; - ref_ptr _preDrawCallback; - ref_ptr _postDrawCallback; - ref_ptr _finalDrawCallback; -}; - - -/** Functor to assist with ordering cameras in the order they should be rendered in.*/ -struct CameraRenderOrderSortOp -{ - inline bool operator() (const Camera* lhs,const Camera* rhs) const - { - if (lhs->getRenderOrder()getRenderOrder()) return true; - if (rhs->getRenderOrder()getRenderOrder()) return false; - return lhs->getRenderOrderNum()getRenderOrderNum(); - } -}; - - -} - -#endif diff --git a/src/osg/osg/CameraView b/src/osg/osg/CameraView deleted file mode 100644 index c97294b4..00000000 --- a/src/osg/osg/CameraView +++ /dev/null @@ -1,105 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_CAMERAVIEW -#define OSG_CAMERAVIEW 1 - -#include -#include -#include -#include -#include - -namespace osg { - -/** CameraView - is a Transform that is used to specify camera views from within the scene graph. - * The application must attach a camera to a CameraView via the NodePath from the top of the scene graph - * to the CameraView node itself, and accumulate the view matrix from this NodePath. -*/ -class OSG_EXPORT CameraView : public Transform -{ - public : - CameraView(); - - CameraView(const CameraView& pat,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - Transform(pat,copyop), - _position(pat._position), - _attitude(pat._attitude), - _fieldOfView(pat._fieldOfView), - _fieldOfViewMode(pat._fieldOfViewMode), - _focalLength(pat._focalLength) {} - - - META_Node(osg, CameraView); - - /** Set the position of the camera view.*/ - inline void setPosition(const Vec3d& pos) { _position = pos; dirtyBound(); } - - /** Get the position of the camera view.*/ - inline const Vec3d& getPosition() const { return _position; } - - /** Set the attitude of the camera view.*/ - inline void setAttitude(const Quat& quat) { _attitude = quat; dirtyBound(); } - - /** Get the attitude of the camera view.*/ - inline const Quat& getAttitude() const { return _attitude; } - - /** Set the field of view. - * The camera's field of view can be constrained to either the horizontal or vertical axis of the camera, or unconstrained - * in which case the camera/application are left to choose an appropriate field of view. - * The default value if 60 degrees. */ - inline void setFieldOfView(double fieldOfView) { _fieldOfView = fieldOfView; } - - /** Get the field of view.*/ - inline double getFieldOfView() const { return _fieldOfView; } - - enum FieldOfViewMode - { - UNCONSTRAINED, - HORIZONTAL, - VERTICAL - }; - - /** Set the field of view mode - controlling how the field of view of the camera is constrained by the CameraView settings.*/ - inline void setFieldOfViewMode(FieldOfViewMode mode) { _fieldOfViewMode = mode; } - - /** Get the field of view mode.*/ - inline FieldOfViewMode getFieldOfViewMode() const { return _fieldOfViewMode; } - - /** Set the focal length of the camera. - * A focal length of 0.0 indicates that the camera/application should determine the focal length. - * The default value is 0.0. */ - inline void setFocalLength(double focalLength) { _focalLength = focalLength; } - - /** Get the focal length of the camera.*/ - inline double getFocalLength() const { return _focalLength; } - - - virtual bool computeLocalToWorldMatrix(Matrix& matrix,NodeVisitor* nv) const; - virtual bool computeWorldToLocalMatrix(Matrix& matrix,NodeVisitor* nv) const; - - - protected : - - virtual ~CameraView() {} - - Vec3d _position; - Quat _attitude; - double _fieldOfView; - FieldOfViewMode _fieldOfViewMode; - double _focalLength; -}; - -} - -#endif diff --git a/src/osg/osg/Capability b/src/osg/osg/Capability deleted file mode 100644 index fbad6eaa..00000000 --- a/src/osg/osg/Capability +++ /dev/null @@ -1,161 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2014 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_ENABLEI -#define OSG_ENABLEI 1 - -#include -#include - -namespace osg { - -class OSG_EXPORT Capability : public osg::StateAttribute -{ - public : - - Capability(); - - Capability(GLenum capability): - _capability(capability) {} - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - Capability(const Capability& cap,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(cap, copyop), - _capability(cap._capability) {} - - META_Object(osg, Capability); - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // Check for equal types, then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(Capability,sa) - - COMPARE_StateAttribute_Parameter(_capability); - - return 0; - } - - /** Return the Type identifier of the attribute's class type.*/ - virtual Type getType() const { return static_cast(CAPABILITY+_capability); } - - void setCapability(GLenum capability) { _capability = capability; } - - GLenum getCapability() const { return _capability; } - - protected: - - virtual ~Capability(); - - GLenum _capability; - -}; - -/** Encapsulates glEnablei/glDisablei -*/ -class OSG_EXPORT Capabilityi : public osg::Capability -{ - public : - - Capabilityi(); - - Capabilityi(GLenum capability, unsigned int buf): - Capability(capability), - _index(buf) {} - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - Capabilityi(const Capabilityi& cap,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - Capability(cap,copyop), - _index(cap._index) {} - - META_Object(osg, Capabilityi); - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // Check for equal types, then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(Capabilityi,sa) - - COMPARE_StateAttribute_Parameter(_index); - COMPARE_StateAttribute_Parameter(_capability); - - return 0; - } - - /** Return the member identifier within the attribute's class type. Used for light number/clip plane number etc.*/ - virtual unsigned int getMember() const { return _index; } - - /** Set the renderbuffer index of the Enablei. */ - void setIndex(unsigned int buf) { _index = buf; } - - /** Get the renderbuffer index of the Enablei. */ - unsigned int getIndex() const { return _index; } - -protected: - - virtual ~Capabilityi(); - - unsigned int _index; - -}; - -class OSG_EXPORT Enablei : public Capabilityi -{ - public : - - Enablei() {} - - Enablei(unsigned int buf, GLenum capability): - Capabilityi(buf, capability) {} - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - Enablei(const Enablei& ei,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - Capabilityi(ei,copyop) {} - - META_Object(osg, Capabilityi); - - virtual void apply(State&) const; - -protected: - - virtual ~Enablei() {} -}; - - -class OSG_EXPORT Disablei : public Capabilityi -{ - public : - - Disablei() {} - - Disablei(unsigned int buf, GLenum capability): - Capabilityi(buf, capability) {} - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - Disablei(const Disablei& ei,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - Capabilityi(ei,copyop) {} - - META_Object(osg, Capabilityi); - - virtual void apply(State&) const; - - protected: - - virtual ~Disablei() {} -}; - -} - -#endif diff --git a/src/osg/osg/ClampColor b/src/osg/osg/ClampColor deleted file mode 100644 index 35edb413..00000000 --- a/src/osg/osg/ClampColor +++ /dev/null @@ -1,97 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_CLAMPCOLOR -#define OSG_CLAMPCOLOR 1 - -#include - -#ifndef GL_ARB_color_buffer_float -#define GL_RGBA_FLOAT_MODE_ARB 0x8820 -#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A -#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B -#define GL_CLAMP_READ_COLOR_ARB 0x891C -#define GL_FIXED_ONLY_ARB 0x891D -#endif - -#ifndef GL_FIXED_ONLY -#define GL_FIXED_ONLY GL_FIXED_ONLY_ARB -#define GL_CLAMP_VERTEX_COLOR GL_CLAMP_VERTEX_COLOR_ARB -#define GL_CLAMP_READ_COLOR GL_CLAMP_READ_COLOR_ARB -#define GL_CLAMP_FRAGMENT_COLOR GL_CLAMP_FRAGMENT_COLOR_ARB -#endif - -#if defined(OSG_GL3_AVAILABLE) - #define GL_CLAMP_VERTEX_COLOR 0x891A - #define GL_CLAMP_FRAGMENT_COLOR 0x891B -#endif - -namespace osg { - -/** Encapsulates OpenGL ClampColor state. */ -class OSG_EXPORT ClampColor : public StateAttribute -{ - public : - - ClampColor(); - - ClampColor(GLenum vertexMode, GLenum fragmentMode, GLenum readMode); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - ClampColor(const ClampColor& rhs,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(rhs,copyop), - _clampVertexColor(rhs._clampVertexColor), - _clampFragmentColor(rhs._clampFragmentColor), - _clampReadColor(rhs._clampReadColor) {} - - META_StateAttribute(osg, ClampColor,CLAMPCOLOR); - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // Check for equal types, then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(ClampColor,sa) - - // Compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_clampVertexColor) - COMPARE_StateAttribute_Parameter(_clampFragmentColor) - COMPARE_StateAttribute_Parameter(_clampReadColor) - - return 0; // Passed all the above comparison macros, so must be equal. - } - - void setClampVertexColor(GLenum mode) { _clampVertexColor = mode; } - GLenum getClampVertexColor() const { return _clampVertexColor; } - - void setClampFragmentColor(GLenum mode) { _clampFragmentColor = mode; } - GLenum getClampFragmentColor() const { return _clampFragmentColor; } - - void setClampReadColor(GLenum mode) { _clampReadColor = mode; } - GLenum getClampReadColor() const { return _clampReadColor; } - - virtual void apply(State& state) const; - - protected : - - virtual ~ClampColor(); - - GLenum _clampVertexColor; - GLenum _clampFragmentColor; - GLenum _clampReadColor; - -}; - -} - -#endif diff --git a/src/osg/osg/ClearNode b/src/osg/osg/ClearNode deleted file mode 100644 index 6da81885..00000000 --- a/src/osg/osg/ClearNode +++ /dev/null @@ -1,75 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_CLEARNODE -#define OSG_CLEARNODE 1 - -#include -#include - -namespace osg { - -/** A Group node for clearing the color and depth buffers. Use setClearColor - * to change the clear color, and setRequiresClear to disable/enable the call - * clearing. You might want to disable clearing if you perform your clear by - * drawing fullscreen geometry. If you do this, add child nodes to perform - * such drawing. The default StateSet associated with this node places - * children in render bin -1 to ensure that children are rendered prior to - * the rest of the scene graph. -*/ -class OSG_EXPORT ClearNode : public Group -{ - public : - - ClearNode(); - - ClearNode(const ClearNode& cs, const CopyOp& copyop=CopyOp::SHALLOW_COPY): - Group(cs,copyop), - _requiresClear(cs._requiresClear), - _clearColor(cs._clearColor), - _clearMask(cs._clearMask) {} - - - META_Node(osg, ClearNode); - - /** Enable/disable clearing via glClear. */ - inline void setRequiresClear(bool requiresClear) { _requiresClear = requiresClear; } - - /** Gets whether clearing is enabled or disabled. */ - inline bool getRequiresClear() const { return _requiresClear; } - - /** Sets the clear color. */ - inline void setClearColor(const Vec4& color) { _clearColor = color; } - - /** Returns the clear color. */ - inline const Vec4& getClearColor() const { return _clearColor; } - - /** Set the clear mask used in glClear(..). - * Defaults to GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT. */ - inline void setClearMask(GLbitfield mask) { _clearMask = mask; } - - /** Get the clear mask.*/ - inline GLbitfield getClearMask() const { return _clearMask; } - - protected : - - virtual ~ClearNode() {} - - bool _requiresClear; - Vec4 _clearColor; - GLbitfield _clearMask; -}; - -} - -#endif diff --git a/src/osg/osg/ClipControl b/src/osg/osg/ClipControl deleted file mode 100644 index 5d7eb485..00000000 --- a/src/osg/osg/ClipControl +++ /dev/null @@ -1,85 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_CLIPCONTROL -#define OSG_CLIPCONTROL 1 - -#include - -#ifndef GL_VERSION_4_5 - #define GL_NEGATIVE_ONE_TO_ONE 0x935E - #define GL_ZERO_TO_ONE 0x935F -#endif - -namespace osg { - -/** Encapsulate OpenGL glClipControl functions. -*/ -class OSG_EXPORT ClipControl : public StateAttribute -{ - public : - - enum Origin - { - LOWER_LEFT = GL_LOWER_LEFT, - UPPER_LEFT = GL_UPPER_LEFT - }; - - enum DepthMode - { - NEGATIVE_ONE_TO_ONE = GL_NEGATIVE_ONE_TO_ONE, - ZERO_TO_ONE = GL_ZERO_TO_ONE - }; - - - ClipControl(Origin origin=LOWER_LEFT, DepthMode depthMode=NEGATIVE_ONE_TO_ONE); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - ClipControl(const ClipControl& clipControl,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - - META_StateAttribute(osg, ClipControl, CLIPCONTROL); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/ - virtual int compare(const StateAttribute& sa) const - { - // check the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(ClipControl,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_origin) - COMPARE_StateAttribute_Parameter(_depthMode) - - return 0; // passed all the above comparison macros, must be equal. - } - - void setOrigin(Origin origin) { _origin = origin; } - Origin getOrigin() const { return _origin; } - - void setDepthMode(DepthMode depthMode) { _depthMode = depthMode; } - DepthMode getDepthMode() const { return _depthMode; } - - virtual void apply(State& state) const; - - protected: - - virtual ~ClipControl(); - - Origin _origin; - DepthMode _depthMode; -}; - -} - -#endif diff --git a/src/osg/osg/ClipNode b/src/osg/osg/ClipNode deleted file mode 100644 index a300e543..00000000 --- a/src/osg/osg/ClipNode +++ /dev/null @@ -1,113 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_CLIPNODE -#define OSG_CLIPNODE 1 - -#include -#include - -namespace osg { - -/** Node for defining the position of ClipPlanes in the scene.*/ -class OSG_EXPORT ClipNode : public Group -{ - - public: - - typedef std::vector > ClipPlaneList; - - - ClipNode(); - - ClipNode(const ClipNode& es, const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_Node(osg, ClipNode); - - enum ReferenceFrame - { - RELATIVE_RF, - ABSOLUTE_RF - }; - - /** Set the ClipNode's ReferenceFrame, either to be relative to its - * parent reference frame, or relative to an absolute coordinate - * frame. RELATIVE_RF is the default. - * Note: setting the ReferenceFrame to be ABSOLUTE_RF will - * also set the CullingActive flag to false on the ClipNode (and - * consequently all of its parents), thereby disabling culling of it and - * all its parents. This is necessary to prevent inappropriate - * culling, but may impact cull times if the absolute ClipNode is - * deep in the scene graph. It is therefore recommended to only use - * absolute ClipNode at the top of the scene. - */ - void setReferenceFrame(ReferenceFrame rf); - - ReferenceFrame getReferenceFrame() const { return _referenceFrame; } - - - /** Creates six clip planes corresponding to the given BoundingBox. */ - void createClipBox(const BoundingBox& bb,unsigned int clipPlaneNumberBase=0); - - /** Adds the clipplane. Returns true on success, and false if the plane - * has already been added, or if clipplane is NULL. */ - bool addClipPlane(ClipPlane* clipplane); - - /** Removes the clipplane. Returns true on success, false if clipplane - * isn't in this ClipNode.*/ - bool removeClipPlane(ClipPlane* clipplane); - - /** Remove the ClipPlane with the given index. Returns true on success, - * false if pos is not a valid plane index. */ - bool removeClipPlane(unsigned int pos); - - /** Returns the number of ClipPlanes. */ - inline unsigned int getNumClipPlanes() const { return _planes.size(); } - - - /** Get ClipPlane at the given index position. */ - inline ClipPlane* getClipPlane(unsigned int pos) { return _planes[pos].get(); } - - /** Get const ClipPlane at the given index position. */ - inline const ClipPlane* getClipPlane(unsigned int pos) const { return _planes[pos].get(); } - - /** Set the ClipPlaneList. */ - inline void setClipPlaneList(const ClipPlaneList& cpl) { _planes=cpl; } - - /** Get the ClipPlaneList. */ - inline ClipPlaneList& getClipPlaneList() { return _planes; } - - /** Get the const ClipPlaneList. */ - inline const ClipPlaneList& getClipPlaneList() const { return _planes; } - - /** Set the GLModes for all ClipPlanes, on the StateSet. */ - void setStateSetModes(StateSet&,StateAttribute::GLModeValue) const; - - /** Set up the local StateSet. */ - void setLocalStateSetModes(StateAttribute::GLModeValue=StateAttribute::ON); - - virtual BoundingSphere computeBound() const; - - protected: - - virtual ~ClipNode(); - - StateAttribute::GLModeValue _value; - ClipPlaneList _planes; - - ReferenceFrame _referenceFrame; -}; - -} - -#endif diff --git a/src/osg/osg/ClipPlane b/src/osg/osg/ClipPlane deleted file mode 100644 index 52f2a781..00000000 --- a/src/osg/osg/ClipPlane +++ /dev/null @@ -1,127 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_CLIPPLANE -#define OSG_CLIPPLANE 1 - -#include -#include -#include - -#ifndef GL_CLIP_PLANE0 - #define GL_CLIP_PLANE0 0x3000 - #define GL_CLIP_PLANE1 0x3001 - #define GL_CLIP_PLANE2 0x3002 - #define GL_CLIP_PLANE3 0x3003 - #define GL_CLIP_PLANE4 0x3004 - #define GL_CLIP_PLANE5 0x3005 -#endif - -namespace osg { - -/** Encapsulates OpenGL glClipPlane(). -*/ -class OSG_EXPORT ClipPlane : public StateAttribute -{ - public : - - ClipPlane(); - inline ClipPlane(unsigned int no):_clipPlaneNum(no) {} - inline ClipPlane(unsigned int no,const Vec4d& plane):_clipPlaneNum(no) { setClipPlane(plane); } - inline ClipPlane(unsigned int no,const Plane& plane):_clipPlaneNum(no) { setClipPlane(plane); } - inline ClipPlane(unsigned int no,double a,double b,double c,double d): _clipPlaneNum(no) { setClipPlane(a,b,c,d); } - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - ClipPlane(const ClipPlane& cp,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(cp,copyop) - { - _clipPlane[0]=cp._clipPlane[0]; - _clipPlane[1]=cp._clipPlane[1]; - _clipPlane[2]=cp._clipPlane[2]; - _clipPlane[3]=cp._clipPlane[3]; - _clipPlaneNum=cp._clipPlaneNum; - } - - virtual osg::Object* cloneType() const { return new ClipPlane( _clipPlaneNum ); } - virtual osg::Object* clone(const osg::CopyOp& copyop) const { return new ClipPlane(*this,copyop); } - virtual bool isSameKindAs(const osg::Object* obj) const { return dynamic_cast(obj)!=NULL; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "ClipPlane"; } - virtual Type getType() const { return CLIPPLANE; } - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // Check for equal types, then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(ClipPlane,sa) - - // Compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_clipPlaneNum) - COMPARE_StateAttribute_Parameter(_clipPlane[0]) - COMPARE_StateAttribute_Parameter(_clipPlane[1]) - COMPARE_StateAttribute_Parameter(_clipPlane[2]) - COMPARE_StateAttribute_Parameter(_clipPlane[3]) - - return 0; // Passed all the above comparison macros, so must be equal. - } - - virtual unsigned int getMember() const { return _clipPlaneNum; } - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode((GLMode)(GL_CLIP_PLANE0+_clipPlaneNum)); - return true; - } - - - /** Set the clip plane with the given Plane. */ - void setClipPlane(const Plane& plane) - { - _clipPlane.set(plane[0],plane[1],plane[2],plane[3]); - } - - /** Defines the plane as [ a b c d ]. */ - void setClipPlane(double a,double b,double c,double d) - { - _clipPlane.set(a,b,c,d); - } - - /** Set the clip plane with the given Vec4. */ - inline void setClipPlane(const Vec4d& plane) { _clipPlane = plane; } - - /** Gets the clip plane as a Vec4d. */ - const Vec4d& getClipPlane() const { return _clipPlane; } - - - /** Sets the clip plane number. */ - void setClipPlaneNum(unsigned int num); - - /** Gets the clip plane number. */ - unsigned int getClipPlaneNum() const; - - /** Applies the clip plane's state to the OpenGL state machine. */ - virtual void apply(State& state) const; - - protected : - - virtual ~ClipPlane(); - - Vec4d _clipPlane; - unsigned int _clipPlaneNum; - -}; - -} - -#endif diff --git a/src/osg/osg/ClusterCullingCallback b/src/osg/osg/ClusterCullingCallback deleted file mode 100644 index f0759ac7..00000000 --- a/src/osg/osg/ClusterCullingCallback +++ /dev/null @@ -1,78 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_CLUSTERCULLINGCALLBACK -#define OSG_CLUSTERCULLINGCALLBACK 1 - -#include -#include - -namespace osg { - -/** Implements cluster culling to cull back facing drawables. Derived from - * Drawable::CullCallback. -*/ -class OSG_EXPORT ClusterCullingCallback : public Drawable::CullCallback, public NodeCallback -{ - public: - - ClusterCullingCallback(); - ClusterCullingCallback(const ClusterCullingCallback& ccc,const CopyOp& copyop); - ClusterCullingCallback(const osg::Vec3& controlPoint, const osg::Vec3& normal, float deviation); - ClusterCullingCallback(const osg::Drawable* drawable); - - META_Object(osg,ClusterCullingCallback); - - // use the NodeCallbacks implementation of run. - virtual bool run(osg::Object* object, osg::Object* data) { return NodeCallback::run(object, data); } - - /** Computes the control point, normal, and deviation from the - * given drawable contents. */ - void computeFrom(const osg::Drawable* drawable); - - /** Transform the ClusterCullingCallback's positional members to a new coordinate frame.*/ - void transform(const osg::Matrixd& matrix); - - void set(const osg::Vec3& controlPoint, const osg::Vec3& normal, float deviation, float radius); - - void setControlPoint(const osg::Vec3& controlPoint) { _controlPoint = controlPoint; } - const osg::Vec3& getControlPoint() const { return _controlPoint; } - - void setNormal(const osg::Vec3& normal) { _normal = normal; } - const osg::Vec3& getNormal() const { return _normal; } - - void setRadius(float radius) { _radius = radius; } - float getRadius() const { return _radius; } - - void setDeviation(float deviation) { _deviation = deviation; } - float getDeviation() const { return _deviation; } - - virtual bool cull(osg::NodeVisitor*, osg::Drawable*, osg::State*) const; - - /** Callback method called by the NodeVisitor when visiting a node.*/ - virtual void operator()(Node* node, NodeVisitor* nv); - - protected: - - virtual ~ClusterCullingCallback() {} - - osg::Vec3 _controlPoint; - osg::Vec3 _normal; - float _radius; - float _deviation; -}; - - -} - -#endif diff --git a/src/osg/osg/CollectOccludersVisitor b/src/osg/osg/CollectOccludersVisitor deleted file mode 100644 index fbd9c679..00000000 --- a/src/osg/osg/CollectOccludersVisitor +++ /dev/null @@ -1,109 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_COLLECTOCCLUDERSVISITOR -#define OSG_COLLECTOCCLUDERSVISITOR 1 - -#include -#include - -#include - -namespace osg { - -class OSG_EXPORT CollectOccludersVisitor : public osg::NodeVisitor, public osg::CullStack -{ - public: - - - typedef std::set ShadowVolumeOccluderSet; - - CollectOccludersVisitor(); - virtual ~CollectOccludersVisitor(); - - META_NodeVisitor(osg, CollectOccludersVisitor) - - virtual Object* cloneType() const { return new CollectOccludersVisitor(); } - - virtual void reset(); - - virtual float getDistanceToEyePoint(const Vec3& pos, bool withLODScale) const; - virtual float getDistanceToViewPoint(const Vec3& pos, bool withLODScale) const; - - virtual float getDistanceFromEyePoint(const Vec3& pos, bool withLODScale) const; - - virtual void apply(osg::Node&); - virtual void apply(osg::Transform& node); - virtual void apply(osg::Projection& node); - - virtual void apply(osg::Switch& node); - virtual void apply(osg::LOD& node); - virtual void apply(osg::OccluderNode& node); - - /** Sets the minimum shadow occluder volume that an active occluder - * must have. vol is units relative the clip space volume where 1.0 - * is the whole clip space. */ - void setMinimumShadowOccluderVolume(float vol) { _minimumShadowOccluderVolume = vol; } - float getMinimumShadowOccluderVolume() const { return _minimumShadowOccluderVolume; } - - /** Sets the maximum number of occluders to have active for culling - * purposes. */ - void setMaximumNumberOfActiveOccluders(unsigned int num) { _maximumNumberOfActiveOccluders = num; } - unsigned int getMaximumNumberOfActiveOccluders() const { return _maximumNumberOfActiveOccluders; } - - void setCreateDrawablesOnOccludeNodes(bool flag) { _createDrawables=flag; } - bool getCreateDrawablesOnOccludeNodes() const { return _createDrawables; } - - void setCollectedOccluderSet(const ShadowVolumeOccluderSet& svol) { _occluderSet = svol; } - ShadowVolumeOccluderSet& getCollectedOccluderSet() { return _occluderSet; } - const ShadowVolumeOccluderSet& getCollectedOccluderSet() const { return _occluderSet; } - - /** Removes occluded occluders for the collected occluders list, then - * discards all but MaximumNumberOfActiveOccluders of occluders, - * discarding the occluders with the lowest shadow occluder volume. */ - void removeOccludedOccluders(); - - - protected: - - /** Prevents unwanted copy construction. */ - //CollectOccludersVisitor(const CollectOccludersVisitor&):osg::NodeVisitor(),osg::CullStack() {} - - /** Prevents unwanted copy operator. */ - CollectOccludersVisitor& operator = (const CollectOccludersVisitor&) { return *this; } - - inline void handle_cull_callbacks_and_traverse(osg::Node& node) - { - /*osg::NodeCallback* callback = node.getCullCallback(); - if (callback) (*callback)(&node,this); - else*/ if (node.getNumChildrenWithOccluderNodes()>0) traverse(node); - } - - inline void handle_cull_callbacks_and_accept(osg::Node& node,osg::Node* acceptNode) - { - /*osg::NodeCallback* callback = node.getCullCallback(); - if (callback) (*callback)(&node,this); - else*/ if (node.getNumChildrenWithOccluderNodes()>0) acceptNode->accept(*this); - } - - float _minimumShadowOccluderVolume; - unsigned _maximumNumberOfActiveOccluders; - bool _createDrawables; - ShadowVolumeOccluderSet _occluderSet; - -}; - -} - -#endif - diff --git a/src/osg/osg/ColorMask b/src/osg/osg/ColorMask deleted file mode 100644 index b1cc1726..00000000 --- a/src/osg/osg/ColorMask +++ /dev/null @@ -1,100 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_COLORMASK -#define OSG_COLORMASK 1 - -#include -#include - -namespace osg { - -/** Encapsulates OpenGL glColorMaskFunc/Op/Mask functions. -*/ -class OSG_EXPORT ColorMask : public StateAttribute -{ - public : - - - ColorMask(); - - ColorMask(bool red,bool green,bool blue,bool alpha): - _red(red), - _green(green), - _blue(blue), - _alpha(alpha) {} - - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - ColorMask(const ColorMask& cm,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(cm,copyop), - _red(cm._red), - _green(cm._green), - _blue(cm._blue), - _alpha(cm._alpha) {} - - META_StateAttribute(osg, ColorMask, COLORMASK); - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // Check for equal types, then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(ColorMask,sa) - - // Compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_red) - COMPARE_StateAttribute_Parameter(_green) - COMPARE_StateAttribute_Parameter(_blue) - COMPARE_StateAttribute_Parameter(_alpha) - - return 0; // Passed all the above comparison macros, so must be equal. - } - - inline void setMask(bool red,bool green,bool blue,bool alpha) - { - _red = red; - _green = green; - _blue = blue; - _alpha = alpha; - - } - - inline void setRedMask(bool mask) { _red=mask; } - inline bool getRedMask() const { return _red; } - - inline void setGreenMask(bool mask) { _green=mask; } - inline bool getGreenMask() const { return _green; } - - inline void setBlueMask(bool mask) { _blue=mask; } - inline bool getBlueMask() const { return _blue; } - - inline void setAlphaMask(bool mask) { _alpha=mask; } - inline bool getAlphaMask() const { return _alpha; } - - virtual void apply(State& state) const; - - protected: - - virtual ~ColorMask(); - - bool _red; - bool _green; - bool _blue; - bool _alpha; - -}; - -} - -#endif diff --git a/src/osg/osg/ColorMaski b/src/osg/osg/ColorMaski deleted file mode 100644 index 451330ce..00000000 --- a/src/osg/osg/ColorMaski +++ /dev/null @@ -1,73 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2014 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_COLORMASKI -#define OSG_COLORMASKI 1 - -#include - -namespace osg { - -/** Encapsulates glColorMaski function : the index version of glColorMask for multiple render target. -*/ -class OSG_EXPORT ColorMaski : public ColorMask -{ - public : - - ColorMaski(); - - ColorMaski(unsigned int buf, bool red, bool green, bool blue, bool alpha): - ColorMask(red, green,blue,alpha), - _index(buf) {} - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - ColorMaski(const ColorMaski& cm,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - ColorMask(cm,copyop), - _index(cm._index) {} - - META_StateAttribute(osg, ColorMaski, COLORMASK); - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // Check for equal types, then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(ColorMaski,sa) - - COMPARE_StateAttribute_Parameter(_index); - - return ColorMask::compare(sa); - } - - /** Return the buffer index as the member identifier.*/ - virtual unsigned int getMember() const { return _index; } - - /** Set the renderbuffer index of the ColorMaski. */ - void setIndex(unsigned int buf) { _index = buf; } - - /** Get the renderbuffer index of the ColorMaski. */ - unsigned int getIndex() const { return _index; } - - virtual void apply(State& state) const; - - protected: - - virtual ~ColorMaski(); - - unsigned int _index; - -}; - -} - -#endif diff --git a/src/osg/osg/ColorMatrix b/src/osg/osg/ColorMatrix deleted file mode 100644 index db7afd72..00000000 --- a/src/osg/osg/ColorMatrix +++ /dev/null @@ -1,72 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_COLORMATRIX -#define OSG_COLORMATRIX 1 - -#include -#include - -namespace osg { - -/** Encapsulates OpenGL color matrix functionality. */ -class OSG_EXPORT ColorMatrix : public StateAttribute -{ - public : - - ColorMatrix(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - ColorMatrix(const ColorMatrix& cm,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(cm,copyop), - _matrix(cm._matrix) {} - - META_StateAttribute(osg, ColorMatrix, COLORMATRIX); - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // Check for equal types, then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(ColorMatrix,sa) - - // Compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_matrix) - - return 0; // Passed all the above comparison macros, so must be equal. - } - - /** Sets the color matrix. */ - inline void setMatrix(const Matrix& matrix) { _matrix = matrix; } - - /** Gets the color matrix. */ - inline Matrix& getMatrix() { return _matrix; } - - /** Gets the const color matrix. */ - inline const Matrix& getMatrix() const { return _matrix; } - - /** Applies as OpenGL texture matrix. */ - virtual void apply(State& state) const; - - protected: - - virtual ~ColorMatrix( void ); - - Matrix _matrix; - -}; - -} - - -#endif diff --git a/src/osg/osg/ComputeBoundsVisitor b/src/osg/osg/ComputeBoundsVisitor deleted file mode 100644 index f94f9043..00000000 --- a/src/osg/osg/ComputeBoundsVisitor +++ /dev/null @@ -1,61 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_COMPUTEBOUNDSVISITOR -#define OSG_COMPUTEBOUNDSVISITOR 1 - -#include -#include -#include - -namespace osg { - -class OSG_EXPORT ComputeBoundsVisitor : public osg::NodeVisitor -{ -public: - - ComputeBoundsVisitor(TraversalMode traversalMode = TRAVERSE_ALL_CHILDREN); - - META_NodeVisitor(osg, ComputeBoundsVisitor) - - virtual void reset(); - - osg::BoundingBox& getBoundingBox() { return _bb; } - - void getPolytope(osg::Polytope& polytope, float margin=0.1) const; - - void getBase(osg::Polytope& polytope, float margin=0.1) const; - - void apply(osg::Drawable& drawable); - - void apply(osg::Transform& transform); - - inline void pushMatrix(osg::Matrix& matrix) { _matrixStack.push_back(matrix); } - - inline void popMatrix() { _matrixStack.pop_back(); } - - - void applyBoundingBox(const osg::BoundingBox&); - - typedef std::vector MatrixStack; - - const MatrixStack& getMatrixStack() const { return _matrixStack; } - -protected: - MatrixStack _matrixStack; - osg::BoundingBox _bb; -}; - -} - -#endif diff --git a/src/osg/osg/Config b/src/osg/osg/Config deleted file mode 100644 index 9e7f5ef4..00000000 --- a/src/osg/osg/Config +++ /dev/null @@ -1,35 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 2008-2009 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -/**************************************************************************** - * THIS FILE IS AUTOGENERATED BY CMAKE. DO NOT EDIT! - ****************************************************************************/ - -/* Changes to the configuration reflected here can be made with ccmake on - * unix or with cmake-gui on windows. Alternatively you can use cmake's -D - * or -P switches to set some configuration values at cmake configuration time. - */ - -#ifndef OSG_CONFIG -#define OSG_CONFIG 1 - -/* #undef OSG_NOTIFY_DISABLED */ -/* #undef OSG_USE_FLOAT_MATRIX */ -/* #undef OSG_USE_FLOAT_PLANE */ -#define OSG_USE_FLOAT_BOUNDINGSPHERE -#define OSG_USE_FLOAT_BOUNDINGBOX -#define OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION -/* #undef OSG_USE_UTF8_FILENAME */ -#define OSG_DISABLE_MSVC_WARNINGS - -#endif diff --git a/src/osg/osg/ConvexPlanarOccluder b/src/osg/osg/ConvexPlanarOccluder deleted file mode 100644 index ac715393..00000000 --- a/src/osg/osg/ConvexPlanarOccluder +++ /dev/null @@ -1,67 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_CONVEXPLANAROCCLUDER -#define OSG_CONVEXPLANAROCCLUDER 1 - -#include -#include - -namespace osg { - -class OccluderVolume; - -/** A class for representing convex clipping volumes made up of several ConvexPlanarPolygon. */ -class OSG_EXPORT ConvexPlanarOccluder : public Object -{ - - public: - - ConvexPlanarOccluder():Object() {} - ConvexPlanarOccluder(const ConvexPlanarOccluder& cpo,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - Object(cpo,copyop), - _occluder(cpo._occluder), - _holeList(cpo._holeList) {} - - META_Object(osg,ConvexPlanarOccluder); - - void setOccluder(const ConvexPlanarPolygon& cpp) { _occluder = cpp; } - - ConvexPlanarPolygon& getOccluder() { return _occluder; } - - const ConvexPlanarPolygon& getOccluder() const { return _occluder; } - - - - typedef std::vector HoleList; - - void addHole(const ConvexPlanarPolygon& cpp) { _holeList.push_back(cpp); } - - void setHoleList(const HoleList& holeList) { _holeList=holeList; } - - HoleList& getHoleList() { return _holeList; } - - const HoleList& getHoleList() const { return _holeList; } - - protected: - - ~ConvexPlanarOccluder(); // {} - - ConvexPlanarPolygon _occluder; - HoleList _holeList; - -}; - -} // end of namespace - -#endif diff --git a/src/osg/osg/ConvexPlanarPolygon b/src/osg/osg/ConvexPlanarPolygon deleted file mode 100644 index 64efcc89..00000000 --- a/src/osg/osg/ConvexPlanarPolygon +++ /dev/null @@ -1,49 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_CONVEXPLANARPOLYGON -#define OSG_CONVEXPLANARPOLYGON 1 - -#include - -#include - -namespace osg { - -/** A class for representing components of convex clipping volumes. */ -class OSG_EXPORT ConvexPlanarPolygon -{ - - public: - - ConvexPlanarPolygon(); - - typedef std::vector VertexList; - - void add(const Vec3& v) { _vertexList.push_back(v); } - - void setVertexList(const VertexList& vertexList) { _vertexList=vertexList; } - - VertexList& getVertexList() { return _vertexList; } - - const VertexList& getVertexList() const { return _vertexList; } - - protected: - - VertexList _vertexList; - -}; - -} // end of namespace - -#endif diff --git a/src/osg/osg/CoordinateSystemNode b/src/osg/osg/CoordinateSystemNode deleted file mode 100644 index 38d7df9b..00000000 --- a/src/osg/osg/CoordinateSystemNode +++ /dev/null @@ -1,248 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_COORDINATESYSTEMNODE -#define OSG_COORDINATESYSTEMNODE 1 - -#include -#include - -namespace osg -{ - -const double WGS_84_RADIUS_EQUATOR = 6378137.0; -const double WGS_84_RADIUS_POLAR = 6356752.3142; - -/** EllipsoidModel encapsulates the ellipsoid used to model astronomical bodies, - * such as sun, planets, moon etc. - * All distance quantities (i.e. heights + radius) are in meters, - * and latitude and longitude are in radians.*/ -class EllipsoidModel : public Object -{ - public: - - /** WGS_84 is a common representation of the earth's spheroid */ - EllipsoidModel(double radiusEquator = WGS_84_RADIUS_EQUATOR, - double radiusPolar = WGS_84_RADIUS_POLAR): - _radiusEquator(radiusEquator), - _radiusPolar(radiusPolar) { computeCoefficients(); } - - EllipsoidModel(const EllipsoidModel& et,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - Object(et,copyop), - _radiusEquator(et._radiusEquator), - _radiusPolar(et._radiusPolar) { computeCoefficients(); } - - META_Object(osg,EllipsoidModel); - - void setRadiusEquator(double radius) { _radiusEquator = radius; computeCoefficients(); } - double getRadiusEquator() const { return _radiusEquator; } - - void setRadiusPolar(double radius) { _radiusPolar = radius; computeCoefficients(); } - double getRadiusPolar() const { return _radiusPolar; } - - inline void convertLatLongHeightToXYZ(double latitude, double longitude, double height, - double& X, double& Y, double& Z) const; - - inline void convertXYZToLatLongHeight(double X, double Y, double Z, - double& latitude, double& longitude, double& height) const; - - inline void computeLocalToWorldTransformFromLatLongHeight(double latitude, double longitude, double height, osg::Matrixd& localToWorld) const; - - inline void computeLocalToWorldTransformFromXYZ(double X, double Y, double Z, osg::Matrixd& localToWorld) const; - - inline void computeCoordinateFrame(double latitude, double longitude, osg::Matrixd& localToWorld) const; - - inline osg::Vec3d computeLocalUpVector(double X, double Y, double Z) const; - - // Convenience method for determining if EllipsoidModel is a stock WGS84 ellipsoid - inline bool isWGS84() const {return(_radiusEquator == WGS_84_RADIUS_EQUATOR && _radiusPolar == WGS_84_RADIUS_POLAR);} - - // Compares two EllipsoidModel by comparing critical internal values. - // Ignores _eccentricitySquared since it's just a cached value derived from - // the _radiusEquator and _radiusPolar members. - friend bool operator == ( const EllipsoidModel & e1, const EllipsoidModel& e2) {return(e1._radiusEquator == e2._radiusEquator && e1._radiusPolar == e2._radiusPolar);} - - - protected: - - void computeCoefficients() - { - double flattening = (_radiusEquator-_radiusPolar)/_radiusEquator; - _eccentricitySquared = 2*flattening - flattening*flattening; - } - - double _radiusEquator; - double _radiusPolar; - double _eccentricitySquared; - -}; - -/** CoordinateFrame encapsulates the orientation of east, north and up.*/ -typedef Matrixd CoordinateFrame; - -/** CoordinateSystem encapsulate the coordinate system that is associated with objects in a scene. - For an overview of common earth bases coordinate systems see http://www.colorado.edu/geography/gcraft/notes/coordsys/coordsys_f.html */ -class OSG_EXPORT CoordinateSystemNode : public Group -{ - public: - - CoordinateSystemNode(); - - CoordinateSystemNode(const std::string& format, const std::string& cs); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - CoordinateSystemNode(const CoordinateSystemNode&,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY); - - META_Node(osg,CoordinateSystemNode); - - - /** Set the coordinate system node up by copying the format, coordinate system string, and ellipsoid model of another coordinate system node.*/ - void set(const CoordinateSystemNode& csn); - - /** Set the coordinate system format string. Typical values would be WKT, PROJ4, USGS etc.*/ - void setFormat(const std::string& format) { _format = format; } - - /** Get the coordinate system format string.*/ - const std::string& getFormat() const { return _format; } - - /** Set the CoordinateSystem reference string, should be stored in a form consistent with the Format.*/ - void setCoordinateSystem(const std::string& cs) { _cs = cs; } - - /** Get the CoordinateSystem reference string.*/ - const std::string& getCoordinateSystem() const { return _cs; } - - - /** Set EllipsoidModel to describe the model used to map lat, long and height into geocentric XYZ and back. */ - void setEllipsoidModel(EllipsoidModel* ellipsode) { _ellipsoidModel = ellipsode; } - - /** Get the EllipsoidModel.*/ - EllipsoidModel* getEllipsoidModel() { return _ellipsoidModel.get(); } - - /** Get the const EllipsoidModel.*/ - const EllipsoidModel* getEllipsoidModel() const { return _ellipsoidModel.get(); } - - /** Compute the local coordinate frame for specified point.*/ - CoordinateFrame computeLocalCoordinateFrame(const Vec3d& position) const; - - /** Compute the local up-vector for specified point.*/ - osg::Vec3d computeLocalUpVector(const Vec3d& position) const; - - protected: - - virtual ~CoordinateSystemNode() {} - - std::string _format; - std::string _cs; - ref_ptr _ellipsoidModel; - -}; - - - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// implement inline methods. -// -inline void EllipsoidModel::convertLatLongHeightToXYZ(double latitude, double longitude, double height, - double& X, double& Y, double& Z) const -{ - // for details on maths see http://www.colorado.edu/geography/gcraft/notes/datum/gif/llhxyz.gif - double sin_latitude = sin(latitude); - double cos_latitude = cos(latitude); - double N = _radiusEquator / sqrt( 1.0 - _eccentricitySquared*sin_latitude*sin_latitude); - X = (N+height)*cos_latitude*cos(longitude); - Y = (N+height)*cos_latitude*sin(longitude); - Z = (N*(1-_eccentricitySquared)+height)*sin_latitude; -} - - -inline void EllipsoidModel::convertXYZToLatLongHeight(double X, double Y, double Z, - double& latitude, double& longitude, double& height) const -{ - // http://www.colorado.edu/geography/gcraft/notes/datum/gif/xyzllh.gif - double p = sqrt(X*X + Y*Y); - double theta = atan2(Z*_radiusEquator , (p*_radiusPolar)); - double eDashSquared = (_radiusEquator*_radiusEquator - _radiusPolar*_radiusPolar)/ - (_radiusPolar*_radiusPolar); - - double sin_theta = sin(theta); - double cos_theta = cos(theta); - - latitude = atan( (Z + eDashSquared*_radiusPolar*sin_theta*sin_theta*sin_theta) / - (p - _eccentricitySquared*_radiusEquator*cos_theta*cos_theta*cos_theta) ); - longitude = atan2(Y,X); - - double sin_latitude = sin(latitude); - double N = _radiusEquator / sqrt( 1.0 - _eccentricitySquared*sin_latitude*sin_latitude); - - height = p/cos(latitude) - N; -} - -inline void EllipsoidModel::computeLocalToWorldTransformFromLatLongHeight(double latitude, double longitude, double height, osg::Matrixd& localToWorld) const -{ - double X, Y, Z; - convertLatLongHeightToXYZ(latitude,longitude,height,X,Y,Z); - - localToWorld.makeTranslate(X,Y,Z); - computeCoordinateFrame(latitude, longitude, localToWorld); -} - -inline void EllipsoidModel::computeLocalToWorldTransformFromXYZ(double X, double Y, double Z, osg::Matrixd& localToWorld) const -{ - double latitude, longitude, height; - convertXYZToLatLongHeight(X,Y,Z,latitude,longitude,height); - - localToWorld.makeTranslate(X,Y,Z); - computeCoordinateFrame(latitude, longitude, localToWorld); -} - -inline void EllipsoidModel::computeCoordinateFrame(double latitude, double longitude, osg::Matrixd& localToWorld) const -{ - // Compute up vector - osg::Vec3d up ( cos(longitude)*cos(latitude), sin(longitude)*cos(latitude), sin(latitude)); - - // Compute east vector - osg::Vec3d east (-sin(longitude), cos(longitude), 0); - - // Compute north vector = outer product up x east - osg::Vec3d north = up ^ east; - - // set matrix - localToWorld(0,0) = east[0]; - localToWorld(0,1) = east[1]; - localToWorld(0,2) = east[2]; - - localToWorld(1,0) = north[0]; - localToWorld(1,1) = north[1]; - localToWorld(1,2) = north[2]; - - localToWorld(2,0) = up[0]; - localToWorld(2,1) = up[1]; - localToWorld(2,2) = up[2]; -} - -inline osg::Vec3d EllipsoidModel::computeLocalUpVector(double X, double Y, double Z) const -{ - // Note latitude is angle between normal to ellipsoid surface and XY-plane - double latitude; - double longitude; - double altitude; - convertXYZToLatLongHeight(X,Y,Z,latitude,longitude,altitude); - - // Compute up vector - return osg::Vec3d( cos(longitude) * cos(latitude), - sin(longitude) * cos(latitude), - sin(latitude)); -} - -} -#endif diff --git a/src/osg/osg/CopyOp b/src/osg/osg/CopyOp deleted file mode 100644 index 6dea3de5..00000000 --- a/src/osg/osg/CopyOp +++ /dev/null @@ -1,95 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_COPYOP -#define OSG_COPYOP 1 - -#include - -namespace osg { - -class Referenced; -class Object; -class Image; -class Texture; -class StateSet; -class StateAttribute; -class StateAttributeCallback; -class Uniform; -class UniformCallback; -class Node; -class Drawable; -class Array; -class PrimitiveSet; -class Shape; -class Callback; - - -/** Copy Op(erator) used to control whether shallow or deep copy is used - * during copy construction and clone operation.*/ -class OSG_EXPORT CopyOp -{ - - public: - - enum Options - { - SHALLOW_COPY = 0, - DEEP_COPY_OBJECTS = 1<<0, - DEEP_COPY_NODES = 1<<1, - DEEP_COPY_DRAWABLES = 1<<2, - DEEP_COPY_STATESETS = 1<<3, - DEEP_COPY_STATEATTRIBUTES = 1<<4, - DEEP_COPY_TEXTURES = 1<<5, - DEEP_COPY_IMAGES = 1<<6, - DEEP_COPY_ARRAYS = 1<<7, - DEEP_COPY_PRIMITIVES = 1<<8, - DEEP_COPY_SHAPES = 1<<9, - DEEP_COPY_UNIFORMS = 1<<10, - DEEP_COPY_CALLBACKS = 1<<11, - DEEP_COPY_USERDATA = 1<<12, - DEEP_COPY_ALL = 0x7FFFFFFF - }; - - typedef unsigned int CopyFlags; - - inline CopyOp(CopyFlags flags=SHALLOW_COPY):_flags(flags) {} - virtual ~CopyOp() {} - - void setCopyFlags(CopyFlags flags) { _flags = flags; } - CopyFlags getCopyFlags() const { return _flags; } - - virtual Referenced* operator() (const Referenced* ref) const; - virtual Object* operator() (const Object* obj) const; - virtual Node* operator() (const Node* node) const; - virtual Drawable* operator() (const Drawable* drawable) const; - virtual StateSet* operator() (const StateSet* stateset) const; - virtual StateAttribute* operator() (const StateAttribute* attr) const; - virtual Texture* operator() (const Texture* text) const; - virtual Image* operator() (const Image* image) const; - virtual Array* operator() (const Array* array) const; - virtual PrimitiveSet* operator() (const PrimitiveSet* primitives) const; - virtual Shape* operator() (const Shape* shape) const; - virtual Uniform* operator() (const Uniform* shape) const; - virtual Callback* operator() (const Callback* nodecallback) const; - virtual StateAttributeCallback* operator() (const StateAttributeCallback* stateattributecallback) const; - virtual UniformCallback* operator() (const UniformCallback* uniformcallback) const; - - protected: - - CopyFlags _flags; -}; - -} - -#endif diff --git a/src/osg/osg/CullFace b/src/osg/osg/CullFace deleted file mode 100644 index 6c544744..00000000 --- a/src/osg/osg/CullFace +++ /dev/null @@ -1,79 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_CULLFACE -#define OSG_CULLFACE 1 - -#include -#include - -namespace osg { - -/** Class to globally enable/disable OpenGL's polygon culling mode. - */ -class OSG_EXPORT CullFace : public StateAttribute -{ - public : - - enum Mode { - FRONT = GL_FRONT, - BACK = GL_BACK, - FRONT_AND_BACK = GL_FRONT_AND_BACK - }; - - CullFace(Mode mode=BACK): - _mode(mode) {} - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - CullFace(const CullFace& cf,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(cf,copyop), - _mode(cf._mode) {} - - META_StateAttribute(osg, CullFace, CULLFACE); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/ - virtual int compare(const StateAttribute& sa) const - { - // check the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(CullFace,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_mode) - - return 0; // passed all the above comparison macros, must be equal. - } - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode(GL_CULL_FACE); - return true; - } - - inline void setMode(Mode mode) { _mode = mode; } - - inline Mode getMode() const { return _mode; } - - virtual void apply(State& state) const; - - protected: - - virtual ~CullFace(); - - Mode _mode; - -}; - -} - -#endif diff --git a/src/osg/osg/CullSettings b/src/osg/osg/CullSettings deleted file mode 100644 index c1a8877c..00000000 --- a/src/osg/osg/CullSettings +++ /dev/null @@ -1,276 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_CULLSETTINGS -#define OSG_CULLSETTINGS 1 - -#include -#include -#include - -namespace osg { - -// forward declare -class ArgumentParser; -class ApplicationUsage; - -class OSG_EXPORT CullSettings -{ - public: - - CullSettings() - { - setDefaults(); - readEnvironmentalVariables(); - } - - CullSettings(ArgumentParser& arguments) - { - setDefaults(); - readEnvironmentalVariables(); - readCommandLine(arguments); - } - - CullSettings(const CullSettings& cs); - - virtual ~CullSettings() {} - - CullSettings& operator = (const CullSettings& settings) - { - if (this==&settings) return *this; - setCullSettings(settings); - return *this; - } - - - virtual void setDefaults(); - - - enum VariablesMask - { - COMPUTE_NEAR_FAR_MODE = (0x1 << 0), - CULLING_MODE = (0x1 << 1), - LOD_SCALE = (0x1 << 2), - SMALL_FEATURE_CULLING_PIXEL_SIZE = (0x1 << 3), - CLAMP_PROJECTION_MATRIX_CALLBACK = (0x1 << 4), - NEAR_FAR_RATIO = (0x1 << 5), - IMPOSTOR_ACTIVE = (0x1 << 6), - DEPTH_SORT_IMPOSTOR_SPRITES = (0x1 << 7), - IMPOSTOR_PIXEL_ERROR_THRESHOLD = (0x1 << 8), - NUM_FRAMES_TO_KEEP_IMPOSTORS_SPRITES = (0x1 << 9), - CULL_MASK = (0x1 << 10), - CULL_MASK_LEFT = (0x1 << 11), - CULL_MASK_RIGHT = (0x1 << 12), - CLEAR_COLOR = (0x1 << 13), - CLEAR_MASK = (0x1 << 14), - LIGHTING_MODE = (0x1 << 15), - LIGHT = (0x1 << 16), - DRAW_BUFFER = (0x1 << 17), - READ_BUFFER = (0x1 << 18), - - NO_VARIABLES = 0x00000000, - ALL_VARIABLES = 0x7FFFFFFF - }; - - typedef int InheritanceMask; - - /** Set the inheritance mask used in inheritCullSettings to control which variables get overwritten by the passed in CullSettings object.*/ - void setInheritanceMask(InheritanceMask mask) { _inheritanceMask = mask; } - - /** Get the inheritance mask used in inheritCullSettings to control which variables get overwritten by the passed in CullSettings object.*/ - InheritanceMask getInheritanceMask() const { return _inheritanceMask; } - - /** Set the local cull settings values from specified CullSettings object.*/ - void setCullSettings(const CullSettings& settings); - - /** Inherit the local cull settings variable from specified CullSettings object, according to the inheritance mask.*/ - virtual void inheritCullSettings(const CullSettings& settings) { inheritCullSettings(settings, _inheritanceMask); } - - /** Inherit the local cull settings variable from specified CullSettings object, according to the inheritance mask.*/ - virtual void inheritCullSettings(const CullSettings& settings, unsigned int inheritanceMask); - - /** read the environmental variables.*/ - void readEnvironmentalVariables(); - - /** read the commandline arguments.*/ - void readCommandLine(ArgumentParser& arguments); - - - enum InheritanceMaskActionOnAttributeSetting - { - DISABLE_ASSOCIATED_INHERITANCE_MASK_BIT, - DO_NOT_MODIFY_INHERITANCE_MASK - }; - - void setInheritanceMaskActionOnAttributeSetting(InheritanceMaskActionOnAttributeSetting action) { _inheritanceMaskActionOnAttributeSetting = action; } - InheritanceMaskActionOnAttributeSetting getInheritanceMaskActionOnAttributeSetting() const { return _inheritanceMaskActionOnAttributeSetting; } - - /** Apply the action, specified by the InheritanceMaskActionOnAttributeSetting, to apply to the inheritance bit mask. - * This method is called by CullSettings::set*() parameter methods to ensure that CullSettings inheritance mechanisms doesn't overwrite the local parameter settings.*/ - inline void applyMaskAction(unsigned int maskBit) - { - if (_inheritanceMaskActionOnAttributeSetting==DISABLE_ASSOCIATED_INHERITANCE_MASK_BIT) - { - _inheritanceMask = _inheritanceMask & (~maskBit); - } - } - - - /** Switch the creation of Impostors on or off. - * Setting active to false forces the CullVisitor to use the Impostor - * LOD children for rendering. Setting active to true forces the - * CullVisitor to create the appropriate pre-rendering stages which - * render to the ImpostorSprite's texture.*/ - void setImpostorsActive(bool active) { _impostorActive = active; applyMaskAction(IMPOSTOR_ACTIVE); } - - /** Get whether impostors are active or not. */ - bool getImpostorsActive() const { return _impostorActive; } - - /** Set the impostor error threshold. - * Used in calculation of whether impostors remain valid.*/ - void setImpostorPixelErrorThreshold(float numPixels) { _impostorPixelErrorThreshold=numPixels; applyMaskAction(IMPOSTOR_PIXEL_ERROR_THRESHOLD); } - - /** Get the impostor error threshold.*/ - float getImpostorPixelErrorThreshold() const { return _impostorPixelErrorThreshold; } - - /** Set whether ImpostorSprite's should be placed in a depth sorted bin for rendering.*/ - void setDepthSortImpostorSprites(bool doDepthSort) { _depthSortImpostorSprites = doDepthSort; applyMaskAction(DEPTH_SORT_IMPOSTOR_SPRITES); } - - /** Get whether ImpostorSprite's are depth sorted bin for rendering.*/ - bool getDepthSortImpostorSprites() const { return _depthSortImpostorSprites; } - - /** Set the number of frames that an ImpostorSprite is kept whilst not being beyond, - * before being recycled.*/ - void setNumberOfFrameToKeepImpostorSprites(int numFrames) { _numFramesToKeepImpostorSprites = numFrames; applyMaskAction(NUM_FRAMES_TO_KEEP_IMPOSTORS_SPRITES); } - - /** Get the number of frames that an ImpostorSprite is kept whilst not being beyond, - * before being recycled.*/ - int getNumberOfFrameToKeepImpostorSprites() const { return _numFramesToKeepImpostorSprites; } - - enum ComputeNearFarMode - { - DO_NOT_COMPUTE_NEAR_FAR = 0, - COMPUTE_NEAR_FAR_USING_BOUNDING_VOLUMES, - COMPUTE_NEAR_FAR_USING_PRIMITIVES, - COMPUTE_NEAR_USING_PRIMITIVES - }; - - void setComputeNearFarMode(ComputeNearFarMode cnfm) { _computeNearFar=cnfm; applyMaskAction(COMPUTE_NEAR_FAR_MODE); } - ComputeNearFarMode getComputeNearFarMode() const { return _computeNearFar;} - - void setNearFarRatio(double ratio) { _nearFarRatio = ratio; applyMaskAction(NEAR_FAR_RATIO); } - double getNearFarRatio() const { return _nearFarRatio; } - - enum CullingModeValues - { - NO_CULLING = 0x0, - VIEW_FRUSTUM_SIDES_CULLING = 0x1, - NEAR_PLANE_CULLING = 0x2, - FAR_PLANE_CULLING = 0x4, - VIEW_FRUSTUM_CULLING = VIEW_FRUSTUM_SIDES_CULLING| - NEAR_PLANE_CULLING| - FAR_PLANE_CULLING, - SMALL_FEATURE_CULLING = 0x8, - SHADOW_OCCLUSION_CULLING = 0x10, - CLUSTER_CULLING = 0x20, - DEFAULT_CULLING = VIEW_FRUSTUM_SIDES_CULLING| - SMALL_FEATURE_CULLING| - SHADOW_OCCLUSION_CULLING| - CLUSTER_CULLING, - ENABLE_ALL_CULLING = VIEW_FRUSTUM_CULLING| - SMALL_FEATURE_CULLING| - SHADOW_OCCLUSION_CULLING| - CLUSTER_CULLING - }; - - typedef int CullingMode; - - /** Set the culling mode for the CullVisitor to use.*/ - void setCullingMode(CullingMode mode) { _cullingMode = mode; applyMaskAction(CULLING_MODE); } - - /** Returns the current CullingMode.*/ - CullingMode getCullingMode() const { return _cullingMode; } - - - void setCullMask(osg::Node::NodeMask nm) { _cullMask = nm; applyMaskAction(CULL_MASK); } - osg::Node::NodeMask getCullMask() const { return _cullMask; } - - void setCullMaskLeft(osg::Node::NodeMask nm) { _cullMaskLeft = nm; applyMaskAction(CULL_MASK_LEFT); } - osg::Node::NodeMask getCullMaskLeft() const { return _cullMaskLeft; } - - void setCullMaskRight(osg::Node::NodeMask nm) { _cullMaskRight = nm; applyMaskAction(CULL_MASK_RIGHT); } - osg::Node::NodeMask getCullMaskRight() const { return _cullMaskRight; } - - /** Set the LOD bias for the CullVisitor to use.*/ - void setLODScale(float scale) { _LODScale = scale; applyMaskAction(LOD_SCALE); } - - /** Get the LOD bias.*/ - float getLODScale() const { return _LODScale; } - - /** Threshold at which small features are culled. - \param value Bounding volume size in screen space. Default is 2.0. */ - void setSmallFeatureCullingPixelSize(float value) { _smallFeatureCullingPixelSize=value; applyMaskAction(SMALL_FEATURE_CULLING_PIXEL_SIZE); } - - /** Get the Small Feature Culling Pixel Size.*/ - float getSmallFeatureCullingPixelSize() const { return _smallFeatureCullingPixelSize; } - - - - /** Callback for overriding the CullVisitor's default clamping of the projection matrix to computed near and far values. - * Note, both Matrixf and Matrixd versions of clampProjectionMatrixImplementation must be implemented as the CullVisitor - * can target either Matrix data type, configured at compile time.*/ - struct ClampProjectionMatrixCallback : public osg::Referenced - { - virtual bool clampProjectionMatrixImplementation(osg::Matrixf& projection, double& znear, double& zfar) const = 0; - virtual bool clampProjectionMatrixImplementation(osg::Matrixd& projection, double& znear, double& zfar) const = 0; - }; - - /** set the ClampProjectionMatrixCallback.*/ - void setClampProjectionMatrixCallback(ClampProjectionMatrixCallback* cpmc) { _clampProjectionMatrixCallback = cpmc; applyMaskAction(CLAMP_PROJECTION_MATRIX_CALLBACK); } - /** get the non const ClampProjectionMatrixCallback.*/ - ClampProjectionMatrixCallback* getClampProjectionMatrixCallback() { return _clampProjectionMatrixCallback.get(); } - /** get the const ClampProjectionMatrixCallback.*/ - const ClampProjectionMatrixCallback* getClampProjectionMatrixCallback() const { return _clampProjectionMatrixCallback.get(); } - - - /** Write out internal settings of CullSettings. */ - void write(std::ostream& out); - - protected: - - InheritanceMask _inheritanceMask; - InheritanceMaskActionOnAttributeSetting _inheritanceMaskActionOnAttributeSetting; - - ComputeNearFarMode _computeNearFar; - CullingMode _cullingMode; - float _LODScale; - float _smallFeatureCullingPixelSize; - - ref_ptr _clampProjectionMatrixCallback; - double _nearFarRatio; - bool _impostorActive; - bool _depthSortImpostorSprites; - float _impostorPixelErrorThreshold; - int _numFramesToKeepImpostorSprites; - - Node::NodeMask _cullMask; - Node::NodeMask _cullMaskLeft; - Node::NodeMask _cullMaskRight; - - -}; - - -} - -#endif diff --git a/src/osg/osg/CullStack b/src/osg/osg/CullStack deleted file mode 100644 index c59ec978..00000000 --- a/src/osg/osg/CullStack +++ /dev/null @@ -1,310 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_CULLSTACK -#define OSG_CULLSTACK 1 - -#include -#include -#include -#include -#include - -namespace osg { - -/** A CullStack class which accumulates the current project, modelview matrices -and the CullingSet. */ -class OSG_EXPORT CullStack : public osg::CullSettings -{ - - public: - - - CullStack(); - CullStack(const CullStack& cs); - - ~CullStack(); - - typedef std::vector OccluderList; - - void reset(); - - void pushCullingSet(); - void popCullingSet(); - - void setOccluderList(const ShadowVolumeOccluderList& svol) { _occluderList = svol; } - ShadowVolumeOccluderList& getOccluderList() { return _occluderList; } - const ShadowVolumeOccluderList& getOccluderList() const { return _occluderList; } - - void pushViewport(osg::Viewport* viewport); - void popViewport(); - - void pushProjectionMatrix(osg::RefMatrix* matrix); - void popProjectionMatrix(); - - void pushModelViewMatrix(osg::RefMatrix* matrix, Transform::ReferenceFrame referenceFrame); - void popModelViewMatrix(); - - inline float getFrustumVolume() { if (_frustumVolume<0.0f) computeFrustumVolume(); return _frustumVolume; } - - - /** Compute the pixel size of an object at position v, with specified radius.*/ - float pixelSize(const Vec3& v,float radius) const - { - return getCurrentCullingSet().pixelSize(v,radius); - } - - /** Compute the pixel size of the bounding sphere.*/ - float pixelSize(const BoundingSphere& bs) const - { - return pixelSize(bs.center(),bs.radius()); - } - - /** Compute the pixel size of an object at position v, with specified radius. fabs()ed to always be positive. */ - float clampedPixelSize(const Vec3& v,float radius) const - { - return getCurrentCullingSet().clampedPixelSize(v,radius); - } - - /** Compute the pixel size of the bounding sphere. fabs()ed to always be positive. */ - float clampedPixelSize(const BoundingSphere& bs) const - { - return clampedPixelSize(bs.center(),bs.radius()); - } - - inline void disableAndPushOccludersCurrentMask(NodePath& nodePath) - { - getCurrentCullingSet().disableAndPushOccludersCurrentMask(nodePath); - } - - inline void popOccludersCurrentMask(NodePath& nodePath) - { - getCurrentCullingSet().popOccludersCurrentMask(nodePath); - } - - inline bool isCulled(const std::vector& vertices) - { - return getCurrentCullingSet().isCulled(vertices); - } - - inline bool isCulled(const BoundingBox& bb) - { - return bb.valid() && getCurrentCullingSet().isCulled(bb); - } - - inline bool isCulled(const BoundingSphere& bs) - { - return getCurrentCullingSet().isCulled(bs); - } - - inline bool isCulled(const osg::Node& node) - { - if (node.isCullingActive()) - { - return getCurrentCullingSet().isCulled(node.getBound()); - } - else - { - getCurrentCullingSet().resetCullingMask(); - return false; - } - } - - inline void pushCurrentMask() - { - getCurrentCullingSet().pushCurrentMask(); - } - - inline void popCurrentMask() - { - getCurrentCullingSet().popCurrentMask(); - } - - - typedef std::vector< CullingSet > CullingStack; - - inline CullingStack& getClipSpaceCullingStack() { return _clipspaceCullingStack; } - - inline CullingStack& getProjectionCullingStack() { return _projectionCullingStack; } - - inline CullingStack& getModelViewCullingStack() { return _modelviewCullingStack; } - - inline CullingSet& getCurrentCullingSet() { return *_back_modelviewCullingStack; } - inline const CullingSet& getCurrentCullingSet() const { return *_back_modelviewCullingStack; } - - inline osg::Viewport* getViewport(); - inline osg::RefMatrix* getModelViewMatrix(); - inline osg::RefMatrix* getProjectionMatrix(); - inline osg::Matrix getWindowMatrix(); - inline const osg::RefMatrix* getMVPW(); - - inline const osg::Vec3& getReferenceViewPoint() const { return _referenceViewPoints.back(); } - inline void pushReferenceViewPoint(const osg::Vec3& viewPoint) { _referenceViewPoints.push_back(viewPoint); } - inline void popReferenceViewPoint() { _referenceViewPoints.pop_back(); } - - inline const osg::Vec3& getEyeLocal() const { return _eyePointStack.back(); } - - inline const osg::Vec3& getViewPointLocal() const { return _viewPointStack.back(); } - - inline const osg::Vec3 getUpLocal() const - { - const osg::Matrix& matrix = *_modelviewStack.back(); - return osg::Vec3(matrix(0,1),matrix(1,1),matrix(2,1)); - } - - inline const osg::Vec3 getLookVectorLocal() const - { - const osg::Matrix& matrix = *_modelviewStack.back(); - return osg::Vec3(-matrix(0,2),-matrix(1,2),-matrix(2,2)); - } - - - protected: - - // base set of shadow volume occluder to use in culling. - ShadowVolumeOccluderList _occluderList; - - typedef fast_back_stack< ref_ptr > MatrixStack; - - MatrixStack _projectionStack; - - MatrixStack _modelviewStack; - MatrixStack _MVPW_Stack; - - typedef fast_back_stack > ViewportStack; - ViewportStack _viewportStack; - - typedef fast_back_stack EyePointStack; - EyePointStack _referenceViewPoints; - EyePointStack _eyePointStack; - EyePointStack _viewPointStack; - - CullingStack _clipspaceCullingStack; - CullingStack _projectionCullingStack; - - CullingStack _modelviewCullingStack; - unsigned int _index_modelviewCullingStack; - CullingSet* _back_modelviewCullingStack; - - void computeFrustumVolume(); - float _frustumVolume; - - unsigned int _bbCornerNear; - unsigned int _bbCornerFar; - - ref_ptr _identity; - - typedef std::vector< osg::ref_ptr > MatrixList; - MatrixList _reuseMatrixList; - unsigned int _currentReuseMatrixIndex; - - inline osg::RefMatrix* createOrReuseMatrix(const osg::Matrix& value); - - -}; - -inline osg::Viewport* CullStack::getViewport() -{ - if (!_viewportStack.empty()) - { - return _viewportStack.back().get(); - } - else - { - return 0L; - } -} - -inline osg::RefMatrix* CullStack::getModelViewMatrix() -{ - if (!_modelviewStack.empty()) - { - return _modelviewStack.back().get(); - } - else - { - return _identity.get(); - } -} - -inline osg::RefMatrix* CullStack::getProjectionMatrix() -{ - if (!_projectionStack.empty()) - { - return _projectionStack.back().get(); - } - else - { - return _identity.get(); - } -} - -inline osg::Matrix CullStack::getWindowMatrix() -{ - if (!_viewportStack.empty()) - { - osg::Viewport* viewport = _viewportStack.back().get(); - return viewport->computeWindowMatrix(); - } - else - { - return *_identity; - } -} - -inline const osg::RefMatrix* CullStack::getMVPW() -{ - if (!_MVPW_Stack.empty()) - { - if (!_MVPW_Stack.back()) - { - _MVPW_Stack.back() = createOrReuseMatrix(*getModelViewMatrix()); - (*_MVPW_Stack.back()) *= *(getProjectionMatrix()); - (*_MVPW_Stack.back()) *= getWindowMatrix(); - } - return _MVPW_Stack.back().get(); - } - else - { - return _identity.get(); - } -} - -inline RefMatrix* CullStack::createOrReuseMatrix(const osg::Matrix& value) -{ - // skip of any already reused matrix. - while (_currentReuseMatrixIndex<_reuseMatrixList.size() && - _reuseMatrixList[_currentReuseMatrixIndex]->referenceCount()>1) - { - ++_currentReuseMatrixIndex; - } - - // if still within list, element must be singularly referenced - // there return it to be reused. - if (_currentReuseMatrixIndex<_reuseMatrixList.size()) - { - RefMatrix* matrix = _reuseMatrixList[_currentReuseMatrixIndex++].get(); - matrix->set(value); - return matrix; - } - - // otherwise need to create new matrix. - osg::RefMatrix* matrix = new RefMatrix(value); - _reuseMatrixList.push_back(matrix); - ++_currentReuseMatrixIndex; - return matrix; -} - -} // end of namespace - -#endif diff --git a/src/osg/osg/CullingSet b/src/osg/osg/CullingSet deleted file mode 100644 index e077f4ff..00000000 --- a/src/osg/osg/CullingSet +++ /dev/null @@ -1,364 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_CullingSet -#define OSG_CullingSet 1 - -#include -#include -#include - -#include - - -namespace osg { - -#define COMPILE_WITH_SHADOW_OCCLUSION_CULLING - -/** A CullingSet class which contains a frustum and a list of occluders. */ -class OSG_EXPORT CullingSet : public Referenced -{ - - public: - - typedef std::pair< osg::ref_ptr, osg::Polytope > StateFrustumPair; - typedef std::vector< StateFrustumPair > StateFrustumList; - - CullingSet(); - - CullingSet(const CullingSet& cs): - Referenced(), - _mask(cs._mask), - _frustum(cs._frustum), - _stateFrustumList(cs._stateFrustumList), - _occluderList(cs._occluderList), - _pixelSizeVector(cs._pixelSizeVector), - _smallFeatureCullingPixelSize(cs._smallFeatureCullingPixelSize) - { - } - - CullingSet(const CullingSet& cs,const Matrix& matrix, const Vec4& pixelSizeVector): - _mask(cs._mask), - _frustum(cs._frustum), - _stateFrustumList(cs._stateFrustumList), - _occluderList(cs._occluderList), - _pixelSizeVector(pixelSizeVector), - _smallFeatureCullingPixelSize(cs._smallFeatureCullingPixelSize) - { - _frustum.transformProvidingInverse(matrix); - for(OccluderList::iterator itr=_occluderList.begin(); - itr!=_occluderList.end(); - ++itr) - { - itr->transformProvidingInverse(matrix); - } - } - - CullingSet& operator = (const CullingSet& cs) - { - if (this==&cs) return *this; - - _mask = cs._mask; - _frustum = cs._frustum; - _stateFrustumList = cs._stateFrustumList; - _occluderList = cs._occluderList; - _pixelSizeVector = cs._pixelSizeVector; - _smallFeatureCullingPixelSize = cs._smallFeatureCullingPixelSize; - - return *this; - } - - - inline void set(const CullingSet& cs) - { - _mask = cs._mask; - _frustum = cs._frustum; - _stateFrustumList = cs._stateFrustumList; - _occluderList = cs._occluderList; - _pixelSizeVector = cs._pixelSizeVector; - _smallFeatureCullingPixelSize = cs._smallFeatureCullingPixelSize; - } - - inline void set(const CullingSet& cs,const Matrix& matrix, const Vec4& pixelSizeVector) - { - _mask = cs._mask; - _stateFrustumList = cs._stateFrustumList; - _occluderList = cs._occluderList; - _pixelSizeVector = pixelSizeVector; - _smallFeatureCullingPixelSize = cs._smallFeatureCullingPixelSize; - - //_frustum = cs._frustum; - //_frustum.transformProvidingInverse(matrix); - - _frustum.setAndTransformProvidingInverse(cs._frustum,matrix); - - for(StateFrustumList::iterator sitr=_stateFrustumList.begin(); - sitr!=_stateFrustumList.end(); - ++sitr) - { - sitr->second.transformProvidingInverse(matrix); - } - - for(OccluderList::iterator oitr=_occluderList.begin(); - oitr!=_occluderList.end(); - ++oitr) - { - oitr->transformProvidingInverse(matrix); - } - - } - - typedef std::vector OccluderList; - - typedef int Mask; - - enum MaskValues - { - NO_CULLING = 0x0, - VIEW_FRUSTUM_SIDES_CULLING = 0x1, - NEAR_PLANE_CULLING = 0x2, - FAR_PLANE_CULLING = 0x4, - VIEW_FRUSTUM_CULLING = VIEW_FRUSTUM_SIDES_CULLING| - NEAR_PLANE_CULLING| - FAR_PLANE_CULLING, - SMALL_FEATURE_CULLING = 0x8, - SHADOW_OCCLUSION_CULLING = 0x10, - DEFAULT_CULLING = VIEW_FRUSTUM_SIDES_CULLING| - SMALL_FEATURE_CULLING| - SHADOW_OCCLUSION_CULLING, - ENABLE_ALL_CULLING = VIEW_FRUSTUM_CULLING| - SMALL_FEATURE_CULLING| - SHADOW_OCCLUSION_CULLING - }; - - void setCullingMask(Mask mask) { _mask = mask; } - Mask getCullingMask() const { return _mask; } - - void setFrustum(Polytope& cv) { _frustum = cv; } - - Polytope& getFrustum() { return _frustum; } - const Polytope& getFrustum() const { return _frustum; } - - void addStateFrustum(StateSet* stateset, Polytope& polytope) { _stateFrustumList.push_back(StateFrustumPair(stateset,polytope)); } - - void getStateFrustumList(StateFrustumList& sfl) { _stateFrustumList = sfl; } - StateFrustumList& getStateFrustumList() { return _stateFrustumList; } - - void addOccluder(ShadowVolumeOccluder& cv) { _occluderList.push_back(cv); } - - void setPixelSizeVector(const Vec4& v) { _pixelSizeVector = v; } - - Vec4& getPixelSizeVector() { return _pixelSizeVector; } - const Vec4& getPixelSizeVector() const { return _pixelSizeVector; } - - /** Threshold at which small features are culled. - \param value Bounding volume size in screen space. Default is 2.0. */ - void setSmallFeatureCullingPixelSize(float value) { _smallFeatureCullingPixelSize=value; } - - float& getSmallFeatureCullingPixelSize() { return _smallFeatureCullingPixelSize; } - - float getSmallFeatureCullingPixelSize() const { return _smallFeatureCullingPixelSize; } - - - /** Compute the pixel of an object at position v, with specified radius.*/ - float pixelSize(const Vec3& v,float radius) const { return radius/(v*_pixelSizeVector); } - - /** Compute the pixel of a bounding sphere.*/ - float pixelSize(const BoundingSphere& bs) const { return bs.radius()/(bs.center()*_pixelSizeVector); } - - /** Compute the pixel of an object at position v, with specified radius. fabs()ed to always be positive. */ - float clampedPixelSize(const Vec3& v,float radius) const { return fabs(pixelSize(v, radius)); } - - /** Compute the pixel of a bounding sphere. fabs()ed to always be positive. */ - float clampedPixelSize(const BoundingSphere& bs) const { return fabs(pixelSize(bs)); } - - - inline bool isCulled(const std::vector& vertices) - { - if (_mask&VIEW_FRUSTUM_CULLING) - { - // is it outside the view frustum... - if (!_frustum.contains(vertices)) return true; - } - - if (_mask&SMALL_FEATURE_CULLING) - { - } - - if (_mask&SHADOW_OCCLUSION_CULLING) - { - // is it in one of the shadow occluder volumes. - if (!_occluderList.empty()) - { - for(OccluderList::iterator itr=_occluderList.begin(); - itr!=_occluderList.end(); - ++itr) - { - if (itr->contains(vertices)) return true; - } - } - } - - return false; - } - - inline bool isCulled(const BoundingBox& bb) - { - if (_mask&VIEW_FRUSTUM_CULLING) - { - // is it outside the view frustum... - if (!_frustum.contains(bb)) return true; - } - - if (_mask&SMALL_FEATURE_CULLING) - { - } - - if (_mask&SHADOW_OCCLUSION_CULLING) - { - // is it in one of the shadow occluder volumes. - if (!_occluderList.empty()) - { - for(OccluderList::iterator itr=_occluderList.begin(); - itr!=_occluderList.end(); - ++itr) - { - if (itr->contains(bb)) return true; - } - } - } - - return false; - } - - inline bool isCulled(const BoundingSphere& bs) - { - if (_mask&VIEW_FRUSTUM_CULLING) - { - // is it outside the view frustum... - if (!_frustum.contains(bs)) return true; - } - - if (_mask&SMALL_FEATURE_CULLING) - { - if (((bs.center()*_pixelSizeVector)*_smallFeatureCullingPixelSize)>bs.radius()) return true; - } -#ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING - if (_mask&SHADOW_OCCLUSION_CULLING) - { - // is it in one of the shadow occluder volumes. - if (!_occluderList.empty()) - { - for(OccluderList::iterator itr=_occluderList.begin(); - itr!=_occluderList.end(); - ++itr) - { - if (itr->contains(bs)) return true; - } - } - } -#endif - return false; - } - -#ifdef OSG_USE_BOUND - inline bool isCulled(const Bound& bound) - { - if (bound.bb) return isCulled(*bound.bb); - else return isCulled(*bound.bs); - } -#endif - inline void pushCurrentMask() - { - _frustum.pushCurrentMask(); - - if (!_stateFrustumList.empty()) - { - for(StateFrustumList::iterator itr=_stateFrustumList.begin(); - itr!=_stateFrustumList.end(); - ++itr) - { - itr->second.pushCurrentMask(); - } - } - - -#ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING - if (!_occluderList.empty()) - { - for(OccluderList::iterator itr=_occluderList.begin(); - itr!=_occluderList.end(); - ++itr) - { - itr->pushCurrentMask(); - } - } -#endif - } - - inline void popCurrentMask() - { - _frustum.popCurrentMask(); - - if (!_stateFrustumList.empty()) - { - for(StateFrustumList::iterator itr=_stateFrustumList.begin(); - itr!=_stateFrustumList.end(); - ++itr) - { - itr->second.popCurrentMask(); - } - } - -#ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING - if (!_occluderList.empty()) - { - for(OccluderList::iterator itr=_occluderList.begin(); - itr!=_occluderList.end(); - ++itr) - { - itr->popCurrentMask(); - } - } -#endif - } - - inline void resetCullingMask() - { - _frustum.setResultMask(_frustum.getCurrentMask()); - } - - void disableAndPushOccludersCurrentMask(NodePath& nodePath); - - void popOccludersCurrentMask(NodePath& nodePath); - - static osg::Vec4 computePixelSizeVector(const Viewport& W, const Matrix& P, const Matrix& M); - - virtual ~CullingSet(); - - - protected: - - - Mask _mask; - Polytope _frustum; - StateFrustumList _stateFrustumList; - OccluderList _occluderList; - Vec4 _pixelSizeVector; - float _smallFeatureCullingPixelSize; - -}; - -} // end of namespace - -#endif diff --git a/src/osg/osg/DeleteHandler b/src/osg/osg/DeleteHandler deleted file mode 100644 index 7e2411c4..00000000 --- a/src/osg/osg/DeleteHandler +++ /dev/null @@ -1,89 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_DELETEHANDLER -#define OSG_DELETEHANDLER 1 - -#include - -#include - -namespace osg { - - -/** Class for overriding the default delete behaviour so that users can implement their own object - * deletion schemes. - * This might be used to implement a protection scheme that avoids - * multiple threads deleting objects unintentionally. - * Note, the DeleteHandler cannot itself be reference counted, otherwise it - * would be responsible for deleting itself! - * A static auto_ptr<> is used internally in Referenced.cpp to manage the - * DeleteHandler's memory.*/ -class OSG_EXPORT DeleteHandler -{ - public: - - typedef std::pair FrameNumberObjectPair; - typedef std::list ObjectsToDeleteList; - - DeleteHandler(int numberOfFramesToRetainObjects=0); - - virtual ~DeleteHandler(); - - /** Set the number of frames to retain objects that have been requested for deletion. - * When set to zero objects are deleted immediately, by setting to 1 they are kept around for an extra frame etc. - * The ability to retain objects for several frames is useful to prevent premature deletion when objects - * are still being used by graphics threads that use double buffering of rendering data structures with - * non ref_ptr<> pointers to scene graph elements.*/ - void setNumFramesToRetainObjects(unsigned int numberOfFramesToRetainObjects) { _numFramesToRetainObjects = numberOfFramesToRetainObjects; } - - unsigned int getNumFramesToRetainObjects() const { return _numFramesToRetainObjects; } - - /** Set the current frame number so that subsequent deletes get tagged as associated with this frame.*/ - void setFrameNumber(unsigned int frameNumber) { _currentFrameNumber = frameNumber; } - - /** Get the current frame number.*/ - unsigned int getFrameNumber() const { return _currentFrameNumber; } - - inline void doDelete(const Referenced* object) { delete object; } - - /** Flush objects that are ready to be fully deleted.*/ - virtual void flush(); - - /** Flush all objects that the DeleteHandler holds. - * Note, this should only be called if there are no threads running with non ref_ptr<> pointers, such as graphics threads.*/ - virtual void flushAll(); - - /** Request the deletion of an object. - * Depending on users implementation of DeleteHandler, the delete of the object may occur - * straight away or be delayed until doDelete is called. - * The default implementation does a delete straight away.*/ - virtual void requestDelete(const osg::Referenced* object); - - protected: - - DeleteHandler(const DeleteHandler&): - _numFramesToRetainObjects(0), - _currentFrameNumber(0) {} - DeleteHandler operator = (const DeleteHandler&) { return *this; } - - unsigned int _numFramesToRetainObjects; - unsigned int _currentFrameNumber; - OpenThreads::Mutex _mutex; - ObjectsToDeleteList _objectsToDelete; - -}; - -} - -#endif diff --git a/src/osg/osg/Depth b/src/osg/osg/Depth deleted file mode 100644 index aecbc6ee..00000000 --- a/src/osg/osg/Depth +++ /dev/null @@ -1,112 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_DEPTH -#define OSG_DEPTH 1 - -#include - -namespace osg { - -/** Encapsulate OpenGL glDepthFunc/Mask/Range functions. -*/ -class OSG_EXPORT Depth : public StateAttribute -{ - public : - - - enum Function - { - NEVER = GL_NEVER, - LESS = GL_LESS, - EQUAL = GL_EQUAL, - LEQUAL = GL_LEQUAL, - GREATER = GL_GREATER, - NOTEQUAL = GL_NOTEQUAL, - GEQUAL = GL_GEQUAL, - ALWAYS = GL_ALWAYS - }; - - - Depth(Function func=LESS,double zNear=0.0, double zFar=1.0,bool writeMask=true); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - Depth(const Depth& dp,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(dp,copyop), - _func(dp._func), - _zNear(dp._zNear), - _zFar(dp._zFar), - _depthWriteMask(dp._depthWriteMask) {} - - - META_StateAttribute(osg, Depth, DEPTH); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/ - virtual int compare(const StateAttribute& sa) const - { - // check the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(Depth,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_func) - COMPARE_StateAttribute_Parameter(_depthWriteMask) - COMPARE_StateAttribute_Parameter(_zNear) - COMPARE_StateAttribute_Parameter(_zFar) - - return 0; // passed all the above comparison macros, must be equal. - } - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode(GL_DEPTH_TEST); - return true; - } - - inline void setFunction(Function func) { _func = func; } - inline Function getFunction() const { return _func; } - - - inline void setRange(double zNear, double zFar) - { - _zNear = zNear; - _zFar = zFar; - } - - inline void setZNear(double zNear) { _zNear=zNear; } - inline double getZNear() const { return _zNear; } - - inline void setZFar(double zFar) { _zFar=zFar; } - inline double getZFar() const { return _zFar; } - - inline void setWriteMask(bool mask) { _depthWriteMask = mask; } - inline bool getWriteMask() const { return _depthWriteMask; } - - - virtual void apply(State& state) const; - - protected: - - virtual ~Depth(); - - Function _func; - - double _zNear; - double _zFar; - - bool _depthWriteMask; -}; - -} - -#endif diff --git a/src/osg/osg/DisplaySettings b/src/osg/osg/DisplaySettings deleted file mode 100644 index f06bd8a1..00000000 --- a/src/osg/osg/DisplaySettings +++ /dev/null @@ -1,401 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_DisplaySettings -#define OSG_DisplaySettings 1 - -#include -#include -#include - -#include -#include - -namespace osg { - -// forward declare -class ArgumentParser; -class ApplicationUsage; - -/** DisplaySettings class for encapsulating what visuals are required and - * have been set up, and the status of stereo viewing.*/ -class OSG_EXPORT DisplaySettings : public osg::Referenced -{ - - public: - - /** Maintain a DisplaySettings singleton for objects to query at runtime.*/ - static ref_ptr& instance(); - - DisplaySettings(): - Referenced(true) - { - setDefaults(); - readEnvironmentalVariables(); - } - - DisplaySettings(ArgumentParser& arguments): - Referenced(true) - { - setDefaults(); - readEnvironmentalVariables(); - readCommandLine(arguments); - } - - DisplaySettings(const DisplaySettings& vs); - - - DisplaySettings& operator = (const DisplaySettings& vs); - - void setDisplaySettings(const DisplaySettings& vs); - - void merge(const DisplaySettings& vs); - - void setDefaults(); - - /** read the environmental variables.*/ - void readEnvironmentalVariables(); - - /** read the commandline arguments.*/ - void readCommandLine(ArgumentParser& arguments); - - - enum DisplayType - { - MONITOR, - POWERWALL, - REALITY_CENTER, - HEAD_MOUNTED_DISPLAY - }; - - void setDisplayType(DisplayType type) { _displayType = type; } - - DisplayType getDisplayType() const { return _displayType; } - - - void setStereo(bool on) { _stereo = on; } - bool getStereo() const { return _stereo; } - - enum StereoMode - { - QUAD_BUFFER, - ANAGLYPHIC, - HORIZONTAL_SPLIT, - VERTICAL_SPLIT, - LEFT_EYE, - RIGHT_EYE, - HORIZONTAL_INTERLACE, - VERTICAL_INTERLACE, - CHECKERBOARD - }; - - void setStereoMode(StereoMode mode) { _stereoMode = mode; } - StereoMode getStereoMode() const { return _stereoMode; } - - void setEyeSeparation(float eyeSeparation) { _eyeSeparation = eyeSeparation; } - float getEyeSeparation() const { return _eyeSeparation; } - - enum SplitStereoHorizontalEyeMapping - { - LEFT_EYE_LEFT_VIEWPORT, - LEFT_EYE_RIGHT_VIEWPORT - }; - - void setSplitStereoHorizontalEyeMapping(SplitStereoHorizontalEyeMapping m) { _splitStereoHorizontalEyeMapping = m; } - SplitStereoHorizontalEyeMapping getSplitStereoHorizontalEyeMapping() const { return _splitStereoHorizontalEyeMapping; } - - void setSplitStereoHorizontalSeparation(int s) { _splitStereoHorizontalSeparation = s; } - int getSplitStereoHorizontalSeparation() const { return _splitStereoHorizontalSeparation; } - - enum SplitStereoVerticalEyeMapping - { - LEFT_EYE_TOP_VIEWPORT, - LEFT_EYE_BOTTOM_VIEWPORT - }; - - void setSplitStereoVerticalEyeMapping(SplitStereoVerticalEyeMapping m) { _splitStereoVerticalEyeMapping = m; } - SplitStereoVerticalEyeMapping getSplitStereoVerticalEyeMapping() const { return _splitStereoVerticalEyeMapping; } - - void setSplitStereoVerticalSeparation(int s) { _splitStereoVerticalSeparation = s; } - int getSplitStereoVerticalSeparation() const { return _splitStereoVerticalSeparation; } - - void setSplitStereoAutoAdjustAspectRatio(bool flag) { _splitStereoAutoAdjustAspectRatio=flag; } - bool getSplitStereoAutoAdjustAspectRatio() const { return _splitStereoAutoAdjustAspectRatio; } - - - void setScreenWidth(float width) { _screenWidth = width; } - float getScreenWidth() const { return _screenWidth; } - - void setScreenHeight(float height) { _screenHeight = height; } - float getScreenHeight() const { return _screenHeight; } - - void setScreenDistance(float distance) { _screenDistance = distance; } - float getScreenDistance() const { return _screenDistance; } - - - - void setDoubleBuffer(bool flag) { _doubleBuffer = flag; } - bool getDoubleBuffer() const { return _doubleBuffer; } - - - void setRGB(bool flag) { _RGB = flag; } - bool getRGB() const { return _RGB; } - - - void setDepthBuffer(bool flag) { _depthBuffer = flag; } - bool getDepthBuffer() const { return _depthBuffer; } - - - void setMinimumNumAlphaBits(unsigned int bits) { _minimumNumberAlphaBits = bits; } - unsigned int getMinimumNumAlphaBits() const { return _minimumNumberAlphaBits; } - bool getAlphaBuffer() const { return _minimumNumberAlphaBits!=0; } - - void setMinimumNumStencilBits(unsigned int bits) { _minimumNumberStencilBits = bits; } - unsigned int getMinimumNumStencilBits() const { return _minimumNumberStencilBits; } - bool getStencilBuffer() const { return _minimumNumberStencilBits!=0; } - - void setMinimumNumAccumBits(unsigned int red, unsigned int green, unsigned int blue, unsigned int alpha); - unsigned int getMinimumNumAccumRedBits() const { return _minimumNumberAccumRedBits; } - unsigned int getMinimumNumAccumGreenBits() const { return _minimumNumberAccumGreenBits; } - unsigned int getMinimumNumAccumBlueBits() const { return _minimumNumberAccumBlueBits; } - unsigned int getMinimumNumAccumAlphaBits() const { return _minimumNumberAccumAlphaBits; } - bool getAccumBuffer() const { return (_minimumNumberAccumRedBits+_minimumNumberAccumGreenBits+_minimumNumberAccumBlueBits+_minimumNumberAccumAlphaBits)!=0; } - - - void setMaxNumberOfGraphicsContexts(unsigned int num); - unsigned int getMaxNumberOfGraphicsContexts() const; - - void setNumMultiSamples(unsigned int samples) { _numMultiSamples = samples; } - unsigned int getNumMultiSamples() const { return _numMultiSamples; } - bool getMultiSamples() const { return _numMultiSamples!=0; } - - void setCompileContextsHint(bool useCompileContexts) { _compileContextsHint = useCompileContexts; } - bool getCompileContextsHint() const { return _compileContextsHint; } - - void setSerializeDrawDispatch(bool serializeDrawDispatch) { _serializeDrawDispatch = serializeDrawDispatch; } - bool getSerializeDrawDispatch() const { return _serializeDrawDispatch; } - - - void setUseSceneViewForStereoHint(bool hint) { _useSceneViewForStereoHint = hint; } - bool getUseSceneViewForStereoHint() const { return _useSceneViewForStereoHint; } - - - /** Set the hint for the total number of threads in the DatbasePager set up, inclusive of the number of http dedicated threads.*/ - void setNumOfDatabaseThreadsHint(unsigned int numThreads) { _numDatabaseThreadsHint = numThreads; } - - /** Get the hint for total number of threads in the DatbasePager set up, inclusive of the number of http dedicated threads.*/ - unsigned int getNumOfDatabaseThreadsHint() const { return _numDatabaseThreadsHint; } - - /** Set the hint for number of threads in the DatbasePager to dedicate to reading http requests.*/ - void setNumOfHttpDatabaseThreadsHint(unsigned int numThreads) { _numHttpDatabaseThreadsHint = numThreads; } - - /** Get the hint for number of threads in the DatbasePager dedicated to reading http requests.*/ - unsigned int getNumOfHttpDatabaseThreadsHint() const { return _numHttpDatabaseThreadsHint; } - - void setApplication(const std::string& application) { _application = application; } - const std::string& getApplication() { return _application; } - - - void setMaxTexturePoolSize(unsigned int size) { _maxTexturePoolSize = size; } - unsigned int getMaxTexturePoolSize() const { return _maxTexturePoolSize; } - - void setMaxBufferObjectPoolSize(unsigned int size) { _maxBufferObjectPoolSize = size; } - unsigned int getMaxBufferObjectPoolSize() const { return _maxBufferObjectPoolSize; } - - /** - Methods used to set and get defaults for Cameras implicit buffer attachments. - For more info: See description of Camera::setImplicitBufferAttachment method - - DisplaySettings implicit buffer attachment selection defaults to: DEPTH and COLOR - for both primary (Render) FBO and secondary Multisample (Resolve) FBO - ie: IMPLICIT_DEPTH_BUFFER_ATTACHMENT | IMPLICIT_COLOR_BUFFER_ATTACHMENT - **/ - enum ImplicitBufferAttachment - { - IMPLICIT_DEPTH_BUFFER_ATTACHMENT = (1 << 0), - IMPLICIT_STENCIL_BUFFER_ATTACHMENT = (1 << 1), - IMPLICIT_COLOR_BUFFER_ATTACHMENT = (1 << 2), - DEFAULT_IMPLICIT_BUFFER_ATTACHMENT = IMPLICIT_COLOR_BUFFER_ATTACHMENT | IMPLICIT_DEPTH_BUFFER_ATTACHMENT - }; - - typedef int ImplicitBufferAttachmentMask; - - void setImplicitBufferAttachmentMask(ImplicitBufferAttachmentMask renderMask = DisplaySettings::DEFAULT_IMPLICIT_BUFFER_ATTACHMENT, ImplicitBufferAttachmentMask resolveMask = DisplaySettings::DEFAULT_IMPLICIT_BUFFER_ATTACHMENT ) - { - _implicitBufferAttachmentRenderMask = renderMask; - _implicitBufferAttachmentResolveMask = resolveMask; - } - - void setImplicitBufferAttachmentRenderMask(ImplicitBufferAttachmentMask implicitBufferAttachmentRenderMask) - { - _implicitBufferAttachmentRenderMask = implicitBufferAttachmentRenderMask; - } - - void setImplicitBufferAttachmentResolveMask(ImplicitBufferAttachmentMask implicitBufferAttachmentResolveMask) - { - _implicitBufferAttachmentResolveMask = implicitBufferAttachmentResolveMask; - } - - /** Get mask selecting default implicit buffer attachments for Cameras primary FBOs. */ - ImplicitBufferAttachmentMask getImplicitBufferAttachmentRenderMask() const { return _implicitBufferAttachmentRenderMask; } - - /** Get mask selecting default implicit buffer attachments for Cameras secondary MULTISAMPLE FBOs. */ - ImplicitBufferAttachmentMask getImplicitBufferAttachmentResolveMask() const { return _implicitBufferAttachmentResolveMask;} - - enum SwapMethod - { - SWAP_DEFAULT, // Leave swap method at default returned by choose Pixel Format. - SWAP_EXCHANGE, // Flip front / back buffer. - SWAP_COPY, // Copy back to front buffer. - SWAP_UNDEFINED // Move back to front buffer leaving contents of back buffer undefined. - }; - - /** Select preferred swap method */ - void setSwapMethod( SwapMethod swapMethod ) { _swapMethod = swapMethod; } - - /** Get preferred swap method */ - SwapMethod getSwapMethod( void ) { return _swapMethod; } - - - /** Set whether Arb Sync should be used to manage the swaps buffers, 0 disables the use of the sync, greater than zero enables sync based on number of frames specified.*/ - void setSyncSwapBuffers(unsigned int numFrames=0) { _syncSwapBuffers = numFrames; } - - /** Set whether Arb Sync should be used to manage the swaps buffers.*/ - unsigned int getSyncSwapBuffers() const { return _syncSwapBuffers; } - - - - /** Set the hint of which OpenGL version to attempt to create a graphics context for.*/ - void setGLContextVersion(const std::string& version) { _glContextVersion = version; } - - /** Get the hint of which OpenGL version to attempt to create a graphics context for.*/ - const std::string getGLContextVersion() const { return _glContextVersion; } - - /** Set the hint of the flags to use in when creating graphic contexts.*/ - void setGLContextFlags(unsigned int flags) { _glContextFlags = flags; } - - /** Get the hint of the flags to use in when creating graphic contexts.*/ - unsigned int getGLContextFlags() const { return _glContextFlags; } - - /** Set the hint of the profile mask to use in when creating graphic contexts.*/ - void setGLContextProfileMask(unsigned int mask) { _glContextProfileMask = mask; } - - /** Get the hint of the profile mask to use in when creating graphic contexts.*/ - unsigned int getGLContextProfileMask() const { return _glContextProfileMask; } - - /** Set the NvOptimusEnablement value. Default can be set using OSG_NvOptimusEnablement env var.*/ - void setNvOptimusEnablement(int value); - /** Get the NvOptimusEnablement value. */ - int getNvOptimusEnablement() const; - - - void setKeystoneHint(bool enabled) { _keystoneHint = enabled; } - bool getKeystoneHint() const { return _keystoneHint; } - - typedef std::vector FileNames; - void setKeystoneFileNames(const FileNames& filenames) { _keystoneFileNames = filenames; } - FileNames& getKeystoneFileNames() { return _keystoneFileNames; } - const FileNames& getKeystoneFileNames() const { return _keystoneFileNames; } - - typedef std::vector< osg::ref_ptr > Objects; - void setKeystones(const Objects& objects) { _keystones = objects; } - Objects& getKeystones() { return _keystones; } - const Objects& getKeystones() const { return _keystones; } - - enum OSXMenubarBehavior { - MENUBAR_AUTO_HIDE, - MENUBAR_FORCE_HIDE, - MENUBAR_FORCE_SHOW - }; - - OSXMenubarBehavior getOSXMenubarBehavior() const { return _OSXMenubarBehavior; } - void setOSXMenubarBehavior(OSXMenubarBehavior hint) { _OSXMenubarBehavior = hint; } - - /** helper function for computing the left eye projection matrix.*/ - virtual osg::Matrixd computeLeftEyeProjectionImplementation(const osg::Matrixd& projection) const; - - /** helper function for computing the left eye view matrix.*/ - virtual osg::Matrixd computeLeftEyeViewImplementation(const osg::Matrixd& view, double eyeSeperationScale=1.0) const; - - /** helper function for computing the right eye view matrix.*/ - virtual osg::Matrixd computeRightEyeProjectionImplementation(const osg::Matrixd& projection) const; - - /** helper function for computing the right eye view matrix.*/ - virtual osg::Matrixd computeRightEyeViewImplementation(const osg::Matrixd& view, double eyeSeperationScale=1.0) const; - - protected: - - virtual ~DisplaySettings(); - - - DisplayType _displayType; - bool _stereo; - StereoMode _stereoMode; - float _eyeSeparation; - float _screenWidth; - float _screenHeight; - float _screenDistance; - - SplitStereoHorizontalEyeMapping _splitStereoHorizontalEyeMapping; - int _splitStereoHorizontalSeparation; - SplitStereoVerticalEyeMapping _splitStereoVerticalEyeMapping; - int _splitStereoVerticalSeparation; - bool _splitStereoAutoAdjustAspectRatio; - - bool _doubleBuffer; - bool _RGB; - bool _depthBuffer; - unsigned int _minimumNumberAlphaBits; - unsigned int _minimumNumberStencilBits; - unsigned int _minimumNumberAccumRedBits; - unsigned int _minimumNumberAccumGreenBits; - unsigned int _minimumNumberAccumBlueBits; - unsigned int _minimumNumberAccumAlphaBits; - - unsigned int _maxNumOfGraphicsContexts; - - unsigned int _numMultiSamples; - - bool _compileContextsHint; - bool _serializeDrawDispatch; - bool _useSceneViewForStereoHint; - - unsigned int _numDatabaseThreadsHint; - unsigned int _numHttpDatabaseThreadsHint; - - std::string _application; - - unsigned int _maxTexturePoolSize; - unsigned int _maxBufferObjectPoolSize; - - ImplicitBufferAttachmentMask _implicitBufferAttachmentRenderMask; - ImplicitBufferAttachmentMask _implicitBufferAttachmentResolveMask; - - std::string _glContextVersion; - unsigned int _glContextFlags; - unsigned int _glContextProfileMask; - - SwapMethod _swapMethod; - unsigned int _syncSwapBuffers; - - bool _keystoneHint; - FileNames _keystoneFileNames; - Objects _keystones; - - OSXMenubarBehavior _OSXMenubarBehavior; - -}; - -} - -# endif diff --git a/src/osg/osg/DrawPixels b/src/osg/osg/DrawPixels deleted file mode 100644 index ae051955..00000000 --- a/src/osg/osg/DrawPixels +++ /dev/null @@ -1,80 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_DRAWPIXELS -#define OSG_DRAWPIXELS 1 - -#include -#include -#include - -namespace osg { - -/** DrawPixels is an osg::Drawable subclass which encapsulates the drawing of - * images using glDrawPixels.*/ -class OSG_EXPORT DrawPixels : public Drawable -{ - public: - - DrawPixels(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - DrawPixels(const DrawPixels& drawimage,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - virtual Object* cloneType() const { return new DrawPixels(); } - - virtual Object* clone(const CopyOp& copyop) const { return new DrawPixels(*this,copyop); } - - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=NULL; } - - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "DrawPixels"; } - - - void setPosition(const osg::Vec3& position); - - osg::Vec3& getPosition() { return _position; } - const osg::Vec3& getPosition() const { return _position; } - - void setImage(osg::Image* image) { _image = image; } - - osg::Image* getImage() { return _image.get(); } - const osg::Image* getImage() const { return _image.get(); } - - void setUseSubImage(bool useSubImage) { _useSubImage=useSubImage; } - bool getUseSubImage() const { return _useSubImage; } - - void setSubImageDimensions(unsigned int offsetX,unsigned int offsetY,unsigned int width,unsigned int height); - void getSubImageDimensions(unsigned int& offsetX,unsigned int& offsetY,unsigned int& width,unsigned int& height) const; - - virtual void drawImplementation(RenderInfo& renderInfo) const; - - virtual BoundingBox computeBoundingBox() const; - - protected: - - DrawPixels& operator = (const DrawPixels&) { return *this;} - - virtual ~DrawPixels(); - - Vec3 _position; - ref_ptr _image; - - bool _useSubImage; - unsigned int _offsetX, _offsetY, _width, _height; - -}; - -} - -#endif diff --git a/src/osg/osg/Drawable b/src/osg/osg/Drawable deleted file mode 100644 index c88492bc..00000000 --- a/src/osg/osg/Drawable +++ /dev/null @@ -1,674 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_DRAWABLE -#define OSG_DRAWABLE 1 - -#include -#include -#include -#include -#include -#include - - -#ifndef GL_NV_occlusion_query - - #define GL_OCCLUSION_TEST_HP 0x8165 - #define GL_OCCLUSION_TEST_RESULT_HP 0x8166 - #define GL_PIXEL_COUNTER_BITS_NV 0x8864 - #define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865 - #define GL_PIXEL_COUNT_NV 0x8866 - #define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867 - -#endif - -#ifndef GL_ARB_occlusion_query - - #define GL_SAMPLES_PASSED_ARB 0x8914 - #define GL_QUERY_COUNTER_BITS_ARB 0x8864 - #define GL_CURRENT_QUERY_ARB 0x8865 - #define GL_QUERY_RESULT_ARB 0x8866 - #define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867 - -#endif - - -#ifndef GL_TIME_ELAPSED - #define GL_TIME_ELAPSED 0x88BF - #define GL_TIMESTAMP 0x8E28 -#endif - -#ifndef GL_QUERY_RESULT - #define GL_QUERY_RESULT 0x8866 - #define GL_QUERY_RESULT_AVAILABLE 0x8867 -#endif - - -namespace osg { - - -class Vec2f; -class Vec3f; -class Vec4f; -class Vec4ub; -class Geometry; -class NodeVisitor; -class ArrayDispatchers; - -// this is defined to alter the way display lists are compiled inside the -// the draw method, it has been found that the NVidia drivers fail completely -// to optimize COMPILE_AND_EXECUTE in fact make it go slower than for no display -// lists, but optimize a separate COMPILE very well?! Define it as default -// the use of a separate COMPILE, then glCallList rather than use COMPILE_AND_EXECUTE. - -#define USE_SEPARATE_COMPILE_AND_EXECUTE - -/** Pure virtual base class for drawable geometry. In OSG, everything that can - * be rendered is implemented as a class derived from \c Drawable. The - * \c Drawable class contains no drawing primitives, since these are provided - * by subclasses such as \c osg::Geometry. - *

Notice that a \c Drawable is not a \c Node, and therefore it cannot be - * directly added to a scene graph. Instead, Drawables are attached to - * Geodes, which are scene graph nodes. - *

The OpenGL state that must be used when rendering a \c Drawable is - * represented by a \c StateSet. Since a \c Drawable has a reference - * (\c osg::ref_ptr) to a \c StateSet, StateSets can be shared between - * different Drawables. In fact, sharing StateSets is a good - * way to improve performance, since this allows OSG to reduce the number of - * expensive changes in the OpenGL state. - *

Finally, Drawables can also be shared between different - * Geodes, so that the same geometry (loaded to memory just once) can - * be used in different parts of the scene graph. -*/ -class OSG_EXPORT Drawable : public Node -{ - public: - - static unsigned int s_numberDrawablesReusedLastInLastFrame; - static unsigned int s_numberNewDrawablesInLastFrame; - static unsigned int s_numberDeletedDrawablesInLastFrame; - - Drawable(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - Drawable(const Drawable& drawable,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_Node(osg, Drawable); - - virtual Drawable* asDrawable() { return this; } - virtual const Drawable* asDrawable() const { return this; } - - /** Compute the DataVariance based on an assessment of callback etc.*/ - virtual void computeDataVariance(); - - /** Get the list of matrices that transform this node from local coordinates to world coordinates. - * The optional Node* haltTraversalAtNode allows the user to prevent traversal beyond a specifed node. */ - MatrixList getWorldMatrices(const osg::Node* haltTraversalAtNode=0) const; - - - /** Set the initial bounding volume to use when computing the overall bounding volume.*/ - void setInitialBound(const osg::BoundingBox& bbox) { _initialBound = bbox; dirtyBound(); } - - /** Set the initial bounding volume to use when computing the overall bounding volume.*/ - const BoundingBox& getInitialBound() const { return _initialBound; } - - inline const BoundingSphere& getBound() const - { - if(!_boundingSphereComputed) getBoundingBox(); - return _boundingSphere; - } - - /** Get BoundingBox of Drawable. - * If the BoundingBox is not up to date then its updated via an internal call to computeBond(). - */ - inline const BoundingBox& getBoundingBox() const - { - if(!_boundingSphereComputed) - { - _boundingBox = _initialBound; - - if (_computeBoundCallback.valid()) - _boundingBox.expandBy(_computeBoundCallback->computeBound(*this)); - else - _boundingBox.expandBy(computeBoundingBox()); - - if(_boundingBox.valid()){ - _boundingSphere.set(_boundingBox.center(), _boundingBox.radius()); - } else { - _boundingSphere.init(); - } - - _boundingSphereComputed = true; - } - - return _boundingBox; - } - - - /** Compute the bounding sphere around Drawables's geometry.*/ - virtual BoundingSphere computeBound() const; - - /** Compute the bounding box around Drawables's geometry.*/ - virtual BoundingBox computeBoundingBox() const; - - /** Callback to allow users to override the default computation of bounding volume. */ - struct ComputeBoundingBoxCallback : public osg::Object - { - ComputeBoundingBoxCallback() {} - - ComputeBoundingBoxCallback(const ComputeBoundingBoxCallback&,const CopyOp&) {} - - META_Object(osg,ComputeBoundingBoxCallback); - - virtual BoundingBox computeBound(const osg::Drawable&) const { return BoundingBox(); } - }; - - /** Set the compute bound callback to override the default computeBound.*/ - void setComputeBoundingBoxCallback(ComputeBoundingBoxCallback* callback) { _computeBoundCallback = callback; } - - /** Get the compute bound callback.*/ - ComputeBoundingBoxCallback* getComputeBoundingBoxCallback() { return _computeBoundCallback.get(); } - - /** Get the const compute bound callback.*/ - const ComputeBoundingBoxCallback* getComputeBoundingBoxCallback() const { return _computeBoundCallback.get(); } - - - /** Set the Shape of the \c Drawable. The shape can be used to - * speed up collision detection or as a guide for procedural - * geometry generation. - * @see osg::Shape. - */ - inline void setShape(Shape* shape) { _shape = shape; } - - /** Get the Shape of the Drawable.*/ - inline Shape* getShape() { return _shape.get(); } - - /** Get the const Shape of the const Drawable.*/ - inline const Shape* getShape() const { return _shape.get(); } - - - - /** Set the drawable so that it can or cannot be used in conjunction with OpenGL - * display lists. When set to true, calls to Drawable::setUseDisplayList, - * whereas when set to false, no display lists can be created and calls - * to setUseDisplayList are ignored, and a warning is produced. The latter - * is typically used to guard against the switching on of display lists - * on objects with dynamic internal data such as continuous Level of Detail - * algorithms.*/ - void setSupportsDisplayList(bool flag); - - /** Get whether display lists are supported for this drawable instance.*/ - inline bool getSupportsDisplayList() const { return _supportsDisplayList; } - - - /** When set to true, force the draw method to use OpenGL Display List for rendering. - If false, rendering directly. If the display list has not been compiled - already, the next call to draw will automatically create the display list.*/ - void setUseDisplayList(bool flag); - - /** Return whether OpenGL display lists are being used for rendering.*/ - inline bool getUseDisplayList() const { return _useDisplayList; } - - /** Return OpenGL display list for specified contextID. */ - inline GLuint& getDisplayList(unsigned int contextID) const { return _globjList[contextID]; } - - /** When set to true, ignore the setUseDisplayList() settings, and hints to the drawImplementation - method to use OpenGL vertex buffer objects for rendering.*/ - virtual void setUseVertexBufferObjects(bool flag); - - /** Return whether OpenGL vertex buffer objects should be used when supported by OpenGL driver.*/ - inline bool getUseVertexBufferObjects() const { return _useVertexBufferObjects; } - - - /** Force a recompile on next draw() of any OpenGL display list associated with this geoset.*/ - virtual void dirtyDisplayList(); - - - /** Return the estimated size of GLObjects (display lists/vertex buffer objects) that are associated with this drawable. - * This size is used a hint for reuse of deleted display lists/vertex buffer objects. */ - virtual unsigned int getGLObjectSizeHint() const { return 0; } - - - - /** Draw OpenGL primitives. - * If the \c Drawable has \c _useDisplayList set to \c true, then use - * an OpenGL display list, automatically compiling one if required. - * Otherwise, call \c drawImplementation(). - * @note This method should \e not be overridden in subclasses, as it - * manages the optional display list (notice this is not even - * \c virtual). Subclasses should override - * \c drawImplementation() instead. - */ - inline void draw(RenderInfo& renderInfo) const; - - /** Immediately compile this \c Drawable into an OpenGL Display List/VertexBufferObjects. - * @note Operation is ignored if \c _useDisplayList is \c false or VertexBufferObjects are not used. - */ - virtual void compileGLObjects(RenderInfo& renderInfo) const; - - /** Set whether to use a mutex to ensure ref() and unref() are thread safe.*/ - virtual void setThreadSafeRefUnref(bool threadSafe); - - /** Resize any per context GLObject buffers to specified size. */ - virtual void resizeGLObjectBuffers(unsigned int maxSize); - - /** If State is non-zero, this function releases OpenGL objects for - * the specified graphics context. Otherwise, releases OpenGL objects - * for all graphics contexts. */ - virtual void releaseGLObjects(State* state=0) const; - - struct OSG_EXPORT UpdateCallback : public virtual Callback - { - UpdateCallback() {} - - UpdateCallback(const UpdateCallback&,const CopyOp&) {} - - META_Object(osg,UpdateCallback); - - /** override Callback::run() entry point to adapt to StateAttributeCallback::run(..) method.*/ - virtual bool run(osg::Object* object, osg::Object* data); - - /** do customized update code.*/ - virtual void update(osg::NodeVisitor*, osg::Drawable*) {} - }; - - - struct OSG_EXPORT EventCallback : public virtual Callback - { - EventCallback() {} - - EventCallback(const EventCallback&,const CopyOp&) {} - - META_Object(osg,EventCallback); - - /** override Callback::run() entry point to adapt to StateAttributeCallback::run(..) method.*/ - virtual bool run(osg::Object* object, osg::Object* data); - - /** do customized Event code. */ - virtual void event(osg::NodeVisitor*, osg::Drawable*) {} - }; - - struct CullCallback : public virtual Callback - { - CullCallback() {} - - CullCallback(const CullCallback&,const CopyOp&) {} - - META_Object(osg,CullCallback); - - // just use the standard run implementation to passes run onto any nested callbacks. - using Callback::run; - - /** deprecated.*/ - virtual bool cull(osg::NodeVisitor*, osg::Drawable*, osg::State*) const { return false; } - - /** do customized cull code, return true if drawable should be culled.*/ - virtual bool cull(osg::NodeVisitor* nv, osg::Drawable* drawable, osg::RenderInfo* renderInfo) const { return cull(nv, drawable, renderInfo? renderInfo->getState():0); } - }; - - - /** Callback attached to an Drawable which allows the users to customize the drawing of an exist Drawable object. - * The draw callback is implement as a replacement to the Drawable's own drawImplementation() method, if the - * the user intends to decorate the existing draw code then simple call the drawable->drawImplementation() from - * with the callbacks drawImplementation() method. This allows the users to do both pre and post callbacks - * without fuss and can even disable the inner draw if required.*/ - struct DrawCallback : public virtual osg::Object - { - DrawCallback() {} - - DrawCallback(const DrawCallback&,const CopyOp&) {} - - META_Object(osg,DrawCallback); - - /** do customized draw code.*/ - virtual void drawImplementation(osg::RenderInfo& /*renderInfo*/,const osg::Drawable* /*drawable*/) const {} - }; - - /** Set the DrawCallback which allows users to attach customize the drawing of existing Drawable object.*/ - virtual void setDrawCallback(DrawCallback* dc) { _drawCallback=dc; dirtyDisplayList(); } - - /** Get the non const DrawCallback.*/ - DrawCallback* getDrawCallback() { return _drawCallback.get(); } - - /** Get the const DrawCallback.*/ - const DrawCallback* getDrawCallback() const { return _drawCallback.get(); } - - /** drawImplementation(RenderInfo&) is a pure virtual method for the actual implementation of OpenGL drawing calls, such as vertex arrays and primitives, that - * must be implemented in concrete subclasses of the Drawable base class, examples include osg::Geometry and osg::ShapeDrawable. - * drawImplementation(RenderInfo&) is called from the draw(RenderInfo&) method, with the draw method handling management of OpenGL display lists, - * and drawImplementation(RenderInfo&) handling the actual drawing itself. - * @param renderInfo The osg::RenderInfo object that encapsulates the current rendering information including the osg::State OpenGL state for the current graphics context. */ - virtual void drawImplementation(RenderInfo& /*renderInfo*/) const {} - - - /** Return a OpenGL display list handle a newly generated or reused from display list cache. */ - static GLuint generateDisplayList(unsigned int contextID, unsigned int sizeHint = 0); - - /** Set the minimum number of display lists to retain in the deleted display list cache. */ - static void setMinimumNumberOfDisplayListsToRetainInCache(unsigned int minimum); - - /** Get the minimum number of display lists to retain in the deleted display list cache. */ - static unsigned int getMinimumNumberOfDisplayListsToRetainInCache(); - - /** Use deleteDisplayList instead of glDeleteList to allow - * OpenGL display list to be cached until they can be deleted - * by the OpenGL context in which they were created, specified - * by contextID.*/ - static void deleteDisplayList(unsigned int contextID,GLuint globj, unsigned int sizeHint = 0); - - /** Flush all the cached display list which need to be deleted - * in the OpenGL context related to contextID.*/ - static void flushAllDeletedDisplayLists(unsigned int contextID); - - /** Flush all the cached display list which need to be deleted - * in the OpenGL context related to contextID. - * Note, unlike flush no OpenGL calls are made, instead the handles are all removed. - * this call is useful for when an OpenGL context has been destroyed. */ - static void discardAllDeletedDisplayLists(unsigned int contextID); - - /** Flush the cached display list which need to be deleted - * in the OpenGL context related to contextID.*/ - static void flushDeletedDisplayLists(unsigned int contextID,double& availableTime); - - typedef unsigned int AttributeType; - - enum AttributeTypes - { - VERTICES = 0, - WEIGHTS = 1, - NORMALS = 2, - COLORS = 3, - SECONDARY_COLORS = 4, - FOG_COORDS = 5, - ATTRIBUTE_6 = 6, - ATTRIBUTE_7 = 7, - TEXTURE_COORDS = 8, - TEXTURE_COORDS_0 = TEXTURE_COORDS, - TEXTURE_COORDS_1 = TEXTURE_COORDS_0+1, - TEXTURE_COORDS_2 = TEXTURE_COORDS_0+2, - TEXTURE_COORDS_3 = TEXTURE_COORDS_0+3, - TEXTURE_COORDS_4 = TEXTURE_COORDS_0+4, - TEXTURE_COORDS_5 = TEXTURE_COORDS_0+5, - TEXTURE_COORDS_6 = TEXTURE_COORDS_0+6, - TEXTURE_COORDS_7 = TEXTURE_COORDS_0+7 - // only eight texture coord examples provided here, but underlying code can handle any no of texture units, - // simply co them as (TEXTURE_COORDS_0+unit). - }; - - class AttributeFunctor - { - public: - virtual ~AttributeFunctor() {} - - virtual void apply(AttributeType,unsigned int,GLbyte*) {} - virtual void apply(AttributeType,unsigned int,GLshort*) {} - virtual void apply(AttributeType,unsigned int,GLint*) {} - - virtual void apply(AttributeType,unsigned int,GLubyte*) {} - virtual void apply(AttributeType,unsigned int,GLushort*) {} - virtual void apply(AttributeType,unsigned int,GLuint*) {} - - virtual void apply(AttributeType,unsigned int,float*) {} - virtual void apply(AttributeType,unsigned int,Vec2*) {} - virtual void apply(AttributeType,unsigned int,Vec3*) {} - virtual void apply(AttributeType,unsigned int,Vec4*) {} - virtual void apply(AttributeType,unsigned int,Vec4ub*) {} - - virtual void apply(AttributeType,unsigned int,double*) {} - virtual void apply(AttributeType,unsigned int,Vec2d*) {} - virtual void apply(AttributeType,unsigned int,Vec3d*) {} - virtual void apply(AttributeType,unsigned int,Vec4d*) {} - }; - - - /** Return true if the Drawable subclass supports accept(AttributeFunctor&).*/ - virtual bool supports(const AttributeFunctor&) const { return false; } - - /** accept an AttributeFunctor and call its methods to tell it about the internal attributes that this Drawable has. - * return true if functor handled by drawable, - * return false on failure of drawable to generate functor calls.*/ - virtual void accept(AttributeFunctor&) {} - - - class ConstAttributeFunctor - { - public: - - virtual ~ConstAttributeFunctor() {} - - virtual void apply(AttributeType,unsigned int,const GLbyte*) {} - virtual void apply(AttributeType,unsigned int,const GLshort*) {} - virtual void apply(AttributeType,unsigned int,const GLint*) {} - - virtual void apply(AttributeType,unsigned int,const GLubyte*) {} - virtual void apply(AttributeType,unsigned int,const GLushort*) {} - virtual void apply(AttributeType,unsigned int,const GLuint*) {} - - virtual void apply(AttributeType,unsigned int,const float*) {} - virtual void apply(AttributeType,unsigned int,const Vec2*) {} - virtual void apply(AttributeType,unsigned int,const Vec3*) {} - virtual void apply(AttributeType,unsigned int,const Vec4*) {} - virtual void apply(AttributeType,unsigned int,const Vec4ub*) {} - - virtual void apply(AttributeType,unsigned int,const double*) {} - virtual void apply(AttributeType,unsigned int,const Vec2d*) {} - virtual void apply(AttributeType,unsigned int,const Vec3d*) {} - virtual void apply(AttributeType,unsigned int,const Vec4d*) {} - }; - - /** Return true if the Drawable subclass supports accept(ConstAttributeFunctor&).*/ - virtual bool supports(const ConstAttributeFunctor&) const { return false; } - - /** Accept an AttributeFunctor and call its methods to tell it about the internal attributes that this Drawable has. - * return true if functor handled by drawable, - * return false on failure of drawable to generate functor calls.*/ - virtual void accept(ConstAttributeFunctor&) const {} - - - - /** Return true if the Drawable subclass supports accept(PrimitiveFunctor&).*/ - virtual bool supports(const PrimitiveFunctor&) const { return false; } - - /** Accept a PrimitiveFunctor and call its methods to tell it about the internal primitives that this Drawable has. - * return true if functor handled by drawable, return false on failure of drawable to generate functor calls. - * Note, PrimtiveFunctor only provides const access of the primitives, as primitives may be procedurally generated - * so one cannot modify it.*/ - virtual void accept(PrimitiveFunctor&) const {} - - /** Return true if the Drawable subclass supports accept(PrimitiveIndexFunctor&).*/ - virtual bool supports(const PrimitiveIndexFunctor&) const { return false; } - - /** Accept a PrimitiveIndexFunctor and call its methods to tell it about the internal primitives that this Drawable has. - * return true if functor handled by drawable, return false on failure of drawable to generate functor calls. - * Note, PrimtiveIndexFunctor only provide const access of the primitives, as primitives may be procedurally generated - * so one cannot modify it.*/ - virtual void accept(PrimitiveIndexFunctor&) const {} - - protected: - - Drawable& operator = (const Drawable&) { return *this;} - - virtual ~Drawable(); - - /** set the bounding box .*/ - void setBound(const BoundingBox& bb) const; - - friend class Node; - friend class Geode; - friend class StateSet; - - BoundingBox _initialBound; - ref_ptr _computeBoundCallback; - mutable BoundingBox _boundingBox; - mutable bool _boundingBoxComputed; - - ref_ptr _shape; - - bool _supportsDisplayList; - bool _useDisplayList; - bool _supportsVertexBufferObjects; - bool _useVertexBufferObjects; - - typedef osg::buffered_value GLObjectList; - mutable GLObjectList _globjList; - - ref_ptr _drawableUpdateCallback; - ref_ptr _drawableEventCallback; - - ref_ptr _drawableCullCallback; - ref_ptr _drawCallback; -}; - -inline void Drawable::draw(RenderInfo& renderInfo) const -{ -#ifdef OSG_GL_DISPLAYLISTS_AVAILABLE - if (_useDisplayList && !(_supportsVertexBufferObjects && _useVertexBufferObjects && renderInfo.getState()->isVertexBufferObjectSupported())) - { - // get the contextID (user defined ID of 0 upwards) for the - // current OpenGL context. - unsigned int contextID = renderInfo.getContextID(); - - // get the globj for the current contextID. - GLuint& globj = _globjList[contextID]; - - // call the globj if already set otherwise compile and execute. - if( globj != 0 ) - { - glCallList( globj ); - } - else if (_useDisplayList) - { -#ifdef USE_SEPARATE_COMPILE_AND_EXECUTE - globj = generateDisplayList(contextID, getGLObjectSizeHint()); - glNewList( globj, GL_COMPILE ); - if (_drawCallback.valid()) - _drawCallback->drawImplementation(renderInfo,this); - else - drawImplementation(renderInfo); - glEndList(); - - glCallList( globj); -#else - globj = generateDisplayList(contextID, getGLObjectSizeHint()); - glNewList( globj, GL_COMPILE_AND_EXECUTE ); - if (_drawCallback.valid()) - _drawCallback->drawImplementation(renderInfo,this); - else - drawImplementation(renderInfo); - glEndList(); -#endif - } - - return; - - } -#endif - - // draw object as nature intended.. - if (_drawCallback.valid()) - _drawCallback->drawImplementation(renderInfo,this); - else - drawImplementation(renderInfo); -} - -class AttributeFunctorArrayVisitor : public ArrayVisitor -{ - public: - - AttributeFunctorArrayVisitor(Drawable::AttributeFunctor& af): - _af(af), - _type(0) {} - - virtual ~AttributeFunctorArrayVisitor() {} - - virtual void apply(ByteArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(ShortArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(IntArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(UByteArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(UShortArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(UIntArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(Vec4ubArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(FloatArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(Vec2Array& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(Vec3Array& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(Vec4Array& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(DoubleArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(Vec2dArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(Vec3dArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(Vec4dArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - - - inline void applyArray(Drawable::AttributeType type,Array* array) - { - if (array) - { - _type = type; - array->accept(*this); - } - } - - protected: - - AttributeFunctorArrayVisitor& operator = (const AttributeFunctorArrayVisitor&) { return *this; } - Drawable::AttributeFunctor& _af; - Drawable::AttributeType _type; -}; - -class ConstAttributeFunctorArrayVisitor : public ConstArrayVisitor -{ - public: - - ConstAttributeFunctorArrayVisitor(Drawable::ConstAttributeFunctor& af): - _af(af), - _type(0) {} - - virtual ~ConstAttributeFunctorArrayVisitor() {} - - virtual void apply(const ByteArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(const ShortArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(const IntArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(const UByteArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(const UShortArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(const UIntArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(const Vec4ubArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(const FloatArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(const Vec2Array& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(const Vec3Array& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(const Vec4Array& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(const DoubleArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(const Vec2dArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(const Vec3dArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - virtual void apply(const Vec4dArray& array) { if (!array.empty()) _af.apply(_type,array.size(),&(array.front())); } - - - inline void applyArray(Drawable::AttributeType type,const Array* array) - { - if (array) - { - _type = type; - array->accept(*this); - } - } - -protected: - - ConstAttributeFunctorArrayVisitor& operator = (const ConstAttributeFunctorArrayVisitor&) { return *this; } - - Drawable::ConstAttributeFunctor& _af; - Drawable::AttributeType _type; -}; - -} - -#endif diff --git a/src/osg/osg/Endian b/src/osg/osg/Endian deleted file mode 100644 index b3515589..00000000 --- a/src/osg/osg/Endian +++ /dev/null @@ -1,88 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_ENDIAN -#define OSG_ENDIAN 1 - -#include - -namespace osg { - -enum Endian -{ - BigEndian, - LittleEndian -}; - -inline Endian getCpuByteOrder() -{ - union { - char big_endian_1[2]; - short is_it_really_1; - } u; - u.big_endian_1[0] = 0; - u.big_endian_1[1] = 1; - - if (u.is_it_really_1 == 1) - return BigEndian; - else - return LittleEndian; -} - -inline void swapBytes( char* in, unsigned int size ) -{ - char* start = in; - char* end = start+size-1; - while (start -void swapBytes(T& t) { swapBytes(reinterpret_cast(&t), sizeof(T)); } - -} - -#endif diff --git a/src/osg/osg/Export b/src/osg/osg/Export deleted file mode 100644 index 7fd42bfb..00000000 --- a/src/osg/osg/Export +++ /dev/null @@ -1,72 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_EXPORT_ -#define OSG_EXPORT_ 1 - -#include -// define USE_DEPRECATED_API is used to include in API which is being fazed out -// if you can compile your apps with this turned off you are -// well placed for compatibility with future versions. -#define USE_DEPRECATED_API - -// disable VisualStudio warnings -#if defined(_MSC_VER) && defined(OSG_DISABLE_MSVC_WARNINGS) - #pragma warning( disable : 4244 ) - #pragma warning( disable : 4251 ) - #pragma warning( disable : 4275 ) - #pragma warning( disable : 4512 ) - #pragma warning( disable : 4267 ) - #pragma warning( disable : 4702 ) - #pragma warning( disable : 4511 ) -#endif - -#if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined( __BCPLUSPLUS__) || defined( __MWERKS__) - # if defined( OSG_LIBRARY_STATIC ) - # define OSG_EXPORT - # elif defined( OSG_LIBRARY ) - # define OSG_EXPORT __declspec(dllexport) - # else - # define OSG_EXPORT __declspec(dllimport) - # endif -#else - # define OSG_EXPORT -#endif - -// set up define for whether member templates are supported by VisualStudio compilers. -#ifdef _MSC_VER -# if (_MSC_VER >= 1300) -# define __STL_MEMBER_TEMPLATES -# endif -#endif - -/* Define NULL pointer value */ - -#ifndef NULL - #ifdef __cplusplus - #define NULL 0 - #else - #define NULL ((void *)0) - #endif -#endif - -/** - -\namespace osg - -The core osg library provides the basic scene graph classes such as Nodes, -State and Drawables, and maths and general helper classes. -*/ - -#endif - diff --git a/src/osg/osg/Fog b/src/osg/osg/Fog deleted file mode 100644 index abed4b1d..00000000 --- a/src/osg/osg/Fog +++ /dev/null @@ -1,146 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_FOG -#define OSG_FOG 1 - -#include -#include - -#ifndef GL_FOG_DISTANCE_MODE_NV - #define GL_FOG_DISTANCE_MODE_NV 0x855A -#endif -#ifndef GL_EYE_PLANE_ABSOLUTE_NV - #define GL_EYE_PLANE_ABSOLUTE_NV 0x855C -#endif -#ifndef GL_EYE_RADIAL_NV - #define GL_EYE_RADIAL_NV 0x855B -#endif - - -#ifndef GL_FOG_COORDINATE - #define GL_FOG_COORDINATE 0x8451 -#endif -#ifndef GL_FRAGMENT_DEPTH - #define GL_FRAGMENT_DEPTH 0x8452 -#endif - -#ifndef GL_FOG - #define GL_FOG 0x0B60 - #define GL_EXP 0x0800 - #define GL_EXP2 0x0801 -#endif - -#ifndef GL_FOG_HINT - #define GL_FOG_HINT 0x0C54 -#endif - -namespace osg { - - -/** Fog - encapsulates OpenGL fog state. */ -class OSG_EXPORT Fog : public StateAttribute -{ - public : - - Fog(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - Fog(const Fog& fog,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(fog,copyop), - _mode(fog._mode), - _density(fog._density), - _start(fog._start), - _end(fog._end), - _color(fog._color), - _fogCoordinateSource(fog._fogCoordinateSource), - _useRadialFog(fog._useRadialFog) {} - - META_StateAttribute(osg, Fog,FOG); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/ - virtual int compare(const StateAttribute& sa) const - { - // check the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(Fog,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_mode) - COMPARE_StateAttribute_Parameter(_density) - COMPARE_StateAttribute_Parameter(_start) - COMPARE_StateAttribute_Parameter(_end) - COMPARE_StateAttribute_Parameter(_color) - COMPARE_StateAttribute_Parameter(_fogCoordinateSource) - COMPARE_StateAttribute_Parameter(_useRadialFog) - - return 0; // passed all the above comparison macros, must be equal. - } - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode(GL_FOG); - return true; - } - - enum Mode { - LINEAR = GL_LINEAR, - EXP = GL_EXP, - EXP2 = GL_EXP2 - }; - - inline void setMode( Mode mode ) { _mode = mode; } - inline Mode getMode() const { return _mode; } - - inline void setDensity( float density ) { _density = density; } - inline float getDensity() const { return _density; } - - inline void setStart( float start ) { _start = start; } - inline float getStart() const { return _start; } - - inline void setEnd( float end ) { _end = end; } - inline float getEnd() const { return _end; } - - inline void setColor( const Vec4 &color ) { _color = color; } - inline const Vec4& getColor() const { return _color; } - - inline void setUseRadialFog( bool useRadialFog ) { _useRadialFog = useRadialFog; } - inline bool getUseRadialFog() const { return _useRadialFog; } - - enum FogCoordinateSource - { - FOG_COORDINATE = GL_FOG_COORDINATE, - FRAGMENT_DEPTH = GL_FRAGMENT_DEPTH - }; - - inline void setFogCoordinateSource(GLint source) { _fogCoordinateSource = source; } - inline GLint getFogCoordinateSource() const { return _fogCoordinateSource; } - - virtual void apply(State& state) const; - - protected : - - virtual ~Fog(); - - Mode _mode; - float _density; - float _start; - float _end; - Vec4 _color; - GLint _fogCoordinateSource; - bool _useRadialFog; -}; - -} - -#endif diff --git a/src/osg/osg/FragmentProgram b/src/osg/osg/FragmentProgram deleted file mode 100644 index c9c02c07..00000000 --- a/src/osg/osg/FragmentProgram +++ /dev/null @@ -1,254 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_FRAGMENTPROGRAM -#define OSG_FRAGMENTPROGRAM 1 - -#include -#include -#include -#include - -#include -#include - -// if not defined by gl.h use the definition found in: -// http://oss.sgi.com/projects/ogl-sample/registry/ARB/fragment_program.txt -#ifndef GL_ARB_fragment_program -#define GL_FRAGMENT_PROGRAM_ARB 0x8804 -#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875 -#define GL_PROGRAM_LENGTH_ARB 0x8627 -#define GL_PROGRAM_FORMAT_ARB 0x8876 -#define GL_PROGRAM_BINDING_ARB 0x8677 -#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0 -#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1 -#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2 -#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3 -#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4 -#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5 -#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6 -#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7 -#define GL_PROGRAM_PARAMETERS_ARB 0x88A8 -#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9 -#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA -#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB -#define GL_PROGRAM_ATTRIBS_ARB 0x88AC -#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD -#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE -#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF -#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4 -#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5 -#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6 -#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805 -#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806 -#define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807 -#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808 -#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809 -#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A -#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B -#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C -#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D -#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E -#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F -#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810 -#define GL_PROGRAM_STRING_ARB 0x8628 -#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B -#define GL_CURRENT_MATRIX_ARB 0x8641 -#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7 -#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640 -#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F -#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E -#define GL_MAX_TEXTURE_COORDS_ARB 0x8871 -#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872 -#define GL_PROGRAM_ERROR_STRING_ARB 0x8874 -#define GL_MATRIX0_ARB 0x88C0 -#define GL_MATRIX1_ARB 0x88C1 -#define GL_MATRIX2_ARB 0x88C2 -#define GL_MATRIX3_ARB 0x88C3 -#define GL_MATRIX4_ARB 0x88C4 -#define GL_MATRIX5_ARB 0x88C5 -#define GL_MATRIX6_ARB 0x88C6 -#define GL_MATRIX7_ARB 0x88C7 -#define GL_MATRIX8_ARB 0x88C8 -#define GL_MATRIX9_ARB 0x88C9 -#define GL_MATRIX10_ARB 0x88CA -#define GL_MATRIX11_ARB 0x88CB -#define GL_MATRIX12_ARB 0x88CC -#define GL_MATRIX13_ARB 0x88CD -#define GL_MATRIX14_ARB 0x88CE -#define GL_MATRIX15_ARB 0x88CF -#define GL_MATRIX16_ARB 0x88D0 -#define GL_MATRIX17_ARB 0x88D1 -#define GL_MATRIX18_ARB 0x88D2 -#define GL_MATRIX19_ARB 0x88D3 -#define GL_MATRIX20_ARB 0x88D4 -#define GL_MATRIX21_ARB 0x88D5 -#define GL_MATRIX22_ARB 0x88D6 -#define GL_MATRIX23_ARB 0x88D7 -#define GL_MATRIX24_ARB 0x88D8 -#define GL_MATRIX25_ARB 0x88D9 -#define GL_MATRIX26_ARB 0x88DA -#define GL_MATRIX27_ARB 0x88DB -#define GL_MATRIX28_ARB 0x88DC -#define GL_MATRIX29_ARB 0x88DD -#define GL_MATRIX30_ARB 0x88DE -#define GL_MATRIX31_ARB 0x88DF - -#endif - - -namespace osg { - - - -/** FragmentProgram - encapsulates the OpenGL ARB fragment program state.*/ -class OSG_EXPORT FragmentProgram : public StateAttribute -{ - public: - - FragmentProgram(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - FragmentProgram(const FragmentProgram& vp,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_StateAttribute(osg, FragmentProgram, FRAGMENTPROGRAM); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/ - virtual int compare(const osg::StateAttribute& sa) const - { - // check the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(FragmentProgram,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_fragmentProgram) - - return 0; // passed all the above comparison macros, must be equal. - } - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode(GL_FRAGMENT_PROGRAM_ARB); - return true; - } - - // data access methods. - - /** Get the handle to the fragment program id for the current context.*/ - inline GLuint& getFragmentProgramID(unsigned int contextID) const - { - return _fragmentProgramIDList[contextID]; - } - - - /** Set the fragment program using a C style string.*/ - inline void setFragmentProgram( const char* program ) - { - _fragmentProgram = program; - dirtyFragmentProgramObject(); - } - - /** Set the fragment program using C++ style string.*/ - inline void setFragmentProgram( const std::string& program ) - { - _fragmentProgram = program; - dirtyFragmentProgramObject(); - } - - /** Get the fragment program.*/ - inline const std::string& getFragmentProgram() const { return _fragmentProgram; } - - /** Set Program Parameters */ - inline void setProgramLocalParameter(const GLuint index, const Vec4& p) - { - _programLocalParameters[index] = p; - } - - typedef std::map LocalParamList; - - /** Set list of Program Parameters */ - inline void setLocalParameters(const LocalParamList& lpl) { _programLocalParameters = lpl; } - - /** Get list of Program Parameters */ - inline LocalParamList& getLocalParameters() { return _programLocalParameters; } - - /** Get const list of Program Parameters */ - inline const LocalParamList& getLocalParameters() const { return _programLocalParameters; } - - /** Matrix */ - inline void setMatrix(const GLenum mode, const Matrix& matrix) - { - _matrixList[mode] = matrix; - } - - typedef std::map MatrixList; - - /** Set list of Matrices */ - inline void setMatrices(const MatrixList& matrices) { _matrixList = matrices; } - - /** Get list of Matrices */ - inline MatrixList& getMatrices() { return _matrixList; } - - /** Get list of Matrices */ - inline const MatrixList& getMatrices() const { return _matrixList; } - - - /** Force a recompile on next apply() of associated OpenGL vertex program objects.*/ - void dirtyFragmentProgramObject(); - - /** use deleteFragmentProgramObject instead of glDeletePrograms to allow - * OpenGL Fragment Program objects to be cached until they can be deleted - * by the OpenGL context in which they were created, specified - * by contextID.*/ - static void deleteFragmentProgramObject(unsigned int contextID,GLuint handle); - - /** flush all the cached fragment programs which need to be deleted - * in the OpenGL context related to contextID.*/ - static void flushDeletedFragmentProgramObjects(unsigned int contextID,double currentTime, double& availableTime); - - /** discard all the cached fragment programs which need to be deleted - * in the OpenGL context related to contextID. - * Note, unlike flush no OpenGL calls are made, instead the handles are all removed. - * this call is useful for when an OpenGL context has been destroyed. */ - static void discardDeletedFragmentProgramObjects(unsigned int contextID); - - virtual void apply(State& state) const; - - virtual void compileGLObjects(State& state) const { apply(state); } - - /** Resize any per context GLObject buffers to specified size. */ - virtual void resizeGLObjectBuffers(unsigned int maxSize); - - /** release an OpenGL objects in specified graphics context if State - object is passed, otherwise release OpenGL objects for all graphics context if - State object pointer == NULL.*/ - virtual void releaseGLObjects(State* state=0) const; - - protected: - - - virtual ~FragmentProgram(); - - typedef buffered_value FragmentProgramIDList; - mutable FragmentProgramIDList _fragmentProgramIDList; - - std::string _fragmentProgram; - - LocalParamList _programLocalParameters; - MatrixList _matrixList; -}; - -} - -#endif - diff --git a/src/osg/osg/FrameBufferObject b/src/osg/osg/FrameBufferObject deleted file mode 100644 index e3abdced..00000000 --- a/src/osg/osg/FrameBufferObject +++ /dev/null @@ -1,444 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -// initial FBO support written by Marco Jez, June 2005. - -#ifndef OSG_FRAMEBUFFEROBJECT -#define OSG_FRAMEBUFFEROBJECT 1 - -#include -#include -#include -#include - -#ifndef GL_EXT_framebuffer_object -#define GL_EXT_framebuffer_object 1 -#define GL_FRAMEBUFFER_EXT 0x8D40 -#define GL_RENDERBUFFER_EXT 0x8D41 -// #define GL_STENCIL_INDEX_EXT 0x8D45 // removed in rev. #114 of the spec -#define GL_STENCIL_INDEX1_EXT 0x8D46 -#define GL_STENCIL_INDEX4_EXT 0x8D47 -#define GL_STENCIL_INDEX8_EXT 0x8D48 -#define GL_STENCIL_INDEX16_EXT 0x8D49 -#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42 -#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43 -#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44 -#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50 -#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51 -#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52 -#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53 -#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54 -#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55 -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0 -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4 -#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 -#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 -#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 -#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 -#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 -#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 -#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 -#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 -#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 -#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 -#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA -#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB -#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC -#define GL_COLOR_ATTACHMENT13_EXT 0x8CED -#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE -#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF -#define GL_DEPTH_ATTACHMENT_EXT 0x8D00 -#define GL_STENCIL_ATTACHMENT_EXT 0x8D20 -#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5 -#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6 -#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7 -#define GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT 0x8CD8 -#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9 -#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA -#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB -#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC -#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD -#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6 -#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7 -#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF -#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8 -#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506 -#endif - -#ifndef GL_EXT_framebuffer_blit -#define GL_EXT_framebuffer_blit 1 -#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CA6 -#define GL_READ_FRAMEBUFFER_EXT 0x8CA8 -#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9 -#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA -#endif - -#ifndef GL_EXT_framebuffer_multisample -#define GL_EXT_framebuffer_multisample 1 -#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 -#define GL_MAX_SAMPLES_EXT 0x8D57 -#endif - -#ifndef GL_MAX_SAMPLES_EXT -// Workaround for Centos 5 and other distros that define -// GL_EXT_framebuffer_multisample but not GL_MAX_SAMPLES_EXT -#define GL_MAX_SAMPLES_EXT 0x8D57 -#endif - -#ifndef GL_NV_framebuffer_multisample_coverage -#define GL_NV_framebuffer_multisample_coverage 1 -#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB -#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10 -#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11 -#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12 -#endif - -#ifndef GL_EXT_packed_depth_stencil -#define GL_EXT_packed_depth_stencil 1 -#define GL_DEPTH_STENCIL_EXT 0x84F9 -#define GL_UNSIGNED_INT_24_8_EXT 0x84FA -#define GL_DEPTH24_STENCIL8_EXT 0x88F0 -#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1 -#endif - -namespace osg -{ - -/************************************************************************** - * RenderBuffer - **************************************************************************/ - -class OSG_EXPORT RenderBuffer: public Object -{ - public: - RenderBuffer(); - RenderBuffer(int width, int height, GLenum internalFormat, int samples=0, int colorSamples=0); - RenderBuffer(const RenderBuffer& copy, const CopyOp& copyop = CopyOp::SHALLOW_COPY); - - META_Object(osg, RenderBuffer); - - inline int getWidth() const; - inline int getHeight() const; - inline void setWidth(int w); - inline void setHeight(int h); - inline void setSize(int w, int h); - inline GLenum getInternalFormat() const; - inline void setInternalFormat(GLenum format); - inline int getSamples() const; - inline int getColorSamples() const; - inline void setSamples(int samples); - inline void setColorSamples(int colorSamples); - - GLuint getObjectID(unsigned int contextID, const GLExtensions *ext) const; - inline int compare(const RenderBuffer &rb) const; - - /** Mark internal RenderBuffer for deletion. - * Deletion requests are queued until they can be executed - * in the proper GL context. */ - static void deleteRenderBuffer(unsigned int contextID, GLuint rb); - - /** flush all the cached RenderBuffers which need to be deleted - * in the OpenGL context related to contextID.*/ - static void flushDeletedRenderBuffers(unsigned int contextID,double currentTime, double& availableTime); - - /** discard all the cached RenderBuffers which need to be deleted in the OpenGL context related to contextID. - * Note, unlike flush no OpenGL calls are made, instead the handles are all removed. - * this call is useful for when an OpenGL context has been destroyed. */ - static void discardDeletedRenderBuffers(unsigned int contextID); - - static int getMaxSamples(unsigned int contextID, const GLExtensions* ext); - - /** Resize any per context GLObject buffers to specified size. */ - virtual void resizeGLObjectBuffers(unsigned int maxSize); - - /** If State is non-zero, this function releases any associated OpenGL objects for - * the specified graphics context. Otherwise, releases OpenGL objexts - * for all graphics contexts. */ - virtual void releaseGLObjects(osg::State* = 0) const; - - protected: - virtual ~RenderBuffer(); - RenderBuffer &operator=(const RenderBuffer &) { return *this; } - - inline void dirtyAll() const; - - private: - mutable buffered_value _objectID; - mutable buffered_value _dirty; - - GLenum _internalFormat; - int _width; - int _height; - // "samples" in the framebuffer_multisample extension is equivalent to - // "coverageSamples" in the framebuffer_multisample_coverage extension. - int _samples; - int _colorSamples; - }; - - // INLINE METHODS - - inline int RenderBuffer::getWidth() const - { - return _width; - } - - inline int RenderBuffer::getHeight() const - { - return _height; - } - - inline void RenderBuffer::setWidth(int w) - { - _width = w; - dirtyAll(); - } - - inline void RenderBuffer::setHeight(int h) - { - _height = h; - dirtyAll(); - } - - inline void RenderBuffer::setSize(int w, int h) - { - _width = w; - _height = h; - dirtyAll(); - } - - inline GLenum RenderBuffer::getInternalFormat() const - { - return _internalFormat; - } - - inline void RenderBuffer::setInternalFormat(GLenum format) - { - _internalFormat = format; - dirtyAll(); - } - - inline int RenderBuffer::getSamples() const - { - return _samples; - } - - inline int RenderBuffer::getColorSamples() const - { - return _colorSamples; - } - - inline void RenderBuffer::setSamples(int samples) - { - _samples = samples; - dirtyAll(); - } - - inline void RenderBuffer::setColorSamples(int colorSamples) - { - _colorSamples = colorSamples; - dirtyAll(); - } - - inline void RenderBuffer::dirtyAll() const - { - _dirty.setAllElementsTo(1); - } - - inline int RenderBuffer::compare(const RenderBuffer &rb) const - { - if (&rb == this) return 0; - if (_internalFormat < rb._internalFormat) return -1; - if (_internalFormat > rb._internalFormat) return 1; - if (_width < rb._width) return -1; - if (_width > rb._width) return 1; - if (_height < rb._height) return -1; - if (_height > rb._height) return 1; - return 0; - } - -/************************************************************************** - * FrameBufferAttachement - **************************************************************************/ -class Texture1D; -class Texture2D; -class Texture2DMultisample; -class Texture3D; -class Texture2DArray; -class TextureCubeMap; -class TextureRectangle; - -class OSG_EXPORT FrameBufferAttachment -{ - public: - FrameBufferAttachment(); - FrameBufferAttachment(const FrameBufferAttachment& copy); - - explicit FrameBufferAttachment(RenderBuffer* target); - explicit FrameBufferAttachment(Texture1D* target, unsigned int level = 0); - explicit FrameBufferAttachment(Texture2D* target, unsigned int level = 0); - explicit FrameBufferAttachment(Texture2DMultisample* target, unsigned int level = 0); - explicit FrameBufferAttachment(Texture3D* target, unsigned int zoffset, unsigned int level = 0); - explicit FrameBufferAttachment(Texture2DArray* target, unsigned int layer, unsigned int level = 0); - explicit FrameBufferAttachment(TextureCubeMap* target, unsigned int face, unsigned int level = 0); - explicit FrameBufferAttachment(TextureRectangle* target); - explicit FrameBufferAttachment(Camera::Attachment& attachment); - - ~FrameBufferAttachment(); - - FrameBufferAttachment&operator = (const FrameBufferAttachment& copy); - - bool isMultisample() const; - void createRequiredTexturesAndApplyGenerateMipMap(State& state, const GLExtensions* ext) const; - void attach(State &state, GLenum target, GLenum attachment_point, const GLExtensions* ext) const; - int compare(const FrameBufferAttachment &fa) const; - - RenderBuffer* getRenderBuffer(); - const RenderBuffer* getRenderBuffer() const; - - Texture* getTexture(); - const Texture* getTexture() const; - - unsigned int getCubeMapFace() const; - unsigned int getTextureLevel() const; - unsigned int getTexture3DZOffset() const; - unsigned int getTextureArrayLayer() const; - - private: - // use the Pimpl idiom to avoid dependency from - // all Texture* headers - struct Pimpl; - Pimpl* _ximpl; - }; - -/************************************************************************** - * FrameBufferObject - **************************************************************************/ -class OSG_EXPORT FrameBufferObject: public StateAttribute -{ - public: - typedef std::map AttachmentMap; - typedef std::vector MultipleRenderingTargets; - - typedef Camera::BufferComponent BufferComponent; - - FrameBufferObject(); - FrameBufferObject(const FrameBufferObject& copy, const CopyOp& copyop = CopyOp::SHALLOW_COPY); - - META_StateAttribute(osg, FrameBufferObject, FRAME_BUFFER_OBJECT); - - inline const AttachmentMap& getAttachmentMap() const; - - - void setAttachment(BufferComponent attachment_point, const FrameBufferAttachment &attachment); - inline const FrameBufferAttachment& getAttachment(BufferComponent attachment_point) const; - inline bool hasAttachment(BufferComponent attachment_point) const; - - inline bool hasMultipleRenderingTargets() const { return !_drawBuffers.empty(); } - inline const MultipleRenderingTargets& getMultipleRenderingTargets() const { return _drawBuffers; } - - bool isMultisample() const; - - int compare(const StateAttribute &sa) const; - - void apply(State &state) const; - - inline GLuint getHandle(unsigned int contextID) const - { - return _fboID[contextID]; - } - - enum BindTarget - { - READ_FRAMEBUFFER = GL_READ_FRAMEBUFFER_EXT, - DRAW_FRAMEBUFFER = GL_DRAW_FRAMEBUFFER_EXT, - READ_DRAW_FRAMEBUFFER = GL_FRAMEBUFFER_EXT - }; - - /** Bind the FBO as either the read or draw target, or both. */ - void apply(State &state, BindTarget target) const; - - /** Mark internal FBO for deletion. - * Deletion requests are queued until they can be executed - * in the proper GL context. */ - static void deleteFrameBufferObject(unsigned int contextID, GLuint program); - - /** flush all the cached FBOs which need to be deleted - * in the OpenGL context related to contextID.*/ - static void flushDeletedFrameBufferObjects(unsigned int contextID,double currentTime, double& availableTime); - - /** discard all the cached FBOs which need to be deleted - * in the OpenGL context related to contextID.*/ - static void discardDeletedFrameBufferObjects(unsigned int contextID); - - /** Resize any per context GLObject buffers to specified size. */ - virtual void resizeGLObjectBuffers(unsigned int maxSize); - - /** If State is non-zero, this function releases any associated OpenGL objects for - * the specified graphics context. Otherwise, releases OpenGL objexts - * for all graphics contexts. */ - virtual void releaseGLObjects(osg::State* = 0) const; - - protected: - virtual ~FrameBufferObject(); - FrameBufferObject& operator = (const FrameBufferObject&) { return *this; } - - void updateDrawBuffers(); - - inline void dirtyAll(); - - GLenum convertBufferComponentToGLenum(BufferComponent attachment_point) const; - - private: - AttachmentMap _attachments; - - // Buffers passed to glDrawBuffers when using multiple render targets. - MultipleRenderingTargets _drawBuffers; - - mutable buffered_value _dirtyAttachmentList; - mutable buffered_value _unsupported; - mutable buffered_value _fboID; - - }; - - // INLINE METHODS - - inline const FrameBufferObject::AttachmentMap &FrameBufferObject::getAttachmentMap() const - { - return _attachments; - } - - inline bool FrameBufferObject::hasAttachment(FrameBufferObject::BufferComponent attachment_point) const - { - return _attachments.find(attachment_point) != _attachments.end(); - } - - inline const FrameBufferAttachment &FrameBufferObject::getAttachment(FrameBufferObject::BufferComponent attachment_point) const - { - return _attachments.find(attachment_point)->second; - } - - inline void FrameBufferObject::dirtyAll() - { - _dirtyAttachmentList.setAllElementsTo(1); - } - - -} - -#endif - diff --git a/src/osg/osg/FrameStamp b/src/osg/osg/FrameStamp deleted file mode 100644 index ce48e1e2..00000000 --- a/src/osg/osg/FrameStamp +++ /dev/null @@ -1,91 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_FRAMESTAMP -#define OSG_FRAMESTAMP 1 - -#include - -#if defined(__sgi) || (defined(WIN32) && !defined(__MWERKS__)) -#include -#else -#include -using std::tm; -#endif - -namespace osg -{ - -/** Class which encapsulates the frame number, reference time and calendar - * time of specific frame, used to synchronize operations on the scene graph - * and other machines when using a graphics cluster. Note the calendar - * time can be an artificial simulation time or capture the real time - * of day etc.*/ -class OSG_EXPORT FrameStamp : public Referenced -{ - public: - - FrameStamp(); - FrameStamp(const FrameStamp& fs); - - FrameStamp& operator = (const FrameStamp& fs); - - void setFrameNumber(unsigned int fnum) { _frameNumber = fnum; } - unsigned int getFrameNumber() const { return _frameNumber; } - - void setReferenceTime(double refTime) { _referenceTime = refTime; } - double getReferenceTime() const { return _referenceTime; } - - void setSimulationTime(double refTime) { _simulationTime = refTime; } - double getSimulationTime() const { return _simulationTime; } - - void setCalendarTime(const tm& calendarTime); - void getCalendarTime(tm& calendarTime) const; - - // keep public to allow it to be permit allocation which is - // not on the heap used osgcluster - virtual ~FrameStamp(); - - protected: - - - // note no dynamic memory is used so that data can be passed - // via a simple memory copy or within a data packet across - // the network. - - unsigned int _frameNumber; - double _referenceTime; - double _simulationTime; - - // member variables of time.h's tm structure, copied here to - // ensure that all data is not dynamic. The tm structure itself - // is not completely consistent between implementations, which - // could be a problem when sending the FrameStamp across a network - // with different versions of tm (i.e mixing Unix and Windows.) - int tm_sec; /* Seconds. [0-60] (1 leap second) */ - int tm_min; /* Minutes. [0-59] */ - int tm_hour; /* Hours. [0-23] */ - int tm_mday; /* Day. [1-31] */ - int tm_mon; /* Month. [0-11] */ - int tm_year; /* Year - 1900. */ - int tm_wday; /* Day of week. [0-6] */ - int tm_yday; /* Days in year. [0-365] */ - int tm_isdst; /* DST. [-1/0/1]*/ - - -}; - -} - - -#endif diff --git a/src/osg/osg/FrontFace b/src/osg/osg/FrontFace deleted file mode 100644 index 2f7f9fb2..00000000 --- a/src/osg/osg/FrontFace +++ /dev/null @@ -1,70 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_FRONTFACE -#define OSG_FRONTFACE 1 - -#include -#include - -namespace osg { - -/** Class to specify the orientation of front-facing polygons. -*/ -class OSG_EXPORT FrontFace : public StateAttribute -{ - public : - - enum Mode { - CLOCKWISE = GL_CW, - COUNTER_CLOCKWISE = GL_CCW - }; - - FrontFace(Mode face=COUNTER_CLOCKWISE); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - FrontFace(const FrontFace& ff,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(ff,copyop), - _mode(ff._mode) {} - - META_StateAttribute(osg, FrontFace, FRONTFACE); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/ - virtual int compare(const StateAttribute& sa) const - { - // check the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(FrontFace,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_mode) - - return 0; // passed all the above comparison macros, must be equal. - } - - inline void setMode(Mode mode) { _mode = mode; } - inline Mode getMode() const { return _mode; } - - virtual void apply(State& state) const; - - protected: - - virtual ~FrontFace(); - - Mode _mode; - -}; - -} - -#endif diff --git a/src/osg/osg/GL b/src/osg/osg/GL deleted file mode 100644 index 838ca472..00000000 --- a/src/osg/osg/GL +++ /dev/null @@ -1,193 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2009 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_OPENGL -#define OSG_OPENGL 1 - -#include -#include -#include - -#define OSG_GL1_AVAILABLE -#define OSG_GL2_AVAILABLE -/* #undef OSG_GL3_AVAILABLE */ -/* #undef OSG_GLES1_AVAILABLE */ -/* #undef OSG_GLES2_AVAILABLE */ -/* #undef OSG_GLES3_AVAILABLE */ -/* #undef OSG_GL_LIBRARY_STATIC */ -#define OSG_GL_DISPLAYLISTS_AVAILABLE -#define OSG_GL_MATRICES_AVAILABLE -#define OSG_GL_VERTEX_FUNCS_AVAILABLE -#define OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE -#define OSG_GL_FIXED_FUNCTION_AVAILABLE -/* #undef GL_HEADER_HAS_GLINT64 */ -/* #undef GL_HEADER_HAS_GLUINT64 */ - -#define OSG_GL1_FEATURES true -#define OSG_GL2_FEATURES true -#define OSG_GL3_FEATURES false -#define OSG_GLES1_FEATURES false -#define OSG_GLES2_FEATURES false -#define OSG_GLES3_FEATURES false - - -#ifndef WIN32 - - // Required for compatibility with glext.h sytle function definitions of - // OpenGL extensions, such as in src/osg/Point.cpp. - #ifndef APIENTRY - #define APIENTRY - #endif - -#else // WIN32 - - #if defined(__CYGWIN__) || defined(__MINGW32__) - - #ifndef APIENTRY - #define GLUT_APIENTRY_DEFINED - #define APIENTRY __stdcall - #endif - // XXX This is from Win32's - #ifndef CALLBACK - #define CALLBACK __stdcall - #endif - - #else // ! __CYGWIN__ - - // Under Windows avoid including - // to avoid name space pollution, but Win32's - // needs APIENTRY and WINGDIAPI defined properly. - // XXX This is from Win32's - #ifndef APIENTRY - #define GLUT_APIENTRY_DEFINED - #if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) - #define WINAPI __stdcall - #define APIENTRY WINAPI - #else - #define APIENTRY - #endif - #endif - - // XXX This is from Win32's - #ifndef CALLBACK - #if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) - #define CALLBACK __stdcall - #else - #define CALLBACK - #endif - #endif - - #endif // __CYGWIN__ - - // XXX This is from Win32's and - #ifndef WINGDIAPI - #define GLUT_WINGDIAPI_DEFINED - #define DECLSPEC_IMPORT __declspec(dllimport) - #define WINGDIAPI DECLSPEC_IMPORT - #endif - - // XXX This is from Win32's - #if !defined(_WCHAR_T_DEFINED) && !(defined(__GNUC__)&&(__GNUC__ > 2)) - typedef unsigned short wchar_t; - #define _WCHAR_T_DEFINED - #endif - -#endif // WIN32 - -#if defined(OSG_GL3_AVAILABLE) - #define GL3_PROTOTYPES 1 - #define GL_GLEXT_PROTOTYPES 1 -#endif - - -#include - - - -#ifndef GL_APIENTRY - #define GL_APIENTRY APIENTRY -#endif // GL_APIENTRY - - -#ifndef GL_HEADER_HAS_GLINT64 - typedef int64_t GLint64; -#endif - -#ifndef GL_HEADER_HAS_GLUINT64 - typedef uint64_t GLuint64; -#endif - -#ifdef OSG_GL_MATRICES_AVAILABLE - - inline void glLoadMatrix(const float* mat) { glLoadMatrixf(static_cast(mat)); } - inline void glMultMatrix(const float* mat) { glMultMatrixf(static_cast(mat)); } - - #ifdef OSG_GLES1_AVAILABLE - inline void glLoadMatrix(const double* mat) - { - GLfloat flt_mat[16]; - for(unsigned int i=0;i<16;++i) flt_mat[i] = mat[i]; - glLoadMatrixf(flt_mat); - } - - inline void glMultMatrix(const double* mat) - { - GLfloat flt_mat[16]; - for(unsigned int i=0;i<16;++i) flt_mat[i] = mat[i]; - glMultMatrixf(flt_mat); - } - - #else - inline void glLoadMatrix(const double* mat) { glLoadMatrixd(static_cast(mat)); } - inline void glMultMatrix(const double* mat) { glMultMatrixd(static_cast(mat)); } - #endif -#endif - -// add defines for OpenGL targets that don't define them, just to ease compatibility across targets -#ifndef GL_DOUBLE - #define GL_DOUBLE 0x140A - typedef double GLdouble; -#endif - -#ifndef GL_INT - #define GL_INT 0x1404 -#endif - -#ifndef GL_UNSIGNED_INT - #define GL_UNSIGNED_INT 0x1405 -#endif - -#ifndef GL_NONE - // OpenGL ES1 doesn't provide GL_NONE - #define GL_NONE 0x0 -#endif - -#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) - //GLES defines (OES) - #define GL_RGB8_OES 0x8051 - #define GL_RGBA8_OES 0x8058 -#endif - -#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) || defined(OSG_GL3_AVAILABLE) - #define GL_POLYGON 0x0009 - #define GL_QUADS 0x0007 - #define GL_QUAD_STRIP 0x0008 -#endif - -#if defined(OSG_GL3_AVAILABLE) - #define GL_LUMINANCE 0x1909 - #define GL_LUMINANCE_ALPHA 0x190A -#endif - - -#endif diff --git a/src/osg/osg/GL2Extensions b/src/osg/osg/GL2Extensions deleted file mode 100644 index 67ce53e4..00000000 --- a/src/osg/osg/GL2Extensions +++ /dev/null @@ -1,24 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2014 Robert Osfield - * - * This application is open source and may be redistributed and/or modified - * freely and without restriction, both in commercial and non commercial - * applications, as long as this copyright notice is maintained. - * - * This application is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -*/ - -#ifndef OSG_GL2EXTENSIONS -#define OSG_GL2EXTENSIONS 1 - -#include -#include - -namespace osg { - - // backwards compatibility - typedef GLExtensions GL2Extensions; - -} -#endif diff --git a/src/osg/osg/GLBeginEndAdapter b/src/osg/osg/GLBeginEndAdapter deleted file mode 100644 index 2cee4eee..00000000 --- a/src/osg/osg/GLBeginEndAdapter +++ /dev/null @@ -1,174 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_GLBeginEndAdapter -#define OSG_GLBeginEndAdapter 1 - -#include -#include -#include - -#ifndef GL_TEXTURE0 -#define GL_TEXTURE0 0x84C0 -#endif - -namespace osg { - -// forward declare -class State; - -/** A class adapting OpenGL 1.0 glBegin()/glEnd() style code to vertex array based code */ -class OSG_EXPORT GLBeginEndAdapter -{ - public: - - GLBeginEndAdapter(State* state=0); - - void setState(State* state) { _state = state; } - State* getState() { return _state; } - const State* getState() const { return _state; } - - enum MatrixMode - { - APPLY_LOCAL_MATRICES_TO_VERTICES, - APPLY_LOCAL_MATRICES_TO_MODELVIEW - }; - - void setMatrixMode(MatrixMode mode) { _mode = mode; } - MatrixMode setMatrixMode() const { return _mode; } - - void PushMatrix(); - void PopMatrix(); - - void LoadIdentity(); - void LoadMatrixd(const GLdouble* m); - void MultMatrixd(const GLdouble* m); - - void Translatef(GLfloat x, GLfloat y, GLfloat z) { Translated(x,y,z); } - void Scalef(GLfloat x, GLfloat y, GLfloat z) { Scaled(x,y,z); } - void Rotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { Rotated(angle,x,y,z); } - - void Translated(GLdouble x, GLdouble y, GLdouble z); - void Scaled(GLdouble x, GLdouble y, GLdouble z); - void Rotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z); - - void Vertex3f(GLfloat x, GLfloat y, GLfloat z); - void Vertex3fv(const GLfloat* v) { Vertex3f(v[0], v[1], v[2]); } - - void Vertex3dv(GLdouble x, GLdouble y, GLdouble z) { Vertex3f(x,y,z); } - void Vertex3dv(const GLdouble* v) { Vertex3f(v[0], v[1], v[2]); } - - void Color4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) - { - _overallColorAssigned = true; - _colorAssigned = true; - _color.set(red,green,blue,alpha); - } - - void Color3fv(const GLfloat* c) { Color4f(c[0], c[1], c[2], 1); } - void Color4fv(const GLfloat* c) { Color4f(c[0], c[1], c[2], c[3]); } - void Color4ubv(const GLubyte* c) { const float div = 1.0f/255.0f; Color4f(float(c[0])*div, float(c[1])*div, float(c[2])*div, float(c[3])*div); } - - void Normal3f(GLfloat x, GLfloat y, GLfloat z) - { - _overallNormalAssigned = true; - _normalAssigned = true; - _normal.set(x,y,z); - } - - void Normal3fv(const GLfloat* n) { Normal3f(n[0], n[1], n[2]); } - - void TexCoord1f(GLfloat x) { MultiTexCoord4f(GL_TEXTURE0, x, 0.0f, 0.0f, 1.0f); } - void TexCoord1fv(const GLfloat* tc) { MultiTexCoord4f(GL_TEXTURE0, tc[0], 0.0f, 0.0f, 1.0f); } - - void TexCoord2f(GLfloat x, GLfloat y) { MultiTexCoord4f(GL_TEXTURE0, x, y, 0.0f, 1.0f); } - void TexCoord2fv(const GLfloat* tc) { MultiTexCoord4f(GL_TEXTURE0, tc[0], tc[1], 0.0f, 1.0f); } - - void TexCoord3f(GLfloat x, GLfloat y, GLfloat z) { MultiTexCoord4f(GL_TEXTURE0, x, y, z, 1.0f); } - void TexCoord3fv(const GLfloat* tc) { MultiTexCoord4f(GL_TEXTURE0, tc[0], tc[1], tc[2], 1.0f); } - - void TexCoord4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { MultiTexCoord4f(GL_TEXTURE0, x, y, z, w); } - void TexCoord4fv(const GLfloat* tc) { MultiTexCoord4f(GL_TEXTURE0, tc[0], tc[1], tc[2], tc[3]); } - - void MultiTexCoord1f(GLenum target, GLfloat x) { MultiTexCoord4f(target, x, 0.0f, 0.0f, 1.0f); } - void MultiTexCoord1fv(GLenum target, const GLfloat* tc) { MultiTexCoord4f(target, tc[0], 0.0f, 0.0f, 1.0f); } - - void MultiTexCoord2f(GLenum target, GLfloat x, GLfloat y) { MultiTexCoord4f(target, x, y, 0.0f, 1.0f); } - void MultiTexCoord2fv(GLenum target, const GLfloat* tc) { MultiTexCoord4f(target, tc[0],tc[1], 0.0f, 1.0f); } - - void MultiTexCoord3f(GLenum target, GLfloat x, GLfloat y, GLfloat z) {MultiTexCoord4f(target, x, y, z, 1.0f); } - void MultiTexCoord3fv(GLenum target, const GLfloat* tc) { MultiTexCoord4f(target, tc[0], tc[1], tc[2], 1.0f); } - - void MultiTexCoord4f(GLenum target, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - void MultiTexCoord4fv(GLenum target, const GLfloat* tc) { MultiTexCoord4f(target, tc[0], tc[1], tc[2], tc[3]); } - - void VertexAttrib1f(GLuint unit, GLfloat x) { VertexAttrib4f(unit, x, 0.0f, 0.0f, 0.0f); } - void VertexAttrib1fv(GLuint unit, const GLfloat* tc) { VertexAttrib4f(unit, tc[0], 0.0f, 0.0f, 0.0f); } - - void VertexAttrib2f(GLuint unit, GLfloat x, GLfloat y) { VertexAttrib4f(unit, x, y, 0.0f, 0.0f); } - void VertexAttrib2fv(GLuint unit, const GLfloat* tc) { VertexAttrib4f(unit, tc[0],tc[1], 0.0f, 0.0f); } - - void VertexAttrib3f(GLuint unit, GLfloat x, GLfloat y, GLfloat z) {VertexAttrib4f(unit, x, y, z, 0.0f); } - void VertexAttrib3fv(GLuint unit, const GLfloat* tc) { VertexAttrib4f(unit, tc[0], tc[1], tc[2], 0.0f); } - - void VertexAttrib4f(GLuint unit, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - void VertexAttrib4fv(GLuint unit, const GLfloat* tc) { VertexAttrib4f(unit, tc[0], tc[1], tc[2], tc[3]); } - - void Begin(GLenum mode); - void End(); - - void reset(); - - protected: - - State* _state; - - MatrixMode _mode; - - typedef std::list MatrixStack; - MatrixStack _matrixStack; - - bool _normalAssigned; - osg::Vec3f _normal; - - bool _colorAssigned; - osg::Vec4f _color; - - bool _overallNormalAssigned; - bool _overallColorAssigned; - osg::Vec3f _overallNormal; - osg::Vec4f _overallColor; - - typedef std::vector AssignedList; - typedef std::vector VertexList; - - AssignedList _texCoordAssignedList; - VertexList _texCoordList; - - AssignedList _vertexAttribAssignedList; - VertexList _vertexAttribList; - - - typedef std::vector< osg::ref_ptr > VertexArrayList; - - GLenum _primitiveMode; - osg::ref_ptr _vertices; - osg::ref_ptr _normals; - osg::ref_ptr _colors; - VertexArrayList _texCoordsList; - VertexArrayList _vertexAttribsList; -}; - -} - -#endif diff --git a/src/osg/osg/GLDefines b/src/osg/osg/GLDefines deleted file mode 100644 index f97dbfa5..00000000 --- a/src/osg/osg/GLDefines +++ /dev/null @@ -1,639 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2014 Robert Osfield - * Copyright (C) 2003-2005 3Dlabs Inc. Ltd. - * Copyright (C) 2004-2005 Nathan Cournia - * Copyright (C) 2007 Art Tevs - * Copyright (C) 2008 Zebra Imaging - * Copyright (C) 2010 VIRES Simulationstechnologie GmbH - * Copyright (C) 2012 David Callu - * Copyright (C) 2008 Mike Weiblen - * Copyright (C) 2012 Holger Helmich - * - * This application is open source and may be redistributed and/or modified - * freely and without restriction, both in commercial and non commercial - * applications, as long as this copyright notice is maintained. - * - * This application is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -*/ - - -#ifndef OSG_GLDEFINES -#define OSG_GLDEFINES 1 - -#include -#include - -#include - - -// identify GLES 1.1 -#if (defined(GL_VERSION_ES_CM_1_0) && GL_VERSION_ES_CM_1_0 > 0) || \ - (defined(GL_VERSION_ES_CM_1_1) && GL_VERSION_ES_CM_1_1 > 0) - - #define OPENGLES_1_1_FOUND 1 -#endif - -#ifndef GL_SAMPLER_2D_ARRAY_EXT - #define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0 - #define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1 - #define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3 - #define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4 -#endif - -#if !defined(GL_VERSION_2_0) -typedef char GLchar; -#endif - -#if !defined(GL_VERSION_2_0) - #define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 - #define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643 -#endif - -#if !defined(GL_VERSION_2_0) && !defined(GL_ES_VERSION_2_0) -#define GL_VERSION_2_0 1 -#define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION -#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 -#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 -#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 -#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 -#define GL_CURRENT_VERTEX_ATTRIB 0x8626 -#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 -#define GL_STENCIL_BACK_FUNC 0x8800 -#define GL_STENCIL_BACK_FAIL 0x8801 -#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 -#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 -#define GL_MAX_DRAW_BUFFERS 0x8824 -#define GL_DRAW_BUFFER0 0x8825 -#define GL_DRAW_BUFFER1 0x8826 -#define GL_DRAW_BUFFER2 0x8827 -#define GL_DRAW_BUFFER3 0x8828 -#define GL_DRAW_BUFFER4 0x8829 -#define GL_DRAW_BUFFER5 0x882A -#define GL_DRAW_BUFFER6 0x882B -#define GL_DRAW_BUFFER7 0x882C -#define GL_DRAW_BUFFER8 0x882D -#define GL_DRAW_BUFFER9 0x882E -#define GL_DRAW_BUFFER10 0x882F -#define GL_DRAW_BUFFER11 0x8830 -#define GL_DRAW_BUFFER12 0x8831 -#define GL_DRAW_BUFFER13 0x8832 -#define GL_DRAW_BUFFER14 0x8833 -#define GL_DRAW_BUFFER15 0x8834 -#define GL_BLEND_EQUATION_ALPHA 0x883D -#define GL_POINT_SPRITE 0x8861 -#define GL_COORD_REPLACE 0x8862 -#define GL_MAX_VERTEX_ATTRIBS 0x8869 -#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A -#define GL_MAX_TEXTURE_COORDS 0x8871 -#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 -#define GL_FRAGMENT_SHADER 0x8B30 -#define GL_VERTEX_SHADER 0x8B31 -#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 -#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A -#define GL_MAX_VARYING_FLOATS 0x8B4B -#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C -#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D -#define GL_SHADER_TYPE 0x8B4F -#define GL_FLOAT_VEC2 0x8B50 -#define GL_FLOAT_VEC3 0x8B51 -#define GL_FLOAT_VEC4 0x8B52 -#define GL_INT_VEC2 0x8B53 -#define GL_INT_VEC3 0x8B54 -#define GL_INT_VEC4 0x8B55 -#define GL_BOOL 0x8B56 -#define GL_BOOL_VEC2 0x8B57 -#define GL_BOOL_VEC3 0x8B58 -#define GL_BOOL_VEC4 0x8B59 -#define GL_FLOAT_MAT2 0x8B5A -#define GL_FLOAT_MAT3 0x8B5B -#define GL_FLOAT_MAT4 0x8B5C -#define GL_DELETE_STATUS 0x8B80 -#define GL_COMPILE_STATUS 0x8B81 -#define GL_LINK_STATUS 0x8B82 -#define GL_VALIDATE_STATUS 0x8B83 -#define GL_INFO_LOG_LENGTH 0x8B84 -#define GL_ATTACHED_SHADERS 0x8B85 -#define GL_ACTIVE_UNIFORMS 0x8B86 -#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 -#define GL_SHADER_SOURCE_LENGTH 0x8B88 -#define GL_ACTIVE_ATTRIBUTES 0x8B89 -#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A -#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B -#define GL_SHADING_LANGUAGE_VERSION 0x8B8C -#define GL_CURRENT_PROGRAM 0x8B8D -#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 -#define GL_LOWER_LEFT 0x8CA1 -#define GL_UPPER_LEFT 0x8CA2 -#define GL_STENCIL_BACK_REF 0x8CA3 -#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 -#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 - -#define GL_SAMPLER_2D 0x8B5E -#define GL_SAMPLER_CUBE 0x8B60 -#endif - -#if !defined(GL_SAMPLER_1D) -#define GL_SAMPLER_1D 0x8B5D -#endif -#if !defined(GL_SAMPLER_3D) -#define GL_SAMPLER_3D 0x8B5F -#endif - -#if !defined(GL_SAMPLER_1D_SHADOW) -#define GL_SAMPLER_1D_SHADOW 0x8B61 -#define GL_SAMPLER_2D_SHADOW 0x8B62 -#endif - -#ifndef GL_VERSION_2_1 -#define GL_VERSION_2_1 1 -#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F -#define GL_PIXEL_PACK_BUFFER 0x88EB -#define GL_PIXEL_UNPACK_BUFFER 0x88EC -#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED -#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF -#define GL_FLOAT_MAT2x3 0x8B65 -#define GL_FLOAT_MAT2x4 0x8B66 -#define GL_FLOAT_MAT3x2 0x8B67 -#define GL_FLOAT_MAT3x4 0x8B68 -#define GL_FLOAT_MAT4x2 0x8B69 -#define GL_FLOAT_MAT4x3 0x8B6A -#define GL_SRGB 0x8C40 -#define GL_SRGB8 0x8C41 -#define GL_SRGB_ALPHA 0x8C42 -#define GL_SRGB8_ALPHA8 0x8C43 -#define GL_SLUMINANCE_ALPHA 0x8C44 -#define GL_SLUMINANCE8_ALPHA8 0x8C45 -#define GL_SLUMINANCE 0x8C46 -#define GL_SLUMINANCE8 0x8C47 -#define GL_COMPRESSED_SRGB 0x8C48 -#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 -#define GL_COMPRESSED_SLUMINANCE 0x8C4A -#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B -#endif - -#ifndef GL_ARB_framebuffer_sRGB -#define GL_FRAMEBUFFER_SRGB 0x8DB9 -#endif - -#ifndef GL_EXT_geometry_shader4 -#define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA -#define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB -#define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC -#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD -#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE -#define GL_LINES_ADJACENCY_EXT 0x000A -#define GL_LINE_STRIP_ADJACENCY_EXT 0x000B -#define GL_TRIANGLES_ADJACENCY_EXT 0x000C -#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0x000D -#endif - -#ifndef GL_VERSION_3_0 -#define GL_MAX_VARYING_COMPONENTS 0x8B4B -#endif - -#ifndef GL_VERSION_3_2 -#define GL_GEOMETRY_SHADER 0x8DD9 -#define GL_GEOMETRY_VERTICES_OUT 0x8916 -#define GL_GEOMETRY_INPUT_TYPE 0x8917 -#define GL_GEOMETRY_OUTPUT_TYPE 0x8918 -#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29 -#define GL_MAX_GEOMETRY_VARYING_COMPONENTS 0x8DDD -#define GL_MAX_VERTEX_VARYING_COMPONENTS 0x8DDE -#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF -#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 -#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 -#define GL_LINES_ADJACENCY 0x000A -#define GL_LINE_STRIP_ADJACENCY 0x000B -#define GL_TRIANGLES_ADJACENCY 0x000C -#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D -#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8 -#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT 0x8DA9 -#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 -#define GL_PROGRAM_POINT_SIZE 0x8642 -#endif - -// ARB_tessellation_shader -#ifndef GL_ARB_tessellation_shader -#define GL_PATCHES 0x000E -#define GL_PATCH_VERTICES 0x8E72 -#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73 -#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74 -#define GL_MAX_PATCH_VERTICES 0x8E7D -#define GL_MAX_TESS_GEN_LEVEL 0x8E7E -#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F -#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80 -#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81 -#define GL_MAX_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82 -#define GL_MAX_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83 -#define GL_MAX_MAX_TESS_PATCH_COMPONENTS 0x8E84 -#define GL_MAX_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85 -#define GL_MAX_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86 -#define GL_MAX_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89 -#define GL_MAX_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A -#define GL_MAX_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C -#define GL_MAX_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D -#define GL_MAX_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E -#define GL_MAX_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F -#define GL_TESS_EVALUATION_SHADER 0x8E87 -#define GL_TESS_CONTROL_SHADER 0x8E88 -#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75 -#define GL_TESS_GEN_MODE 0x8E76 -#define GL_TESS_GEN_SPACING 0x8E77 -#define GL_TESS_GEN_VERTEX_ORDER 0x8E78 -#define GL_TESS_GEN_POINT_MODE 0x8E79 -#define GL_ISOLINES 0x8E7A -#define GL_FRACTIONAL_ODD 0x8E7B -#define GL_FRACTIONAL_EVEN 0x8E7C -#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1 -#endif - -// EXT_gpu_shader4 -#ifndef GL_EXT_gpu_shader4 -#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0 -#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1 -#define GL_SAMPLER_BUFFER_EXT 0x8DC2 -#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3 -#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4 -#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5 -#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6 -#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7 -#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8 -#define GL_INT_SAMPLER_1D_EXT 0x8DC9 -#define GL_INT_SAMPLER_2D_EXT 0x8DCA -#define GL_INT_SAMPLER_3D_EXT 0x8DCB -#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC -#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD -#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE -#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF -#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0 -#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1 -#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2 -#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3 -#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4 -#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5 -#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6 -#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7 -#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8 -#define GL_MIN_PROGRAM_TEXEL_OFFSET_EXT 0x8904 -#define GL_MAX_PROGRAM_TEXEL_OFFSET_EXT 0x8905 -#endif - -// ARB_uniform_buffer_object -#ifndef GL_ARB_uniform_buffer_object -#define GL_UNIFORM_BUFFER 0x8A11 -#define GL_UNIFORM_BUFFER_BINDING 0x8A28 -#define GL_UNIFORM_BUFFER_START 0x8A29 -#define GL_UNIFORM_BUFFER_SIZE 0x8A2A -#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B -#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C -#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D -#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E -#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F -#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 -#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 -#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32 -#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 -#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 -#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 -#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 -#define GL_UNIFORM_TYPE 0x8A37 -#define GL_UNIFORM_SIZE 0x8A38 -#define GL_UNIFORM_NAME_LENGTH 0x8A39 -#define GL_UNIFORM_BLOCK_INDEX 0x8A3A -#define GL_UNIFORM_OFFSET 0x8A3B -#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C -#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D -#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E -#define GL_UNIFORM_BLOCK_BINDING 0x8A3F -#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 -#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 -#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 -#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 -#define GL_INVALID_INDEX 0xFFFFFFFFu -#endif - -// ARB_get_program_binary -#ifndef GL_ARB_get_program_binary -#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257 -#define GL_PROGRAM_BINARY_LENGTH 0x8741 -#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE -#define GL_PROGRAM_BINARY_FORMATS 0x87FF -#endif - -// ARB_gpu_shader_fp64 -#ifndef GL_ARB_gpu_shader_fp64 -#define GL_DOUBLE_VEC2 0x8FFC -#define GL_DOUBLE_VEC3 0x8FFD -#define GL_DOUBLE_VEC4 0x8FFE -#define GL_DOUBLE_MAT2 0x8F46 -#define GL_DOUBLE_MAT3 0x8F47 -#define GL_DOUBLE_MAT4 0x8F48 -#define GL_DOUBLE_MAT2x3 0x8F49 -#define GL_DOUBLE_MAT2x4 0x8F4A -#define GL_DOUBLE_MAT3x2 0x8F4B -#define GL_DOUBLE_MAT3x4 0x8F4C -#define GL_DOUBLE_MAT4x2 0x8F4D -#define GL_DOUBLE_MAT4x3 0x8F4E -#endif - -// ARB_texture_multisample -#ifndef GL_ARB_texture_multisample -#define GL_SAMPLER_2D_MULTISAMPLE 0x9108 -#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 -#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A -#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B -#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C -#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D -#endif - -// GL_ARB_shader_image_load_store -#ifndef GL_ARB_shader_image_load_store -#define GL_IMAGE_1D 0x904C -#define GL_IMAGE_2D 0x904D -#define GL_IMAGE_3D 0x904E -#define GL_IMAGE_2D_RECT 0x904F -#define GL_IMAGE_CUBE 0x9050 -#define GL_IMAGE_BUFFER 0x9051 -#define GL_IMAGE_1D_ARRAY 0x9052 -#define GL_IMAGE_2D_ARRAY 0x9053 -#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054 -#define GL_IMAGE_2D_MULTISAMPLE 0x9055 -#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056 -#define GL_INT_IMAGE_1D 0x9057 -#define GL_INT_IMAGE_2D 0x9058 -#define GL_INT_IMAGE_3D 0x9059 -#define GL_INT_IMAGE_2D_RECT 0x905A -#define GL_INT_IMAGE_CUBE 0x905B -#define GL_INT_IMAGE_BUFFER 0x905C -#define GL_INT_IMAGE_1D_ARRAY 0x905D -#define GL_INT_IMAGE_2D_ARRAY 0x905E -#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F -#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060 -#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061 -#define GL_UNSIGNED_INT_IMAGE_1D 0x9062 -#define GL_UNSIGNED_INT_IMAGE_2D 0x9063 -#define GL_UNSIGNED_INT_IMAGE_3D 0x9064 -#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065 -#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066 -#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067 -#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068 -#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069 -#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A -#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B -#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C -#endif - -#ifndef GL_VERSION_3_1 -#define GL_SAMPLER_2D_RECT 0x8B63 -#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 -#define GL_SAMPLER_BUFFER 0x8DC2 -#define GL_INT_SAMPLER_2D_RECT 0x8DCD -#define GL_INT_SAMPLER_BUFFER 0x8DD0 -#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 -#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 -#define GL_TEXTURE_BUFFER 0x8C2A -#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B -#define GL_TEXTURE_BINDING_BUFFER 0x8C2C -#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D -#define GL_TEXTURE_RECTANGLE 0x84F5 -#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6 -#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7 -#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8 -#define GL_RGB_SNORM 0x8F92 -#define GL_RGBA_SNORM 0x8F93 -#define GL_R8_SNORM 0x8F94 -#define GL_RG8_SNORM 0x8F95 -#define GL_RGB8_SNORM 0x8F96 -#define GL_RGBA8_SNORM 0x8F97 -#define GL_R16_SNORM 0x8F98 -#define GL_RG16_SNORM 0x8F99 -#define GL_RGB16_SNORM 0x8F9A -#define GL_RGBA16_SNORM 0x8F9B -#define GL_SIGNED_NORMALIZED 0x8F9C -#define GL_PRIMITIVE_RESTART 0x8F9D -#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E -#endif - -#ifndef GL_RED_SNORM -#define GL_RED_SNORM 0x8F90 -#endif -#ifndef GL_RG_SNORM -#define GL_RG_SNORM 0x8F91 -#endif - - -#ifndef GL_VERSION_4_0 -#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C -#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D -#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E -#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F -#endif - -// ARB_shader_atomic_counters -#ifndef GL_ARB_shader_atomic_counters -#define GL_ATOMIC_COUNTER_BUFFER 0x92C0 -#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1 -#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2 -#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3 -#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4 -#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5 -#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6 -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7 -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8 -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9 -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB -#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC -#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD -#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE -#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF -#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0 -#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1 -#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2 -#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3 -#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4 -#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5 -#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6 -#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7 -#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8 -#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC -#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9 -#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA -#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB -#endif - -// ARB_compute_shader -#ifndef GL_ARB_compute_shader -#define GL_COMPUTE_SHADER 0x91B9 -#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB -#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC -#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD -#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262 -#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263 -#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264 -#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265 -#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266 -#define GL_MAX_COMPUTE_LOCAL_INVOCATIONS 0x90EB -#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE -#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF -#define GL_COMPUTE_LOCAL_WORK_SIZE 0x8267 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED -#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE -#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF -#define GL_COMPUTE_SHADER_BIT 0x00000020 -#endif - -#ifndef GL_ARB_clip_control -#define GL_LOWER_LEFT 0x8CA1 -#define GL_UPPER_LEFT 0x8CA2 -#define GL_CLIP_ORIGIN 0x935C -#define GL_CLIP_DEPTH_MODE 0x935D -#define GL_NEGATIVE_ONE_TO_ONE 0x935E -#define GL_ZERO_TO_ONE 0x935F -#endif - -#ifndef GL_ARB_depth_clamp -#define GL_DEPTH_CLAMP 0x864F -#endif - -#ifndef GL_ARB_provoking_vertex -#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C -#define GL_FIRST_VERTEX_CONVENTION 0x8E4D -#define GL_LAST_VERTEX_CONVENTION 0x8E4E -#define GL_PROVOKING_VERTEX 0x8E4F -#endif - -#ifndef GL_ARB_seamless_cube_map -#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F -#endif - -#ifndef GL_VERSION_4_3 -#define GL_SHADER_STORAGE_BARRIER_BIT 0x00002000 -#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39 -#define GL_SHADER_STORAGE_BUFFER 0x90D2 -#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3 -#define GL_SHADER_STORAGE_BUFFER_START 0x90D4 -#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5 -#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6 -#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7 -#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8 -#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9 -#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA -#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB -#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC -#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD -#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE -#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF - - -#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001 -#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002 -#define GL_UNIFORM_BARRIER_BIT 0x00000004 -#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008 -#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020 -#define GL_COMMAND_BARRIER_BIT 0x00000040 -#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080 -#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100 -#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200 -#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400 -#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800 -#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000 - -#define GL_MAP_READ_BIT 0x0001 -#define GL_MAP_WRITE_BIT 0x0002 -#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 -#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 -#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 -#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 -#endif - -#ifndef GL_ARB_sync -#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 -#define GL_OBJECT_TYPE 0x9112 -#define GL_SYNC_CONDITION 0x9113 -#define GL_SYNC_STATUS 0x9114 -#define GL_SYNC_FLAGS 0x9115 -#define GL_SYNC_FENCE 0x9116 -#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 -#define GL_UNSIGNALED 0x9118 -#define GL_SIGNALED 0x9119 -#define GL_ALREADY_SIGNALED 0x911A -#define GL_TIMEOUT_EXPIRED 0x911B -#define GL_CONDITION_SATISFIED 0x911C -#define GL_WAIT_FAILED 0x911D -#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 -#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull -#endif - -#ifndef GL_TEXTURE_2D_ARRAY_EXT - #define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A - #define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A - #define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B - #define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D - #define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF - #define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E - #define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1 - #define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4 - #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4 -#endif - -#ifndef GL_MAX_3D_TEXTURE_SIZE - #define GL_MAX_3D_TEXTURE_SIZE 0x8073 -#endif - -#ifndef GL_INTERLEAVED_ATTRIBS - #define GL_INTERLEAVED_ATTRIBS 0x8C8C -#endif - -#ifndef GL_SEPARATE_ATTRIBS - #define GL_SEPARATE_ATTRIBS 0x8C8D -#endif - -#ifndef GL_RASTERIZER_DISCARD -#define GL_RASTERIZER_DISCARD 0x8C89 -#endif - -#ifndef GL_ALPHA_TEST - #define GL_ALPHA_TEST 0x0BC0 -#endif - -namespace osg -{ - #ifndef GL_VERSION_3_2 - typedef struct __GLsync *GLsync; - #endif - - // for compatibility with gl.h headers that don't support VBO, - //GL_VERSION_1_5 and GL_ARB_vertex_buffer_object provide these types for OpenGL - //all ES versions except GL_OES_VERSION_1_0 provide these types for OpenGL ES - #if !defined(GL_VERSION_1_5) && !defined(GL_ARB_vertex_buffer_object) \ - && !defined(GL_ES_VERSION_2_0) && !defined(OPENGLES_1_1_FOUND) - - #if 1 - // experimental defination. - typedef ptrdiff_t GLsizeiptr; - typedef ptrdiff_t GLintptr; - #else - - #if defined(_WIN64) - typedef __int64 GLintptr; - typedef __int64 GLsizeiptr; - #elif defined(__ia64__) || defined(__x86_64__) || defined(__ANDROID__) - typedef long int GLintptr; - typedef long int GLsizeiptr; - #else - typedef int GLintptr; - typedef int GLsizeiptr; - #endif - #endif - #endif -} - -#endif diff --git a/src/osg/osg/GLExtensions b/src/osg/osg/GLExtensions deleted file mode 100644 index 31b8c7b3..00000000 --- a/src/osg/osg/GLExtensions +++ /dev/null @@ -1,617 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_GLEXTENSIONS -#define OSG_GLEXTENSIONS 1 - -#include -#include - -#include -#include -#include - - -namespace osg { - -/** Return floating-point OpenGL version number. - * Note: Must only be called within a valid OpenGL context, - * undefined behavior may occur otherwise. -*/ -extern OSG_EXPORT float getGLVersionNumber(); - -/** Return true if "extension" is contained in "extensionString". -*/ -extern OSG_EXPORT bool isExtensionInExtensionString(const char *extension, const char *extensionString); - -/** Return true if OpenGL "extension" is supported. - * Note: Must only be called within a valid OpenGL context, - * undefined behavior may occur otherwise. -*/ -extern OSG_EXPORT bool isGLExtensionSupported(unsigned int contextID, const char *extension); - -/** Return true if OpenGL "extension" or minimum OpenGL version number is supported. - * Note: Must only be called within a valid OpenGL context, - * undefined behavior may occur otherwise. -*/ -extern OSG_EXPORT bool isGLExtensionOrVersionSupported(unsigned int contextID, const char *extension, float requiredGlVersion); - -/** Return the address of the specified OpenGL function. - * Return NULL if function not supported by OpenGL library. - * Note, glGLExtensionFuncPtr is declared inline so that the code - * is compiled locally to the calling code. This should get by Windows' - * dumb implementation of having different GL function ptr's for each - * library when linked to it. -*/ -extern OSG_EXPORT void* getGLExtensionFuncPtr(const char *funcName); - -/** Set a list of extensions to disable for different OpenGL renderers. This allows - * OSG applications to work around OpenGL drivers' bugs which are due to problematic extension support. - * The format of the string is: - * "GLRendererString : ExtensionName, ExtensionName; GLRenderString2 : ExtensionName;" - * An example of is : "SUN_XVR1000:GL_EXT_texture_filter_anisotropic" - * The default setting of GLExtensionDisableString is obtained from the OSG_GL_EXTENSION_DISABLE - * environmental variable. -*/ -extern OSG_EXPORT void setGLExtensionDisableString(const std::string& disableString); - -/** Get the list of extensions that are disabled for various OpenGL renderers. */ -extern OSG_EXPORT std::string& getGLExtensionDisableString(); - -/** Return the address of the specified OpenGL function. If not found then - * check a second function name, if this fails then return NULL as function is - * not supported by OpenGL library. This is used for checking something - * like glActiveTexture (which is in OGL1.3) or glActiveTextureARB. -*/ -inline void* getGLExtensionFuncPtr(const char *funcName, const char *fallbackFuncName) -{ - void* ptr = getGLExtensionFuncPtr(funcName); - return (ptr!=0) ? ptr : getGLExtensionFuncPtr(fallbackFuncName); -} - -/** Return the address of the specified OpenGL function. If not found then - * check a second function name, if this fails then return NULL as function is - * not supported by OpenGL library. This is used for checking something - * like glActiveTexture (which is in OGL1.3) or glActiveTextureARB. -*/ -inline void* getGLExtensionFuncPtr(const char *funcName1, const char *funcName2, const char *funcName3) -{ - void* ptr = getGLExtensionFuncPtr(funcName1); - return (ptr!=0) ? ptr : getGLExtensionFuncPtr(funcName2, funcName3); -} - -template -bool convertPointer(T& dest, R src) -{ - memcpy(&dest, &src, sizeof(src)); - return src!=0; -} - -template -T convertPointerType(R src) -{ - T dest; - memcpy(&dest, &src, sizeof(src)); - return dest; -} - -template -bool setGLExtensionFuncPtr(T& t, const char* str1) -{ - return convertPointer(t, osg::getGLExtensionFuncPtr(str1)); -} - -template -bool setGLExtensionFuncPtr(T& t, const char* str1, const char* str2) -{ - return convertPointer(t, osg::getGLExtensionFuncPtr(str1, str2)); -} - -template -bool setGLExtensionFuncPtr(T& t, const char* str1, const char* str2, const char* str3) -{ - return convertPointer(t, osg::getGLExtensionFuncPtr(str1, str2, str3)); -} - -/** Main GLExtensions class for managing OpenGL extensions per graphics context.*/ -class OSG_EXPORT GLExtensions : public osg::Referenced -{ - public: - GLExtensions(unsigned int contextID); - - /** Function to call to get the extension of a specified context. - * If the Exentsion object for that context has not yet been created then - * and the 'createIfNotInitalized' flag been set to false then returns NULL. - * If 'createIfNotInitalized' is true then the Extensions object is - * automatically created. However, in this case the extension object - * only be created with the graphics context associated with ContextID..*/ - static GLExtensions* Get(unsigned int contextID,bool createIfNotInitalized); - - /** allows users to override the extensions across graphics contexts. - * typically used when you have different extensions supported across graphics pipes - * but need to ensure that they all use the same low common denominator extensions.*/ - static void Set(unsigned int contextID, GLExtensions* extensions); - - // C++-friendly convenience wrapper methods - GLuint getCurrentProgram() const; - bool getProgramInfoLog( GLuint program, std::string& result ) const; - bool getShaderInfoLog( GLuint shader, std::string& result ) const; - bool getAttribLocation( const char* attribName, GLuint& slot ) const; - bool getFragDataLocation( const char* fragDataName, GLuint& slot) const; - - - float glVersion; - float glslLanguageVersion; - - bool isGlslSupported; - bool isShaderObjectsSupported; - bool isVertexShaderSupported; - bool isFragmentShaderSupported; - bool isLanguage100Supported; - bool isGeometryShader4Supported; - bool areTessellationShadersSupported; - bool isGpuShader4Supported; - bool isUniformBufferObjectSupported; - bool isGetProgramBinarySupported; - bool isGpuShaderFp64Supported; - bool isShaderAtomicCountersSupported; - bool isRectangleSupported; - bool isCubeMapSupported; - bool isClipControlSupported; - - void (GL_APIENTRY * glDrawBuffers)(GLsizei n, const GLenum *bufs); - void (GL_APIENTRY * glAttachShader)(GLuint program, GLuint shader); - void (GL_APIENTRY * glBindAttribLocation)(GLuint program, GLuint index, const GLchar *name); - void (GL_APIENTRY * glCompileShader)(GLuint shader); - GLuint (GL_APIENTRY * glCreateProgram)(void); - GLuint (GL_APIENTRY * glCreateShader)(GLenum type); - void (GL_APIENTRY * glDeleteProgram)(GLuint program); - void (GL_APIENTRY * glDeleteObjectARB)(GLuint program); - void (GL_APIENTRY * glDeleteShader)(GLuint shader); - void (GL_APIENTRY * glDetachShader)(GLuint program, GLuint shader); - void (GL_APIENTRY * glDisableVertexAttribArray)(GLuint index); - void (GL_APIENTRY * glEnableVertexAttribArray)(GLuint index); - void (GL_APIENTRY * glGetActiveAttrib)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); - void (GL_APIENTRY * glGetActiveUniform)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); - void (GL_APIENTRY * glGetAttachedShaders)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj); - GLint (GL_APIENTRY * glGetAttribLocation)(GLuint program, const GLchar *name); - void (GL_APIENTRY * glGetProgramiv)(GLuint program, GLenum pname, GLint *params); - void (GL_APIENTRY * glGetObjectParameterivARB)(GLuint program, GLenum pname, GLint *params); - void (GL_APIENTRY * glGetProgramInfoLog)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); - void (GL_APIENTRY * glGetInfoLogARB)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); - void (GL_APIENTRY * glGetShaderiv)(GLuint shader, GLenum pname, GLint *params); - void (GL_APIENTRY * glGetShaderInfoLog)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); - void (GL_APIENTRY * glGetShaderSource)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); - GLint (GL_APIENTRY * glGetUniformLocation)(GLuint program, const GLchar *name); - void (GL_APIENTRY * glGetUniformfv)(GLuint program, GLint location, GLfloat *params); - void (GL_APIENTRY * glGetUniformiv)(GLuint program, GLint location, GLint *params); - void (GL_APIENTRY * glGetVertexAttribdv)(GLuint index, GLenum pname, GLdouble *params); - void (GL_APIENTRY * glGetVertexAttribfv)(GLuint index, GLenum pname, GLfloat *params); - void (GL_APIENTRY * glGetVertexAttribiv)(GLuint index, GLenum pname, GLint *params); - void (GL_APIENTRY * glGetVertexAttribPointerv)(GLuint index, GLenum pname, GLvoid* *pointer); - GLboolean (GL_APIENTRY * glIsProgram)(GLuint program); - GLboolean (GL_APIENTRY * glIsShader)(GLuint shader); - void (GL_APIENTRY * glLinkProgram)(GLuint program); - void (GL_APIENTRY * glShaderSource)(GLuint shader, GLsizei count, const GLchar* *string, const GLint *length); - void (GL_APIENTRY * glUseProgram)(GLuint program); - void (GL_APIENTRY * glUniform1f)(GLint location, GLfloat v0); - void (GL_APIENTRY * glUniform2f)(GLint location, GLfloat v0, GLfloat v1); - void (GL_APIENTRY * glUniform3f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); - void (GL_APIENTRY * glUniform4f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); - void (GL_APIENTRY * glUniform1i)(GLint location, GLint v0); - void (GL_APIENTRY * glUniform2i)(GLint location, GLint v0, GLint v1); - void (GL_APIENTRY * glUniform3i)(GLint location, GLint v0, GLint v1, GLint v2); - void (GL_APIENTRY * glUniform4i)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); - void (GL_APIENTRY * glUniform1fv)(GLint location, GLsizei count, const GLfloat *value); - void (GL_APIENTRY * glUniform2fv)(GLint location, GLsizei count, const GLfloat *value); - void (GL_APIENTRY * glUniform3fv)(GLint location, GLsizei count, const GLfloat *value); - void (GL_APIENTRY * glUniform4fv)(GLint location, GLsizei count, const GLfloat *value); - void (GL_APIENTRY * glUniform1iv)(GLint location, GLsizei count, const GLint *value); - void (GL_APIENTRY * glUniform2iv)(GLint location, GLsizei count, const GLint *value); - void (GL_APIENTRY * glUniform3iv)(GLint location, GLsizei count, const GLint *value); - void (GL_APIENTRY * glUniform4iv)(GLint location, GLsizei count, const GLint *value); - void (GL_APIENTRY * glUniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (GL_APIENTRY * glUniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (GL_APIENTRY * glUniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (GL_APIENTRY * glValidateProgram)(GLuint program); - void (GL_APIENTRY * glVertexAttrib1d)(GLuint index, GLdouble x); - void (GL_APIENTRY * glVertexAttrib1dv)(GLuint index, const GLdouble *v); - void (GL_APIENTRY * glVertexAttrib1f)(GLuint index, GLfloat x); - void (GL_APIENTRY * glVertexAttrib1fv)(GLuint index, const GLfloat *v); - void (GL_APIENTRY * glVertexAttrib1s)(GLuint index, GLshort x); - void (GL_APIENTRY * glVertexAttrib1sv)(GLuint index, const GLshort *v); - void (GL_APIENTRY * glVertexAttrib2d)(GLuint index, GLdouble x, GLdouble y); - void (GL_APIENTRY * glVertexAttrib2dv)(GLuint index, const GLdouble *v); - void (GL_APIENTRY * glVertexAttrib2f)(GLuint index, GLfloat x, GLfloat y); - void (GL_APIENTRY * glVertexAttrib2fv)(GLuint index, const GLfloat *v); - void (GL_APIENTRY * glVertexAttrib2s)(GLuint index, GLshort x, GLshort y); - void (GL_APIENTRY * glVertexAttrib2sv)(GLuint index, const GLshort *v); - void (GL_APIENTRY * glVertexAttrib3d)(GLuint index, GLdouble x, GLdouble y, GLdouble z); - void (GL_APIENTRY * glVertexAttrib3dv)(GLuint index, const GLdouble *v); - void (GL_APIENTRY * glVertexAttrib3f)(GLuint index, GLfloat x, GLfloat y, GLfloat z); - void (GL_APIENTRY * glVertexAttrib3fv)(GLuint index, const GLfloat *v); - void (GL_APIENTRY * glVertexAttrib3s)(GLuint index, GLshort x, GLshort y, GLshort z); - void (GL_APIENTRY * glVertexAttrib3sv)(GLuint index, const GLshort *v); - void (GL_APIENTRY * glVertexAttrib4Nbv)(GLuint index, const GLbyte *v); - void (GL_APIENTRY * glVertexAttrib4Niv)(GLuint index, const GLint *v); - void (GL_APIENTRY * glVertexAttrib4Nsv)(GLuint index, const GLshort *v); - void (GL_APIENTRY * glVertexAttrib4Nub)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); - void (GL_APIENTRY * glVertexAttrib4Nubv)(GLuint index, const GLubyte *v); - void (GL_APIENTRY * glVertexAttrib4Nuiv)(GLuint index, const GLuint *v); - void (GL_APIENTRY * glVertexAttrib4Nusv)(GLuint index, const GLushort *v); - void (GL_APIENTRY * glVertexAttrib4bv)(GLuint index, const GLbyte *v); - void (GL_APIENTRY * glVertexAttrib4d)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - void (GL_APIENTRY * glVertexAttrib4dv)(GLuint index, const GLdouble *v); - void (GL_APIENTRY * glVertexAttrib4f)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - void (GL_APIENTRY * glVertexAttrib4fv)(GLuint index, const GLfloat *v); - void (GL_APIENTRY * glVertexAttrib4iv)(GLuint index, const GLint *v); - void (GL_APIENTRY * glVertexAttrib4s)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); - void (GL_APIENTRY * glVertexAttrib4sv)(GLuint index, const GLshort *v); - void (GL_APIENTRY * glVertexAttrib4ubv)(GLuint index, const GLubyte *v); - void (GL_APIENTRY * glVertexAttrib4uiv)(GLuint index, const GLuint *v); - void (GL_APIENTRY * glVertexAttrib4usv)(GLuint index, const GLushort *v); - void (GL_APIENTRY * glVertexAttribPointer)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer); - void (GL_APIENTRY * glVertexAttribDivisor)(GLuint index, GLuint divisor); - void (GL_APIENTRY * glUniformMatrix2x3fv)( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ); - void (GL_APIENTRY * glUniformMatrix3x2fv)( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ); - void (GL_APIENTRY * glUniformMatrix2x4fv)( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ); - void (GL_APIENTRY * glUniformMatrix4x2fv)( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ); - void (GL_APIENTRY * glUniformMatrix3x4fv)( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ); - void (GL_APIENTRY * glUniformMatrix4x3fv)( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ); - void (GL_APIENTRY * glClipControl)( GLenum origin, GLenum depthMode ); - void (GL_APIENTRY * glProgramParameteri)( GLuint program, GLenum pname, GLint value ); - void (GL_APIENTRY * glPatchParameteri)( GLenum pname, GLint value ); - void (GL_APIENTRY * glPatchParameterfv)( GLenum pname, const GLfloat* values ); - void (GL_APIENTRY * glGetUniformuiv)( GLuint program, GLint location, GLuint* params ); - void (GL_APIENTRY * glBindFragDataLocation)( GLuint program, GLuint color, const GLchar* name ); - GLint (GL_APIENTRY * glGetFragDataLocation)( GLuint program, const GLchar* name ); - void (GL_APIENTRY * glUniform1ui)( GLint location, GLuint v0 ); - void (GL_APIENTRY * glUniform2ui)( GLint location, GLuint v0, GLuint v1 ); - void (GL_APIENTRY * glUniform3ui)( GLint location, GLuint v0, GLuint v1, GLuint v2 ); - void (GL_APIENTRY * glUniform4ui)( GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3 ); - void (GL_APIENTRY * glUniform1uiv)( GLint location, GLsizei count, const GLuint *value ); - void (GL_APIENTRY * glUniform2uiv)( GLint location, GLsizei count, const GLuint *value ); - void (GL_APIENTRY * glUniform3uiv)( GLint location, GLsizei count, const GLuint *value ); - void (GL_APIENTRY * glUniform4uiv)( GLint location, GLsizei count, const GLuint *value ); - GLuint (GL_APIENTRY * glGetHandleARB) (GLenum pname); - void (GL_APIENTRY * glGetUniformIndices)(GLuint program, GLsizei uniformCount, const GLchar* *uniformNames, GLuint *uniformIndices); - void (GL_APIENTRY * glGetActiveUniformsiv)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); - void (GL_APIENTRY * glGetActiveUniformName)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName); - GLuint (GL_APIENTRY * glGetUniformBlockIndex)(GLuint program, const GLchar *uniformBlockName); - void (GL_APIENTRY * glGetActiveUniformBlockiv)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); - void (GL_APIENTRY * glGetActiveUniformBlockName)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); - void (GL_APIENTRY * glUniformBlockBinding)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); - void (GL_APIENTRY * glGetProgramBinary)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); - void (GL_APIENTRY * glProgramBinary)(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length); - void (GL_APIENTRY * glUniform1d)(GLint location, GLdouble v0); - void (GL_APIENTRY * glUniform2d)(GLint location, GLdouble v0, GLdouble v1); - void (GL_APIENTRY * glUniform3d)(GLint location, GLdouble v0, GLdouble v1, GLdouble v2); - void (GL_APIENTRY * glUniform4d)(GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3); - void (GL_APIENTRY * glUniform1dv)(GLint location, GLsizei count, const GLdouble *value); - void (GL_APIENTRY * glUniform2dv)(GLint location, GLsizei count, const GLdouble *value); - void (GL_APIENTRY * glUniform3dv)(GLint location, GLsizei count, const GLdouble *value); - void (GL_APIENTRY * glUniform4dv)(GLint location, GLsizei count, const GLdouble *value); - void (GL_APIENTRY * glUniformMatrix2dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (GL_APIENTRY * glUniformMatrix3dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (GL_APIENTRY * glUniformMatrix4dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (GL_APIENTRY * glUniformMatrix2x3dv)( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ); - void (GL_APIENTRY * glUniformMatrix3x2dv)( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ); - void (GL_APIENTRY * glUniformMatrix2x4dv)( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ); - void (GL_APIENTRY * glUniformMatrix4x2dv)( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ); - void (GL_APIENTRY * glUniformMatrix3x4dv)( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ); - void (GL_APIENTRY * glUniformMatrix4x3dv)( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ); - void (GL_APIENTRY * glGetActiveAtomicCounterBufferiv)( GLuint program, GLuint bufferIndex, GLenum pname, GLint* params ); - void (GL_APIENTRY * glDispatchCompute)( GLuint numGroupsX, GLuint numGroupsY, GLuint numGroupsZ ); - - // Buffer Object extensions - bool isBufferObjectSupported; - bool isPBOSupported; - bool isTBOSupported; - bool isVAOSupported; - bool isTransformFeedbackSupported; - - void (GL_APIENTRY * glGenBuffers) (GLsizei n, GLuint *buffers); - void (GL_APIENTRY * glBindBuffer) (GLenum target, GLuint buffer); - void (GL_APIENTRY * glBufferData) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage); - void (GL_APIENTRY * glBufferSubData) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data); - void (GL_APIENTRY * glDeleteBuffers) (GLsizei n, const GLuint *buffers); - GLboolean (GL_APIENTRY * glIsBuffer) (GLuint buffer); - void (GL_APIENTRY * glGetBufferSubData) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data); - GLvoid* (GL_APIENTRY * glMapBuffer) (GLenum target, GLenum access); - GLvoid* (GL_APIENTRY * glMapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); - GLboolean (GL_APIENTRY * glUnmapBuffer) (GLenum target); - void (GL_APIENTRY * glGetBufferParameteriv) (GLenum target, GLenum pname, GLint *params); - void (GL_APIENTRY * glGetBufferPointerv) (GLenum target, GLenum pname, GLvoid* *params); - void (GL_APIENTRY * glBindBufferRange) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); - void (GL_APIENTRY * glBindBufferBase) (GLenum target, GLuint index, GLuint buffer); - void (GL_APIENTRY * glTexBuffer) (GLenum target, GLenum internalFormat, GLuint buffer); - - void (GL_APIENTRY * glMemoryBarrier)( GLbitfield barriers ); - - // BlendFunc extensions - bool isBlendFuncSeparateSupported; - void (GL_APIENTRY * glBlendFuncSeparate) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) ; - - void (GL_APIENTRY * glBlendFunci) (GLuint buf, GLenum src, GLenum dst); - void (GL_APIENTRY * glBlendFuncSeparatei) (GLuint buf, GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) ; - - - // Vertex Array extensions - bool isSecondaryColorSupported; - bool isFogCoordSupported; - bool isMultiTexSupported; - bool isOcclusionQuerySupported; - bool isARBOcclusionQuerySupported; - bool isTimerQuerySupported; - bool isARBTimerQuerySupported; - - void (GL_APIENTRY * glSecondaryColor3ubv) (const GLubyte* coord); - void (GL_APIENTRY * glSecondaryColor3fv) (const GLfloat* coord); - - void (GL_APIENTRY * glFogCoordfv) (const GLfloat* coord); - - void (GL_APIENTRY * glMultiTexCoord1f) (GLenum target,GLfloat coord); - void (GL_APIENTRY * glMultiTexCoord1fv) (GLenum target,const GLfloat* coord); - void (GL_APIENTRY * glMultiTexCoord2fv) (GLenum target,const GLfloat* coord); - void (GL_APIENTRY * glMultiTexCoord3fv) (GLenum target,const GLfloat* coord); - void (GL_APIENTRY * glMultiTexCoord4fv) (GLenum target,const GLfloat* coord); - - void (GL_APIENTRY * glMultiTexCoord1d) (GLenum target,GLdouble coord); - void (GL_APIENTRY * glMultiTexCoord1dv) (GLenum target,const GLdouble* coord); - void (GL_APIENTRY * glMultiTexCoord2dv) (GLenum target,const GLdouble* coord); - void (GL_APIENTRY * glMultiTexCoord3dv) (GLenum target,const GLdouble* coord); - void (GL_APIENTRY * glMultiTexCoord4dv) (GLenum target,const GLdouble* coord); - - // Occlusion Query extensions - void (GL_APIENTRY * glGenOcclusionQueries) ( GLsizei n, GLuint *ids ); - void (GL_APIENTRY * glDeleteOcclusionQueries) ( GLsizei n, const GLuint *ids ); - GLboolean (GL_APIENTRY * glIsOcclusionQuery) ( GLuint id ); - void (GL_APIENTRY * glBeginOcclusionQuery) ( GLuint id ); - void (GL_APIENTRY * glEndOcclusionQuery) (); - void (GL_APIENTRY * glGetOcclusionQueryiv) ( GLuint id, GLenum pname, GLint *params ); - void (GL_APIENTRY * glGetOcclusionQueryuiv) ( GLuint id, GLenum pname, GLuint *params ); - - void (GL_APIENTRY * glGetQueryiv) (GLenum target, GLenum pname, GLint *params); - void (GL_APIENTRY * glGenQueries) (GLsizei n, GLuint *ids); - void (GL_APIENTRY * glBeginQuery) (GLenum target, GLuint id); - void (GL_APIENTRY * glEndQuery) (GLenum target); - void (GL_APIENTRY * glQueryCounter) (GLuint id, GLenum target); - GLboolean (GL_APIENTRY * glIsQuery) (GLuint id); - void (GL_APIENTRY * glDeleteQueries) (GLsizei n, const GLuint *ids); - void (GL_APIENTRY * glGetQueryObjectiv) (GLuint id, GLenum pname, GLint *params); - void (GL_APIENTRY * glGetQueryObjectuiv) (GLuint id, GLenum pname, GLuint *params); - void (GL_APIENTRY * glGetQueryObjectui64v) (GLuint id, GLenum pname, GLuint64 *params); - void (GL_APIENTRY * glGetInteger64v) (GLenum pname, GLint64 *params); - - - // SampleMaski functionality - bool isOpenGL32upported; - bool isTextureMultisampleSupported; - bool isSampleMaskiSupported; - - void (GL_APIENTRY * glSampleMaski) (GLuint maskNumber, GLbitfield mask); - - // Vertex/Fragment Programs - bool isVertexProgramSupported; - bool isFragmentProgramSupported; - - void (GL_APIENTRY * glBindProgram) (GLenum target, GLuint id); - void (GL_APIENTRY * glGenPrograms) (GLsizei n, GLuint *programs); - void (GL_APIENTRY * glDeletePrograms) (GLsizei n, GLuint *programs); - void (GL_APIENTRY * glProgramString) (GLenum target, GLenum format, GLsizei len, const void *string); - void (GL_APIENTRY * glProgramLocalParameter4fv) (GLenum target, GLuint index, const GLfloat *params); - - - // Texture Extensions - bool isMultiTexturingSupported; - bool isTextureFilterAnisotropicSupported; - bool isTextureSwizzleSupported; - bool isTextureCompressionARBSupported; - bool isTextureCompressionS3TCSupported; - bool isTextureCompressionPVRTC2BPPSupported; - bool isTextureCompressionPVRTC4BPPSupported; - bool isTextureCompressionETCSupported; - bool isTextureCompressionETC2Supported; - bool isTextureCompressionRGTCSupported; - bool isTextureCompressionPVRTCSupported; - bool isTextureMirroredRepeatSupported; - bool isTextureEdgeClampSupported; - bool isTextureBorderClampSupported; - bool isGenerateMipMapSupported; - bool preferGenerateMipmapSGISForPowerOfTwo; - bool isTextureMultisampledSupported; - bool isShadowSupported; - bool isShadowAmbientSupported; - bool isTextureMaxLevelSupported; - GLint maxTextureSize; - bool _isTextureStorageEnabled; - bool isClientStorageSupported; - bool isTextureIntegerEXTSupported; - bool isTextureStorageEnabled; - - bool isTexStorage2DSupported() const { return glTexStorage2D != 0; } - bool isCompressedTexImage2DSupported() const { return glCompressedTexImage2D!=0; } - bool isCompressedTexSubImage2DSupported() const { return glCompressedTexSubImage2D!=0; } - bool isBindImageTextureSupported() const { return glBindImageTexture!=0; } - bool isNonPowerOfTwoTextureMipMappedSupported; - bool isNonPowerOfTwoTextureNonMipMappedSupported; - bool isNonPowerOfTwoTextureSupported(GLenum filter) const - { - return (filter==GL_LINEAR || filter==GL_NEAREST) ? - isNonPowerOfTwoTextureNonMipMappedSupported : - isNonPowerOfTwoTextureMipMappedSupported; - } - - void (GL_APIENTRY * glTexStorage2D) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); - void (GL_APIENTRY * glCompressedTexImage2D) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); - void (GL_APIENTRY * glCompressedTexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); - void (GL_APIENTRY * glGetCompressedTexImage) (GLenum target, GLint level, GLvoid *data); - void (GL_APIENTRY * glTexImage2DMultisample) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); - void (GL_APIENTRY * glTexParameterIiv) (GLenum target, GLenum pname, const GLint* data); - void (GL_APIENTRY * glTexParameterIuiv) (GLenum target, GLenum pname, const GLuint* data); - void (GL_APIENTRY * glBindImageTexture) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); - - // Texture3D extensions - bool isTexture3DSupported; - bool isTexture3DFast; - GLint maxTexture3DSize; - bool isCompressedTexImage3DSupported() const { return glCompressedTexImage3D!=0; } - bool isCompressedTexSubImage3DSupported() const { return glCompressedTexSubImage3D!=0; } - - void (GL_APIENTRY * glTexImage3D) ( GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels); - void (GL_APIENTRY * glTexSubImage3D) ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels); - void (GL_APIENTRY * glCopyTexSubImage3D) ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height ); - void (GL_APIENTRY * glCompressedTexImage3D) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data); - void (GL_APIENTRY * glCompressedTexSubImage3D) ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data ); - - // Texture2DArray extensions - bool isTexture2DArraySupported; - GLint maxLayerCount; - GLint max2DSize; - - - // Blending - bool isBlendColorSupported; - bool isBlendEquationSupported; - bool isBlendEquationSeparateSupported; - bool isSGIXMinMaxSupported; - bool isLogicOpSupported; - - void (GL_APIENTRY * glBlendColor) (GLclampf red , GLclampf green , GLclampf blue , GLclampf alpha); - void (GL_APIENTRY * glBlendEquation)(GLenum mode); - void (GL_APIENTRY * glBlendEquationSeparate)(GLenum modeRGB, GLenum modeAlpha); - void (GL_APIENTRY * glBlendEquationi)(GLuint buf, GLenum mode); - void (GL_APIENTRY * glBlendEquationSeparatei)(GLuint buf, GLenum modeRGB, GLenum modeAlpha); - - - // glEnablei/glDisabeli - void (GL_APIENTRY * glEnablei) (GLenum capability, GLuint buf); - void (GL_APIENTRY * glDisablei) (GLenum capability, GLuint buf); - - - // Stencil - bool isStencilWrapSupported; - bool isStencilTwoSidedSupported; - bool isOpenGL20Supported; - bool isSeparateStencilSupported; - - void (GL_APIENTRY * glActiveStencilFace) (GLenum face); - void (GL_APIENTRY * glStencilOpSeparate) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); - void (GL_APIENTRY * glStencilMaskSeparate) (GLenum face, GLuint mask); - void (GL_APIENTRY * glStencilFuncSeparate) (GLenum face, GLenum func, GLint ref, GLuint mask); - void (GL_APIENTRY * glStencilFuncSeparateATI) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); - - - // ColorMask - void (GL_APIENTRY * glColorMaski)(GLuint buf, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); - - - // ClampColor - bool isClampColorSupported; - void (GL_APIENTRY * glClampColor) (GLenum target, GLenum mode); - - - // PrimitiveRestartIndex - void (GL_APIENTRY * glPrimitiveRestartIndex) ( GLuint index ); - - - // Mutlisample - bool isMultisampleSupported; - bool isMultisampleFilterHintSupported; - - void (GL_APIENTRY * glSampleCoverage) (GLclampf value, GLboolean invert); - - - // Point - bool isPointParametersSupported; - bool isPointSpriteSupported; - bool isPointSpriteCoordOriginSupported; - - void (GL_APIENTRY * glPointParameteri) (GLenum pname, GLint param); - void (GL_APIENTRY * glPointParameterf) (GLenum pname, GLfloat param); - void (GL_APIENTRY * glPointParameterfv) (GLenum pname, const GLfloat *params); - - - // FrameBuferObject - bool isFrameBufferObjectSupported; - bool isPackedDepthStencilSupported; - bool isRenderbufferMultisampleSupported() const { return glRenderbufferStorageMultisample != 0; } - bool isRenderbufferMultisampleCoverageSupported() const { return glRenderbufferStorageMultisampleCoverageNV != 0; } - - void (GL_APIENTRY * glBindRenderbuffer) (GLenum, GLuint); - void (GL_APIENTRY * glDeleteRenderbuffers) (GLsizei n, const GLuint *renderbuffers); - void (GL_APIENTRY * glGenRenderbuffers) (GLsizei, GLuint *); - void (GL_APIENTRY * glRenderbufferStorage) (GLenum, GLenum, GLsizei, GLsizei); - void (GL_APIENTRY * glRenderbufferStorageMultisample) (GLenum, GLsizei, GLenum, GLsizei, GLsizei); - void (GL_APIENTRY * glRenderbufferStorageMultisampleCoverageNV) (GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei); - void (GL_APIENTRY * glBindFramebuffer) (GLenum, GLuint); - void (GL_APIENTRY * glDeleteFramebuffers) (GLsizei n, const GLuint *framebuffers); - void (GL_APIENTRY * glGenFramebuffers) (GLsizei, GLuint *); - GLenum (GL_APIENTRY * glCheckFramebufferStatus) (GLenum); - - void (GL_APIENTRY * glFramebufferTexture1D) (GLenum, GLenum, GLenum, GLuint, GLint); - void (GL_APIENTRY * glFramebufferTexture2D) (GLenum, GLenum, GLenum, GLuint, GLint); - void (GL_APIENTRY * glFramebufferTexture3D) (GLenum, GLenum, GLenum, GLuint, GLint, GLint); - void (GL_APIENTRY * glFramebufferTexture) (GLenum, GLenum, GLint, GLint); - void (GL_APIENTRY * glFramebufferTextureLayer) (GLenum, GLenum, GLuint, GLint, GLint); - void (GL_APIENTRY * glFramebufferTextureFace)( GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face ); - void (GL_APIENTRY * glFramebufferRenderbuffer) (GLenum, GLenum, GLenum, GLuint); - - void (GL_APIENTRY * glGenerateMipmap) (GLenum); - void (GL_APIENTRY * glBlitFramebuffer) (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); - void (GL_APIENTRY * glGetRenderbufferParameteriv) (GLenum, GLenum, GLint*); - - - // Sync - GLsync (GL_APIENTRY * glFenceSync) (GLenum condition, GLbitfield flags); - GLboolean (GL_APIENTRY * glIsSync) (GLsync sync); - void (GL_APIENTRY * glDeleteSync) (GLsync sync); - GLenum (GL_APIENTRY * glClientWaitSync) (GLsync sync, GLbitfield flags, GLuint64 timeout); - void (GL_APIENTRY * glWaitSync) (GLsync sync, GLbitfield flags, GLuint64 timeout); - void (GL_APIENTRY * glGetSynciv) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); - - - // Transform feedback - void (GL_APIENTRY * glBeginTransformFeedback) (GLenum primitiveMode); - void (GL_APIENTRY * glEndTransformFeedback) (void); - void (GL_APIENTRY * glTransformFeedbackVaryings) (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode); - void (GL_APIENTRY * glGetTransformFeedbackVarying) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); - void (GL_APIENTRY * glBindTransformFeedback) (GLenum target, GLuint id); - void (GL_APIENTRY * glDeleteTransformFeedbacks) (GLsizei n, const GLuint *ids); - void (GL_APIENTRY * glGenTransformFeedbacks) (GLsizei n, GLuint *ids); - GLboolean (GL_APIENTRY * glIsTransformFeedback) (GLuint id); - void (GL_APIENTRY * glPauseTransformFeedback) (void); - void (GL_APIENTRY * glResumeTransformFeedback) (void); - void (GL_APIENTRY * glDrawTransformFeedback) (GLenum mode, GLuint id); - void (GL_APIENTRY * glDrawTransformFeedbackStream) (GLenum mode, GLuint id, GLuint stream); - void (GL_APIENTRY * glDrawTransformFeedbackInstanced) (GLenum mode, GLuint id, GLsizei instancecount); - void (GL_APIENTRY * glDrawTransformFeedbackStreamInstanced) (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount); - void (GL_APIENTRY * glCreateTransformFeedbacks) (GLsizei n, GLuint *ids); - void (GL_APIENTRY * glTransformFeedbackBufferBase) (GLuint xfb, GLuint index, GLuint buffer); - void (GL_APIENTRY * glTransformFeedbackBufferRange) (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size); - void (GL_APIENTRY * glGetTransformFeedbackiv) (GLuint xfb, GLenum pname, GLint *param); - void (GL_APIENTRY * glGetTransformFeedbacki_v) (GLuint xfb, GLenum pname, GLuint index, GLint *param); - void (GL_APIENTRY * glGetTransformFeedbacki64_v) (GLuint xfb, GLenum pname, GLuint index, GLint64 *param); - - // Vertex Array Object - void (GL_APIENTRY * glDeleteVertexArrays) (GLsizei size,const GLuint *handles); - void (GL_APIENTRY * glGenVertexArrays) (GLsizei size, GLuint *handles); - GLboolean (GL_APIENTRY * glIsVertexArray) (GLuint handle); - void (GL_APIENTRY * glBindVertexArray) (GLuint handle); - -}; - - -} - -#endif diff --git a/src/osg/osg/GLObjects b/src/osg/osg/GLObjects deleted file mode 100644 index 55be1319..00000000 --- a/src/osg/osg/GLObjects +++ /dev/null @@ -1,42 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_GLOBJECTS -#define OSG_GLOBJECTS 1 - -#include - -namespace osg { - -/** Flush all deleted OpenGL objects within the specified availableTime. - * Note, must be called from a thread which has current the graphics context associated with contextID. */ -extern OSG_EXPORT void flushDeletedGLObjects(unsigned int contextID, double currentTime, double& availableTime); - -/** Flush all deleted OpenGL objects. - * Note, must be called from a thread which has current the graphics context associated with contextID. */ -extern OSG_EXPORT void flushAllDeletedGLObjects(unsigned int contextID); - -/** Do a GL delete all OpenGL objects. - * Note, must be called from a thread which has current the graphics context associated with contextID. */ -extern OSG_EXPORT void deleteAllGLObjects(unsigned int contextID); - -/** Discard all OpenGL objects. - * Note, unlike deleteAllGLjects discard does not - * do any OpenGL calls so can be called from any thread, but as a consequence it - * also doesn't remove the associated OpenGL resource so discard should only be - * called when the associated graphics context is being/has been closed. */ -extern OSG_EXPORT void discardAllGLObjects(unsigned int contextID); - -} - -#endif diff --git a/src/osg/osg/GLU b/src/osg/osg/GLU deleted file mode 100644 index 40ac5cd9..00000000 --- a/src/osg/osg/GLU +++ /dev/null @@ -1,186 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_GLU -#define OSG_GLU 1 - -#include - -namespace osg -{ - -/* Pixel storage modes, used by gluScaleImage */ -struct OSG_EXPORT PixelStorageModes -{ - // sets defaults as per glGet docs in OpenGL red book - PixelStorageModes(); - - // use glGet's to retrieve all the current settings - void retrieveStoreModes(); - - // use glGet's to retrieve all the current 3D settings - void retrieveStoreModes3D(); - - GLint pack_alignment; - GLint pack_row_length; - GLint pack_skip_rows; - GLint pack_skip_pixels; - GLint pack_lsb_first; - GLint pack_swap_bytes; - GLint pack_skip_images; - GLint pack_image_height; - - GLint unpack_alignment; - GLint unpack_row_length; - GLint unpack_skip_rows; - GLint unpack_skip_pixels; - GLint unpack_lsb_first; - GLint unpack_swap_bytes; - GLint unpack_skip_images; - GLint unpack_image_height; -} ; - -extern OSG_EXPORT const GLubyte * gluErrorString (GLenum error); - -/** OSG specific gluScaleImage function that allows you to pass in the PixelStoreModes, which - * enables the code to avoid glGet's that are associated with the conventional gluScaleImage function. - * Avoiding glGet's allows this gluScaleImage function to be called at any time, from any thread, there - * is no need to have a graphics context current.*/ -extern OSG_EXPORT GLint gluScaleImage (PixelStorageModes* psm, GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut); - -/** Traditional GLU gluScaleImage function that sets up the PixelStoreModes automatically by doing glGets.; - * The use of glGet's means that you can only call this function from a thread with a valid graphics context. - * The use of glGet's will also result in lower performance due to the round trip to the OpenGL driver.*/ -extern OSG_EXPORT GLint gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut); - -extern OSG_EXPORT GLint gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); -extern OSG_EXPORT GLint gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); -extern OSG_EXPORT GLint gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); -extern OSG_EXPORT GLint gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); - -typedef void (GL_APIENTRY * GLTexImage3DProc) ( GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels); - -/** Small variation on normal gluBuild3DMipmapLevels as we pass in the function pointer to glTexImage3D rather than rely on GLU style query for this function pointer.*/ -extern OSG_EXPORT GLint gluBuild3DMipmapLevels (GLTexImage3DProc glTextImage3DProc, GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); - -/** Small variation on normal gluBuild3DMipmapLevels as we pass in the function pointer to glTexImage3D rather than rely on GLU style query for this function pointer.*/ -extern OSG_EXPORT GLint gluBuild3DMipmaps (GLTexImage3DProc glTextImage3DProc, GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); - -/* ErrorCode */ -#define GLU_INVALID_ENUM 100900 -#define GLU_INVALID_VALUE 100901 -#define GLU_OUT_OF_MEMORY 100902 -#define GLU_INCOMPATIBLE_GL_VERSION 100903 -#define GLU_INVALID_OPERATION 100904 - -/* Boolean */ -#define GLU_FALSE 0 -#define GLU_TRUE 1 - -/* QuadricDrawStyle */ -#define GLU_POINT 100010 -#define GLU_LINE 100011 -#define GLU_FILL 100012 -#define GLU_SILHOUETTE 100013 - -/* QuadricCallback */ -/* GLU_ERROR */ - -/* QuadricNormal */ -#define GLU_SMOOTH 100000 -#define GLU_FLAT 100001 -#define GLU_NONE 100002 - -/* QuadricOrientation */ -#define GLU_OUTSIDE 100020 -#define GLU_INSIDE 100021 - -/* TessCallback */ -#define GLU_TESS_BEGIN 100100 -#define GLU_BEGIN 100100 -#define GLU_TESS_VERTEX 100101 -#define GLU_VERTEX 100101 -#define GLU_TESS_END 100102 -#define GLU_END 100102 -#define GLU_TESS_ERROR 100103 -#define GLU_TESS_EDGE_FLAG 100104 -#define GLU_EDGE_FLAG 100104 -#define GLU_TESS_COMBINE 100105 -#define GLU_TESS_BEGIN_DATA 100106 -#define GLU_TESS_VERTEX_DATA 100107 -#define GLU_TESS_END_DATA 100108 -#define GLU_TESS_ERROR_DATA 100109 -#define GLU_TESS_EDGE_FLAG_DATA 100110 -#define GLU_TESS_COMBINE_DATA 100111 - -/* TessContour */ -#define GLU_CW 100120 -#define GLU_CCW 100121 -#define GLU_INTERIOR 100122 -#define GLU_EXTERIOR 100123 -#define GLU_UNKNOWN 100124 - -/* TessProperty */ -#define GLU_TESS_WINDING_RULE 100140 -#define GLU_TESS_BOUNDARY_ONLY 100141 -#define GLU_TESS_TOLERANCE 100142 - -/* TessError */ -#define GLU_TESS_ERROR1 100151 -#define GLU_TESS_ERROR2 100152 -#define GLU_TESS_ERROR3 100153 -#define GLU_TESS_ERROR4 100154 -#define GLU_TESS_ERROR5 100155 -#define GLU_TESS_ERROR6 100156 -#define GLU_TESS_ERROR7 100157 -#define GLU_TESS_ERROR8 100158 -#define GLU_TESS_MISSING_BEGIN_POLYGON 100151 -#define GLU_TESS_MISSING_BEGIN_CONTOUR 100152 -#define GLU_TESS_MISSING_END_POLYGON 100153 -#define GLU_TESS_MISSING_END_CONTOUR 100154 -#define GLU_TESS_COORD_TOO_LARGE 100155 -#define GLU_TESS_NEED_COMBINE_CALLBACK 100156 - -/* TessWinding */ -#define GLU_TESS_WINDING_ODD 100130 -#define GLU_TESS_WINDING_NONZERO 100131 -#define GLU_TESS_WINDING_POSITIVE 100132 -#define GLU_TESS_WINDING_NEGATIVE 100133 -#define GLU_TESS_WINDING_ABS_GEQ_TWO 100134 - -struct GLUtesselator; -typedef GLUtesselator GLUtesselatorObj; -typedef GLUtesselator GLUtriangulatorObj; - -#define GLU_TESS_MAX_COORD 1.0e150 - -/* Internal convenience typedefs */ -typedef void (GL_APIENTRY * _GLUfuncptr)(); -typedef void (GL_APIENTRY * GLU_TESS_CALLBACK)(); - -extern OSG_EXPORT GLUtesselator* GL_APIENTRY gluNewTess (void); -extern OSG_EXPORT void GL_APIENTRY gluDeleteTess (GLUtesselator* tess); - -extern OSG_EXPORT void GL_APIENTRY gluTessBeginContour (GLUtesselator* tess); -extern OSG_EXPORT void GL_APIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc); -extern OSG_EXPORT void GL_APIENTRY gluTessEndContour (GLUtesselator* tess); -extern OSG_EXPORT void GL_APIENTRY gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ); -extern OSG_EXPORT void GL_APIENTRY gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data); -extern OSG_EXPORT void GL_APIENTRY gluTessVertex (GLUtesselator* tess, GLdouble *location, GLvoid* data); -extern OSG_EXPORT void GL_APIENTRY gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data); -extern OSG_EXPORT void GL_APIENTRY gluTessEndPolygon (GLUtesselator* tess); -extern OSG_EXPORT void GL_APIENTRY gluGetTessProperty( GLUtesselator *tess, GLenum which, GLdouble *value ); - -} - -#endif // __osgGLU_h diff --git a/src/osg/osg/Geode b/src/osg/osg/Geode deleted file mode 100644 index 550adbcf..00000000 --- a/src/osg/osg/Geode +++ /dev/null @@ -1,145 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_GEODE -#define OSG_GEODE 1 - -#include -#include -#include - -namespace osg { - -/** A \c Geode is a "geometry node", that is, a leaf node on the scene graph - * that can have "renderable things" attached to it. In OSG, renderable things - * are represented by objects from the \c Drawable class, so a \c Geode is a - * \c Node whose purpose is grouping Drawables. -*/ -class OSG_EXPORT Geode : public Group -{ - public: - - Geode(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - Geode(const Geode&,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_Node(osg, Geode); - - virtual Geode* asGeode() { return this; } - virtual const Geode* asGeode() const { return this; } - - /** Add a \c Drawable to the \c Geode. - * If \c drawable is not \c NULL and is not contained in the \c Geode - * then increment its reference count, add it to the drawables list and - * dirty the bounding sphere to force it to be recomputed on the next - * call to \c getBound(). - * @param drawable The \c Drawable to be added to the \c Geode. - * @return \c true for success; \c false otherwise. - */ - virtual bool addDrawable( Drawable *drawable ); - - /** Remove a \c Drawable from the \c Geode. - * Equivalent to removeDrawable(getDrawableIndex(drawable). - * @param drawable The drawable to be removed. - * @return \c true if at least one \c Drawable was removed. \c false - * otherwise. - */ - virtual bool removeDrawable( Drawable *drawable ); - - /** Remove Drawable(s) from the specified position in - * Geode's drawable list. - * @param i The index of the first \c Drawable to remove. - * @param numDrawablesToRemove The number of Drawable to - * remove. - * @return \c true if at least one \c Drawable was removed. \c false - * otherwise. - */ - virtual bool removeDrawables(unsigned int i,unsigned int numDrawablesToRemove=1); - - /** Replace specified Drawable with another Drawable. - * Equivalent to setDrawable(getDrawableIndex(origDraw),newDraw), - * see docs for \c setDrawable() for further details on implementation. - */ - virtual bool replaceDrawable( Drawable *origDraw, Drawable *newDraw ); - - /** Set \c Drawable at position \c i. - * Decrement the reference count origGSet and increments the - * reference count of newGset, and dirty the bounding sphere - * to force it to recompute on next getBound() and returns true. - * If origDrawable is not found then return false and do not - * add newGset. If newGset is NULL then return false and do - * not remove origGset. - * @return \c true if set correctly, \c false on failure - * (if node==NULL || i is out of range). - */ - virtual bool setDrawable( unsigned int i, Drawable* drawable ); - - /** Return the number of Drawables currently attached to the - * \c Geode. - */ - inline unsigned int getNumDrawables() const { return getNumChildren(); } - - /** Return the \c Drawable at position \c i.*/ - inline Drawable* getDrawable( unsigned int i ) { return _children[i].valid() ? _children[i]->asDrawable() : 0; } - - /** Return the \c Drawable at position \c i.*/ - inline const Drawable* getDrawable( unsigned int i ) const { return _children[i].valid() ? _children[i]->asDrawable() : 0; } - - /** Return \c true if a given \c Drawable is contained within \c Geode.*/ - inline bool containsDrawable(const Drawable* drawable) const - { - for (NodeList::const_iterator itr=_children.begin(); - itr!=_children.end(); - ++itr) - { - if (itr->get() == drawable) return true; - } - return false; - } - - /** Get the index number of \c drawable. - * @return A value between 0 and getNumDrawables()-1 if - * \c drawable is found; if not found, then - * getNumDrawables() is returned. - */ - inline unsigned int getDrawableIndex( const Drawable* drawable ) const - { - return getChildIndex(drawable); - } - - /** Compile OpenGL Display List for each drawable.*/ - void compileDrawables(RenderInfo& renderInfo); - - /** Return the Geode's bounding box, which is the union of all the - * bounding boxes of the geode's drawables.*/ - inline const BoundingBox& getBoundingBox() const - { - if(!_boundingSphereComputed) getBound(); - return _bbox; - } - - virtual BoundingSphere computeBound() const; - - - protected: - - virtual ~Geode(); - - mutable osg::BoundingBox _bbox; - -}; - -} - -#endif diff --git a/src/osg/osg/Geometry b/src/osg/osg/Geometry deleted file mode 100644 index 3289ae70..00000000 --- a/src/osg/osg/Geometry +++ /dev/null @@ -1,360 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_GEOMETRY -#define OSG_GEOMETRY 1 - -#include -#include -#include -#include -#include -#include - -// leave defined for OpenSceneGraph-3.2 release, post 3.2 associated methods will be only be available in deprecated_osg::Geometry -#define OSG_DEPRECATED_GEOMETRY_BINDING 1 - -namespace osg { - - -class OSG_EXPORT Geometry : public Drawable -{ - public: - - Geometry(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - Geometry(const Geometry& geometry,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_Node(osg, Geometry); - - virtual Geometry* asGeometry() { return this; } - virtual const Geometry* asGeometry() const { return this; } - - bool empty() const; - - typedef std::vector< osg::ref_ptr > ArrayList; - - void setVertexArray(Array* array); - Array* getVertexArray() { return _vertexArray.get(); } - const Array* getVertexArray() const { return _vertexArray.get(); } - - - void setNormalArray(Array* array) { setNormalArray(array, osg::Array::BIND_UNDEFINED); } - void setNormalArray(Array* array, osg::Array::Binding binding); - Array* getNormalArray() { return _normalArray.get(); } - const Array* getNormalArray() const { return _normalArray.get(); } - - - - void setColorArray(Array* array) { setColorArray(array, osg::Array::BIND_UNDEFINED); } - void setColorArray(Array* array, osg::Array::Binding binding); - Array* getColorArray() { return _colorArray.get(); } - const Array* getColorArray() const { return _colorArray.get(); } - - - - void setSecondaryColorArray(Array* array) { setSecondaryColorArray(array, osg::Array::BIND_UNDEFINED); } - void setSecondaryColorArray(Array* array, osg::Array::Binding binding); - Array* getSecondaryColorArray() { return _secondaryColorArray.get(); } - const Array* getSecondaryColorArray() const { return _secondaryColorArray.get(); } - - - void setFogCoordArray(Array* array) { setFogCoordArray(array, osg::Array::BIND_UNDEFINED); } - void setFogCoordArray(Array* array, osg::Array::Binding binding); - Array* getFogCoordArray() { return _fogCoordArray.get(); } - const Array* getFogCoordArray() const { return _fogCoordArray.get(); } - - - void setTexCoordArray(unsigned int unit, Array* array) { setTexCoordArray(unit, array, osg::Array::BIND_UNDEFINED); } - void setTexCoordArray(unsigned int unit, Array* array, osg::Array::Binding binding); - Array* getTexCoordArray(unsigned int unit); - const Array* getTexCoordArray(unsigned int unit) const; - - unsigned int getNumTexCoordArrays() const { return static_cast(_texCoordList.size()); } - void setTexCoordArrayList(const ArrayList& arrrayList); - ArrayList& getTexCoordArrayList() { return _texCoordList; } - const ArrayList& getTexCoordArrayList() const { return _texCoordList; } - - void setVertexAttribArray(unsigned int index, Array* array) { setVertexAttribArray(index, array, osg::Array::BIND_UNDEFINED); } - void setVertexAttribArray(unsigned int index, Array* array, osg::Array::Binding binding); - Array *getVertexAttribArray(unsigned int index); - const Array *getVertexAttribArray(unsigned int index) const; - - - unsigned int getNumVertexAttribArrays() const { return static_cast(_vertexAttribList.size()); } - void setVertexAttribArrayList(const ArrayList& arrayList); - ArrayList& getVertexAttribArrayList() { return _vertexAttribList; } - const ArrayList& getVertexAttribArrayList() const { return _vertexAttribList; } - - - - typedef std::vector< ref_ptr > PrimitiveSetList; - - void setPrimitiveSetList(const PrimitiveSetList& primitives); - - PrimitiveSetList& getPrimitiveSetList() { return _primitives; } - const PrimitiveSetList& getPrimitiveSetList() const { return _primitives; } - - unsigned int getNumPrimitiveSets() const { return static_cast(_primitives.size()); } - PrimitiveSet* getPrimitiveSet(unsigned int pos) { return _primitives[pos].get(); } - const PrimitiveSet* getPrimitiveSet(unsigned int pos) const { return _primitives[pos].get(); } - - /** Add a primitive set to the geometry. */ - bool addPrimitiveSet(PrimitiveSet* primitiveset); - - /** Set a primitive set to the specified position in geometry's primitive set list. */ - bool setPrimitiveSet(unsigned int i,PrimitiveSet* primitiveset); - - /** Insert a primitive set to the specified position in geometry's primitive set list. */ - bool insertPrimitiveSet(unsigned int i,PrimitiveSet* primitiveset); - - /** Remove primitive set(s) from the specified position in geometry's primitive set list. */ - bool removePrimitiveSet(unsigned int i,unsigned int numElementsToRemove=1); - - /** Get the index number of a primitive set, return a value between - * 0 and getNumPrimitiveSet()-1 if found, if not found then return getNumPrimitiveSet(). - * When checking for a valid find value use if ((value=geometry->getPrimitiveSetIndex(primitive))!=geometry.getNumPrimitiveSet()) - */ - unsigned int getPrimitiveSetIndex(const PrimitiveSet* primitiveset) const; - - - /** return true if any arrays are shared.*/ - bool containsSharedArrays() const; - - /** duplicate any shared arrays.*/ - void duplicateSharedArrays(); - - - /** When set to true, ignore the setUseDisplayList() settings, and hints to the drawImplementation - method to use OpenGL vertex buffer objects for rendering.*/ - virtual void setUseVertexBufferObjects(bool flag); - - /** Force a recompile on next draw() of any OpenGL display list associated with this geoset.*/ - virtual void dirtyDisplayList(); - - - /** Resize any per context GLObject buffers to specified size. */ - virtual void resizeGLObjectBuffers(unsigned int maxSize); - - /** If State is non-zero, this function releases OpenGL objects for - * the specified graphics context. Otherwise, releases OpenGL objects - * for all graphics contexts. */ - virtual void releaseGLObjects(State* state=0) const; - - bool getArrayList(ArrayList& arrayList) const; - - typedef std::vector DrawElementsList; - bool getDrawElementsList(DrawElementsList& drawElementsList) const; - - osg::VertexBufferObject* getOrCreateVertexBufferObject(); - osg::ElementBufferObject* getOrCreateElementBufferObject(); - - - /** Return the estimated size of GLObjects (display lists/vertex buffer objects) that are associated with this drawable. - * This size is used a hint for reuse of deleted display lists/vertex buffer objects. */ - virtual unsigned int getGLObjectSizeHint() const; - - /** Immediately compile this \c Drawable into an OpenGL Display List/VertexBufferObjects. - * @note Operation is ignored if \c _useDisplayList is \c false or VertexBufferObjects are not used. - */ - virtual void compileGLObjects(RenderInfo& renderInfo) const; - - /** Draw Geometry directly ignoring an OpenGL display list which could be attached. - * This is the internal draw method which does the drawing itself, - * and is the method to override when deriving from Geometry for user-drawn objects. - */ - virtual void drawImplementation(RenderInfo& renderInfo) const; - - /** Set up the vertex arrays for the purpose of rendering, called by drawImplemtation() prior to it calling drawPrimitivesImplementation().*/ - void drawVertexArraysImplementation(RenderInfo& renderInfo) const; - - /** dispatch the primitives to OpenGL, called by drawImplemtation() after calling drawVertexArraysImplementation().*/ - void drawPrimitivesImplementation(RenderInfo& renderInfo) const; - - /** Return true, osg::Geometry does support accept(Drawable::AttributeFunctor&). */ - virtual bool supports(const Drawable::AttributeFunctor&) const { return true; } - - /** Accept an Drawable::AttributeFunctor and call its methods to tell it about the internal attributes that this Drawable has. */ - virtual void accept(Drawable::AttributeFunctor& af); - - /** Return true, osg::Geometry does support accept(Drawable::ConstAttributeFunctor&). */ - virtual bool supports(const Drawable::ConstAttributeFunctor&) const { return true; } - - /** Accept a Drawable::ConstAttributeFunctor and call its methods to tell it about the internal attributes that this Drawable has. */ - virtual void accept(Drawable::ConstAttributeFunctor& af) const; - - /** Return true, osg::Geometry does support accept(PrimitiveFunctor&). */ - virtual bool supports(const PrimitiveFunctor&) const { return true; } - - /** Accept a PrimitiveFunctor and call its methods to tell it about the internal primitives that this Drawable has. */ - virtual void accept(PrimitiveFunctor& pf) const; - - /** Return true, osg::Geometry does support accept(PrimitiveIndexFunctor&). */ - virtual bool supports(const PrimitiveIndexFunctor&) const { return true; } - - /** Accept a PrimitiveFunctor and call its methods to tell it about the internal primitives that this Drawable has. */ - virtual void accept(PrimitiveIndexFunctor& pf) const; - - - protected: - - Geometry& operator = (const Geometry&) { return *this;} - - virtual ~Geometry(); - - - void addVertexBufferObjectIfRequired(osg::Array* array); - void addElementBufferObjectIfRequired(osg::PrimitiveSet* primitiveSet); - - - PrimitiveSetList _primitives; - osg::ref_ptr _vertexArray; - osg::ref_ptr _normalArray; - osg::ref_ptr _colorArray; - osg::ref_ptr _secondaryColorArray; - osg::ref_ptr _fogCoordArray; - ArrayList _texCoordList; - ArrayList _vertexAttribList; - - bool _containsDeprecatedData; - - public: - - - /** Return true if the deprecated use array indices or BIND_PER_PRIMITIVE binding has been assigned to arrays.*/ - bool containsDeprecatedData() const { return _containsDeprecatedData; } - - /** fallback for deprecated functionality. Return true if the Geometry contains any array indices or BIND_PER_PRIMITIVE arrays. */ - bool checkForDeprecatedData(); - - /** fallback for deprecated functionality. Removes any array indices and BIND_PER_PRIMITIVE arrays.*/ - void fixDeprecatedData(); - -#if defined(OSG_DEPRECATED_GEOMETRY_BINDING) - /** deprecated, Same values as Array::Binding.*/ - enum AttributeBinding - { - BIND_OFF=0, - BIND_OVERALL=1, - BIND_PER_PRIMITIVE_SET=2, - BIND_PER_VERTEX=4 - }; - - /** deprecated, use array->set*Binding(..). */ - void setNormalBinding(AttributeBinding ab); - void setColorBinding(AttributeBinding ab); - void setSecondaryColorBinding(AttributeBinding ab); - void setFogCoordBinding(AttributeBinding ab); - void setVertexAttribBinding(unsigned int index,AttributeBinding ab); - - /** deprecated, use array->get*Binding(..). */ - AttributeBinding getNormalBinding() const; - AttributeBinding getColorBinding() const; - AttributeBinding getSecondaryColorBinding() const; - AttributeBinding getFogCoordBinding() const; - AttributeBinding getVertexAttribBinding(unsigned int index) const; - - /** deprecated, use array->set*Normalize(..). */ - void setVertexAttribNormalize(unsigned int index,GLboolean norm); - - /** deprecated, use array->get*Normalize(..). */ - GLboolean getVertexAttribNormalize(unsigned int index) const; -#endif -}; - -/** Convenience function to be used for creating quad geometry with texture coords. - * Tex coords go from left bottom (l,b) to right top (r,t). -*/ -extern OSG_EXPORT Geometry* createTexturedQuadGeometry(const Vec3& corner,const Vec3& widthVec,const Vec3& heightVec, float l, float b, float r, float t); - -/** Convenience function to be used for creating quad geometry with texture coords. - * Tex coords go from bottom left (0,0) to top right (s,t). -*/ -inline Geometry* createTexturedQuadGeometry(const Vec3& corner,const Vec3& widthVec,const Vec3& heightVec, float s=1.0f, float t=1.0f) -{ - return createTexturedQuadGeometry(corner,widthVec,heightVec, 0.0f, 0.0f, s, t); -} - -} // namespace osg - - - -/** Contains deprecated features of namespace osg. */ -namespace deprecated_osg { - -/** Geometry class contaning deprecated features. - * Users should only use deprecated_osg::Geometry when absolutely necessary for keeping things compiling, - * it is recommended that you should migrate your code to work just with osg::Geometry as existing - * deprecated_osg::Geometry will be removed in future release. -*/ -class OSG_EXPORT Geometry : public osg::Geometry -{ - public: - Geometry() : osg::Geometry() {} - Geometry(const Geometry& geometry,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY) : osg::Geometry(geometry, copyop) {} - - /** Same values as Array::Binding.*/ - enum AttributeBinding - { - BIND_OFF=0, - BIND_OVERALL=1, - BIND_PER_PRIMITIVE_SET=2, - BIND_PER_PRIMITIVE=3, - BIND_PER_VERTEX=4 - }; - - void setNormalBinding(AttributeBinding ab); - AttributeBinding getNormalBinding() const; - - void setColorBinding(AttributeBinding ab); - AttributeBinding getColorBinding() const; - - void setSecondaryColorBinding(AttributeBinding ab); - AttributeBinding getSecondaryColorBinding() const; - - void setFogCoordBinding(AttributeBinding ab); - AttributeBinding getFogCoordBinding() const; - - void setVertexAttribBinding(unsigned int index,AttributeBinding ab); - AttributeBinding getVertexAttribBinding(unsigned int index) const; - - void setVertexAttribNormalize(unsigned int index,GLboolean norm); - GLboolean getVertexAttribNormalize(unsigned int index) const; - - void setVertexIndices(osg::IndexArray* array); - const osg::IndexArray* getVertexIndices() const; - - void setNormalIndices(osg::IndexArray* array); - const osg::IndexArray* getNormalIndices() const; - - void setColorIndices(osg::IndexArray* array); - const osg::IndexArray* getColorIndices() const; - - void setSecondaryColorIndices(osg::IndexArray* array); - const osg::IndexArray* getSecondaryColorIndices() const; - - void setFogCoordIndices(osg::IndexArray* array); - const osg::IndexArray* getFogCoordIndices() const; - - void setTexCoordIndices(unsigned int unit,osg::IndexArray* array); - const osg::IndexArray* getTexCoordIndices(unsigned int unit) const; - - void setVertexAttribIndices(unsigned int index,osg::IndexArray* array); - const osg::IndexArray* getVertexAttribIndices(unsigned int index) const; - -}; - -} // namespace deprecated_osg - -#endif diff --git a/src/osg/osg/GraphicsContext b/src/osg/osg/GraphicsContext deleted file mode 100644 index ec06b29e..00000000 --- a/src/osg/osg/GraphicsContext +++ /dev/null @@ -1,549 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_GRAPHICSCONTEXT -#define OSG_GRAPHICSCONTEXT 1 - -#include -#include -#include - -#include - -namespace osg { - -// forward declare osg::Camera -class Camera; - -/** Base class for providing Windowing API agnostic access to creating and managing graphics context.*/ -class OSG_EXPORT GraphicsContext : public Object -{ - public: - - struct OSG_EXPORT ScreenIdentifier - { - ScreenIdentifier(); - - ScreenIdentifier(int in_screenNum); - - ScreenIdentifier(const std::string& in_hostName,int in_displayNum, int in_screenNum); - - /** Return the display name in the form hostName::displayNum:screenNum. */ - std::string displayName() const; - - /** Read the DISPLAY environmental variable, and set the ScreenIdentifier accordingly. - * Note, if either of displayNum or screenNum are not defined then -1 is set respectively to - * signify that this parameter has not been set. When parameters are undefined one can call - * call setUndefinedScreenDetailsToDefaultScreen() after readDISPLAY() to ensure valid values. */ - void readDISPLAY(); - - /** Set the screenIndentifier from the displayName string. - * Note, if either of displayNum or screenNum are not defined then -1 is set to - * signify that this parameter has not been set. When parameters are undefined one can call - * call setUndefinedScreenDetailsToDefaultScreen() after readDISPLAY() to ensure valid values. */ - void setScreenIdentifier(const std::string& displayName); - - /** Set any undefined displayNum or screenNum values (i.e. -1) to the default display & screen of 0 respectively.*/ - void setUndefinedScreenDetailsToDefaultScreen() - { - if (displayNum<0) displayNum = 0; - if (screenNum<0) screenNum = 0; - } - - std::string hostName; - int displayNum; - int screenNum; - }; - - /** GraphicsContext Traits object provides the specification of what type of graphics context is required.*/ - struct OSG_EXPORT Traits : public osg::Referenced, public ScreenIdentifier - { - Traits(DisplaySettings* ds=0); - - // graphics context original and size - int x; - int y; - int width; - int height; - - // window decoration and behaviour - std::string windowName; - bool windowDecoration; - bool supportsResize; - - // buffer depths, 0 equals off. - unsigned int red; - unsigned int blue; - unsigned int green; - unsigned int alpha; - unsigned int depth; - unsigned int stencil; - - // multi sample parameters - unsigned int sampleBuffers; - unsigned int samples; - - // buffer configuration - bool pbuffer; - bool quadBufferStereo; - bool doubleBuffer; - - // render to texture - GLenum target; - GLenum format; - unsigned int level; - unsigned int face; - unsigned int mipMapGeneration; - - // V-sync - bool vsync; - - // Swap Group - bool swapGroupEnabled; - GLuint swapGroup; - GLuint swapBarrier; - - // use multithreaded OpenGL-engine (OS X only) - bool useMultiThreadedOpenGLEngine; - - // enable cursor - bool useCursor; - - // settings used in set up of graphics context, only presently used by GL3 build of OSG. - std::string glContextVersion; - unsigned int glContextFlags; - unsigned int glContextProfileMask; - - /** return true if glContextVersion is set in the form major.minor, and assign the appropriate major and minor values to the associated parameters.*/ - bool getContextVersion(unsigned int& major, unsigned int& minor) const; - - // shared context - osg::observer_ptr sharedContext; - - osg::ref_ptr inheritedWindowData; - - // ask the GraphicsWindow implementation to set the pixel format of an inherited window - bool setInheritedWindowPixelFormat; - - // X11 hint whether to override the window managers window size/position redirection - bool overrideRedirect; - - DisplaySettings::SwapMethod swapMethod; - }; - - /** Simple resolution structure used by WindowingSystemInterface to get and set screen resolution. - * Note the '0' value stands for 'unset'. */ - struct ScreenSettings { - ScreenSettings() : - width(0), - height(0), - refreshRate(0), - colorDepth(0) - {} - ScreenSettings(int width, int height, double refreshRate=0, unsigned int colorDepth=0) : - width(width), - height(height), - refreshRate(refreshRate), - colorDepth(colorDepth) - {} - - int width; - int height; - double refreshRate; ///< Screen refresh rate, in Hz. - unsigned int colorDepth; ///< RGB(A) color buffer depth. - }; - - typedef std::vector ScreenSettingsList; - - /** Callback to be implemented to provide access to Windowing API's ability to create Windows/pbuffers.*/ - struct WindowingSystemInterface : public osg::Referenced - { - virtual unsigned int getNumScreens(const ScreenIdentifier& screenIdentifier = ScreenIdentifier()) = 0; - - virtual void getScreenSettings(const ScreenIdentifier& screenIdentifier, ScreenSettings & resolution) = 0; - - virtual bool setScreenSettings(const ScreenIdentifier& /*screenIdentifier*/, const ScreenSettings & /*resolution*/) { return false; } - - virtual void enumerateScreenSettings(const ScreenIdentifier& screenIdentifier, ScreenSettingsList & resolutionList) = 0; - - virtual void setDisplaySettings(DisplaySettings*) {} - - virtual osg::DisplaySettings* getDisplaySettings() const { return 0; } - - virtual GraphicsContext* createGraphicsContext(Traits* traits) = 0; - - virtual ~WindowingSystemInterface() {} - - - /** Gets screen resolution without using the ScreenResolution structure. - * \deprecated Provided only for backward compatibility. */ - inline void getScreenResolution(const ScreenIdentifier& screenIdentifier, unsigned int& width, unsigned int& height) - { - ScreenSettings settings; - getScreenSettings(screenIdentifier, settings); - width = settings.width; - height = settings.height; - } - - /** Sets screen resolution without using the ScreenSettings structure. - * \deprecated Provided only for backward compatibility. */ - inline bool setScreenResolution(const ScreenIdentifier& screenIdentifier, unsigned int width, unsigned int height) - { - return setScreenSettings(screenIdentifier, ScreenSettings(width, height)); - } - - /** \deprecated Provided only for backward compatibility. */ - inline bool setScreenRefreshRate(const ScreenIdentifier& screenIdentifier, double refreshRate) - { - ScreenSettings settings; - getScreenSettings(screenIdentifier, settings); - settings.refreshRate = refreshRate; - return setScreenSettings(screenIdentifier, settings); - } - - }; - - - /** Set the query the windowing system for screens and create graphics context - this functor should be supplied by the windows toolkit. */ - static void setWindowingSystemInterface(WindowingSystemInterface* wsInterface); - - /** Get the WindowingSystemInterface*/ - static WindowingSystemInterface* getWindowingSystemInterface(); - - /** Create a graphics context for a specified set of traits.*/ - static GraphicsContext* createGraphicsContext(Traits* traits); - - /** Create a contextID for a new graphics context, this contextID is used to set up the osg::State associate with context. - * Automatically increments the usage count of the contextID to 1.*/ - static unsigned int createNewContextID(); - - /** Get the current max ContextID.*/ - static unsigned int getMaxContextID(); - - /** Increment the usage count associate with a contextID. The usage count specifies how many graphics contexts a specific contextID is shared between.*/ - static void incrementContextIDUsageCount(unsigned int contextID); - - /** Decrement the usage count associate with a contextID. Once the contextID goes to 0 the contextID is then free to be reused.*/ - static void decrementContextIDUsageCount(unsigned int contextID); - - typedef std::vector GraphicsContexts; - - /** Get all the registered graphics contexts.*/ - static GraphicsContexts getAllRegisteredGraphicsContexts(); - - /** Get all the registered graphics contexts associated with a specific contextID.*/ - static GraphicsContexts getRegisteredGraphicsContexts(unsigned int contextID); - - /** Get the GraphicsContext for doing background compilation for GraphicsContexts associated with specified contextID.*/ - static void setCompileContext(unsigned int contextID, GraphicsContext* gc); - - /** Get existing or create a new GraphicsContext to do background compilation for GraphicsContexts associated with specified contextID.*/ - static GraphicsContext* getOrCreateCompileContext(unsigned int contextID); - - /** Get the GraphicsContext for doing background compilation for GraphicsContexts associated with specified contextID.*/ - static GraphicsContext* getCompileContext(unsigned int contextID); - - public: - - /** Add operation to end of OperationQueue.*/ - void add(Operation* operation); - - /** Remove operation from OperationQueue.*/ - void remove(Operation* operation); - - /** Remove named operation from OperationQueue.*/ - void remove(const std::string& name); - - /** Remove all operations from OperationQueue.*/ - void removeAllOperations(); - - /** Run the operations. */ - virtual void runOperations(); - - typedef std::list< ref_ptr > GraphicsOperationQueue; - - /** Get the operations queue, note you must use the OperationsMutex when accessing the queue.*/ - GraphicsOperationQueue& getOperationsQueue() { return _operations; } - - /** Get the operations queue mutex.*/ - OpenThreads::Mutex* getOperationsMutex() { return &_operationsMutex; } - - /** Get the operations queue block used to mark an empty queue, if you end items into the empty queue you must release this block.*/ - osg::RefBlock* getOperationsBlock() { return _operationsBlock.get(); } - - /** Get the current operations that is being run.*/ - Operation* getCurrentOperation() { return _currentOperation.get(); } - - - public: - - /** Get the traits of the GraphicsContext.*/ - inline const Traits* getTraits() const { return _traits.get(); } - - /** Return whether a valid and usable GraphicsContext has been created.*/ - virtual bool valid() const = 0; - - - /** Set the State object which tracks the current OpenGL state for this graphics context.*/ - inline void setState(State* state) { _state = state; } - - /** Get the State object which tracks the current OpenGL state for this graphics context.*/ - inline State* getState() { return _state.get(); } - - /** Get the const State object which tracks the current OpenGL state for this graphics context.*/ - inline const State* getState() const { return _state.get(); } - - - /** Sets the clear color. */ - inline void setClearColor(const Vec4& color) { _clearColor = color; } - - /** Returns the clear color. */ - inline const Vec4& getClearColor() const { return _clearColor; } - - /** Set the clear mask used in glClear(..). - * Defaults to 0 - so no clear is done by default by the GraphicsContext, instead the Cameras attached to the GraphicsContext will do the clear. - * GraphicsContext::setClearMask() is useful for when the Camera Viewports don't cover the whole context, so the context will fill in the gaps. */ - inline void setClearMask(GLbitfield mask) { _clearMask = mask; } - - /** Get the clear mask.*/ - inline GLbitfield getClearMask() const { return _clearMask; } - - /** Do an OpenGL clear of the full graphics context/window. - * Note, must only be called from a thread with this context current.*/ - virtual void clear(); - - double getTimeSinceLastClear() const { return osg::Timer::instance()->delta_s(_lastClearTick, osg::Timer::instance()->tick()); } - - - /** Realize the GraphicsContext.*/ - bool realize(); - - /** close the graphics context. - * close(bool) stops any associated graphics threads, releases the contextID for the GraphicsContext then - * optional calls closeImplementation() to do the actual deletion of the graphics. This call is made optional - * as there are times when the graphics context has already been deleted externally and only the OSG side - * of the its data need to be closed down. */ - void close(bool callCloseImplementation=true); - - /** swap the front and back buffers.*/ - void swapBuffers(); - - /** Return true if the graphics context has been realized and is ready to use.*/ - inline bool isRealized() const { return isRealizedImplementation(); } - - - /** Make this graphics context current. - * Implemented by calling makeCurrentImplementation(). - * Returns true on success. */ - bool makeCurrent(); - - /** Make this graphics context current with specified read context. - * Implemented by calling makeContextCurrentImplementation(). - * Returns true on success. */ - bool makeContextCurrent(GraphicsContext* readContext); - - /** Release the graphics context. - * Returns true on success. */ - bool releaseContext(); - - /** Return true if the current thread has this OpenGL graphics context.*/ - inline bool isCurrent() const { return _threadOfLastMakeCurrent == OpenThreads::Thread::CurrentThread(); } - - /** Bind the graphics context to associated texture.*/ - inline void bindPBufferToTexture(GLenum buffer) { bindPBufferToTextureImplementation(buffer); } - - - - /** Create a graphics thread to the graphics context, so that the thread handles all OpenGL operations.*/ - void createGraphicsThread(); - - /** Assign a graphics thread to the graphics context, so that the thread handles all OpenGL operations.*/ - void setGraphicsThread(GraphicsThread* gt); - - /** Get the graphics thread assigned the graphics context.*/ - GraphicsThread* getGraphicsThread() { return _graphicsThread.get(); } - - /** Get the const graphics thread assigned the graphics context.*/ - const GraphicsThread* getGraphicsThread() const { return _graphicsThread.get(); } - - - /** Realize the GraphicsContext implementation, - * Pure virtual - must be implemented by concrete implementations of GraphicsContext. */ - virtual bool realizeImplementation() = 0; - - /** Return true if the graphics context has been realized, and is ready to use, implementation. - * Pure virtual - must be implemented by concrete implementations of GraphicsContext. */ - virtual bool isRealizedImplementation() const = 0; - - /** Close the graphics context implementation. - * Pure virtual - must be implemented by concrete implementations of GraphicsContext. */ - virtual void closeImplementation() = 0; - - /** Make this graphics context current implementation. - * Pure virtual - must be implemented by concrete implementations of GraphicsContext. */ - virtual bool makeCurrentImplementation() = 0; - - /** Make this graphics context current with specified read context implementation. - * Pure virtual - must be implemented by concrete implementations of GraphicsContext. */ - virtual bool makeContextCurrentImplementation(GraphicsContext* readContext) = 0; - - /** Release the graphics context implementation.*/ - virtual bool releaseContextImplementation() = 0; - - /** Pure virtual, Bind the graphics context to associated texture implementation. - * Pure virtual - must be implemented by concrete implementations of GraphicsContext. */ - virtual void bindPBufferToTextureImplementation(GLenum buffer) = 0; - - struct SwapCallback : public osg::Referenced - { - virtual void swapBuffersImplementation(GraphicsContext* gc) = 0; - }; - /** Set the swap callback which overrides the - * GraphicsContext::swapBuffersImplementation(), allowing - * developers to provide custom behavior for swap. - * The callback must call - * GraphicsContext::swapBuffersImplementation() */ - void setSwapCallback(SwapCallback* rc) { _swapCallback = rc; } - - /** Get the swap callback which overrides the GraphicsContext::swapBuffersImplementation().*/ - SwapCallback* getSwapCallback() { return _swapCallback.get(); } - - /** Get the const swap callback which overrides the GraphicsContext::swapBuffersImplementation().*/ - const SwapCallback* getSwapCallback() const { return _swapCallback.get(); } - - /** Convenience method for handling whether to call swapbuffers callback or the standard context swapBuffersImplementation. - * swapBuffersCallbackOrImplemenation() is called by swapBuffers() and osg::SwapBuffersOperation, end users should normally - * call swapBuffers() rather than swapBuffersCallbackOrImplemenation(). */ - void swapBuffersCallbackOrImplemenation() - { - if (_state.valid()) _state->frameCompleted(); - - if (_swapCallback.valid()) _swapCallback->swapBuffersImplementation(this); - else swapBuffersImplementation(); - } - - /** Swap the front and back buffers implementation. - * Pure virtual - must be implemented by concrete implementations of GraphicsContext. */ - virtual void swapBuffersImplementation() = 0; - - - - /** resized method should be called when the underlying window has been resized and the GraphicsWindow and associated Cameras must - be updated to keep in sync with the new size. */ - void resized(int x, int y, int width, int height) - { - if (_resizedCallback.valid()) _resizedCallback->resizedImplementation(this, x, y, width, height); - else resizedImplementation(x, y, width, height); - } - - struct ResizedCallback : public osg::Referenced - { - virtual void resizedImplementation(GraphicsContext* gc, int x, int y, int width, int height) = 0; - }; - - /** Set the resized callback which overrides the GraphicsConext::realizedImplementation(), allow developers to provide custom behavior - * in response to a window being resized.*/ - void setResizedCallback(ResizedCallback* rc) { _resizedCallback = rc; } - - /** Get the resized callback which overrides the GraphicsConext::realizedImplementation().*/ - ResizedCallback* getResizedCallback() { return _resizedCallback.get(); } - - /** Get the const resized callback which overrides the GraphicsConext::realizedImplementation().*/ - const ResizedCallback* getResizedCallback() const { return _resizedCallback.get(); } - - /** resized implementation, by default resizes the viewports and aspect ratios the cameras associated with the graphics Window. */ - virtual void resizedImplementation(int x, int y, int width, int height); - - - typedef std::list< osg::Camera* > Cameras; - - /** Get the list of cameras associated with this graphics context.*/ - Cameras& getCameras() { return _cameras; } - - /** Get the const list of cameras associated with this graphics context.*/ - const Cameras& getCameras() const { return _cameras; } - - /** set the default FBO-id, this id will be used when the rendering-backend is finished with RTT FBOs */ - void setDefaultFboId(GLuint i) { _defaultFboId = i; } - - GLuint getDefaultFboId() const { return _defaultFboId; } - - public: - - virtual bool isSameKindAs(const Object* object) const { return dynamic_cast(object)!=0; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "GraphicsContext"; } - - protected: - - GraphicsContext(); - GraphicsContext(const GraphicsContext&, const osg::CopyOp&); - - virtual ~GraphicsContext(); - - virtual Object* cloneType() const { return 0; } - virtual Object* clone(const CopyOp&) const { return 0; } - - /** Register a GraphicsContext.*/ - static void registerGraphicsContext(GraphicsContext* gc); - - /** Unregister a GraphicsContext.*/ - static void unregisterGraphicsContext(GraphicsContext* gc); - - - void addCamera(osg::Camera* camera); - void removeCamera(osg::Camera* camera); - - Cameras _cameras; - - friend class osg::Camera; - - ref_ptr _traits; - ref_ptr _state; - - Vec4 _clearColor; - GLbitfield _clearMask; - - OpenThreads::Thread* _threadOfLastMakeCurrent; - - OpenThreads::Mutex _operationsMutex; - osg::ref_ptr _operationsBlock; - GraphicsOperationQueue _operations; - osg::ref_ptr _currentOperation; - - ref_ptr _graphicsThread; - - ref_ptr _resizedCallback; - ref_ptr _swapCallback; - - Timer_t _lastClearTick; - - GLuint _defaultFboId; -}; - -//#include - - -class OSG_EXPORT SyncSwapBuffersCallback : public GraphicsContext::SwapCallback -{ -public: - SyncSwapBuffersCallback(); - - virtual void swapBuffersImplementation(GraphicsContext* gc); - - GLsync _previousSync; -}; - -} - -#endif diff --git a/src/osg/osg/GraphicsCostEstimator b/src/osg/osg/GraphicsCostEstimator deleted file mode 100644 index 88fbc1ec..00000000 --- a/src/osg/osg/GraphicsCostEstimator +++ /dev/null @@ -1,142 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_GRAPHICSCOSTESTIMATOR -#define OSG_GRAPHICSCOSTESTIMATOR - -#include -#include -#include - -namespace osg -{ - -class Geometry; -class Texture; -class Program; -class Node; -class RenderInfo; - -struct ClampedLinearCostFunction1D -{ - ClampedLinearCostFunction1D(double cost0=0.0, double dcost_di=0.0, unsigned int min_input=0): - _cost0(cost0), - _dcost_di(dcost_di), - _min_input(min_input) {} - - void set(double cost0, double dcost_di, unsigned int min_input) - { - _cost0 = cost0; - _dcost_di = dcost_di; - _min_input = min_input; - } - - double operator() (unsigned int input) const - { - return _cost0 + _dcost_di * double(input<=_min_input ? 0u : input-_min_input); - } - double _cost0; - double _dcost_di; - unsigned int _min_input; -}; - -/** Pair of double representing CPU and GPU times in seconds as first and second elements in std::pair. */ -typedef std::pair CostPair; - - -class OSG_EXPORT GeometryCostEstimator : public osg::Referenced -{ -public: - GeometryCostEstimator(); - void setDefaults(); - void calibrate(osg::RenderInfo& renderInfo); - CostPair estimateCompileCost(const osg::Geometry* geometry) const; - CostPair estimateDrawCost(const osg::Geometry* geometry) const; - -protected: - ClampedLinearCostFunction1D _arrayCompileCost; - ClampedLinearCostFunction1D _primtiveSetCompileCost; - - ClampedLinearCostFunction1D _arrayDrawCost; - ClampedLinearCostFunction1D _primtiveSetDrawCost; - - double _displayListCompileConstant; - double _displayListCompileFactor; -}; - -class OSG_EXPORT TextureCostEstimator : public osg::Referenced -{ -public: - TextureCostEstimator(); - void setDefaults(); - void calibrate(osg::RenderInfo& renderInfo); - CostPair estimateCompileCost(const osg::Texture* texture) const; - CostPair estimateDrawCost(const osg::Texture* texture) const; - -protected: - ClampedLinearCostFunction1D _compileCost; - ClampedLinearCostFunction1D _drawCost; -}; - - -class OSG_EXPORT ProgramCostEstimator : public osg::Referenced -{ -public: - ProgramCostEstimator(); - void setDefaults(); - void calibrate(osg::RenderInfo& renderInfo); - CostPair estimateCompileCost(const osg::Program* program) const; - CostPair estimateDrawCost(const osg::Program* program) const; - -protected: - ClampedLinearCostFunction1D _shaderCompileCost; - ClampedLinearCostFunction1D _linkCost; - ClampedLinearCostFunction1D _drawCost; -}; - -class OSG_EXPORT GraphicsCostEstimator : public osg::Referenced -{ -public: - GraphicsCostEstimator(); - - /** set defaults for computing the costs.*/ - void setDefaults(); - - /** calibrate the costs of various compile and draw operations */ - void calibrate(osg::RenderInfo& renderInfo); - - CostPair estimateCompileCost(const osg::Geometry* geometry) const { return _geometryEstimator->estimateCompileCost(geometry); } - CostPair estimateDrawCost(const osg::Geometry* geometry) const { return _geometryEstimator->estimateDrawCost(geometry); } - - CostPair estimateCompileCost(const osg::Texture* texture) const { return _textureEstimator->estimateCompileCost(texture); } - CostPair estimateDrawCost(const osg::Texture* texture) const { return _textureEstimator->estimateDrawCost(texture); } - - CostPair estimateCompileCost(const osg::Program* program) const { return _programEstimator->estimateCompileCost(program); } - CostPair estimateDrawCost(const osg::Program* program) const { return _programEstimator->estimateDrawCost(program); } - - CostPair estimateCompileCost(const osg::Node* node) const; - CostPair estimateDrawCost(const osg::Node* node) const; - -protected: - - virtual ~GraphicsCostEstimator(); - - osg::ref_ptr _geometryEstimator; - osg::ref_ptr _textureEstimator; - osg::ref_ptr _programEstimator; - -}; - -} - -#endif diff --git a/src/osg/osg/GraphicsThread b/src/osg/osg/GraphicsThread deleted file mode 100644 index 8001cc5f..00000000 --- a/src/osg/osg/GraphicsThread +++ /dev/null @@ -1,139 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_GRAPHICSTHREAD -#define OSG_GRAPHICSTHREAD 1 - -#include -#include - -namespace osg { - -class GraphicsContext; - -/** GraphicsThread is a helper class for running OpenGL GraphicsOperation within a single thread assigned to a specific GraphicsContext.*/ -class OSG_EXPORT GraphicsThread : public osg::OperationThread -{ - public: - - GraphicsThread(); - - /** Run does the graphics thread run loop.*/ - virtual void run(); -}; - -struct OSG_EXPORT GraphicsOperation : public Operation -{ - GraphicsOperation(const std::string& name, bool keep): - Operation(name,keep) {} - - /** Override the standard Operation operator and dynamic cast object to a GraphicsContext, - * on success call operation()(GraphicsContext*).*/ - virtual void operator () (Object* object); - - virtual void operator () (GraphicsContext* context) = 0; -}; - - -/** SwapBufferOperation calls swap buffers on the GraphicsContext.*/ -struct OSG_EXPORT SwapBuffersOperation : public GraphicsOperation -{ - SwapBuffersOperation(): - osg::Referenced(true), - GraphicsOperation("SwapBuffers",true) {} - - virtual void operator () (GraphicsContext* context); -}; - -/** BarrierOperation allows one to synchronize multiple GraphicsThreads with each other.*/ -struct OSG_EXPORT BarrierOperation : public Operation, public OpenThreads::Barrier -{ - enum PreBlockOp - { - NO_OPERATION, - GL_FLUSH, - GL_FINISH - }; - - BarrierOperation(int numThreads, PreBlockOp op=NO_OPERATION, bool keep=true): - osg::Referenced(true), - Operation("Barrier", keep), - OpenThreads::Barrier(numThreads), - _preBlockOp(op) {} - - virtual void release(); - - virtual void operator () (Object* object); - - PreBlockOp _preBlockOp; -}; - -/** ReleaseContext_Block_MakeCurrentOperation releases the context for another thread to acquire, - * then blocks waiting for context to be released, once the block is release the context is re-acquired.*/ -struct OSG_EXPORT ReleaseContext_Block_MakeCurrentOperation : public GraphicsOperation, public RefBlock -{ - ReleaseContext_Block_MakeCurrentOperation(): - osg::Referenced(true), - GraphicsOperation("ReleaseContext_Block_MakeCurrent", false) {} - - virtual void release(); - - virtual void operator () (GraphicsContext* context); -}; - -struct OSG_EXPORT BlockAndFlushOperation : public GraphicsOperation, public OpenThreads::Block -{ - BlockAndFlushOperation(); - - virtual void release(); - - virtual void operator () (GraphicsContext*); -}; - - -struct OSG_EXPORT FlushDeletedGLObjectsOperation : public GraphicsOperation -{ - FlushDeletedGLObjectsOperation(double availableTime, bool keep=false); - - virtual void operator () (GraphicsContext*); - - double _availableTime; -}; - -class OSG_EXPORT RunOperations : public osg::GraphicsOperation -{ -public: - - RunOperations(): - osg::GraphicsOperation("RunOperation",true) {} - - virtual void operator () (osg::GraphicsContext* context); - -}; - -class OSG_EXPORT EndOfDynamicDrawBlock : public OpenThreads::BlockCount, public osg::State::DynamicObjectRenderingCompletedCallback -{ - public: - - EndOfDynamicDrawBlock(unsigned int); - - void completed(osg::State* state); - - protected: - - ~EndOfDynamicDrawBlock() {} -}; - -} - -#endif diff --git a/src/osg/osg/Group b/src/osg/osg/Group deleted file mode 100644 index f0b1617b..00000000 --- a/src/osg/osg/Group +++ /dev/null @@ -1,167 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_GROUP -#define OSG_GROUP 1 - -#include -#include - -namespace osg { - -typedef std::vector< ref_ptr > NodeList; - -/** General group node which maintains a list of children. - * Children are reference counted. This allows children to be shared - * with memory management handled automatically via osg::Referenced. -*/ -class OSG_EXPORT Group : public Node -{ - public : - - - Group(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - Group(const Group&,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_Node(osg, Group); - - virtual Group* asGroup() { return this; } - virtual const Group* asGroup() const { return this; } - - virtual void traverse(NodeVisitor& nv); - - /** Add Node to Group. - * If node is not NULL and is not contained in Group then increment its - * reference count, add it to the child list and dirty the bounding - * sphere to force it to recompute on next getBound() and return true for success. - * Otherwise return false. Scene nodes can't be added as child nodes. - */ - virtual bool addChild( Node *child ); - - /** Insert Node to Group at specific location. - * The new child node is inserted into the child list - * before the node at the specified index. No nodes - * are removed from the group with this operation. - */ - virtual bool insertChild( unsigned int index, Node *child ); - - /** Remove Node from Group. - * If Node is contained in Group then remove it from the child - * list, decrement its reference count, and dirty the - * bounding sphere to force it to recompute on next getBound() and - * return true for success. If Node is not found then return false - * and do not change the reference count of the Node. - * Note, do not override, only override removeChildren(,) is required. - */ - virtual bool removeChild( Node *child ); - - /** Remove Node from Group. - * If Node is contained in Group then remove it from the child - * list, decrement its reference count, and dirty the - * bounding sphere to force it to recompute on next getBound() and - * return true for success. If Node is not found then return false - * and do not change the reference count of the Node. - * Note, do not override, only override removeChildren(,) is required. - */ - inline bool removeChild( unsigned int pos, unsigned int numChildrenToRemove=1 ) - { - if (pos<_children.size()) return removeChildren(pos,numChildrenToRemove); - else return false; - } - - /** Remove children from Group. - * Note, must be override by subclasses of Group which add per child attributes.*/ - virtual bool removeChildren(unsigned int pos,unsigned int numChildrenToRemove); - - /** Replace specified child Node with another Node. - * Equivalent to setChild(getChildIndex(orignChild),node) - * See docs for setChild for further details on implementation. - */ - virtual bool replaceChild( Node *origChild, Node* newChild ); - - /** Return the number of children nodes. */ - virtual unsigned int getNumChildren() const; - - /** Set child node at position i. - * Return true if set correctly, false on failure (if node==NULL || i is out of range). - * When Set can be successful applied, the algorithm is : decrement the reference count origNode and increment the - * reference count of newNode, and dirty the bounding sphere - * to force it to recompute on next getBound() and return true. - * If origNode is not found then return false and do not - * add newNode. If newNode is NULL then return false and do - * not remove origNode. Also returns false if newChild is a Scene node. - */ - virtual bool setChild( unsigned int i, Node* node ); - - /** Return child node at position i. */ - inline Node* getChild( unsigned int i ) { return _children[i].get(); } - - /** Return child node at position i. */ - inline const Node* getChild( unsigned int i ) const { return _children[i].get(); } - - /** Return true if node is contained within Group. */ - inline bool containsNode( const Node* node ) const - { - - for (NodeList::const_iterator itr=_children.begin(); - itr!=_children.end(); - ++itr) - { - if (itr->get()==node) return true; - } - return false; - } - - /** Get the index number of child, return a value between - * 0 and _children.size()-1 if found, if not found then - * return _children.size(). - */ - inline unsigned int getChildIndex( const Node* node ) const - { - for (unsigned int childNum=0;childNum<_children.size();++childNum) - { - if (_children[childNum]==node) return childNum; - } - return static_cast(_children.size()); // node not found. - } - - /** Set whether to use a mutex to ensure ref() and unref() are thread safe.*/ - virtual void setThreadSafeRefUnref(bool threadSafe); - - /** Resize any per context GLObject buffers to specified size. */ - virtual void resizeGLObjectBuffers(unsigned int maxSize); - - /** If State is non-zero, this function releases any associated OpenGL objects for - * the specified graphics context. Otherwise, releases OpenGL objects - * for all graphics contexts. */ - virtual void releaseGLObjects(osg::State* = 0) const; - - virtual BoundingSphere computeBound() const; - - protected: - - virtual ~Group(); - - virtual void childRemoved(unsigned int /*pos*/, unsigned int /*numChildrenToRemove*/) {} - virtual void childInserted(unsigned int /*pos*/) {} - - NodeList _children; - - -}; - -} - -#endif diff --git a/src/osg/osg/Hint b/src/osg/osg/Hint deleted file mode 100644 index 274af53c..00000000 --- a/src/osg/osg/Hint +++ /dev/null @@ -1,81 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_HINT -#define OSG_HINT 1 - -#include - -namespace osg -{ - -class OSG_EXPORT Hint : public StateAttribute -{ -public: - - Hint(): - _target(GL_NONE), - _mode(GL_DONT_CARE) {} - - Hint(GLenum target, GLenum mode): - _target(target), - _mode(mode) {} - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - Hint(const Hint& hint,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(hint,copyop), - _target(hint._target), - _mode(hint._mode) {} - - virtual osg::Object* cloneType() const { return new Hint( _target, GL_DONT_CARE ); } - virtual osg::Object* clone(const osg::CopyOp& copyop) const { return new Hint(*this,copyop); } - virtual bool isSameKindAs(const osg::Object* obj) const { return dynamic_cast(obj)!=NULL; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "Hint"; } - virtual Type getType() const { return HINT; } - - virtual int compare(const StateAttribute& sa) const - { - // check the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(Hint,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_target) - COMPARE_StateAttribute_Parameter(_mode) - - return 0; - } - - /** Return the member identifier within the attribute's class type. Used for light number/clip plane number etc.*/ - virtual unsigned int getMember() const { return static_cast(_target); } - - void setTarget(GLenum target); - inline GLenum getTarget() const { return _target; } - - inline void setMode(GLenum mode) { _mode = mode; } - inline GLenum getMode() const { return _mode; } - - virtual void apply(State& state) const; - -protected: - - - GLenum _target; - GLenum _mode; -}; - - -} - -#endif diff --git a/src/osg/osg/Image b/src/osg/osg/Image deleted file mode 100644 index b227eaaf..00000000 --- a/src/osg/osg/Image +++ /dev/null @@ -1,553 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_IMAGE -#define OSG_IMAGE 1 - -#include -#include -#include -#include -#include -#include - -#include -#include - -#ifndef GL_VERSION_1_2 - // 1.2 definitions... - #define GL_BGR 0x80E0 - #define GL_BGRA 0x80E1 - #define GL_UNSIGNED_BYTE_3_3_2 0x8032 - #define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 - #define GL_UNSIGNED_SHORT_5_6_5 0x8363 - #define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 - #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 - #define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 - #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 - #define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 - #define GL_UNSIGNED_INT_8_8_8_8 0x8035 - #define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 - #define GL_UNSIGNED_INT_10_10_10_2 0x8036 - #define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 -#endif - -#ifndef GL_COMPRESSED_ALPHA - #define GL_COMPRESSED_ALPHA 0x84E9 - #define GL_COMPRESSED_LUMINANCE 0x84EA - #define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB - #define GL_COMPRESSED_INTENSITY 0x84EC - #define GL_COMPRESSED_RGB 0x84ED - #define GL_COMPRESSED_RGBA 0x84EE -#endif - - -#ifndef GL_ABGR_EXT -#define GL_ABGR_EXT 0x8000 -#endif - -#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) - #define GL_RED 0x1903 - #define GL_GREEN 0x1904 - #define GL_BLUE 0x1905 - #define GL_DEPTH_COMPONENT 0x1902 - #define GL_STENCIL_INDEX 0x1901 -#endif - -#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) || defined(OSG_GL3_AVAILABLE) - #define GL_BITMAP 0x1A00 - #define GL_COLOR_INDEX 0x1900 - #define GL_INTENSITY12 0x804C - #define GL_INTENSITY16 0x804D - #define GL_INTENSITY 0x8049 - #define GL_INTENSITY4 0x804A - #define GL_INTENSITY8 0x804B - #define GL_LUMINANCE12 0x8041 - #define GL_LUMINANCE12_ALPHA4 0x8046 - #define GL_LUMINANCE12_ALPHA12 0x8047 - #define GL_LUMINANCE16 0x8042 - #define GL_LUMINANCE16_ALPHA16 0x8048 - #define GL_LUMINANCE4 0x803F - #define GL_LUMINANCE4_ALPHA4 0x8043 - #define GL_LUMINANCE6_ALPHA2 0x8044 - #define GL_LUMINANCE8 0x8040 - #define GL_LUMINANCE8_ALPHA8 0x8045 - #define GL_RGBA8 0x8058 - #define GL_RGBA16 0x805B - #define GL_PACK_ROW_LENGTH 0x0D02 -#endif - -#ifndef GL_PACK_SKIP_IMAGES - #define GL_PACK_SKIP_IMAGES 0x806B - #define GL_PACK_IMAGE_HEIGHT 0x806C - #define GL_UNPACK_SKIP_IMAGES 0x806D - #define GL_UNPACK_IMAGE_HEIGHT 0x806E -#endif - -#ifndef GL_OES_compressed_ETC1_RGB8_texture - #define GL_ETC1_RGB8_OES 0x8D64 -#endif - -#ifndef GL_ARB_ES3_compatibility - #define GL_COMPRESSED_RGB8_ETC2 0x9274 - #define GL_COMPRESSED_SRGB8_ETC2 0x9275 - #define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276 - #define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277 - #define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 - #define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279 - #define GL_COMPRESSED_R11_EAC 0x9270 - #define GL_COMPRESSED_SIGNED_R11_EAC 0x9271 - #define GL_COMPRESSED_RG11_EAC 0x9272 - #define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273 -#endif - -#ifndef GL_DEPTH_COMPONENT -#define GL_DEPTH_COMPONENT 0x1902 -#endif - -#ifndef GL_VERSION_1_4 -#define GL_DEPTH_COMPONENT16 0x81A5 -#define GL_DEPTH_COMPONENT24 0x81A6 -#define GL_DEPTH_COMPONENT32 0x81A7 -#endif - -#ifndef GL_DEPTH_COMPONENT32F -#define GL_DEPTH_COMPONENT32F 0x8CAC -#endif - -#ifndef GL_DEPTH_COMPONENT32F_NV -#define GL_DEPTH_COMPONENT32F_NV 0x8DAB -#endif - -namespace osg { - -// forward declare -class NodeVisitor; - -/** Image class for encapsulating the storage texture image data. */ -class OSG_EXPORT Image : public BufferData -{ - - public : - - Image(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - Image(const Image& image,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - virtual Object* cloneType() const { return new Image(); } - virtual Object* clone(const CopyOp& copyop) const { return new Image(*this,copyop); } - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=0; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "Image"; } - - virtual osg::Image* asImage() { return this; } - virtual const osg::Image* asImage() const { return this; } - - virtual const GLvoid* getDataPointer() const { return data(); } - virtual unsigned int getTotalDataSize() const { return getTotalSizeInBytesIncludingMipmaps(); } - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const Image& rhs) const; - - void setFileName(const std::string& fileName); - inline const std::string& getFileName() const { return _fileName; } - - enum WriteHint { - NO_PREFERENCE, - STORE_INLINE, - EXTERNAL_FILE - }; - - void setWriteHint(WriteHint writeHint) { _writeHint = writeHint; } - WriteHint getWriteHint() const { return _writeHint; } - - enum AllocationMode { - NO_DELETE, - USE_NEW_DELETE, - USE_MALLOC_FREE - }; - - /** Set the method used for deleting data once it goes out of scope. */ - void setAllocationMode(AllocationMode mode) { _allocationMode = mode; } - - /** Get the method used for deleting data once it goes out of scope. */ - AllocationMode getAllocationMode() const { return _allocationMode; } - - - /** Allocate a pixel block of specified size and type. */ - virtual void allocateImage(int s,int t,int r, - GLenum pixelFormat,GLenum type, - int packing=1); - - - /** Set the image dimensions, format and data. */ - virtual void setImage(int s,int t,int r, - GLint internalTextureformat, - GLenum pixelFormat,GLenum type, - unsigned char* data, - AllocationMode mode, - int packing=1, int rowLength=0); - - /** Read pixels from current frame buffer at specified position and size, using glReadPixels. - * Create memory for storage if required, reuse existing pixel coords if possible. - */ - virtual void readPixels(int x,int y,int width,int height, - GLenum pixelFormat, GLenum type, int packing=1); - - - /** Read the contents of the current bound texture, handling compressed pixelFormats if present. - * Create memory for storage if required, reuse existing pixel coords if possible. - */ - virtual void readImageFromCurrentTexture(unsigned int contextID, bool copyMipMapsIfAvailable, GLenum type = GL_UNSIGNED_BYTE, unsigned int face = 0); - - /** swap the data and settings between two image objects.*/ - void swap(osg::Image& rhs); - - /** Scale image to specified size. */ - void scaleImage(int s,int t,int r) { scaleImage(s,t,r, getDataType()); } - - /** Scale image to specified size and with specified data type. */ - virtual void scaleImage(int s,int t,int r, GLenum newDataType); - - /** Copy a source Image into a subpart of this Image at specified position. - * Typically used to copy to an already allocated image, such as creating - * a 3D image from a stack 2D images. - * If this Image is empty then image data is created to - * accommodate the source image in its offset position. - * If source is NULL then no operation happens, this Image is left unchanged. - */ - virtual void copySubImage(int s_offset, int t_offset, int r_offset, const osg::Image* source); - - - enum Origin - { - BOTTOM_LEFT, - TOP_LEFT - }; - - /** Set the origin of the image. - * The default value is BOTTOM_LEFT and is consistent with OpenGL. - * TOP_LEFT is used for imagery that follows standard Imagery convention, such as movies, - * and hasn't been flipped yet. For such images one much flip the t axis of the tex coords. - * to handle this origin position. */ - void setOrigin(Origin origin) { _origin = origin; } - - /** Get the origin of the image.*/ - Origin getOrigin() const { return _origin; } - - - /** Width of image. */ - inline int s() const { return _s; } - - /** Height of image. */ - inline int t() const { return _t; } - - /** Depth of image. */ - inline int r() const { return _r; } - - void setRowLength(int length); - inline int getRowLength() const { return _rowLength; } - - void setInternalTextureFormat(GLint internalFormat); - inline GLint getInternalTextureFormat() const { return _internalTextureFormat; } - - void setPixelFormat(GLenum pixelFormat); - inline GLenum getPixelFormat() const { return _pixelFormat; } - - void setDataType(GLenum dataType); - inline GLenum getDataType() const { return _dataType; } - - void setPacking(unsigned int packing) { _packing = packing; } - inline unsigned int getPacking() const { return _packing; } - - /** Return true of the pixel format is an OpenGL compressed pixel format.*/ - bool isCompressed() const; - - /** Set the pixel aspect ratio, defined as the pixel width divided by the pixel height.*/ - inline void setPixelAspectRatio(float pixelAspectRatio) { _pixelAspectRatio = pixelAspectRatio; } - - /** Get the pixel aspect ratio.*/ - inline float getPixelAspectRatio() const { return _pixelAspectRatio; } - - /** Return the number of bits required for each pixel. */ - inline unsigned int getPixelSizeInBits() const { return computePixelSizeInBits(_pixelFormat,_dataType); } - - /** Return the number of bytes each row of pixels occupies once it has been packed. */ - inline unsigned int getRowSizeInBytes() const { return computeRowWidthInBytes(_s,_pixelFormat,_dataType,_packing); } - - /** Return the number of bytes between each successive row. - * Note, getRowSizeInBytes() will only equal getRowStepInBytes() when isDataContiguous() return true. */ - inline unsigned int getRowStepInBytes() const { return computeRowWidthInBytes(_rowLength==0?_s:_rowLength,_pixelFormat,_dataType,_packing); } - - /** Return the number of bytes each image (_s*_t) of pixels occupies. */ - inline unsigned int getImageSizeInBytes() const { return getRowSizeInBytes()*_t; } - - /** Return the number of bytes between each successive image. - * Note, getImageSizeInBytes() will only equal getImageStepInBytes() when isDataContiguous() return true. */ - inline unsigned int getImageStepInBytes() const { return getRowStepInBytes()*_t; } - - /** Return the number of bytes the whole row/image/volume of pixels occupies. */ - inline unsigned int getTotalSizeInBytes() const { return getImageSizeInBytes()*_r; } - - /** Return the number of bytes the whole row/image/volume of pixels occupies, including all mip maps if included. */ - unsigned int getTotalSizeInBytesIncludingMipmaps() const; - - /** Return true if the Image represent a valid and usable imagery.*/ - bool valid() const { return _s!=0 && _t!=0 && _r!=0 && _data!=0 && _dataType!=0; } - - /** Raw image data. - * Note, data in successive rows may not be contiguous, isDataContiguous() return false then you should - * take care to access the data per row rather than treating the whole data as a single block. */ - inline unsigned char* data() { return _data; } - - /** Raw const image data. - * Note, data in successive rows may not be contiguous, isDataContiguous() return false then you should - * take care to access the data per row rather than treating the whole data as a single block. */ - inline const unsigned char* data() const { return _data; } - - inline unsigned char* data(unsigned int column, unsigned int row = 0, unsigned int image = 0) - { - if (!_data) return NULL; - return _data+(column*getPixelSizeInBits())/8+row*getRowStepInBytes()+image*getImageSizeInBytes(); - } - - inline const unsigned char* data(unsigned int column, unsigned int row = 0, unsigned int image = 0) const - { - if (!_data) return NULL; - return _data+(column*getPixelSizeInBits())/8+row*getRowStepInBytes()+image*getImageSizeInBytes(); - } - - /** return true if the data stored in the image is a contiguous block of data.*/ - bool isDataContiguous() const { return _rowLength==0 || _rowLength==_s; } - - /** Convenience class for assisting the copying of image data when the image data isn't contiguous.*/ - class OSG_EXPORT DataIterator - { - public: - DataIterator(const Image* image); - DataIterator(const DataIterator& ri); - ~DataIterator() {} - - /** advance iterator to next block of data.*/ - void operator ++ (); - - /** is iterator valid.*/ - bool valid() const { return _currentPtr!=0; } - - /** data pointer of current block to copy.*/ - const unsigned char* data() const { return _currentPtr; } - - /** Size of current block to copy.*/ - unsigned int size() const { return _currentSize; } - - protected: - - - void assign(); - - const osg::Image* _image; - int _rowNum; - int _imageNum; - unsigned int _mipmapNum; - const unsigned char* _currentPtr; - unsigned int _currentSize; - }; - - /** Get the color value for specified texcoord.*/ - Vec4 getColor(unsigned int s,unsigned t=0,unsigned r=0) const; - - /** Get the color value for specified texcoord.*/ - Vec4 getColor(const Vec2& texcoord) const { return getColor(Vec3(texcoord.x(),texcoord.y(),0.0f)); } - - /** Get the color value for specified texcoord.*/ - Vec4 getColor(const Vec3& texcoord) const; - - /** Set the color value for specified texcoord.*/ - void setColor(const osg::Vec4& color, unsigned int s, unsigned int t=0, unsigned int r=0); - - /** Set the color value for specified texcoord. Note texcoord is clamped to edge.*/ - void setColor(const osg::Vec4& color, const osg::Vec2& texcoord ) { setColor(color, osg::Vec3(texcoord, 0.0f)); } - - /** Set the color value for specified texcoord. Note texcoord is clamped to edge.*/ - void setColor(const osg::Vec4& color, const osg::Vec3& texcoord ); - - /** Flip the image horizontally, around s dimension. */ - void flipHorizontal(); - - /** Flip the image vertically, around t dimension. */ - void flipVertical(); - - /** Flip the image around the r dimension. Only relevant for 3D textures. */ - void flipDepth(); - - /** Ensure image dimensions are a power of two. - * Mipmapped textures require the image dimensions to be - * power of two and are within the maxiumum texture size for - * the host machine. - */ - void ensureValidSizeForTexturing(GLint maxTextureSize); - - static bool isPackedType(GLenum type); - static GLenum computePixelFormat(GLenum pixelFormat); - static GLenum computeFormatDataType(GLenum pixelFormat); - static unsigned int computeBlockSize(GLenum pixelFormat, GLenum packing); - static unsigned int computeNumComponents(GLenum pixelFormat); - static unsigned int computePixelSizeInBits(GLenum pixelFormat,GLenum type); - static unsigned int computeRowWidthInBytes(int width,GLenum pixelFormat,GLenum type,int packing); - static unsigned int computeImageSizeInBytes(int width,int height, int depth, GLenum pixelFormat, GLenum type, int packing = 1, int slice_packing = 1, int image_packing = 1); - static int computeNearestPowerOfTwo(int s,float bias=0.5f); - static int computeNumberOfMipmapLevels(int s,int t = 1, int r = 1); - - /** Precomputed mipmaps stuff. */ - typedef std::vector< unsigned int > MipmapDataType; - - inline bool isMipmap() const {return !_mipmapData.empty();}; - - unsigned int getNumMipmapLevels() const - { - return static_cast(_mipmapData.size())+1; - }; - - /** Send offsets into data. It is assumed that first mipmap offset (index 0) is 0.*/ - inline void setMipmapLevels(const MipmapDataType& mipmapDataVector) { _mipmapData = mipmapDataVector; } - - inline const MipmapDataType& getMipmapLevels() const { return _mipmapData; } - - inline unsigned int getMipmapOffset(unsigned int mipmapLevel) const - { - if(mipmapLevel == 0) - return 0; - else if (mipmapLevel < getNumMipmapLevels()) - return _mipmapData[mipmapLevel-1]; - return 0; - }; - - inline unsigned char* getMipmapData(unsigned int mipmapLevel) - { - return _data+getMipmapOffset(mipmapLevel); - } - - inline const unsigned char* getMipmapData(unsigned int mipmapLevel) const - { - return _data+getMipmapOffset(mipmapLevel); - } - - /** returns false for texture formats that do not support texture subloading */ - bool supportsTextureSubloading() const; - - /** Return true if this image is translucent - i.e. it has alpha values that are less 1.0 (when normalized). */ - virtual bool isImageTranslucent() const; - - /** Set the optional PixelBufferObject used to map the image memory efficiently to graphics memory. */ - void setPixelBufferObject(PixelBufferObject* buffer) { setBufferObject(buffer); } - - /** Get the PixelBufferObject.*/ - PixelBufferObject* getPixelBufferObject() { return dynamic_cast(getBufferObject()); } - - /** Get the const PixelBufferObject.*/ - const PixelBufferObject* getPixelBufferObject() const { return dynamic_cast(getBufferObject()); } - - /** Return whether the update(NodeVisitor* nv) should be required on each frame to enable proper working of osg::Image.*/ - virtual bool requiresUpdateCall() const { return false; } - - /** update method for osg::Image subclasses that update themselves during the update traversal.*/ - virtual void update(NodeVisitor* /*nv*/) {} - - /** Convenience update callback class that can be attached to a StateAttribute (such as Textures) to ensure - * that the Image::update(NodeVisitor*) method is called during the update traversal. This callback - * is automatically attached when Image::requiresUpdateCall() is true (it's false by default.) - */ - struct OSG_EXPORT UpdateCallback : public osg::StateAttributeCallback - { - virtual void operator () (osg::StateAttribute* attr, osg::NodeVisitor* nv); - }; - - /** Hint whether to enable or disable focus to images acting as front ends to interactive surfaces such as a vnc or browser window. Return true if handled. */ - virtual bool sendFocusHint(bool /*focus*/) { return false; } - - /** Send pointer events to images that are acting as front ends to interactive surfaces such as a vnc or browser window. Return true if handled. */ - virtual bool sendPointerEvent(int /*x*/, int /*y*/, int /*buttonMask*/) { return false; } - - /** Send key events to images that are acting as front ends to interactive surfaces such as a vnc or browser window. Return true if handled.*/ - virtual bool sendKeyEvent(int /*key*/, bool /*keyDown*/) { return false; } - - /** Pass frame information to the custom Image classes, to be called only when objects associated with imagery are not culled.*/ - virtual void setFrameLastRendered(const osg::FrameStamp* /*frameStamp*/) {} - - class DimensionsChangedCallback : public osg::Referenced { - public: - DimensionsChangedCallback() : osg::Referenced() {} - virtual void operator()(osg::Image* image) = 0; - }; - - typedef std::vector< osg::ref_ptr > DimensionsChangedCallbackVector; - - void addDimensionsChangedCallback(DimensionsChangedCallback* cb); - void removeDimensionsChangedCallback(DimensionsChangedCallback* cb); - - protected : - - virtual ~Image(); - - Image& operator = (const Image&) { return *this; } - - void handleDimensionsChangedCallbacks() - { - for(DimensionsChangedCallbackVector::iterator i = _dimensionsChangedCallbacks.begin(); i != _dimensionsChangedCallbacks.end(); ++i) - { - (*i)->operator()(this); - } - } - - std::string _fileName; - WriteHint _writeHint; - - Origin _origin; - - int _s, _t, _r; - int _rowLength; - GLint _internalTextureFormat; - GLenum _pixelFormat; - GLenum _dataType; - unsigned int _packing; - float _pixelAspectRatio; - - AllocationMode _allocationMode; - unsigned char* _data; - - void deallocateData(); - - void setData(unsigned char* data,AllocationMode allocationMode); - - MipmapDataType _mipmapData; - - DimensionsChangedCallbackVector _dimensionsChangedCallbacks; -}; - -class Geode; - -/** Convenience function to be used by image loaders to generate a valid geode - * to return for readNode(). - * Use the image's s and t values to scale the dimensions of the image. -*/ -extern OSG_EXPORT Geode* createGeodeForImage(Image* image); -/** Convenience function to be used by image loaders to generate a valid geode - * to return for readNode(). - * Use the specified s and t values to scale the dimensions of the image. -*/ -extern OSG_EXPORT Geode* createGeodeForImage(Image* image,float s,float t); - -} - -#endif // __SG_IMAGE_H diff --git a/src/osg/osg/ImageSequence b/src/osg/osg/ImageSequence deleted file mode 100644 index cd967a71..00000000 --- a/src/osg/osg/ImageSequence +++ /dev/null @@ -1,167 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_IMAGESEQUENCE -#define OSG_IMAGESEQUENCE 1 - -#include -#include - -#include -#include - -namespace osg { - -/** - * Image Buffer class. -*/ -class OSG_EXPORT ImageSequence : public ImageStream -{ - public: - ImageSequence(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - ImageSequence(const ImageSequence& ImageSequence, const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - virtual Object* cloneType() const { return new ImageSequence(); } - virtual Object* clone(const CopyOp& copyop) const { return new ImageSequence(*this,copyop); } - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=0; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "ImageSequence"; } - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const Image& rhs) const; - - virtual void setReferenceTime(double t) { _referenceTime = t; } - virtual double getReferenceTime() const { return _referenceTime; } - - virtual void setTimeMultiplier(double tm) { _timeMultiplier = tm; } - virtual double getTimeMultiplier() const { return _timeMultiplier; } - - struct OSG_EXPORT ImageData - { - ImageData(); - ImageData(const ImageData& id); - ImageData& operator = (const ImageData& id); - - std::string _filename; - osg::ref_ptr _image; - osg::ref_ptr _imageRequest; - }; - - typedef std::vector ImageDataList; - - virtual void seek(double time); - - virtual void play(); - - virtual void pause(); - - virtual void rewind(); - - enum Mode - { - PRE_LOAD_ALL_IMAGES, - PAGE_AND_RETAIN_IMAGES, - PAGE_AND_DISCARD_USED_IMAGES, - LOAD_AND_RETAIN_IN_UPDATE_TRAVERSAL, - LOAD_AND_DISCARD_IN_UPDATE_TRAVERSAL - }; - - void setMode(Mode mode); - Mode getMode() const { return _mode; } - - void setLength(double length); - virtual double getLength() const { return _length; } - - - void addImageFile(const std::string& fileName); - - void setImageFile(unsigned int pos, const std::string& fileName); - std::string getImageFile(unsigned int pos) const; - - void addImage(osg::Image* image); - - void setImage(int s,int t,int r, - GLint internalTextureformat, - GLenum pixelFormat,GLenum type, - unsigned char* data, - AllocationMode mode, - int packing=1) { Image::setImage(s,t,r,internalTextureformat, pixelFormat, type, data, mode, packing); } - - void setImage(unsigned int pos, osg::Image* image); - Image* getImage(unsigned int pos); - const Image* getImage(unsigned int pos) const; - - unsigned int getNumImageData() const { return _imageDataList.size(); } - - ImageDataList& getImageDataList() { return _imageDataList; } - const ImageDataList& getImageDataList() const { return _imageDataList; } - - - /** ImageSequence requires a call to update(NodeVisitor*) during the update traversal so return true.*/ - virtual bool requiresUpdateCall() const { return true; } - - /** update method for osg::Image subclasses that update themselves during the update traversal.*/ - virtual void update(NodeVisitor* nv); - - - /** Set the optional osgDB::Options object to use when reading images.*/ - void setReadOptions(osg::Referenced* options) { _readOptions = options; } - - /** Get the optional osgDB::Options object used when reading images.*/ - osg::Referenced* getReadOptions() { return _readOptions.get(); } - - /** Get the optional osgDB::Options object used when reading images.*/ - const osg::Referenced* getReadOptions() const { return _readOptions.get(); } - -protected: - - virtual ~ImageSequence() {} - - virtual void applyLoopingMode(); - - void setImageToChild(int pos); - - void computeTimePerImage(); - - int imageIndex(double time); - - // setImage without acquiring mutex. - void _setImage(unsigned int pos, osg::Image* image); - - double _referenceTime; - double _timeMultiplier; - - Mode _mode; - double _length; - - double _timePerImage; - - mutable OpenThreads::Mutex _mutex; - - ImageDataList _imageDataList; - - int _previousAppliedImageIndex; - - - bool _seekTimeSet; - double _seekTime; - - osg::ref_ptr _readOptions; - -}; - -} // namespace - -#endif diff --git a/src/osg/osg/ImageStream b/src/osg/osg/ImageStream deleted file mode 100644 index f0fc2358..00000000 --- a/src/osg/osg/ImageStream +++ /dev/null @@ -1,124 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_IMAGESTREAM -#define OSG_IMAGESTREAM 1 - -#include -#include - -namespace osg { - -// forward declare of osg::Texture -class Texture; - -/** - * Image Stream class. -*/ -class OSG_EXPORT ImageStream : public Image -{ - public: - ImageStream(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - ImageStream(const ImageStream& image,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - virtual Object* cloneType() const { return new ImageStream(); } - virtual Object* clone(const CopyOp& copyop) const { return new ImageStream(*this,copyop); } - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=0; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "ImageStream"; } - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const Image& rhs) const; - - enum StreamStatus - { - INVALID, - PLAYING, - PAUSED, - REWINDING - }; - - virtual void seek(double /*time*/) {} - - virtual void play() { _status=PLAYING; } - - virtual void pause() { _status=PAUSED; } - - virtual void rewind() { _status=REWINDING; } - - virtual void quit(bool /*waitForThreadToExit*/ = true) {} - - StreamStatus getStatus() const { return _status; } - - - enum LoopingMode - { - NO_LOOPING, - LOOPING - }; - - void setLoopingMode(LoopingMode mode) - { - if (_loopingMode == mode) return; - - _loopingMode = mode; - applyLoopingMode(); - } - - LoopingMode getLoopingMode() const { return _loopingMode; } - - virtual double getCreationTime() const { return HUGE_VAL; } - virtual double getLength() const { return 0.0; } - virtual double getFrameRate() const { return 0.0; } - virtual double getCurrentTime() const { return 0.0; } - - virtual void setReferenceTime(double) {} - virtual double getReferenceTime() const { return 0.0; } - - virtual void setTimeMultiplier(double) {} - virtual double getTimeMultiplier() const { return 0.0; } - - virtual void setVolume(float) {} - virtual float getVolume() const { return 0.0f; } - - /// set the balance of the audio: -1 = left, 0 = center, 1 = right - virtual float getAudioBalance() { return 0.0f; } - virtual void setAudioBalance(float /*b*/) {} - - typedef std::vector< osg::ref_ptr > AudioStreams; - void setAudioStreams(const AudioStreams& asl) { _audioStreams = asl; } - AudioStreams& getAudioStreams() { return _audioStreams; } - const AudioStreams& getAudioStreams() const { return _audioStreams; } - - /** create a suitable texture for this imagestream, return NULL, if not supported - * implement this method in subclasses to use special technologies like CoreVideo - * or similar. - */ - virtual osg::Texture* createSuitableTexture() { return NULL; } - - protected: - virtual void applyLoopingMode() {} - - virtual ~ImageStream() {} - - StreamStatus _status; - LoopingMode _loopingMode; - - AudioStreams _audioStreams; -}; - -} // namespace - -#endif diff --git a/src/osg/osg/ImageUtils b/src/osg/osg/ImageUtils deleted file mode 100644 index a79d7392..00000000 --- a/src/osg/osg/ImageUtils +++ /dev/null @@ -1,248 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_IMAGEUTILS -#define OSG_IMAGEUTILS 1 - -#include - -#include -#include - -namespace osg { - -template -void _readRow(unsigned int num, GLenum pixelFormat, const T* data, O& operation) -{ - switch(pixelFormat) - { - case(GL_INTENSITY): { for(unsigned int i=0;i -void readRow(unsigned int num, GLenum pixelFormat, GLenum dataType, const unsigned char* data, O& operation) -{ - switch(dataType) - { - case(GL_BYTE): _readRow(num, pixelFormat, (const char*)data, operation); break; - case(GL_UNSIGNED_BYTE): _readRow(num, pixelFormat, (const unsigned char*)data, operation); break; - case(GL_SHORT): _readRow(num, pixelFormat, (const short*) data, operation); break; - case(GL_UNSIGNED_SHORT): _readRow(num, pixelFormat, (const unsigned short*)data, operation); break; - case(GL_INT): _readRow(num, pixelFormat, (const int*) data, operation); break; - case(GL_UNSIGNED_INT): _readRow(num, pixelFormat, (const unsigned int*) data, operation); break; - case(GL_FLOAT): _readRow(num, pixelFormat, (const float*) data, operation); break; - case(GL_DOUBLE): _readRow(num, pixelFormat, (const double*) data, operation); break; - } -} - - -template -void readImage(const osg::Image* image, O& operation) -{ - if (!image) return; - - for(int r=0;rr();++r) - { - for(int t=0;tt();++t) - { - readRow(image->s(), image->getPixelFormat(), image->getDataType(), image->data(0,t,r), operation); - } - } -} - -/** Convenience method for making it easy to cast all pixel channels types to a unit float RGBA form.*/ -struct CastAndScaleToFloatOperation -{ - float cast(char v) { return static_cast(v)*(1.0f/128.0f); } - float cast(unsigned char v) { return static_cast(v)*(1.0f/255.0f); } - float cast(short v) { return static_cast(v)*(1.0f/32768.0f); } - float cast(unsigned short v) { return static_cast(v)*(1.0f/65535.0f); } - float cast(int v) { return static_cast(v)*(1.0f/2147483648.0f); } - float cast(unsigned int v) { return static_cast(v)*(1.0f/4294967295.0f); } - float cast(float v) { return v; } - float cast(double v) { return static_cast(v); } -}; - -#if 0 -template -void _readRow(unsigned int num, GLenum pixelFormat, const T* data,float scale, O& operation) -{ - switch(pixelFormat) - { - case(GL_LUMINANCE): { for(unsigned int i=0;i -void readRow(unsigned int num, GLenum pixelFormat, GLenum dataType, const unsigned char* data, O& operation) -{ - switch(dataType) - { - case(GL_BYTE): _readRow(num,pixelFormat, (const char*)data, 1.0f/128.0f, operation); break; - case(GL_UNSIGNED_BYTE): _readRow(num,pixelFormat, (const unsigned char*)data, 1.0f/255.0f, operation); break; - case(GL_SHORT): _readRow(num,pixelFormat, (const short*) data, 1.0f/32768.0f, operation); break; - case(GL_UNSIGNED_SHORT): _readRow(num,pixelFormat, (const unsigned short*)data, 1.0f/65535.0f, operation); break; - case(GL_INT): _readRow(num,pixelFormat, (const int*) data, 1.0f/2147483648.0f, operation); break; - case(GL_UNSIGNED_INT): _readRow(num,pixelFormat, (const unsigned int*) data, 1.0f/4294967295.0f, operation); break; - case(GL_FLOAT): _readRow(num,pixelFormat, (const float*) data, 1.0f, operation); break; - } -} - -template -void readImage(const osg::Image* image, O& operation) -{ - if (!image) return; - - for(int r=0;rr();++r) - { - for(int t=0;tt();++t) - { - readRow(image->s(), image->getPixelFormat(), image->getDataType(), image->data(0,t,r), operation); - } - } -} -#endif - - - -// example ModifyOperator -// struct ModifyOperator -// { -// inline void luminance(float& l) const {} -// inline void alpha(float& a) const {} -// inline void luminance_alpha(float& l,float& a) const {} -// inline void rgb(float& r,float& g,float& b) const {} -// inline void rgba(float& r,float& g,float& b,float& a) const {} -// }; - - -template -void _modifyRow(unsigned int num, GLenum pixelFormat, T* data,float scale, const M& operation) -{ - float inv_scale = 1.0f/scale; - switch(pixelFormat) - { - case(GL_LUMINANCE): { for(unsigned int i=0;i -void modifyRow(unsigned int num, GLenum pixelFormat, GLenum dataType, unsigned char* data, const M& operation) -{ - switch(dataType) - { - case(GL_BYTE): _modifyRow(num,pixelFormat, (char*)data, 1.0f/128.0f, operation); break; - case(GL_UNSIGNED_BYTE): _modifyRow(num,pixelFormat, (unsigned char*)data, 1.0f/255.0f, operation); break; - case(GL_SHORT): _modifyRow(num,pixelFormat, (short*) data, 1.0f/32768.0f, operation); break; - case(GL_UNSIGNED_SHORT): _modifyRow(num,pixelFormat, (unsigned short*)data, 1.0f/65535.0f, operation); break; - case(GL_INT): _modifyRow(num,pixelFormat, (int*) data, 1.0f/2147483648.0f, operation); break; - case(GL_UNSIGNED_INT): _modifyRow(num,pixelFormat, (unsigned int*) data, 1.0f/4294967295.0f, operation); break; - case(GL_FLOAT): _modifyRow(num,pixelFormat, (float*) data, 1.0f, operation); break; - } -} - -template -void modifyImage(osg::Image* image, const M& operation) -{ - if (!image) return; - - for(int r=0;rr();++r) - { - for(int t=0;tt();++t) - { - modifyRow(image->s(), image->getPixelFormat(), image->getDataType(), image->data(0,t,r), operation); - } - } -} - -/** Compute the min max colour values in the image.*/ -extern OSG_EXPORT bool computeMinMax(const osg::Image* image, osg::Vec4& min, osg::Vec4& max); - -/** Compute the min max colour values in the image.*/ -extern OSG_EXPORT bool offsetAndScaleImage(osg::Image* image, const osg::Vec4& offset, const osg::Vec4& scale); - -/** Compute source image to destination image.*/ -extern OSG_EXPORT bool copyImage(const osg::Image* srcImage, int src_s, int src_t, int src_r, int width, int height, int depth, - osg::Image* destImage, int dest_s, int dest_t, int dest_r, bool doRescale = false); - -/** Compute the min max colour values in the image.*/ -extern OSG_EXPORT bool clearImageToColor(osg::Image* image, const osg::Vec4& colour); - -typedef std::vector< osg::ref_ptr > ImageList; - -/** Search through the list of Images and find the maximum number of components used among the images.*/ -extern OSG_EXPORT unsigned int maximimNumOfComponents(const ImageList& imageList); - -/** create a 3D osg::Image from a list of osg::Image.*/ -extern OSG_EXPORT osg::Image* createImage3D(const ImageList& imageList, - GLenum desiredPixelFormat, - int s_maximumImageSize = 1024, - int t_maximumImageSize = 1024, - int r_maximumImageSize = 1024, - bool resizeToPowerOfTwo = false); - -/** create a 3D osg::Image from a list of osg::Image.*/ -extern OSG_EXPORT osg::Image* createImage3DWithAlpha(const ImageList& imageList, - int s_maximumImageSize = 1024, - int t_maximumImageSize = 1024, - int r_maximumImageSize = 1024, - bool resizeToPowerOfTwo = false); - - - - -/** create a 2D osg::Image that provides a point at the center of the image. - * The colour across th image is computed from a balance between the center color and the background color controlled by the power of the radius from the center.*/ -extern OSG_EXPORT osg::Image* createSpotLightImage(const osg::Vec4& centerColour, const osg::Vec4& backgroudColour, unsigned int size, float power); - - -enum ColorSpaceOperation -{ - NO_COLOR_SPACE_OPERATION, - MODULATE_ALPHA_BY_LUMINANCE, - MODULATE_ALPHA_BY_COLOR, - REPLACE_ALPHA_WITH_LUMINANCE, - REPLACE_RGB_WITH_LUMINANCE -}; - -/** Convert the RGBA values in a Image based on a ColorSpaceOperation defined scheme.*/ -extern OSG_EXPORT osg::Image* colorSpaceConversion(ColorSpaceOperation op, osg::Image* image, const osg::Vec4& colour); - -/** Create a copy of an osg::Image. converting the origin and orientation to standard lower left OpenGL style origin .*/ -extern OSG_EXPORT osg::Image* createImageWithOrientationConversion(const osg::Image* srcImage, const osg::Vec3i& srcOrigin, const osg::Vec3i& srcRow, const osg::Vec3i& srcColumn, const osg::Vec3i& srcLayer); - -} - - -#endif diff --git a/src/osg/osg/KdTree b/src/osg/osg/KdTree deleted file mode 100644 index 2432bed9..00000000 --- a/src/osg/osg/KdTree +++ /dev/null @@ -1,198 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_KDTREE -#define OSG_KDTREE 1 - -#include -#include - -#include - -namespace osg -{ - -/** Implementation of a kdtree for Geometry leaves, to enable fast intersection tests.*/ -class OSG_EXPORT KdTree : public osg::Shape -{ - public: - - - KdTree(); - - KdTree(const KdTree& rhs, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY); - - META_Shape(osg, KdTree) - - struct OSG_EXPORT BuildOptions - { - BuildOptions(); - - unsigned int _numVerticesProcessed; - unsigned int _targetNumTrianglesPerLeaf; - unsigned int _maxNumLevels; - }; - - - /** Build the kdtree from the specified source geometry object. - * retun true on success. */ - virtual bool build(BuildOptions& buildOptions, osg::Geometry* geometry); - - struct LineSegmentIntersection - { - LineSegmentIntersection(): - ratio(-1.0), - p0(0), - p1(0), - p2(0), - r0(0.0f), - r1(0.0f), - r2(0.0f), - primitiveIndex(0) {} - - bool operator < (const LineSegmentIntersection& rhs) const { return ratio < rhs.ratio; } - - typedef std::vector IndexList; - typedef std::vector RatioList; - - double ratio; - osg::Vec3d intersectionPoint; - osg::Vec3 intersectionNormal; - - unsigned int p0; - unsigned int p1; - unsigned int p2; - float r0; - float r1; - float r2; - - unsigned int primitiveIndex; - }; - - - typedef std::vector LineSegmentIntersections; - - /** compute the intersection of a line segment and the kdtree, return true if an intersection has been found.*/ - virtual bool intersect(const osg::Vec3d& start, const osg::Vec3d& end, LineSegmentIntersections& intersections) const; - - - typedef int value_type; - - struct KdNode - { - KdNode(): - first(0), - second(0) {} - - KdNode(value_type f, value_type s): - first(f), - second(s) {} - - osg::BoundingBox bb; - - value_type first; - value_type second; - }; - - struct Triangle - { - Triangle(): - p0(0),p1(0),p2(0) {} - - Triangle(unsigned int ip0, unsigned int ip1, unsigned int ip2): - p0(ip0), p1(ip1), p2(ip2) {} - - bool operator < (const Triangle& rhs) const - { - if (p0rhs.p0) return false; - if (p1rhs.p1) return false; - return p2 KdNodeList; - typedef std::vector< Triangle > TriangleList; - - int addNode(const KdNode& node) - { - int num = static_cast(_kdNodes.size()); - _kdNodes.push_back(node); - return num; - } - - KdNode& getNode(int nodeNum) { return _kdNodes[nodeNum]; } - const KdNode& getNode(int nodeNum) const { return _kdNodes[nodeNum]; } - - KdNodeList& getNodes() { return _kdNodes; } - const KdNodeList& getNodes() const { return _kdNodes; } - - void setVertices(osg::Vec3Array* vertices) { _vertices = vertices; } - const osg::Vec3Array* getVertices() const { return _vertices.get(); } - - unsigned int addTriangle(const Triangle& tri) - { - unsigned int num = static_cast(_triangles.size()); - _triangles.push_back(tri); - return num; - } - - Triangle& getTriangle(unsigned int i) { return _triangles[i]; } - const Triangle& getTriangle(unsigned int i) const { return _triangles[i]; } - - TriangleList& getTriangles() { return _triangles; } - const TriangleList& getTriangles() const { return _triangles; } - - - protected: - - osg::ref_ptr _vertices; - KdNodeList _kdNodes; - TriangleList _triangles; - -}; - -class OSG_EXPORT KdTreeBuilder : public osg::NodeVisitor -{ - public: - - KdTreeBuilder(); - - KdTreeBuilder(const KdTreeBuilder& rhs); - - META_NodeVisitor(osg, KdTreeBuilder) - - virtual KdTreeBuilder* clone() { return new KdTreeBuilder(*this); } - - void apply(Geometry& geometry); - - KdTree::BuildOptions _buildOptions; - - osg::ref_ptr _kdTreePrototype; - - - - protected: - - virtual ~KdTreeBuilder() {} - -}; - -} - -#endif diff --git a/src/osg/osg/LOD b/src/osg/osg/LOD deleted file mode 100644 index 0d636ec6..00000000 --- a/src/osg/osg/LOD +++ /dev/null @@ -1,139 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_LOD -#define OSG_LOD 1 - -#include - -namespace osg { - -/** LOD - Level Of Detail group node which allows switching between children - depending on distance from eye point. - Typical uses are for load balancing - objects further away from - the eye point are rendered at a lower level of detail, and at times - of high stress on the graphics pipeline lower levels of detail can - also be chosen by adjusting the viewers's Camera/CullSettings LODScale value. - Each child has a corresponding valid range consisting of a minimum - and maximum distance. Given a distance to the viewer (d), LOD displays - a child if min <= d < max. LOD may display multiple children simultaneously - if their corresponding ranges overlap. Children can be in any order, - and don't need to be sorted by range or amount of detail. If the number of - ranges (m) is less than the number of children (n), then children m+1 through - n are ignored. -*/ -class OSG_EXPORT LOD : public Group -{ - public : - - LOD(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - LOD(const LOD&,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_Node(osg, LOD); - - typedef osg::BoundingSphere::vec_type vec_type; - typedef osg::BoundingSphere::value_type value_type; - - virtual void traverse(NodeVisitor& nv); - - virtual bool addChild(Node *child); - - virtual bool addChild(Node *child, float min, float max); - - virtual bool removeChildren(unsigned int pos,unsigned int numChildrenToRemove=1); - - typedef std::pair MinMaxPair; - typedef std::vector RangeList; - - /** Modes which control how the center of object should be determined when computing which child is active.*/ - enum CenterMode - { - USE_BOUNDING_SPHERE_CENTER, - USER_DEFINED_CENTER, - UNION_OF_BOUNDING_SPHERE_AND_USER_DEFINED - }; - - /** Set how the center of object should be determined when computing which child is active.*/ - void setCenterMode(CenterMode mode) { _centerMode=mode; } - - /** Get how the center of object should be determined when computing which child is active.*/ - CenterMode getCenterMode() const { return _centerMode; } - - /** Sets the object-space point which defines the center of the osg::LOD. - center is affected by any transforms in the hierarchy above the osg::LOD.*/ - inline void setCenter(const vec_type& center) { if (_centerMode!=UNION_OF_BOUNDING_SPHERE_AND_USER_DEFINED) { _centerMode=USER_DEFINED_CENTER; } _userDefinedCenter = center; } - - /** return the LOD center point. */ - inline const vec_type& getCenter() const { if ((_centerMode==USER_DEFINED_CENTER)||(_centerMode==UNION_OF_BOUNDING_SPHERE_AND_USER_DEFINED)) return _userDefinedCenter; else return getBound().center(); } - - - /** Set the object-space reference radius of the volume enclosed by the LOD. - * Used to determine the bounding sphere of the LOD in the absence of any children.*/ - inline void setRadius(value_type radius) { _radius = radius; } - - /** Get the object-space radius of the volume enclosed by the LOD.*/ - inline value_type getRadius() const { return _radius; } - - /** Modes that control how the range values should be interpreted when computing which child is active.*/ - enum RangeMode - { - DISTANCE_FROM_EYE_POINT, - PIXEL_SIZE_ON_SCREEN - }; - - /** Set how the range values should be interpreted when computing which child is active.*/ - void setRangeMode(RangeMode mode) { _rangeMode = mode; } - - /** Get how the range values should be interpreted when computing which child is active.*/ - RangeMode getRangeMode() const { return _rangeMode; } - - - /** Sets the min and max visible ranges of range of specific child. - Values are floating point distance specified in local objects coordinates.*/ - void setRange(unsigned int childNo, float min,float max); - - /** returns the min visible range for specified child.*/ - inline float getMinRange(unsigned int childNo) const { return _rangeList[childNo].first; } - - /** returns the max visible range for specified child.*/ - inline float getMaxRange(unsigned int childNo) const { return _rangeList[childNo].second; } - - /** returns the number of ranges currently set. - * An LOD which has been fully set up will have getNumChildren()==getNumRanges(). */ - inline unsigned int getNumRanges() const { return static_cast(_rangeList.size()); } - - /** set the list of MinMax ranges for each child.*/ - inline void setRangeList(const RangeList& rangeList) { _rangeList=rangeList; } - - /** return the list of MinMax ranges for each child.*/ - inline const RangeList& getRangeList() const { return _rangeList; } - - virtual BoundingSphere computeBound() const; - - protected : - virtual ~LOD() {} - - CenterMode _centerMode; - vec_type _userDefinedCenter; - value_type _radius; - - RangeMode _rangeMode; - RangeList _rangeList; - -}; - -} - -#endif diff --git a/src/osg/osg/Light b/src/osg/osg/Light deleted file mode 100644 index d0cb67d9..00000000 --- a/src/osg/osg/Light +++ /dev/null @@ -1,199 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_LIGHT -#define OSG_LIGHT 1 - -#include -#include -#include - -#ifndef GL_LIGHT0 - #define GL_LIGHT0 0x4000 - #define GL_LIGHT1 0x4001 - #define GL_LIGHT2 0x4002 - #define GL_LIGHT3 0x4003 - #define GL_LIGHT4 0x4004 - #define GL_LIGHT5 0x4005 - #define GL_LIGHT6 0x4006 - #define GL_LIGHT7 0x4007 -#endif - -#ifndef GL_LIGHTING - #define GL_LIGHTING 0x0B50 -#endif - -namespace osg { - -/** Light state class which encapsulates OpenGL glLight() functionality. */ -class OSG_EXPORT Light : public StateAttribute -{ - public : - - Light(); - - Light(unsigned int lightnum); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - Light(const Light& light,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(light,copyop), - _lightnum(light._lightnum), - _ambient(light._ambient), - _diffuse(light._diffuse), - _specular(light._specular), - _position(light._position), - _direction(light._direction), - _constant_attenuation(light._constant_attenuation), - _linear_attenuation(light._linear_attenuation), - _quadratic_attenuation(light._quadratic_attenuation), - _spot_exponent(light._spot_exponent), - _spot_cutoff(light._spot_cutoff) {} - - virtual osg::Object* cloneType() const { return new Light(_lightnum); } - virtual osg::Object* clone(const osg::CopyOp& copyop) const { return new Light(*this,copyop); } - virtual bool isSameKindAs(const osg::Object* obj) const { return dynamic_cast(obj)!=NULL; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "Light"; } - virtual Type getType() const { return LIGHT; } - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // check the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(Light,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_lightnum) - COMPARE_StateAttribute_Parameter(_ambient) - COMPARE_StateAttribute_Parameter(_diffuse) - COMPARE_StateAttribute_Parameter(_specular) - COMPARE_StateAttribute_Parameter(_position) - COMPARE_StateAttribute_Parameter(_direction) - COMPARE_StateAttribute_Parameter(_constant_attenuation) - COMPARE_StateAttribute_Parameter(_linear_attenuation) - COMPARE_StateAttribute_Parameter(_quadratic_attenuation) - COMPARE_StateAttribute_Parameter(_spot_exponent) - COMPARE_StateAttribute_Parameter(_spot_cutoff) - - return 0; // passed all the above comparison macros, must be equal. - } - - virtual unsigned int getMember() const { return _lightnum; } - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode(GL_LIGHT0+_lightnum); - return true; - } - - - - /** Set which OpenGL light to operate on. */ - void setLightNum(int num); - - /** Get which OpenGL light this osg::Light operates on. */ - int getLightNum() const { return _lightnum; } - - /** Set the ambient component of the light. */ - inline void setAmbient( const Vec4& ambient ) { _ambient = ambient; } - - /** Get the ambient component of the light. */ - inline const Vec4& getAmbient() const { return _ambient; } - - /** Set the diffuse component of the light. */ - inline void setDiffuse( const Vec4& diffuse ) { _diffuse = diffuse; } - - /** Get the diffuse component of the light. */ - inline const Vec4& getDiffuse() const { return _diffuse; } - - /** Set the specular component of the light. */ - inline void setSpecular( const Vec4& specular ) { _specular = specular; } - - /** Get the specular component of the light. */ - inline const Vec4& getSpecular() const { return _specular; } - - /** Set the position of the light. */ - inline void setPosition( const Vec4& position ) { _position = position; } - - /** Get the position of the light. */ - inline const Vec4& getPosition() const { return _position; } - - /** Set the direction of the light. */ - inline void setDirection( const Vec3& direction ) { _direction = direction; } - - /** Get the direction of the light. */ - inline const Vec3& getDirection() const { return _direction; } - - /** Set the constant attenuation of the light. */ - inline void setConstantAttenuation( float constant_attenuation ) { _constant_attenuation = constant_attenuation; } - - /** Get the constant attenuation of the light. */ - inline float getConstantAttenuation() const { return _constant_attenuation; } - - /** Set the linear attenuation of the light. */ - inline void setLinearAttenuation ( float linear_attenuation ) { _linear_attenuation = linear_attenuation; } - - /** Get the linear attenuation of the light. */ - inline float getLinearAttenuation () const { return _linear_attenuation; } - - /** Set the quadratic attenuation of the light. */ - inline void setQuadraticAttenuation ( float quadratic_attenuation ) { _quadratic_attenuation = quadratic_attenuation; } - - /** Get the quadratic attenuation of the light. */ - inline float getQuadraticAttenuation() const { return _quadratic_attenuation; } - - /** Set the spot exponent of the light. */ - inline void setSpotExponent( float spot_exponent ) { _spot_exponent = spot_exponent; } - - /** Get the spot exponent of the light. */ - inline float getSpotExponent() const { return _spot_exponent; } - - /** Set the spot cutoff of the light. */ - inline void setSpotCutoff( float spot_cutoff ) { _spot_cutoff = spot_cutoff; } - - /** Get the spot cutoff of the light. */ - inline float getSpotCutoff() const { return _spot_cutoff; } - - /** Capture the lighting settings of the current OpenGL state - * and store them in this object. - */ - void captureLightState(); - - /** Apply the light's state to the OpenGL state machine. */ - virtual void apply(State& state) const; - - protected : - - virtual ~Light(); - - /** Initialize the light's settings with some decent defaults. */ - void init(); - - int _lightnum; // OpenGL light number - - Vec4 _ambient; // r, g, b, w - Vec4 _diffuse; // r, g, b, w - Vec4 _specular; // r, g, b, w - Vec4 _position; // x, y, z, w - Vec3 _direction; // x, y, z - float _constant_attenuation; // constant - float _linear_attenuation; // linear - float _quadratic_attenuation; // quadratic - float _spot_exponent; // exponent - float _spot_cutoff; // spread -}; - -} - -#endif diff --git a/src/osg/osg/LightModel b/src/osg/osg/LightModel deleted file mode 100644 index 696f0f78..00000000 --- a/src/osg/osg/LightModel +++ /dev/null @@ -1,95 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_LIGHTMODEL -#define OSG_LIGHTMODEL 1 - -#include -#include - -namespace osg { - -class OSG_EXPORT LightModel : public StateAttribute -{ - public : - - LightModel(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - LightModel(const LightModel& lw,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(lw,copyop), - _ambient(lw._ambient), - _colorControl(lw._colorControl), - _localViewer(lw._localViewer), - _twoSided(lw._twoSided) {} - - - META_StateAttribute(osg, LightModel, LIGHTMODEL); - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // check the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(LightModel,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_ambient) - COMPARE_StateAttribute_Parameter(_colorControl) - COMPARE_StateAttribute_Parameter(_localViewer) - COMPARE_StateAttribute_Parameter(_twoSided) - - return 0; // passed all the above comparison macros, must be equal. - } - - - void setAmbientIntensity(const osg::Vec4& ambient) { _ambient = ambient; } - const osg::Vec4& getAmbientIntensity() const { return _ambient; } - - - enum ColorControl - { - SEPARATE_SPECULAR_COLOR, - SINGLE_COLOR - }; - - void setColorControl(ColorControl cc) { _colorControl = cc; } - inline ColorControl getColorControl() const { return _colorControl; } - - - void setLocalViewer(bool localViewer) { _localViewer=localViewer; } - inline bool getLocalViewer() const { return _localViewer; } - - - void setTwoSided(bool twoSided) { _twoSided = twoSided; } - inline bool getTwoSided() const { return _twoSided; } - - - - virtual void apply(State& state) const; - - - protected : - - virtual ~LightModel(); - - osg::Vec4 _ambient; - ColorControl _colorControl; - bool _localViewer; - bool _twoSided; - -}; - -} - -#endif diff --git a/src/osg/osg/LightSource b/src/osg/osg/LightSource deleted file mode 100644 index 1131b712..00000000 --- a/src/osg/osg/LightSource +++ /dev/null @@ -1,93 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2004 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_LIGHTSOURCE -#define OSG_LIGHTSOURCE 1 - -#include -#include -#include - -namespace osg { - -/** Leaf Node for defining a light in the scene. */ -class OSG_EXPORT LightSource : public Group -{ - public: - - LightSource(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - LightSource(const LightSource& ls, - const CopyOp& copyop=CopyOp::SHALLOW_COPY): - Group(ls,copyop), - _value(ls._value), - _light(dynamic_cast(copyop(ls._light.get()))), - _referenceFrame(ls._referenceFrame) {} - - META_Node(osg, LightSource); - - enum ReferenceFrame - { - RELATIVE_RF, - ABSOLUTE_RF - }; - - /** Set the light sources's ReferenceFrame, either to be relative to its - * parent reference frame, or relative to an absolute coordinate - * frame. RELATIVE_RF is the default. - * Note: setting the ReferenceFrame to be ABSOLUTE_RF will - * also set the CullingActive flag on the light source, and hence all - * of its parents, to false, thereby disabling culling of it and - * all its parents. This is necessary to prevent inappropriate - * culling, but may impact cull times if the absolute light source is - * deep in the scene graph. It is therefore recommended to only use - * absolute light source at the top of the scene. - */ - void setReferenceFrame(ReferenceFrame rf); - - ReferenceFrame getReferenceFrame() const { return _referenceFrame; } - - /** Set the attached light. */ - void setLight(Light* light); - - /** Get the attached light. */ - inline Light* getLight() { return _light.get(); } - - /** Get the const attached light. */ - inline const Light* getLight() const { return _light.get(); } - - /** Set the GLModes on StateSet associated with the LightSource. */ - void setStateSetModes(StateSet&,StateAttribute::GLModeValue) const; - - /** Set up the local StateSet. */ - void setLocalStateSetModes(StateAttribute::GLModeValue value = StateAttribute::ON); - - /** Set whether to use a mutex to ensure ref() and unref() are thread safe.*/ - virtual void setThreadSafeRefUnref(bool threadSafe); - - virtual BoundingSphere computeBound() const; - - protected: - - virtual ~LightSource(); - - StateAttribute::GLModeValue _value; - ref_ptr _light; - - ReferenceFrame _referenceFrame; -}; - -} - -#endif diff --git a/src/osg/osg/LineSegment b/src/osg/osg/LineSegment deleted file mode 100644 index 8fe2545a..00000000 --- a/src/osg/osg/LineSegment +++ /dev/null @@ -1,104 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2004 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_LINESEGMENT -#define OSG_LINESEGMENT 1 - -#include -#include -#include - -namespace osg { - -/** LineSegment class for representing a line segment. */ -class OSG_EXPORT LineSegment : public Referenced -{ - public: - - typedef Vec3d vec_type; - typedef vec_type::value_type value_type; - - LineSegment() {}; - LineSegment(const LineSegment& seg) : Referenced(),_s(seg._s),_e(seg._e) {} - LineSegment(const vec_type& s,const vec_type& e) : _s(s),_e(e) {} - - LineSegment& operator = (const LineSegment& seg) { _s = seg._s; _e = seg._e; return *this; } - - inline void set(const vec_type& s,const vec_type& e) { _s=s; _e=e; } - - inline vec_type& start() { return _s; } - inline const vec_type& start() const { return _s; } - - inline vec_type& end() { return _e; } - inline const vec_type& end() const { return _e; } - - inline bool valid() const { return _s.valid() && _e.valid() && _s!=_e; } - - - /** return true if segment intersects BoundingBox. */ - bool intersect(const BoundingBox& bb) const; - - /** return true if segment intersects BoundingBox and - * set float ratios for the first and second intersections, where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point. - */ - bool intersectAndComputeRatios(const BoundingBox& bb, float& ratioFromStartToEnd1, float& ratioFromStartToEnd2) const; - - /** return true if segment intersects BoundingBox and - * set double ratios for the first and second intersections, where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point. - */ - bool intersectAndComputeRatios(const BoundingBox& bb, double& ratioFromStartToEnd1, double& ratioFromStartToEnd2) const; - - - /** return true if segment intersects BoundingSphere. */ - bool intersect(const BoundingSphere& bs) const; - - /** return true if segment intersects BoundingSphere and - * set float ratios for the first and second intersections, where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point. - */ - bool intersectAndComputeRatios(const BoundingSphere& bs, float& ratioFromStartToEnd1, float& ratioFromStartToEnd2) const; - - /** return true if segment intersects BoundingSphere and - * set double ratios for the first and second intersections, where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point. - */ - bool intersectAndComputeRatios(const BoundingSphere& bs,double& ratioFromStartToEnd1, double& ratioFromStartToEnd2) const; - - /** return true if segment intersects triangle and - * set float ratios where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point. - */ - bool intersect(const Vec3f& v1,const Vec3f& v2,const Vec3f& v3,float& ratioFromStartToEnd); - - /** return true if segment intersects triangle and - * set double ratios where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point. - */ - bool intersect(const Vec3d& v1,const Vec3d& v2,const Vec3d& v3,double& ratioFromStartToEnd); - - - /** post multiply a segment by matrix.*/ - inline void mult(const LineSegment& seg,const Matrix& m) { _s = seg._s*m; _e = seg._e*m; } - - /** pre multiply a segment by matrix.*/ - inline void mult(const Matrix& m,const LineSegment& seg) { _s = m*seg._s; _e = m*seg._e; } - - protected: - - virtual ~LineSegment(); - - static bool intersectAndClip(vec_type& s,vec_type& e,const BoundingBox& bb); - - vec_type _s; - vec_type _e; -}; - -} - -#endif diff --git a/src/osg/osg/LineStipple b/src/osg/osg/LineStipple deleted file mode 100644 index dd52a22d..00000000 --- a/src/osg/osg/LineStipple +++ /dev/null @@ -1,83 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2004 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_LINESTIPPLE -#define OSG_LINESTIPPLE 1 - -#include - -#ifndef GL_LINE_STIPPLE - #define GL_LINE_STIPPLE 0x0B24 -#endif - -namespace osg { - -class OSG_EXPORT LineStipple : public StateAttribute -{ - public : - - LineStipple(); - - LineStipple(GLint factor, GLushort pattern): - _factor(factor), - _pattern(pattern) {} - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - LineStipple(const LineStipple& lw,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(lw,copyop), - _factor(lw._factor), - _pattern(lw._pattern) {} - - META_StateAttribute(osg, LineStipple, LINESTIPPLE); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // check if the types are equal and then create the rhs variable. - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(LineStipple,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_factor) - COMPARE_StateAttribute_Parameter(_pattern) - - return 0; // passed all the above comparison macros, must be equal. - } - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode(GL_LINE_STIPPLE); - return true; - } - - void setFactor(GLint factor); - inline GLint getFactor() const { return _factor; } - - void setPattern(GLushort pattern); - inline GLushort getPattern() const { return _pattern; } - - virtual void apply(State& state) const; - - - protected : - - virtual ~LineStipple(); - - GLint _factor; - GLushort _pattern; - -}; - -} - -#endif diff --git a/src/osg/osg/LineWidth b/src/osg/osg/LineWidth deleted file mode 100644 index 6c458883..00000000 --- a/src/osg/osg/LineWidth +++ /dev/null @@ -1,64 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2004 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_LINEWIDTH -#define OSG_LINEWIDTH 1 - -#include - -namespace osg { - -/** LineWidth - encapsulates the OpenGL glLineWidth for setting the width of lines in pixels. */ -class OSG_EXPORT LineWidth : public StateAttribute -{ - public : - - LineWidth(float width=1.0f); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - LineWidth(const LineWidth& lw,const CopyOp& copyop=CopyOp::SHALLOW_COPY) : - StateAttribute(lw,copyop), - _width(lw._width) {} - - META_StateAttribute(osg, LineWidth, LINEWIDTH); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // check if the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(LineWidth,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_width) - - return 0; // passed all the above comparison macros, must be equal. - } - - void setWidth(float width); - - inline float getWidth() const { return _width; } - - virtual void apply(State& state) const; - - protected : - - virtual ~LineWidth(); - - float _width; - -}; - -} - -#endif diff --git a/src/osg/osg/LogicOp b/src/osg/osg/LogicOp deleted file mode 100644 index 2511af1c..00000000 --- a/src/osg/osg/LogicOp +++ /dev/null @@ -1,113 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_LOGICOP -#define OSG_LOGICOP 1 - -#include - -#ifndef OSG_GL_FIXED_FUNCTION_AVAILABLE - #define GL_CLEAR 0x1500 - #define GL_SET 0x150F - #define GL_COPY 0x1503 - #define GL_COPY_INVERTED 0x150C - #define GL_NOOP 0x1505 - #define GL_AND 0x1501 - #define GL_NAND 0x150E - #define GL_OR 0x1507 - #define GL_NOR 0x1508 - #define GL_XOR 0x1506 - #define GL_EQUIV 0x1509 - #define GL_AND_REVERSE 0x1502 - #define GL_AND_INVERTED 0x1504 - #define GL_OR_REVERSE 0x150B - #define GL_OR_INVERTED 0x150D - #define GL_COLOR_LOGIC_OP 0x0BF2 -#endif - -namespace osg { - -/** Encapsulates OpenGL LogicOp state. */ -class OSG_EXPORT LogicOp : public StateAttribute -{ - public : - - enum Opcode { - CLEAR = GL_CLEAR, - SET = GL_SET, - COPY = GL_COPY, - COPY_INVERTED = GL_COPY_INVERTED, - NOOP = GL_NOOP, - INVERT = GL_INVERT, - AND = GL_AND, - NAND = GL_NAND, - OR = GL_OR, - NOR = GL_NOR, - XOR = GL_XOR, - EQUIV = GL_EQUIV, - AND_REVERSE = GL_AND_REVERSE, - AND_INVERTED = GL_AND_INVERTED, - OR_REVERSE = GL_OR_REVERSE, - OR_INVERTED = GL_OR_INVERTED - }; - - LogicOp(); - - LogicOp(Opcode opcode); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - LogicOp(const LogicOp& trans,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(trans,copyop), - _opcode(trans._opcode){} - - META_StateAttribute(osg, LogicOp,LOGICOP); - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // Check for equal types, then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(LogicOp,sa) - - // Compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_opcode) - - return 0; // Passed all the above comparison macros, so must be equal. - } - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode(GL_COLOR_LOGIC_OP); - return true; - } - - - inline void setOpcode(Opcode opcode) - { - _opcode = opcode; - } - - inline Opcode getOpcode() const { return _opcode; } - - virtual void apply(State& state) const; - - protected : - - virtual ~LogicOp(); - - Opcode _opcode; -}; - -} - -#endif diff --git a/src/osg/osg/Material b/src/osg/osg/Material deleted file mode 100644 index 459d1e4d..00000000 --- a/src/osg/osg/Material +++ /dev/null @@ -1,205 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2004 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_MATERIAL -#define OSG_MATERIAL 1 - -#include -#include - -#ifndef OSG_GL_FIXED_FUNCTION_AVAILABLE - #define GL_AMBIENT 0x1200 - #define GL_DIFFUSE 0x1201 - #define GL_SPECULAR 0x1202 - #define GL_EMISSION 0x1600 - #define GL_AMBIENT_AND_DIFFUSE 0x1602 - #define GL_COLOR_MATERIAL 0x0B57 -#endif - -namespace osg { -/** Material - encapsulates OpenGL glMaterial state.*/ -class OSG_EXPORT Material : public StateAttribute -{ - public : - - Material(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - Material(const Material& mat,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(mat,copyop), - _colorMode(mat._colorMode), - _ambientFrontAndBack(mat._ambientFrontAndBack), - _ambientFront(mat._ambientFront), - _ambientBack(mat._ambientBack), - _diffuseFrontAndBack(mat._diffuseFrontAndBack), - _diffuseFront(mat._diffuseFront), - _diffuseBack(mat._diffuseBack), - _specularFrontAndBack(mat._specularFrontAndBack), - _specularFront(mat._specularFront), - _specularBack(mat._specularBack), - _emissionFrontAndBack(mat._emissionFrontAndBack), - _emissionFront(mat._emissionFront), - _emissionBack(mat._emissionBack), - _shininessFrontAndBack(mat._shininessFrontAndBack), - _shininessFront(mat._shininessFront), - _shininessBack(mat._shininessBack) {} - - META_StateAttribute(osg, Material, MATERIAL); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // check the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(Material,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_colorMode) - COMPARE_StateAttribute_Parameter(_ambientFrontAndBack) - COMPARE_StateAttribute_Parameter(_ambientFront) - COMPARE_StateAttribute_Parameter(_ambientBack) - COMPARE_StateAttribute_Parameter(_diffuseFrontAndBack) - COMPARE_StateAttribute_Parameter(_diffuseFront) - COMPARE_StateAttribute_Parameter(_diffuseBack) - COMPARE_StateAttribute_Parameter(_specularFrontAndBack) - COMPARE_StateAttribute_Parameter(_specularFront) - COMPARE_StateAttribute_Parameter(_specularBack) - COMPARE_StateAttribute_Parameter(_emissionFrontAndBack) - COMPARE_StateAttribute_Parameter(_emissionFront) - COMPARE_StateAttribute_Parameter(_emissionBack) - COMPARE_StateAttribute_Parameter(_shininessFrontAndBack) - COMPARE_StateAttribute_Parameter(_shininessFront) - COMPARE_StateAttribute_Parameter(_shininessBack) - - return 0; // passed all the above comparison macros, must be equal. - } - - Material& operator = (const Material& rhs); - - virtual bool getModeUsage(StateAttribute::ModeUsage& /*usage*/) const - { - // note, since Material does it's own glEnable/glDisable of GL_COLOR_MATERIAL - // we shouldn't declare usage of that mode, so commenting out the below usage. - // usage.usesMode(GL_COLOR_MATERIAL); - return true; - } - - virtual void apply(State& state) const; - - enum Face { - FRONT = GL_FRONT, - BACK = GL_BACK, - FRONT_AND_BACK = GL_FRONT_AND_BACK - }; - - enum ColorMode { - AMBIENT = GL_AMBIENT, - DIFFUSE = GL_DIFFUSE, - SPECULAR = GL_SPECULAR, - EMISSION = GL_EMISSION, - AMBIENT_AND_DIFFUSE = GL_AMBIENT_AND_DIFFUSE, - OFF - }; - - inline void setColorMode(ColorMode mode) { _colorMode = mode; } - inline ColorMode getColorMode() const { return _colorMode; } - - void setAmbient( Face face, const Vec4& ambient ); - const Vec4& getAmbient(Face face) const; - inline bool getAmbientFrontAndBack() const { return _ambientFrontAndBack; } - - void setDiffuse( Face face, const Vec4& diffuse ); - const Vec4& getDiffuse(Face face) const; - inline bool getDiffuseFrontAndBack() const { return _diffuseFrontAndBack; } - - /** Set specular value of specified face(s) of the material, - * valid specular[0..3] range is 0.0 to 1.0. - */ - void setSpecular( Face face, const Vec4& specular ); - - /** Get the specular value for specified face. */ - const Vec4& getSpecular(Face face) const; - - /** Return whether specular values are equal for front and back faces - * or not. - */ - inline bool getSpecularFrontAndBack() const { return _specularFrontAndBack; } - - /** Set emission value of specified face(s) of the material, - * valid emission[0..3] range is 0.0 to 1.0. - */ - void setEmission( Face face, const Vec4& emission ); - - /** Get the emission value for specified face. */ - const Vec4& getEmission(Face face) const; - - /** Return whether emission values are equal for front and back faces - * or not. - */ - inline bool getEmissionFrontAndBack() const { return _emissionFrontAndBack; } - - /** Set shininess of specified face(s) of the material. - * valid shininess range is 0.0 to 128.0. - */ - void setShininess(Face face, float shininess ); - - /** Get the shininess value for specified face. */ - float getShininess(Face face) const; - - /** Return whether shininess values are equal for front and back faces - * or not. - */ - inline bool getShininessFrontAndBack() const { return _shininessFrontAndBack; } - - /** Set the alpha value of ambient, diffuse, specular and emission - * colors of specified face, to 1-transparency. - * Valid transparency range is 0.0 to 1.0. - */ - void setTransparency(Face face,float trans); - - /** Set the alpha value of ambient, diffuse, specular and emission - * colors. Valid transparency range is 0.0 to 1.0. - */ - void setAlpha(Face face,float alpha); - - protected : - - virtual ~Material(); - - ColorMode _colorMode; - - bool _ambientFrontAndBack; - Vec4 _ambientFront; // r, g, b, w - Vec4 _ambientBack; // r, g, b, w - - bool _diffuseFrontAndBack; - Vec4 _diffuseFront; // r, g, b, w - Vec4 _diffuseBack; // r, g, b, w - - bool _specularFrontAndBack; - Vec4 _specularFront; // r, g, b, w - Vec4 _specularBack; // r, g, b, w - - bool _emissionFrontAndBack; - Vec4 _emissionFront; // r, g, b, w - Vec4 _emissionBack; // r, g, b, w - - bool _shininessFrontAndBack; - float _shininessFront; // values 0 - 128.0 - float _shininessBack; // values 0 - 128.0 - -}; - -} - -#endif diff --git a/src/osg/osg/Math b/src/osg/osg/Math deleted file mode 100644 index 1ea7c0d5..00000000 --- a/src/osg/osg/Math +++ /dev/null @@ -1,152 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2004 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef __OSG_MATH -#define __OSG_MATH - -#include -#include - -#include - -namespace osg { - -// define the standard trig values -#ifdef PI -#undef PI -#undef PI_2 -#undef PI_4 -#endif -const double PI = 3.14159265358979323846; -const double PI_2 = 1.57079632679489661923; -const double PI_4 = 0.78539816339744830962; -const double LN_2 = 0.69314718055994530942; -const double INVLN_2 = 1.0 / LN_2; - - -template -inline T absolute(T v) { return v<(T)0?-v:v; } - -/** return true if float lhs and rhs are equivalent, - * meaning that the difference between them is less than an epsilon value - * which defaults to 1e-6. -*/ -inline bool equivalent(float lhs,float rhs,float epsilon=1e-6) - { float delta = rhs-lhs; return delta<0.0f?delta>=-epsilon:delta<=epsilon; } - -/** return true if double lhs and rhs are equivalent, - * meaning that the difference between them is less than an epsilon value - * which defaults to 1e-6. -*/ -inline bool equivalent(double lhs,double rhs,double epsilon=1e-6) - { double delta = rhs-lhs; return delta<0.0?delta>=-epsilon:delta<=epsilon; } - -/** return the minimum of two values, equivalent to std::min. - * std::min not used because of STL implementation under IRIX not containing - * std::min. -*/ -template -inline T minimum(T lhs,T rhs) { return lhs -inline T maximum(T lhs,T rhs) { return lhs>rhs?lhs:rhs; } - -template -inline T clampTo(T v,T minimum,T maximum) { return vmaximum?maximum:v; } - -template -inline T clampAbove(T v,T minimum) { return v -inline T clampBelow(T v,T maximum) { return v>maximum?maximum:v; } - -template -inline T clampBetween(T v,T minimum, T maximum) - { return clampBelow(clampAbove(v,minimum),maximum); } - -template -inline T sign(T v) { return v<(T)0?(T)-1:(T)1; } - -template -inline T signOrZero(T v) { return v<(T)0 ? (T)-1 : ( v>(T)0 ? (T)1 : 0 ); } - -template -inline T square(T v) { return v*v; } - -template -inline T signedSquare(T v) { return v<(T)0?-v*v:v*v;; } - -inline float inDegrees(float angle) { return angle*(float)PI/180.0f; } -inline double inDegrees(double angle) { return angle*PI/180.0; } - -template -inline T inRadians(T angle) { return angle; } - -inline float DegreesToRadians(float angle) { return angle*(float)PI/180.0f; } -inline double DegreesToRadians(double angle) { return angle*PI/180.0; } - -inline float RadiansToDegrees(float angle) { return angle*180.0f/(float)PI; } -inline double RadiansToDegrees(double angle) { return angle*180.0/PI; } - -inline float round(float v) { return v>=0.0f?floorf(v+0.5f):ceilf(v-0.5f); } -inline double round(double v) { return v>=0.0?floor(v+0.5):ceil(v-0.5); } - -#if defined(_MSC_VER) - inline bool isNaN(double v) { return _isnan(v)!=0; } -#elif defined(__ANDROID__) - inline bool isNaN(float v) { return isnan(v); } - inline bool isNaN(double v) { return isnan(v); } -#else - inline bool isNaN(float v) { return std::isnan(v); } - inline bool isNaN(double v) { return std::isnan(v); } -#endif - - -/** compute the volume of a tetrahedron. */ -template -inline float computeVolume(const T& a,const T& b,const T& c,const T& d) -{ - return fabsf(((b-c)^(a-b))*(d-b)); -} - -/** compute the volume of a prism. */ -template -inline float computeVolume(const T& f1,const T& f2,const T& f3, - const T& b1,const T& b2,const T& b3) -{ - return computeVolume(f1,f2,f3,b1)+ - computeVolume(b1,b2,b3,f2)+ - computeVolume(b1,b3,f2,f3); -} - -/** Convert a ascii number to a double, ignoring locale settings.*/ -extern OSG_EXPORT double asciiToDouble(const char* str); - -/** Convert a ascii number to a float, ignoring locale settings.*/ -inline float asciiToFloat(const char* str) { return static_cast(asciiToDouble(str)); } - -/** Detect first ascii POSITIVE number in string and convert to double.*/ -extern OSG_EXPORT double findAsciiToDouble(const char* str); - -/** Detect first ascii POSITIVE number in string and convert to double.*/ -inline float findAsciiToFloat(const char* str) { return static_cast(findAsciiToDouble(str)); } - -} - - -#endif // __OSG_MATH - diff --git a/src/osg/osg/Matrix b/src/osg/osg/Matrix deleted file mode 100644 index 0277e1ea..00000000 --- a/src/osg/osg/Matrix +++ /dev/null @@ -1,34 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_MATRIX -#define OSG_MATRIX 1 - -#include -#include -#include - -namespace osg { - -#ifdef OSG_USE_FLOAT_MATRIX - typedef Matrixf Matrix; - typedef RefMatrixf RefMatrix; -#else - typedef Matrixd Matrix; - typedef RefMatrixd RefMatrix; -#endif - -} //namespace osg - - -#endif diff --git a/src/osg/osg/MatrixTransform b/src/osg/osg/MatrixTransform deleted file mode 100644 index ebb8afbd..00000000 --- a/src/osg/osg/MatrixTransform +++ /dev/null @@ -1,84 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_MATRIXTRANSFORM -#define OSG_MATRIXTRANSFORM 1 - -#include - -namespace osg { - -/** MatrixTransform - is a subclass of Transform which has an osg::Matrix - * which represents a 4x4 transformation of its children from local coordinates - * into the Transform's parent coordinates. -*/ -class OSG_EXPORT MatrixTransform : public Transform -{ - public : - - - MatrixTransform(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - MatrixTransform(const MatrixTransform&,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - MatrixTransform(const Matrix& matix); - - META_Node(osg, MatrixTransform); - - virtual MatrixTransform* asMatrixTransform() { return this; } - virtual const MatrixTransform* asMatrixTransform() const { return this; } - - - /** Set the transform's matrix.*/ - void setMatrix(const Matrix& mat) { _matrix = mat; _inverseDirty=true; dirtyBound(); } - - /** Get the matrix. */ - inline const Matrix& getMatrix() const { return _matrix; } - - /** pre multiply the transform's matrix.*/ - void preMult(const Matrix& mat) { _matrix.preMult(mat); _inverseDirty=true; dirtyBound(); } - - /** post multiply the transform's matrix.*/ - void postMult(const Matrix& mat) { _matrix.postMult(mat); _inverseDirty=true; dirtyBound(); } - - /** Get the inverse matrix. */ - inline const Matrix& getInverseMatrix() const - { - if (_inverseDirty) - { - _inverse.invert(_matrix); - _inverseDirty = false; - } - return _inverse; - } - - virtual bool computeLocalToWorldMatrix(Matrix& matrix,NodeVisitor*) const; - - virtual bool computeWorldToLocalMatrix(Matrix& matrix,NodeVisitor*) const; - - - protected : - - virtual ~MatrixTransform(); - - Matrix _matrix; - mutable Matrix _inverse; - mutable bool _inverseDirty; - - -}; - -} - -#endif diff --git a/src/osg/osg/Matrixd b/src/osg/osg/Matrixd deleted file mode 100644 index 18eca9a5..00000000 --- a/src/osg/osg/Matrixd +++ /dev/null @@ -1,831 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2004 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_MATRIXD -#define OSG_MATRIXD 1 - -#include -#include -#include -#include - -namespace osg { - -class Matrixf; - -class OSG_EXPORT Matrixd -{ - public: - - typedef double value_type; - typedef float other_value_type; - - inline Matrixd() { makeIdentity(); } - inline Matrixd( const Matrixd& mat) { set(mat.ptr()); } - Matrixd( const Matrixf& mat ); - inline explicit Matrixd( float const * const ptr ) { set(ptr); } - inline explicit Matrixd( double const * const ptr ) { set(ptr); } - inline explicit Matrixd( const Quat& quat ) { makeRotate(quat); } - - Matrixd(value_type a00, value_type a01, value_type a02, value_type a03, - value_type a10, value_type a11, value_type a12, value_type a13, - value_type a20, value_type a21, value_type a22, value_type a23, - value_type a30, value_type a31, value_type a32, value_type a33); - - ~Matrixd() {} - - int compare(const Matrixd& m) const; - - bool operator < (const Matrixd& m) const { return compare(m)<0; } - bool operator == (const Matrixd& m) const { return compare(m)==0; } - bool operator != (const Matrixd& m) const { return compare(m)!=0; } - - inline value_type& operator()(int row, int col) { return _mat[row][col]; } - inline value_type operator()(int row, int col) const { return _mat[row][col]; } - - inline bool valid() const { return !isNaN(); } - inline bool isNaN() const { return osg::isNaN(_mat[0][0]) || osg::isNaN(_mat[0][1]) || osg::isNaN(_mat[0][2]) || osg::isNaN(_mat[0][3]) || - osg::isNaN(_mat[1][0]) || osg::isNaN(_mat[1][1]) || osg::isNaN(_mat[1][2]) || osg::isNaN(_mat[1][3]) || - osg::isNaN(_mat[2][0]) || osg::isNaN(_mat[2][1]) || osg::isNaN(_mat[2][2]) || osg::isNaN(_mat[2][3]) || - osg::isNaN(_mat[3][0]) || osg::isNaN(_mat[3][1]) || osg::isNaN(_mat[3][2]) || osg::isNaN(_mat[3][3]); } - - inline Matrixd& operator = (const Matrixd& rhs) - { - if( &rhs == this ) return *this; - set(rhs.ptr()); - return *this; - } - - Matrixd& operator = (const Matrixf& other); - - inline void set(const Matrixd& rhs) { set(rhs.ptr()); } - - void set(const Matrixf& rhs); - - inline void set(float const * const ptr) - { - value_type* local_ptr = (value_type*)_mat; - for(int i=0;i<16;++i) local_ptr[i]=(value_type)ptr[i]; - } - - inline void set(double const * const ptr) - { - value_type* local_ptr = (value_type*)_mat; - for(int i=0;i<16;++i) local_ptr[i]=(value_type)ptr[i]; - } - - void set(value_type a00, value_type a01, value_type a02,value_type a03, - value_type a10, value_type a11, value_type a12,value_type a13, - value_type a20, value_type a21, value_type a22,value_type a23, - value_type a30, value_type a31, value_type a32,value_type a33); - - value_type * ptr() { return (value_type*)_mat; } - const value_type * ptr() const { return (const value_type *)_mat; } - - bool isIdentity() const - { - return _mat[0][0]==1.0 && _mat[0][1]==0.0 && _mat[0][2]==0.0 && _mat[0][3]==0.0 && - _mat[1][0]==0.0 && _mat[1][1]==1.0 && _mat[1][2]==0.0 && _mat[1][3]==0.0 && - _mat[2][0]==0.0 && _mat[2][1]==0.0 && _mat[2][2]==1.0 && _mat[2][3]==0.0 && - _mat[3][0]==0.0 && _mat[3][1]==0.0 && _mat[3][2]==0.0 && _mat[3][3]==1.0; - } - - void makeIdentity(); - - void makeScale( const Vec3f& ); - void makeScale( const Vec3d& ); - void makeScale( value_type, value_type, value_type ); - - void makeTranslate( const Vec3f& ); - void makeTranslate( const Vec3d& ); - void makeTranslate( value_type, value_type, value_type ); - - void makeRotate( const Vec3f& from, const Vec3f& to ); - void makeRotate( const Vec3d& from, const Vec3d& to ); - void makeRotate( value_type angle, const Vec3f& axis ); - void makeRotate( value_type angle, const Vec3d& axis ); - void makeRotate( value_type angle, value_type x, value_type y, value_type z ); - void makeRotate( const Quat& ); - void makeRotate( value_type angle1, const Vec3f& axis1, - value_type angle2, const Vec3f& axis2, - value_type angle3, const Vec3f& axis3); - void makeRotate( value_type angle1, const Vec3d& axis1, - value_type angle2, const Vec3d& axis2, - value_type angle3, const Vec3d& axis3); - - - /** decompose the matrix into translation, rotation, scale and scale orientation.*/ - void decompose( osg::Vec3f& translation, - osg::Quat& rotation, - osg::Vec3f& scale, - osg::Quat& so ) const; - - /** decompose the matrix into translation, rotation, scale and scale orientation.*/ - void decompose( osg::Vec3d& translation, - osg::Quat& rotation, - osg::Vec3d& scale, - osg::Quat& so ) const; - - - /** Set to an orthographic projection. - * See glOrtho for further details. - */ - void makeOrtho(double left, double right, - double bottom, double top, - double zNear, double zFar); - - /** Get the orthographic settings of the orthographic projection matrix. - * Note, if matrix is not an orthographic matrix then invalid values - * will be returned. - */ - bool getOrtho(double& left, double& right, - double& bottom, double& top, - double& zNear, double& zFar) const; - - /** float version of getOrtho(..) */ - bool getOrtho(float& left, float& right, - float& bottom, float& top, - float& zNear, float& zFar) const; - - - /** Set to a 2D orthographic projection. - * See glOrtho2D for further details. - */ - inline void makeOrtho2D(double left, double right, - double bottom, double top) - { - makeOrtho(left,right,bottom,top,-1.0,1.0); - } - - - /** Set to a perspective projection. - * See glFrustum for further details. - */ - void makeFrustum(double left, double right, - double bottom, double top, - double zNear, double zFar); - - /** Get the frustum settings of a perspective projection matrix. - * Note, if matrix is not a perspective matrix then invalid values - * will be returned. - */ - bool getFrustum(double& left, double& right, - double& bottom, double& top, - double& zNear, double& zFar) const; - - /** float version of getFrustum(..) */ - bool getFrustum(float& left, float& right, - float& bottom, float& top, - float& zNear, float& zFar) const; - - /** Set to a symmetrical perspective projection. - * See gluPerspective for further details. - * Aspect ratio is defined as width/height. - */ - void makePerspective(double fovy, double aspectRatio, - double zNear, double zFar); - - /** Get the frustum settings of a symmetric perspective projection - * matrix. - * Return false if matrix is not a perspective matrix, - * where parameter values are undefined. - * Note, if matrix is not a symmetric perspective matrix then the - * shear will be lost. - * Asymmetric matrices occur when stereo, power walls, caves and - * reality center display are used. - * In these configuration one should use the AsFrustum method instead. - */ - bool getPerspective(double& fovy, double& aspectRatio, - double& zNear, double& zFar) const; - - /** float version of getPerspective(..) */ - bool getPerspective(float& fovy, float& aspectRatio, - float& zNear, float& zFar) const; - - /** Set the position and orientation to be a view matrix, - * using the same convention as gluLookAt. - */ - void makeLookAt(const Vec3d& eye,const Vec3d& center,const Vec3d& up); - - /** Get to the position and orientation of a modelview matrix, - * using the same convention as gluLookAt. - */ - void getLookAt(Vec3f& eye,Vec3f& center,Vec3f& up, - value_type lookDistance=1.0f) const; - - /** Get to the position and orientation of a modelview matrix, - * using the same convention as gluLookAt. - */ - void getLookAt(Vec3d& eye,Vec3d& center,Vec3d& up, - value_type lookDistance=1.0f) const; - - /** invert the matrix rhs, automatically select invert_4x3 or invert_4x4. */ - inline bool invert( const Matrixd& rhs) - { - bool is_4x3 = (rhs._mat[0][3]==0.0 && rhs._mat[1][3]==0.0 && rhs._mat[2][3]==0.0 && rhs._mat[3][3]==1.0); - return is_4x3 ? invert_4x3(rhs) : invert_4x4(rhs); - } - - /** 4x3 matrix invert, not right hand column is assumed to be 0,0,0,1. */ - bool invert_4x3( const Matrixd& rhs); - - /** full 4x4 matrix invert. */ - bool invert_4x4( const Matrixd& rhs); - - /** ortho-normalize the 3x3 rotation & scale matrix */ - void orthoNormalize(const Matrixd& rhs); - - // basic utility functions to create new matrices - inline static Matrixd identity( void ); - inline static Matrixd scale( const Vec3f& sv); - inline static Matrixd scale( const Vec3d& sv); - inline static Matrixd scale( value_type sx, value_type sy, value_type sz); - inline static Matrixd translate( const Vec3f& dv); - inline static Matrixd translate( const Vec3d& dv); - inline static Matrixd translate( value_type x, value_type y, value_type z); - inline static Matrixd rotate( const Vec3f& from, const Vec3f& to); - inline static Matrixd rotate( const Vec3d& from, const Vec3d& to); - inline static Matrixd rotate( value_type angle, value_type x, value_type y, value_type z); - inline static Matrixd rotate( value_type angle, const Vec3f& axis); - inline static Matrixd rotate( value_type angle, const Vec3d& axis); - inline static Matrixd rotate( value_type angle1, const Vec3f& axis1, - value_type angle2, const Vec3f& axis2, - value_type angle3, const Vec3f& axis3); - inline static Matrixd rotate( value_type angle1, const Vec3d& axis1, - value_type angle2, const Vec3d& axis2, - value_type angle3, const Vec3d& axis3); - inline static Matrixd rotate( const Quat& quat); - inline static Matrixd inverse( const Matrixd& matrix); - inline static Matrixd orthoNormal(const Matrixd& matrix); - /** Create an orthographic projection matrix. - * See glOrtho for further details. - */ - inline static Matrixd ortho(double left, double right, - double bottom, double top, - double zNear, double zFar); - - /** Create a 2D orthographic projection. - * See glOrtho for further details. - */ - inline static Matrixd ortho2D(double left, double right, - double bottom, double top); - - /** Create a perspective projection. - * See glFrustum for further details. - */ - inline static Matrixd frustum(double left, double right, - double bottom, double top, - double zNear, double zFar); - - /** Create a symmetrical perspective projection. - * See gluPerspective for further details. - * Aspect ratio is defined as width/height. - */ - inline static Matrixd perspective(double fovy, double aspectRatio, - double zNear, double zFar); - - /** Create the position and orientation as per a camera, - * using the same convention as gluLookAt. - */ - inline static Matrixd lookAt(const Vec3f& eye, - const Vec3f& center, - const Vec3f& up); - - /** Create the position and orientation as per a camera, - * using the same convention as gluLookAt. - */ - inline static Matrixd lookAt(const Vec3d& eye, - const Vec3d& center, - const Vec3d& up); - - inline Vec3f preMult( const Vec3f& v ) const; - inline Vec3d preMult( const Vec3d& v ) const; - inline Vec3f postMult( const Vec3f& v ) const; - inline Vec3d postMult( const Vec3d& v ) const; - inline Vec3f operator* ( const Vec3f& v ) const; - inline Vec3d operator* ( const Vec3d& v ) const; - inline Vec4f preMult( const Vec4f& v ) const; - inline Vec4d preMult( const Vec4d& v ) const; - inline Vec4f postMult( const Vec4f& v ) const; - inline Vec4d postMult( const Vec4d& v ) const; - inline Vec4f operator* ( const Vec4f& v ) const; - inline Vec4d operator* ( const Vec4d& v ) const; - -#ifdef USE_DEPRECATED_API - inline void set(const Quat& q) { makeRotate(q); } - inline void get(Quat& q) const { q = getRotate(); } -#endif - - void setRotate(const Quat& q); - /** Get the matrix rotation as a Quat. Note that this function - * assumes a non-scaled matrix and will return incorrect results - * for scaled matrixces. Consider decompose() instead. - */ - Quat getRotate() const; - - void setTrans( value_type tx, value_type ty, value_type tz ); - void setTrans( const Vec3f& v ); - void setTrans( const Vec3d& v ); - - inline Vec3d getTrans() const { return Vec3d(_mat[3][0],_mat[3][1],_mat[3][2]); } - - inline Vec3d getScale() const { - Vec3d x_vec(_mat[0][0],_mat[1][0],_mat[2][0]); - Vec3d y_vec(_mat[0][1],_mat[1][1],_mat[2][1]); - Vec3d z_vec(_mat[0][2],_mat[1][2],_mat[2][2]); - return Vec3d(x_vec.length(), y_vec.length(), z_vec.length()); - } - - /** apply a 3x3 transform of v*M[0..2,0..2]. */ - inline static Vec3f transform3x3(const Vec3f& v,const Matrixd& m); - - /** apply a 3x3 transform of v*M[0..2,0..2]. */ - inline static Vec3d transform3x3(const Vec3d& v,const Matrixd& m); - - /** apply a 3x3 transform of M[0..2,0..2]*v. */ - inline static Vec3f transform3x3(const Matrixd& m,const Vec3f& v); - - /** apply a 3x3 transform of M[0..2,0..2]*v. */ - inline static Vec3d transform3x3(const Matrixd& m,const Vec3d& v); - - // basic Matrixd multiplication, our workhorse methods. - void mult( const Matrixd&, const Matrixd& ); - void preMult( const Matrixd& ); - void postMult( const Matrixd& ); - - /** Optimized version of preMult(translate(v)); */ - inline void preMultTranslate( const Vec3d& v ); - inline void preMultTranslate( const Vec3f& v ); - /** Optimized version of postMult(translate(v)); */ - inline void postMultTranslate( const Vec3d& v ); - inline void postMultTranslate( const Vec3f& v ); - - /** Optimized version of preMult(scale(v)); */ - inline void preMultScale( const Vec3d& v ); - inline void preMultScale( const Vec3f& v ); - /** Optimized version of postMult(scale(v)); */ - inline void postMultScale( const Vec3d& v ); - inline void postMultScale( const Vec3f& v ); - - /** Optimized version of preMult(rotate(q)); */ - inline void preMultRotate( const Quat& q ); - /** Optimized version of postMult(rotate(q)); */ - inline void postMultRotate( const Quat& q ); - - inline void operator *= ( const Matrixd& other ) - { if( this == &other ) { - Matrixd temp(other); - postMult( temp ); - } - else postMult( other ); - } - - inline Matrixd operator * ( const Matrixd &m ) const - { - osg::Matrixd r; - r.mult(*this,m); - return r; - } - - protected: - value_type _mat[4][4]; - -}; - -class RefMatrixd : public Object, public Matrixd -{ - public: - - RefMatrixd():Object(false), Matrixd() {} - RefMatrixd( const Matrixd& other) : Object(false), Matrixd(other) {} - RefMatrixd( const Matrixf& other) : Object(false), Matrixd(other) {} - RefMatrixd( const RefMatrixd& other) : Object(other), Matrixd(other) {} - explicit RefMatrixd( Matrixd::value_type const * const def ):Object(false), Matrixd(def) {} - RefMatrixd( Matrixd::value_type a00, Matrixd::value_type a01, Matrixd::value_type a02, Matrixd::value_type a03, - Matrixd::value_type a10, Matrixd::value_type a11, Matrixd::value_type a12, Matrixd::value_type a13, - Matrixd::value_type a20, Matrixd::value_type a21, Matrixd::value_type a22, Matrixd::value_type a23, - Matrixd::value_type a30, Matrixd::value_type a31, Matrixd::value_type a32, Matrixd::value_type a33): - Object(false), - Matrixd(a00, a01, a02, a03, - a10, a11, a12, a13, - a20, a21, a22, a23, - a30, a31, a32, a33) {} - - virtual Object* cloneType() const { return new RefMatrixd(); } - virtual Object* clone(const CopyOp&) const { return new RefMatrixd(*this); } - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=NULL; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "Matrix"; } - - - protected: - - virtual ~RefMatrixd() {} -}; - - -// static utility methods -inline Matrixd Matrixd::identity(void) -{ - Matrixd m; - m.makeIdentity(); - return m; -} - -inline Matrixd Matrixd::scale(value_type sx, value_type sy, value_type sz) -{ - Matrixd m; - m.makeScale(sx,sy,sz); - return m; -} - -inline Matrixd Matrixd::scale(const Vec3f& v ) -{ - return scale(v.x(), v.y(), v.z() ); -} - -inline Matrixd Matrixd::scale(const Vec3d& v ) -{ - return scale(v.x(), v.y(), v.z() ); -} - -inline Matrixd Matrixd::translate(value_type tx, value_type ty, value_type tz) -{ - Matrixd m; - m.makeTranslate(tx,ty,tz); - return m; -} - -inline Matrixd Matrixd::translate(const Vec3f& v ) -{ - return translate(v.x(), v.y(), v.z() ); -} - -inline Matrixd Matrixd::translate(const Vec3d& v ) -{ - return translate(v.x(), v.y(), v.z() ); -} - -inline Matrixd Matrixd::rotate( const Quat& q ) -{ - return Matrixd(q); -} -inline Matrixd Matrixd::rotate(value_type angle, value_type x, value_type y, value_type z ) -{ - Matrixd m; - m.makeRotate(angle,x,y,z); - return m; -} -inline Matrixd Matrixd::rotate(value_type angle, const Vec3f& axis ) -{ - Matrixd m; - m.makeRotate(angle,axis); - return m; -} -inline Matrixd Matrixd::rotate(value_type angle, const Vec3d& axis ) -{ - Matrixd m; - m.makeRotate(angle,axis); - return m; -} -inline Matrixd Matrixd::rotate( value_type angle1, const Vec3f& axis1, - value_type angle2, const Vec3f& axis2, - value_type angle3, const Vec3f& axis3) -{ - Matrixd m; - m.makeRotate(angle1,axis1,angle2,axis2,angle3,axis3); - return m; -} -inline Matrixd Matrixd::rotate( value_type angle1, const Vec3d& axis1, - value_type angle2, const Vec3d& axis2, - value_type angle3, const Vec3d& axis3) -{ - Matrixd m; - m.makeRotate(angle1,axis1,angle2,axis2,angle3,axis3); - return m; -} -inline Matrixd Matrixd::rotate(const Vec3f& from, const Vec3f& to ) -{ - Matrixd m; - m.makeRotate(from,to); - return m; -} -inline Matrixd Matrixd::rotate(const Vec3d& from, const Vec3d& to ) -{ - Matrixd m; - m.makeRotate(from,to); - return m; -} - -inline Matrixd Matrixd::inverse( const Matrixd& matrix) -{ - Matrixd m; - m.invert(matrix); - return m; -} - -inline Matrixd Matrixd::orthoNormal(const Matrixd& matrix) -{ - Matrixd m; - m.orthoNormalize(matrix); - return m; -} - -inline Matrixd Matrixd::ortho(double left, double right, - double bottom, double top, - double zNear, double zFar) -{ - Matrixd m; - m.makeOrtho(left,right,bottom,top,zNear,zFar); - return m; -} - -inline Matrixd Matrixd::ortho2D(double left, double right, - double bottom, double top) -{ - Matrixd m; - m.makeOrtho2D(left,right,bottom,top); - return m; -} - -inline Matrixd Matrixd::frustum(double left, double right, - double bottom, double top, - double zNear, double zFar) -{ - Matrixd m; - m.makeFrustum(left,right,bottom,top,zNear,zFar); - return m; -} - -inline Matrixd Matrixd::perspective(double fovy, double aspectRatio, - double zNear, double zFar) -{ - Matrixd m; - m.makePerspective(fovy,aspectRatio,zNear,zFar); - return m; -} - -inline Matrixd Matrixd::lookAt(const Vec3f& eye, - const Vec3f& center, - const Vec3f& up) -{ - Matrixd m; - m.makeLookAt(eye,center,up); - return m; -} - -inline Matrixd Matrixd::lookAt(const Vec3d& eye, - const Vec3d& center, - const Vec3d& up) -{ - Matrixd m; - m.makeLookAt(eye,center,up); - return m; -} - -inline Vec3f Matrixd::postMult( const Vec3f& v ) const -{ - value_type d = 1.0f/(_mat[3][0]*v.x()+_mat[3][1]*v.y()+_mat[3][2]*v.z()+_mat[3][3]) ; - return Vec3f( (_mat[0][0]*v.x() + _mat[0][1]*v.y() + _mat[0][2]*v.z() + _mat[0][3])*d, - (_mat[1][0]*v.x() + _mat[1][1]*v.y() + _mat[1][2]*v.z() + _mat[1][3])*d, - (_mat[2][0]*v.x() + _mat[2][1]*v.y() + _mat[2][2]*v.z() + _mat[2][3])*d) ; -} - -inline Vec3d Matrixd::postMult( const Vec3d& v ) const -{ - value_type d = 1.0f/(_mat[3][0]*v.x()+_mat[3][1]*v.y()+_mat[3][2]*v.z()+_mat[3][3]) ; - return Vec3d( (_mat[0][0]*v.x() + _mat[0][1]*v.y() + _mat[0][2]*v.z() + _mat[0][3])*d, - (_mat[1][0]*v.x() + _mat[1][1]*v.y() + _mat[1][2]*v.z() + _mat[1][3])*d, - (_mat[2][0]*v.x() + _mat[2][1]*v.y() + _mat[2][2]*v.z() + _mat[2][3])*d) ; -} - -inline Vec3f Matrixd::preMult( const Vec3f& v ) const -{ - value_type d = 1.0f/(_mat[0][3]*v.x()+_mat[1][3]*v.y()+_mat[2][3]*v.z()+_mat[3][3]) ; - return Vec3f( (_mat[0][0]*v.x() + _mat[1][0]*v.y() + _mat[2][0]*v.z() + _mat[3][0])*d, - (_mat[0][1]*v.x() + _mat[1][1]*v.y() + _mat[2][1]*v.z() + _mat[3][1])*d, - (_mat[0][2]*v.x() + _mat[1][2]*v.y() + _mat[2][2]*v.z() + _mat[3][2])*d); -} - -inline Vec3d Matrixd::preMult( const Vec3d& v ) const -{ - value_type d = 1.0f/(_mat[0][3]*v.x()+_mat[1][3]*v.y()+_mat[2][3]*v.z()+_mat[3][3]) ; - return Vec3d( (_mat[0][0]*v.x() + _mat[1][0]*v.y() + _mat[2][0]*v.z() + _mat[3][0])*d, - (_mat[0][1]*v.x() + _mat[1][1]*v.y() + _mat[2][1]*v.z() + _mat[3][1])*d, - (_mat[0][2]*v.x() + _mat[1][2]*v.y() + _mat[2][2]*v.z() + _mat[3][2])*d); -} - -inline Vec4f Matrixd::postMult( const Vec4f& v ) const -{ - return Vec4f( (_mat[0][0]*v.x() + _mat[0][1]*v.y() + _mat[0][2]*v.z() + _mat[0][3]*v.w()), - (_mat[1][0]*v.x() + _mat[1][1]*v.y() + _mat[1][2]*v.z() + _mat[1][3]*v.w()), - (_mat[2][0]*v.x() + _mat[2][1]*v.y() + _mat[2][2]*v.z() + _mat[2][3]*v.w()), - (_mat[3][0]*v.x() + _mat[3][1]*v.y() + _mat[3][2]*v.z() + _mat[3][3]*v.w())) ; -} -inline Vec4d Matrixd::postMult( const Vec4d& v ) const -{ - return Vec4d( (_mat[0][0]*v.x() + _mat[0][1]*v.y() + _mat[0][2]*v.z() + _mat[0][3]*v.w()), - (_mat[1][0]*v.x() + _mat[1][1]*v.y() + _mat[1][2]*v.z() + _mat[1][3]*v.w()), - (_mat[2][0]*v.x() + _mat[2][1]*v.y() + _mat[2][2]*v.z() + _mat[2][3]*v.w()), - (_mat[3][0]*v.x() + _mat[3][1]*v.y() + _mat[3][2]*v.z() + _mat[3][3]*v.w())) ; -} - -inline Vec4f Matrixd::preMult( const Vec4f& v ) const -{ - return Vec4f( (_mat[0][0]*v.x() + _mat[1][0]*v.y() + _mat[2][0]*v.z() + _mat[3][0]*v.w()), - (_mat[0][1]*v.x() + _mat[1][1]*v.y() + _mat[2][1]*v.z() + _mat[3][1]*v.w()), - (_mat[0][2]*v.x() + _mat[1][2]*v.y() + _mat[2][2]*v.z() + _mat[3][2]*v.w()), - (_mat[0][3]*v.x() + _mat[1][3]*v.y() + _mat[2][3]*v.z() + _mat[3][3]*v.w())); -} - -inline Vec4d Matrixd::preMult( const Vec4d& v ) const -{ - return Vec4d( (_mat[0][0]*v.x() + _mat[1][0]*v.y() + _mat[2][0]*v.z() + _mat[3][0]*v.w()), - (_mat[0][1]*v.x() + _mat[1][1]*v.y() + _mat[2][1]*v.z() + _mat[3][1]*v.w()), - (_mat[0][2]*v.x() + _mat[1][2]*v.y() + _mat[2][2]*v.z() + _mat[3][2]*v.w()), - (_mat[0][3]*v.x() + _mat[1][3]*v.y() + _mat[2][3]*v.z() + _mat[3][3]*v.w())); -} - -inline Vec3f Matrixd::transform3x3(const Vec3f& v,const Matrixd& m) -{ - return Vec3f( (m._mat[0][0]*v.x() + m._mat[1][0]*v.y() + m._mat[2][0]*v.z()), - (m._mat[0][1]*v.x() + m._mat[1][1]*v.y() + m._mat[2][1]*v.z()), - (m._mat[0][2]*v.x() + m._mat[1][2]*v.y() + m._mat[2][2]*v.z())); -} -inline Vec3d Matrixd::transform3x3(const Vec3d& v,const Matrixd& m) -{ - return Vec3d( (m._mat[0][0]*v.x() + m._mat[1][0]*v.y() + m._mat[2][0]*v.z()), - (m._mat[0][1]*v.x() + m._mat[1][1]*v.y() + m._mat[2][1]*v.z()), - (m._mat[0][2]*v.x() + m._mat[1][2]*v.y() + m._mat[2][2]*v.z())); -} - -inline Vec3f Matrixd::transform3x3(const Matrixd& m,const Vec3f& v) -{ - return Vec3f( (m._mat[0][0]*v.x() + m._mat[0][1]*v.y() + m._mat[0][2]*v.z()), - (m._mat[1][0]*v.x() + m._mat[1][1]*v.y() + m._mat[1][2]*v.z()), - (m._mat[2][0]*v.x() + m._mat[2][1]*v.y() + m._mat[2][2]*v.z()) ) ; -} -inline Vec3d Matrixd::transform3x3(const Matrixd& m,const Vec3d& v) -{ - return Vec3d( (m._mat[0][0]*v.x() + m._mat[0][1]*v.y() + m._mat[0][2]*v.z()), - (m._mat[1][0]*v.x() + m._mat[1][1]*v.y() + m._mat[1][2]*v.z()), - (m._mat[2][0]*v.x() + m._mat[2][1]*v.y() + m._mat[2][2]*v.z()) ) ; -} - -inline void Matrixd::preMultTranslate( const Vec3d& v ) -{ - for (unsigned i = 0; i < 3; ++i) - { - double tmp = v[i]; - if (tmp == 0) - continue; - _mat[3][0] += tmp*_mat[i][0]; - _mat[3][1] += tmp*_mat[i][1]; - _mat[3][2] += tmp*_mat[i][2]; - _mat[3][3] += tmp*_mat[i][3]; - } -} - -inline void Matrixd::preMultTranslate( const Vec3f& v ) -{ - for (unsigned i = 0; i < 3; ++i) - { - float tmp = v[i]; - if (tmp == 0) - continue; - _mat[3][0] += tmp*_mat[i][0]; - _mat[3][1] += tmp*_mat[i][1]; - _mat[3][2] += tmp*_mat[i][2]; - _mat[3][3] += tmp*_mat[i][3]; - } -} - -inline void Matrixd::postMultTranslate( const Vec3d& v ) -{ - for (unsigned i = 0; i < 3; ++i) - { - double tmp = v[i]; - if (tmp == 0) - continue; - _mat[0][i] += tmp*_mat[0][3]; - _mat[1][i] += tmp*_mat[1][3]; - _mat[2][i] += tmp*_mat[2][3]; - _mat[3][i] += tmp*_mat[3][3]; - } -} - -inline void Matrixd::postMultTranslate( const Vec3f& v ) -{ - for (unsigned i = 0; i < 3; ++i) - { - float tmp = v[i]; - if (tmp == 0) - continue; - _mat[0][i] += tmp*_mat[0][3]; - _mat[1][i] += tmp*_mat[1][3]; - _mat[2][i] += tmp*_mat[2][3]; - _mat[3][i] += tmp*_mat[3][3]; - } -} - -inline void Matrixd::preMultScale( const Vec3d& v ) -{ - _mat[0][0] *= v[0]; _mat[0][1] *= v[0]; _mat[0][2] *= v[0]; _mat[0][3] *= v[0]; - _mat[1][0] *= v[1]; _mat[1][1] *= v[1]; _mat[1][2] *= v[1]; _mat[1][3] *= v[1]; - _mat[2][0] *= v[2]; _mat[2][1] *= v[2]; _mat[2][2] *= v[2]; _mat[2][3] *= v[2]; -} - -inline void Matrixd::preMultScale( const Vec3f& v ) -{ - _mat[0][0] *= v[0]; _mat[0][1] *= v[0]; _mat[0][2] *= v[0]; _mat[0][3] *= v[0]; - _mat[1][0] *= v[1]; _mat[1][1] *= v[1]; _mat[1][2] *= v[1]; _mat[1][3] *= v[1]; - _mat[2][0] *= v[2]; _mat[2][1] *= v[2]; _mat[2][2] *= v[2]; _mat[2][3] *= v[2]; -} - -inline void Matrixd::postMultScale( const Vec3d& v ) -{ - _mat[0][0] *= v[0]; _mat[1][0] *= v[0]; _mat[2][0] *= v[0]; _mat[3][0] *= v[0]; - _mat[0][1] *= v[1]; _mat[1][1] *= v[1]; _mat[2][1] *= v[1]; _mat[3][1] *= v[1]; - _mat[0][2] *= v[2]; _mat[1][2] *= v[2]; _mat[2][2] *= v[2]; _mat[3][2] *= v[2]; -} - -inline void Matrixd::postMultScale( const Vec3f& v ) -{ - _mat[0][0] *= v[0]; _mat[1][0] *= v[0]; _mat[2][0] *= v[0]; _mat[3][0] *= v[0]; - _mat[0][1] *= v[1]; _mat[1][1] *= v[1]; _mat[2][1] *= v[1]; _mat[3][1] *= v[1]; - _mat[0][2] *= v[2]; _mat[1][2] *= v[2]; _mat[2][2] *= v[2]; _mat[3][2] *= v[2]; -} - -inline void Matrixd::preMultRotate( const Quat& q ) -{ - if (q.zeroRotation()) - return; - Matrixd r; - r.setRotate(q); - preMult(r); -} - -inline void Matrixd::postMultRotate( const Quat& q ) -{ - if (q.zeroRotation()) - return; - Matrixd r; - r.setRotate(q); - postMult(r); -} - -inline Vec3f operator* (const Vec3f& v, const Matrixd& m ) -{ - return m.preMult(v); -} - -inline Vec3d operator* (const Vec3d& v, const Matrixd& m ) -{ - return m.preMult(v); -} - -inline Vec4f operator* (const Vec4f& v, const Matrixd& m ) -{ - return m.preMult(v); -} - -inline Vec4d operator* (const Vec4d& v, const Matrixd& m ) -{ - return m.preMult(v); -} - -inline Vec3f Matrixd::operator* (const Vec3f& v) const -{ - return postMult(v); -} - -inline Vec3d Matrixd::operator* (const Vec3d& v) const -{ - return postMult(v); -} - -inline Vec4f Matrixd::operator* (const Vec4f& v) const -{ - return postMult(v); -} - -inline Vec4d Matrixd::operator* (const Vec4d& v) const -{ - return postMult(v); -} - - -} //namespace osg - - -#endif diff --git a/src/osg/osg/Matrixf b/src/osg/osg/Matrixf deleted file mode 100644 index 0d60501f..00000000 --- a/src/osg/osg/Matrixf +++ /dev/null @@ -1,930 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2004 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_MATRIXF -#define OSG_MATRIXF 1 - -#include -#include -#include -#include - -namespace osg { - -class Matrixf; - -class OSG_EXPORT Matrixf -{ - public: - - typedef float value_type; - typedef double other_value_type; - - inline Matrixf() { makeIdentity(); } - inline Matrixf( const Matrixf& mat) { set(mat.ptr()); } - Matrixf( const Matrixd& mat ); - inline explicit Matrixf( float const * const ptr ) { set(ptr); } - inline explicit Matrixf( double const * const ptr ) { set(ptr); } - inline explicit Matrixf( const Quat& quat ) { makeRotate(quat); } - - Matrixf( value_type a00, value_type a01, value_type a02, value_type a03, - value_type a10, value_type a11, value_type a12, value_type a13, - value_type a20, value_type a21, value_type a22, value_type a23, - value_type a30, value_type a31, value_type a32, value_type a33); - - ~Matrixf() {} - - int compare(const Matrixf& m) const; - - bool operator < (const Matrixf& m) const { return compare(m)<0; } - bool operator == (const Matrixf& m) const { return compare(m)==0; } - bool operator != (const Matrixf& m) const { return compare(m)!=0; } - - inline value_type& operator()(int row, int col) { return _mat[row][col]; } - inline value_type operator()(int row, int col) const { return _mat[row][col]; } - - inline bool valid() const { return !isNaN(); } - inline bool isNaN() const { return osg::isNaN(_mat[0][0]) || osg::isNaN(_mat[0][1]) || osg::isNaN(_mat[0][2]) || osg::isNaN(_mat[0][3]) || - osg::isNaN(_mat[1][0]) || osg::isNaN(_mat[1][1]) || osg::isNaN(_mat[1][2]) || osg::isNaN(_mat[1][3]) || - osg::isNaN(_mat[2][0]) || osg::isNaN(_mat[2][1]) || osg::isNaN(_mat[2][2]) || osg::isNaN(_mat[2][3]) || - osg::isNaN(_mat[3][0]) || osg::isNaN(_mat[3][1]) || osg::isNaN(_mat[3][2]) || osg::isNaN(_mat[3][3]); } - - inline Matrixf& operator = (const Matrixf& rhs) - { - if( &rhs == this ) return *this; - set(rhs.ptr()); - return *this; - } - - Matrixf& operator = (const Matrixd& other); - - inline void set(const Matrixf& rhs) { set(rhs.ptr()); } - - void set(const Matrixd& rhs); - - inline void set(float const * const ptr) - { - value_type* local_ptr = (value_type*)_mat; - for(int i=0;i<16;++i) local_ptr[i]=(value_type)ptr[i]; - } - - inline void set(double const * const ptr) - { - value_type* local_ptr = (value_type*)_mat; - for(int i=0;i<16;++i) local_ptr[i]=(value_type)ptr[i]; - } - - void set(value_type a00, value_type a01, value_type a02,value_type a03, - value_type a10, value_type a11, value_type a12,value_type a13, - value_type a20, value_type a21, value_type a22,value_type a23, - value_type a30, value_type a31, value_type a32,value_type a33); - - value_type * ptr() { return (value_type*)_mat; } - const value_type * ptr() const { return (const value_type *)_mat; } - - bool isIdentity() const - { - return _mat[0][0]==1.0f && _mat[0][1]==0.0f && _mat[0][2]==0.0f && _mat[0][3]==0.0f && - _mat[1][0]==0.0f && _mat[1][1]==1.0f && _mat[1][2]==0.0f && _mat[1][3]==0.0f && - _mat[2][0]==0.0f && _mat[2][1]==0.0f && _mat[2][2]==1.0f && _mat[2][3]==0.0f && - _mat[3][0]==0.0f && _mat[3][1]==0.0f && _mat[3][2]==0.0f && _mat[3][3]==1.0f; - } - - void makeIdentity(); - - void makeScale( const Vec3f& ); - void makeScale( const Vec3d& ); - void makeScale( value_type, value_type, value_type ); - - void makeTranslate( const Vec3f& ); - void makeTranslate( const Vec3d& ); - void makeTranslate( value_type, value_type, value_type ); - - void makeRotate( const Vec3f& from, const Vec3f& to ); - void makeRotate( const Vec3d& from, const Vec3d& to ); - void makeRotate( value_type angle, const Vec3f& axis ); - void makeRotate( value_type angle, const Vec3d& axis ); - void makeRotate( value_type angle, value_type x, value_type y, value_type z ); - void makeRotate( const Quat& ); - void makeRotate( value_type angle1, const Vec3f& axis1, - value_type angle2, const Vec3f& axis2, - value_type angle3, const Vec3f& axis3); - void makeRotate( value_type angle1, const Vec3d& axis1, - value_type angle2, const Vec3d& axis2, - value_type angle3, const Vec3d& axis3); - - - /** decompose the matrix into translation, rotation, scale and scale orientation.*/ - void decompose( osg::Vec3f& translation, - osg::Quat& rotation, - osg::Vec3f& scale, - osg::Quat& so ) const; - - /** decompose the matrix into translation, rotation, scale and scale orientation.*/ - void decompose( osg::Vec3d& translation, - osg::Quat& rotation, - osg::Vec3d& scale, - osg::Quat& so ) const; - - - /** Set to an orthographic projection. - * See glOrtho for further details. - */ - void makeOrtho(double left, double right, - double bottom, double top, - double zNear, double zFar); - - /** Get the orthographic settings of the orthographic projection matrix. - * Note, if matrix is not an orthographic matrix then invalid values - * will be returned. - */ - bool getOrtho(double& left, double& right, - double& bottom, double& top, - double& zNear, double& zFar) const; - - /** float version of getOrtho(..) */ - bool getOrtho(float& left, float& right, - float& bottom, float& top, - float& zNear, float& zFar) const; - - - /** Set to a 2D orthographic projection. - * See glOrtho2D for further details. - */ - inline void makeOrtho2D(double left, double right, - double bottom, double top) - { - makeOrtho(left,right,bottom,top,-1.0,1.0); - } - - - /** Set to a perspective projection. - * See glFrustum for further details. - */ - void makeFrustum(double left, double right, - double bottom, double top, - double zNear, double zFar); - - /** Get the frustum settings of a perspective projection matrix. - * Note, if matrix is not a perspective matrix then invalid values - * will be returned. - */ - bool getFrustum(double& left, double& right, - double& bottom, double& top, - double& zNear, double& zFar) const; - - /** float version of getFrustum(..) */ - bool getFrustum(float& left, float& right, - float& bottom, float& top, - float& zNear, float& zFar) const; - - /** Set to a symmetrical perspective projection. - * See gluPerspective for further details. - * Aspect ratio is defined as width/height. - */ - void makePerspective(double fovy, double aspectRatio, - double zNear, double zFar); - - /** Get the frustum settings of a symmetric perspective projection - * matrix. - * Return false if matrix is not a perspective matrix, - * where parameter values are undefined. - * Note, if matrix is not a symmetric perspective matrix then the - * shear will be lost. - * Asymmetric matrices occur when stereo, power walls, caves and - * reality center display are used. - * In these configuration one should use the AsFrustum method instead. - */ - bool getPerspective(double& fovy, double& aspectRatio, - double& zNear, double& zFar) const; - - /** float version of getPerspective(..) */ - bool getPerspective(float& fovy, float& aspectRatio, - float& zNear, float& zFar) const; - - /** Set the position and orientation to be a view matrix, - * using the same convention as gluLookAt. - */ - void makeLookAt(const Vec3d& eye,const Vec3d& center,const Vec3d& up); - - /** Get to the position and orientation of a modelview matrix, - * using the same convention as gluLookAt. - */ - void getLookAt(Vec3f& eye,Vec3f& center,Vec3f& up, - value_type lookDistance=1.0f) const; - - /** Get to the position and orientation of a modelview matrix, - * using the same convention as gluLookAt. - */ - void getLookAt(Vec3d& eye,Vec3d& center,Vec3d& up, - value_type lookDistance=1.0f) const; - - /** invert the matrix rhs, automatically select invert_4x3 or invert_4x4. */ - inline bool invert( const Matrixf& rhs) - { - bool is_4x3 = (rhs._mat[0][3]==0.0f && rhs._mat[1][3]==0.0f && rhs._mat[2][3]==0.0f && rhs._mat[3][3]==1.0f); - return is_4x3 ? invert_4x3(rhs) : invert_4x4(rhs); - } - - /** 4x3 matrix invert, not right hand column is assumed to be 0,0,0,1. */ - bool invert_4x3( const Matrixf& rhs); - - /** full 4x4 matrix invert. */ - bool invert_4x4( const Matrixf& rhs); - - /** ortho-normalize the 3x3 rotation & scale matrix */ - void orthoNormalize(const Matrixf& rhs); - - //basic utility functions to create new matrices - inline static Matrixf identity( void ); - inline static Matrixf scale( const Vec3f& sv); - inline static Matrixf scale( const Vec3d& sv); - inline static Matrixf scale( value_type sx, value_type sy, value_type sz); - inline static Matrixf translate( const Vec3f& dv); - inline static Matrixf translate( const Vec3d& dv); - inline static Matrixf translate( value_type x, value_type y, value_type z); - inline static Matrixf rotate( const Vec3f& from, const Vec3f& to); - inline static Matrixf rotate( const Vec3d& from, const Vec3d& to); - inline static Matrixf rotate( value_type angle, value_type x, value_type y, value_type z); - inline static Matrixf rotate( value_type angle, const Vec3f& axis); - inline static Matrixf rotate( value_type angle, const Vec3d& axis); - inline static Matrixf rotate( value_type angle1, const Vec3f& axis1, - value_type angle2, const Vec3f& axis2, - value_type angle3, const Vec3f& axis3); - inline static Matrixf rotate( value_type angle1, const Vec3d& axis1, - value_type angle2, const Vec3d& axis2, - value_type angle3, const Vec3d& axis3); - inline static Matrixf rotate( const Quat& quat); - inline static Matrixf inverse( const Matrixf& matrix); - inline static Matrixf orthoNormal(const Matrixf& matrix); - - /** Create an orthographic projection matrix. - * See glOrtho for further details. - */ - inline static Matrixf ortho(double left, double right, - double bottom, double top, - double zNear, double zFar); - - /** Create a 2D orthographic projection. - * See glOrtho for further details. - */ - inline static Matrixf ortho2D(double left, double right, - double bottom, double top); - - /** Create a perspective projection. - * See glFrustum for further details. - */ - inline static Matrixf frustum(double left, double right, - double bottom, double top, - double zNear, double zFar); - - /** Create a symmetrical perspective projection. - * See gluPerspective for further details. - * Aspect ratio is defined as width/height. - */ - inline static Matrixf perspective(double fovy, double aspectRatio, - double zNear, double zFar); - - /** Create the position and orientation as per a camera, - * using the same convention as gluLookAt. - */ - inline static Matrixf lookAt(const Vec3f& eye, - const Vec3f& center, - const Vec3f& up); - - /** Create the position and orientation as per a camera, - * using the same convention as gluLookAt. - */ - inline static Matrixf lookAt(const Vec3d& eye, - const Vec3d& center, - const Vec3d& up); - - inline Vec3f preMult( const Vec3f& v ) const; - inline Vec3d preMult( const Vec3d& v ) const; - inline Vec3f postMult( const Vec3f& v ) const; - inline Vec3d postMult( const Vec3d& v ) const; - inline Vec3f operator* ( const Vec3f& v ) const; - inline Vec3d operator* ( const Vec3d& v ) const; - inline Vec4f preMult( const Vec4f& v ) const; - inline Vec4d preMult( const Vec4d& v ) const; - inline Vec4f postMult( const Vec4f& v ) const; - inline Vec4d postMult( const Vec4d& v ) const; - inline Vec4f operator* ( const Vec4f& v ) const; - inline Vec4d operator* ( const Vec4d& v ) const; - -#ifdef USE_DEPRECATED_API - inline void set(const Quat& q) { makeRotate(q); } - inline void get(Quat& q) const { q = getRotate(); } -#endif - - void setRotate(const Quat& q); - /** Get the matrix rotation as a Quat. Note that this function - * assumes a non-scaled matrix and will return incorrect results - * for scaled matrixces. Consider decompose() instead. - */ - Quat getRotate() const; - - - void setTrans( value_type tx, value_type ty, value_type tz ); - void setTrans( const Vec3f& v ); - void setTrans( const Vec3d& v ); - - inline Vec3d getTrans() const { return Vec3d(_mat[3][0],_mat[3][1],_mat[3][2]); } - - inline Vec3d getScale() const { - Vec3d x_vec(_mat[0][0],_mat[1][0],_mat[2][0]); - Vec3d y_vec(_mat[0][1],_mat[1][1],_mat[2][1]); - Vec3d z_vec(_mat[0][2],_mat[1][2],_mat[2][2]); - return Vec3d(x_vec.length(), y_vec.length(), z_vec.length()); - } - - /** apply a 3x3 transform of v*M[0..2,0..2]. */ - inline static Vec3f transform3x3(const Vec3f& v,const Matrixf& m); - - /** apply a 3x3 transform of v*M[0..2,0..2]. */ - inline static Vec3d transform3x3(const Vec3d& v,const Matrixf& m); - - /** apply a 3x3 transform of M[0..2,0..2]*v. */ - inline static Vec3f transform3x3(const Matrixf& m,const Vec3f& v); - - /** apply a 3x3 transform of M[0..2,0..2]*v. */ - inline static Vec3d transform3x3(const Matrixf& m,const Vec3d& v); - - // basic Matrixf multiplication, our workhorse methods. - void mult( const Matrixf&, const Matrixf& ); - void preMult( const Matrixf& ); - void postMult( const Matrixf& ); - - /** Optimized version of preMult(translate(v)); */ - inline void preMultTranslate( const Vec3d& v ); - inline void preMultTranslate( const Vec3f& v ); - /** Optimized version of postMult(translate(v)); */ - inline void postMultTranslate( const Vec3d& v ); - inline void postMultTranslate( const Vec3f& v ); - - /** Optimized version of preMult(scale(v)); */ - inline void preMultScale( const Vec3d& v ); - inline void preMultScale( const Vec3f& v ); - /** Optimized version of postMult(scale(v)); */ - inline void postMultScale( const Vec3d& v ); - inline void postMultScale( const Vec3f& v ); - - /** Optimized version of preMult(rotate(q)); */ - inline void preMultRotate( const Quat& q ); - /** Optimized version of postMult(rotate(q)); */ - inline void postMultRotate( const Quat& q ); - - inline void operator *= ( const Matrixf& other ) - { if( this == &other ) { - Matrixf temp(other); - postMult( temp ); - } - else postMult( other ); - } - - inline Matrixf operator * ( const Matrixf &m ) const - { - osg::Matrixf r; - r.mult(*this,m); - return r; - } - - /** Multiply by scalar. */ - inline Matrixf operator * (value_type rhs) const - { - return Matrixf( - _mat[0][0]*rhs, _mat[0][1]*rhs, _mat[0][2]*rhs, _mat[0][3]*rhs, - _mat[1][0]*rhs, _mat[1][1]*rhs, _mat[1][2]*rhs, _mat[1][3]*rhs, - _mat[2][0]*rhs, _mat[2][1]*rhs, _mat[2][2]*rhs, _mat[2][3]*rhs, - _mat[3][0]*rhs, _mat[3][1]*rhs, _mat[3][2]*rhs, _mat[3][3]*rhs); - } - - /** Unary multiply by scalar. */ - inline Matrixf& operator *= (value_type rhs) - { - _mat[0][0]*=rhs; - _mat[0][1]*=rhs; - _mat[0][2]*=rhs; - _mat[0][3]*=rhs; - _mat[1][0]*=rhs; - _mat[1][1]*=rhs; - _mat[1][2]*=rhs; - _mat[1][3]*=rhs; - _mat[2][0]*=rhs; - _mat[2][1]*=rhs; - _mat[2][2]*=rhs; - _mat[2][3]*=rhs; - _mat[3][0]*=rhs; - _mat[3][1]*=rhs; - _mat[3][2]*=rhs; - _mat[3][3]*=rhs; - return *this; - } - - /** Divide by scalar. */ - inline Matrixf operator / (value_type rhs) const - { - return Matrixf( - _mat[0][0]/rhs, _mat[0][1]/rhs, _mat[0][2]/rhs, _mat[0][3]/rhs, - _mat[1][0]/rhs, _mat[1][1]/rhs, _mat[1][2]/rhs, _mat[1][3]/rhs, - _mat[2][0]/rhs, _mat[2][1]/rhs, _mat[2][2]/rhs, _mat[2][3]/rhs, - _mat[3][0]/rhs, _mat[3][1]/rhs, _mat[3][2]/rhs, _mat[3][3]/rhs); - } - - /** Unary divide by scalar. */ - inline Matrixf& operator /= (value_type rhs) - { - _mat[0][0]/=rhs; - _mat[0][1]/=rhs; - _mat[0][2]/=rhs; - _mat[0][3]/=rhs; - _mat[1][0]/=rhs; - _mat[1][1]/=rhs; - _mat[1][2]/=rhs; - _mat[1][3]/=rhs; - _mat[2][0]/=rhs; - _mat[2][1]/=rhs; - _mat[2][2]/=rhs; - _mat[2][3]/=rhs; - _mat[3][0]/=rhs; - _mat[3][1]/=rhs; - _mat[3][2]/=rhs; - _mat[3][3]/=rhs; - return *this; - } - - /** Binary vector add. */ - inline Matrixf operator + (const Matrixf& rhs) const - { - return Matrixf( - _mat[0][0] + rhs._mat[0][0], - _mat[0][1] + rhs._mat[0][1], - _mat[0][2] + rhs._mat[0][2], - _mat[0][3] + rhs._mat[0][3], - _mat[1][0] + rhs._mat[1][0], - _mat[1][1] + rhs._mat[1][1], - _mat[1][2] + rhs._mat[1][2], - _mat[1][3] + rhs._mat[1][3], - _mat[2][0] + rhs._mat[2][0], - _mat[2][1] + rhs._mat[2][1], - _mat[2][2] + rhs._mat[2][2], - _mat[2][3] + rhs._mat[2][3], - _mat[3][0] + rhs._mat[3][0], - _mat[3][1] + rhs._mat[3][1], - _mat[3][2] + rhs._mat[3][2], - _mat[3][3] + rhs._mat[3][3]); - } - - /** Unary vector add. Slightly more efficient because no temporary - * intermediate object. - */ - inline Matrixf& operator += (const Matrixf& rhs) - { - _mat[0][0] += rhs._mat[0][0]; - _mat[0][1] += rhs._mat[0][1]; - _mat[0][2] += rhs._mat[0][2]; - _mat[0][3] += rhs._mat[0][3]; - _mat[1][0] += rhs._mat[1][0]; - _mat[1][1] += rhs._mat[1][1]; - _mat[1][2] += rhs._mat[1][2]; - _mat[1][3] += rhs._mat[1][3]; - _mat[2][0] += rhs._mat[2][0]; - _mat[2][1] += rhs._mat[2][1]; - _mat[2][2] += rhs._mat[2][2]; - _mat[2][3] += rhs._mat[2][3]; - _mat[3][0] += rhs._mat[3][0]; - _mat[3][1] += rhs._mat[3][1]; - _mat[3][2] += rhs._mat[3][2]; - _mat[3][3] += rhs._mat[3][3]; - return *this; - } - - protected: - value_type _mat[4][4]; - -}; - -class RefMatrixf : public Object, public Matrixf -{ - public: - - RefMatrixf():Object(false), Matrixf() {} - RefMatrixf( const Matrixf& other) : Object(false), Matrixf(other) {} - RefMatrixf( const Matrixd& other) : Object(false), Matrixf(other) {} - RefMatrixf( const RefMatrixf& other) : Object(other), Matrixf(other) {} - explicit RefMatrixf( Matrixf::value_type const * const def ):Object(false), Matrixf(def) {} - RefMatrixf( Matrixf::value_type a00, Matrixf::value_type a01, Matrixf::value_type a02, Matrixf::value_type a03, - Matrixf::value_type a10, Matrixf::value_type a11, Matrixf::value_type a12, Matrixf::value_type a13, - Matrixf::value_type a20, Matrixf::value_type a21, Matrixf::value_type a22, Matrixf::value_type a23, - Matrixf::value_type a30, Matrixf::value_type a31, Matrixf::value_type a32, Matrixf::value_type a33): - Object(false), - Matrixf(a00, a01, a02, a03, - a10, a11, a12, a13, - a20, a21, a22, a23, - a30, a31, a32, a33) {} - - virtual Object* cloneType() const { return new RefMatrixf(); } - virtual Object* clone(const CopyOp&) const { return new RefMatrixf(*this); } - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=NULL; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "Matrix"; } - - - protected: - - virtual ~RefMatrixf() {} -}; - - -//static utility methods -inline Matrixf Matrixf::identity(void) -{ - Matrixf m; - m.makeIdentity(); - return m; -} - -inline Matrixf Matrixf::scale(value_type sx, value_type sy, value_type sz) -{ - Matrixf m; - m.makeScale(sx,sy,sz); - return m; -} - -inline Matrixf Matrixf::scale(const Vec3f& v ) -{ - return scale(v.x(), v.y(), v.z() ); -} - -inline Matrixf Matrixf::scale(const Vec3d& v ) -{ - return scale(v.x(), v.y(), v.z() ); -} - -inline Matrixf Matrixf::translate(value_type tx, value_type ty, value_type tz) -{ - Matrixf m; - m.makeTranslate(tx,ty,tz); - return m; -} - -inline Matrixf Matrixf::translate(const Vec3f& v ) -{ - return translate(v.x(), v.y(), v.z() ); -} - -inline Matrixf Matrixf::translate(const Vec3d& v ) -{ - return translate(v.x(), v.y(), v.z() ); -} - -inline Matrixf Matrixf::rotate( const Quat& q ) -{ - return Matrixf(q); -} -inline Matrixf Matrixf::rotate(value_type angle, value_type x, value_type y, value_type z ) -{ - Matrixf m; - m.makeRotate(angle,x,y,z); - return m; -} -inline Matrixf Matrixf::rotate(value_type angle, const Vec3f& axis ) -{ - Matrixf m; - m.makeRotate(angle,axis); - return m; -} -inline Matrixf Matrixf::rotate(value_type angle, const Vec3d& axis ) -{ - Matrixf m; - m.makeRotate(angle,axis); - return m; -} -inline Matrixf Matrixf::rotate( value_type angle1, const Vec3f& axis1, - value_type angle2, const Vec3f& axis2, - value_type angle3, const Vec3f& axis3) -{ - Matrixf m; - m.makeRotate(angle1,axis1,angle2,axis2,angle3,axis3); - return m; -} -inline Matrixf Matrixf::rotate( value_type angle1, const Vec3d& axis1, - value_type angle2, const Vec3d& axis2, - value_type angle3, const Vec3d& axis3) -{ - Matrixf m; - m.makeRotate(angle1,axis1,angle2,axis2,angle3,axis3); - return m; -} -inline Matrixf Matrixf::rotate(const Vec3f& from, const Vec3f& to ) -{ - Matrixf m; - m.makeRotate(from,to); - return m; -} -inline Matrixf Matrixf::rotate(const Vec3d& from, const Vec3d& to ) -{ - Matrixf m; - m.makeRotate(from,to); - return m; -} - -inline Matrixf Matrixf::inverse( const Matrixf& matrix) -{ - Matrixf m; - m.invert(matrix); - return m; -} - -inline Matrixf Matrixf::orthoNormal(const Matrixf& matrix) -{ - Matrixf m; - m.orthoNormalize(matrix); - return m; -} - -inline Matrixf Matrixf::ortho(double left, double right, - double bottom, double top, - double zNear, double zFar) -{ - Matrixf m; - m.makeOrtho(left,right,bottom,top,zNear,zFar); - return m; -} - -inline Matrixf Matrixf::ortho2D(double left, double right, - double bottom, double top) -{ - Matrixf m; - m.makeOrtho2D(left,right,bottom,top); - return m; -} - -inline Matrixf Matrixf::frustum(double left, double right, - double bottom, double top, - double zNear, double zFar) -{ - Matrixf m; - m.makeFrustum(left,right,bottom,top,zNear,zFar); - return m; -} - -inline Matrixf Matrixf::perspective(double fovy,double aspectRatio, - double zNear, double zFar) -{ - Matrixf m; - m.makePerspective(fovy,aspectRatio,zNear,zFar); - return m; -} - -inline Matrixf Matrixf::lookAt(const Vec3f& eye,const Vec3f& center,const Vec3f& up) -{ - Matrixf m; - m.makeLookAt(eye,center,up); - return m; -} - -inline Matrixf Matrixf::lookAt(const Vec3d& eye,const Vec3d& center,const Vec3d& up) -{ - Matrixf m; - m.makeLookAt(eye,center,up); - return m; -} - -inline Vec3f Matrixf::postMult( const Vec3f& v ) const -{ - value_type d = 1.0f/(_mat[3][0]*v.x()+_mat[3][1]*v.y()+_mat[3][2]*v.z()+_mat[3][3]) ; - return Vec3f( (_mat[0][0]*v.x() + _mat[0][1]*v.y() + _mat[0][2]*v.z() + _mat[0][3])*d, - (_mat[1][0]*v.x() + _mat[1][1]*v.y() + _mat[1][2]*v.z() + _mat[1][3])*d, - (_mat[2][0]*v.x() + _mat[2][1]*v.y() + _mat[2][2]*v.z() + _mat[2][3])*d) ; -} -inline Vec3d Matrixf::postMult( const Vec3d& v ) const -{ - value_type d = 1.0f/(_mat[3][0]*v.x()+_mat[3][1]*v.y()+_mat[3][2]*v.z()+_mat[3][3]) ; - return Vec3d( (_mat[0][0]*v.x() + _mat[0][1]*v.y() + _mat[0][2]*v.z() + _mat[0][3])*d, - (_mat[1][0]*v.x() + _mat[1][1]*v.y() + _mat[1][2]*v.z() + _mat[1][3])*d, - (_mat[2][0]*v.x() + _mat[2][1]*v.y() + _mat[2][2]*v.z() + _mat[2][3])*d) ; -} - -inline Vec3f Matrixf::preMult( const Vec3f& v ) const -{ - value_type d = 1.0f/(_mat[0][3]*v.x()+_mat[1][3]*v.y()+_mat[2][3]*v.z()+_mat[3][3]) ; - return Vec3f( (_mat[0][0]*v.x() + _mat[1][0]*v.y() + _mat[2][0]*v.z() + _mat[3][0])*d, - (_mat[0][1]*v.x() + _mat[1][1]*v.y() + _mat[2][1]*v.z() + _mat[3][1])*d, - (_mat[0][2]*v.x() + _mat[1][2]*v.y() + _mat[2][2]*v.z() + _mat[3][2])*d); -} -inline Vec3d Matrixf::preMult( const Vec3d& v ) const -{ - value_type d = 1.0f/(_mat[0][3]*v.x()+_mat[1][3]*v.y()+_mat[2][3]*v.z()+_mat[3][3]) ; - return Vec3d( (_mat[0][0]*v.x() + _mat[1][0]*v.y() + _mat[2][0]*v.z() + _mat[3][0])*d, - (_mat[0][1]*v.x() + _mat[1][1]*v.y() + _mat[2][1]*v.z() + _mat[3][1])*d, - (_mat[0][2]*v.x() + _mat[1][2]*v.y() + _mat[2][2]*v.z() + _mat[3][2])*d); -} - -inline Vec4f Matrixf::postMult( const Vec4f& v ) const -{ - return Vec4f( (_mat[0][0]*v.x() + _mat[0][1]*v.y() + _mat[0][2]*v.z() + _mat[0][3]*v.w()), - (_mat[1][0]*v.x() + _mat[1][1]*v.y() + _mat[1][2]*v.z() + _mat[1][3]*v.w()), - (_mat[2][0]*v.x() + _mat[2][1]*v.y() + _mat[2][2]*v.z() + _mat[2][3]*v.w()), - (_mat[3][0]*v.x() + _mat[3][1]*v.y() + _mat[3][2]*v.z() + _mat[3][3]*v.w())) ; -} -inline Vec4d Matrixf::postMult( const Vec4d& v ) const -{ - return Vec4d( (_mat[0][0]*v.x() + _mat[0][1]*v.y() + _mat[0][2]*v.z() + _mat[0][3]*v.w()), - (_mat[1][0]*v.x() + _mat[1][1]*v.y() + _mat[1][2]*v.z() + _mat[1][3]*v.w()), - (_mat[2][0]*v.x() + _mat[2][1]*v.y() + _mat[2][2]*v.z() + _mat[2][3]*v.w()), - (_mat[3][0]*v.x() + _mat[3][1]*v.y() + _mat[3][2]*v.z() + _mat[3][3]*v.w())) ; -} - -inline Vec4f Matrixf::preMult( const Vec4f& v ) const -{ - return Vec4f( (_mat[0][0]*v.x() + _mat[1][0]*v.y() + _mat[2][0]*v.z() + _mat[3][0]*v.w()), - (_mat[0][1]*v.x() + _mat[1][1]*v.y() + _mat[2][1]*v.z() + _mat[3][1]*v.w()), - (_mat[0][2]*v.x() + _mat[1][2]*v.y() + _mat[2][2]*v.z() + _mat[3][2]*v.w()), - (_mat[0][3]*v.x() + _mat[1][3]*v.y() + _mat[2][3]*v.z() + _mat[3][3]*v.w())); -} -inline Vec4d Matrixf::preMult( const Vec4d& v ) const -{ - return Vec4d( (_mat[0][0]*v.x() + _mat[1][0]*v.y() + _mat[2][0]*v.z() + _mat[3][0]*v.w()), - (_mat[0][1]*v.x() + _mat[1][1]*v.y() + _mat[2][1]*v.z() + _mat[3][1]*v.w()), - (_mat[0][2]*v.x() + _mat[1][2]*v.y() + _mat[2][2]*v.z() + _mat[3][2]*v.w()), - (_mat[0][3]*v.x() + _mat[1][3]*v.y() + _mat[2][3]*v.z() + _mat[3][3]*v.w())); -} -inline Vec3f Matrixf::transform3x3(const Vec3f& v,const Matrixf& m) -{ - return Vec3f( (m._mat[0][0]*v.x() + m._mat[1][0]*v.y() + m._mat[2][0]*v.z()), - (m._mat[0][1]*v.x() + m._mat[1][1]*v.y() + m._mat[2][1]*v.z()), - (m._mat[0][2]*v.x() + m._mat[1][2]*v.y() + m._mat[2][2]*v.z())); -} -inline Vec3d Matrixf::transform3x3(const Vec3d& v,const Matrixf& m) -{ - return Vec3d( (m._mat[0][0]*v.x() + m._mat[1][0]*v.y() + m._mat[2][0]*v.z()), - (m._mat[0][1]*v.x() + m._mat[1][1]*v.y() + m._mat[2][1]*v.z()), - (m._mat[0][2]*v.x() + m._mat[1][2]*v.y() + m._mat[2][2]*v.z())); -} - -inline Vec3f Matrixf::transform3x3(const Matrixf& m,const Vec3f& v) -{ - return Vec3f( (m._mat[0][0]*v.x() + m._mat[0][1]*v.y() + m._mat[0][2]*v.z()), - (m._mat[1][0]*v.x() + m._mat[1][1]*v.y() + m._mat[1][2]*v.z()), - (m._mat[2][0]*v.x() + m._mat[2][1]*v.y() + m._mat[2][2]*v.z()) ) ; -} -inline Vec3d Matrixf::transform3x3(const Matrixf& m,const Vec3d& v) -{ - return Vec3d( (m._mat[0][0]*v.x() + m._mat[0][1]*v.y() + m._mat[0][2]*v.z()), - (m._mat[1][0]*v.x() + m._mat[1][1]*v.y() + m._mat[1][2]*v.z()), - (m._mat[2][0]*v.x() + m._mat[2][1]*v.y() + m._mat[2][2]*v.z()) ) ; -} - -inline void Matrixf::preMultTranslate( const Vec3d& v ) -{ - for (unsigned i = 0; i < 3; ++i) - { - double tmp = v[i]; - if (tmp == 0) - continue; - _mat[3][0] += tmp*_mat[i][0]; - _mat[3][1] += tmp*_mat[i][1]; - _mat[3][2] += tmp*_mat[i][2]; - _mat[3][3] += tmp*_mat[i][3]; - } -} - -inline void Matrixf::preMultTranslate( const Vec3f& v ) -{ - for (unsigned i = 0; i < 3; ++i) - { - float tmp = v[i]; - if (tmp == 0) - continue; - _mat[3][0] += tmp*_mat[i][0]; - _mat[3][1] += tmp*_mat[i][1]; - _mat[3][2] += tmp*_mat[i][2]; - _mat[3][3] += tmp*_mat[i][3]; - } -} - -inline void Matrixf::postMultTranslate( const Vec3d& v ) -{ - for (unsigned i = 0; i < 3; ++i) - { - double tmp = v[i]; - if (tmp == 0) - continue; - _mat[0][i] += tmp*_mat[0][3]; - _mat[1][i] += tmp*_mat[1][3]; - _mat[2][i] += tmp*_mat[2][3]; - _mat[3][i] += tmp*_mat[3][3]; - } -} - -inline void Matrixf::postMultTranslate( const Vec3f& v ) -{ - for (unsigned i = 0; i < 3; ++i) - { - float tmp = v[i]; - if (tmp == 0) - continue; - _mat[0][i] += tmp*_mat[0][3]; - _mat[1][i] += tmp*_mat[1][3]; - _mat[2][i] += tmp*_mat[2][3]; - _mat[3][i] += tmp*_mat[3][3]; - } -} - -inline void Matrixf::preMultScale( const Vec3d& v ) -{ - _mat[0][0] *= v[0]; _mat[0][1] *= v[0]; _mat[0][2] *= v[0]; _mat[0][3] *= v[0]; - _mat[1][0] *= v[1]; _mat[1][1] *= v[1]; _mat[1][2] *= v[1]; _mat[1][3] *= v[1]; - _mat[2][0] *= v[2]; _mat[2][1] *= v[2]; _mat[2][2] *= v[2]; _mat[2][3] *= v[2]; -} - -inline void Matrixf::preMultScale( const Vec3f& v ) -{ - _mat[0][0] *= v[0]; _mat[0][1] *= v[0]; _mat[0][2] *= v[0]; _mat[0][3] *= v[0]; - _mat[1][0] *= v[1]; _mat[1][1] *= v[1]; _mat[1][2] *= v[1]; _mat[1][3] *= v[1]; - _mat[2][0] *= v[2]; _mat[2][1] *= v[2]; _mat[2][2] *= v[2]; _mat[2][3] *= v[2]; -} - -inline void Matrixf::postMultScale( const Vec3d& v ) -{ - _mat[0][0] *= v[0]; _mat[1][0] *= v[0]; _mat[2][0] *= v[0]; _mat[3][0] *= v[0]; - _mat[0][1] *= v[1]; _mat[1][1] *= v[1]; _mat[2][1] *= v[1]; _mat[3][1] *= v[1]; - _mat[0][2] *= v[2]; _mat[1][2] *= v[2]; _mat[2][2] *= v[2]; _mat[3][2] *= v[2]; -} - -inline void Matrixf::postMultScale( const Vec3f& v ) -{ - _mat[0][0] *= v[0]; _mat[1][0] *= v[0]; _mat[2][0] *= v[0]; _mat[3][0] *= v[0]; - _mat[0][1] *= v[1]; _mat[1][1] *= v[1]; _mat[2][1] *= v[1]; _mat[3][1] *= v[1]; - _mat[0][2] *= v[2]; _mat[1][2] *= v[2]; _mat[2][2] *= v[2]; _mat[3][2] *= v[2]; -} - - -inline void Matrixf::preMultRotate( const Quat& q ) -{ - if (q.zeroRotation()) - return; - Matrixf r; - r.setRotate(q); - preMult(r); -} - -inline void Matrixf::postMultRotate( const Quat& q ) -{ - if (q.zeroRotation()) - return; - Matrixf r; - r.setRotate(q); - postMult(r); -} - -inline Vec3f operator* (const Vec3f& v, const Matrixf& m ) -{ - return m.preMult(v); -} -inline Vec3d operator* (const Vec3d& v, const Matrixf& m ) -{ - return m.preMult(v); -} -inline Vec4f operator* (const Vec4f& v, const Matrixf& m ) -{ - return m.preMult(v); -} -inline Vec4d operator* (const Vec4d& v, const Matrixf& m ) -{ - return m.preMult(v); -} - -inline Vec3f Matrixf::operator* (const Vec3f& v) const -{ - return postMult(v); -} -inline Vec3d Matrixf::operator* (const Vec3d& v) const -{ - return postMult(v); -} -inline Vec4f Matrixf::operator* (const Vec4f& v) const -{ - return postMult(v); -} -inline Vec4d Matrixf::operator* (const Vec4d& v) const -{ - return postMult(v); -} - - -} //namespace osg - - -#endif diff --git a/src/osg/osg/MixinVector b/src/osg/osg/MixinVector deleted file mode 100644 index bd8b5363..00000000 --- a/src/osg/osg/MixinVector +++ /dev/null @@ -1,199 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_MIXIN_VECTOR -#define OSG_MIXIN_VECTOR 1 - -#include - -namespace osg { - -/** MixinVector is a base class that allows inheritance to be used to easily - * emulate derivation from std::vector but without introducing undefined - * behaviour through violation of virtual destructor rules. - * - * @author Neil Groves - */ -template -class MixinVector -{ - typedef typename std::vector vector_type; -public: - typedef typename vector_type::allocator_type allocator_type; - typedef typename vector_type::value_type value_type; - typedef typename vector_type::const_pointer const_pointer; - typedef typename vector_type::pointer pointer; - typedef typename vector_type::const_reference const_reference; - typedef typename vector_type::reference reference; - typedef typename vector_type::const_iterator const_iterator; - typedef typename vector_type::iterator iterator; - typedef typename vector_type::const_reverse_iterator const_reverse_iterator; - typedef typename vector_type::reverse_iterator reverse_iterator; - typedef typename vector_type::size_type size_type; - typedef typename vector_type::difference_type difference_type; - - explicit MixinVector() : _impl() - { - } - - explicit MixinVector(size_type initial_size, const value_type& fill_value = value_type()) - : _impl(initial_size, fill_value) - { - } - - template - MixinVector(InputIterator first, InputIterator last) - : _impl(first, last) - { - } - - MixinVector(const vector_type& other) - : _impl(other) - { - } - - MixinVector(const MixinVector& other) - : _impl(other._impl) - { - } - - MixinVector& operator=(const vector_type& other) - { - _impl = other; - return *this; - } - - MixinVector& operator=(const MixinVector& other) - { - _impl = other._impl; - return *this; - } - - virtual ~MixinVector() {} - - void clear() { _impl.clear(); } - void resize(size_type new_size, const value_type& fill_value = value_type()) { _impl.resize(new_size, fill_value); } - void reserve(size_type new_capacity) { _impl.reserve(new_capacity); } - - void swap(vector_type& other) { _impl.swap(other); } - void swap(MixinVector& other) { _impl.swap(other._impl); } - - bool empty() const { return _impl.empty(); } - size_type size() const { return _impl.size(); } - size_type capacity() const { return _impl.capacity(); } - size_type max_size() const { return _impl.max_size(); } - allocator_type get_allocator() const { return _impl.get_allocator(); } - - const_iterator begin() const { return _impl.begin(); } - iterator begin() { return _impl.begin(); } - const_iterator end() const { return _impl.end(); } - iterator end() { return _impl.end(); } - - const_reverse_iterator rbegin() const { return _impl.rbegin(); } - reverse_iterator rbegin() { return _impl.rbegin(); } - const_reverse_iterator rend() const { return _impl.rend(); } - reverse_iterator rend() { return _impl.rend(); } - - const_reference operator[](size_type index) const { return _impl[index]; } - reference operator[](size_type index) { return _impl[index]; } - - const_reference at(size_type index) const { return _impl.at(index); } - reference at(size_type index) { return _impl.at(index); } - - void assign(size_type count, const value_type& value) { _impl.assign(count, value); } - template - void assign(Iter first, Iter last) { _impl.assign(first, last); } - - void push_back(const value_type& value) { _impl.push_back(value); } - void pop_back() { _impl.pop_back(); } - - iterator erase(iterator where) { return _impl.erase(where); } - iterator erase(iterator first, iterator last) { return _impl.erase(first, last); } - - iterator insert(iterator where, const value_type& value) { return _impl.insert(where, value); } - - template - void insert(iterator where, InputIterator first, InputIterator last) - { - _impl.insert(where, first, last); - } - - void insert(iterator where, size_type count, const value_type& value) - { - _impl.insert(where, count, value); - } - - const_reference back() const { return _impl.back(); } - reference back() { return _impl.back(); } - const_reference front() const { return _impl.front(); } - reference front() { return _impl.front(); } - - vector_type& asVector() { return _impl; } - const vector_type& asVector() const { return _impl; } - - friend inline bool operator==(const MixinVector& left, const MixinVector& right) { return left._impl == right._impl; } - friend inline bool operator==(const MixinVector& left, const std::vector& right) { return left._impl == right; } - friend inline bool operator==(const std::vector& left, const MixinVector& right) { return left == right._impl; } - - friend inline bool operator!=(const MixinVector& left, const MixinVector& right) { return left._impl != right._impl; } - friend inline bool operator!=(const MixinVector& left, const std::vector& right) { return left._impl != right; } - friend inline bool operator!=(const std::vector& left, const MixinVector& right) { return left != right._impl; } - - friend inline bool operator<(const MixinVector& left, const MixinVector& right) { return left._impl < right._impl; } - friend inline bool operator<(const MixinVector& left, const std::vector& right) { return left._impl < right; } - friend inline bool operator<(const std::vector& left, const MixinVector& right) { return left < right._impl; } - - friend inline bool operator>(const MixinVector& left, const MixinVector& right) { return left._impl > right._impl; } - friend inline bool operator>(const MixinVector& left, const std::vector& right) { return left._impl > right; } - friend inline bool operator>(const std::vector& left, const MixinVector& right) { return left > right._impl; } - - friend inline bool operator<=(const MixinVector& left, const MixinVector& right) { return left._impl <= right._impl; } - friend inline bool operator<=(const MixinVector& left, const std::vector& right) { return left._impl <= right; } - friend inline bool operator<=(const std::vector& left, const MixinVector& right) { return left <= right._impl; } - - friend inline bool operator>=(const MixinVector& left, const MixinVector& right) { return left._impl >= right._impl; } - friend inline bool operator>=(const MixinVector& left, const std::vector& right) { return left._impl >= right; } - friend inline bool operator>=(const std::vector& left, const MixinVector& right) { return left >= right._impl; } - -private: - vector_type _impl; -}; - -template inline -void -swap(MixinVector& left, - MixinVector& right) -{ - std::swap(left.asVector(), right.asVector()); -} - -template inline -void -swap(MixinVector& left, - std::vector& right) -{ - std::swap(left.asVector(), right); -} - -template inline -void -swap(std::vector& left, - MixinVector& right) -{ - std::swap(left, right.asVector()); -} - -} // namespace osg - -#endif - diff --git a/src/osg/osg/Multisample b/src/osg/osg/Multisample deleted file mode 100644 index d82f024c..00000000 --- a/src/osg/osg/Multisample +++ /dev/null @@ -1,109 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_MULTISAMPLE -#define OSG_MULTISAMPLE 1 - - -#include -#include -#include - - -#ifndef GL_ARB_multisample -#define GL_MULTISAMPLE_ARB 0x809D -#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E -#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F -#define GL_SAMPLE_COVERAGE_ARB 0x80A0 -#define GL_SAMPLE_BUFFERS_ARB 0x80A8 -#define GL_SAMPLES_ARB 0x80A9 -#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA -#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB -#define GL_MULTISAMPLE_BIT_ARB 0x20000000 -#endif -#ifndef GL_NV_multisample_filter_hint -#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534 -#endif - - -namespace osg { - -/** Multisample - encapsulates the OpenGL Multisample state.*/ -class OSG_EXPORT Multisample : public StateAttribute -{ - public : - - enum Mode - { - FASTEST = GL_FASTEST, - NICEST = GL_NICEST, - DONT_CARE = GL_DONT_CARE - }; - - Multisample(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - Multisample(const Multisample& trans,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(trans,copyop), - _coverage(trans._coverage), - _invert(trans._invert), - _mode(trans._mode) {} - - META_StateAttribute(osg, Multisample,MULTISAMPLE); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/ - virtual int compare(const StateAttribute& sa) const - { - // check the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(Multisample,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_coverage) - COMPARE_StateAttribute_Parameter(_invert) - COMPARE_StateAttribute_Parameter(_mode) - - return 0; // passed all the above comparison macros, must be equal. - } - - void setSampleCoverage(float coverage, bool invert) - { - _coverage = coverage; - _invert = invert; - } - inline void setCoverage(float coverage) { _coverage=coverage; } - inline float getCoverage() const { return _coverage; } - - inline void setInvert(bool invert) { _invert=invert; } - inline bool getInvert() const { return _invert; } - - inline void setHint(Mode mode) { _mode = mode; } - inline Mode getHint() const { return _mode; } - - virtual void apply(State& state) const; - - protected : - - virtual ~Multisample(); - - float _coverage; - bool _invert; - Mode _mode; -}; - -} - -#endif - - - diff --git a/src/osg/osg/Node b/src/osg/osg/Node deleted file mode 100644 index 77c06e08..00000000 --- a/src/osg/osg/Node +++ /dev/null @@ -1,516 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - - -#ifndef OSG_NODE -#define OSG_NODE 1 - -#include -#include -#include -#include -#include - -#include -#include - - -// forward declare osgTerrrain::Terrain to enable declaration of asTerrain() method. -namespace osgTerrain { -class Terrain; -} - -namespace osg { - -// forcing declare classes to enable declaration of as*() methods. -class NodeVisitor; -class Drawable; -class Geometry; -class Group; -class Transform; -class Node; -class Switch; -class Geode; -class Camera; - -/** A vector of Nodes pointers which is used to describe the path from a root node to a descendant.*/ -typedef std::vector< Node* > NodePath; - -/** A vector of NodePath, typically used to describe all the paths from a node to the potential root nodes it has.*/ -typedef std::vector< NodePath > NodePathList; - -/** A vector of NodePath, typically used to describe all the paths from a node to the potential root nodes it has.*/ -typedef std::vector< Matrix > MatrixList; - - -/** META_Node macro define the standard clone, isSameKindAs, className - * and accept methods. Use when subclassing from Node to make it - * more convenient to define the required pure virtual methods.*/ -#define META_Node(library,name) \ - virtual osg::Object* cloneType() const { return new name (); } \ - virtual osg::Object* clone(const osg::CopyOp& copyop) const { return new name (*this,copyop); } \ - virtual bool isSameKindAs(const osg::Object* obj) const { return dynamic_cast(obj)!=NULL; } \ - virtual const char* className() const { return #name; } \ - virtual const char* libraryName() const { return #library; } \ - virtual void accept(osg::NodeVisitor& nv) { if (nv.validNodeMask(*this)) { nv.pushOntoNodePath(this); nv.apply(*this); nv.popFromNodePath(); } } \ - - -/** Base class for all internal nodes in the scene graph. - Provides interface for most common node operations (Composite Pattern). -*/ -class OSG_EXPORT Node : public Object -{ - public: - - /** Construct a node. - Initialize the parent list to empty, node name to "" and - bounding sphere dirty flag to true.*/ - Node(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - Node(const Node&,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - /** clone an object of the same type as the node.*/ - virtual Object* cloneType() const { return new Node(); } - - /** return a clone of a node, with Object* return type.*/ - virtual Object* clone(const CopyOp& copyop) const { return new Node(*this,copyop); } - - /** return true if this and obj are of the same kind of object.*/ - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=NULL; } - - /** return the name of the node's library.*/ - virtual const char* libraryName() const { return "osg"; } - - /** return the name of the node's class type.*/ - virtual const char* className() const { return "Node"; } - - /** Convert 'this' into a Node pointer if Object is a Node, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual Node* asNode() { return this; } - - /** convert 'const this' into a const Node pointer if Object is a Node, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual const Node* asNode() const { return this; } - - /** convert 'this' into a Drawable pointer if Node is a Drawable, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual Drawable* asDrawable() { return 0; } - /** convert 'const this' into a const Drawable pointer if Node is a Drawable, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual const Drawable* asDrawable() const { return 0; } - - /** convert 'this' into a Geometry pointer if Node is a Geometry, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual Geometry* asGeometry() { return 0; } - /** convert 'const this' into a const Geometry pointer if Node is a Geometry, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual const Geometry* asGeometry() const { return 0; } - - /** convert 'this' into a Group pointer if Node is a Group, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual Group* asGroup() { return 0; } - /** convert 'const this' into a const Group pointer if Node is a Group, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual const Group* asGroup() const { return 0; } - - /** Convert 'this' into a Transform pointer if Node is a Transform, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual Transform* asTransform() { return 0; } - - /** convert 'const this' into a const Transform pointer if Node is a Transform, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual const Transform* asTransform() const { return 0; } - - - /** Convert 'this' into a Camera pointer if Node is a Camera, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual Camera* asCamera() { return 0; } - /** convert 'const this' into a const Camera pointer if Node is a Camera, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual const Camera* asCamera() const { return 0; } - - - /** Convert 'this' into a Switch pointer if Node is a Switch, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual Switch* asSwitch() { return 0; } - - /** convert 'const this' into a const Switch pointer if Node is a Switch, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual const Switch* asSwitch() const { return 0; } - - /** Convert 'this' into a Geode pointer if Node is a Geode, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual Geode* asGeode() { return 0; } - - /** convert 'const this' into a const Geode pointer if Node is a Geode, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual const Geode* asGeode() const { return 0; } - - /** Convert 'this' into a Transform pointer if Node is a Terrain, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual osgTerrain::Terrain* asTerrain() { return 0; } - - /** convert 'const this' into a const Terrain pointer if Node is a Terrain, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual const osgTerrain::Terrain* asTerrain() const { return 0; } - - - /** Visitor Pattern : calls the apply method of a NodeVisitor with this node's type.*/ - virtual void accept(NodeVisitor& nv); - /** Traverse upwards : calls parents' accept method with NodeVisitor.*/ - virtual void ascend(NodeVisitor& nv); - /** Traverse downwards : calls children's accept method with NodeVisitor.*/ - virtual void traverse(NodeVisitor& /*nv*/) {} - - /** A vector of osg::Group pointers which is used to store the parent(s) of node.*/ - typedef std::vector ParentList; - - /** Get the parent list of node. */ - inline const ParentList& getParents() const { return _parents; } - - /** Get the a copy of parent list of node. A copy is returned to - * prevent modification of the parent list.*/ - inline ParentList getParents() { return _parents; } - - inline Group* getParent(unsigned int i) { return _parents[i]; } - - /** - * Get a single const parent of node. - * @param i index of the parent to get. - * @return the parent i. - */ - inline const Group* getParent(unsigned int i) const { return _parents[i]; } - - /** - * Get the number of parents of node. - * @return the number of parents of this node. - */ - inline unsigned int getNumParents() const { return static_cast(_parents.size()); } - - - - /** Get the list of node paths parent paths. - * The optional Node* haltTraversalAtNode allows the user to prevent traversal beyond a specifed node. */ - NodePathList getParentalNodePaths(osg::Node* haltTraversalAtNode=0) const; - - /** Get the list of matrices that transform this node from local coordinates to world coordinates. - * The optional Node* haltTraversalAtNode allows the user to prevent traversal beyond a specifed node. */ - MatrixList getWorldMatrices(const osg::Node* haltTraversalAtNode=0) const; - - - /** Set update node callback, called during update traversal. */ - void setUpdateCallback(Callback* nc); - - /** Get update node callback, called during update traversal. */ - inline Callback* getUpdateCallback() { return _updateCallback.get(); } - - /** Get const update node callback, called during update traversal. */ - inline const Callback* getUpdateCallback() const { return _updateCallback.get(); } - - /** Convenience method that sets the update callback of the node if it doesn't exist, or nest it into the existing one. */ - inline void addUpdateCallback(Callback* nc) { - if (nc != NULL) { - if (_updateCallback.valid()) _updateCallback->addNestedCallback(nc); - else setUpdateCallback(nc); - } - } - - /** Convenience method that removes a given callback from a node, even if that callback is nested. There is no error return in case the given callback is not found. */ - inline void removeUpdateCallback(Callback* nc) { - if (nc != NULL && _updateCallback.valid()) { - if (_updateCallback == nc) - { - ref_ptr new_nested_callback = nc->getNestedCallback(); - nc->setNestedCallback(0); - setUpdateCallback(new_nested_callback.get()); - } - else _updateCallback->removeNestedCallback(nc); - } - } - - /** Get the number of Children of this node which require Update traversal, - * since they have an Update Callback attached to them or their children.*/ - inline unsigned int getNumChildrenRequiringUpdateTraversal() const { return _numChildrenRequiringUpdateTraversal; } - - - /** Set event node callback, called during event traversal. */ - void setEventCallback(Callback* nc); - - /** Get event node callback, called during event traversal. */ - inline Callback* getEventCallback() { return _eventCallback.get(); } - - /** Get const event node callback, called during event traversal. */ - inline const Callback* getEventCallback() const { return _eventCallback.get(); } - - /** Convenience method that sets the event callback of the node if it doesn't exist, or nest it into the existing one. */ - inline void addEventCallback(Callback* nc) { - if (nc != NULL) { - if (_eventCallback.valid()) _eventCallback->addNestedCallback(nc); - else setEventCallback(nc); - } - } - - /** Convenience method that removes a given callback from a node, even if that callback is nested. There is no error return in case the given callback is not found. */ - inline void removeEventCallback(Callback* nc) { - if (nc != NULL && _eventCallback.valid()) { - if (_eventCallback == nc) - { - ref_ptr new_nested_callback = nc->getNestedCallback(); - nc->setNestedCallback(0); - setEventCallback(new_nested_callback.get()); // replace the callback by the nested one - } - else _eventCallback->removeNestedCallback(nc); - } - } - - /** Get the number of Children of this node which require Event traversal, - * since they have an Event Callback attached to them or their children.*/ - inline unsigned int getNumChildrenRequiringEventTraversal() const { return _numChildrenRequiringEventTraversal; } - - - /** Set cull node callback, called during cull traversal. */ - void setCullCallback(Callback* nc) { _cullCallback = nc; } - - /** Get cull node callback, called during cull traversal. */ - inline Callback* getCullCallback() { return _cullCallback.get(); } - - /** Get const cull node callback, called during cull traversal. */ - inline const Callback* getCullCallback() const { return _cullCallback.get(); } - - /** Convenience method that sets the cull callback of the node if it doesn't exist, or nest it into the existing one. */ - inline void addCullCallback(Callback* nc) { - if (nc != NULL) { - if (_cullCallback.valid()) _cullCallback->addNestedCallback(nc); - else setCullCallback(nc); - } - } - - /** Convenience method that removes a given callback from a node, even if that callback is nested. There is no error return in case the given callback is not found. */ - inline void removeCullCallback(Callback* nc) { - if (nc != NULL && _cullCallback.valid()) { - if (_cullCallback == nc) - { - ref_ptr new_nested_callback = nc->getNestedCallback(); - nc->setNestedCallback(0); - setCullCallback(new_nested_callback.get()); // replace the callback by the nested one - } - else _cullCallback->removeNestedCallback(nc); - } - } - - /** Set the view frustum/small feature culling of this node to be active or inactive. - * The default value is true for _cullingActive. Used as a guide - * to the cull traversal.*/ - void setCullingActive(bool active); - - /** Get the view frustum/small feature _cullingActive flag for this node. Used as a guide - * to the cull traversal.*/ - inline bool getCullingActive() const { return _cullingActive; } - - /** Get the number of Children of this node which have culling disabled.*/ - inline unsigned int getNumChildrenWithCullingDisabled() const { return _numChildrenWithCullingDisabled; } - - /** Return true if this node can be culled by view frustum, occlusion or small feature culling during the cull traversal. - * Note, returns true only if no children have culling disabled, and the local _cullingActive flag is true.*/ - inline bool isCullingActive() const { return _numChildrenWithCullingDisabled==0 && _cullingActive && getBound().valid(); } - - /** Get the number of Children of this node which are or have OccluderNode's.*/ - inline unsigned int getNumChildrenWithOccluderNodes() const { return _numChildrenWithOccluderNodes; } - - - /** return true if this node is an OccluderNode or the subgraph below this node are OccluderNodes.*/ - bool containsOccluderNodes() const; - - - /** - * This is a set of bits (flags) that represent the Node. - * The default value is 0xffffffff (all bits set). - * - * The most common use of these is during traversal of the scene graph. - * For instance, when traversing the scene graph the osg::NodeVisitor does a bitwise - * AND of its TraversalMask with the Node's NodeMask to - * determine if the Node should be processed/traversed. - * - * For example, if a Node has a NodeMask value of 0x02 (only 2nd bit set) - * and the osg::Camera has a CullMask of 0x4 (2nd bit not set) then during cull traversal, - * which takes it's TraversalMask from the Camera's CullMask, the node and any children - * would be ignored and thereby treated as "culled" and thus not rendered. - * Conversely, if the osg::Camera CullMask were 0x3 (2nd bit set) then the node - * would be processed and child Nodes would be examined. - */ - typedef unsigned int NodeMask; - /** Set the node mask.*/ - inline void setNodeMask(NodeMask nm) { _nodeMask = nm; } - /** Get the node Mask.*/ - inline NodeMask getNodeMask() const { return _nodeMask; } - - - - /** Set the node's StateSet.*/ - void setStateSet(osg::StateSet* stateset); - - /** return the node's StateSet, if one does not already exist create it - * set the node and return the newly created StateSet. This ensures - * that a valid StateSet is always returned and can be used directly.*/ - osg::StateSet* getOrCreateStateSet(); - - /** Return the node's StateSet. returns NULL if a stateset is not attached.*/ - inline osg::StateSet* getStateSet() { return _stateset.get(); } - - /** Return the node's const StateSet. Returns NULL if a stateset is not attached.*/ - inline const osg::StateSet* getStateSet() const { return _stateset.get(); } - - - /** A vector of std::string's which are used to describe the object.*/ - typedef std::vector DescriptionList; - - /** Set the list of string descriptions.*/ - void setDescriptions(const DescriptionList& descriptions); - - /** Get the description list of the node.*/ - DescriptionList& getDescriptions(); - - /** Get the const description list of the const node.*/ - const DescriptionList& getDescriptions() const; - - - /** Get a single const description of the const node.*/ - const std::string& getDescription(unsigned int i) const; - - /** Get a single description of the node.*/ - std::string& getDescription(unsigned int i); - - /** Get the number of descriptions of the node.*/ - unsigned int getNumDescriptions() const; - - /** Add a description string to the node.*/ - void addDescription(const std::string& desc); - - - /** Set the initial bounding volume to use when computing the overall bounding volume.*/ - void setInitialBound(const osg::BoundingSphere& bsphere) { _initialBound = bsphere; dirtyBound(); } - - /** Set the initial bounding volume to use when computing the overall bounding volume.*/ - const BoundingSphere& getInitialBound() const { return _initialBound; } - - /** Mark this node's bounding sphere dirty. - Forcing it to be computed on the next call to getBound().*/ - void dirtyBound(); - - - inline const BoundingSphere& getBound() const - { - if(!_boundingSphereComputed) - { - _boundingSphere = _initialBound; - if (_computeBoundCallback.valid()) - _boundingSphere.expandBy(_computeBoundCallback->computeBound(*this)); - else - _boundingSphere.expandBy(computeBound()); - - _boundingSphereComputed = true; - } - return _boundingSphere; - } - - /** Compute the bounding sphere around Node's geometry or children. - This method is automatically called by getBound() when the bounding - sphere has been marked dirty via dirtyBound().*/ - virtual BoundingSphere computeBound() const; - - /** Callback to allow users to override the default computation of bounding volume.*/ - struct ComputeBoundingSphereCallback : public osg::Object - { - ComputeBoundingSphereCallback() {} - - ComputeBoundingSphereCallback(const ComputeBoundingSphereCallback&,const CopyOp&) {} - - META_Object(osg,ComputeBoundingSphereCallback); - - virtual BoundingSphere computeBound(const osg::Node&) const { return BoundingSphere(); } - }; - - /** Set the compute bound callback to override the default computeBound.*/ - void setComputeBoundingSphereCallback(ComputeBoundingSphereCallback* callback) { _computeBoundCallback = callback; } - - /** Get the compute bound callback.*/ - ComputeBoundingSphereCallback* getComputeBoundingSphereCallback() { return _computeBoundCallback.get(); } - - /** Get the const compute bound callback.*/ - const ComputeBoundingSphereCallback* getComputeBoundingSphereCallback() const { return _computeBoundCallback.get(); } - - /** Set whether to use a mutex to ensure ref() and unref() are thread safe.*/ - virtual void setThreadSafeRefUnref(bool threadSafe); - - /** Resize any per context GLObject buffers to specified size. */ - virtual void resizeGLObjectBuffers(unsigned int /*maxSize*/); - - /** If State is non-zero, this function releases any associated OpenGL objects for - * the specified graphics context. Otherwise, releases OpenGL objects - * for all graphics contexts. */ - virtual void releaseGLObjects(osg::State* = 0) const; - - - protected: - - /** Node destructor. Note, is protected so that Nodes cannot - be deleted other than by being dereferenced and the reference - count being zero (see osg::Referenced), preventing the deletion - of nodes which are still in use. This also means that - Nodes cannot be created on stack i.e Node node will not compile, - forcing all nodes to be created on the heap i.e Node* node - = new Node().*/ - virtual ~Node(); - - - - BoundingSphere _initialBound; - ref_ptr _computeBoundCallback; - mutable BoundingSphere _boundingSphere; - mutable bool _boundingSphereComputed; - - void addParent(osg::Group* parent); - void removeParent(osg::Group* parent); - - ParentList _parents; - friend class osg::Group; - friend class osg::Drawable; - friend class osg::StateSet; - - ref_ptr _updateCallback; - unsigned int _numChildrenRequiringUpdateTraversal; - void setNumChildrenRequiringUpdateTraversal(unsigned int num); - - ref_ptr _eventCallback; - unsigned int _numChildrenRequiringEventTraversal; - void setNumChildrenRequiringEventTraversal(unsigned int num); - - ref_ptr _cullCallback; - - bool _cullingActive; - unsigned int _numChildrenWithCullingDisabled; - void setNumChildrenWithCullingDisabled(unsigned int num); - - unsigned int _numChildrenWithOccluderNodes; - void setNumChildrenWithOccluderNodes(unsigned int num); - - NodeMask _nodeMask; - - ref_ptr _stateset; - -}; - -} - -#endif diff --git a/src/osg/osg/NodeCallback b/src/osg/osg/NodeCallback deleted file mode 100644 index 0c0b9cbd..00000000 --- a/src/osg/osg/NodeCallback +++ /dev/null @@ -1,20 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_NODECALLBACK -#define OSG_NODECALLBACK 1 - -#include - -#endif - diff --git a/src/osg/osg/NodeTrackerCallback b/src/osg/osg/NodeTrackerCallback deleted file mode 100644 index ec81cdb8..00000000 --- a/src/osg/osg/NodeTrackerCallback +++ /dev/null @@ -1,53 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_NODETRACKERCALLBACK -#define OSG_NODETRACKERCALLBACK 1 - -#include - -#include -#include - -namespace osg -{ - -class OSG_EXPORT NodeTrackerCallback : public NodeCallback -{ - public: - - void setTrackNodePath(const osg::NodePath& nodePath) { _trackNodePath.setNodePath(nodePath); } - - void setTrackNodePath(const ObserverNodePath& nodePath) { _trackNodePath = nodePath; } - - ObserverNodePath& getTrackNodePath() { return _trackNodePath; } - - void setTrackNode(osg::Node* node); - osg::Node* getTrackNode(); - const osg::Node* getTrackNode() const; - - /** Implements the callback. */ - virtual void operator()(Node* node, NodeVisitor* nv); - - /** Update the node to track the nodepath.*/ - void update(osg::Node& node); - - protected: - - ObserverNodePath _trackNodePath; - -}; - -} - -#endif diff --git a/src/osg/osg/NodeVisitor b/src/osg/osg/NodeVisitor deleted file mode 100644 index 2b0bb617..00000000 --- a/src/osg/osg/NodeVisitor +++ /dev/null @@ -1,364 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_NODEVISITOR -#define OSG_NODEVISITOR 1 - -#include -#include -#include - -namespace osg { - -class Billboard; -class ClearNode; -class ClipNode; -class CoordinateSystemNode; -class Geode; -class Group; -class LightSource; -class LOD; -class MatrixTransform; -class OccluderNode; -class OcclusionQueryNode; -class PagedLOD; -class PositionAttitudeTransform; -class Projection; -class ProxyNode; -class Sequence; -class Switch; -class TexGenNode; -class Transform; -class Camera; -class CameraView; -class Drawable; -class Geometry; - -const unsigned int UNINITIALIZED_FRAME_NUMBER=0xffffffff; - -#define META_NodeVisitor(library, name) \ - virtual const char* libraryName() const { return #library; }\ - virtual const char* className() const { return #name; } - -/** Visitor for type safe operations on osg::Nodes. - Based on GOF's Visitor pattern. The NodeVisitor - is useful for developing type safe operations to nodes - in the scene graph (as per Visitor pattern), and adds to this - support for optional scene graph traversal to allow - operations to be applied to whole scenes at once. The Visitor - pattern uses a technique of double dispatch as a mechanism to - call the appropriate apply(..) method of the NodeVisitor. To - use this feature one must use the Node::accept(NodeVisitor) which - is extended in each Node subclass, rather than the NodeVisitor - apply directly. So use root->accept(myVisitor); instead of - myVisitor.apply(*root). The later method will bypass the double - dispatch and the appropriate NodeVisitor::apply(..) method will - not be called. */ -class OSG_EXPORT NodeVisitor : public virtual Object -{ - public: - - enum TraversalMode - { - TRAVERSE_NONE, - TRAVERSE_PARENTS, - TRAVERSE_ALL_CHILDREN, - TRAVERSE_ACTIVE_CHILDREN - }; - - enum VisitorType - { - NODE_VISITOR = 0, - UPDATE_VISITOR, - EVENT_VISITOR, - COLLECT_OCCLUDER_VISITOR, - CULL_VISITOR, - INTERSECTION_VISITOR - }; - - NodeVisitor(TraversalMode tm=TRAVERSE_NONE); - - NodeVisitor(VisitorType type,TraversalMode tm=TRAVERSE_NONE); - - NodeVisitor(const NodeVisitor& nv, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY); - - virtual ~NodeVisitor(); - - META_Object(osg, NodeVisitor) - - /** Convert 'this' into a NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual NodeVisitor* asNodeVisitor() { return this; } - - /** convert 'const this' into a const NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual const NodeVisitor* asNodeVisitor() const { return this; } - - - /** Method to call to reset visitor. Useful if your visitor accumulates - state during a traversal, and you plan to reuse the visitor. - To flush that state for the next traversal: call reset() prior - to each traversal.*/ - virtual void reset() {} - - - /** Set the VisitorType, used to distinguish different visitors during - * traversal of the scene, typically used in the Node::traverse() method - * to select which behaviour to use for different types of traversal/visitors.*/ - inline void setVisitorType(VisitorType type) { _visitorType = type; } - - /** Get the VisitorType.*/ - inline VisitorType getVisitorType() const { return _visitorType; } - - /** Set the traversal number. Typically used to denote the frame count.*/ - inline void setTraversalNumber(unsigned int fn) { _traversalNumber = fn; } - - /** Get the traversal number. Typically used to denote the frame count.*/ - inline unsigned int getTraversalNumber() const { return _traversalNumber; } - - /** Set the FrameStamp that this traversal is associated with.*/ - inline void setFrameStamp(FrameStamp* fs) { _frameStamp = fs; } - - /** Get the FrameStamp that this traversal is associated with.*/ - inline const FrameStamp* getFrameStamp() const { return _frameStamp.get(); } - - - /** Set the TraversalMask of this NodeVisitor. - * The TraversalMask is used by the NodeVisitor::validNodeMask() method - * to determine whether to operate on a node and its subgraph. - * validNodeMask() is called automatically in the Node::accept() method before - * any call to NodeVisitor::apply(), apply() is only ever called if validNodeMask - * returns true. Note, if NodeVisitor::_traversalMask is 0 then all operations - * will be switched off for all nodes. Whereas setting both _traversalMask and - * _nodeMaskOverride to 0xffffffff will allow a visitor to work on all nodes - * regardless of their own Node::_nodeMask state.*/ - inline void setTraversalMask(Node::NodeMask mask) { _traversalMask = mask; } - - /** Get the TraversalMask.*/ - inline Node::NodeMask getTraversalMask() const { return _traversalMask; } - - /** Set the NodeMaskOverride mask. - * Used in validNodeMask() to determine whether to operate on a node or its - * subgraph, by OR'ing NodeVisitor::_nodeMaskOverride with the Node's own Node::_nodeMask. - * Typically used to force on nodes which may have - * been switched off by their own Node::_nodeMask.*/ - inline void setNodeMaskOverride(Node::NodeMask mask) { _nodeMaskOverride = mask; } - - /** Get the NodeMaskOverride mask.*/ - inline Node::NodeMask getNodeMaskOverride() const { return _nodeMaskOverride; } - - /** Method to called by Node and its subclass' Node::accept() method, if the result is true - * it is used to cull operations of nodes and their subgraphs. - * Return true if the result of a bit wise and of the NodeVisitor::_traversalMask - * with the bit or between NodeVistor::_nodeMaskOverride and the Node::_nodeMask. - * default values for _traversalMask is 0xffffffff, _nodeMaskOverride is 0x0, - * and osg::Node::_nodeMask is 0xffffffff. */ - inline bool validNodeMask(const osg::Node& node) const - { - return (getTraversalMask() & (getNodeMaskOverride() | node.getNodeMask()))!=0; - } - - /** Set the traversal mode for Node::traverse() to use when - deciding which children of a node to traverse. If a - NodeVisitor has been attached via setTraverseVisitor() - and the new mode is not TRAVERSE_VISITOR then the attached - visitor is detached. Default mode is TRAVERSE_NONE.*/ - inline void setTraversalMode(TraversalMode mode) { _traversalMode = mode; } - - /** Get the traversal mode.*/ - inline TraversalMode getTraversalMode() const { return _traversalMode; } - - /** Method for handling traversal of a nodes. - If you intend to use the visitor for actively traversing - the scene graph then make sure the accept() methods call - this method unless they handle traversal directly.*/ - inline void traverse(Node& node) - { - if (_traversalMode==TRAVERSE_PARENTS) node.ascend(*this); - else if (_traversalMode!=TRAVERSE_NONE) node.traverse(*this); - } - - /** Method called by osg::Node::accept() method before - * a call to the NodeVisitor::apply(..). The back of the list will, - * therefore, be the current node being visited inside the apply(..), - * and the rest of the list will be the parental sequence of nodes - * from the top most node applied down the graph to the current node. - * Note, the user does not typically call pushNodeOnPath() as it - * will be called automatically by the Node::accept() method.*/ - inline void pushOntoNodePath(Node* node) { if (_traversalMode!=TRAVERSE_PARENTS) _nodePath.push_back(node); else _nodePath.insert(_nodePath.begin(),node); } - - /** Method called by osg::Node::accept() method after - * a call to NodeVisitor::apply(..). - * Note, the user does not typically call popFromNodePath() as it - * will be called automatically by the Node::accept() method.*/ - inline void popFromNodePath() { if (_traversalMode!=TRAVERSE_PARENTS) _nodePath.pop_back(); else _nodePath.erase(_nodePath.begin()); } - - /** Get the non const NodePath from the top most node applied down - * to the current Node being visited.*/ - NodePath& getNodePath() { return _nodePath; } - - /** Get the const NodePath from the top most node applied down - * to the current Node being visited.*/ - const NodePath& getNodePath() const { return _nodePath; } - - /** Get the eye point in local coordinates. - * Note, not all NodeVisitor implement this method, it is mainly cull visitors which will implement.*/ - virtual osg::Vec3 getEyePoint() const { return Vec3(0.0f,0.0f,0.0f); } - - /** Get the view point in local coordinates. - * Note, not all NodeVisitor implement this method, it is mainly cull visitors which will implement.*/ - virtual osg::Vec3 getViewPoint() const { return getEyePoint(); } - - /** Get the distance from a point to the eye point, distance value in local coordinate system. - * Note, not all NodeVisitor implement this method, it is mainly cull visitors which will implement. - * If the getDistanceFromEyePoint(pos) is not implemented then a default value of 0.0 is returned.*/ - virtual float getDistanceToEyePoint(const Vec3& /*pos*/, bool /*useLODScale*/) const { return 0.0f; } - - /** Get the distance of a point from the eye point, distance value in the eye coordinate system. - * Note, not all NodeVisitor implement this method, it is mainly cull visitors which will implement. - * If the getDistanceFromEyePoint(pos) is not implemented than a default value of 0.0 is returned.*/ - virtual float getDistanceFromEyePoint(const Vec3& /*pos*/, bool /*useLODScale*/) const { return 0.0f; } - - /** Get the distance from a point to the view point, distance value in local coordinate system. - * Note, not all NodeVisitor implement this method, it is mainly cull visitors which will implement. - * If the getDistanceToViewPoint(pos) is not implemented then a default value of 0.0 is returned.*/ - virtual float getDistanceToViewPoint(const Vec3& /*pos*/, bool /*useLODScale*/) const { return 0.0f; } - - virtual void apply(Drawable& drawable); - virtual void apply(Geometry& geometry); - - virtual void apply(Node& node); - - virtual void apply(Geode& node); - virtual void apply(Billboard& node); - - virtual void apply(Group& node); - - virtual void apply(ProxyNode& node); - - virtual void apply(Projection& node); - - virtual void apply(CoordinateSystemNode& node); - - virtual void apply(ClipNode& node); - virtual void apply(TexGenNode& node); - virtual void apply(LightSource& node); - - virtual void apply(Transform& node); - virtual void apply(Camera& node); - virtual void apply(CameraView& node); - virtual void apply(MatrixTransform& node); - virtual void apply(PositionAttitudeTransform& node); - - virtual void apply(Switch& node); - virtual void apply(Sequence& node); - virtual void apply(LOD& node); - virtual void apply(PagedLOD& node); - virtual void apply(ClearNode& node); - virtual void apply(OccluderNode& node); - virtual void apply(OcclusionQueryNode& node); - - - /** Callback for managing database paging, such as generated by PagedLOD nodes.*/ - class DatabaseRequestHandler : public osg::Referenced - { - public: - - DatabaseRequestHandler(): - Referenced(true) {} - - virtual void requestNodeFile(const std::string& fileName, osg::NodePath& nodePath, float priority, const FrameStamp* framestamp, osg::ref_ptr& databaseRequest, const osg::Referenced* options=0) = 0; - - protected: - virtual ~DatabaseRequestHandler() {} - }; - - /** Set the handler for database requests.*/ - void setDatabaseRequestHandler(DatabaseRequestHandler* handler) { _databaseRequestHandler = handler; } - - /** Get the handler for database requests.*/ - DatabaseRequestHandler* getDatabaseRequestHandler() { return _databaseRequestHandler.get(); } - - /** Get the const handler for database requests.*/ - const DatabaseRequestHandler* getDatabaseRequestHandler() const { return _databaseRequestHandler.get(); } - - - /** Callback for managing image paging, such as generated by PagedLOD nodes.*/ - class ImageRequestHandler : public osg::Referenced - { - public: - - ImageRequestHandler(): - Referenced(true) {} - - virtual double getPreLoadTime() const = 0; - - virtual osg::Image* readImageFile(const std::string& fileName, const osg::Referenced* options=0) = 0; - - virtual void requestImageFile(const std::string& fileName,osg::Object* attachmentPoint, int attachmentIndex, double timeToMergeBy, const FrameStamp* framestamp, osg::ref_ptr& imageRequest, const osg::Referenced* options=0) = 0; - - protected: - virtual ~ImageRequestHandler() {} - }; - - /** Set the handler for image requests.*/ - void setImageRequestHandler(ImageRequestHandler* handler) { _imageRequestHandler = handler; } - - /** Get the handler for image requests.*/ - ImageRequestHandler* getImageRequestHandler() { return _imageRequestHandler.get(); } - - /** Get the const handler for image requests.*/ - const ImageRequestHandler* getImageRequestHandler() const { return _imageRequestHandler.get(); } - - - - protected: - - VisitorType _visitorType; - unsigned int _traversalNumber; - - ref_ptr _frameStamp; - - TraversalMode _traversalMode; - Node::NodeMask _traversalMask; - Node::NodeMask _nodeMaskOverride; - - NodePath _nodePath; - - ref_ptr _databaseRequestHandler; - ref_ptr _imageRequestHandler; - -}; - - -/** Convenience functor for assisting visiting of arrays of osg::Node's.*/ -class NodeAcceptOp -{ - public: - - NodeAcceptOp(NodeVisitor& nv):_nv(nv) {} - NodeAcceptOp(const NodeAcceptOp& naop):_nv(naop._nv) {} - - void operator () (Node* node) { node->accept(_nv); } - void operator () (ref_ptr node) { node->accept(_nv); } - - protected: - - NodeAcceptOp& operator = (const NodeAcceptOp&) { return *this; } - - NodeVisitor& _nv; -}; - -} - -#endif diff --git a/src/osg/osg/Notify b/src/osg/osg/Notify deleted file mode 100644 index 9e21a869..00000000 --- a/src/osg/osg/Notify +++ /dev/null @@ -1,145 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_NOTIFY_H -#define OSG_NOTIFY_H 1 - -#include -#include // for NotifyHandler - -#include - -namespace osg { - -/** Range of notify levels from DEBUG_FP through to FATAL, ALWAYS - * is reserved for forcing the absorption of all messages. The - * keywords are also used verbatim when specified by the environmental - * variable OSGNOTIFYLEVEL or OSG_NOTIFY_LEVEL. - * See documentation on osg::notify() for further details. - */ -enum NotifySeverity { - ALWAYS=0, - FATAL=1, - WARN=2, - NOTICE=3, - INFO=4, - DEBUG_INFO=5, - DEBUG_FP=6 -}; - -/** set the notify level, overriding the default or the value set by - * the environmental variable OSGNOTIFYLEVEL or OSG_NOTIFY_LEVEL. - */ -extern OSG_EXPORT void setNotifyLevel(NotifySeverity severity); - -/** get the notify level. */ -extern OSG_EXPORT NotifySeverity getNotifyLevel(); - -/** initialize notify level. */ -extern OSG_EXPORT bool initNotifyLevel(); - -#ifdef OSG_NOTIFY_DISABLED - inline bool isNotifyEnabled(NotifySeverity) { return false; } -#else - /** is notification enabled, given the current setNotifyLevel() setting? */ - extern OSG_EXPORT bool isNotifyEnabled(NotifySeverity severity); -#endif - -/** notify messaging function for providing fatal through to verbose - * debugging messages. Level of messages sent to the console can - * be controlled by setting the NotifyLevel either within your - * application or via the an environmental variable i.e. - * - setenv OSGNOTIFYLEVEL DEBUG (for tsh) - * - export OSGNOTIFYLEVEL=DEBUG (for bourne shell) - * - set OSGNOTIFYLEVEL=DEBUG (for Windows) - * - * All tell the osg to redirect all debugging and more important messages - * to the notification stream (useful for debugging) setting ALWAYS will force - * all messages to be absorbed, which might be appropriate for final - * applications. Default NotifyLevel is NOTICE. Check the enum - * #NotifySeverity for full range of possibilities. To use the notify - * with your code simply use the notify function as a normal file - * stream (like std::cout) i.e - * @code - * osg::notify(osg::DEBUG) << "Hello Bugs!" << std::endl; - * @endcode - * @see setNotifyLevel, setNotifyHandler - */ -extern OSG_EXPORT std::ostream& notify(const NotifySeverity severity); - -inline std::ostream& notify(void) { return notify(osg::INFO); } - -#define OSG_NOTIFY(level) if (osg::isNotifyEnabled(level)) osg::notify(level) -#define OSG_ALWAYS OSG_NOTIFY(osg::ALWAYS) -#define OSG_FATAL OSG_NOTIFY(osg::FATAL) -#define OSG_WARN OSG_NOTIFY(osg::WARN) -#define OSG_NOTICE OSG_NOTIFY(osg::NOTICE) -#define OSG_INFO OSG_NOTIFY(osg::INFO) -#define OSG_DEBUG OSG_NOTIFY(osg::DEBUG_INFO) -#define OSG_DEBUG_FP OSG_NOTIFY(osg::DEBUG_FP) - -/** Handler processing output of notification stream. It acts as a sink to - * notification messages. It is called when notification stream needs to be - * synchronized (i.e. after osg::notify() << std::endl). - * StandardNotifyHandler is used by default, it writes notifications to stderr - * (severity <= WARN) or stdout (severity > WARN). - * Notifications can be redirected to other sinks such as GUI widgets or - * windows debugger (WinDebugNotifyHandler) with custom handlers. - * Use setNotifyHandler to set custom handler. - * Note that osg notification API is not thread safe although notification - * handler is called from many threads. When incorporating handlers into GUI - * widgets you must take care of thread safety on your own. - * @see setNotifyHandler - */ -class OSG_EXPORT NotifyHandler : public osg::Referenced -{ -public: - virtual void notify(osg::NotifySeverity severity, const char *message) = 0; -}; - -/** Set notification handler, by default StandardNotifyHandler is used. - * @see NotifyHandler - */ -extern OSG_EXPORT void setNotifyHandler(NotifyHandler *handler); - -/** Get currrent notification handler. */ -extern OSG_EXPORT NotifyHandler *getNotifyHandler(); - -/** Redirects notification stream to stderr (severity <= WARN) or stdout (severity > WARN). - * The fputs() function is used to write messages to standard files. Note that - * std::out and std::cerr streams are not used. - * @see setNotifyHandler - */ -class OSG_EXPORT StandardNotifyHandler : public NotifyHandler -{ -public: - void notify(osg::NotifySeverity severity, const char *message); -}; - -#if defined(WIN32) && !defined(__CYGWIN__) - -/** Redirects notification stream to windows debugger with use of - * OuputDebugString functions. - * @see setNotifyHandler - */ -class OSG_EXPORT WinDebugNotifyHandler : public NotifyHandler -{ -public: - void notify(osg::NotifySeverity severity, const char *message); -}; - -#endif - -} - -#endif diff --git a/src/osg/osg/Object b/src/osg/osg/Object deleted file mode 100644 index 4a9c1e1a..00000000 --- a/src/osg/osg/Object +++ /dev/null @@ -1,324 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_OBJECT -#define OSG_OBJECT 1 - -#include -#include -#include -#include - -#include -#include - -namespace osg { - -// forward declare -class State; -class UserDataContainer; -class Node; -class NodeVisitor; -class StateAttribute; -class Uniform; - -#define _ADDQUOTES(def) #def -#define ADDQUOTES(def) _ADDQUOTES(def) - -/** META_Object macro define the standard clone, isSameKindAs and className methods. - * Use when subclassing from Object to make it more convenient to define - * the standard pure virtual clone, isSameKindAs and className methods - * which are required for all Object subclasses.*/ -#define META_Object(library,name) \ - virtual osg::Object* cloneType() const { return new name (); } \ - virtual osg::Object* clone(const osg::CopyOp& copyop) const { return new name (*this,copyop); } \ - virtual bool isSameKindAs(const osg::Object* obj) const { return dynamic_cast(obj)!=NULL; } \ - virtual const char* libraryName() const { return #library; }\ - virtual const char* className() const { return #name; } - -/** Helper macro that creates a static proxy object to call singleton function on it's construction, ensuring that the singleton gets initialized at startup.*/ -#define OSG_INIT_SINGLETON_PROXY(ProxyName, Func) static struct ProxyName{ ProxyName() { Func; } } s_##ProxyName; - -/** Base class/standard interface for objects which require IO support, - cloning and reference counting. - Based on GOF Composite, Prototype and Template Method patterns. -*/ -class OSG_EXPORT Object : public Referenced -{ - public: - - - /** Construct an object. Note Object is a pure virtual base class - and therefore cannot be constructed on its own, only derived - classes which override the clone and className methods are - concrete classes and can be constructed.*/ - inline Object():Referenced(),_dataVariance(UNSPECIFIED), _userDataContainer(0) {} - - inline explicit Object(bool threadSafeRefUnref):Referenced(threadSafeRefUnref),_dataVariance(UNSPECIFIED),_userDataContainer(0) {} - - /** Copy constructor, optional CopyOp object can be used to control - * shallow vs deep copying of dynamic data.*/ - Object(const Object&,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - /** Clone the type of an object, with Object* return type. - Must be defined by derived classes.*/ - virtual Object* cloneType() const = 0; - - /** Clone an object, with Object* return type. - Must be defined by derived classes.*/ - virtual Object* clone(const CopyOp&) const = 0; - - virtual bool isSameKindAs(const Object*) const { return true; } - - - /** return the name of the object's library. Must be defined - by derived classes. The OpenSceneGraph convention is that the - namespace of a library is the same as the library name.*/ - virtual const char* libraryName() const = 0; - - /** return the name of the object's class type. Must be defined - by derived classes.*/ - virtual const char* className() const = 0; - - /** return the compound class name that combines the library name and class name.*/ - std::string getCompoundClassName() const { return std::string(libraryName()) + std::string("::") + std::string(className()); } - - - /** Convert 'this' into a Node pointer if Object is a Node, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual Node* asNode() { return 0; } - - /** convert 'const this' into a const Node pointer if Object is a Node, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual const Node* asNode() const { return 0; } - - /** Convert 'this' into a NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual NodeVisitor* asNodeVisitor() { return 0; } - - /** convert 'const this' into a const NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual const NodeVisitor* asNodeVisitor() const { return 0; } - - /** Convert 'this' into a StateAttribute pointer if Object is a StateAttribute, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual StateAttribute* asStateAttribute() { return 0; } - - /** convert 'const this' into a const StateAttribute pointer if Object is a StateAttribute, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual const StateAttribute* asStateAttribute() const { return 0; } - - /** Convert 'this' into a Uniform pointer if Object is a Uniform, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual Uniform* asUniform() { return 0; } - - /** convert 'const this' into a const Uniform pointer if Object is a Uniform, otherwise return 0. - * Equivalent to dynamic_cast(this).*/ - virtual const Uniform* asUniform() const { return 0; } - - - /** Set whether to use a mutex to ensure ref() and unref() are thread safe.*/ - virtual void setThreadSafeRefUnref(bool threadSafe); - - /** Set the name of object using C++ style string.*/ - virtual void setName( const std::string& name ) { _name = name; } - - /** Set the name of object using a C style string.*/ - inline void setName( const char* name ) - { - if (name) setName(std::string(name)); - else setName(std::string()); - } - - /** Get the name of object.*/ - inline const std::string& getName() const { return _name; } - - - enum DataVariance - { - DYNAMIC, - STATIC, - UNSPECIFIED - }; - - /** Set the data variance of this object. - * Can be set to either STATIC for values that do not change over the lifetime of the object, - * or DYNAMIC for values that vary over the lifetime of the object. The DataVariance value - * can be used by routines such as optimization codes that wish to share static data. - * UNSPECIFIED is used to specify that the DataVariance hasn't been set yet. */ - inline void setDataVariance(DataVariance dv) { _dataVariance = dv; } - - /** Get the data variance of this object.*/ - inline DataVariance getDataVariance() const { return _dataVariance; } - - /** Compute the DataVariance based on an assessment of callback etc.*/ - virtual void computeDataVariance() {} - - - /** set the UserDataContainer object.*/ - void setUserDataContainer(osg::UserDataContainer* udc); - - /** get the UserDataContainer attached to this object.*/ - osg::UserDataContainer* getUserDataContainer() { return _userDataContainer; } - - /** get the const UserDataContainer attached to this object.*/ - const osg::UserDataContainer* getUserDataContainer() const { return _userDataContainer; } - - /** Convenience method that returns the UserDataContainer, and if one doesn't already exist creates and assigns - * a DefaultUserDataContainer to the Object and then return this new UserDataContainer.*/ - osg::UserDataContainer* getOrCreateUserDataContainer(); - - - /** - * Set user data, data must be subclassed from Referenced to allow - * automatic memory handling. If your own data isn't directly - * subclassed from Referenced then create an adapter object - * which points to your own object and handles the memory addressing. - */ - virtual void setUserData(Referenced* obj); - - /** Get user data.*/ - virtual Referenced* getUserData(); - - /** Get const user data.*/ - virtual const Referenced* getUserData() const; - - - - /** Convenience method that casts the named UserObject to osg::TemplateValueObject and gets the value. - * To use this template method you need to include the osg/ValueObject header.*/ - template - bool getUserValue(const std::string& name, T& value) const; - - /** Convenience method that creates the osg::TemplateValueObject to store the - * specified value and adds it as a named UserObject. - * To use this template method you need to include the osg/ValueObject header. */ - template - void setUserValue(const std::string& name, const T& value); - - - /** Resize any per context GLObject buffers to specified size. */ - virtual void resizeGLObjectBuffers(unsigned int /*maxSize*/) {} - - /** If State is non-zero, this function releases any associated OpenGL objects for - * the specified graphics context. Otherwise, releases OpenGL objects - * for all graphics contexts. */ - virtual void releaseGLObjects(osg::State* = 0) const {} - - - protected: - - /** Object destructor. Note, is protected so that Objects cannot - be deleted other than by being dereferenced and the reference - count being zero (see osg::Referenced), preventing the deletion - of nodes which are still in use. This also means that - Nodes cannot be created on stack i.e Node node will not compile, - forcing all nodes to be created on the heap i.e Node* node - = new Node().*/ - virtual ~Object(); - - std::string _name; - DataVariance _dataVariance; - - osg::UserDataContainer* _userDataContainer; - - private: - - /** disallow any copy operator.*/ - Object& operator = (const Object&) { return *this; } -}; - -template -T* clone(const T* t, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY) -{ - if (t) - { - osg::ref_ptr obj = t->clone(copyop); - - T* ptr = dynamic_cast(obj.get()); - if (ptr) - { - obj.release(); - return ptr; - } - else - { - OSG_WARN<<"Warning: osg::clone(const T*, osg::CopyOp&) cloned object not of type T, returning NULL."< -T* clone(const T* t, const std::string& name, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY) -{ - T* newObject = osg::clone(t, copyop); - if (newObject) - { - newObject->setName(name); - return newObject; - } - else - { - OSG_WARN<<"Warning: osg::clone(const T*, const std::string&, const osg::CopyOp) passed null object to clone, returning NULL."< -T* cloneType(const T* t) -{ - if (t) - { - osg::ref_ptr obj = t->cloneType(); - - T* ptr = dynamic_cast(obj.get()); - if (ptr) - { - obj.release(); - return ptr; - } - else - { - OSG_WARN<<"Warning: osg::cloneType(const T*) cloned object not of type T, returning NULL."< -#include -#include - -namespace osg { - -/** Observer base class for tracking when objects are unreferenced (their reference count goes to 0) and are being deleted.*/ -class OSG_EXPORT Observer -{ - public: - Observer(); - virtual ~Observer(); - - /** objectDeleted is called when the observed object is about to be deleted. The observer will be automatically - * removed from the observed object's observer set so there is no need for the objectDeleted implementation - * to call removeObserver() on the observed object. */ - virtual void objectDeleted(void*) {} - -}; - -/** Class used by osg::Referenced to track the observers associated with it.*/ -class OSG_EXPORT ObserverSet : public osg::Referenced -{ - public: - - ObserverSet(const Referenced* observedObject); - - Referenced* getObserverdObject() { return _observedObject; } - const Referenced* getObserverdObject() const { return _observedObject; } - - /** "Lock" a Referenced object i.e., protect it from being deleted - * by incrementing its reference count. - * - * returns null if object doesn't exist anymore. */ - Referenced* addRefLock(); - - inline OpenThreads::Mutex* getObserverSetMutex() const { return &_mutex; } - - void addObserver(Observer* observer); - void removeObserver(Observer* observer); - - void signalObjectDeleted(void* ptr); - - typedef std::set Observers; - Observers& getObservers() { return _observers; } - const Observers& getObservers() const { return _observers; } - - protected: - - ObserverSet(const ObserverSet& rhs): osg::Referenced(rhs) {} - ObserverSet& operator = (const ObserverSet& /*rhs*/) { return *this; } - virtual ~ObserverSet(); - - mutable OpenThreads::Mutex _mutex; - Referenced* _observedObject; - Observers _observers; -}; - -} - -#endif diff --git a/src/osg/osg/ObserverNodePath b/src/osg/osg/ObserverNodePath deleted file mode 100644 index a9a06bc1..00000000 --- a/src/osg/osg/ObserverNodePath +++ /dev/null @@ -1,76 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_OBSERVERNODEPATH -#define OSG_OBSERVERNODEPATH 1 - -#include -#include -#include - -namespace osg { - -typedef std::vector< osg::ref_ptr > RefNodePath; - -/** ObserverNodePath is an observer class for tracking changes to a NodePath, - * that automatically invalidates it when nodes are deleted.*/ -class OSG_EXPORT ObserverNodePath -{ - public: - ObserverNodePath(); - - ObserverNodePath(const ObserverNodePath& rhs); - - ObserverNodePath(const osg::NodePath& nodePath); - - ~ObserverNodePath(); - - ObserverNodePath& operator = (const ObserverNodePath& rhs); - - /** get the NodePath from the first parental chain back to root, plus the specified node.*/ - void setNodePathTo(osg::Node* node); - - void setNodePath(const osg::RefNodePath& nodePath); - - void setNodePath(const osg::NodePath& nodePath); - - void clearNodePath(); - - /** Get a thread safe RefNodePath, return true if NodePath is valid.*/ - bool getRefNodePath(RefNodePath& refNodePath) const; - - /** Get a lightweight NodePath that isn't thread safe but - * may be safely used in single threaded applications, or when - * its known that the NodePath won't be invalidated during usage - * of the NodePath. return true if NodePath is valid.*/ - bool getNodePath(NodePath& nodePath) const; - - bool empty() const - { - OpenThreads::ScopedLock lock(_mutex); - return _nodePath.empty(); - } - - protected: - - void _setNodePath(const osg::NodePath& nodePath); - void _clearNodePath(); - - typedef std::vector< osg::observer_ptr > ObsNodePath; - mutable OpenThreads::Mutex _mutex; - ObsNodePath _nodePath; -}; - -} - -#endif diff --git a/src/osg/osg/OccluderNode b/src/osg/osg/OccluderNode deleted file mode 100644 index 40105f8c..00000000 --- a/src/osg/osg/OccluderNode +++ /dev/null @@ -1,59 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_OCCLUDERNODE -#define OSG_OCCLUDERNODE 1 - -#include -#include - -namespace osg { - -/** - * OccluderNode is a Group node which provides hooks for adding - * ConvexPlanarOccluders to the scene. - */ -class OSG_EXPORT OccluderNode : public Group -{ - public : - - OccluderNode(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - OccluderNode(const OccluderNode&,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_Node(osg, OccluderNode); - - - /** Attach a ConvexPlanarOccluder to an OccluderNode.*/ - void setOccluder(ConvexPlanarOccluder* occluder) { _occluder = occluder; } - - /** Get the ConvexPlanarOccluder* attached to a OccluderNode. */ - ConvexPlanarOccluder* getOccluder() { return _occluder.get(); } - - /** Get the const ConvexPlanarOccluder* attached to a OccluderNode.*/ - const ConvexPlanarOccluder* getOccluder() const { return _occluder.get(); } - - /** Overrides Group's computeBound.*/ - virtual BoundingSphere computeBound() const; - - protected : - - virtual ~OccluderNode() {} - - ref_ptr _occluder; -}; - -} - -#endif diff --git a/src/osg/osg/OcclusionQueryNode b/src/osg/osg/OcclusionQueryNode deleted file mode 100644 index 07285f80..00000000 --- a/src/osg/osg/OcclusionQueryNode +++ /dev/null @@ -1,206 +0,0 @@ -// -// Copyright (C) 2007 Skew Matrix Software LLC (http://www.skew-matrix.com) -// -// This library is open source and may be redistributed and/or modified under -// the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or -// (at your option) any later version. The full license is in LICENSE file -// included with this distribution, and on the openscenegraph.org website. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OpenSceneGraph Public License for more details. -// - -#ifndef OSG_OCCLUSION_QUERY_NODE -#define OSG_OCCLUSION_QUERY_NODE 1 - -#include -#include -#include -#include - - -namespace osg { - -// Create and return a StateSet appropriate for performing an occlusion -// query test (disable lighting, texture mapping, etc). Probably some -// room for improvement here. Could disable shaders, for example. -osg::StateSet* initOQState(); - -// Create and return a StateSet for rendering a debug representation of query geometry. -osg::StateSet* initOQDebugState(); - -// TestResult -- stores (per context) results of an occlusion query -// test performed by QueryGeometry. An OcclusionQueryNode has a -// Geode owning a single QueryGeometry that -// draws the occlusion query geometry. QueryGeometry keeps a -// TestResult per context to store the result/status of each query. -// Accessed during the cull and draw traversals. -class TestResult : public osg::Referenced -{ -public: - TestResult() : _init( false ), _id( 0 ), _contextID( 0 ), _active( false ), _numPixels( 0 ) {} - ~TestResult() {} - - bool _init; - - // Query ID for this context. - GLuint _id; - // Context ID owning this query ID. - unsigned int _contextID; - - // Set to true when a query gets issued and set to - // false when the result is retrieved. - mutable bool _active; - - // Result of last query. - GLint _numPixels; -}; - -// QueryGeometry -- A Drawable that performs an occlusion query, -// using its geometric data as the query geometry. -class OSG_EXPORT QueryGeometry : public osg::Geometry -{ -public: - QueryGeometry( const std::string& oqnName=std::string("") ); - ~QueryGeometry(); - - void reset(); - - // TBD implement copy constructor - - virtual void drawImplementation( osg::RenderInfo& renderInfo ) const; - - unsigned int getNumPixels( const osg::Camera* cam ); - - virtual void releaseGLObjects( osg::State* state = 0 ) const; - - static void deleteQueryObject( unsigned int contextID, GLuint handle ); - static void flushDeletedQueryObjects( unsigned int contextID, double currentTime, double& availableTime ); - static void discardDeletedQueryObjects( unsigned int contextID ); - -protected: - typedef std::map< const osg::Camera*, TestResult > ResultMap; - mutable ResultMap _results; - mutable OpenThreads::Mutex _mapMutex; - - // Needed for debug only - std::string _oqnName; -}; - -// This Node performs occlusion query testing on its children. -// You can use it directly to occlusion query test a portion -// of your scene graph, or you can use it implicitly with an -// OcclusionQueryRoot, which places OcclusionQueryNodes where -// needed and acts as a master control. -class OSG_EXPORT OcclusionQueryNode : public osg::Group -{ -public: - OcclusionQueryNode(); - - // Copy constructor using CopyOp to manage deep vs shallow copy. - OcclusionQueryNode( const OcclusionQueryNode& oqn, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY ); - - META_Node( osg, OcclusionQueryNode ); - - virtual osg::BoundingSphere computeBound() const; - - virtual void releaseGLObjects( osg::State* state = 0 ) const; - - - // When disabled, OQN doesn't perform occlusion queries, and simply - // renders its children. - void setQueriesEnabled( bool enable=true ); - bool getQueriesEnabled() const { return _enabled; } - - - // Sets/gets the visibility threshold. If the test indicates that - // the number of visible pixels is less than the specified - // threshold, don't draw the actual geometry. - void setVisibilityThreshold( unsigned int pixels ) { _visThreshold = pixels; } - unsigned int getVisibilityThreshold() const { return _visThreshold; } - - // Specifies how many frames to wait before issuing another query. - void setQueryFrameCount( unsigned int frames ) { _queryFrameCount = frames; } - unsigned int getQueryFrameCount() const { return _queryFrameCount; } - - // Indicate whether or not the bounding box used in the occlusion query test - // should be rendered. Handy for debugging and development. - // Should only be called outside of cull/draw. No thread issues. - void setDebugDisplay( bool enable ); - bool getDebugDisplay() const; - - - // Set and get the StateSet used by the OcclusionQueryNode - // when rendering the query geometry. OQN creates its own by - // default, but if you use many OQNs you might want to use - // this method to set all OQNs to use the same StateSet - // for more efficient processing. - void setQueryStateSet( osg::StateSet* ss ); - osg::StateSet* getQueryStateSet(); - const osg::StateSet* getQueryStateSet() const; - - // Get the QueryGeometry object used for occlusion query. Returns 0 if no QueryGeometry is created. - osg::QueryGeometry* getQueryGeometry(); - const osg::QueryGeometry* getQueryGeometry() const; - - // Set and get the StateSet used by the OcclusionQueryNode - // when rendering the debug query geometry (see setDebugDisplay). - void setDebugStateSet( osg::StateSet* ss ); - osg::StateSet* getDebugStateSet(); - const osg::StateSet* getDebugStateSet() const; - - // For statistics gathering, e.g., by a NodeVisitor. - bool getPassed() const; - - - // These methods are public so that osgUtil::CullVisitor can access them. - // Not intended for application use. - virtual bool getPassed( const osg::Camera* camera, osg::NodeVisitor& nv ); - void traverseQuery( const osg::Camera* camera, osg::NodeVisitor& nv ); - void traverseDebug( osg::NodeVisitor& nv ); - - - // Delete unused query IDs for this contextID. - static void flushDeletedQueryObjects( unsigned int contextID, double currentTime, double& availableTime ); - - // discard all the cached query objects which need to be deleted - // in the OpenGL context related to contextID. - // Note, unlike flush no OpenGL calls are made, instead the handles are all removed. - // this call is useful for when an OpenGL context has been destroyed. - static void discardDeletedQueryObjects( unsigned int contextID ); - -protected: - virtual ~OcclusionQueryNode(); - - virtual void createSupportNodes(); - - osg::ref_ptr< osg::Geode > _queryGeode; - osg::ref_ptr< osg::Geode > _debugGeode; - - bool _enabled; - - // Tracks the last frame number that we performed a query. - // User can set how many times (See setQueryFrameCount). - typedef std::map< const osg::Camera*, unsigned int > FrameCountMap; - FrameCountMap _frameCountMap; - mutable OpenThreads::Mutex _frameCountMutex; - - // For statistics gathering - bool _passed; - - // User-settable variables - unsigned int _visThreshold; - unsigned int _queryFrameCount; - bool _debugBB; - - - // Required to ensure that computeBound() is thread-safe. - mutable OpenThreads::Mutex _computeBoundMutex; -}; - -} - - -#endif diff --git a/src/osg/osg/OperationThread b/src/osg/osg/OperationThread deleted file mode 100644 index a62157ea..00000000 --- a/src/osg/osg/OperationThread +++ /dev/null @@ -1,224 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_OPERATIONTHREAD -#define OSG_OPERATIONTHREAD 1 - -#include -#include - -#include -#include -#include -#include - -#include -#include - -namespace osg { - -class RefBlock : virtual public osg::Referenced, public OpenThreads::Block -{ - public: - - RefBlock(): - osg::Referenced(true) {} - -}; - -class RefBlockCount : virtual public osg::Referenced, public OpenThreads::BlockCount -{ - public: - - RefBlockCount(unsigned blockCount): - osg::Referenced(true), - OpenThreads::BlockCount(blockCount) {} - -}; - -/** Base class for implementing graphics operations.*/ -class Operation : virtual public Referenced -{ - public: - - Operation(const std::string& name, bool keep): - _name(name), - _keep(keep) {} - - - /** Set the human readable name of the operation.*/ - void setName(const std::string& name) { _name = name; } - - /** Get the human readable name of the operation.*/ - const std::string& getName() const { return _name; } - - /** Set whether the operation should be kept once its been applied.*/ - void setKeep(bool keep) { _keep = keep; } - - /** Get whether the operation should be kept once its been applied.*/ - bool getKeep() const { return _keep; } - - /** if this operation is a barrier then release it.*/ - virtual void release() {} - - /** Do the actual task of this operation.*/ - virtual void operator () (Object*) = 0; - -protected: - - Operation(): - _keep(false) {} - - Operation(const Operation& op): - _name(op._name), - _keep(op._keep) {} - - virtual ~Operation() {} - - std::string _name; - bool _keep; -}; - -class OperationThread; - -class OSG_EXPORT OperationQueue : public Referenced -{ - public: - - OperationQueue(); - - /** Get the next operation from the operation queue. - * Return null ref_ptr<> if no operations are left in queue. */ - osg::ref_ptr getNextOperation(bool blockIfEmpty = false); - - /** Return true if the operation queue is empty. */ - bool empty(); - - /** Return the num of pending operations that are sitting in the OperationQueue.*/ - unsigned int getNumOperationsInQueue(); - - /** Add operation to end of OperationQueue, this will be - * executed by the operation thread once this operation gets to the head of the queue.*/ - void add(Operation* operation); - - /** Remove operation from OperationQueue.*/ - void remove(Operation* operation); - - /** Remove named operation from OperationQueue.*/ - void remove(const std::string& name); - - /** Remove all operations from OperationQueue.*/ - void removeAllOperations(); - - /** Run the operations. */ - void runOperations(Object* callingObject=0); - - /** Call release on all operations. */ - void releaseAllOperations(); - - /** Release operations block that is used to block threads that are waiting on an empty operations queue.*/ - void releaseOperationsBlock(); - - typedef std::set OperationThreads; - - /** Get the set of OperationThreads that are sharing this OperationQueue. */ - const OperationThreads& getOperationThreads() const { return _operationThreads; } - - protected: - - virtual ~OperationQueue(); - - friend class OperationThread; - - void addOperationThread(OperationThread* thread); - void removeOperationThread(OperationThread* thread); - - typedef std::list< osg::ref_ptr > Operations; - - OpenThreads::Mutex _operationsMutex; - osg::ref_ptr _operationsBlock; - Operations _operations; - Operations::iterator _currentOperationIterator; - - OperationThreads _operationThreads; -}; - -/** OperationThread is a helper class for running Operation within a single thread.*/ -class OSG_EXPORT OperationThread : public Referenced, public OpenThreads::Thread -{ - public: - OperationThread(); - - void setParent(Object* parent) { _parent = parent; } - - Object* getParent() { return _parent.get(); } - - const Object* getParent() const { return _parent.get(); } - - - /** Set the OperationQueue. */ - void setOperationQueue(OperationQueue* opq); - - /** Get the OperationQueue. */ - OperationQueue* getOperationQueue() { return _operationQueue.get(); } - - /** Get the const OperationQueue. */ - const OperationQueue* getOperationQueue() const { return _operationQueue.get(); } - - - /** Add operation to end of OperationQueue, this will be - * executed by the graphics thread once this operation gets to the head of the queue.*/ - void add(Operation* operation); - - /** Remove operation from OperationQueue.*/ - void remove(Operation* operation); - - /** Remove named operation from OperationQueue.*/ - void remove(const std::string& name); - - /** Remove all operations from OperationQueue.*/ - void removeAllOperations(); - - - /** Get the operation currently being run.*/ - osg::ref_ptr getCurrentOperation() { return _currentOperation; } - - /** Run does the opertion thread run loop.*/ - virtual void run(); - - void setDone(bool done); - - bool getDone() const { return _done!=0; } - - /** Cancel this graphics thread.*/ - virtual int cancel(); - - protected: - - virtual ~OperationThread(); - - observer_ptr _parent; - - OpenThreads::Atomic _done; - - OpenThreads::Mutex _threadMutex; - osg::ref_ptr _operationQueue; - osg::ref_ptr _currentOperation; - -}; - -typedef OperationThread OperationsThread; - -} - -#endif diff --git a/src/osg/osg/PagedLOD b/src/osg/osg/PagedLOD deleted file mode 100644 index b2798240..00000000 --- a/src/osg/osg/PagedLOD +++ /dev/null @@ -1,172 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_PagedLOD -#define OSG_PagedLOD 1 - -#include - -namespace osg { - -/** PagedLOD. -*/ -class OSG_EXPORT PagedLOD : public LOD -{ - public : - - PagedLOD(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - PagedLOD(const PagedLOD&,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_Node(osg, PagedLOD); - - - - virtual void traverse(NodeVisitor& nv); - - virtual bool addChild(Node *child); - - virtual bool addChild(Node *child, float min, float max); - - virtual bool addChild(Node *child, float min, float max,const std::string& filename, float priorityOffset=0.0f, float priorityScale=1.0f); - - virtual bool removeChildren(unsigned int pos,unsigned int numChildrenToRemove=1); - - - /** Set the optional database osgDB::Options object to use when reading children.*/ - void setDatabaseOptions(osg::Referenced* options) { _databaseOptions = options; } - - /** Get the optional database osgDB::Options object used when reading children.*/ - osg::Referenced* getDatabaseOptions() { return _databaseOptions.get(); } - - /** Get the optional database osgDB::Options object used when reading children.*/ - const osg::Referenced* getDatabaseOptions() const { return _databaseOptions.get(); } - - - /** Set the database path to prepend to children's filenames.*/ - void setDatabasePath(const std::string& path); - - /** Get the database path used to prepend to children's filenames.*/ - inline const std::string& getDatabasePath() const { return _databasePath; } - - - struct OSG_EXPORT PerRangeData - { - PerRangeData(); - PerRangeData(const PerRangeData& prd); - PerRangeData& operator = (const PerRangeData& prd); - - std::string _filename; - float _priorityOffset; - float _priorityScale; - double _minExpiryTime; - unsigned int _minExpiryFrames; - double _timeStamp; - unsigned int _frameNumber; - unsigned int _frameNumberOfLastReleaseGLObjects; - osg::ref_ptr _databaseRequest; - }; - - typedef std::vector PerRangeDataList; - - void setFileName(unsigned int childNo, const std::string& filename) { expandPerRangeDataTo(childNo); _perRangeDataList[childNo]._filename=filename; } - const std::string& getFileName(unsigned int childNo) const { return _perRangeDataList[childNo]._filename; } - unsigned int getNumFileNames() const { return static_cast(_perRangeDataList.size()); } - - - void setPriorityOffset(unsigned int childNo, float priorityOffset) { expandPerRangeDataTo(childNo); _perRangeDataList[childNo]._priorityOffset=priorityOffset; } - float getPriorityOffset(unsigned int childNo) const { return _perRangeDataList[childNo]._priorityOffset; } - unsigned int getNumPriorityOffsets() const { return static_cast(_perRangeDataList.size()); } - - void setPriorityScale(unsigned int childNo, float priorityScale) { expandPerRangeDataTo(childNo); _perRangeDataList[childNo]._priorityScale=priorityScale; } - float getPriorityScale(unsigned int childNo) const { return _perRangeDataList[childNo]._priorityScale; } - unsigned int getNumPriorityScales() const { return static_cast(_perRangeDataList.size()); } - - /** Sets the minimum amount of time, in seconds, that must pass without a child being traversed before it can be expired. */ - void setMinimumExpiryTime(unsigned int childNo, double minTime) { expandPerRangeDataTo(childNo); _perRangeDataList[childNo]._minExpiryTime=minTime; } - double getMinimumExpiryTime(unsigned int childNo) const { return _perRangeDataList[childNo]._minExpiryTime; } - unsigned int getNumMinimumExpiryTimes() const { return static_cast(_perRangeDataList.size()); } - - /** Sets the minimum number of frames that must be rendered without a child being traversed before it can be expired. */ - void setMinimumExpiryFrames(unsigned int childNo, unsigned int minFrames) { expandPerRangeDataTo(childNo); _perRangeDataList[childNo]._minExpiryFrames=minFrames; } - unsigned int getMinimumExpiryFrames(unsigned int childNo) const { return _perRangeDataList[childNo]._minExpiryFrames; } - unsigned int getNumMinimumExpiryFrames() const { return static_cast(_perRangeDataList.size()); } - - - void setTimeStamp(unsigned int childNo, double timeStamp) { expandPerRangeDataTo(childNo); _perRangeDataList[childNo]._timeStamp=timeStamp; } - double getTimeStamp(unsigned int childNo) const { return _perRangeDataList[childNo]._timeStamp; } - unsigned int getNumTimeStamps() const { return static_cast(_perRangeDataList.size()); } - - void setFrameNumber(unsigned int childNo, unsigned int frameNumber) { expandPerRangeDataTo(childNo); _perRangeDataList[childNo]._frameNumber=frameNumber; } - unsigned getFrameNumber(unsigned int childNo) const { return _perRangeDataList[childNo]._frameNumber; } - unsigned int getNumFrameNumbers() const { return static_cast(_perRangeDataList.size()); } - - - /** Return the DatabaseRequest object used by the DatabasePager to keep track of file load requests - * being carried on behalf of the DatabasePager. - * Note, in normal OSG usage you should not set this value yourself, as this will be managed by - * the osgDB::DatabasePager.*/ - osg::ref_ptr& getDatabaseRequest(unsigned int childNo) { return _perRangeDataList[childNo]._databaseRequest; } - - /** Return the const DatabaseRequest object.*/ - const osg::ref_ptr& getDatabaseRequest(unsigned int childNo) const { return _perRangeDataList[childNo]._databaseRequest; } - - - /** Set the frame number of the last time that this PageLOD node was traversed. - * Note, this frame number is automatically set by the traverse() method for all traversals (update, cull etc.). - */ - inline void setFrameNumberOfLastTraversal(unsigned int frameNumber) { _frameNumberOfLastTraversal=frameNumber; } - - /** Get the frame number of the last time that this PageLOD node was traversed.*/ - inline unsigned int getFrameNumberOfLastTraversal() const { return _frameNumberOfLastTraversal; } - - - /** Set the number of children that the PagedLOD must keep around, even if they are older than their expiry time.*/ - inline void setNumChildrenThatCannotBeExpired(unsigned int num) { _numChildrenThatCannotBeExpired = num; } - - /** Get the number of children that the PagedLOD must keep around, even if they are older than their expiry time.*/ - unsigned int getNumChildrenThatCannotBeExpired() const { return _numChildrenThatCannotBeExpired; } - - /** Set wether you want to disable the paging in of external nodes.*/ - void setDisableExternalChildrenPaging(bool flag) { _disableExternalChildrenPaging = flag; } - - bool getDisableExternalChildrenPaging() const { return _disableExternalChildrenPaging; } - - - - /** Remove the children from the PagedLOD which haven't been visited since specified expiry time and expiry frame number. - * The removed children are added to the removeChildren list passed into the method, - * this allows the children to be deleted later at the caller's discretion. - * Return true if children are removed, false otherwise. */ - virtual bool removeExpiredChildren(double expiryTime, unsigned int expiryFrame, NodeList& removedChildren); - - protected : - - virtual ~PagedLOD(); - - void expandPerRangeDataTo(unsigned int pos); - - ref_ptr _databaseOptions; - std::string _databasePath; - - unsigned int _frameNumberOfLastTraversal; - unsigned int _numChildrenThatCannotBeExpired; - bool _disableExternalChildrenPaging; - - PerRangeDataList _perRangeDataList; -}; - -} - -#endif diff --git a/src/osg/osg/PatchParameter b/src/osg/osg/PatchParameter deleted file mode 100644 index 38606473..00000000 --- a/src/osg/osg/PatchParameter +++ /dev/null @@ -1,87 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_PATCHPARAMETER -#define OSG_PATCHPARAMETER 1 - -#include -#include -#include - -namespace osg { - -/** Class which encapsulates glPatchParameter(..). -*/ -class OSG_EXPORT PatchParameter : public StateAttribute -{ - public : - - PatchParameter(GLint vertices=3); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - PatchParameter(const PatchParameter& rhs,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(rhs,copyop), - _vertices(rhs._vertices), - _patchDefaultInnerLevel(rhs._patchDefaultInnerLevel), - _patchDefaultOuterLevel(rhs._patchDefaultOuterLevel) {} - - - META_StateAttribute(osg, PatchParameter, PATCH_PARAMETER); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/ - virtual int compare(const StateAttribute& sa) const - { - // check the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(PatchParameter,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_vertices) - COMPARE_StateAttribute_Parameter(_patchDefaultInnerLevel) - COMPARE_StateAttribute_Parameter(_patchDefaultOuterLevel) - - return 0; // passed all the above comparison macros, must be equal. - } - - /** Set GL_PATCH_VERTICES parameter.*/ - void setVertices(GLint vertices) { _vertices = vertices; } - - /** Get GL_PATCH_VERTICES parameter.*/ - GLint getVertices() const { return _vertices; } - - /** Set GL_PATCH_DEFAULT_INNER_LEVEL parameter.*/ - void setPatchDefaultInnerLevel(const osg::Vec2& level) { _patchDefaultInnerLevel = level; } - - /** Get GL_PATCH_DEFAULT_INNER_LEVEL parameter.*/ - const osg::Vec2& getPatchDefaultInnerLevel() const { return _patchDefaultInnerLevel; } - - /** Set GL_PATCH_DEFAULT_OUTER_LEVEL parameter.*/ - void setPatchDefaultOuterLevel(const osg::Vec4& level) { _patchDefaultOuterLevel = level; } - - /** Get GL_PATCH_DEFAULT_INNER_LEVEL parameter.*/ - const osg::Vec4& getPatchDefaultOuterLevel() const { return _patchDefaultOuterLevel; } - - virtual void apply(State& state) const; - - protected: - - virtual ~PatchParameter(); - - GLint _vertices; - osg::Vec2 _patchDefaultInnerLevel; - osg::Vec4 _patchDefaultOuterLevel; -}; - -} - -#endif diff --git a/src/osg/osg/Plane b/src/osg/osg/Plane deleted file mode 100644 index bb9b0334..00000000 --- a/src/osg/osg/Plane +++ /dev/null @@ -1,362 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_PLANE -#define OSG_PLANE 1 - -#include -#include -#include -#include -#include -#include -#include - -#include - -namespace osg { - -/** @brief A plane class. It can be used to represent an infinite plane. - * - * The infinite plane is described by an implicit plane equation a*x+b*y+c*z+d = 0. Though it is not mandatory that - * a^2+b^2+c^2 = 1 is fulfilled in general some methods require it (@see osg::Plane::distance). */ -class OSG_EXPORT Plane -{ - - public: - -#ifdef OSG_USE_FLOAT_PLANE - /** Type of Plane class.*/ - typedef float value_type; - typedef Vec3f Vec3_type; - typedef Vec4f Vec4_type; -#else - /** Type of Plane class.*/ - typedef double value_type; - typedef Vec3d Vec3_type; - typedef Vec4d Vec4_type; -#endif - - /** Number of vector components. */ - enum { num_components = 3 }; - - - /// Default constructor - /** The default constructor initializes all values to zero. - * @warning Although the method osg::Plane::valid() will return true after the default constructors call the plane - * is mathematically invalid! Default data do not describe a valid plane. */ - inline Plane() { _fv[0]=0.0; _fv[1]=0.0; _fv[2]=0.0; _fv[3]=0.0; _lowerBBCorner = 0; _upperBBCorner = 0; } - inline Plane(const Plane& pl) { set(pl); } - /// Constructor - /** The plane is described as a*x+b*y+c*z+d = 0. - * @remark You may call osg::Plane::MakeUnitLength afterwards if the passed values are not normalized. */ - inline Plane(value_type a,value_type b,value_type c,value_type d) { set(a,b,c,d); } - - /// Constructor - /** The plane can also be described as vec*[x,y,z,1]. - * @remark You may call osg::Plane::MakeUnitLength afterwards if the passed values are not normalized. */ - inline Plane(const Vec4f& vec) { set(vec); } - /// Constructor - /** The plane can also be described as vec*[x,y,z,1]. - * @remark You may call osg::Plane::MakeUnitLength afterwards if the passed values are not normalized. */ - inline Plane(const Vec4d& vec) { set(vec); } - - /// Constructor - /** This constructor initializes the internal values directly without any checking or manipulation. - * @param norm The normal of the plane. - * @param d The negative distance from the point of origin to the plane. - * @remark You may call osg::Plane::MakeUnitLength afterwards if the passed normal was not normalized. */ - inline Plane(const Vec3_type& norm,value_type d) { set(norm,d); } - - /// Constructor - /** This constructor calculates from the three points describing an infinite plane the internal values. - * @param v1 Point in the plane. - * @param v2 Point in the plane. - * @param v3 Point in the plane. - * @remark After this constructor call the plane's normal is normalized in case the three points described a mathematically - * valid plane. - * @remark The normal is determined by building the cross product of (v2-v1) ^ (v3-v2). */ - inline Plane(const Vec3_type& v1, const Vec3_type& v2, const Vec3_type& v3) { set(v1,v2,v3); } - - /// Constructor - /** This constructor initializes the internal values directly without any checking or manipulation. - * @param norm The normal of the plane. - * @param point A point of the plane. - * @remark You may call osg::Plane::MakeUnitLength afterwards if the passed normal was not normalized. */ - inline Plane(const Vec3_type& norm, const Vec3_type& point) { set(norm,point); } - - inline Plane& operator = (const Plane& pl) - { - if (&pl==this) return *this; - set(pl); - return *this; - } - - inline void set(const Plane& pl) { _fv[0]=pl._fv[0]; _fv[1]=pl._fv[1]; _fv[2]=pl._fv[2]; _fv[3]=pl._fv[3]; calculateUpperLowerBBCorners(); } - inline void set(value_type a, value_type b, value_type c, value_type d) { _fv[0]=a; _fv[1]=b; _fv[2]=c; _fv[3]=d; calculateUpperLowerBBCorners(); } - - inline void set(const Vec4f& vec) { set(vec[0],vec[1],vec[2],vec[3]); } - inline void set(const Vec4d& vec) { set(vec[0],vec[1],vec[2],vec[3]); } - - inline void set(const Vec3_type& norm, double d) { set(norm[0],norm[1],norm[2],d); } - - inline void set(const Vec3_type& v1, const Vec3_type& v2, const Vec3_type& v3) - { - Vec3_type norm = (v2-v1)^(v3-v2); - value_type length = norm.length(); - if (length>1e-6) norm/= length; - else norm.set(0.0,0.0,0.0); - set(norm[0],norm[1],norm[2],-(v1*norm)); - } - - inline void set(const Vec3_type& norm, const Vec3_type& point) - { - value_type d = -norm[0]*point[0] - norm[1]*point[1] - norm[2]*point[2]; - set(norm[0],norm[1],norm[2],d); - } - - /** flip/reverse the orientation of the plane.*/ - inline void flip() - { - _fv[0] = -_fv[0]; - _fv[1] = -_fv[1]; - _fv[2] = -_fv[2]; - _fv[3] = -_fv[3]; - calculateUpperLowerBBCorners(); - } - - /** This method multiplies the coefficients of the plane equation with a constant factor so that the - * equation a^2+b^2+c^2 = 1 holds. */ - inline void makeUnitLength() - { - value_type inv_length = 1.0 / sqrt(_fv[0]*_fv[0] + _fv[1]*_fv[1]+ _fv[2]*_fv[2]); - _fv[0] *= inv_length; - _fv[1] *= inv_length; - _fv[2] *= inv_length; - _fv[3] *= inv_length; - } - - /** calculate the upper and lower bounding box corners to be used - * in the intersect(BoundingBox&) method for speeding calculations.*/ - inline void calculateUpperLowerBBCorners() - { - _upperBBCorner = (_fv[0]>=0.0?1:0) | - (_fv[1]>=0.0?2:0) | - (_fv[2]>=0.0?4:0); - - _lowerBBCorner = (~_upperBBCorner)&7; - - } - - /// Checks if all internal values describing the plane have valid numbers - /** @warning This method does not check if the plane is mathematically correctly described! - * @remark The only case where all elements have valid numbers and the plane description is invalid occurs if the plane's normal - * is zero. */ - inline bool valid() const { return !isNaN(); } - inline bool isNaN() const { return osg::isNaN(_fv[0]) || osg::isNaN(_fv[1]) || osg::isNaN(_fv[2]) || osg::isNaN(_fv[3]); } - - inline bool operator == (const Plane& plane) const { return _fv[0]==plane._fv[0] && _fv[1]==plane._fv[1] && _fv[2]==plane._fv[2] && _fv[3]==plane._fv[3]; } - - inline bool operator != (const Plane& plane) const { return _fv[0]!=plane._fv[0] || _fv[1]!=plane._fv[1] || _fv[2]!=plane._fv[2] || _fv[3]!=plane._fv[3]; } - - /** A plane is said to be smaller than another plane if the first non-identical element of the internal array is smaller than the - * corresponding element of the other plane. */ - inline bool operator < (const Plane& plane) const - { - if (_fv[0]plane._fv[0]) return false; - else if (_fv[1]plane._fv[1]) return false; - else if (_fv[2]plane._fv[2]) return false; - else return (_fv[3]& vertices) const - { - if (vertices.empty()) return -1; - - int noAbove = 0; - int noBelow = 0; - int noOn = 0; - for(std::vector::const_iterator itr=vertices.begin(); - itr != vertices.end(); - ++itr) - { - float d = distance(*itr); - if (d>0.0f) ++noAbove; - else if (d<0.0f) ++noBelow; - else ++noOn; - } - - if (noAbove>0) - { - if (noBelow>0) return 0; - else return 1; - } - return -1; // treat points on line as outside... - } - - /** intersection test between plane and vertex list - return 1 if the bs is completely above plane, - return 0 if the bs intersects the plane, - return -1 if the bs is completely below the plane.*/ - inline int intersect(const std::vector& vertices) const - { - if (vertices.empty()) return -1; - - int noAbove = 0; - int noBelow = 0; - int noOn = 0; - for(std::vector::const_iterator itr=vertices.begin(); - itr != vertices.end(); - ++itr) - { - double d = distance(*itr); - if (d>0.0) ++noAbove; - else if (d<0.0) ++noBelow; - else ++noOn; - } - - if (noAbove>0) - { - if (noBelow>0) return 0; - else return 1; - } - return -1; // treat points on line as outside... - } - - /** intersection test between plane and bounding sphere. - return 1 if the bs is completely above plane, - return 0 if the bs intersects the plane, - return -1 if the bs is completely below the plane.*/ - inline int intersect(const BoundingSphere& bs) const - { - float d = distance(bs.center()); - - if (d>bs.radius()) return 1; - else if (d<-bs.radius()) return -1; - else return 0; - } - - - /** intersection test between plane and bounding sphere. - return 1 if the bs is completely above plane, - return 0 if the bs intersects the plane, - return -1 if the bs is completely below the plane.*/ - inline int intersect(const BoundingBox& bb) const - { - // if lowest point above plane than all above. - if (distance(bb.corner(_lowerBBCorner))>0.0f) return 1; - - // if highest point is below plane then all below. - if (distance(bb.corner(_upperBBCorner))<0.0f) return -1; - - // d_lower<=0.0f && d_upper>=0.0f - // therefore must be crossing plane. - return 0; - - } - - /** Transform the plane by matrix. Note, this operation carries out - * the calculation of the inverse of the matrix since a plane - * must be multiplied by the inverse transposed to transform it. This - * make this operation expensive. If the inverse has been already - * calculated elsewhere then use transformProvidingInverse() instead. - * See http://www.worldserver.com/turk/computergraphics/NormalTransformations.pdf*/ - inline void transform(const osg::Matrix& matrix) - { - osg::Matrix inverse; - inverse.invert(matrix); - transformProvidingInverse(inverse); - } - - /** Transform the plane by providing a pre inverted matrix. - * see transform for details. */ - inline void transformProvidingInverse(const osg::Matrix& matrix) - { - // note pre multiplications, which effectively transposes matrix. - Vec4_type vec(_fv[0],_fv[1],_fv[2],_fv[3]); - vec = matrix * vec; - set(vec); - makeUnitLength(); - } - - protected: - - /** Vec member variable. */ - value_type _fv[4]; - - // variables cached to optimize calcs against bounding boxes. - unsigned int _upperBBCorner; - unsigned int _lowerBBCorner; - - -}; - -} // end of namespace - -#endif diff --git a/src/osg/osg/Point b/src/osg/osg/Point deleted file mode 100644 index 1cadc966..00000000 --- a/src/osg/osg/Point +++ /dev/null @@ -1,104 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_POINT -#define OSG_POINT 1 - -#include -#include - -#ifndef GL_POINT_SMOOTH - #define GL_POINT_SMOOTH 0x0B10 -#endif - -#ifndef GL_POINT_SMOOTH_HINT - #define GL_POINT_SMOOTH_HINT 0x0C51 -#endif - -namespace osg { - -/** Point - encapsulates the OpenGL point smoothing and size state.*/ -class OSG_EXPORT Point : public StateAttribute -{ - public : - - Point(); - - Point(float size); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - Point(const Point& point,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(point,copyop), - _size(point._size), - _fadeThresholdSize(point._fadeThresholdSize), - _distanceAttenuation(point._distanceAttenuation), - _minSize(point._minSize), - _maxSize(point._maxSize) {} - - META_StateAttribute(osg, Point, POINT); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/ - virtual int compare(const StateAttribute& sa) const - { - // check the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(Point,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_size) - COMPARE_StateAttribute_Parameter(_fadeThresholdSize) - COMPARE_StateAttribute_Parameter(_distanceAttenuation) - COMPARE_StateAttribute_Parameter(_minSize) - COMPARE_StateAttribute_Parameter(_maxSize) - - return 0; // passed all the above comparison macros, must be equal. - } - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode(GL_POINT_SMOOTH); - return true; - } - - void setSize(float size); - inline float getSize() const { return _size; } - - void setFadeThresholdSize(float fadeThresholdSize); - inline float getFadeThresholdSize() const { return _fadeThresholdSize; } - - void setDistanceAttenuation(const Vec3& distanceAttenuation); - inline const Vec3& getDistanceAttenuation() const { return _distanceAttenuation; } - - void setMinSize(float minSize); - inline float getMinSize() const {return _minSize;} - - void setMaxSize(float maxSize); - inline float getMaxSize() const {return _maxSize;} - - virtual void apply(State& state) const; - - protected : - - virtual ~Point(); - - float _size; - float _fadeThresholdSize; - Vec3 _distanceAttenuation; - float _minSize; - float _maxSize; - -}; - -} - -#endif diff --git a/src/osg/osg/PointSprite b/src/osg/osg/PointSprite deleted file mode 100644 index c8a7408e..00000000 --- a/src/osg/osg/PointSprite +++ /dev/null @@ -1,78 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. - */ - -#ifndef OSG_POINTSPRITE -#define OSG_POINTSPRITE 1 - -#include -#include - -#ifndef GL_ARB_point_sprite -#define GL_POINT_SPRITE_ARB 0x8861 -#define GL_COORD_REPLACE_ARB 0x8862 -#endif - -#ifndef GL_POINT_SPRITE_COORD_ORIGIN -#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 -#define GL_LOWER_LEFT 0x8CA1 -#define GL_UPPER_LEFT 0x8CA2 -#endif - -namespace osg { - -/** PointSprite base class which encapsulates enabling of point sprites .*/ -class OSG_EXPORT PointSprite : public osg::StateAttribute { -public: - - PointSprite(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - PointSprite(const PointSprite& ps,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY): - StateAttribute(ps,copyop), - _coordOriginMode(ps._coordOriginMode) {} - - - META_StateAttribute(osg, PointSprite, POINTSPRITE); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/ - virtual int compare(const StateAttribute& sa) const; - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode(GL_POINT_SPRITE_ARB); - return true; - } - - virtual bool checkValidityOfAssociatedModes(osg::State&) const; - - virtual bool isTextureAttribute() const { return true; } - - virtual void apply(osg::State& state) const; - - enum CoordOriginMode { - UPPER_LEFT = GL_UPPER_LEFT, - LOWER_LEFT = GL_LOWER_LEFT - }; - - inline void setCoordOriginMode(CoordOriginMode mode) { _coordOriginMode = mode; } - inline CoordOriginMode getCoordOriginMode() const { return _coordOriginMode; } - -protected: - virtual ~PointSprite(); - - CoordOriginMode _coordOriginMode; -}; - -} - -#endif diff --git a/src/osg/osg/PolygonMode b/src/osg/osg/PolygonMode deleted file mode 100644 index daa32678..00000000 --- a/src/osg/osg/PolygonMode +++ /dev/null @@ -1,90 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_POLYGONMODE -#define OSG_POLYGONMODE 1 - -#include -#include - -#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) - #define GL_POINT 0x1B00 - #define GL_LINE 0x1B01 - #define GL_FILL 0x1B02 -#endif - -namespace osg { - -/** State Class for setting OpenGL's polygon culling mode. -*/ -class OSG_EXPORT PolygonMode : public StateAttribute -{ - public : - - enum Mode { - POINT = GL_POINT, - LINE = GL_LINE, - FILL = GL_FILL - }; - - enum Face { - FRONT_AND_BACK, - FRONT, - BACK - }; - - PolygonMode(); - - PolygonMode(Face face,Mode mode); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - PolygonMode(const PolygonMode& pm,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(pm,copyop), - _modeFront(pm._modeFront), - _modeBack(pm._modeBack) {} - - META_StateAttribute(osg, PolygonMode, POLYGONMODE); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/ - virtual int compare(const StateAttribute& sa) const - { - // check the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(PolygonMode,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_modeFront) - COMPARE_StateAttribute_Parameter(_modeBack) - - return 0; // passed all the above comparison macros, must be equal. - } - - void setMode(Face face,Mode mode); - Mode getMode(Face face) const; - - inline bool getFrontAndBack() const { return _modeFront==_modeBack; } - - virtual void apply(State& state) const; - - protected: - - virtual ~PolygonMode(); - - Mode _modeFront; - Mode _modeBack; - -}; - -} - -#endif diff --git a/src/osg/osg/PolygonOffset b/src/osg/osg/PolygonOffset deleted file mode 100644 index 15ad397e..00000000 --- a/src/osg/osg/PolygonOffset +++ /dev/null @@ -1,99 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_POLYGONOFFSET -#define OSG_POLYGONOFFSET 1 - -#include - -#ifndef GL_POLYGON_OFFSET_LINE - #define GL_POLYGON_OFFSET_LINE 0x2A02 - #define GL_POLYGON_OFFSET_POINT 0x2A01 -#endif - -namespace osg { - -/** PolygonOffset - encapsulates the OpenGL glPolygonOffset state.*/ -class OSG_EXPORT PolygonOffset : public StateAttribute -{ - public : - - PolygonOffset(); - - PolygonOffset(float factor, float units); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - PolygonOffset(const PolygonOffset& po,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(po,copyop), - _factor(po._factor), - _units(po._units) {} - - META_StateAttribute(osg, PolygonOffset, POLYGONOFFSET); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/ - virtual int compare(const StateAttribute& sa) const - { - // check the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(PolygonOffset,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_factor) - COMPARE_StateAttribute_Parameter(_units) - - return 0; // passed all the above comparison macros, must be equal. - } - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode(GL_POLYGON_OFFSET_FILL); -#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) - usage.usesMode(GL_POLYGON_OFFSET_LINE); - usage.usesMode(GL_POLYGON_OFFSET_POINT); -#endif - return true; - } - - inline void setFactor(float factor) { _factor = factor; } - inline float getFactor() const { return _factor; } - - inline void setUnits(float units) { _units = units; } - inline float getUnits() const { return _units; } - - virtual void apply(State& state) const; - - - static void setFactorMultiplier(float multiplier); - static float getFactorMultiplier(); - - static void setUnitsMultiplier(float multiplier); - static float getUnitsMultiplier(); - - static bool areFactorAndUnitsMultipliersSet(); - - /** Checks with the OpenGL driver to try and pick multiplier appropriate for the hardware. - note, requires a valid graphics context to be current. */ - static void setFactorAndUnitsMultipliersUsingBestGuessForDriver(); - - protected : - - virtual ~PolygonOffset(); - - float _factor; - float _units; - -}; - -} - -#endif diff --git a/src/osg/osg/PolygonStipple b/src/osg/osg/PolygonStipple deleted file mode 100644 index 80186987..00000000 --- a/src/osg/osg/PolygonStipple +++ /dev/null @@ -1,68 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ -// -*- Mode: c++ -*- - -#ifndef OSG_POLYGONSTIPPLE -#define OSG_POLYGONSTIPPLE 1 - -#include - -#ifndef GL_POLYGON_STIPPLE - #define GL_POLYGON_STIPPLE 0x0B42 -#endif - -namespace osg -{ - -class OSG_EXPORT PolygonStipple : public StateAttribute -{ - public : - - PolygonStipple(); - - PolygonStipple(const GLubyte* mask); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - PolygonStipple(const PolygonStipple& lw,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_StateAttribute(osg, PolygonStipple, POLYGONSTIPPLE); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/ - virtual int compare(const StateAttribute& sa) const; - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode(GL_POLYGON_STIPPLE); - return true; - } - - /** set the mask up, copying 128 bytes (32x32 bitfield) from mask into the local _mask.*/ - void setMask(const GLubyte* mask); - - /** get a pointer to the mask.*/ - inline const GLubyte* getMask() const {return _mask;} - - - virtual void apply(State& state) const; - - protected : - - virtual ~PolygonStipple(); - - GLubyte _mask[128]; - -}; - -} - -#endif diff --git a/src/osg/osg/Polytope b/src/osg/osg/Polytope deleted file mode 100644 index 1e9c0c7a..00000000 --- a/src/osg/osg/Polytope +++ /dev/null @@ -1,407 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_POLYTOPE -#define OSG_POLYTOPE 1 - -#include -#include - -namespace osg { - - -/** A Polytope class for representing convex clipping volumes made up of a set of planes. - * When adding planes, their normals should point inwards (into the volume) */ -class OSG_EXPORT Polytope -{ - - public: - - typedef unsigned int ClippingMask; - typedef std::vector PlaneList; - typedef std::vector VertexList; - typedef fast_back_stack MaskStack; - - inline Polytope() {setupMask();} - - inline Polytope(const Polytope& cv) : - _maskStack(cv._maskStack), - _resultMask(cv._resultMask), - _planeList(cv._planeList), - _referenceVertexList(cv._referenceVertexList) {} - - inline Polytope(const PlaneList& pl) : _planeList(pl) {setupMask();} - - inline ~Polytope() {} - - inline void clear() { _planeList.clear(); setupMask(); } - - inline Polytope& operator = (const Polytope& cv) - { - if (&cv==this) return *this; - _maskStack = cv._maskStack; - _resultMask = cv._resultMask; - _planeList = cv._planeList; - _referenceVertexList = cv._referenceVertexList; - return *this; - } - - /** Create a Polytope which is a cube, centered at 0,0,0, with sides of 2 units.*/ - void setToUnitFrustum(bool withNear=true, bool withFar=true) - { - _planeList.clear(); - _planeList.push_back(Plane(1.0,0.0,0.0,1.0)); // left plane. - _planeList.push_back(Plane(-1.0,0.0,0.0,1.0)); // right plane. - _planeList.push_back(Plane(0.0,1.0,0.0,1.0)); // bottom plane. - _planeList.push_back(Plane(0.0,-1.0,0.0,1.0)); // top plane. - if (withNear) _planeList.push_back(Plane(0.0,0.0,1.0,1.0)); // near plane - if (withFar) _planeList.push_back(Plane(0.0,0.0,-1.0,1.0)); // far plane - setupMask(); - } - - /** Create a Polytope which is a equivalent to BoundingBox.*/ - void setToBoundingBox(const BoundingBox& bb) - { - _planeList.clear(); - _planeList.push_back(Plane(1.0,0.0,0.0,-bb.xMin())); // left plane. - _planeList.push_back(Plane(-1.0,0.0,0.0,bb.xMax())); // right plane. - _planeList.push_back(Plane(0.0,1.0,0.0,-bb.yMin())); // bottom plane. - _planeList.push_back(Plane(0.0,-1.0,0.0,bb.yMax())); // top plane. - _planeList.push_back(Plane(0.0,0.0,1.0,-bb.zMin())); // near plane - _planeList.push_back(Plane(0.0,0.0,-1.0,bb.zMax())); // far plane - setupMask(); - } - - inline void setAndTransformProvidingInverse(const Polytope& pt, const osg::Matrix& matrix) - { - _referenceVertexList = pt._referenceVertexList; - - unsigned int resultMask = pt._maskStack.back(); - if (resultMask==0) - { - _maskStack.back() = 0; - _resultMask = 0; - _planeList.clear(); - return; - } - - ClippingMask selector_mask = 0x1; - - unsigned int numActivePlanes = 0; - - // count number of active planes. - PlaneList::const_iterator itr; - for(itr=pt._planeList.begin(); - itr!=pt._planeList.end(); - ++itr) - { - if (resultMask&selector_mask) ++numActivePlanes; - selector_mask <<= 1; - } - - _planeList.resize(numActivePlanes); - _resultMask = 0; - selector_mask = 0x1; - unsigned int index = 0; - for(itr=pt._planeList.begin(); - itr!=pt._planeList.end(); - ++itr) - { - if (resultMask&selector_mask) - { - _planeList[index] = *itr; - _planeList[index++].transformProvidingInverse(matrix); - _resultMask = (_resultMask<<1) | 1; - } - selector_mask <<= 1; - } - - _maskStack.back() = _resultMask; - } - - inline void set(const PlaneList& pl) { _planeList = pl; setupMask(); } - - - inline void add(const osg::Plane& pl) { _planeList.push_back(pl); setupMask(); } - - /** flip/reverse the orientation of all the planes.*/ - inline void flip() - { - for(PlaneList::iterator itr=_planeList.begin(); - itr!=_planeList.end(); - ++itr) - { - itr->flip(); - } - } - - inline bool empty() const { return _planeList.empty(); } - - inline PlaneList& getPlaneList() { return _planeList; } - - inline const PlaneList& getPlaneList() const { return _planeList; } - - - inline void setReferenceVertexList(VertexList& vertices) { _referenceVertexList=vertices; } - - inline VertexList& getReferenceVertexList() { return _referenceVertexList; } - - inline const VertexList& getReferenceVertexList() const { return _referenceVertexList; } - - - inline void setupMask() - { - _resultMask = 0; - for(unsigned int i=0;i<_planeList.size();++i) - { - _resultMask = (_resultMask<<1) | 1; - } - _maskStack.push_back(_resultMask); - } - - inline ClippingMask& getCurrentMask() { return _maskStack.back(); } - - inline ClippingMask getCurrentMask() const { return _maskStack.back(); } - - inline void setResultMask(ClippingMask mask) { _resultMask=mask; } - - inline ClippingMask getResultMask() const { return _resultMask; } - - MaskStack& getMaskStack() { return _maskStack; } - - const MaskStack& getMaskStack() const { return _maskStack; } - - - inline void pushCurrentMask() - { - _maskStack.push_back(_resultMask); - } - - inline void popCurrentMask() - { - _maskStack.pop_back(); - } - - /** Check whether a vertex is contained within clipping set.*/ - inline bool contains(const osg::Vec3& v) const - { - if (!_maskStack.back()) return true; - - unsigned int selector_mask = 0x1; - for(PlaneList::const_iterator itr=_planeList.begin(); - itr!=_planeList.end(); - ++itr) - { - if ((_maskStack.back()&selector_mask) && (itr->distance(v)<0.0f)) return false; - selector_mask <<= 1; - } - return true; - } - - /** Check whether any part of vertex list is contained within clipping set.*/ - inline bool contains(const std::vector& vertices) - { - if (!_maskStack.back()) return true; - - _resultMask = _maskStack.back(); - - for(std::vector::const_iterator vitr = vertices.begin(); - vitr != vertices.end(); - ++vitr) - { - const osg::Vec3& v = *vitr; - bool outside = false; - ClippingMask selector_mask = 0x1; - for(PlaneList::const_iterator itr=_planeList.begin(); - itr!=_planeList.end() && !outside; - ++itr) - { - if ((_maskStack.back()&selector_mask) && (itr->distance(v)<0.0f)) outside = true; - selector_mask <<= 1; - } - - if (!outside) return true; - } - return false; - } - - /** Check whether any part of a bounding sphere is contained within clipping set. - Using a mask to determine which planes should be used for the check, and - modifying the mask to turn off planes which wouldn't contribute to clipping - of any internal objects. This feature is used in osgUtil::CullVisitor - to prevent redundant plane checking.*/ - inline bool contains(const osg::BoundingSphere& bs) - { - if (!_maskStack.back()) return true; - - _resultMask = _maskStack.back(); - ClippingMask selector_mask = 0x1; - - for(PlaneList::const_iterator itr=_planeList.begin(); - itr!=_planeList.end(); - ++itr) - { - if (_resultMask&selector_mask) - { - int res=itr->intersect(bs); - if (res<0) return false; // outside clipping set. - else if (res>0) _resultMask ^= selector_mask; // subsequent checks against this plane not required. - } - selector_mask <<= 1; - } - return true; - } - - /** Check whether any part of a bounding box is contained within clipping set. - Using a mask to determine which planes should be used for the check, and - modifying the mask to turn off planes which wouldn't contribute to clipping - of any internal objects. This feature is used in osgUtil::CullVisitor - to prevent redundant plane checking.*/ - inline bool contains(const osg::BoundingBox& bb) - { - if (!_maskStack.back()) return true; - - _resultMask = _maskStack.back(); - ClippingMask selector_mask = 0x1; - - for(PlaneList::const_iterator itr=_planeList.begin(); - itr!=_planeList.end(); - ++itr) - { - if (_resultMask&selector_mask) - { - int res=itr->intersect(bb); - if (res<0) return false; // outside clipping set. - else if (res>0) _resultMask ^= selector_mask; // subsequent checks against this plane not required. - } - selector_mask <<= 1; - } - return true; - } - - /** Check whether all of vertex list is contained with clipping set.*/ - inline bool containsAllOf(const std::vector& vertices) - { - if (!_maskStack.back()) return false; - - _resultMask = _maskStack.back(); - ClippingMask selector_mask = 0x1; - - for(PlaneList::const_iterator itr=_planeList.begin(); - itr!=_planeList.end(); - ++itr) - { - if (_resultMask&selector_mask) - { - int res=itr->intersect(vertices); - if (res<1) return false; // intersects, or is below plane. - _resultMask ^= selector_mask; // subsequent checks against this plane not required. - } - selector_mask <<= 1; - } - return true; - } - - /** Check whether the entire bounding sphere is contained within clipping set.*/ - inline bool containsAllOf(const osg::BoundingSphere& bs) - { - if (!_maskStack.back()) return false; - - _resultMask = _maskStack.back(); - ClippingMask selector_mask = 0x1; - - for(PlaneList::const_iterator itr=_planeList.begin(); - itr!=_planeList.end(); - ++itr) - { - if (_resultMask&selector_mask) - { - int res=itr->intersect(bs); - if (res<1) return false; // intersects, or is below plane. - _resultMask ^= selector_mask; // subsequent checks against this plane not required. - } - selector_mask <<= 1; - } - return true; - } - - /** Check whether the entire bounding box is contained within clipping set.*/ - inline bool containsAllOf(const osg::BoundingBox& bb) - { - if (!_maskStack.back()) return false; - - _resultMask = _maskStack.back(); - ClippingMask selector_mask = 0x1; - - for(PlaneList::const_iterator itr=_planeList.begin(); - itr!=_planeList.end(); - ++itr) - { - if (_resultMask&selector_mask) - { - int res=itr->intersect(bb); - if (res<1) return false; // intersects, or is below plane. - _resultMask ^= selector_mask; // subsequent checks against this plane not required. - } - selector_mask <<= 1; - } - return true; - } - - - /** Transform the clipping set by matrix. Note, this operations carries out - * the calculation of the inverse of the matrix since a plane must - * be multiplied by the inverse transposed to transform it. This - * makes this operation expensive. If the inverse has been already - * calculated elsewhere then use transformProvidingInverse() instead. - * See http://www.worldserver.com/turk/computergraphics/NormalTransformations.pdf*/ - inline void transform(const osg::Matrix& matrix) - { - osg::Matrix inverse; - inverse.invert(matrix); - transformProvidingInverse(inverse); - } - - /** Transform the clipping set by provide a pre inverted matrix. - * see transform for details. */ - inline void transformProvidingInverse(const osg::Matrix& matrix) - { - if (!_maskStack.back()) return; - - _resultMask = _maskStack.back(); - ClippingMask selector_mask = 0x1; - for(PlaneList::iterator itr=_planeList.begin(); - itr!=_planeList.end(); - ++itr) - { - if (_resultMask&selector_mask) - { - itr->transformProvidingInverse(matrix); - selector_mask <<= 1; - } - } - } - - protected: - - - MaskStack _maskStack; - ClippingMask _resultMask; - PlaneList _planeList; - VertexList _referenceVertexList; - -}; - -} // end of namespace - -#endif diff --git a/src/osg/osg/PositionAttitudeTransform b/src/osg/osg/PositionAttitudeTransform deleted file mode 100644 index 61d74c6f..00000000 --- a/src/osg/osg/PositionAttitudeTransform +++ /dev/null @@ -1,78 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_POSITIONATTITUDETRANSFORM -#define OSG_POSITIONATTITUDETRANSFORM 1 - -#include -#include -#include -#include -#include - -namespace osg { - -/** PositionAttitudeTransform - is a Transform. Sets the coordinate transform - via a Vec3 position and Quat attitude. -*/ -class OSG_EXPORT PositionAttitudeTransform : public Transform -{ - public : - PositionAttitudeTransform(); - - PositionAttitudeTransform(const PositionAttitudeTransform& pat,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - Transform(pat,copyop), - _position(pat._position), - _attitude(pat._attitude), - _scale(pat._scale), - _pivotPoint(pat._pivotPoint) {} - - - META_Node(osg, PositionAttitudeTransform); - - virtual PositionAttitudeTransform* asPositionAttitudeTransform() { return this; } - virtual const PositionAttitudeTransform* asPositionAttitudeTransform() const { return this; } - - inline void setPosition(const Vec3d& pos) { _position = pos; dirtyBound(); } - inline const Vec3d& getPosition() const { return _position; } - - - inline void setAttitude(const Quat& quat) { _attitude = quat; dirtyBound(); } - inline const Quat& getAttitude() const { return _attitude; } - - - inline void setScale(const Vec3d& scale) { _scale = scale; dirtyBound(); } - inline const Vec3d& getScale() const { return _scale; } - - - inline void setPivotPoint(const Vec3d& pivot) { _pivotPoint = pivot; dirtyBound(); } - inline const Vec3d& getPivotPoint() const { return _pivotPoint; } - - - virtual bool computeLocalToWorldMatrix(Matrix& matrix,NodeVisitor* nv) const; - virtual bool computeWorldToLocalMatrix(Matrix& matrix,NodeVisitor* nv) const; - - - protected : - - virtual ~PositionAttitudeTransform() {} - - Vec3d _position; - Quat _attitude; - Vec3d _scale; - Vec3d _pivotPoint; -}; - -} - -#endif diff --git a/src/osg/osg/PrimitiveRestartIndex b/src/osg/osg/PrimitiveRestartIndex deleted file mode 100644 index e98109fb..00000000 --- a/src/osg/osg/PrimitiveRestartIndex +++ /dev/null @@ -1,54 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_PRIMITIVERESTARTINDEX -#define OSG_PRIMITIVERESTARTINDEX 1 - -#include - -namespace osg { - -/** - * osg::PrimitiveRestartIndex does nothing if OpenGL 3.1 is not available. -*/ -class OSG_EXPORT PrimitiveRestartIndex : public StateAttribute -{ - public : - - PrimitiveRestartIndex(); - PrimitiveRestartIndex(unsigned int restartIndex); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - PrimitiveRestartIndex(const PrimitiveRestartIndex& primitiveRestartIndex,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_StateAttribute(osg, PrimitiveRestartIndex, PRIMITIVERESTARTINDEX) - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/ - virtual int compare(const StateAttribute& sa) const; - - inline void setRestartIndex(unsigned int restartIndex ) { _restartIndex = restartIndex; } - - inline unsigned int getRestartIndex() const { return _restartIndex; } - - virtual void apply(State& state) const; - - protected: - - virtual ~PrimitiveRestartIndex(); - - unsigned int _restartIndex; -}; - -} - -#endif diff --git a/src/osg/osg/PrimitiveSet b/src/osg/osg/PrimitiveSet deleted file mode 100644 index b9168add..00000000 --- a/src/osg/osg/PrimitiveSet +++ /dev/null @@ -1,592 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_PRIMITIVESET -#define OSG_PRIMITIVESET 1 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include - -namespace osg { - -typedef MixinVector VectorGLsizei; -typedef MixinVector VectorGLubyte; -typedef MixinVector VectorGLushort; -typedef MixinVector VectorGLuint; - -class State; - -/** A \c PrimitiveFunctor is used (in conjunction with - * osg::Drawable::accept (PrimitiveFunctor&)) to get access to the - * primitives that compose the things drawn by OSG. - *

If \c osg::Drawable::accept() is called with a \c PrimitiveFunctor - * parameter, the \c Drawable will "pretend" it is drawing itself, but instead - * of calling real OpenGL functions, it will call PrimitiveFunctor's - * member functions that "mimic" the OpenGL calls. - *

Concrete subclasses of \c PrimitiveFunctor must implement these methods - * so that they performs whatever they want. - */ -class PrimitiveFunctor -{ -public: - - virtual ~PrimitiveFunctor() {} - - /** Sets the array of vertices used to describe the primitives. Somehow - * mimics the OpenGL \c glVertexPointer() function. - */ - virtual void setVertexArray(unsigned int count,const Vec2* vertices) = 0; - - /** Sets the array of vertices used to describe the primitives. Somehow - * mimics the OpenGL \c glVertexPointer() function. - */ - virtual void setVertexArray(unsigned int count,const Vec3* vertices) = 0; - - /** Sets the array of vertices used to describe the primitives. Somehow - * mimics the OpenGL \c glVertexPointer() function. - */ - virtual void setVertexArray(unsigned int count,const Vec4* vertices) = 0; - - /** Sets the array of vertices used to describe the primitives. Somehow - * mimics the OpenGL \c glVertexPointer() function. - */ - virtual void setVertexArray(unsigned int count,const Vec2d* vertices) = 0; - - /** Sets the array of vertices used to describe the primitives. Somehow - * mimics the OpenGL \c glVertexPointer() function. - */ - virtual void setVertexArray(unsigned int count,const Vec3d* vertices) = 0; - - /** Sets the array of vertices used to describe the primitives. Somehow - * mimics the OpenGL \c glVertexPointer() function. - */ - virtual void setVertexArray(unsigned int count,const Vec4d* vertices) = 0; - - /// Mimics the OpenGL \c glDrawArrays() function. - virtual void drawArrays(GLenum mode,GLint first,GLsizei count) = 0; - - /// Mimics the OpenGL \c glDrawElements() function. - virtual void drawElements(GLenum mode,GLsizei count,const GLubyte* indices) = 0; - - /// Mimics the OpenGL \c glDrawElements() function. - virtual void drawElements(GLenum mode,GLsizei count,const GLushort* indices) = 0; - - /// Mimics the OpenGL \c glDrawElements() function. - virtual void drawElements(GLenum mode,GLsizei count,const GLuint* indices) = 0; - - /// Mimics the OpenGL \c glBegin() function. - virtual void begin(GLenum mode) = 0; - - /// Mimics the OpenGL \c glVertex() "family of functions". - virtual void vertex(const Vec2& vert) = 0; - - /// Mimics the OpenGL \c glVertex() "family of functions". - virtual void vertex(const Vec3& vert) = 0; - - /// Mimics the OpenGL \c glVertex() "family of functions". - virtual void vertex(const Vec4& vert) = 0; - - /// Mimics the OpenGL \c glVertex() "family of functions". - virtual void vertex(float x,float y) = 0; - - /// Mimics the OpenGL \c glVertex() "family of functions". - virtual void vertex(float x,float y,float z) = 0; - - /// Mimics the OpenGL \c glVertex() "family of functions". - virtual void vertex(float x,float y,float z,float w) = 0; - - /// Mimics the OpenGL \c glEnd() function. - virtual void end() = 0; - - void useVertexCacheAsVertexArray() - { - setVertexArray(_vertexCache.size(),&_vertexCache.front()); - } - - std::vector _vertexCache; - bool _treatVertexDataAsTemporary; -}; - -class PrimitiveIndexFunctor -{ -public: - - virtual ~PrimitiveIndexFunctor() {} - - virtual void setVertexArray(unsigned int count,const Vec2* vertices) = 0; - virtual void setVertexArray(unsigned int count,const Vec3* vertices) = 0; - virtual void setVertexArray(unsigned int count,const Vec4* vertices) = 0; - - virtual void setVertexArray(unsigned int count,const Vec2d* vertices) = 0; - virtual void setVertexArray(unsigned int count,const Vec3d* vertices) = 0; - virtual void setVertexArray(unsigned int count,const Vec4d* vertices) = 0; - - virtual void drawArrays(GLenum mode,GLint first,GLsizei count) = 0; - virtual void drawElements(GLenum mode,GLsizei count,const GLubyte* indices) = 0; - virtual void drawElements(GLenum mode,GLsizei count,const GLushort* indices) = 0; - virtual void drawElements(GLenum mode,GLsizei count,const GLuint* indices) = 0; - - virtual void begin(GLenum mode) = 0; - virtual void vertex(unsigned int pos) = 0; - virtual void end() = 0; - - void useVertexCacheAsVertexArray() - { - setVertexArray(_vertexCache.size(),&_vertexCache.front()); - } - - std::vector _vertexCache; - bool _treatVertexDataAsTemporary; -}; - -class DrawElements; - -class OSG_EXPORT PrimitiveSet : public BufferData -{ - public: - - enum Type - { - PrimitiveType, - DrawArraysPrimitiveType, - DrawArrayLengthsPrimitiveType, - DrawElementsUBytePrimitiveType, - DrawElementsUShortPrimitiveType, - DrawElementsUIntPrimitiveType - }; - - enum Mode - { - POINTS = GL_POINTS, - LINES = GL_LINES, - LINE_STRIP = GL_LINE_STRIP, - LINE_LOOP = GL_LINE_LOOP, - TRIANGLES = GL_TRIANGLES, - TRIANGLE_STRIP = GL_TRIANGLE_STRIP, - TRIANGLE_FAN = GL_TRIANGLE_FAN, - QUADS = GL_QUADS, - QUAD_STRIP = GL_QUAD_STRIP, - POLYGON = GL_POLYGON, - LINES_ADJACENCY = GL_LINES_ADJACENCY, - LINE_STRIP_ADJACENCY = GL_LINE_STRIP_ADJACENCY, - TRIANGLES_ADJACENCY = GL_TRIANGLES_ADJACENCY, - TRIANGLE_STRIP_ADJACENCY = GL_TRIANGLE_STRIP_ADJACENCY, - PATCHES = GL_PATCHES - }; - - PrimitiveSet(Type primType=PrimitiveType,GLenum mode=0, int numInstances=0): - _primitiveType(primType), - _numInstances(numInstances), - _mode(mode) {} - - PrimitiveSet(const PrimitiveSet& prim,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - BufferData(prim,copyop), - _primitiveType(prim._primitiveType), - _numInstances(prim._numInstances), - _mode(prim._mode) {} - - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=NULL; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "PrimitiveSet"; } - - Type getType() const { return _primitiveType; } - - virtual osg::PrimitiveSet* asPrimitiveSet() { return this; } - virtual const osg::PrimitiveSet* asPrimitiveSet() const { return this; } - - virtual const GLvoid* getDataPointer() const { return 0; } - virtual unsigned int getTotalDataSize() const { return 0; } - virtual bool supportsBufferObject() const { return false; } - - virtual DrawElements* getDrawElements() { return 0; } - virtual const DrawElements* getDrawElements() const { return 0; } - - void setNumInstances(int n) { _numInstances = n; } - int getNumInstances() const { return _numInstances; } - - void setMode(GLenum mode) { _mode = mode; } - GLenum getMode() const { return _mode; } - - virtual void draw(State& state, bool useVertexBufferObjects) const = 0; - - virtual void accept(PrimitiveFunctor& functor) const = 0; - virtual void accept(PrimitiveIndexFunctor& functor) const = 0; - - virtual unsigned int index(unsigned int pos) const = 0; - virtual unsigned int getNumIndices() const = 0; - virtual void offsetIndices(int offset) = 0; - - virtual unsigned int getNumPrimitives() const; - - virtual void computeRange() const {} - - protected: - - virtual ~PrimitiveSet() {} - - Type _primitiveType; - int _numInstances; - GLenum _mode; -}; - -class OSG_EXPORT DrawArrays : public PrimitiveSet -{ - public: - - DrawArrays(GLenum mode=0): - PrimitiveSet(DrawArraysPrimitiveType,mode), - _first(0), - _count(0) {} - - DrawArrays(GLenum mode, GLint first, GLsizei count, int numInstances=0): - PrimitiveSet(DrawArraysPrimitiveType, mode, numInstances), - _first(first), - _count(count) {} - - DrawArrays(const DrawArrays& da,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - PrimitiveSet(da,copyop), - _first(da._first), - _count(da._count) {} - - virtual Object* cloneType() const { return new DrawArrays(); } - virtual Object* clone(const CopyOp& copyop) const { return new DrawArrays(*this,copyop); } - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=NULL; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "DrawArrays"; } - - - void set(GLenum mode,GLint first, GLsizei count) - { - _mode = mode; - _first = first; - _count = count; - } - - void setFirst(GLint first) { _first = first; } - GLint getFirst() const { return _first; } - - void setCount(GLsizei count) { _count = count; } - GLsizei getCount() const { return _count; } - - virtual void draw(State& state, bool useVertexBufferObjects) const; - - virtual void accept(PrimitiveFunctor& functor) const; - virtual void accept(PrimitiveIndexFunctor& functor) const; - - virtual unsigned int getNumIndices() const { return static_cast(_count); } - virtual unsigned int index(unsigned int pos) const { return static_cast(_first)+pos; } - virtual void offsetIndices(int offset) { _first += offset; } - - protected: - - virtual ~DrawArrays() {} - - GLint _first; - GLsizei _count; -}; - -class OSG_EXPORT DrawArrayLengths : public PrimitiveSet, public VectorGLsizei -{ - public: - - typedef VectorGLsizei vector_type; - - DrawArrayLengths(GLenum mode=0): - PrimitiveSet(DrawArrayLengthsPrimitiveType,mode), - _first(0) {} - - DrawArrayLengths(const DrawArrayLengths& dal,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - PrimitiveSet(dal,copyop), - vector_type(dal), - _first(dal._first) {} - - DrawArrayLengths(GLenum mode, GLint first, unsigned int no, GLsizei* ptr) : - PrimitiveSet(DrawArrayLengthsPrimitiveType,mode), - vector_type(ptr,ptr+no), - _first(first) {} - - DrawArrayLengths(GLenum mode,GLint first, unsigned int no) : - PrimitiveSet(DrawArrayLengthsPrimitiveType,mode), - vector_type(no), - _first(first) {} - - DrawArrayLengths(GLenum mode,GLint first) : - PrimitiveSet(DrawArrayLengthsPrimitiveType,mode), - vector_type(), - _first(first) {} - - - virtual Object* cloneType() const { return new DrawArrayLengths(); } - virtual Object* clone(const CopyOp& copyop) const { return new DrawArrayLengths(*this,copyop); } - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=NULL; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "DrawArrayLengths"; } - - - void setFirst(GLint first) { _first = first; } - GLint getFirst() const { return _first; } - - virtual void draw(State& state, bool useVertexBufferObjects) const; - - virtual void accept(PrimitiveFunctor& functor) const; - virtual void accept(PrimitiveIndexFunctor& functor) const; - - virtual unsigned int getNumIndices() const; - virtual unsigned int index(unsigned int pos) const { return _first+pos; } - virtual void offsetIndices(int offset) { _first += offset; } - - virtual unsigned int getNumPrimitives() const; - - protected: - - virtual ~DrawArrayLengths() {} - - GLint _first; -}; - -class DrawElements : public PrimitiveSet -{ - public: - - DrawElements(Type primType=PrimitiveType, GLenum mode=0, int numInstances=0): - PrimitiveSet(primType,mode, numInstances) {} - - DrawElements(const DrawElements& copy,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - PrimitiveSet(copy,copyop) {} - - - virtual DrawElements* getDrawElements() { return this; } - virtual const DrawElements* getDrawElements() const { return this; } - - /** Set the ElementBufferObject.*/ - inline void setElementBufferObject(osg::ElementBufferObject* ebo) { setBufferObject(ebo); } - - /** Get the ElementBufferObject. If no EBO is assigned returns NULL*/ - inline osg::ElementBufferObject* getElementBufferObject() { return dynamic_cast(_bufferObject.get()); } - - /** Get the const ElementBufferObject. If no EBO is assigned returns NULL*/ - inline const osg::ElementBufferObject* getElementBufferObject() const { return dynamic_cast(_bufferObject.get()); } - - virtual GLenum getDataType() = 0; - virtual void resizeElements(unsigned int numIndices) = 0; - virtual void reserveElements(unsigned int numIndices) = 0; - virtual void setElement(unsigned int, unsigned int) = 0; - virtual unsigned int getElement(unsigned int) = 0; - virtual void addElement(unsigned int) = 0; - - protected: - - virtual ~DrawElements() {} -}; - -class OSG_EXPORT DrawElementsUByte : public DrawElements, public VectorGLubyte -{ - public: - - typedef VectorGLubyte vector_type; - - DrawElementsUByte(GLenum mode=0): - DrawElements(DrawElementsUBytePrimitiveType,mode) {} - - DrawElementsUByte(const DrawElementsUByte& array, const CopyOp& copyop=CopyOp::SHALLOW_COPY): - DrawElements(array,copyop), - vector_type(array) {} - - /** - * \param no Number of intended elements. This will be the size of the underlying vector. - */ - DrawElementsUByte(GLenum mode, unsigned int no, const GLubyte* ptr, int numInstances=0) : - DrawElements(DrawElementsUBytePrimitiveType,mode,numInstances), - vector_type(ptr,ptr+no) {} - - /** - * \param no Number of intended elements. This will be the size of the underlying vector. - */ - DrawElementsUByte(GLenum mode, unsigned int no) : - DrawElements(DrawElementsUBytePrimitiveType,mode), - vector_type(no) {} - - virtual Object* cloneType() const { return new DrawElementsUByte(); } - virtual Object* clone(const CopyOp& copyop) const { return new DrawElementsUByte(*this,copyop); } - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=NULL; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "DrawElementsUByte"; } - - virtual const GLvoid* getDataPointer() const { return empty()?0:&front(); } - virtual unsigned int getTotalDataSize() const { return static_cast(size()); } - virtual bool supportsBufferObject() const { return false; } - - virtual void draw(State& state, bool useVertexBufferObjects) const ; - - virtual void accept(PrimitiveFunctor& functor) const; - virtual void accept(PrimitiveIndexFunctor& functor) const; - - virtual unsigned int getNumIndices() const { return static_cast(size()); } - virtual unsigned int index(unsigned int pos) const { return (*this)[pos]; } - virtual void offsetIndices(int offset); - - virtual GLenum getDataType() { return GL_UNSIGNED_BYTE; } - virtual void resizeElements(unsigned int numIndices) { resize(numIndices); } - virtual void reserveElements(unsigned int numIndices) { reserve(numIndices); } - virtual void setElement(unsigned int i, unsigned int v) { (*this)[i] = v; } - virtual unsigned int getElement(unsigned int i) { return (*this)[i]; } - virtual void addElement(unsigned int v) { push_back(GLubyte(v)); } - - protected: - - virtual ~DrawElementsUByte(); -}; - - -class OSG_EXPORT DrawElementsUShort : public DrawElements, public VectorGLushort -{ - public: - - typedef VectorGLushort vector_type; - - DrawElementsUShort(GLenum mode=0): - DrawElements(DrawElementsUShortPrimitiveType,mode) {} - - DrawElementsUShort(const DrawElementsUShort& array,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - DrawElements(array,copyop), - vector_type(array) {} - - /** - * \param no Number of intended elements. This will be the size of the underlying vector. - */ - DrawElementsUShort(GLenum mode, unsigned int no, const GLushort* ptr, int numInstances=0) : - DrawElements(DrawElementsUShortPrimitiveType,mode,numInstances), - vector_type(ptr,ptr+no) {} - - /** - * \param no Number of intended elements. This will be the size of the underlying vector. - */ - DrawElementsUShort(GLenum mode, unsigned int no) : - DrawElements(DrawElementsUShortPrimitiveType,mode), - vector_type(no) {} - - template - DrawElementsUShort(GLenum mode, InputIterator first,InputIterator last) : - DrawElements(DrawElementsUShortPrimitiveType,mode), - vector_type(first,last) {} - - virtual Object* cloneType() const { return new DrawElementsUShort(); } - virtual Object* clone(const CopyOp& copyop) const { return new DrawElementsUShort(*this,copyop); } - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=NULL; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "DrawElementsUShort"; } - - virtual const GLvoid* getDataPointer() const { return empty()?0:&front(); } - virtual unsigned int getTotalDataSize() const { return 2u*static_cast(size()); } - virtual bool supportsBufferObject() const { return false; } - - virtual void draw(State& state, bool useVertexBufferObjects) const; - - virtual void accept(PrimitiveFunctor& functor) const; - virtual void accept(PrimitiveIndexFunctor& functor) const; - - virtual unsigned int getNumIndices() const { return static_cast(size()); } - virtual unsigned int index(unsigned int pos) const { return (*this)[pos]; } - virtual void offsetIndices(int offset); - - virtual GLenum getDataType() { return GL_UNSIGNED_SHORT; } - virtual void resizeElements(unsigned int numIndices) { resize(numIndices); } - virtual void reserveElements(unsigned int numIndices) { reserve(numIndices); } - virtual void setElement(unsigned int i, unsigned int v) { (*this)[i] = v; } - virtual unsigned int getElement(unsigned int i) { return (*this)[i]; } - virtual void addElement(unsigned int v) { push_back(GLushort(v)); } - - protected: - - virtual ~DrawElementsUShort(); -}; - -class OSG_EXPORT DrawElementsUInt : public DrawElements, public VectorGLuint -{ - public: - - typedef VectorGLuint vector_type; - - DrawElementsUInt(GLenum mode=0): - DrawElements(DrawElementsUIntPrimitiveType,mode) {} - - DrawElementsUInt(const DrawElementsUInt& array,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - DrawElements(array,copyop), - vector_type(array) {} - - /** - * \param mode One of osg::PrimitiveSet::Mode. Determines the type of primitives used. - * \param no Number of intended elements. This will be the size of the underlying vector. - */ - DrawElementsUInt(GLenum mode, unsigned int no, const GLuint* ptr, int numInstances=0) : - DrawElements(DrawElementsUIntPrimitiveType,mode,numInstances), - vector_type(ptr,ptr+no) {} - - /** - * \param no Number of intended elements. This will be the size of the underlying vector. - */ - DrawElementsUInt(GLenum mode, unsigned int no) : - DrawElements(DrawElementsUIntPrimitiveType,mode), - vector_type(no) {} - - template - DrawElementsUInt(GLenum mode, InputIterator first,InputIterator last) : - DrawElements(DrawElementsUIntPrimitiveType,mode), - vector_type(first,last) {} - - virtual Object* cloneType() const { return new DrawElementsUInt(); } - virtual Object* clone(const CopyOp& copyop) const { return new DrawElementsUInt(*this,copyop); } - virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast(obj)!=NULL; } - virtual const char* libraryName() const { return "osg"; } - virtual const char* className() const { return "DrawElementsUInt"; } - - virtual const GLvoid* getDataPointer() const { return empty()?0:&front(); } - virtual unsigned int getTotalDataSize() const { return 4u*static_cast(size()); } - virtual bool supportsBufferObject() const { return false; } - - virtual void draw(State& state, bool useVertexBufferObjects) const; - - virtual void accept(PrimitiveFunctor& functor) const; - virtual void accept(PrimitiveIndexFunctor& functor) const; - - virtual unsigned int getNumIndices() const { return static_cast(size()); } - virtual unsigned int index(unsigned int pos) const { return (*this)[pos]; } - virtual void offsetIndices(int offset); - - virtual GLenum getDataType() { return GL_UNSIGNED_INT; } - virtual void resizeElements(unsigned int numIndices) { resize(numIndices); } - virtual void reserveElements(unsigned int numIndices) { reserve(numIndices); } - virtual void setElement(unsigned int i, unsigned int v) { (*this)[i] = v; } - virtual unsigned int getElement(unsigned int i) { return (*this)[i]; } - virtual void addElement(unsigned int v) { push_back(GLuint(v)); } - - protected: - - virtual ~DrawElementsUInt(); -}; - -} - -#endif diff --git a/src/osg/osg/Program b/src/osg/osg/Program deleted file mode 100644 index 0cd786a0..00000000 --- a/src/osg/osg/Program +++ /dev/null @@ -1,473 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * Copyright (C) 2003-2005 3Dlabs Inc. Ltd. - * Copyright (C) 2004-2005 Nathan Cournia - * Copyright (C) 2008 Zebra Imaging - * Copyright (C) 2010 Vires Simulationstechnologie GmbH - * - * This application is open source and may be redistributed and/or modified - * freely and without restriction, both in commercial and non commercial - * applications, as long as this copyright notice is maintained. - * - * This application is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -*/ - -/* file: include/osg/Program - * author: Mike Weiblen 2008-01-02 - * Holger Helmich 2010-10-21 -*/ - -#ifndef OSG_PROGRAM -#define OSG_PROGRAM 1 - -#include -#include -#include - -#include -#include -#include -#include -#include - -namespace osg { - -class State; - - -/////////////////////////////////////////////////////////////////////////// -/** osg::Program is an application-level abstraction of an OpenGL glProgram. - * It is an osg::StateAttribute that, when applied, will activate a - * glProgram for subsequent rendering. - * osg::Shaders containing the actual shader source code are - * attached to a Program, which will then manage the compilation, - * linking, and activation of the GLSL program. - * osg::Program will automatically manage per-context instancing of the - * OpenGL glPrograms, if that is necessary for a particular display - * configuration. - */ - -class OSG_EXPORT Program : public osg::StateAttribute -{ - public: - Program(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - Program(const Program& rhs, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY); - - META_StateAttribute(osg, Program, PROGRAM); - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/ - virtual int compare(const osg::StateAttribute& sa) const; - - /** If enabled, activate our program in the GL pipeline, - * performing any rebuild operations that might be pending. */ - virtual void apply(osg::State& state) const; - - /** Set whether to use a mutex to ensure ref() and unref() are thread safe.*/ - virtual void setThreadSafeRefUnref(bool threadSafe); - - /** Compile program and associated shaders.*/ - virtual void compileGLObjects(osg::State& state) const; - - /** Resize any per context GLObject buffers to specified size. */ - virtual void resizeGLObjectBuffers(unsigned int maxSize); - - /** release OpenGL objects in specified graphics context if State - object is passed, otherwise release OpenGL objects for all graphics context if - State object pointer NULL.*/ - virtual void releaseGLObjects(osg::State* state=0) const; - - /** Mark our PCSOs as needing relink */ - void dirtyProgram(); - - /** Attach an osg::Shader to this osg::Program. - * Mark Program as needing relink. Return true for success */ - bool addShader( Shader* shader ); - - unsigned int getNumShaders() const { return static_cast(_shaderList.size()); } - - Shader* getShader( unsigned int i ) { return _shaderList[i].get(); } - const Shader* getShader( unsigned int i ) const { return _shaderList[i].get(); } - - /** Remove osg::Shader from this osg::Program. - * Mark Program as needing relink. Return true for success */ - bool removeShader( Shader* shader ); - - /** Set/get GL program parameters */ - void setParameter( GLenum pname, GLint value ); - GLint getParameter( GLenum pname ) const; - - /** Set/get compute shader work groups */ - void setComputeGroups( GLint numGroupsX, GLint numGroupsY, GLint numGroupsZ ); - void getComputeGroups( GLint& numGroupsX, GLint& numGroupsY, GLint& numGroupsZ ) const; - - /** Add an attribute location binding. */ - void addBindAttribLocation( const std::string& name, GLuint index ); - - /** Remove an attribute location binding. */ - void removeBindAttribLocation( const std::string& name ); - - /** Add an frag data location binding. See EXT_gpu_shader4 for BindFragDataLocationEXT */ - void addBindFragDataLocation( const std::string& name, GLuint index ); - - /** Remove an frag data location binding. */ - void removeBindFragDataLocation( const std::string& name ); - - /** Add a uniform block binding to an index target. XXX This - * should not be an attribute of the program. It should be a - * pseudo-uniform that can live in StateSet objects because - * it is cheap to set. */ - void addBindUniformBlock(const std::string& name, GLuint index); - - /** Remove a uniform block binding. */ - void removeBindUniformBlock(const std::string& name); - - /** Remove a TransformFeedBackVarying. */ - void removeTransformFeedBackVarying(const std::string& name) - { - for(std::vector::iterator i=_feedbackout.begin(); i!=_feedbackout.end(); i++) - { - if (*i == name) {_feedbackout.erase(i);break; } - } - } - - /** Add a TransformFeedBack Varying Name. */ - void addTransformFeedBackVarying(const std::string& outname) - { - _feedbackout.push_back(outname); - } - - /** Get number of TransformFeedBack Varyings. */ - inline unsigned int getNumTransformFeedBackVaryings() const { return _feedbackout.size(); } - - /** Get const TransformFeedBack Varying at index i. */ - inline const std::string& getTransformFeedBackVarying(unsigned int i) const { return _feedbackout[i]; } - - /** Set TransformFeedBack Mode. */ - void setTransformFeedBackMode(GLenum e) {_feedbackmode=e;} - - /** Get TransformFeedBack Mode. */ - GLenum getTransformFeedBackMode() const {return _feedbackmode;} - - /** Experimental. */ - void setShaderDefines(const ShaderDefines& shaderDefs) { _shaderDefines = shaderDefs; } - ShaderDefines& getShaderDefines() { return _shaderDefines; } - const ShaderDefines& getShaderDefines() const { return _shaderDefines; } - - - - /** Simple class for wrapping up the data used in glProgramBinary and glGetProgramBinary. - * On the first run of your application Programs should be assigned an empty ProgramBinary. - * Before your application exits it should retrieve the program binary via - * Program::PerContextProgram::compileProgramBinary and save it to disk. - * When your application is run subsequently, load your binary from disk and use it to set - * the data of a ProgramBinary, and set the ProgramBinary on the associated Program. - * This will typically result in Program::compileGLObjects executing much faster.*/ - class OSG_EXPORT ProgramBinary : public osg::Object - { - public: - - ProgramBinary(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - ProgramBinary(const ProgramBinary& rhs, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY); - - META_Object(osg, ProgramBinary); - - /** Allocated a data buffer of specified size/*/ - void allocate(unsigned int size); - - /** Assign program binary data, copying the specified data into locally stored data buffer, the original data can then be deleted.*/ - void assign(unsigned int size, const unsigned char* data); - - /** Set the format of the program binary data.*/ - void setFormat(GLenum format) {_format = format;} - - /** Get the format of the program binary data.*/ - GLenum getFormat() const {return _format;} - - /** Get the size of the program binary data.*/ - unsigned int getSize() const { return static_cast(_data.size()); } - - /** Get a ptr to the program binary data.*/ - unsigned char* getData() { return _data.empty() ? 0 : &(_data.front()); } - - /** Get a const ptr to the program binary data.*/ - const unsigned char* getData() const { return _data.empty() ? 0 : &(_data.front()); } - - protected: - std::vector _data; - GLenum _format; - }; - - - /** Set the Program using a ProgramBinary. If a ProgramBinary is not yet - * available then setting an empty one signals that compileProgramBinary - * will be called later.*/ - void setProgramBinary(ProgramBinary* programBinary) { _programBinary = programBinary; } - - /** Get the Program's ProgramBinary, return NULL if none is assigned. */ - ProgramBinary* getProgramBinary() { return _programBinary.get(); } - - /** Get the const Program's ProgramBinary, return NULL if none is assigned. */ - const ProgramBinary* getProgramBinary() const { return _programBinary.get(); } - - typedef std::map AttribBindingList; - typedef std::map FragDataBindingList; - typedef std::map UniformBlockBindingList; - - const AttribBindingList& getAttribBindingList() const { return _attribBindingList; } - const FragDataBindingList& getFragDataBindingList() const { return _fragDataBindingList; } - const UniformBlockBindingList& getUniformBlockBindingList() const { return _uniformBlockBindingList; } - - /** Return true if this Program represents "fixed-functionality" rendering */ - bool isFixedFunction() const; - - /** Query InfoLog from a glProgram */ - bool getGlProgramInfoLog(unsigned int contextID, std::string& log) const; - - /** Mark internal glProgram for deletion. - * Deletion requests are queued until they can be executed - * in the proper GL context. */ - static void deleteGlProgram(unsigned int contextID, GLuint program); - - /** flush all the cached glPrograms which need to be deleted - * in the OpenGL context related to contextID.*/ - static void flushDeletedGlPrograms(unsigned int contextID,double currentTime, double& availableTime); - - /** discard all the cached glPrograms which need to be deleted - * in the OpenGL context related to contextID. - * Note, unlike flush no OpenGL calls are made, instead the handles are all removed. - * this call is useful for when an OpenGL context has been destroyed. */ - static void discardDeletedGlPrograms(unsigned int contextID); - - struct ActiveVarInfo { - ActiveVarInfo() : _location(-1), _type(Uniform::UNDEFINED), _size(-1) {} - ActiveVarInfo( GLint loc, GLenum type, GLint size ) : _location(loc), _type(type), _size(size) {} - GLint _location; - GLenum _type; - GLint _size; - }; - typedef std::map< unsigned int, ActiveVarInfo > ActiveUniformMap; - typedef std::map< std::string, ActiveVarInfo > ActiveVarInfoMap; - //const ActiveUniformMap& getActiveUniforms(unsigned int contextID) const; - //const ActiveVarInfoMap& getActiveAttribs(unsigned int contextID) const; - struct UniformBlockInfo - { - UniformBlockInfo() : _index(GL_INVALID_INDEX), _size(0) {} - UniformBlockInfo(GLuint index, GLsizei size) - : _index(index), _size(size) - { - } - GLuint _index; - GLsizei _size; - }; - typedef std::map UniformBlockMap; - - //const UniformBlockMap& getUniformBlocks(unsigned contextID) const; - public: - - // make PerContextProgram a friend to allow it access Program's protected - // methods and member variables. - class PerContextProgram; - friend class PerContextProgram; - - /** PerContextProgram (PCP) is an OSG-internal encapsulation of glPrograms per-GL context. */ - class OSG_EXPORT PerContextProgram : public osg::Referenced - { - public: - /** Use "0" as programHandle to let the PeContextProgram execute "glCreateProgram"and "glDeleteProgram" */ - PerContextProgram(const Program* program, unsigned int contextID, GLuint programHandle=0); - - GLuint getHandle() const {return _glProgramHandle;} - - const osg::Program* getProgram() const { return _program; } - - void setDefineString(const std::string& defStr) { _defineStr = defStr; } - const std::string& getDefineString() const { return _defineStr; } - - void requestLink(); - virtual void linkProgram(osg::State& state); - virtual bool validateProgram(); - bool needsLink() const {return _needsLink;} - bool isLinked() const {return _isLinked;} - virtual bool getInfoLog( std::string& infoLog ) const; - - /** Was glProgramBinary called successfully? */ - bool loadedBinary() const {return _loadedBinary;} - - /** Compile a program binary. For this to work setProgramBinary must have - * been called on the osg::Program with an empty ProgramBinary prior to - * compileGLObjects being called. - * compileProgramBinary should be called after the program has been - * "exercised" by rendering with it. The ProgramBinary can then be saved - * to disk for faster subsequent compiling. */ - virtual ProgramBinary* compileProgramBinary(osg::State& state); - - virtual void useProgram() const; - - void resetAppliedUniforms() const - { - _lastAppliedUniformList.clear(); - } - - - inline void apply(const Uniform& uniform) const - { - GLint location = getUniformLocation(uniform.getNameID()); - if (location>=0) - { - const Uniform* lastAppliedUniform = _lastAppliedUniformList[location].first.get(); - if (lastAppliedUniform != &uniform) - { - // new attribute - uniform.apply(_extensions.get(),location); - _lastAppliedUniformList[location].first = &uniform; - _lastAppliedUniformList[location].second = uniform.getModifiedCount(); - } - else if (_lastAppliedUniformList[location].second != uniform.getModifiedCount()) - { - // existing attribute has been modified - uniform.apply(_extensions.get(),location); - _lastAppliedUniformList[location].first = &uniform; - _lastAppliedUniformList[location].second = uniform.getModifiedCount(); - } - } - } - - const ActiveUniformMap& getActiveUniforms() const {return _uniformInfoMap;} - const ActiveVarInfoMap& getActiveAttribs() const {return _attribInfoMap;} - const UniformBlockMap& getUniformBlocks() const {return _uniformBlockMap; } - inline GLint getUniformLocation( unsigned int uniformNameID ) const { ActiveUniformMap::const_iterator itr = _uniformInfoMap.find(uniformNameID); return (itr!=_uniformInfoMap.end()) ? itr->second._location : -1; } - - /** - * Alternative version of getUniformLocation( unsigned int uniformNameID ) - * retrofited into OSG for backward compatibility with osgCal, - * after uniform ids were refactored from std::strings to GLints in OSG version 2.9.10. - * - * Drawbacks: This method is not particularly fast. It has to access mutexed static - * map of uniform ids. So don't overuse it or your app performance will suffer. - */ - inline GLint getUniformLocation( const std::string & uniformName ) const { return getUniformLocation( Uniform::getNameID( uniformName ) ); } - - inline GLint getAttribLocation( const std::string& name ) const { ActiveVarInfoMap::const_iterator itr = _attribInfoMap.find(name); return (itr!=_attribInfoMap.end()) ? itr->second._location : -1; } - - inline void addShaderToAttach(Shader *shader) - { - _shadersToAttach.push_back(shader); - } - - inline void addShaderToDetach(Shader *shader) - { - _shadersToDetach.push_back(shader); - } - - protected: /*methods*/ - virtual ~PerContextProgram(); - - protected: /*data*/ - /** Pointer to our parent Program */ - const Program* _program; - /** Pointer to this context's extension functions */ - osg::ref_ptr _extensions; - - /** Handle to the actual OpenGL glProgram */ - GLuint _glProgramHandle; - - /** Define string passed on to Shaders to help configure them.*/ - std::string _defineStr; - - /** Does our glProgram need to be linked? */ - bool _needsLink; - /** Is our glProgram successfully linked? */ - bool _isLinked; - /** Was glProgramBinary called successfully? */ - bool _loadedBinary; - - const unsigned int _contextID; - - /** Does the glProgram handle belongs to this class? */ - bool _ownsProgramHandle; - - ActiveUniformMap _uniformInfoMap; - ActiveVarInfoMap _attribInfoMap; - UniformBlockMap _uniformBlockMap; - - typedef std::pair, unsigned int> UniformModifiedCountPair; - typedef std::map LastAppliedUniformList; - mutable LastAppliedUniformList _lastAppliedUniformList; - - typedef std::vector< ref_ptr > ShaderList; - ShaderList _shadersToDetach; - ShaderList _shadersToAttach; - - private: - PerContextProgram(); // disallowed - PerContextProgram(const PerContextProgram&); // disallowed - PerContextProgram& operator=(const PerContextProgram&); // disallowed - }; - - struct OSG_EXPORT ProgramObjects : public osg::Referenced - { - typedef std::vector< osg::ref_ptr > PerContextPrograms; - - ProgramObjects(const Program* program, unsigned int contextID); - - unsigned int _contextID; - const Program* _program; - mutable PerContextPrograms _perContextPrograms; - - PerContextProgram* getPCP(const std::string& defineStr) const; - PerContextProgram* createPerContextProgram(const std::string& defineStr); - void requestLink(); - void addShaderToAttach(Shader* shader); - void addShaderToDetach(Shader* shader); - bool getGlProgramInfoLog(std::string& log) const; - }; - - /** Get the PCP for a particular GL context */ - PerContextProgram* getPCP(State& state) const; - - protected: /*methods*/ - virtual ~Program(); - - protected: /*data*/ - - mutable osg::buffered_value< osg::ref_ptr > _pcpList; - AttribBindingList _attribBindingList; - FragDataBindingList _fragDataBindingList; - UniformBlockBindingList _uniformBlockBindingList; - - typedef std::vector< ref_ptr > ShaderList; - ShaderList _shaderList; - - osg::ref_ptr _programBinary; - - /** Parameters maintained with glProgramParameteriEXT */ - GLint _geometryVerticesOut; - GLint _geometryInputType; - GLint _geometryOutputType; - - - /** Parameter maintained with glDispatchCompute */ - GLint _numGroupsX; - GLint _numGroupsY; - GLint _numGroupsZ; - - /**TransformFeedBack**/ - GLenum _feedbackmode; - std::vector _feedbackout; - - ShaderDefines _shaderDefines; - - - private: - Program& operator=(const Program&); // disallowed - -}; - -} - -#endif diff --git a/src/osg/osg/Projection b/src/osg/osg/Projection deleted file mode 100644 index 4624399d..00000000 --- a/src/osg/osg/Projection +++ /dev/null @@ -1,61 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_PROJECTION -#define OSG_PROJECTION 1 - -#include -#include - -namespace osg { - -/** Projection nodes set up the frustum/orthographic projection used when rendering the scene. -*/ -class OSG_EXPORT Projection : public Group -{ - public : - - - Projection(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - Projection(const Projection&,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - Projection(const Matrix& matix); - - META_Node(osg, Projection); - - /** Set the transform's matrix.*/ - void setMatrix(const Matrix& mat) { _matrix = mat; } - - /** Get the transform's matrix. */ - inline const Matrix& getMatrix() const { return _matrix; } - - /** preMult transform.*/ - void preMult(const Matrix& mat) { _matrix.preMult(mat); } - - /** postMult transform.*/ - void postMult(const Matrix& mat) { _matrix.postMult(mat); } - - - protected : - - virtual ~Projection(); - - Matrix _matrix; - -}; - -} - -#endif diff --git a/src/osg/osg/ProxyNode b/src/osg/osg/ProxyNode deleted file mode 100644 index 797f777e..00000000 --- a/src/osg/osg/ProxyNode +++ /dev/null @@ -1,142 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_ProxyNode -#define OSG_ProxyNode 1 - -#include - -namespace osg { - -/** ProxyNode. -*/ -class OSG_EXPORT ProxyNode : public Group -{ - public : - - ProxyNode(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - ProxyNode(const ProxyNode&,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_Node(osg, ProxyNode); - - typedef osg::BoundingSphere::vec_type vec_type; - typedef osg::BoundingSphere::value_type value_type; - - virtual void traverse(NodeVisitor& nv); - - virtual bool addChild(Node *child); - virtual bool addChild(Node *child, const std::string& filename); - - virtual bool removeChildren(unsigned int pos,unsigned int numChildrenToRemove); - - - /** Set the optional database osgDB::Options object to use when loading children.*/ - void setDatabaseOptions(osg::Referenced* options) { _databaseOptions = options; } - - /** Get the optional database osgDB::Options object used when loading children.*/ - osg::Referenced* getDatabaseOptions() { return _databaseOptions.get(); } - - /** Get the optional database osgDB::Options object used when loading children.*/ - const osg::Referenced* getDatabaseOptions() const { return _databaseOptions.get(); } - - - /** Set the database path to prepend to children's filenames.*/ - void setDatabasePath(const std::string& path); - /** Get the database path used to prepend to children's filenames.*/ - inline const std::string& getDatabasePath() const { return _databasePath; } - - void setFileName(unsigned int childNo, const std::string& filename) { expandFileNameListTo(childNo); _filenameList[childNo].first=filename; } - const std::string& getFileName(unsigned int childNo) const { return _filenameList[childNo].first; } - unsigned int getNumFileNames() const { return _filenameList.size(); } - - /** Return the DatabaseRequest object used by the DatabasePager to keep track of file load requests - * being carried out on behalf of the DatabasePager. - * Note, in normal OSG usage you should not set this value yourself, as this will be managed by - * the osgDB::DatabasePager.*/ - osg::ref_ptr& getDatabaseRequest(unsigned int childNo) { return _filenameList[childNo].second; } - - /** Return the const DatabaseRequest object.*/ - const osg::ref_ptr& getDatabaseRequest(unsigned int childNo) const { return _filenameList[childNo].second; } - - - /** Modes which control how the center of object should be determined when computing which child is active.*/ - enum CenterMode - { - USE_BOUNDING_SPHERE_CENTER, - USER_DEFINED_CENTER, - UNION_OF_BOUNDING_SPHERE_AND_USER_DEFINED - }; - - /** Set how the center of object should be determined when computing which child is active.*/ - void setCenterMode(CenterMode mode) { _centerMode=mode; } - - /** Get how the center of object should be determined when computing which child is active.*/ - CenterMode getCenterMode() const { return _centerMode; } - - /** Modes which control how the proxynode external reference are loaded.*/ - enum LoadingExternalReferenceMode - { - LOAD_IMMEDIATELY, - DEFER_LOADING_TO_DATABASE_PAGER, - NO_AUTOMATIC_LOADING - }; - - /** Set how the child loading is done.*/ - void setLoadingExternalReferenceMode(LoadingExternalReferenceMode mode) { _loadingExtReference=mode; } - - /** Get the loading mode.*/ - LoadingExternalReferenceMode getLoadingExternalReferenceMode() const { return _loadingExtReference; } - - /** Sets the object-space point which defines the center of the osg::ProxyNode. - Center is affected by any transforms in the hierarchy above the osg::ProxyNode.*/ - inline void setCenter(const vec_type& center) { if (_centerMode!=UNION_OF_BOUNDING_SPHERE_AND_USER_DEFINED) { _centerMode=USER_DEFINED_CENTER; } _userDefinedCenter = center; } - - /** Return the ProxyNode center point. */ - inline const vec_type& getCenter() const { if ((_centerMode==USER_DEFINED_CENTER)||(_centerMode==UNION_OF_BOUNDING_SPHERE_AND_USER_DEFINED)) return _userDefinedCenter; else return getBound().center(); } - - - /** Set the object-space reference radius of the volume enclosed by the ProxyNode. - * Used to determine the bounding sphere of the ProxyNode in the absence of any children.*/ - inline void setRadius(value_type radius) { _radius = radius; } - - /** Get the object-space radius of the volume enclosed by the ProxyNode.*/ - inline value_type getRadius() const { return _radius; } - - virtual BoundingSphere computeBound() const; - - protected : - - virtual ~ProxyNode() {} - - void expandFileNameListTo(unsigned int pos); - - typedef std::pair< std::string, osg::ref_ptr > FileNameDatabaseRequestPair; - typedef std::vector FileNameDatabaseRequestList; - - FileNameDatabaseRequestList _filenameList; - ref_ptr _databaseOptions; - std::string _databasePath; - - LoadingExternalReferenceMode _loadingExtReference; - - CenterMode _centerMode; - vec_type _userDefinedCenter; - value_type _radius; - -}; - -} - -#endif diff --git a/src/osg/osg/Quat b/src/osg/osg/Quat deleted file mode 100644 index 31e1799c..00000000 --- a/src/osg/osg/Quat +++ /dev/null @@ -1,393 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_QUAT -#define OSG_QUAT 1 - -#include -#include -#include -#include -#include - -namespace osg { - -class Matrixf; -class Matrixd; - -/** A quaternion class. It can be used to represent an orientation in 3D space.*/ -class OSG_EXPORT Quat -{ - - public: - - typedef double value_type; - - value_type _v[4]; // a four-vector - - inline Quat() { _v[0]=0.0; _v[1]=0.0; _v[2]=0.0; _v[3]=1.0; } - - inline Quat( value_type x, value_type y, value_type z, value_type w ) - { - _v[0]=x; - _v[1]=y; - _v[2]=z; - _v[3]=w; - } - - inline Quat( const Vec4f& v ) - { - _v[0]=v.x(); - _v[1]=v.y(); - _v[2]=v.z(); - _v[3]=v.w(); - } - - inline Quat( const Vec4d& v ) - { - _v[0]=v.x(); - _v[1]=v.y(); - _v[2]=v.z(); - _v[3]=v.w(); - } - - inline Quat( value_type angle, const Vec3f& axis) - { - makeRotate(angle,axis); - } - inline Quat( value_type angle, const Vec3d& axis) - { - makeRotate(angle,axis); - } - - inline Quat( value_type angle1, const Vec3f& axis1, - value_type angle2, const Vec3f& axis2, - value_type angle3, const Vec3f& axis3) - { - makeRotate(angle1,axis1,angle2,axis2,angle3,axis3); - } - - inline Quat( value_type angle1, const Vec3d& axis1, - value_type angle2, const Vec3d& axis2, - value_type angle3, const Vec3d& axis3) - { - makeRotate(angle1,axis1,angle2,axis2,angle3,axis3); - } - - inline Quat& operator = (const Quat& v) { _v[0]=v._v[0]; _v[1]=v._v[1]; _v[2]=v._v[2]; _v[3]=v._v[3]; return *this; } - - inline bool operator == (const Quat& v) const { return _v[0]==v._v[0] && _v[1]==v._v[1] && _v[2]==v._v[2] && _v[3]==v._v[3]; } - - inline bool operator != (const Quat& v) const { return _v[0]!=v._v[0] || _v[1]!=v._v[1] || _v[2]!=v._v[2] || _v[3]!=v._v[3]; } - - inline bool operator < (const Quat& v) const - { - if (_v[0]v._v[0]) return false; - else if (_v[1]v._v[1]) return false; - else if (_v[2]v._v[2]) return false; - else return (_v[3] - -#include -#include -#include - -#if !defined(_OPENTHREADS_ATOMIC_USE_MUTEX) -# define _OSG_REFERENCED_USE_ATOMIC_OPERATIONS -#endif - -namespace osg { - -// forward declare, declared after Referenced below. -class DeleteHandler; -class Observer; -class ObserverSet; - -/** template class to help enforce static initialization order. */ -template -struct depends_on -{ - depends_on() { M(); } -}; - -/** Base class for providing reference counted objects.*/ -class OSG_EXPORT Referenced -{ - - public: - - - Referenced(); - - explicit Referenced(bool threadSafeRefUnref); - - Referenced(const Referenced&); - - inline Referenced& operator = (const Referenced&) { return *this; } - - /** Set whether to use a mutex to ensure ref() and unref() are thread safe.*/ - virtual void setThreadSafeRefUnref(bool threadSafe); - - /** Get whether a mutex is used to ensure ref() and unref() are thread safe.*/ - -#if defined(_OSG_REFERENCED_USE_ATOMIC_OPERATIONS) - bool getThreadSafeRefUnref() const { return true; } -#else - bool getThreadSafeRefUnref() const { return _refMutex!=0; } -#endif - - /** Get the mutex used to ensure thread safety of ref()/unref(). */ -#if defined(_OSG_REFERENCED_USE_ATOMIC_OPERATIONS) - OpenThreads::Mutex* getRefMutex() const { return getGlobalReferencedMutex(); } -#else - OpenThreads::Mutex* getRefMutex() const { return _refMutex; } -#endif - - /** Get the optional global Referenced mutex, this can be shared between all osg::Referenced.*/ - static OpenThreads::Mutex* getGlobalReferencedMutex(); - - /** Increment the reference count by one, indicating that - this object has another pointer which is referencing it.*/ - inline int ref() const; - - /** Decrement the reference count by one, indicating that - a pointer to this object is no longer referencing it. If the - reference count goes to zero, it is assumed that this object - is no longer referenced and is automatically deleted.*/ - inline int unref() const; - - /** Decrement the reference count by one, indicating that - a pointer to this object is no longer referencing it. However, do - not delete it, even if ref count goes to 0. Warning, unref_nodelete() - should only be called if the user knows exactly who will - be responsible for, one should prefer unref() over unref_nodelete() - as the latter can lead to memory leaks.*/ - int unref_nodelete() const; - - /** Return the number of pointers currently referencing this object. */ - inline int referenceCount() const { return _refCount; } - - - /** Get the ObserverSet if one is attached, otherwise return NULL.*/ - ObserverSet* getObserverSet() const - { - #if defined(_OSG_REFERENCED_USE_ATOMIC_OPERATIONS) - return static_cast(_observerSet.get()); - #else - return static_cast(_observerSet); - #endif - } - - /** Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet.*/ - ObserverSet* getOrCreateObserverSet() const; - - /** Add a Observer that is observing this object, notify the Observer when this object gets deleted.*/ - void addObserver(Observer* observer) const; - - /** Remove Observer that is observing this object.*/ - void removeObserver(Observer* observer) const; - - public: - - /** Set whether reference counting should use a mutex for thread safe reference counting.*/ - static void setThreadSafeReferenceCounting(bool enableThreadSafeReferenceCounting); - - /** Get whether reference counting is active.*/ - static bool getThreadSafeReferenceCounting(); - - friend class DeleteHandler; - - /** Set a DeleteHandler to which deletion of all referenced counted objects - * will be delegated.*/ - static void setDeleteHandler(DeleteHandler* handler); - - /** Get a DeleteHandler.*/ - static DeleteHandler* getDeleteHandler(); - - - protected: - - virtual ~Referenced(); - - void signalObserversAndDelete(bool signalDelete, bool doDelete) const; - - void deleteUsingDeleteHandler() const; - -#if defined(_OSG_REFERENCED_USE_ATOMIC_OPERATIONS) - mutable OpenThreads::AtomicPtr _observerSet; - - mutable OpenThreads::Atomic _refCount; -#else - - mutable OpenThreads::Mutex* _refMutex; - - mutable int _refCount; - - mutable void* _observerSet; -#endif -}; - -inline int Referenced::ref() const -{ -#if defined(_OSG_REFERENCED_USE_ATOMIC_OPERATIONS) - return ++_refCount; -#else - if (_refMutex) - { - OpenThreads::ScopedLock lock(*_refMutex); - return ++_refCount; - } - else - { - return ++_refCount; - } -#endif -} - -inline int Referenced::unref() const -{ - int newRef; -#if defined(_OSG_REFERENCED_USE_ATOMIC_OPERATIONS) - newRef = --_refCount; - bool needDelete = (newRef == 0); -#else - bool needDelete = false; - if (_refMutex) - { - OpenThreads::ScopedLock lock(*_refMutex); - newRef = --_refCount; - needDelete = newRef==0; - } - else - { - newRef = --_refCount; - needDelete = newRef==0; - } -#endif - - if (needDelete) - { - signalObserversAndDelete(true,true); - } - return newRef; -} - -// intrusive_ptr_add_ref and intrusive_ptr_release allow -// use of osg Referenced classes with boost::intrusive_ptr -inline void intrusive_ptr_add_ref(Referenced* p) { p->ref(); } -inline void intrusive_ptr_release(Referenced* p) { p->unref(); } - -} - -#endif diff --git a/src/osg/osg/RenderInfo b/src/osg/osg/RenderInfo deleted file mode 100644 index b6ae28a7..00000000 --- a/src/osg/osg/RenderInfo +++ /dev/null @@ -1,95 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_RENDERINFO -#define OSG_RENDERINFO 1 - -#include -#include - -namespace osgUtil { -// forward declare RenderBin so we can refer to it in RenderInfo -class RenderBin; -} - -namespace osg { - -class RenderInfo -{ -public: - - RenderInfo(): - _view(0) {} - - RenderInfo(const RenderInfo& rhs): - _state(rhs._state), - _view(rhs._view), - _cameraStack(rhs._cameraStack), - _renderBinStack(rhs._renderBinStack), - _userData(rhs._userData) {} - - RenderInfo(State* state, View* view): - _state(state), - _view(view) {} - - RenderInfo& operator = (const RenderInfo& rhs) - { - _state = rhs._state; - _view = rhs._view; - _cameraStack = rhs._cameraStack; - _renderBinStack = rhs._renderBinStack; - _userData = rhs._userData; - return *this; - } - - unsigned int getContextID() const { return _state.valid() ? _state->getContextID() : 0; } - - void setState(State* state) { _state = state; } - State* getState() { return _state.get(); } - const State* getState() const { return _state.get(); } - - void setView(View* view) { _view = view; } - View* getView() { return _view; } - const View* getView() const { return _view; } - - void pushCamera(Camera* camera) { _cameraStack.push_back(camera); } - void popCamera() { if (!_cameraStack.empty()) _cameraStack.pop_back(); } - - typedef std::vector CameraStack; - CameraStack& getCameraStack() { return _cameraStack; } - - Camera* getCurrentCamera() { return _cameraStack.empty() ? 0 : _cameraStack.back(); } - - void pushRenderBin(osgUtil::RenderBin* bin) { _renderBinStack.push_back(bin); } - void popRenderBin() { _renderBinStack.pop_back(); } - - typedef std::vector RenderBinStack; - RenderBinStack& getRenderBinStack() { return _renderBinStack; } - - void setUserData(Referenced* userData) { _userData = userData; } - Referenced* getUserData() { return _userData.get(); } - const Referenced* getUserData() const { return _userData.get(); } - -protected: - - - ref_ptr _state; - View* _view; - CameraStack _cameraStack; - RenderBinStack _renderBinStack; - ref_ptr _userData; -}; - -} - -#endif diff --git a/src/osg/osg/SampleMaski b/src/osg/osg/SampleMaski deleted file mode 100644 index db30d3a6..00000000 --- a/src/osg/osg/SampleMaski +++ /dev/null @@ -1,54 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_SAMPLEMASKI -#define OSG_SAMPLEMASKI 1 - -#include - -namespace osg { - -/** - * osg::SampleMaski does nothing if OpenGL 3.2 or ARB_texture_multisample are not available. -*/ -class OSG_EXPORT SampleMaski : public StateAttribute -{ - public : - - SampleMaski(); - - /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ - SampleMaski(const SampleMaski& sampleMaski,const CopyOp& copyop=CopyOp::SHALLOW_COPY); - - META_StateAttribute(osg, SampleMaski, SAMPLEMASKI) - - /** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/ - virtual int compare(const StateAttribute& sa) const; - - inline void setMask(unsigned int mask, unsigned int maskNumber = 0u ) { _sampleMask[maskNumber] = mask; } - - inline unsigned int getMask(unsigned int maskNumber = 0u) const { return _sampleMask[maskNumber]; } - - virtual void apply(State& state) const; - - protected: - - virtual ~SampleMaski(); - -//For now support only up to 64 bit mask; - unsigned int _sampleMask[2]; -}; - -} - -#endif diff --git a/src/osg/osg/Scissor b/src/osg/osg/Scissor deleted file mode 100644 index e7e25e21..00000000 --- a/src/osg/osg/Scissor +++ /dev/null @@ -1,110 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_Scissor -#define OSG_Scissor 1 - -#include - -namespace osg { - -/** Encapsulate OpenGL glScissor. */ -class OSG_EXPORT Scissor : public StateAttribute -{ - public : - Scissor(); - - Scissor(int x,int y,int width,int height): - _x(x), - _y(y), - _width(width), - _height(height) {} - - - /** Copy constructor using CopyOp to manage deep vs shallow copy. */ - Scissor(const Scissor& vp,const CopyOp& copyop=CopyOp::SHALLOW_COPY): - StateAttribute(vp,copyop), - _x(vp._x), - _y(vp._y), - _width(vp._width), - _height(vp._height) {} - - META_StateAttribute(osg, Scissor, SCISSOR); - - /** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */ - virtual int compare(const StateAttribute& sa) const - { - // check the types are equal and then create the rhs variable - // used by the COMPARE_StateAttribute_Parameter macros below. - COMPARE_StateAttribute_Types(Scissor,sa) - - // compare each parameter in turn against the rhs. - COMPARE_StateAttribute_Parameter(_x) - COMPARE_StateAttribute_Parameter(_y) - COMPARE_StateAttribute_Parameter(_width) - COMPARE_StateAttribute_Parameter(_height) - - return 0; // passed all the above comparison macros, must be equal. - } - - - virtual bool getModeUsage(StateAttribute::ModeUsage& usage) const - { - usage.usesMode(GL_SCISSOR_TEST); - return true; - } - - inline void setScissor(int x,int y,int width,int height) - { - _x = x; - _y = y; - _width = width; - _height = height; - } - - void getScissor(int& x,int& y,int& width,int& height) const - { - x = _x; - y = _y; - width = _width; - height = _height; - } - - inline int& x() { return _x; } - inline int x() const { return _x; } - - inline int& y() { return _y; } - inline int y() const { return _y; } - - inline int& width() { return _width; } - inline int width() const { return _width; } - - inline int& height() { return _height; } - inline int height() const { return _height; } - - virtual void apply(State& state) const; - - protected: - - virtual ~Scissor(); - - int _x; - int _y; - int _width; - int _height; - -}; - -} - -#endif diff --git a/src/osg/osg/ScriptEngine b/src/osg/osg/ScriptEngine deleted file mode 100644 index ce08ef62..00000000 --- a/src/osg/osg/ScriptEngine +++ /dev/null @@ -1,122 +0,0 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2013 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or - * (at your option) any later version. The full license is in LICENSE file - * included with this distribution, and on the openscenegraph.org website. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * OpenSceneGraph Public License for more details. -*/ - -#ifndef OSG_SCRIPTENGINE -#define OSG_SCRIPTENGINE 1 - -#include -#include -#include -#include - -namespace osg -{ - -// forward declare -class ScriptEngine; - -/* Script class for wrapping a script and the language used in the script.*/ -class Script : public osg::Object -{ - public: - Script():_modifiedCount(0) {} - Script(const std::string& language, const std::string& str): _language(language), _script(str), _modifiedCount(0) {} - Script(const Script& rhs, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY): osg::Object(rhs,copyop), _language(rhs._language), _script(rhs._script), _modifiedCount(0) {} - - META_Object(osg, Script) - - void setLanguage(const std::string& language) { _language = language; dirty(); } - const std::string& getLanguage() { return _language; } - - void setScript(const std::string& str) { _script = str; dirty(); } - const std::string& getScript() const { return _script; } - - void dirty() { ++_modifiedCount; } - unsigned int getModifiedCount() const { return _modifiedCount; } - - protected: - - virtual ~Script() {} - - std::string _language; - std::string _script; - unsigned int _modifiedCount; -}; - - -/** NodeCallback for attaching a script to a NodeCallback so that it can be called as an update or event callback.*/ -class OSG_EXPORT ScriptNodeCallback : public osg::NodeCallback -{ - public: - ScriptNodeCallback(Script* script=0, const std::string& entryPoint="") : _script(script), _entryPoint(entryPoint) {} - ScriptNodeCallback(const ScriptNodeCallback& rhs, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY): - osg::Object(rhs,copyop), - osg::Callback(rhs,copyop), - osg::NodeCallback(rhs,copyop), _script(rhs._script) {} - - META_Object(osg, ScriptNodeCallback) - - /** Set the script to call.*/ - void setScript(osg::Script* script) { _script = script; } - - /** Get the script to call.*/ - osg::Script* getScript() { return _script.get(); } - - /** Get the script to call.*/ - const osg::Script* getScript() const { return _script.get(); } - - /** find the ScriptEngine from looking at the UserDataContainers of nodes in scene graph above the ScriptCallback.*/ - osg::ScriptEngine* getScriptEngine(osg::NodePath& nodePath); - - /** NodeCallback method, calls the Script.*/ - virtual void operator()(osg::Node* node, osg::NodeVisitor* nv); - - protected: - - virtual ~ScriptNodeCallback() {} - - osg::ref_ptr