1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-11-28 05:34:47 +01:00

Compare commits

...

3 Commits

Author SHA1 Message Date
a48b46d0fb Refactoring
Moved Projection::Method and Projection::Setup to the Conversion class
2024-03-19 22:39:42 +01:00
bd8d2267c7 Check if the conversion is valid/exists when loading the PCS entry 2024-03-19 19:12:47 +01:00
48396e254b Added missing projections definitions + removed unsupported PCSs 2024-03-19 19:11:56 +01:00
19 changed files with 560 additions and 331 deletions

View File

@ -2116,7 +2116,6 @@ UCS-2000 / Ukraine TM zone 12,6386,5561,6379
UCS-2000 / Ukraine TM zone 13,6387,5561,6380 UCS-2000 / Ukraine TM zone 13,6387,5561,6380
Cayman Islands National Grid 2011,6391,6135,6390 Cayman Islands National Grid 2011,6391,6135,6390
NAD83(2011) / Alaska Albers,6393,6318,15021 NAD83(2011) / Alaska Albers,6393,6318,15021
NAD83(2011) / Alaska zone 1,6394,6318,15031
NAD83(2011) / Alaska zone 2,6395,6318,15032 NAD83(2011) / Alaska zone 2,6395,6318,15032
NAD83(2011) / Alaska zone 3,6396,6318,15033 NAD83(2011) / Alaska zone 3,6396,6318,15033
NAD83(2011) / Alaska zone 4,6397,6318,15034 NAD83(2011) / Alaska zone 4,6397,6318,15034
@ -2219,7 +2218,6 @@ NAD83(2011) / Michigan Central,6493,6318,12142
NAD83(2011) / Michigan Central (ft),6494,6318,15334 NAD83(2011) / Michigan Central (ft),6494,6318,15334
NAD83(2011) / Michigan North,6495,6318,12141 NAD83(2011) / Michigan North,6495,6318,12141
NAD83(2011) / Michigan North (ft),6496,6318,15333 NAD83(2011) / Michigan North (ft),6496,6318,15333
NAD83(2011) / Michigan Oblique Mercator,6497,6318,12150
NAD83(2011) / Michigan South,6498,6318,12143 NAD83(2011) / Michigan South,6498,6318,12143
NAD83(2011) / Michigan South (ft),6499,6318,15335 NAD83(2011) / Michigan South (ft),6499,6318,15335
NAD83(2011) / Minnesota Central,6500,6318,12232 NAD83(2011) / Minnesota Central,6500,6318,12232
@ -2378,8 +2376,6 @@ NAD83(2011) / Oregon Canyonville-Grants Pass zone (m),6802,6318,6749
NAD83(2011) / Oregon Canyonville-Grants Pass zone (ft),6803,6318,6750 NAD83(2011) / Oregon Canyonville-Grants Pass zone (ft),6803,6318,6750
NAD83(2011) / Oregon Columbia River East zone (m),6806,6318,6751 NAD83(2011) / Oregon Columbia River East zone (m),6806,6318,6751
NAD83(2011) / Oregon Columbia River East zone (ft),6807,6318,6752 NAD83(2011) / Oregon Columbia River East zone (ft),6807,6318,6752
NAD83(2011) / Oregon Columbia River West zone (m),6810,6318,6753
NAD83(2011) / Oregon Columbia River West zone (ft),6811,6318,6754
NAD83(2011) / Oregon Cottage Grove-Canyonville zone (m),6814,6318,6755 NAD83(2011) / Oregon Cottage Grove-Canyonville zone (m),6814,6318,6755
NAD83(2011) / Oregon Cottage Grove-Canyonville zone (ft),6815,6318,6756 NAD83(2011) / Oregon Cottage Grove-Canyonville zone (ft),6815,6318,6756
NAD83(2011) / Oregon Dufur-Madras zone (m),6818,6318,6757 NAD83(2011) / Oregon Dufur-Madras zone (m),6818,6318,6757
@ -2394,8 +2390,6 @@ NAD83(2011) / Oregon La Grande zone (m),6834,6318,6765
NAD83(2011) / Oregon La Grande zone (ft),6835,6318,6766 NAD83(2011) / Oregon La Grande zone (ft),6835,6318,6766
NAD83(2011) / Oregon Ontario zone (m),6838,6318,6767 NAD83(2011) / Oregon Ontario zone (m),6838,6318,6767
NAD83(2011) / Oregon Ontario zone (ft),6839,6318,6768 NAD83(2011) / Oregon Ontario zone (ft),6839,6318,6768
NAD83(2011) / Oregon Coast zone (m),6842,6318,6769
NAD83(2011) / Oregon Coast zone (ft),6843,6318,6770
NAD83(2011) / Oregon Pendleton zone (m),6846,6318,6771 NAD83(2011) / Oregon Pendleton zone (m),6846,6318,6771
NAD83(2011) / Oregon Pendleton zone (ft),6847,6318,6772 NAD83(2011) / Oregon Pendleton zone (ft),6847,6318,6772
NAD83(2011) / Oregon Pendleton-La Grande zone (m),6850,6318,6773 NAD83(2011) / Oregon Pendleton-La Grande zone (m),6850,6318,6773
@ -2963,7 +2957,6 @@ Pulkovo 1995 / Gauss-Kruger zone 29,20029,4200,16229
Pulkovo 1995 / Gauss-Kruger zone 30,20030,4200,16230 Pulkovo 1995 / Gauss-Kruger zone 30,20030,4200,16230
Pulkovo 1995 / Gauss-Kruger zone 31,20031,4200,16231 Pulkovo 1995 / Gauss-Kruger zone 31,20031,4200,16231
Pulkovo 1995 / Gauss-Kruger zone 32,20032,4200,16232 Pulkovo 1995 / Gauss-Kruger zone 32,20032,4200,16232
NAD83(2011) / Amtrak NECCS21 (ft),20050,6318,10148
Pulkovo 1995 / Gauss-Kruger 4N,20064,4200,16304 Pulkovo 1995 / Gauss-Kruger 4N,20064,4200,16304
Pulkovo 1995 / Gauss-Kruger 5N,20065,4200,16305 Pulkovo 1995 / Gauss-Kruger 5N,20065,4200,16305
Pulkovo 1995 / Gauss-Kruger 6N,20066,4200,16306 Pulkovo 1995 / Gauss-Kruger 6N,20066,4200,16306
@ -3150,39 +3143,6 @@ ED50 / TM 0 N,23090,4230,16400
ED50 / TM 5 NE,23095,4230,16405 ED50 / TM 5 NE,23095,4230,16405
Fahud / UTM zone 39N,23239,4232,16039 Fahud / UTM zone 39N,23239,4232,16039
Fahud / UTM zone 40N,23240,4232,16040 Fahud / UTM zone 40N,23240,4232,16040
NAD83(2011) / ICS83-Freeport (ftUS),23301,6318,11264
NAD83(2011) / ICS83-Rockford (ftUS),23302,6318,11265
NAD83(2011) / ICS83-Aurora (ftUS),23303,6318,11233
NAD83(2011) / ICS83-Chicago (ftUS),23304,6318,11234
NAD83(2011) / ICS83-Moline (ftUS),23305,6318,11235
NAD83(2011) / ICS83-Sterling (ftUS),23306,6318,11236
NAD83(2011) / ICS83-Ottawa (ftUS),23307,6318,11237
NAD83(2011) / ICS83-Joliet (ftUS),23308,6318,11238
NAD83(2011) / ICS83-Monmouth (ftUS),23309,6318,11239
NAD83(2011) / ICS83-Galesburg (ftUS),23310,6318,11240
NAD83(2011) / ICS83-Peoria (ftUS),23311,6318,11241
NAD83(2011) / ICS83-Eureka (ftUS),23312,6318,11242
NAD83(2011) / ICS83-Bloomington (ftUS),23313,6318,11243
NAD83(2011) / ICS83-Pontiac (ftUS),23314,6318,11244
NAD83(2011) / ICS83-Watseka (ftUS),23315,6318,11245
NAD83(2011) / ICS83-Quincy (ftUS),23316,6318,11246
NAD83(2011) / ICS83-Macomb (ftUS),23317,6318,11247
NAD83(2011) / ICS83-Lincoln (ftUS),23318,6318,11248
NAD83(2011) / ICS83-Decatur (ftUS),23319,6318,11249
NAD83(2011) / ICS83-Champaign (ftUS),23320,6318,11250
NAD83(2011) / ICS83-Jacksonville (ftUS),23321,6318,11251
NAD83(2011) / ICS83-Springfield (ftUS),23322,6318,11252
NAD83(2011) / ICS83-Charleston (ftUS),23323,6318,11253
NAD83(2011) / ICS83-Jerseyville (ftUS),23324,6318,11254
NAD83(2011) / ICS83-Carlinville (ftUS),23325,6318,11255
NAD83(2011) / ICS83-Taylorville (ftUS),23326,6318,11256
NAD83(2011) / ICS83-Effingham (ftUS),23327,6318,11257
NAD83(2011) / ICS83-Robinson (ftUS),23328,6318,11258
NAD83(2011) / ICS83-Belleville (ftUS),23329,6318,11259
NAD83(2011) / ICS83-Mount Vernon (ftUS),23330,6318,11260
NAD83(2011) / ICS83-Olney (ftUS),23331,6318,11261
NAD83(2011) / ICS83-Carbondale (ftUS),23332,6318,11262
NAD83(2011) / ICS83-Metropolis (ftUS),23333,6318,11263
HD72 / EOV,23700,4237,19931 HD72 / EOV,23700,4237,19931
DGN95 / Indonesia TM-3 zone 46.2,23830,4755,17432 DGN95 / Indonesia TM-3 zone 46.2,23830,4755,17432
DGN95 / Indonesia TM-3 zone 47.1,23831,4755,17433 DGN95 / Indonesia TM-3 zone 47.1,23831,4755,17433

1 Antigua 1943 / British West Indies Grid 2001 4601 19942
2116 UCS-2000 / Ukraine TM zone 13 6387 5561 6380
2117 Cayman Islands National Grid 2011 6391 6135 6390
2118 NAD83(2011) / Alaska Albers 6393 6318 15021
NAD83(2011) / Alaska zone 1 6394 6318 15031
2119 NAD83(2011) / Alaska zone 2 6395 6318 15032
2120 NAD83(2011) / Alaska zone 3 6396 6318 15033
2121 NAD83(2011) / Alaska zone 4 6397 6318 15034
2218 NAD83(2011) / Michigan Central (ft) 6494 6318 15334
2219 NAD83(2011) / Michigan North 6495 6318 12141
2220 NAD83(2011) / Michigan North (ft) 6496 6318 15333
NAD83(2011) / Michigan Oblique Mercator 6497 6318 12150
2221 NAD83(2011) / Michigan South 6498 6318 12143
2222 NAD83(2011) / Michigan South (ft) 6499 6318 15335
2223 NAD83(2011) / Minnesota Central 6500 6318 12232
2376 NAD83(2011) / Oregon Canyonville-Grants Pass zone (ft) 6803 6318 6750
2377 NAD83(2011) / Oregon Columbia River East zone (m) 6806 6318 6751
2378 NAD83(2011) / Oregon Columbia River East zone (ft) 6807 6318 6752
NAD83(2011) / Oregon Columbia River West zone (m) 6810 6318 6753
NAD83(2011) / Oregon Columbia River West zone (ft) 6811 6318 6754
2379 NAD83(2011) / Oregon Cottage Grove-Canyonville zone (m) 6814 6318 6755
2380 NAD83(2011) / Oregon Cottage Grove-Canyonville zone (ft) 6815 6318 6756
2381 NAD83(2011) / Oregon Dufur-Madras zone (m) 6818 6318 6757
2390 NAD83(2011) / Oregon La Grande zone (ft) 6835 6318 6766
2391 NAD83(2011) / Oregon Ontario zone (m) 6838 6318 6767
2392 NAD83(2011) / Oregon Ontario zone (ft) 6839 6318 6768
NAD83(2011) / Oregon Coast zone (m) 6842 6318 6769
NAD83(2011) / Oregon Coast zone (ft) 6843 6318 6770
2393 NAD83(2011) / Oregon Pendleton zone (m) 6846 6318 6771
2394 NAD83(2011) / Oregon Pendleton zone (ft) 6847 6318 6772
2395 NAD83(2011) / Oregon Pendleton-La Grande zone (m) 6850 6318 6773
2957 Pulkovo 1995 / Gauss-Kruger zone 30 20030 4200 16230
2958 Pulkovo 1995 / Gauss-Kruger zone 31 20031 4200 16231
2959 Pulkovo 1995 / Gauss-Kruger zone 32 20032 4200 16232
NAD83(2011) / Amtrak NECCS21 (ft) 20050 6318 10148
2960 Pulkovo 1995 / Gauss-Kruger 4N 20064 4200 16304
2961 Pulkovo 1995 / Gauss-Kruger 5N 20065 4200 16305
2962 Pulkovo 1995 / Gauss-Kruger 6N 20066 4200 16306
3143 ED50 / TM 5 NE 23095 4230 16405
3144 Fahud / UTM zone 39N 23239 4232 16039
3145 Fahud / UTM zone 40N 23240 4232 16040
NAD83(2011) / ICS83-Freeport (ftUS) 23301 6318 11264
NAD83(2011) / ICS83-Rockford (ftUS) 23302 6318 11265
NAD83(2011) / ICS83-Aurora (ftUS) 23303 6318 11233
NAD83(2011) / ICS83-Chicago (ftUS) 23304 6318 11234
NAD83(2011) / ICS83-Moline (ftUS) 23305 6318 11235
NAD83(2011) / ICS83-Sterling (ftUS) 23306 6318 11236
NAD83(2011) / ICS83-Ottawa (ftUS) 23307 6318 11237
NAD83(2011) / ICS83-Joliet (ftUS) 23308 6318 11238
NAD83(2011) / ICS83-Monmouth (ftUS) 23309 6318 11239
NAD83(2011) / ICS83-Galesburg (ftUS) 23310 6318 11240
NAD83(2011) / ICS83-Peoria (ftUS) 23311 6318 11241
NAD83(2011) / ICS83-Eureka (ftUS) 23312 6318 11242
NAD83(2011) / ICS83-Bloomington (ftUS) 23313 6318 11243
NAD83(2011) / ICS83-Pontiac (ftUS) 23314 6318 11244
NAD83(2011) / ICS83-Watseka (ftUS) 23315 6318 11245
NAD83(2011) / ICS83-Quincy (ftUS) 23316 6318 11246
NAD83(2011) / ICS83-Macomb (ftUS) 23317 6318 11247
NAD83(2011) / ICS83-Lincoln (ftUS) 23318 6318 11248
NAD83(2011) / ICS83-Decatur (ftUS) 23319 6318 11249
NAD83(2011) / ICS83-Champaign (ftUS) 23320 6318 11250
NAD83(2011) / ICS83-Jacksonville (ftUS) 23321 6318 11251
NAD83(2011) / ICS83-Springfield (ftUS) 23322 6318 11252
NAD83(2011) / ICS83-Charleston (ftUS) 23323 6318 11253
NAD83(2011) / ICS83-Jerseyville (ftUS) 23324 6318 11254
NAD83(2011) / ICS83-Carlinville (ftUS) 23325 6318 11255
NAD83(2011) / ICS83-Taylorville (ftUS) 23326 6318 11256
NAD83(2011) / ICS83-Effingham (ftUS) 23327 6318 11257
NAD83(2011) / ICS83-Robinson (ftUS) 23328 6318 11258
NAD83(2011) / ICS83-Belleville (ftUS) 23329 6318 11259
NAD83(2011) / ICS83-Mount Vernon (ftUS) 23330 6318 11260
NAD83(2011) / ICS83-Olney (ftUS) 23331 6318 11261
NAD83(2011) / ICS83-Carbondale (ftUS) 23332 6318 11262
NAD83(2011) / ICS83-Metropolis (ftUS) 23333 6318 11263
3146 HD72 / EOV 23700 4237 19931
3147 DGN95 / Indonesia TM-3 zone 46.2 23830 4755 17432
3148 DGN95 / Indonesia TM-3 zone 47.1 23831 4755 17433

View File

@ -283,6 +283,42 @@ Map Grid of Australia zone 44,6728,9001,9807,4400,8801,0,9102,8802,81,9102,8805,
Map Grid of Australia zone 46,6729,9001,9807,4400,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, Map Grid of Australia zone 46,6729,9001,9807,4400,8801,0,9102,8802,93,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,
Map Grid of Australia zone 47,6730,9001,9807,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, Map Grid of Australia zone 47,6730,9001,9807,4400,8801,0,9102,8802,99,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,
Map Grid of Australia zone 59,6731,9001,9807,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,, Map Grid of Australia zone 59,6731,9001,9807,4400,8801,0,9102,8802,171,9102,8805,0.9996,9201,8806,500000,9001,8807,10000000,9001,,,,,,
Oregon Baker zone (meter),6741,9001,9807,4499,8801,44.3,9110,8802,-117.5,9110,8805,1.00016,9201,8806,40000.0,9001,8807,0.0,9001,,,,,,
Oregon Baker zone (international foot),6742,9002,9807,4495,8801,44.3,9110,8802,-117.5,9110,8805,1.00016,9201,8806,131233.5958,9002,8807,0.0,9002,,,,,,
Oregon Bend-Klamath Falls zone (meter),6743,9001,9807,4499,8801,41.45,9110,8802,-121.45,9110,8805,1.0002,9201,8806,80000.0,9001,8807,0.0,9001,,,,,,
Oregon Bend-Klamath Falls zone (international foot),6744,9002,9807,4495,8801,41.45,9110,8802,-121.45,9110,8805,1.0002,9201,8806,262467.1916,9002,8807,0.0,9002,,,,,,
Oregon Bend-Redmond-Prineville zone (meter),6745,9001,9801,4499,8801,44.4,9110,8802,-121.15,9110,8805,1.00012,9201,8806,80000.0,9001,8807,130000.0,9001,,,,,,
Oregon Bend-Redmond-Prineville zone (international foot),6746,9002,9801,4495,8801,44.4,9110,8802,-121.15,9110,8805,1.00012,9201,8806,262467.1916,9002,8807,426509.1864,9002,,,,,,
Oregon Bend-Burns zone (meter),6747,9001,9801,4499,8801,43.4,9110,8802,-119.45,9110,8805,1.0002,9201,8806,120000.0,9001,8807,60000.0,9001,,,,,,
Oregon Bend-Burns zone (international foot),6748,9002,9801,4495,8801,43.4,9110,8802,-119.45,9110,8805,1.0002,9201,8806,393700.7874,9002,8807,196850.3937,9002,,,,,,
Oregon Canyonville-Grants Pass zone (meter),6749,9001,9807,4499,8801,42.3,9110,8802,-123.2,9110,8805,1.00007,9201,8806,40000.0,9001,8807,0.0,9001,,,,,,
Oregon Canyonville-Grants Pass zone (international foot),6750,9002,9807,4495,8801,42.3,9110,8802,-123.2,9110,8805,1.00007,9201,8806,131233.5958,9002,8807,0.0,9002,,,,,,
Oregon Columbia River East zone (meter),6751,9001,9801,4499,8801,45.4,9110,8802,-120.3,9110,8805,1.000008,9201,8806,150000.0,9001,8807,30000.0,9001,,,,,,
Oregon Columbia River East zone (international foot),6752,9002,9801,4495,8801,45.4,9110,8802,-120.3,9110,8805,1.000008,9201,8806,492125.9843,9002,8807,98425.1969,9002,,,,,,
Oregon Cottage Grove-Canyonville zone (meter),6755,9001,9807,4499,8801,42.5,9110,8802,-123.2,9110,8805,1.000023,9201,8806,50000.0,9001,8807,0.0,9001,,,,,,
Oregon Cottage Grove-Canyonville zone (international foot),6756,9002,9807,4495,8801,42.5,9110,8802,-123.2,9110,8805,1.000023,9201,8806,164041.9948,9002,8807,0.0,9002,,,,,,
Oregon Dufur-Madras zone (meter),6757,9001,9807,4499,8801,44.3,9110,8802,-121.0,9110,8805,1.00011,9201,8806,80000.0,9001,8807,0.0,9001,,,,,,
Oregon Dufur-Madras zone (international foot),6758,9002,9807,4495,8801,44.3,9110,8802,-121.0,9110,8805,1.00011,9201,8806,262467.1916,9002,8807,0.0,9002,,,,,,
Oregon Eugene zone (meter),6759,9001,9807,4499,8801,43.45,9110,8802,-123.1,9110,8805,1.000015,9201,8806,50000.0,9001,8807,0.0,9001,,,,,,
Oregon Eugene zone (international foot),6760,9002,9807,4495,8801,43.45,9110,8802,-123.1,9110,8805,1.000015,9201,8806,164041.9948,9002,8807,0.0,9002,,,,,,
Oregon Grants Pass-Ashland zone (meter),6761,9001,9807,4499,8801,41.45,9110,8802,-123.2,9110,8805,1.000043,9201,8806,50000.0,9001,8807,0.0,9001,,,,,,
Oregon Grants Pass-Ashland zone (international foot),6762,9002,9807,4495,8801,41.45,9110,8802,-123.2,9110,8805,1.000043,9201,8806,164041.9948,9002,8807,0.0,9002,,,,,,
Oregon Gresham-Warm Springs zone (meter),6763,9001,9807,4499,8801,45.0,9110,8802,-122.2,9110,8805,1.00005,9201,8806,10000.0,9001,8807,0.0,9001,,,,,,
Oregon Gresham-Warm Springs zone (international foot),6764,9002,9807,4495,8801,45.0,9110,8802,-122.2,9110,8805,1.00005,9201,8806,32808.399,9002,8807,0.0,9002,,,,,,
Oregon La Grande zone (meter),6765,9001,9807,4499,8801,45.0,9102,8802,-118.0,9102,8805,1.00013,9201,8806,40000.0,9001,8807,0.0,9001,,,,,,
Oregon La Grande zone (international foot),6766,9002,9807,4495,8801,45.0,9102,8802,-118.0,9102,8805,1.00013,9201,8806,131233.5958,9002,8807,0.0,9002,,,,,,
Oregon Ontario zone (meter),6767,9001,9807,4499,8801,43.15,9110,8802,-117.0,9110,8805,1.0001,9201,8806,80000.0,9001,8807,0.0,9001,,,,,,
Oregon Ontario zone (international foot),6768,9002,9807,4495,8801,43.15,9110,8802,-117.0,9110,8805,1.0001,9201,8806,262467.1916,9002,8807,0.0,9002,,,,,,
Oregon Pendleton zone (meter),6771,9001,9807,4499,8801,45.15,9110,8802,-119.1,9110,8805,1.000045,9201,8806,60000.0,9001,8807,0.0,9001,,,,,,
Oregon Pendleton zone (international foot),6772,9001,9807,4495,8801,45.15,9110,8802,-119.1,9110,8805,1.000045,9201,8806,196850.3937,9002,8807,0.0,9002,,,,,,
Oregon Pendleton-La Grande zone (meter),6773,9001,9807,4499,8801,45.05,9110,8802,-118.2,9110,8805,1.000175,9201,8806,30000.0,9001,8807,0.0,9001,,,,,,
Oregon Pendleton-La Grande zone (international foot),6774,9002,9807,4495,8801,45.05,9110,8802,-118.2,9110,8805,1.000175,9201,8806,98425.1969,9002,8807,0.0,9002,,,,,,
Oregon Portland zone (meter),6775,9001,9801,4499,8801,45.3,9110,8802,-122.45,9110,8805,1.000002,9201,8806,100000.0,9001,8807,50000.0,9001,,,,,,
Oregon Portland zone (international foot),6776,9002,9801,4495,8801,45.3,9110,8802,-122.45,9110,8805,1.000002,9201,8806,328083.9895,9002,8807,164041.9948,9002,,,,,,
Oregon Salem zone (meter),6777,9001,9807,4499,8801,44.2,9110,8802,-123.05,9110,8805,1.00001,9201,8806,50000.0,9001,8807,0.0,9001,,,,,,
Oregon Salem zone (international foot),6778,9002,9807,4495,8801,44.2,9110,8802,-123.05,9110,8805,1.00001,9201,8806,164041.9948,9002,8807,0.0,9002,,,,,,
Oregon Santiam Pass zone (meter),6779,9001,9807,4499,8801,44.05,9110,8802,-122.3,9110,8805,1.000155,9201,8806,0.0,9001,8807,0.0,9001,,,,,,
Oregon Santiam Pass zone (international foot),6780,9002,9807,4495,8801,44.05,9110,8802,-122.3,9110,8805,1.000155,9201,8806,0.0,9002,8807,0.0,9002,,,,,,
Albania TM 2010,6869,9001,9807,4530,8801,0,9102,8802,20,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,, Albania TM 2010,6869,9001,9807,4530,8801,0,9102,8802,20,9102,8805,1,9201,8806,500000,9001,8807,0,9001,,,,,,
Italy zone,6877,9001,9807,4500,8801,0,9102,8802,12,9102,8805,0.9985,9201,8806,7000000,9001,8807,0,9001,,,,,, Italy zone,6877,9001,9807,4500,8801,0,9102,8802,12,9102,8805,0.9985,9201,8806,7000000,9001,8807,0,9001,,,,,,
Italy zone 12,6878,9001,9807,4500,8801,0,9102,8802,12,9102,8805,1,9201,8806,3000000,9001,8807,0,9001,,,,,, Italy zone 12,6878,9001,9807,4500,8801,0,9102,8802,12,9102,8805,1,9201,8806,3000000,9001,8807,0,9001,,,,,,
@ -295,7 +331,159 @@ Vietnam TM-3 zone 482,6953,9001,9807,4400,8801,0,9102,8802,105,9102,8805,0.9999,
Vietnam TM-3 zone 491,6954,9001,9807,4400,8801,0,9102,8802,108,9102,8805,0.9999,9201,8806,0,9001,8807,500000,9001,,,,,, Vietnam TM-3 zone 491,6954,9001,9807,4400,8801,0,9102,8802,108,9102,8805,0.9999,9201,8806,0,9001,8807,500000,9001,,,,,,
Vietnam TM-3 Da Nang zone,6955,9001,9807,4400,8801,0,9110,8802,107.45,9110,8805,0.9999,9201,8806,0,9001,8807,500000,9001,,,,,, Vietnam TM-3 Da Nang zone,6955,9001,9807,4400,8801,0,9110,8802,107.45,9110,8805,0.9999,9201,8806,0,9001,8807,500000,9001,,,,,,
Albania LCC 2010,6961,9001,9802,4530,8821,41,9102,8822,20,9102,8823,39,9102,8824,43,9102,8826,0,9001,8827,0,9001,,, Albania LCC 2010,6961,9001,9802,4530,8821,41,9102,8822,20,9102,8823,39,9102,8824,43,9102,8826,0,9001,8827,0,9001,,,
City and County of San Francisco CS13 (meters),6994,9001,9807,4499,8801,37.75,9102,8802,-122.45,9102,8805,1.000007,9202,8806,48000.0,9001,8807,24000.0,9001,,,,,,
City and County of San Francisco CS13 (US Survey feet),6995,9003,9807,4497,8801,37.75,9102,8802,-122.45,9102,8805,1.000007,9202,8806,157480.0,9003,8807,78740.0,9003,,,,,,
Iowa regional zone 1 Spencer,7043,9003,9801,4497,8801,43.12,9110,8802,-95.15,9110,8805,1.000052,9201,8806,11500000.0,9003,8807,9600000.0,9003,,,,,,
Iowa regional zone 2 Mason City,7044,9003,9801,4497,8801,43.1,9110,8802,-92.45,9110,8805,1.000043,9201,8806,12500000.0,9003,8807,9800000.0,9003,,,,,,
Iowa regional zone 3 Elkader,7045,9003,9807,4497,8801,40.15,9110,8802,-91.12,9110,8805,1.000035,9201,8806,13500000.0,9003,8807,8300000.0,9003,,,,,,
Iowa regional zone 4 Sioux City-Iowa Falls,7046,9003,9801,4497,8801,42.32,9110,8802,-94.5,9110,8805,1.000045,9201,8806,14500000.0,9003,8807,8600000.0,9003,,,,,,
Iowa regional zone 5 Waterloo,7047,9003,9801,4497,8801,42.39,9110,8802,-92.15,9110,8805,1.000032,9201,8806,15500000.0,9003,8807,8900000.0,9003,,,,,,
Iowa regional zone 6 Council Bluffs,7048,9003,9807,4497,8801,40.15,9110,8802,-95.44,9110,8805,1.000039,9201,8806,16500000.0,9003,8807,6600000.0,9003,,,,,,
Iowa regional zone 7 Carroll-Atlantic,7049,9003,9807,4497,8801,40.15,9110,8802,-94.38,9110,8805,1.000045,9201,8806,17500000.0,9003,8807,6800000.0,9003,,,,,,
Iowa regional zone 8 Ames-Des Moines,7050,9003,9807,4497,8801,40.15,9110,8802,-93.43,9110,8805,1.000033,9201,8806,18500000.0,9003,8807,7000000.0,9003,,,,,,
Iowa regional zone 9 Newton,7051,9003,9807,4497,8801,40.15,9110,8802,-92.49,9110,8805,1.000027,9201,8806,19500000.0,9003,8807,7200000.0,9003,,,,,,
Iowa regional zone 10 Cedar Rapids,7052,9003,9801,4497,8801,41.5,9110,8802,-91.4,9110,8805,1.00002,9201,8806,20500000.0,9003,8807,8000000.0,9003,,,,,,
Iowa regional zone 11 Dubuque-Davenport,7053,9003,9807,4497,8801,40.15,9110,8802,-90.32,9110,8805,1.000027,9201,8806,21500000.0,9003,8807,7600000.0,9003,,,,,,
Iowa regional zone 12 Red Oak-Ottumwa,7054,9003,9801,4497,8801,40.55,9110,8802,-93.45,9110,8805,1.000037,9201,8806,22500000.0,9003,8807,6200000.0,9003,,,,,,
Iowa regional zone 13 Fairfield,7055,9003,9807,4497,8801,40.15,9110,8802,-91.55,9110,8805,1.00002,9201,8806,23500000.0,9003,8807,6400000.0,9003,,,,,,
Iowa regional zone 14 Burlington,7056,9003,9807,4497,8801,40.15,9110,8802,-91.15,9110,8805,1.000018,9201,8806,24500000.0,9003,8807,6200000.0,9003,,,,,,
Montana Blackfeet St Mary Valley (meter),7089,9001,9807,4499,8801,48.3,9110,8802,-112.3,9110,8805,1.00016,9201,8806,150000.0,9001,8807,0.0,9001,,,,,,
Montana Blackfeet St Mary Valley (international foot),7090,9002,9807,4495,8801,48.3,9110,8802,-112.3,9110,8805,1.00016,9201,8806,492125.9843,9002,8807,0.0,9002,,,,,,
Montana Blackfeet (meter),7091,9001,9807,4499,8801,48.0,9110,8802,-112.3,9110,8805,1.00019,9201,8806,100000.0,9001,8807,0.0,9001,,,,,,
Montana Blackfeet (international foot),7092,9002,9807,4495,8801,48.0,9110,8802,-112.3,9110,8805,1.00019,9201,8806,328083.9895,9002,8807,0.0,9002,,,,,,
Montana Milk River (meter),7093,9001,9801,4499,8801,48.3,9110,8802,-111.0,9110,8805,1.000145,9201,8806,150000.0,9001,8807,200000.0,9001,,,,,,
Montana Milk River (international foot),7094,9002,9801,4495,8801,48.3,9110,8802,-111.0,9110,8805,1.000145,9201,8806,492125.9843,9002,8807,656167.979,9002,,,,,,
Montana Fort Belknap (meter),7095,9001,9801,4499,8801,48.3,9110,8802,-108.3,9110,8805,1.00012,9201,8806,200000.0,9001,8807,150000.0,9001,,,,,,
Montana Fort Belknap (international foot),7096,9002,9801,4495,8801,48.3,9110,8802,-108.3,9110,8805,1.00012,9201,8806,656167.979,9002,8807,492125.9843,9002,,,,,,
Montana Fort Peck Assiniboine (meter),7097,9001,9801,4499,8801,48.2,9110,8802,-105.3,9110,8805,1.00012,9201,8806,200000.0,9001,8807,100000.0,9001,,,,,,
Montana Fort Peck Assiniboine (international foot),7098,9002,9801,4495,8801,48.2,9110,8802,-105.3,9110,8805,1.00012,9201,8806,656167.979,9002,8807,328083.9895,9002,,,,,,
Montana Fort Peck Sioux (meter),7099,9001,9801,4499,8801,48.2,9110,8802,-105.3,9110,8805,1.00009,9201,8806,100000.0,9001,8807,50000.0,9001,,,,,,
Montana Fort Peck Sioux (international foot),7100,9002,9801,4495,8801,48.2,9110,8802,-105.3,9110,8805,1.00009,9201,8806,328083.9895,9002,8807,164041.9938,9002,,,,,,
Montana Crow (meter),7101,9001,9807,4499,8801,44.45,9110,8802,-107.45,9110,8805,1.000148,9201,8806,200000.0,9001,8807,0.0,9001,,,,,,
Montana Crow (international foot),7102,9002,9807,4495,8801,44.45,9110,8802,-107.45,9110,8805,1.000148,9201,8806,656167.979,9002,8807,0.0,9002,,,,,,
Montana Bobcat (meter),7103,9001,9801,4499,8801,46.15,9110,8802,-111.15,9110,8805,1.000185,9201,8806,100000.0,9001,8807,100000.0,9001,,,,,,
Montana Bobcat (international foot),7104,9002,9801,4495,8801,46.15,9110,8802,-111.15,9110,8805,1.000185,9201,8806,328083.9895,9002,8807,328083.9895,9002,,,,,,
Montana Billings (meter),7105,9001,9801,4499,8801,45.47,9110,8802,-108.25,9110,8805,1.0001515,9201,8806,200000.0,9001,8807,50000.0,9001,,,,,,
Montana Billings (international foot),7106,9002,9801,4495,8801,45.47,9110,8802,-108.25,9110,8805,1.0001515,9201,8806,656167.979,9002,8807,164041.9948,9002,,,,,,
Wyoming Wind River (meter),7107,9001,9807,4499,8801,42.4,9110,8802,-108.2,9110,8805,1.00024,9201,8806,100000.0,9001,8807,0.0,9001,,,,,,
Wyoming Wind River (US survey foot),7108,9003,9807,4497,8801,42.4,9110,8802,-108.2,9110,8805,1.00024,9201,8806,328083.3333,9003,8807,0.0,9003,,,,,,
City and County of San Francisco CS13 (meter),7129,9001,9807,4499,8801,37.75,9102,8802,-122.45,9102,8805,1.000007,9201,8806,48000.0,9001,8807,24000.0,9001,,,,,,
City and County of San Francisco CS13 (US survey foot),7130,9003,9807,4497,8801,37.75,9102,8802,-122.45,9102,8805,1.000007,9201,8806,157480.0,9003,8807,78740.0,9003,,,,,,
Palestine Grid modified,7141,9001,9807,4400,8801,31.4402749,9110,8802,35.124349,9110,8805,1,9201,8806,170251.555,9001,8807,126867.909,9001,,,,,, Palestine Grid modified,7141,9001,9807,4400,8801,31.4402749,9110,8802,35.124349,9110,8805,1,9201,8806,170251.555,9001,8807,126867.909,9001,,,,,,
InGCS Adams (m),7143,9001,9807,4499,8801,40.33,9110,8802,-84.57,9110,8805,1.000034,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Adams (ftUS),7144,9003,9807,4497,8801,40.33,9110,8802,-84.57,9110,8805,1.000034,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Allen (m),7145,9001,9807,4499,8801,40.54,9110,8802,-85.03,9110,8805,1.000031,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Allen (ftUS),7146,9003,9807,4497,8801,40.54,9110,8802,-85.03,9110,8805,1.000031,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Bartholomew (m),7147,9001,9807,4499,8801,39.0,9110,8802,-85.51,9110,8805,1.000026,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Bartholomew (ftUS),7148,9003,9807,4497,8801,39.0,9110,8802,-85.51,9110,8805,1.000026,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Benton (m),7149,9001,9807,4499,8801,40.27,9110,8802,-87.18,9110,8805,1.000029,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Benton (ftUS),7150,9003,9807,4497,8801,40.27,9110,8802,-87.18,9110,8805,1.000029,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Blackford-Delaware (m),7151,9001,9807,4499,8801,40.03,9110,8802,-85.24,9110,8805,1.000038,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Blackford-Delaware (ftUS),7152,9003,9807,4497,8801,40.03,9110,8802,-85.24,9110,8805,1.000038,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Boone-Hendricks (m),7153,9001,9807,4499,8801,39.36,9110,8802,-86.3,9110,8805,1.000036,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Boone-Hendricks (ftUS),7154,9003,9807,4497,8801,39.36,9110,8802,-86.3,9110,8805,1.000036,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Brown (m),7155,9001,9807,4499,8801,39.0,9110,8802,-86.18,9110,8805,1.00003,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Brown (ftUS),7156,9003,9807,4497,8801,39.0,9110,8802,-86.18,9110,8805,1.00003,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Carroll (m),7157,9001,9807,4499,8801,40.24,9110,8802,-86.39,9110,8805,1.000026,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Carroll (ftUS),7158,9003,9807,4497,8801,40.24,9110,8802,-86.39,9110,8805,1.000026,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Cass (m),7159,9001,9807,4499,8801,40.33,9110,8802,-86.24,9110,8805,1.000028,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Cass (ftUS),7160,9003,9807,4497,8801,40.33,9110,8802,-86.24,9110,8805,1.000028,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Clark-Floyd-Scott (m),7161,9001,9807,4499,8801,38.09,9110,8802,-85.36,9110,8805,1.000021,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Clark-Floyd-Scott (ftUS),7162,9003,9807,4497,8801,38.09,9110,8802,-85.36,9110,8805,1.000021,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Clay (m),7163,9001,9807,4499,8801,39.09,9110,8802,-87.09,9110,8805,1.000024,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Clay (ftUS),7164,9003,9807,4497,8801,39.09,9110,8802,-87.09,9110,8805,1.000024,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Clinton (m),7165,9001,9807,4499,8801,40.09,9110,8802,-86.36,9110,8805,1.000032,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Clinton (ftUS),7166,9003,9807,4497,8801,40.09,9110,8802,-86.36,9110,8805,1.000032,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Crawford-Lawrence-Orange (m),7167,9001,9807,4499,8801,38.06,9110,8802,-86.3,9110,8805,1.000025,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Crawford-Lawrence-Orange (ftUS),7168,9003,9807,4497,8801,38.06,9110,8802,-86.3,9110,8805,1.000025,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Daviess-Greene (m),7169,9001,9807,4499,8801,38.27,9110,8802,-87.06,9110,8805,1.000018,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Daviess-Greene (ftUS),7170,9003,9807,4497,8801,38.27,9110,8802,-87.06,9110,8805,1.000018,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Dearborn-Ohio-Switzerland (m),7171,9001,9807,4499,8801,38.39,9110,8802,-84.54,9110,8805,1.000029,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Dearborn-Ohio-Switzerland (ftUS),7172,9003,9807,4497,8801,38.39,9110,8802,-84.54,9110,8805,1.000029,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Decatur-Rush (m),7173,9001,9807,4499,8801,39.06,9110,8802,-85.39,9110,8805,1.000036,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Decatur-Rush (ftUS),7174,9003,9807,4497,8801,39.06,9110,8802,-85.39,9110,8805,1.000036,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS DeKalb (m),7175,9001,9807,4499,8801,41.15,9110,8802,-84.57,9110,8805,1.000036,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS DeKalb (ftUS),7176,9003,9807,4497,8801,41.15,9110,8802,-84.57,9110,8805,1.000036,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Dubois-Martin (m),7177,9001,9807,4499,8801,38.12,9110,8802,-86.57,9110,8805,1.00002,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Dubois-Martin (ftUS),7178,9003,9807,4497,8801,38.12,9110,8802,-86.57,9110,8805,1.00002,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Elkhart-Kosciusko-Wabash (m),7179,9001,9807,4499,8801,40.39,9110,8802,-85.51,9110,8805,1.000033,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Elkhart-Kosciusko-Wabash (ftUS),7180,9003,9807,4497,8801,40.39,9110,8802,-85.51,9110,8805,1.000033,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Fayette-Franklin-Union (m),7181,9001,9807,4499,8801,39.15,9110,8802,-85.03,9110,8805,1.000038,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Fayette-Franklin-Union (ftUS),7182,9003,9807,4497,8801,39.15,9110,8802,-85.03,9110,8805,1.000038,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Fountain-Warren (m),7183,9001,9807,4499,8801,39.57,9110,8802,-87.18,9110,8805,1.000025,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Fountain-Warren (ftUS),7184,9003,9807,4497,8801,39.57,9110,8802,-87.18,9110,8805,1.000025,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Fulton-Marshall-St. Joseph (m),7185,9001,9807,4499,8801,40.54,9110,8802,-86.18,9110,8805,1.000031,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Fulton-Marshall-St. Joseph (ftUS),7186,9003,9807,4497,8801,40.54,9110,8802,-86.18,9110,8805,1.000031,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Gibson (m),7187,9001,9807,4499,8801,38.09,9110,8802,-87.39,9110,8805,1.000013,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Gibson (ftUS),7188,9003,9807,4497,8801,38.09,9110,8802,-87.39,9110,8805,1.000013,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Grant (m),7189,9001,9807,4499,8801,40.21,9110,8802,-85.42,9110,8805,1.000034,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Grant (ftUS),7190,9003,9807,4497,8801,40.21,9110,8802,-85.42,9110,8805,1.000034,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Hamilton-Tipton (m),7191,9001,9807,4499,8801,39.54,9110,8802,-86.0,9110,8805,1.000034,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Hamilton-Tipton (ftUS),7192,9003,9807,4497,8801,39.54,9110,8802,-86.0,9110,8805,1.000034,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Hancock-Madison (m),7193,9001,9807,4499,8801,39.39,9110,8802,-85.48,9110,8805,1.000036,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Hancock-Madison (ftUS),7194,9003,9807,4497,8801,39.39,9110,8802,-85.48,9110,8805,1.000036,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Harrison-Washington (m),7195,9001,9807,4499,8801,37.57,9110,8802,-86.09,9110,8805,1.000027,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Harrison-Washington (ftUS),7196,9003,9807,4497,8801,37.57,9110,8802,-86.09,9110,8805,1.000027,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Henry (m),7197,9001,9807,4499,8801,39.45,9110,8802,-85.27,9110,8805,1.000043,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Henry (ftUS),7198,9003,9807,4497,8801,39.45,9110,8802,-85.27,9110,8805,1.000043,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Howard-Miami (m),7199,9001,9807,4499,8801,40.21,9110,8802,-86.09,9110,8805,1.000031,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Howard-Miami (ftUS),7200,9003,9807,4497,8801,40.21,9110,8802,-86.09,9110,8805,1.000031,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Huntington-Whitley (m),7201,9001,9807,4499,8801,40.39,9110,8802,-85.3,9110,8805,1.000034,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Huntington-Whitley (ftUS),7202,9003,9807,4497,8801,40.39,9110,8802,-85.3,9110,8805,1.000034,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Jackson (m),7203,9001,9807,4499,8801,38.42,9110,8802,-85.57,9110,8805,1.000022,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Jackson (ftUS),7204,9003,9807,4497,8801,38.42,9110,8802,-85.57,9110,8805,1.000022,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Jasper-Porter (m),7205,9001,9807,4499,8801,40.42,9110,8802,-87.06,9110,8805,1.000027,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Jasper-Porter (ftUS),7206,9003,9807,4497,8801,40.42,9110,8802,-87.06,9110,8805,1.000027,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Jay (m),7207,9001,9807,4499,8801,40.18,9110,8802,-85.0,9110,8805,1.000038,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Jay (ftUS),7208,9003,9807,4497,8801,40.18,9110,8802,-85.0,9110,8805,1.000038,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Jefferson (m),7209,9001,9807,4499,8801,38.33,9110,8802,-85.21,9110,8805,1.000028,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Jefferson (ftUS),7210,9003,9807,4497,8801,38.33,9110,8802,-85.21,9110,8805,1.000028,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Jennings (m),7211,9001,9807,4499,8801,38.48,9110,8802,-85.48,9110,8805,1.000025,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Jennings (ftUS),7212,9003,9807,4497,8801,38.48,9110,8802,-85.48,9110,8805,1.000025,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Johnson-Marion (m),7213,9001,9807,4499,8801,39.18,9110,8802,-86.09,9110,8805,1.000031,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Johnson-Marion (ftUS),7214,9003,9807,4497,8801,39.18,9110,8802,-86.09,9110,8805,1.000031,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Knox (m),7215,9001,9807,4499,8801,38.24,9110,8802,-87.27,9110,8805,1.000015,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Knox (ftUS),7216,9003,9807,4497,8801,38.24,9110,8802,-87.27,9110,8805,1.000015,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS LaGrange-Noble (m),7217,9001,9807,4499,8801,41.15,9110,8802,-85.27,9110,8805,1.000037,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS LaGrange-Noble (ftUS),7218,9003,9807,4497,8801,41.15,9110,8802,-85.27,9110,8805,1.000037,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Lake-Newton (m),7219,9001,9807,4499,8801,40.42,9110,8802,-87.24,9110,8805,1.000026,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Lake-Newton (ftUS),7220,9003,9807,4497,8801,40.42,9110,8802,-87.24,9110,8805,1.000026,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS LaPorte-Pulaski-Starke (m),7221,9001,9807,4499,8801,40.54,9110,8802,-86.45,9110,8805,1.000027,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS LaPorte-Pulaski-Starke (ftUS),7222,9003,9807,4497,8801,40.54,9110,8802,-86.45,9110,8805,1.000027,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Monroe-Morgan (m),7223,9001,9807,4499,8801,38.57,9110,8802,-86.3,9110,8805,1.000028,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Monroe-Morgan (ftUS),7224,9003,9807,4497,8801,38.57,9110,8802,-86.3,9110,8805,1.000028,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Montgomery-Putnam (m),7225,9001,9807,4499,8801,39.27,9110,8802,-86.57,9110,8805,1.000031,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Montgomery-Putnam (ftUS),7226,9003,9807,4497,8801,39.27,9110,8802,-86.57,9110,8805,1.000031,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Owen (m),7227,9001,9807,4499,8801,39.09,9110,8802,-86.54,9110,8805,1.000026,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Owen (ftUS),7228,9003,9807,4497,8801,39.09,9110,8802,-86.54,9110,8805,1.000026,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Parke-Vermillion (m),7229,9001,9807,4499,8801,39.36,9110,8802,-87.21,9110,8805,1.000022,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Parke-Vermillion (ftUS),7230,9003,9807,4497,8801,39.36,9110,8802,-87.21,9110,8805,1.000022,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Perry (m),7231,9001,9807,4499,8801,37.48,9110,8802,-86.42,9110,8805,1.00002,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Perry (ftUS),7232,9003,9807,4497,8801,37.48,9110,8802,-86.42,9110,8805,1.00002,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Pike-Warrick (m),7233,9001,9807,4499,8801,37.51,9110,8802,-87.18,9110,8805,1.000015,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Pike-Warrick (ftUS),7234,9003,9807,4497,8801,37.51,9110,8802,-87.18,9110,8805,1.000015,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Posey (m),7235,9001,9807,4499,8801,37.45,9110,8802,-87.57,9110,8805,1.000013,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Posey (ftUS),7236,9003,9807,4497,8801,37.45,9110,8802,-87.57,9110,8805,1.000013,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Randolph-Wayne (m),7237,9001,9807,4499,8801,39.42,9110,8802,-85.03,9110,8805,1.000044,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Randolph-Wayne (ftUS),7238,9003,9807,4497,8801,39.42,9110,8802,-85.03,9110,8805,1.000044,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Ripley (m),7239,9001,9807,4499,8801,38.54,9110,8802,-85.18,9110,8805,1.000038,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Ripley (ftUS),7240,9003,9807,4497,8801,38.54,9110,8802,-85.18,9110,8805,1.000038,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Shelby (m),7241,9001,9807,4499,8801,39.18,9110,8802,-85.54,9110,8805,1.00003,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Shelby (ftUS),7242,9003,9807,4497,8801,39.18,9110,8802,-85.54,9110,8805,1.00003,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Spencer (m),7243,9001,9807,4499,8801,37.45,9110,8802,-87.03,9110,8805,1.000014,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Spencer (ftUS),7244,9003,9807,4497,8801,37.45,9110,8802,-87.03,9110,8805,1.000014,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Steuben (m),7245,9001,9807,4499,8801,41.3,9110,8802,-85.0,9110,8805,1.000041,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Steuben (ftUS),7246,9003,9807,4497,8801,41.3,9110,8802,-85.0,9110,8805,1.000041,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Sullivan (m),7247,9001,9807,4499,8801,38.54,9110,8802,-87.3,9110,8805,1.000017,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Sullivan (ftUS),7248,9003,9807,4497,8801,38.54,9110,8802,-87.3,9110,8805,1.000017,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Tippecanoe-White (m),7249,9001,9807,4499,8801,40.12,9110,8802,-86.54,9110,8805,1.000026,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Tippecanoe-White (ftUS),7250,9003,9807,4497,8801,40.12,9110,8802,-86.54,9110,8805,1.000026,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Vanderburgh (m),7251,9001,9807,4499,8801,37.48,9110,8802,-87.33,9110,8805,1.000015,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Vanderburgh (ftUS),7252,9003,9807,4497,8801,37.48,9110,8802,-87.33,9110,8805,1.000015,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Vigo (m),7253,9001,9807,4499,8801,39.15,9110,8802,-87.27,9110,8805,1.00002,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Vigo (ftUS),7254,9003,9807,4497,8801,39.15,9110,8802,-87.27,9110,8805,1.00002,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
InGCS Wells (m),7255,9001,9807,4499,8801,40.33,9110,8802,-85.15,9110,8805,1.000034,9201,8806,240000.0,9001,8807,36000.0,9001,,,,,,
InGCS Wells (ftUS),7256,9003,9807,4497,8801,40.33,9110,8802,-85.15,9110,8805,1.000034,9201,8806,787400.0,9003,8807,118110.0,9003,,,,,,
WISCRS Ashland County (m),7378,9001,9807,4499,8801,45.4222,9110,8802,-90.372,9110,8805,1.0000495683,9201,8806,172821.9461,9001,8807,0.0017,9001,,,,,, WISCRS Ashland County (m),7378,9001,9807,4499,8801,45.4222,9110,8802,-90.372,9110,8805,1.0000495683,9201,8806,172821.9461,9001,8807,0.0017,9001,,,,,,
WISCRS Ashland County (ftUS),7379,9003,9807,4497,8801,45.4222,9110,8802,-90.372,9110,8805,1.0000495683,9201,8806,567000.001,9003,8807,0.006,9003,,,,,, WISCRS Ashland County (ftUS),7379,9003,9807,4497,8801,45.4222,9110,8802,-90.372,9110,8805,1.0000495683,9201,8806,567000.001,9003,8807,0.006,9003,,,,,,
WISCRS Bayfield County (m),7380,9001,9801,4499,8801,46.4010734158,9110,8802,-91.091,9110,8805,1.0000331195,9201,8806,228600.4575,9001,8807,148551.4837,9001,,,,,, WISCRS Bayfield County (m),7380,9001,9801,4499,8801,46.4010734158,9110,8802,-91.091,9110,8805,1.0000331195,9201,8806,228600.4575,9001,8807,148551.4837,9001,,,,,,
@ -372,6 +560,8 @@ WISCRS Wood County (m),7482,9001,9801,4499,8801,44.214534369,9110,8802,-90,9110,
WISCRS Wood County (ftUS),7483,9003,9801,4497,8801,44.214534369,9110,8802,-90,9110,8805,1.0000421209,9201,8806,684000.001,9003,8807,441566.551,9003,,,,,, WISCRS Wood County (ftUS),7483,9003,9801,4497,8801,44.214534369,9110,8802,-90,9110,8805,1.0000421209,9201,8806,684000.001,9003,8807,441566.551,9003,,,,,,
WISCRS Adams and Juneau Counties (m),7484,9001,9807,4499,8801,43.22,9110,8802,-90,9110,8805,1.0000365285,9201,8806,147218.6942,9001,8807,0.0037,9001,,,,,, WISCRS Adams and Juneau Counties (m),7484,9001,9807,4499,8801,43.22,9110,8802,-90,9110,8805,1.0000365285,9201,8806,147218.6942,9001,8807,0.0037,9001,,,,,,
WISCRS Adams and Juneau Counties (ftUS),7485,9003,9807,4497,8801,43.22,9110,8802,-90,9110,8805,1.0000365285,9201,8806,482999.999,9003,8807,0.012,9003,,,,,, WISCRS Adams and Juneau Counties (ftUS),7485,9003,9807,4497,8801,43.22,9110,8802,-90,9110,8805,1.0000365285,9201,8806,482999.999,9003,8807,0.012,9003,,,,,,
"WISCRS Calumet, Fond du Lac, Outagamie and Winnebago Counties (m)",7486,9001,9807,4499,8801,42.431,9110,8802,-88.3,9110,8805,1.0000286569,9201,8806,244754.8893,9001,8807,0.0049,9001,,,,,,
"WISCRS Calumet, Fond du Lac, Outagamie and Winnebago Counties (ftUS)",7487,9003,9807,4497,8801,42.431,9110,8802,-88.3,9110,8805,1.0000286569,9201,8806,802999.999,9003,8807,0.016,9003,,,,,,
WISCRS Columbia County (m),7488,9001,9801,4499,8801,43.2745167925,9110,8802,-89.234,9110,8805,1.00003498,9201,8806,169164.3381,9001,8807,111569.6134,9001,,,,,, WISCRS Columbia County (m),7488,9001,9801,4499,8801,43.2745167925,9110,8802,-89.234,9110,8805,1.00003498,9201,8806,169164.3381,9001,8807,111569.6134,9001,,,,,,
WISCRS Columbia County (ftUS),7489,9003,9801,4497,8801,43.2745167925,9110,8802,-89.234,9110,8805,1.00003498,9201,8806,554999.999,9003,8807,366041.307,9003,,,,,, WISCRS Columbia County (ftUS),7489,9003,9801,4497,8801,43.2745167925,9110,8802,-89.234,9110,8805,1.00003498,9201,8806,554999.999,9003,8807,366041.307,9003,,,,,,
WISCRS Crawford County (m),7490,9001,9801,4499,8801,43.1200200178,9110,8802,-90.562,9110,8805,1.0000349151,9201,8806,113690.6274,9001,8807,53703.1201,9001,,,,,, WISCRS Crawford County (m),7490,9001,9801,4499,8801,43.1200200178,9110,8802,-90.562,9110,8805,1.0000349151,9201,8806,113690.6274,9001,8807,53703.1201,9001,,,,,,
@ -388,6 +578,10 @@ WISCRS Green Lake and Marquette Counties (m),7500,9001,9801,4499,8801,43.4825200
WISCRS Green Lake and Marquette Counties (ftUS),7501,9003,9801,4497,8801,43.4825200424,9110,8802,-89.143,9110,8805,1.0000344057,9201,8806,495000,9003,8807,259746.132,9003,,,,,, WISCRS Green Lake and Marquette Counties (ftUS),7501,9003,9801,4497,8801,43.4825200424,9110,8802,-89.143,9110,8805,1.0000344057,9201,8806,495000,9003,8807,259746.132,9003,,,,,,
WISCRS Iowa County (m),7502,9001,9807,4499,8801,42.322,9110,8802,-90.094,9110,8805,1.0000394961,9201,8806,113081.0261,9001,8807,0.0045,9001,,,,,, WISCRS Iowa County (m),7502,9001,9807,4499,8801,42.322,9110,8802,-90.094,9110,8805,1.0000394961,9201,8806,113081.0261,9001,8807,0.0045,9001,,,,,,
WISCRS Iowa County (ftUS),7503,9003,9807,4497,8801,42.322,9110,8802,-90.094,9110,8805,1.0000394961,9201,8806,371000,9003,8807,0.015,9003,,,,,, WISCRS Iowa County (ftUS),7503,9003,9807,4497,8801,42.322,9110,8802,-90.094,9110,8805,1.0000394961,9201,8806,371000,9003,8807,0.015,9003,,,,,,
"WISCRS Kenosha, Milwaukee, Ozaukee and Racine Counties (m)",7504,9001,9807,4499,8801,42.13,9110,8802,-87.534,9110,8805,1.0000260649,9201,8806,185928.3728,9001,8807,0.0009,9001,,,,,,
"WISCRS Kenosha, Milwaukee, Ozaukee and Racine Counties (ftUS)",7505,9003,9807,4497,8801,42.13,9110,8802,-87.534,9110,8805,1.0000260649,9201,8806,610000.003,9003,8807,0.003,9003,,,,,,
"WISCRS Kewaunee, Manitowoc and Sheboygan Counties (m)",7506,9001,9807,4499,8801,43.16,9110,8802,-87.33,9110,8805,1.0000233704,9201,8806,79857.7614,9001,8807,0.0012,9001,,,,,,
"WISCRS Kewaunee, Manitowoc and Sheboygan Counties (ftUS)",7507,9003,9807,4497,8801,43.16,9110,8802,-87.33,9110,8805,1.0000233704,9201,8806,262000.006,9003,8807,0.004,9003,,,,,,
WISCRS La Crosse County (m),7508,9001,9807,4499,8801,43.2704,9110,8802,-91.19,9110,8805,1.0000319985,9201,8806,130454.6598,9001,8807,0.0033,9001,,,,,, WISCRS La Crosse County (m),7508,9001,9807,4499,8801,43.2704,9110,8802,-91.19,9110,8805,1.0000319985,9201,8806,130454.6598,9001,8807,0.0033,9001,,,,,,
WISCRS La Crosse County (ftUS),7509,9003,9807,4497,8801,43.2704,9110,8802,-91.19,9110,8805,1.0000319985,9201,8806,427999.996,9003,8807,0.011,9003,,,,,, WISCRS La Crosse County (ftUS),7509,9003,9807,4497,8801,43.2704,9110,8802,-91.19,9110,8805,1.0000319985,9201,8806,427999.996,9003,8807,0.011,9003,,,,,,
WISCRS Monroe County (m),7510,9001,9801,4499,8801,44.0000266143,9110,8802,-90.383,9110,8805,1.0000434122,9201,8806,204521.209,9001,8807,121923.9861,9001,,,,,, WISCRS Monroe County (m),7510,9001,9801,4499,8801,44.0000266143,9110,8802,-90.383,9110,8805,1.0000434122,9201,8806,204521.209,9001,8807,121923.9861,9001,,,,,,
@ -452,6 +646,74 @@ St. Helena Local Grid 1971,7875,9001,9807,4400,8801,-15.58,9110,8802,-5.43,9110,
St. Helena Local Grid (Tritan),7876,9001,9807,4400,8801,-15.58,9110,8802,-5.43,9110,8805,1,9201,8806,299483.737,9001,8807,2000527.879,9001,,,,,, St. Helena Local Grid (Tritan),7876,9001,9807,4400,8801,-15.58,9110,8802,-5.43,9110,8805,1,9201,8806,299483.737,9001,8807,2000527.879,9001,,,,,,
TM Zone 20N (US survey feet),8033,9003,9807,4497,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,1640416.667,9003,8807,0,9003,,,,,, TM Zone 20N (US survey feet),8033,9003,9807,4497,8801,0,9102,8802,-63,9102,8805,0.9996,9201,8806,1640416.667,9003,8807,0,9003,,,,,,
TM Zone 21N (US survey feet),8034,9003,9807,4497,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,1640416.667,9003,8807,0,9003,,,,,, TM Zone 21N (US survey feet),8034,9003,9807,4497,8801,0,9102,8802,-57,9102,8805,0.9996,9201,8806,1640416.667,9003,8807,0,9003,,,,,,
Pima County zone 1 East (ft),8061,9002,9815,4495,8811,32.15,9110,8812,-111.24,9110,8813,45.0,9102,8814,45.0,9102,8815,1.00011,9201,8816,160000.0,9002,8817,800000.0,9002
Pima County zone 2 Central (ft),8062,9002,9807,4495,8801,31.15,9110,8802,-112.1,9110,8805,1.00009,9201,8806,1800000.0,9002,8807,1000000.0,9002,,,,,,
Pima County zone 3 West (ft),8063,9002,9807,4495,8801,31.3,9110,8802,-113.1,9110,8805,1.000055,9201,8806,600000.0,9002,8807,0.0,9002,,,,,,
Pima County zone 4 Mt. Lemmon (ft),8064,9002,9801,4495,8801,30.3,9110,8802,-110.45,9110,8805,0.9998,9201,8806,30000.0,9002,8807,-620000.0,9002,,,,,,
Oregon Burns-Harper zone (meter),8273,9001,9807,4499,8801,43.3,9110,8802,-117.4,9110,8805,1.00014,9201,8806,90000.0,9001,8807,0.0,9001,,,,,,
Oregon Burns-Harper zone (international foot),8274,9002,9807,4495,8801,43.3,9110,8802,-117.4,9110,8805,1.00014,9201,8806,295275.5906,9002,8807,0.0,9002,,,,,,
Oregon Canyon City-Burns zone (meter),8275,9001,9807,4499,8801,43.3,9110,8802,-119.0,9110,8805,1.00022,9201,8806,20000.0,9001,8807,0.0,9001,,,,,,
Oregon Canyon City-Burns zone (international foot),8276,9002,9807,4495,8801,43.3,9110,8802,-119.0,9110,8805,1.00022,9201,8806,65616.7979,9002,8807,0.0,9002,,,,,,
Oregon Coast Range North zone (meter),8277,9001,9801,4499,8801,45.35,9110,8802,-123.25,9110,8805,1.000045,9201,8806,30000.0,9001,8807,20000.0,9001,,,,,,
Oregon Coast Range North zone (international foot),8278,9002,9801,4495,8801,45.35,9110,8802,-123.25,9110,8805,1.000045,9201,8806,98425.1969,9002,8807,65616.7979,9002,,,,,,
Oregon Dayville-Prairie City zone (meter),8279,9001,9807,4499,8801,44.15,9110,8802,-119.38,9110,8805,1.00012,9201,8806,20000.0,9001,8807,0.0,9001,,,,,,
Oregon Dayville-Prairie City zone (international foot),8280,9002,9807,4495,8801,44.15,9110,8802,-119.38,9110,8805,1.00012,9201,8806,65616.7979,9002,8807,0.0,9002,,,,,,
Oregon Denio-Burns zone (meter),8281,9001,9807,4499,8801,41.45,9110,8802,-118.25,9110,8805,1.00019,9201,8806,80000.0,9001,8807,0.0,9001,,,,,,
Oregon Denio-Burns zone (international foot),8282,9002,9807,4495,8801,41.45,9110,8802,-118.25,9110,8805,1.00019,9201,8806,262467.1916,9002,8807,0.0,9002,,,,,,
Oregon Halfway zone (meter),8283,9001,9801,4499,8801,45.15,9110,8802,-117.15,9110,8805,1.000085,9201,8806,40000.0,9001,8807,70000.0,9001,,,,,,
Oregon Halfway zone (international foot),8284,9002,9801,4495,8801,45.15,9110,8802,-117.15,9110,8805,1.000085,9201,8806,131233.5958,9002,8807,229658.7927,9002,,,,,,
Oregon Medford-Diamond Lake zone (meter),8285,9001,9801,4499,8801,42.0,9110,8802,-122.15,9110,8805,1.00004,9201,8806,60000.0,9001,8807,-60000.0,9001,,,,,,
Oregon Medford-Diamond Lake zone (international foot),8286,9002,9801,4495,8801,42.0,9110,8802,-122.15,9110,8805,1.00004,9201,8806,196850.3937,9002,8807,-196850.3937,9002,,,,,,
Oregon Mitchell zone (meter),8287,9001,9801,4499,8801,47.0,9110,8802,-120.15,9110,8805,0.99927,9201,8806,30000.0,9001,8807,290000.0,9001,,,,,,
Oregon Mitchell zone (international foot),8288,9002,9801,4495,8801,47.0,9110,8802,-120.15,9110,8805,0.99927,9201,8806,98425.1969,9002,8807,951443.5696,9002,,,,,,
Oregon North Central zone (meter),8289,9001,9801,4499,8801,46.1,9110,8802,-120.3,9110,8805,1.0,9201,8806,100000.0,9001,8807,140000.0,9001,,,,,,
Oregon North Central zone (international foot),8290,9002,9801,4495,8801,46.1,9110,8802,-120.3,9110,8805,1.0,9201,8806,328083.9895,9002,8807,459317.5853,9002,,,,,,
Oregon Ochoco Summit zone (meter),8291,9001,9801,4499,8801,43.3,9110,8802,-120.3,9110,8805,1.00006,9201,8806,40000.0,9001,8807,-80000.0,9001,,,,,,
Oregon Ochoco Summit zone (international foot),8292,9002,9801,4495,8801,43.3,9110,8802,-120.3,9110,8805,1.00006,9201,8806,131233.5958,9002,8807,-262467.1916,9002,,,,,,
Oregon Owyhee zone (meter),8293,9001,9807,4499,8801,41.45,9110,8802,-117.35,9110,8805,1.00018,9201,8806,70000.0,9001,8807,0.0,9001,,,,,,
Oregon Owyhee zone (international foot),8294,9002,9807,4495,8801,41.45,9110,8802,-117.35,9110,8805,1.00018,9201,8806,229658.7927,9002,8807,0.0,9002,,,,,,
Oregon Pilot Rock-Ukiah zone (meter),8295,9001,9801,4499,8801,46.1,9110,8802,-119.0,9110,8805,1.000025,9201,8806,50000.0,9001,8807,130000.0,9001,,,,,,
Oregon Pilot Rock-Ukiah zone (international foot),8296,9002,9801,4495,8801,46.1,9110,8802,-119.0,9110,8805,1.000025,9201,8806,164041.9948,9002,8807,426509.1864,9002,,,,,,
Oregon Prairie City-Brogan zone (meter),8297,9001,9801,4499,8801,44.0,9110,8802,-118.0,9110,8805,1.00017,9201,8806,60000.0,9001,8807,0.0,9001,,,,,,
Oregon Prairie City-Brogan zone (international foot),8298,9002,9801,4495,8801,44.0,9110,8802,-118.0,9110,8805,1.00017,9201,8806,196850.3937,9002,8807,0.0,9002,,,,,,
Oregon Riley-Lakeview zone (meter),8299,9001,9807,4499,8801,41.45,9110,8802,-120.2,9110,8805,1.000215,9201,8806,70000.0,9001,8807,0.0,9001,,,,,,
Oregon Riley-Lakeview zone (international foot),8300,9002,9807,4495,8801,41.45,9110,8802,-120.2,9110,8805,1.000215,9201,8806,229658.7927,9002,8807,0.0,9002,,,,,,
Oregon Siskiyou Pass zone (meter),8301,9001,9801,4499,8801,42.3,9110,8802,-122.35,9110,8805,1.00015,9201,8806,10000.0,9001,8807,60000.0,9001,,,,,,
Oregon Siskiyou Pass zone (international foot),8302,9002,9801,4495,8801,42.3,9110,8802,-122.35,9110,8805,1.00015,9201,8806,32808.399,9002,8807,196850.3937,9002,,,,,,
Oregon Ukiah-Fox zone (meter),8303,9001,9801,4499,8801,45.15,9110,8802,-119.0,9110,8805,1.00014,9201,8806,30000.0,9001,8807,90000.0,9001,,,,,,
Oregon Ukiah-Fox zone (international foot),8304,9002,9801,4495,8801,45.15,9110,8802,-119.0,9110,8805,1.00014,9201,8806,98425.1969,9002,8807,295275.5906,9002,,,,,,
Oregon Wallowa zone (meter),8305,9001,9807,4495,8801,45.15,9110,8802,-117.3,9110,8805,1.000195,9201,8806,60000.0,9001,8807,0.0,9001,,,,,,
Oregon Wallowa zone (international foot),8306,9002,9807,4495,8801,45.15,9110,8802,-117.3,9110,8805,1.000195,9201,8806,196850.3937,9002,8807,0.0,9002,,,,,,
Oregon Warner Highway zone (meter),8307,9001,9801,4499,8801,42.3,9110,8802,-120.0,9110,8805,1.000245,9201,8806,40000.0,9001,8807,60000.0,9001,,,,,,
Oregon Warner Highway zone (international foot),8308,9002,9801,4495,8801,42.3,9110,8802,-120.0,9110,8805,1.000245,9201,8806,131233.5958,9002,8807,196850.3937,9002,,,,,,
Oregon Willamette Pass zone (meter),8309,9001,9807,4499,8801,43.0,9110,8802,-122.0,9110,8805,1.000223,9201,8806,20000.0,9001,8807,0.0,9001,,,,,,
Oregon Willamette Pass zone (international foot),8310,9002,9807,4495,8801,43.0,9110,8802,-122.0,9110,8805,1.000223,9201,8806,65616.7979,9002,8807,0.0,9002,,,,,,
NCRS Las Vegas zone (m),8373,9001,9807,4499,8801,36.15,9110,8802,-114.58,9110,8805,1.0001,9201,8806,100000.0,9001,8807,200000.0,9001,,,,,,
NCRS Las Vegas zone (ftUS),8374,9003,9807,4497,8801,36.15,9110,8802,-114.58,9110,8805,1.0001,9201,8806,328083.3333,9003,8807,656166.6667,9003,,,,,,
NCRS Las Vegas high elevation zone (m),8375,9001,9807,4499,8801,36.15,9110,8802,-114.58,9110,8805,1.000135,9201,8806,300000.0,9001,8807,400000.0,9001,,,,,,
NCRS Las Vegas high elevation zone (ftUS),8376,9003,9807,4497,8801,36.15,9110,8802,-114.58,9110,8805,1.000135,9201,8806,984250.0,9003,8807,1312333.3333,9003,,,,,,
Kansas regional zone 1 Goodland (ftUS),8458,9003,9807,4497,8801,37.3,9110,8802,-101.36,9110,8805,1.000156,9201,8806,1500000.0,9003,8807,0.0,9003,,,,,,
Kansas regional zone 2 Colby (ftUS),8459,9003,9807,4497,8801,37.3,9110,8802,-100.57,9110,8805,1.000134,9201,8806,2500000.0,9003,8807,0.0,9003,,,,,,
Kansas regional zone 3 Oberlin (ftUS),8490,9003,9807,4497,8801,37.3,9110,8802,-100.21,9110,8805,1.000116,9201,8806,3500000.0,9003,8807,0.0,9003,,,,,,
Kansas regional zone 4 Hays (ftUS),8491,9003,9807,4497,8801,37.3,9110,8802,-99.27,9110,8805,1.000082,9201,8806,4500000.0,9003,8807,0.0,9003,,,,,,
Kansas regional zone 5 Great Bend (ftUS),8492,9003,9807,4497,8801,37.3,9110,8802,-98.4,9110,8805,1.000078,9201,8806,5500000.0,9003,8807,0.0,9003,,,,,,
Kansas regional zone 6 Beliot (ftUS),8493,9003,9807,4497,8801,37.3,9110,8802,-98.09,9110,8805,1.000068,9201,8806,6500000.0,9003,8807,0.0,9003,,,,,,
Kansas regional zone 7 Salina (ftUS),8494,9003,9807,4497,8801,37.3,9110,8802,-97.2,9110,8805,1.000049,9201,8806,7500000.0,9003,8807,0.0,9003,,,,,,
Kansas regional zone 8 Manhattan (ftUS),8495,9003,9801,4497,8801,39.1,9110,8802,-96.3,9110,8805,1.000044,9201,8806,8500000.0,9003,8807,600000.0,9003,,,,,,
Kansas regional zone 9 Emporia (ftUS),8498,9003,9801,4497,8801,38.3,9110,8802,-96.3,9110,8805,1.00005,9201,8806,9500000.0,9003,8807,300000.0,9003,,,,,,
Kansas regional zone 10 Atchison (ftUS),8499,9003,9801,4497,8801,39.38,9110,8802,-95.45,9110,8805,1.00004,9201,8806,10500000.0,9003,8807,700000.0,9003,,,,,,
Kansas regional zone 11 Kansas City (ftUS),8500,9003,9801,4497,8801,39.06,9110,8802,-95.15,9110,8805,1.000033,9201,8806,11500000.0,9003,8807,600000.0,9003,,,,,,
Kansas regional zone 12 Ulysses (ftUS),8501,9003,9807,4497,8801,36.45,9110,8802,-101.25,9110,8805,1.00014,9201,8806,12500000.0,9003,8807,0.0,9003,,,,,,
Kansas regional zone 13 Garden City (ftUS),8502,9003,9807,4497,8801,36.45,9110,8802,-100.24,9110,8805,1.000109,9201,8806,13500000.0,9003,8807,0.0,9003,,,,,,
Kansas regional zone 14 Dodge City (ftUS),8503,9003,9807,4497,8801,36.45,9110,8802,-99.4,9110,8805,1.000097,9201,8806,14500000.0,9003,8807,0.0,9003,,,,,,
Kansas regional zone 15 Larned (ftUS),8504,9003,9807,4497,8801,36.45,9110,8802,-99.12,9110,8805,1.000087,9201,8806,15500000.0,9003,8807,0.0,9003,,,,,,
Kansas regional zone 16 Pratt (ftUS),8505,9003,9807,4497,8801,36.45,9110,8802,-98.33,9110,8805,1.000069,9201,8806,16500000.0,9003,8807,0.0,9003,,,,,,
Kansas regional zone 17 Wichita (ftUS),8506,9003,9801,4497,8801,37.46,9110,8802,-97.3,9110,8805,1.000059,9201,8806,17500000.0,9003,8807,400000.0,9003,,,,,,
Kansas regional zone 18 Arkansas City (ftUS),8507,9003,9801,4497,8801,37.11,9110,8802,-97.3,9110,8805,1.000055,9201,8806,18500000.0,9003,8807,200000.0,9003,,,,,,
Kansas regional zone 19 Coffeyville (ftUS),8515,9003,9807,4497,8801,36.45,9110,8802,-95.58,9110,8805,1.000034,9201,8806,19500000.0,9003,8807,0.0,9003,,,,,,
Kansas regional zone 20 Pittsburg (ftUS),8516,9003,9807,4497,8801,36.45,9110,8802,-95.05,9110,8805,1.000031,9201,8806,20500000.0,9003,8807,0.0,9003,,,,,,
SPCS83 Alabama East zone (US survey foot),9746,9003,9807,4497,8801,30.3,9110,8802,-85.5,9110,8805,0.99996,9201,8806,656166.667,9003,8807,0.0,9003,,,,,,
SPCS83 Alabama West zone (US survey foot),9747,9003,9807,4497,8801,30.0,9110,8802,-87.3,9110,8805,0.999933333,9201,8806,1968500.0,9003,8807,0.0,9003,,,,,,
Alabama CS27 East zone,10101,9003,9807,4497,8801,30.3,9110,8802,-85.5,9110,8805,0.99996,9201,8806,500000,9003,8807,0,9003,,,,,, Alabama CS27 East zone,10101,9003,9807,4497,8801,30.3,9110,8802,-85.5,9110,8805,0.99996,9201,8806,500000,9003,8807,0,9003,,,,,,
Alabama CS27 West zone,10102,9003,9807,4497,8801,30,9110,8802,-87.3,9110,8805,0.999933333,9201,8806,500000,9003,8807,0,9003,,,,,, Alabama CS27 West zone,10102,9003,9807,4497,8801,30,9110,8802,-87.3,9110,8805,0.999933333,9201,8806,500000,9003,8807,0,9003,,,,,,
SPCS83 Alabama East zone (meters),10131,9001,9807,4499,8801,30.3,9110,8802,-85.5,9110,8805,0.99996,9201,8806,200000,9001,8807,0,9001,,,,,, SPCS83 Alabama East zone (meters),10131,9001,9807,4499,8801,30.3,9110,8802,-85.5,9110,8805,0.99996,9201,8806,200000,9001,8807,0,9001,,,,,,

1 Belgian Lambert 2008 3811 9001 9802 4499 8821 50.4752134 9110 8822 4.2133177 9110 8823 49.5 9110 8824 51.1 9110 8826 649328 9001 8827 665262 9001
283 Map Grid of Australia zone 46 6729 9001 9807 4400 8801 0 9102 8802 93 9102 8805 0.9996 9201 8806 500000 9001 8807 10000000 9001
284 Map Grid of Australia zone 47 6730 9001 9807 4400 8801 0 9102 8802 99 9102 8805 0.9996 9201 8806 500000 9001 8807 10000000 9001
285 Map Grid of Australia zone 59 6731 9001 9807 4400 8801 0 9102 8802 171 9102 8805 0.9996 9201 8806 500000 9001 8807 10000000 9001
286 Oregon Baker zone (meter) 6741 9001 9807 4499 8801 44.3 9110 8802 -117.5 9110 8805 1.00016 9201 8806 40000.0 9001 8807 0.0 9001
287 Oregon Baker zone (international foot) 6742 9002 9807 4495 8801 44.3 9110 8802 -117.5 9110 8805 1.00016 9201 8806 131233.5958 9002 8807 0.0 9002
288 Oregon Bend-Klamath Falls zone (meter) 6743 9001 9807 4499 8801 41.45 9110 8802 -121.45 9110 8805 1.0002 9201 8806 80000.0 9001 8807 0.0 9001
289 Oregon Bend-Klamath Falls zone (international foot) 6744 9002 9807 4495 8801 41.45 9110 8802 -121.45 9110 8805 1.0002 9201 8806 262467.1916 9002 8807 0.0 9002
290 Oregon Bend-Redmond-Prineville zone (meter) 6745 9001 9801 4499 8801 44.4 9110 8802 -121.15 9110 8805 1.00012 9201 8806 80000.0 9001 8807 130000.0 9001
291 Oregon Bend-Redmond-Prineville zone (international foot) 6746 9002 9801 4495 8801 44.4 9110 8802 -121.15 9110 8805 1.00012 9201 8806 262467.1916 9002 8807 426509.1864 9002
292 Oregon Bend-Burns zone (meter) 6747 9001 9801 4499 8801 43.4 9110 8802 -119.45 9110 8805 1.0002 9201 8806 120000.0 9001 8807 60000.0 9001
293 Oregon Bend-Burns zone (international foot) 6748 9002 9801 4495 8801 43.4 9110 8802 -119.45 9110 8805 1.0002 9201 8806 393700.7874 9002 8807 196850.3937 9002
294 Oregon Canyonville-Grants Pass zone (meter) 6749 9001 9807 4499 8801 42.3 9110 8802 -123.2 9110 8805 1.00007 9201 8806 40000.0 9001 8807 0.0 9001
295 Oregon Canyonville-Grants Pass zone (international foot) 6750 9002 9807 4495 8801 42.3 9110 8802 -123.2 9110 8805 1.00007 9201 8806 131233.5958 9002 8807 0.0 9002
296 Oregon Columbia River East zone (meter) 6751 9001 9801 4499 8801 45.4 9110 8802 -120.3 9110 8805 1.000008 9201 8806 150000.0 9001 8807 30000.0 9001
297 Oregon Columbia River East zone (international foot) 6752 9002 9801 4495 8801 45.4 9110 8802 -120.3 9110 8805 1.000008 9201 8806 492125.9843 9002 8807 98425.1969 9002
298 Oregon Cottage Grove-Canyonville zone (meter) 6755 9001 9807 4499 8801 42.5 9110 8802 -123.2 9110 8805 1.000023 9201 8806 50000.0 9001 8807 0.0 9001
299 Oregon Cottage Grove-Canyonville zone (international foot) 6756 9002 9807 4495 8801 42.5 9110 8802 -123.2 9110 8805 1.000023 9201 8806 164041.9948 9002 8807 0.0 9002
300 Oregon Dufur-Madras zone (meter) 6757 9001 9807 4499 8801 44.3 9110 8802 -121.0 9110 8805 1.00011 9201 8806 80000.0 9001 8807 0.0 9001
301 Oregon Dufur-Madras zone (international foot) 6758 9002 9807 4495 8801 44.3 9110 8802 -121.0 9110 8805 1.00011 9201 8806 262467.1916 9002 8807 0.0 9002
302 Oregon Eugene zone (meter) 6759 9001 9807 4499 8801 43.45 9110 8802 -123.1 9110 8805 1.000015 9201 8806 50000.0 9001 8807 0.0 9001
303 Oregon Eugene zone (international foot) 6760 9002 9807 4495 8801 43.45 9110 8802 -123.1 9110 8805 1.000015 9201 8806 164041.9948 9002 8807 0.0 9002
304 Oregon Grants Pass-Ashland zone (meter) 6761 9001 9807 4499 8801 41.45 9110 8802 -123.2 9110 8805 1.000043 9201 8806 50000.0 9001 8807 0.0 9001
305 Oregon Grants Pass-Ashland zone (international foot) 6762 9002 9807 4495 8801 41.45 9110 8802 -123.2 9110 8805 1.000043 9201 8806 164041.9948 9002 8807 0.0 9002
306 Oregon Gresham-Warm Springs zone (meter) 6763 9001 9807 4499 8801 45.0 9110 8802 -122.2 9110 8805 1.00005 9201 8806 10000.0 9001 8807 0.0 9001
307 Oregon Gresham-Warm Springs zone (international foot) 6764 9002 9807 4495 8801 45.0 9110 8802 -122.2 9110 8805 1.00005 9201 8806 32808.399 9002 8807 0.0 9002
308 Oregon La Grande zone (meter) 6765 9001 9807 4499 8801 45.0 9102 8802 -118.0 9102 8805 1.00013 9201 8806 40000.0 9001 8807 0.0 9001
309 Oregon La Grande zone (international foot) 6766 9002 9807 4495 8801 45.0 9102 8802 -118.0 9102 8805 1.00013 9201 8806 131233.5958 9002 8807 0.0 9002
310 Oregon Ontario zone (meter) 6767 9001 9807 4499 8801 43.15 9110 8802 -117.0 9110 8805 1.0001 9201 8806 80000.0 9001 8807 0.0 9001
311 Oregon Ontario zone (international foot) 6768 9002 9807 4495 8801 43.15 9110 8802 -117.0 9110 8805 1.0001 9201 8806 262467.1916 9002 8807 0.0 9002
312 Oregon Pendleton zone (meter) 6771 9001 9807 4499 8801 45.15 9110 8802 -119.1 9110 8805 1.000045 9201 8806 60000.0 9001 8807 0.0 9001
313 Oregon Pendleton zone (international foot) 6772 9001 9807 4495 8801 45.15 9110 8802 -119.1 9110 8805 1.000045 9201 8806 196850.3937 9002 8807 0.0 9002
314 Oregon Pendleton-La Grande zone (meter) 6773 9001 9807 4499 8801 45.05 9110 8802 -118.2 9110 8805 1.000175 9201 8806 30000.0 9001 8807 0.0 9001
315 Oregon Pendleton-La Grande zone (international foot) 6774 9002 9807 4495 8801 45.05 9110 8802 -118.2 9110 8805 1.000175 9201 8806 98425.1969 9002 8807 0.0 9002
316 Oregon Portland zone (meter) 6775 9001 9801 4499 8801 45.3 9110 8802 -122.45 9110 8805 1.000002 9201 8806 100000.0 9001 8807 50000.0 9001
317 Oregon Portland zone (international foot) 6776 9002 9801 4495 8801 45.3 9110 8802 -122.45 9110 8805 1.000002 9201 8806 328083.9895 9002 8807 164041.9948 9002
318 Oregon Salem zone (meter) 6777 9001 9807 4499 8801 44.2 9110 8802 -123.05 9110 8805 1.00001 9201 8806 50000.0 9001 8807 0.0 9001
319 Oregon Salem zone (international foot) 6778 9002 9807 4495 8801 44.2 9110 8802 -123.05 9110 8805 1.00001 9201 8806 164041.9948 9002 8807 0.0 9002
320 Oregon Santiam Pass zone (meter) 6779 9001 9807 4499 8801 44.05 9110 8802 -122.3 9110 8805 1.000155 9201 8806 0.0 9001 8807 0.0 9001
321 Oregon Santiam Pass zone (international foot) 6780 9002 9807 4495 8801 44.05 9110 8802 -122.3 9110 8805 1.000155 9201 8806 0.0 9002 8807 0.0 9002
322 Albania TM 2010 6869 9001 9807 4530 8801 0 9102 8802 20 9102 8805 1 9201 8806 500000 9001 8807 0 9001
323 Italy zone 6877 9001 9807 4500 8801 0 9102 8802 12 9102 8805 0.9985 9201 8806 7000000 9001 8807 0 9001
324 Italy zone 12 6878 9001 9807 4500 8801 0 9102 8802 12 9102 8805 1 9201 8806 3000000 9001 8807 0 9001
331 Vietnam TM-3 zone 491 6954 9001 9807 4400 8801 0 9102 8802 108 9102 8805 0.9999 9201 8806 0 9001 8807 500000 9001
332 Vietnam TM-3 Da Nang zone 6955 9001 9807 4400 8801 0 9110 8802 107.45 9110 8805 0.9999 9201 8806 0 9001 8807 500000 9001
333 Albania LCC 2010 6961 9001 9802 4530 8821 41 9102 8822 20 9102 8823 39 9102 8824 43 9102 8826 0 9001 8827 0 9001
334 City and County of San Francisco CS13 (meters) 6994 9001 9807 4499 8801 37.75 9102 8802 -122.45 9102 8805 1.000007 9202 8806 48000.0 9001 8807 24000.0 9001
335 City and County of San Francisco CS13 (US Survey feet) 6995 9003 9807 4497 8801 37.75 9102 8802 -122.45 9102 8805 1.000007 9202 8806 157480.0 9003 8807 78740.0 9003
336 Iowa regional zone 1 Spencer 7043 9003 9801 4497 8801 43.12 9110 8802 -95.15 9110 8805 1.000052 9201 8806 11500000.0 9003 8807 9600000.0 9003
337 Iowa regional zone 2 Mason City 7044 9003 9801 4497 8801 43.1 9110 8802 -92.45 9110 8805 1.000043 9201 8806 12500000.0 9003 8807 9800000.0 9003
338 Iowa regional zone 3 Elkader 7045 9003 9807 4497 8801 40.15 9110 8802 -91.12 9110 8805 1.000035 9201 8806 13500000.0 9003 8807 8300000.0 9003
339 Iowa regional zone 4 Sioux City-Iowa Falls 7046 9003 9801 4497 8801 42.32 9110 8802 -94.5 9110 8805 1.000045 9201 8806 14500000.0 9003 8807 8600000.0 9003
340 Iowa regional zone 5 Waterloo 7047 9003 9801 4497 8801 42.39 9110 8802 -92.15 9110 8805 1.000032 9201 8806 15500000.0 9003 8807 8900000.0 9003
341 Iowa regional zone 6 Council Bluffs 7048 9003 9807 4497 8801 40.15 9110 8802 -95.44 9110 8805 1.000039 9201 8806 16500000.0 9003 8807 6600000.0 9003
342 Iowa regional zone 7 Carroll-Atlantic 7049 9003 9807 4497 8801 40.15 9110 8802 -94.38 9110 8805 1.000045 9201 8806 17500000.0 9003 8807 6800000.0 9003
343 Iowa regional zone 8 Ames-Des Moines 7050 9003 9807 4497 8801 40.15 9110 8802 -93.43 9110 8805 1.000033 9201 8806 18500000.0 9003 8807 7000000.0 9003
344 Iowa regional zone 9 Newton 7051 9003 9807 4497 8801 40.15 9110 8802 -92.49 9110 8805 1.000027 9201 8806 19500000.0 9003 8807 7200000.0 9003
345 Iowa regional zone 10 Cedar Rapids 7052 9003 9801 4497 8801 41.5 9110 8802 -91.4 9110 8805 1.00002 9201 8806 20500000.0 9003 8807 8000000.0 9003
346 Iowa regional zone 11 Dubuque-Davenport 7053 9003 9807 4497 8801 40.15 9110 8802 -90.32 9110 8805 1.000027 9201 8806 21500000.0 9003 8807 7600000.0 9003
347 Iowa regional zone 12 Red Oak-Ottumwa 7054 9003 9801 4497 8801 40.55 9110 8802 -93.45 9110 8805 1.000037 9201 8806 22500000.0 9003 8807 6200000.0 9003
348 Iowa regional zone 13 Fairfield 7055 9003 9807 4497 8801 40.15 9110 8802 -91.55 9110 8805 1.00002 9201 8806 23500000.0 9003 8807 6400000.0 9003
349 Iowa regional zone 14 Burlington 7056 9003 9807 4497 8801 40.15 9110 8802 -91.15 9110 8805 1.000018 9201 8806 24500000.0 9003 8807 6200000.0 9003
350 Montana Blackfeet St Mary Valley (meter) 7089 9001 9807 4499 8801 48.3 9110 8802 -112.3 9110 8805 1.00016 9201 8806 150000.0 9001 8807 0.0 9001
351 Montana Blackfeet St Mary Valley (international foot) 7090 9002 9807 4495 8801 48.3 9110 8802 -112.3 9110 8805 1.00016 9201 8806 492125.9843 9002 8807 0.0 9002
352 Montana Blackfeet (meter) 7091 9001 9807 4499 8801 48.0 9110 8802 -112.3 9110 8805 1.00019 9201 8806 100000.0 9001 8807 0.0 9001
353 Montana Blackfeet (international foot) 7092 9002 9807 4495 8801 48.0 9110 8802 -112.3 9110 8805 1.00019 9201 8806 328083.9895 9002 8807 0.0 9002
354 Montana Milk River (meter) 7093 9001 9801 4499 8801 48.3 9110 8802 -111.0 9110 8805 1.000145 9201 8806 150000.0 9001 8807 200000.0 9001
355 Montana Milk River (international foot) 7094 9002 9801 4495 8801 48.3 9110 8802 -111.0 9110 8805 1.000145 9201 8806 492125.9843 9002 8807 656167.979 9002
356 Montana Fort Belknap (meter) 7095 9001 9801 4499 8801 48.3 9110 8802 -108.3 9110 8805 1.00012 9201 8806 200000.0 9001 8807 150000.0 9001
357 Montana Fort Belknap (international foot) 7096 9002 9801 4495 8801 48.3 9110 8802 -108.3 9110 8805 1.00012 9201 8806 656167.979 9002 8807 492125.9843 9002
358 Montana Fort Peck Assiniboine (meter) 7097 9001 9801 4499 8801 48.2 9110 8802 -105.3 9110 8805 1.00012 9201 8806 200000.0 9001 8807 100000.0 9001
359 Montana Fort Peck Assiniboine (international foot) 7098 9002 9801 4495 8801 48.2 9110 8802 -105.3 9110 8805 1.00012 9201 8806 656167.979 9002 8807 328083.9895 9002
360 Montana Fort Peck Sioux (meter) 7099 9001 9801 4499 8801 48.2 9110 8802 -105.3 9110 8805 1.00009 9201 8806 100000.0 9001 8807 50000.0 9001
361 Montana Fort Peck Sioux (international foot) 7100 9002 9801 4495 8801 48.2 9110 8802 -105.3 9110 8805 1.00009 9201 8806 328083.9895 9002 8807 164041.9938 9002
362 Montana Crow (meter) 7101 9001 9807 4499 8801 44.45 9110 8802 -107.45 9110 8805 1.000148 9201 8806 200000.0 9001 8807 0.0 9001
363 Montana Crow (international foot) 7102 9002 9807 4495 8801 44.45 9110 8802 -107.45 9110 8805 1.000148 9201 8806 656167.979 9002 8807 0.0 9002
364 Montana Bobcat (meter) 7103 9001 9801 4499 8801 46.15 9110 8802 -111.15 9110 8805 1.000185 9201 8806 100000.0 9001 8807 100000.0 9001
365 Montana Bobcat (international foot) 7104 9002 9801 4495 8801 46.15 9110 8802 -111.15 9110 8805 1.000185 9201 8806 328083.9895 9002 8807 328083.9895 9002
366 Montana Billings (meter) 7105 9001 9801 4499 8801 45.47 9110 8802 -108.25 9110 8805 1.0001515 9201 8806 200000.0 9001 8807 50000.0 9001
367 Montana Billings (international foot) 7106 9002 9801 4495 8801 45.47 9110 8802 -108.25 9110 8805 1.0001515 9201 8806 656167.979 9002 8807 164041.9948 9002
368 Wyoming Wind River (meter) 7107 9001 9807 4499 8801 42.4 9110 8802 -108.2 9110 8805 1.00024 9201 8806 100000.0 9001 8807 0.0 9001
369 Wyoming Wind River (US survey foot) 7108 9003 9807 4497 8801 42.4 9110 8802 -108.2 9110 8805 1.00024 9201 8806 328083.3333 9003 8807 0.0 9003
370 City and County of San Francisco CS13 (meter) 7129 9001 9807 4499 8801 37.75 9102 8802 -122.45 9102 8805 1.000007 9201 8806 48000.0 9001 8807 24000.0 9001
371 City and County of San Francisco CS13 (US survey foot) 7130 9003 9807 4497 8801 37.75 9102 8802 -122.45 9102 8805 1.000007 9201 8806 157480.0 9003 8807 78740.0 9003
372 Palestine Grid modified 7141 9001 9807 4400 8801 31.4402749 9110 8802 35.124349 9110 8805 1 9201 8806 170251.555 9001 8807 126867.909 9001
373 InGCS Adams (m) 7143 9001 9807 4499 8801 40.33 9110 8802 -84.57 9110 8805 1.000034 9201 8806 240000.0 9001 8807 36000.0 9001
374 InGCS Adams (ftUS) 7144 9003 9807 4497 8801 40.33 9110 8802 -84.57 9110 8805 1.000034 9201 8806 787400.0 9003 8807 118110.0 9003
375 InGCS Allen (m) 7145 9001 9807 4499 8801 40.54 9110 8802 -85.03 9110 8805 1.000031 9201 8806 240000.0 9001 8807 36000.0 9001
376 InGCS Allen (ftUS) 7146 9003 9807 4497 8801 40.54 9110 8802 -85.03 9110 8805 1.000031 9201 8806 787400.0 9003 8807 118110.0 9003
377 InGCS Bartholomew (m) 7147 9001 9807 4499 8801 39.0 9110 8802 -85.51 9110 8805 1.000026 9201 8806 240000.0 9001 8807 36000.0 9001
378 InGCS Bartholomew (ftUS) 7148 9003 9807 4497 8801 39.0 9110 8802 -85.51 9110 8805 1.000026 9201 8806 787400.0 9003 8807 118110.0 9003
379 InGCS Benton (m) 7149 9001 9807 4499 8801 40.27 9110 8802 -87.18 9110 8805 1.000029 9201 8806 240000.0 9001 8807 36000.0 9001
380 InGCS Benton (ftUS) 7150 9003 9807 4497 8801 40.27 9110 8802 -87.18 9110 8805 1.000029 9201 8806 787400.0 9003 8807 118110.0 9003
381 InGCS Blackford-Delaware (m) 7151 9001 9807 4499 8801 40.03 9110 8802 -85.24 9110 8805 1.000038 9201 8806 240000.0 9001 8807 36000.0 9001
382 InGCS Blackford-Delaware (ftUS) 7152 9003 9807 4497 8801 40.03 9110 8802 -85.24 9110 8805 1.000038 9201 8806 787400.0 9003 8807 118110.0 9003
383 InGCS Boone-Hendricks (m) 7153 9001 9807 4499 8801 39.36 9110 8802 -86.3 9110 8805 1.000036 9201 8806 240000.0 9001 8807 36000.0 9001
384 InGCS Boone-Hendricks (ftUS) 7154 9003 9807 4497 8801 39.36 9110 8802 -86.3 9110 8805 1.000036 9201 8806 787400.0 9003 8807 118110.0 9003
385 InGCS Brown (m) 7155 9001 9807 4499 8801 39.0 9110 8802 -86.18 9110 8805 1.00003 9201 8806 240000.0 9001 8807 36000.0 9001
386 InGCS Brown (ftUS) 7156 9003 9807 4497 8801 39.0 9110 8802 -86.18 9110 8805 1.00003 9201 8806 787400.0 9003 8807 118110.0 9003
387 InGCS Carroll (m) 7157 9001 9807 4499 8801 40.24 9110 8802 -86.39 9110 8805 1.000026 9201 8806 240000.0 9001 8807 36000.0 9001
388 InGCS Carroll (ftUS) 7158 9003 9807 4497 8801 40.24 9110 8802 -86.39 9110 8805 1.000026 9201 8806 787400.0 9003 8807 118110.0 9003
389 InGCS Cass (m) 7159 9001 9807 4499 8801 40.33 9110 8802 -86.24 9110 8805 1.000028 9201 8806 240000.0 9001 8807 36000.0 9001
390 InGCS Cass (ftUS) 7160 9003 9807 4497 8801 40.33 9110 8802 -86.24 9110 8805 1.000028 9201 8806 787400.0 9003 8807 118110.0 9003
391 InGCS Clark-Floyd-Scott (m) 7161 9001 9807 4499 8801 38.09 9110 8802 -85.36 9110 8805 1.000021 9201 8806 240000.0 9001 8807 36000.0 9001
392 InGCS Clark-Floyd-Scott (ftUS) 7162 9003 9807 4497 8801 38.09 9110 8802 -85.36 9110 8805 1.000021 9201 8806 787400.0 9003 8807 118110.0 9003
393 InGCS Clay (m) 7163 9001 9807 4499 8801 39.09 9110 8802 -87.09 9110 8805 1.000024 9201 8806 240000.0 9001 8807 36000.0 9001
394 InGCS Clay (ftUS) 7164 9003 9807 4497 8801 39.09 9110 8802 -87.09 9110 8805 1.000024 9201 8806 787400.0 9003 8807 118110.0 9003
395 InGCS Clinton (m) 7165 9001 9807 4499 8801 40.09 9110 8802 -86.36 9110 8805 1.000032 9201 8806 240000.0 9001 8807 36000.0 9001
396 InGCS Clinton (ftUS) 7166 9003 9807 4497 8801 40.09 9110 8802 -86.36 9110 8805 1.000032 9201 8806 787400.0 9003 8807 118110.0 9003
397 InGCS Crawford-Lawrence-Orange (m) 7167 9001 9807 4499 8801 38.06 9110 8802 -86.3 9110 8805 1.000025 9201 8806 240000.0 9001 8807 36000.0 9001
398 InGCS Crawford-Lawrence-Orange (ftUS) 7168 9003 9807 4497 8801 38.06 9110 8802 -86.3 9110 8805 1.000025 9201 8806 787400.0 9003 8807 118110.0 9003
399 InGCS Daviess-Greene (m) 7169 9001 9807 4499 8801 38.27 9110 8802 -87.06 9110 8805 1.000018 9201 8806 240000.0 9001 8807 36000.0 9001
400 InGCS Daviess-Greene (ftUS) 7170 9003 9807 4497 8801 38.27 9110 8802 -87.06 9110 8805 1.000018 9201 8806 787400.0 9003 8807 118110.0 9003
401 InGCS Dearborn-Ohio-Switzerland (m) 7171 9001 9807 4499 8801 38.39 9110 8802 -84.54 9110 8805 1.000029 9201 8806 240000.0 9001 8807 36000.0 9001
402 InGCS Dearborn-Ohio-Switzerland (ftUS) 7172 9003 9807 4497 8801 38.39 9110 8802 -84.54 9110 8805 1.000029 9201 8806 787400.0 9003 8807 118110.0 9003
403 InGCS Decatur-Rush (m) 7173 9001 9807 4499 8801 39.06 9110 8802 -85.39 9110 8805 1.000036 9201 8806 240000.0 9001 8807 36000.0 9001
404 InGCS Decatur-Rush (ftUS) 7174 9003 9807 4497 8801 39.06 9110 8802 -85.39 9110 8805 1.000036 9201 8806 787400.0 9003 8807 118110.0 9003
405 InGCS DeKalb (m) 7175 9001 9807 4499 8801 41.15 9110 8802 -84.57 9110 8805 1.000036 9201 8806 240000.0 9001 8807 36000.0 9001
406 InGCS DeKalb (ftUS) 7176 9003 9807 4497 8801 41.15 9110 8802 -84.57 9110 8805 1.000036 9201 8806 787400.0 9003 8807 118110.0 9003
407 InGCS Dubois-Martin (m) 7177 9001 9807 4499 8801 38.12 9110 8802 -86.57 9110 8805 1.00002 9201 8806 240000.0 9001 8807 36000.0 9001
408 InGCS Dubois-Martin (ftUS) 7178 9003 9807 4497 8801 38.12 9110 8802 -86.57 9110 8805 1.00002 9201 8806 787400.0 9003 8807 118110.0 9003
409 InGCS Elkhart-Kosciusko-Wabash (m) 7179 9001 9807 4499 8801 40.39 9110 8802 -85.51 9110 8805 1.000033 9201 8806 240000.0 9001 8807 36000.0 9001
410 InGCS Elkhart-Kosciusko-Wabash (ftUS) 7180 9003 9807 4497 8801 40.39 9110 8802 -85.51 9110 8805 1.000033 9201 8806 787400.0 9003 8807 118110.0 9003
411 InGCS Fayette-Franklin-Union (m) 7181 9001 9807 4499 8801 39.15 9110 8802 -85.03 9110 8805 1.000038 9201 8806 240000.0 9001 8807 36000.0 9001
412 InGCS Fayette-Franklin-Union (ftUS) 7182 9003 9807 4497 8801 39.15 9110 8802 -85.03 9110 8805 1.000038 9201 8806 787400.0 9003 8807 118110.0 9003
413 InGCS Fountain-Warren (m) 7183 9001 9807 4499 8801 39.57 9110 8802 -87.18 9110 8805 1.000025 9201 8806 240000.0 9001 8807 36000.0 9001
414 InGCS Fountain-Warren (ftUS) 7184 9003 9807 4497 8801 39.57 9110 8802 -87.18 9110 8805 1.000025 9201 8806 787400.0 9003 8807 118110.0 9003
415 InGCS Fulton-Marshall-St. Joseph (m) 7185 9001 9807 4499 8801 40.54 9110 8802 -86.18 9110 8805 1.000031 9201 8806 240000.0 9001 8807 36000.0 9001
416 InGCS Fulton-Marshall-St. Joseph (ftUS) 7186 9003 9807 4497 8801 40.54 9110 8802 -86.18 9110 8805 1.000031 9201 8806 787400.0 9003 8807 118110.0 9003
417 InGCS Gibson (m) 7187 9001 9807 4499 8801 38.09 9110 8802 -87.39 9110 8805 1.000013 9201 8806 240000.0 9001 8807 36000.0 9001
418 InGCS Gibson (ftUS) 7188 9003 9807 4497 8801 38.09 9110 8802 -87.39 9110 8805 1.000013 9201 8806 787400.0 9003 8807 118110.0 9003
419 InGCS Grant (m) 7189 9001 9807 4499 8801 40.21 9110 8802 -85.42 9110 8805 1.000034 9201 8806 240000.0 9001 8807 36000.0 9001
420 InGCS Grant (ftUS) 7190 9003 9807 4497 8801 40.21 9110 8802 -85.42 9110 8805 1.000034 9201 8806 787400.0 9003 8807 118110.0 9003
421 InGCS Hamilton-Tipton (m) 7191 9001 9807 4499 8801 39.54 9110 8802 -86.0 9110 8805 1.000034 9201 8806 240000.0 9001 8807 36000.0 9001
422 InGCS Hamilton-Tipton (ftUS) 7192 9003 9807 4497 8801 39.54 9110 8802 -86.0 9110 8805 1.000034 9201 8806 787400.0 9003 8807 118110.0 9003
423 InGCS Hancock-Madison (m) 7193 9001 9807 4499 8801 39.39 9110 8802 -85.48 9110 8805 1.000036 9201 8806 240000.0 9001 8807 36000.0 9001
424 InGCS Hancock-Madison (ftUS) 7194 9003 9807 4497 8801 39.39 9110 8802 -85.48 9110 8805 1.000036 9201 8806 787400.0 9003 8807 118110.0 9003
425 InGCS Harrison-Washington (m) 7195 9001 9807 4499 8801 37.57 9110 8802 -86.09 9110 8805 1.000027 9201 8806 240000.0 9001 8807 36000.0 9001
426 InGCS Harrison-Washington (ftUS) 7196 9003 9807 4497 8801 37.57 9110 8802 -86.09 9110 8805 1.000027 9201 8806 787400.0 9003 8807 118110.0 9003
427 InGCS Henry (m) 7197 9001 9807 4499 8801 39.45 9110 8802 -85.27 9110 8805 1.000043 9201 8806 240000.0 9001 8807 36000.0 9001
428 InGCS Henry (ftUS) 7198 9003 9807 4497 8801 39.45 9110 8802 -85.27 9110 8805 1.000043 9201 8806 787400.0 9003 8807 118110.0 9003
429 InGCS Howard-Miami (m) 7199 9001 9807 4499 8801 40.21 9110 8802 -86.09 9110 8805 1.000031 9201 8806 240000.0 9001 8807 36000.0 9001
430 InGCS Howard-Miami (ftUS) 7200 9003 9807 4497 8801 40.21 9110 8802 -86.09 9110 8805 1.000031 9201 8806 787400.0 9003 8807 118110.0 9003
431 InGCS Huntington-Whitley (m) 7201 9001 9807 4499 8801 40.39 9110 8802 -85.3 9110 8805 1.000034 9201 8806 240000.0 9001 8807 36000.0 9001
432 InGCS Huntington-Whitley (ftUS) 7202 9003 9807 4497 8801 40.39 9110 8802 -85.3 9110 8805 1.000034 9201 8806 787400.0 9003 8807 118110.0 9003
433 InGCS Jackson (m) 7203 9001 9807 4499 8801 38.42 9110 8802 -85.57 9110 8805 1.000022 9201 8806 240000.0 9001 8807 36000.0 9001
434 InGCS Jackson (ftUS) 7204 9003 9807 4497 8801 38.42 9110 8802 -85.57 9110 8805 1.000022 9201 8806 787400.0 9003 8807 118110.0 9003
435 InGCS Jasper-Porter (m) 7205 9001 9807 4499 8801 40.42 9110 8802 -87.06 9110 8805 1.000027 9201 8806 240000.0 9001 8807 36000.0 9001
436 InGCS Jasper-Porter (ftUS) 7206 9003 9807 4497 8801 40.42 9110 8802 -87.06 9110 8805 1.000027 9201 8806 787400.0 9003 8807 118110.0 9003
437 InGCS Jay (m) 7207 9001 9807 4499 8801 40.18 9110 8802 -85.0 9110 8805 1.000038 9201 8806 240000.0 9001 8807 36000.0 9001
438 InGCS Jay (ftUS) 7208 9003 9807 4497 8801 40.18 9110 8802 -85.0 9110 8805 1.000038 9201 8806 787400.0 9003 8807 118110.0 9003
439 InGCS Jefferson (m) 7209 9001 9807 4499 8801 38.33 9110 8802 -85.21 9110 8805 1.000028 9201 8806 240000.0 9001 8807 36000.0 9001
440 InGCS Jefferson (ftUS) 7210 9003 9807 4497 8801 38.33 9110 8802 -85.21 9110 8805 1.000028 9201 8806 787400.0 9003 8807 118110.0 9003
441 InGCS Jennings (m) 7211 9001 9807 4499 8801 38.48 9110 8802 -85.48 9110 8805 1.000025 9201 8806 240000.0 9001 8807 36000.0 9001
442 InGCS Jennings (ftUS) 7212 9003 9807 4497 8801 38.48 9110 8802 -85.48 9110 8805 1.000025 9201 8806 787400.0 9003 8807 118110.0 9003
443 InGCS Johnson-Marion (m) 7213 9001 9807 4499 8801 39.18 9110 8802 -86.09 9110 8805 1.000031 9201 8806 240000.0 9001 8807 36000.0 9001
444 InGCS Johnson-Marion (ftUS) 7214 9003 9807 4497 8801 39.18 9110 8802 -86.09 9110 8805 1.000031 9201 8806 787400.0 9003 8807 118110.0 9003
445 InGCS Knox (m) 7215 9001 9807 4499 8801 38.24 9110 8802 -87.27 9110 8805 1.000015 9201 8806 240000.0 9001 8807 36000.0 9001
446 InGCS Knox (ftUS) 7216 9003 9807 4497 8801 38.24 9110 8802 -87.27 9110 8805 1.000015 9201 8806 787400.0 9003 8807 118110.0 9003
447 InGCS LaGrange-Noble (m) 7217 9001 9807 4499 8801 41.15 9110 8802 -85.27 9110 8805 1.000037 9201 8806 240000.0 9001 8807 36000.0 9001
448 InGCS LaGrange-Noble (ftUS) 7218 9003 9807 4497 8801 41.15 9110 8802 -85.27 9110 8805 1.000037 9201 8806 787400.0 9003 8807 118110.0 9003
449 InGCS Lake-Newton (m) 7219 9001 9807 4499 8801 40.42 9110 8802 -87.24 9110 8805 1.000026 9201 8806 240000.0 9001 8807 36000.0 9001
450 InGCS Lake-Newton (ftUS) 7220 9003 9807 4497 8801 40.42 9110 8802 -87.24 9110 8805 1.000026 9201 8806 787400.0 9003 8807 118110.0 9003
451 InGCS LaPorte-Pulaski-Starke (m) 7221 9001 9807 4499 8801 40.54 9110 8802 -86.45 9110 8805 1.000027 9201 8806 240000.0 9001 8807 36000.0 9001
452 InGCS LaPorte-Pulaski-Starke (ftUS) 7222 9003 9807 4497 8801 40.54 9110 8802 -86.45 9110 8805 1.000027 9201 8806 787400.0 9003 8807 118110.0 9003
453 InGCS Monroe-Morgan (m) 7223 9001 9807 4499 8801 38.57 9110 8802 -86.3 9110 8805 1.000028 9201 8806 240000.0 9001 8807 36000.0 9001
454 InGCS Monroe-Morgan (ftUS) 7224 9003 9807 4497 8801 38.57 9110 8802 -86.3 9110 8805 1.000028 9201 8806 787400.0 9003 8807 118110.0 9003
455 InGCS Montgomery-Putnam (m) 7225 9001 9807 4499 8801 39.27 9110 8802 -86.57 9110 8805 1.000031 9201 8806 240000.0 9001 8807 36000.0 9001
456 InGCS Montgomery-Putnam (ftUS) 7226 9003 9807 4497 8801 39.27 9110 8802 -86.57 9110 8805 1.000031 9201 8806 787400.0 9003 8807 118110.0 9003
457 InGCS Owen (m) 7227 9001 9807 4499 8801 39.09 9110 8802 -86.54 9110 8805 1.000026 9201 8806 240000.0 9001 8807 36000.0 9001
458 InGCS Owen (ftUS) 7228 9003 9807 4497 8801 39.09 9110 8802 -86.54 9110 8805 1.000026 9201 8806 787400.0 9003 8807 118110.0 9003
459 InGCS Parke-Vermillion (m) 7229 9001 9807 4499 8801 39.36 9110 8802 -87.21 9110 8805 1.000022 9201 8806 240000.0 9001 8807 36000.0 9001
460 InGCS Parke-Vermillion (ftUS) 7230 9003 9807 4497 8801 39.36 9110 8802 -87.21 9110 8805 1.000022 9201 8806 787400.0 9003 8807 118110.0 9003
461 InGCS Perry (m) 7231 9001 9807 4499 8801 37.48 9110 8802 -86.42 9110 8805 1.00002 9201 8806 240000.0 9001 8807 36000.0 9001
462 InGCS Perry (ftUS) 7232 9003 9807 4497 8801 37.48 9110 8802 -86.42 9110 8805 1.00002 9201 8806 787400.0 9003 8807 118110.0 9003
463 InGCS Pike-Warrick (m) 7233 9001 9807 4499 8801 37.51 9110 8802 -87.18 9110 8805 1.000015 9201 8806 240000.0 9001 8807 36000.0 9001
464 InGCS Pike-Warrick (ftUS) 7234 9003 9807 4497 8801 37.51 9110 8802 -87.18 9110 8805 1.000015 9201 8806 787400.0 9003 8807 118110.0 9003
465 InGCS Posey (m) 7235 9001 9807 4499 8801 37.45 9110 8802 -87.57 9110 8805 1.000013 9201 8806 240000.0 9001 8807 36000.0 9001
466 InGCS Posey (ftUS) 7236 9003 9807 4497 8801 37.45 9110 8802 -87.57 9110 8805 1.000013 9201 8806 787400.0 9003 8807 118110.0 9003
467 InGCS Randolph-Wayne (m) 7237 9001 9807 4499 8801 39.42 9110 8802 -85.03 9110 8805 1.000044 9201 8806 240000.0 9001 8807 36000.0 9001
468 InGCS Randolph-Wayne (ftUS) 7238 9003 9807 4497 8801 39.42 9110 8802 -85.03 9110 8805 1.000044 9201 8806 787400.0 9003 8807 118110.0 9003
469 InGCS Ripley (m) 7239 9001 9807 4499 8801 38.54 9110 8802 -85.18 9110 8805 1.000038 9201 8806 240000.0 9001 8807 36000.0 9001
470 InGCS Ripley (ftUS) 7240 9003 9807 4497 8801 38.54 9110 8802 -85.18 9110 8805 1.000038 9201 8806 787400.0 9003 8807 118110.0 9003
471 InGCS Shelby (m) 7241 9001 9807 4499 8801 39.18 9110 8802 -85.54 9110 8805 1.00003 9201 8806 240000.0 9001 8807 36000.0 9001
472 InGCS Shelby (ftUS) 7242 9003 9807 4497 8801 39.18 9110 8802 -85.54 9110 8805 1.00003 9201 8806 787400.0 9003 8807 118110.0 9003
473 InGCS Spencer (m) 7243 9001 9807 4499 8801 37.45 9110 8802 -87.03 9110 8805 1.000014 9201 8806 240000.0 9001 8807 36000.0 9001
474 InGCS Spencer (ftUS) 7244 9003 9807 4497 8801 37.45 9110 8802 -87.03 9110 8805 1.000014 9201 8806 787400.0 9003 8807 118110.0 9003
475 InGCS Steuben (m) 7245 9001 9807 4499 8801 41.3 9110 8802 -85.0 9110 8805 1.000041 9201 8806 240000.0 9001 8807 36000.0 9001
476 InGCS Steuben (ftUS) 7246 9003 9807 4497 8801 41.3 9110 8802 -85.0 9110 8805 1.000041 9201 8806 787400.0 9003 8807 118110.0 9003
477 InGCS Sullivan (m) 7247 9001 9807 4499 8801 38.54 9110 8802 -87.3 9110 8805 1.000017 9201 8806 240000.0 9001 8807 36000.0 9001
478 InGCS Sullivan (ftUS) 7248 9003 9807 4497 8801 38.54 9110 8802 -87.3 9110 8805 1.000017 9201 8806 787400.0 9003 8807 118110.0 9003
479 InGCS Tippecanoe-White (m) 7249 9001 9807 4499 8801 40.12 9110 8802 -86.54 9110 8805 1.000026 9201 8806 240000.0 9001 8807 36000.0 9001
480 InGCS Tippecanoe-White (ftUS) 7250 9003 9807 4497 8801 40.12 9110 8802 -86.54 9110 8805 1.000026 9201 8806 787400.0 9003 8807 118110.0 9003
481 InGCS Vanderburgh (m) 7251 9001 9807 4499 8801 37.48 9110 8802 -87.33 9110 8805 1.000015 9201 8806 240000.0 9001 8807 36000.0 9001
482 InGCS Vanderburgh (ftUS) 7252 9003 9807 4497 8801 37.48 9110 8802 -87.33 9110 8805 1.000015 9201 8806 787400.0 9003 8807 118110.0 9003
483 InGCS Vigo (m) 7253 9001 9807 4499 8801 39.15 9110 8802 -87.27 9110 8805 1.00002 9201 8806 240000.0 9001 8807 36000.0 9001
484 InGCS Vigo (ftUS) 7254 9003 9807 4497 8801 39.15 9110 8802 -87.27 9110 8805 1.00002 9201 8806 787400.0 9003 8807 118110.0 9003
485 InGCS Wells (m) 7255 9001 9807 4499 8801 40.33 9110 8802 -85.15 9110 8805 1.000034 9201 8806 240000.0 9001 8807 36000.0 9001
486 InGCS Wells (ftUS) 7256 9003 9807 4497 8801 40.33 9110 8802 -85.15 9110 8805 1.000034 9201 8806 787400.0 9003 8807 118110.0 9003
487 WISCRS Ashland County (m) 7378 9001 9807 4499 8801 45.4222 9110 8802 -90.372 9110 8805 1.0000495683 9201 8806 172821.9461 9001 8807 0.0017 9001
488 WISCRS Ashland County (ftUS) 7379 9003 9807 4497 8801 45.4222 9110 8802 -90.372 9110 8805 1.0000495683 9201 8806 567000.001 9003 8807 0.006 9003
489 WISCRS Bayfield County (m) 7380 9001 9801 4499 8801 46.4010734158 9110 8802 -91.091 9110 8805 1.0000331195 9201 8806 228600.4575 9001 8807 148551.4837 9001
560 WISCRS Wood County (ftUS) 7483 9003 9801 4497 8801 44.214534369 9110 8802 -90 9110 8805 1.0000421209 9201 8806 684000.001 9003 8807 441566.551 9003
561 WISCRS Adams and Juneau Counties (m) 7484 9001 9807 4499 8801 43.22 9110 8802 -90 9110 8805 1.0000365285 9201 8806 147218.6942 9001 8807 0.0037 9001
562 WISCRS Adams and Juneau Counties (ftUS) 7485 9003 9807 4497 8801 43.22 9110 8802 -90 9110 8805 1.0000365285 9201 8806 482999.999 9003 8807 0.012 9003
563 WISCRS Calumet, Fond du Lac, Outagamie and Winnebago Counties (m) 7486 9001 9807 4499 8801 42.431 9110 8802 -88.3 9110 8805 1.0000286569 9201 8806 244754.8893 9001 8807 0.0049 9001
564 WISCRS Calumet, Fond du Lac, Outagamie and Winnebago Counties (ftUS) 7487 9003 9807 4497 8801 42.431 9110 8802 -88.3 9110 8805 1.0000286569 9201 8806 802999.999 9003 8807 0.016 9003
565 WISCRS Columbia County (m) 7488 9001 9801 4499 8801 43.2745167925 9110 8802 -89.234 9110 8805 1.00003498 9201 8806 169164.3381 9001 8807 111569.6134 9001
566 WISCRS Columbia County (ftUS) 7489 9003 9801 4497 8801 43.2745167925 9110 8802 -89.234 9110 8805 1.00003498 9201 8806 554999.999 9003 8807 366041.307 9003
567 WISCRS Crawford County (m) 7490 9001 9801 4499 8801 43.1200200178 9110 8802 -90.562 9110 8805 1.0000349151 9201 8806 113690.6274 9001 8807 53703.1201 9001
578 WISCRS Green Lake and Marquette Counties (ftUS) 7501 9003 9801 4497 8801 43.4825200424 9110 8802 -89.143 9110 8805 1.0000344057 9201 8806 495000 9003 8807 259746.132 9003
579 WISCRS Iowa County (m) 7502 9001 9807 4499 8801 42.322 9110 8802 -90.094 9110 8805 1.0000394961 9201 8806 113081.0261 9001 8807 0.0045 9001
580 WISCRS Iowa County (ftUS) 7503 9003 9807 4497 8801 42.322 9110 8802 -90.094 9110 8805 1.0000394961 9201 8806 371000 9003 8807 0.015 9003
581 WISCRS Kenosha, Milwaukee, Ozaukee and Racine Counties (m) 7504 9001 9807 4499 8801 42.13 9110 8802 -87.534 9110 8805 1.0000260649 9201 8806 185928.3728 9001 8807 0.0009 9001
582 WISCRS Kenosha, Milwaukee, Ozaukee and Racine Counties (ftUS) 7505 9003 9807 4497 8801 42.13 9110 8802 -87.534 9110 8805 1.0000260649 9201 8806 610000.003 9003 8807 0.003 9003
583 WISCRS Kewaunee, Manitowoc and Sheboygan Counties (m) 7506 9001 9807 4499 8801 43.16 9110 8802 -87.33 9110 8805 1.0000233704 9201 8806 79857.7614 9001 8807 0.0012 9001
584 WISCRS Kewaunee, Manitowoc and Sheboygan Counties (ftUS) 7507 9003 9807 4497 8801 43.16 9110 8802 -87.33 9110 8805 1.0000233704 9201 8806 262000.006 9003 8807 0.004 9003
585 WISCRS La Crosse County (m) 7508 9001 9807 4499 8801 43.2704 9110 8802 -91.19 9110 8805 1.0000319985 9201 8806 130454.6598 9001 8807 0.0033 9001
586 WISCRS La Crosse County (ftUS) 7509 9003 9807 4497 8801 43.2704 9110 8802 -91.19 9110 8805 1.0000319985 9201 8806 427999.996 9003 8807 0.011 9003
587 WISCRS Monroe County (m) 7510 9001 9801 4499 8801 44.0000266143 9110 8802 -90.383 9110 8805 1.0000434122 9201 8806 204521.209 9001 8807 121923.9861 9001
646 St. Helena Local Grid (Tritan) 7876 9001 9807 4400 8801 -15.58 9110 8802 -5.43 9110 8805 1 9201 8806 299483.737 9001 8807 2000527.879 9001
647 TM Zone 20N (US survey feet) 8033 9003 9807 4497 8801 0 9102 8802 -63 9102 8805 0.9996 9201 8806 1640416.667 9003 8807 0 9003
648 TM Zone 21N (US survey feet) 8034 9003 9807 4497 8801 0 9102 8802 -57 9102 8805 0.9996 9201 8806 1640416.667 9003 8807 0 9003
649 Pima County zone 1 East (ft) 8061 9002 9815 4495 8811 32.15 9110 8812 -111.24 9110 8813 45.0 9102 8814 45.0 9102 8815 1.00011 9201 8816 160000.0 9002 8817 800000.0 9002
650 Pima County zone 2 Central (ft) 8062 9002 9807 4495 8801 31.15 9110 8802 -112.1 9110 8805 1.00009 9201 8806 1800000.0 9002 8807 1000000.0 9002
651 Pima County zone 3 West (ft) 8063 9002 9807 4495 8801 31.3 9110 8802 -113.1 9110 8805 1.000055 9201 8806 600000.0 9002 8807 0.0 9002
652 Pima County zone 4 Mt. Lemmon (ft) 8064 9002 9801 4495 8801 30.3 9110 8802 -110.45 9110 8805 0.9998 9201 8806 30000.0 9002 8807 -620000.0 9002
653 Oregon Burns-Harper zone (meter) 8273 9001 9807 4499 8801 43.3 9110 8802 -117.4 9110 8805 1.00014 9201 8806 90000.0 9001 8807 0.0 9001
654 Oregon Burns-Harper zone (international foot) 8274 9002 9807 4495 8801 43.3 9110 8802 -117.4 9110 8805 1.00014 9201 8806 295275.5906 9002 8807 0.0 9002
655 Oregon Canyon City-Burns zone (meter) 8275 9001 9807 4499 8801 43.3 9110 8802 -119.0 9110 8805 1.00022 9201 8806 20000.0 9001 8807 0.0 9001
656 Oregon Canyon City-Burns zone (international foot) 8276 9002 9807 4495 8801 43.3 9110 8802 -119.0 9110 8805 1.00022 9201 8806 65616.7979 9002 8807 0.0 9002
657 Oregon Coast Range North zone (meter) 8277 9001 9801 4499 8801 45.35 9110 8802 -123.25 9110 8805 1.000045 9201 8806 30000.0 9001 8807 20000.0 9001
658 Oregon Coast Range North zone (international foot) 8278 9002 9801 4495 8801 45.35 9110 8802 -123.25 9110 8805 1.000045 9201 8806 98425.1969 9002 8807 65616.7979 9002
659 Oregon Dayville-Prairie City zone (meter) 8279 9001 9807 4499 8801 44.15 9110 8802 -119.38 9110 8805 1.00012 9201 8806 20000.0 9001 8807 0.0 9001
660 Oregon Dayville-Prairie City zone (international foot) 8280 9002 9807 4495 8801 44.15 9110 8802 -119.38 9110 8805 1.00012 9201 8806 65616.7979 9002 8807 0.0 9002
661 Oregon Denio-Burns zone (meter) 8281 9001 9807 4499 8801 41.45 9110 8802 -118.25 9110 8805 1.00019 9201 8806 80000.0 9001 8807 0.0 9001
662 Oregon Denio-Burns zone (international foot) 8282 9002 9807 4495 8801 41.45 9110 8802 -118.25 9110 8805 1.00019 9201 8806 262467.1916 9002 8807 0.0 9002
663 Oregon Halfway zone (meter) 8283 9001 9801 4499 8801 45.15 9110 8802 -117.15 9110 8805 1.000085 9201 8806 40000.0 9001 8807 70000.0 9001
664 Oregon Halfway zone (international foot) 8284 9002 9801 4495 8801 45.15 9110 8802 -117.15 9110 8805 1.000085 9201 8806 131233.5958 9002 8807 229658.7927 9002
665 Oregon Medford-Diamond Lake zone (meter) 8285 9001 9801 4499 8801 42.0 9110 8802 -122.15 9110 8805 1.00004 9201 8806 60000.0 9001 8807 -60000.0 9001
666 Oregon Medford-Diamond Lake zone (international foot) 8286 9002 9801 4495 8801 42.0 9110 8802 -122.15 9110 8805 1.00004 9201 8806 196850.3937 9002 8807 -196850.3937 9002
667 Oregon Mitchell zone (meter) 8287 9001 9801 4499 8801 47.0 9110 8802 -120.15 9110 8805 0.99927 9201 8806 30000.0 9001 8807 290000.0 9001
668 Oregon Mitchell zone (international foot) 8288 9002 9801 4495 8801 47.0 9110 8802 -120.15 9110 8805 0.99927 9201 8806 98425.1969 9002 8807 951443.5696 9002
669 Oregon North Central zone (meter) 8289 9001 9801 4499 8801 46.1 9110 8802 -120.3 9110 8805 1.0 9201 8806 100000.0 9001 8807 140000.0 9001
670 Oregon North Central zone (international foot) 8290 9002 9801 4495 8801 46.1 9110 8802 -120.3 9110 8805 1.0 9201 8806 328083.9895 9002 8807 459317.5853 9002
671 Oregon Ochoco Summit zone (meter) 8291 9001 9801 4499 8801 43.3 9110 8802 -120.3 9110 8805 1.00006 9201 8806 40000.0 9001 8807 -80000.0 9001
672 Oregon Ochoco Summit zone (international foot) 8292 9002 9801 4495 8801 43.3 9110 8802 -120.3 9110 8805 1.00006 9201 8806 131233.5958 9002 8807 -262467.1916 9002
673 Oregon Owyhee zone (meter) 8293 9001 9807 4499 8801 41.45 9110 8802 -117.35 9110 8805 1.00018 9201 8806 70000.0 9001 8807 0.0 9001
674 Oregon Owyhee zone (international foot) 8294 9002 9807 4495 8801 41.45 9110 8802 -117.35 9110 8805 1.00018 9201 8806 229658.7927 9002 8807 0.0 9002
675 Oregon Pilot Rock-Ukiah zone (meter) 8295 9001 9801 4499 8801 46.1 9110 8802 -119.0 9110 8805 1.000025 9201 8806 50000.0 9001 8807 130000.0 9001
676 Oregon Pilot Rock-Ukiah zone (international foot) 8296 9002 9801 4495 8801 46.1 9110 8802 -119.0 9110 8805 1.000025 9201 8806 164041.9948 9002 8807 426509.1864 9002
677 Oregon Prairie City-Brogan zone (meter) 8297 9001 9801 4499 8801 44.0 9110 8802 -118.0 9110 8805 1.00017 9201 8806 60000.0 9001 8807 0.0 9001
678 Oregon Prairie City-Brogan zone (international foot) 8298 9002 9801 4495 8801 44.0 9110 8802 -118.0 9110 8805 1.00017 9201 8806 196850.3937 9002 8807 0.0 9002
679 Oregon Riley-Lakeview zone (meter) 8299 9001 9807 4499 8801 41.45 9110 8802 -120.2 9110 8805 1.000215 9201 8806 70000.0 9001 8807 0.0 9001
680 Oregon Riley-Lakeview zone (international foot) 8300 9002 9807 4495 8801 41.45 9110 8802 -120.2 9110 8805 1.000215 9201 8806 229658.7927 9002 8807 0.0 9002
681 Oregon Siskiyou Pass zone (meter) 8301 9001 9801 4499 8801 42.3 9110 8802 -122.35 9110 8805 1.00015 9201 8806 10000.0 9001 8807 60000.0 9001
682 Oregon Siskiyou Pass zone (international foot) 8302 9002 9801 4495 8801 42.3 9110 8802 -122.35 9110 8805 1.00015 9201 8806 32808.399 9002 8807 196850.3937 9002
683 Oregon Ukiah-Fox zone (meter) 8303 9001 9801 4499 8801 45.15 9110 8802 -119.0 9110 8805 1.00014 9201 8806 30000.0 9001 8807 90000.0 9001
684 Oregon Ukiah-Fox zone (international foot) 8304 9002 9801 4495 8801 45.15 9110 8802 -119.0 9110 8805 1.00014 9201 8806 98425.1969 9002 8807 295275.5906 9002
685 Oregon Wallowa zone (meter) 8305 9001 9807 4495 8801 45.15 9110 8802 -117.3 9110 8805 1.000195 9201 8806 60000.0 9001 8807 0.0 9001
686 Oregon Wallowa zone (international foot) 8306 9002 9807 4495 8801 45.15 9110 8802 -117.3 9110 8805 1.000195 9201 8806 196850.3937 9002 8807 0.0 9002
687 Oregon Warner Highway zone (meter) 8307 9001 9801 4499 8801 42.3 9110 8802 -120.0 9110 8805 1.000245 9201 8806 40000.0 9001 8807 60000.0 9001
688 Oregon Warner Highway zone (international foot) 8308 9002 9801 4495 8801 42.3 9110 8802 -120.0 9110 8805 1.000245 9201 8806 131233.5958 9002 8807 196850.3937 9002
689 Oregon Willamette Pass zone (meter) 8309 9001 9807 4499 8801 43.0 9110 8802 -122.0 9110 8805 1.000223 9201 8806 20000.0 9001 8807 0.0 9001
690 Oregon Willamette Pass zone (international foot) 8310 9002 9807 4495 8801 43.0 9110 8802 -122.0 9110 8805 1.000223 9201 8806 65616.7979 9002 8807 0.0 9002
691 NCRS Las Vegas zone (m) 8373 9001 9807 4499 8801 36.15 9110 8802 -114.58 9110 8805 1.0001 9201 8806 100000.0 9001 8807 200000.0 9001
692 NCRS Las Vegas zone (ftUS) 8374 9003 9807 4497 8801 36.15 9110 8802 -114.58 9110 8805 1.0001 9201 8806 328083.3333 9003 8807 656166.6667 9003
693 NCRS Las Vegas high elevation zone (m) 8375 9001 9807 4499 8801 36.15 9110 8802 -114.58 9110 8805 1.000135 9201 8806 300000.0 9001 8807 400000.0 9001
694 NCRS Las Vegas high elevation zone (ftUS) 8376 9003 9807 4497 8801 36.15 9110 8802 -114.58 9110 8805 1.000135 9201 8806 984250.0 9003 8807 1312333.3333 9003
695 Kansas regional zone 1 Goodland (ftUS) 8458 9003 9807 4497 8801 37.3 9110 8802 -101.36 9110 8805 1.000156 9201 8806 1500000.0 9003 8807 0.0 9003
696 Kansas regional zone 2 Colby (ftUS) 8459 9003 9807 4497 8801 37.3 9110 8802 -100.57 9110 8805 1.000134 9201 8806 2500000.0 9003 8807 0.0 9003
697 Kansas regional zone 3 Oberlin (ftUS) 8490 9003 9807 4497 8801 37.3 9110 8802 -100.21 9110 8805 1.000116 9201 8806 3500000.0 9003 8807 0.0 9003
698 Kansas regional zone 4 Hays (ftUS) 8491 9003 9807 4497 8801 37.3 9110 8802 -99.27 9110 8805 1.000082 9201 8806 4500000.0 9003 8807 0.0 9003
699 Kansas regional zone 5 Great Bend (ftUS) 8492 9003 9807 4497 8801 37.3 9110 8802 -98.4 9110 8805 1.000078 9201 8806 5500000.0 9003 8807 0.0 9003
700 Kansas regional zone 6 Beliot (ftUS) 8493 9003 9807 4497 8801 37.3 9110 8802 -98.09 9110 8805 1.000068 9201 8806 6500000.0 9003 8807 0.0 9003
701 Kansas regional zone 7 Salina (ftUS) 8494 9003 9807 4497 8801 37.3 9110 8802 -97.2 9110 8805 1.000049 9201 8806 7500000.0 9003 8807 0.0 9003
702 Kansas regional zone 8 Manhattan (ftUS) 8495 9003 9801 4497 8801 39.1 9110 8802 -96.3 9110 8805 1.000044 9201 8806 8500000.0 9003 8807 600000.0 9003
703 Kansas regional zone 9 Emporia (ftUS) 8498 9003 9801 4497 8801 38.3 9110 8802 -96.3 9110 8805 1.00005 9201 8806 9500000.0 9003 8807 300000.0 9003
704 Kansas regional zone 10 Atchison (ftUS) 8499 9003 9801 4497 8801 39.38 9110 8802 -95.45 9110 8805 1.00004 9201 8806 10500000.0 9003 8807 700000.0 9003
705 Kansas regional zone 11 Kansas City (ftUS) 8500 9003 9801 4497 8801 39.06 9110 8802 -95.15 9110 8805 1.000033 9201 8806 11500000.0 9003 8807 600000.0 9003
706 Kansas regional zone 12 Ulysses (ftUS) 8501 9003 9807 4497 8801 36.45 9110 8802 -101.25 9110 8805 1.00014 9201 8806 12500000.0 9003 8807 0.0 9003
707 Kansas regional zone 13 Garden City (ftUS) 8502 9003 9807 4497 8801 36.45 9110 8802 -100.24 9110 8805 1.000109 9201 8806 13500000.0 9003 8807 0.0 9003
708 Kansas regional zone 14 Dodge City (ftUS) 8503 9003 9807 4497 8801 36.45 9110 8802 -99.4 9110 8805 1.000097 9201 8806 14500000.0 9003 8807 0.0 9003
709 Kansas regional zone 15 Larned (ftUS) 8504 9003 9807 4497 8801 36.45 9110 8802 -99.12 9110 8805 1.000087 9201 8806 15500000.0 9003 8807 0.0 9003
710 Kansas regional zone 16 Pratt (ftUS) 8505 9003 9807 4497 8801 36.45 9110 8802 -98.33 9110 8805 1.000069 9201 8806 16500000.0 9003 8807 0.0 9003
711 Kansas regional zone 17 Wichita (ftUS) 8506 9003 9801 4497 8801 37.46 9110 8802 -97.3 9110 8805 1.000059 9201 8806 17500000.0 9003 8807 400000.0 9003
712 Kansas regional zone 18 Arkansas City (ftUS) 8507 9003 9801 4497 8801 37.11 9110 8802 -97.3 9110 8805 1.000055 9201 8806 18500000.0 9003 8807 200000.0 9003
713 Kansas regional zone 19 Coffeyville (ftUS) 8515 9003 9807 4497 8801 36.45 9110 8802 -95.58 9110 8805 1.000034 9201 8806 19500000.0 9003 8807 0.0 9003
714 Kansas regional zone 20 Pittsburg (ftUS) 8516 9003 9807 4497 8801 36.45 9110 8802 -95.05 9110 8805 1.000031 9201 8806 20500000.0 9003 8807 0.0 9003
715 SPCS83 Alabama East zone (US survey foot) 9746 9003 9807 4497 8801 30.3 9110 8802 -85.5 9110 8805 0.99996 9201 8806 656166.667 9003 8807 0.0 9003
716 SPCS83 Alabama West zone (US survey foot) 9747 9003 9807 4497 8801 30.0 9110 8802 -87.3 9110 8805 0.999933333 9201 8806 1968500.0 9003 8807 0.0 9003
717 Alabama CS27 East zone 10101 9003 9807 4497 8801 30.3 9110 8802 -85.5 9110 8805 0.99996 9201 8806 500000 9003 8807 0 9003
718 Alabama CS27 West zone 10102 9003 9807 4497 8801 30 9110 8802 -87.3 9110 8805 0.999933333 9201 8806 500000 9003 8807 0 9003
719 SPCS83 Alabama East zone (meters) 10131 9001 9807 4499 8801 30.3 9110 8802 -85.5 9110 8805 0.99996 9201 8806 200000 9001 8807 0 9001

View File

@ -2,6 +2,7 @@
#include "map/pcs.h" #include "map/pcs.h"
#include "map/gcs.h" #include "map/gcs.h"
#include "map/utm.h" #include "map/utm.h"
#include "map/projection.h"
#include "gpsdumpparser.h" #include "gpsdumpparser.h"
static double dms2dd(const QStringList &dms) static double dms2dd(const QStringList &dms)

View File

@ -303,20 +303,20 @@ bool BSBMap::createProjection(const QString &datum, const QString &proj,
} }
if (!proj.compare("MERCATOR", Qt::CaseInsensitive)) { if (!proj.compare("MERCATOR", Qt::CaseInsensitive)) {
Projection::Setup setup(0, c.lon(), NAN, 0, 0, NAN, NAN); Conversion::Setup setup(0, c.lon(), NAN, 0, 0, NAN, NAN);
pcs = PCS(gcs, Conversion(9804, setup, 9001)); pcs = PCS(gcs, Conversion(9804, setup, 9001));
} else if (!proj.compare("TRANSVERSE MERCATOR", Qt::CaseInsensitive)) { } else if (!proj.compare("TRANSVERSE MERCATOR", Qt::CaseInsensitive)) {
Projection::Setup setup(0, params[1], params[2], 0, 0, NAN, NAN); Conversion::Setup setup(0, params[1], params[2], 0, 0, NAN, NAN);
pcs = PCS(gcs, Conversion(9807, setup, 9001)); pcs = PCS(gcs, Conversion(9807, setup, 9001));
} else if (!proj.compare("UNIVERSAL TRANSVERSE MERCATOR", } else if (!proj.compare("UNIVERSAL TRANSVERSE MERCATOR",
Qt::CaseInsensitive)) { Qt::CaseInsensitive)) {
Projection::Setup setup(0, params[0], 0.9996, 500000, 0, NAN, NAN); Conversion::Setup setup(0, params[0], 0.9996, 500000, 0, NAN, NAN);
pcs = PCS(gcs, Conversion(9807, setup, 9001)); pcs = PCS(gcs, Conversion(9807, setup, 9001));
} else if (!proj.compare("LAMBERT CONFORMAL CONIC", Qt::CaseInsensitive)) { } else if (!proj.compare("LAMBERT CONFORMAL CONIC", Qt::CaseInsensitive)) {
Projection::Setup setup(0, params[0], NAN, 0, 0, params[2], params[3]); Conversion::Setup setup(0, params[0], NAN, 0, 0, params[2], params[3]);
pcs = PCS(gcs, Conversion(9802, setup, 9001)); pcs = PCS(gcs, Conversion(9802, setup, 9001));
} else if (!proj.compare("POLYCONIC", Qt::CaseInsensitive)) { } else if (!proj.compare("POLYCONIC", Qt::CaseInsensitive)) {
Projection::Setup setup(0, params[0], NAN, 0, 0, NAN, NAN); Conversion::Setup setup(0, params[0], NAN, 0, 0, NAN, NAN);
pcs = PCS(gcs, Conversion(9818, setup, 9001)); pcs = PCS(gcs, Conversion(9818, setup, 9001));
} else { } else {
_errorString = proj + ": Unknown/missing projection"; _errorString = proj + ": Unknown/missing projection";

View File

@ -1,8 +1,9 @@
#include <QFile> #include <QFile>
#include "common/csv.h" #include "common/csv.h"
#include "angularunits.h"
#include "conversion.h" #include "conversion.h"
static bool parameter(int key, double val, int units, Projection::Setup &setup) static bool parameter(int key, double val, int units, Conversion::Setup &setup)
{ {
switch (key) { switch (key) {
case 8801: case 8801:
@ -65,7 +66,7 @@ static bool parameter(int key, double val, int units, Projection::Setup &setup)
} }
} }
static int projectionSetup(const QByteArrayList &list, Projection::Setup &setup) static int projectionSetup(const QByteArrayList &list, Conversion::Setup &setup)
{ {
bool r1, r2, r3; bool r1, r2, r3;
@ -87,13 +88,36 @@ static int projectionSetup(const QByteArrayList &list, Projection::Setup &setup)
return 0; return 0;
} }
Conversion::Method::Method(int id)
{
switch (id) {
case 1024:
case 1041:
case 9801:
case 9802:
case 9804:
case 9807:
case 9809:
case 9815:
case 9818:
case 9819:
case 9820:
case 9822:
case 9829:
_id = id;
break;
default:
_id = 0;
}
}
QMap<int, Conversion::Entry> Conversion::_conversions = defaults(); QMap<int, Conversion::Entry> Conversion::_conversions = defaults();
QMap<int, Conversion::Entry> Conversion::defaults() QMap<int, Conversion::Entry> Conversion::defaults()
{ {
QMap<int, Conversion::Entry> map; QMap<int, Conversion::Entry> map;
map.insert(3856, Entry("Popular Visualisation Pseudo-Mercator", 1024, map.insert(3856, Entry("Popular Visualisation Pseudo-Mercator", 1024,
Projection::Setup(), 9001, 4400)); Setup(), 9001, 4400));
return map; return map;
} }
@ -159,7 +183,7 @@ bool Conversion::loadList(const QString &path)
csv.line()); csv.line());
continue; continue;
} }
if (!Projection::Method(transform).isValid()) { if (!Method(transform).isValid()) {
qWarning("%s:%d: Unknown coordinate transformation code", qWarning("%s:%d: Unknown coordinate transformation code",
qPrintable(path), csv.line()); qPrintable(path), csv.line());
continue; continue;
@ -170,7 +194,7 @@ bool Conversion::loadList(const QString &path)
continue; continue;
} }
Projection::Setup setup; Setup setup;
int pn = projectionSetup(entry, setup); int pn = projectionSetup(entry, setup);
if (pn) { if (pn) {
qWarning("%s: %d: Invalid projection parameter #%d", qWarning("%s: %d: Invalid projection parameter #%d",
@ -196,6 +220,21 @@ QList<KV<int, QString> > Conversion::list()
} }
#ifndef QT_NO_DEBUG #ifndef QT_NO_DEBUG
QDebug operator<<(QDebug dbg, const Conversion::Setup &setup)
{
dbg.nospace() << "Setup(" << setup.latitudeOrigin() << ", "
<< setup.longitudeOrigin() << ", " << setup.scale() << ", "
<< setup.falseEasting() << ", " << setup.falseNorthing() << ", "
<< setup.standardParallel1() << ", " << setup.standardParallel2() << ")";
return dbg.space();
}
QDebug operator<<(QDebug dbg, const Conversion::Method &method)
{
dbg.nospace() << "Method(" << method.id() << ")";
return dbg.space();
}
QDebug operator<<(QDebug dbg, const Conversion &conversion) QDebug operator<<(QDebug dbg, const Conversion &conversion)
{ {
dbg.nospace() << "Conversion(" << conversion.method() << ", " dbg.nospace() << "Conversion(" << conversion.method() << ", "

View File

@ -1,18 +1,81 @@
#ifndef CONVERSION_H #ifndef CONVERSION_H
#define CONVERSION_H #define CONVERSION_H
#include "projection.h" #include <cmath>
#include <QDebug>
#include <common/kv.h>
#include "coordinatesystem.h"
#include "linearunits.h"
class Conversion { class Conversion {
public: public:
Conversion() {} class Setup {
Conversion(const Projection::Method &method, public:
const Projection::Setup &setup, const LinearUnits &units, Setup() : _latitudeOrigin(NAN), _longitudeOrigin(NAN), _scale(NAN),
const CoordinateSystem &cs = CoordinateSystem()) : _method(method), _falseEasting(NAN), _falseNorthing(NAN), _standardParallel1(NAN),
_setup(setup), _units(units), _cs(cs) {} _standardParallel2(NAN) {}
Setup(double latitudeOrigin, double longitudeOrigin, double scale,
double falseEasting, double falseNorthing, double standardParallel1,
double standardParallel2) : _latitudeOrigin(latitudeOrigin),
_longitudeOrigin(longitudeOrigin), _scale(scale),
_falseEasting(falseEasting), _falseNorthing(falseNorthing),
_standardParallel1(standardParallel1),
_standardParallel2(standardParallel2) {}
const Projection::Method &method() const {return _method;} double latitudeOrigin() const {return _latitudeOrigin;}
const Projection::Setup &setup() const {return _setup;} double longitudeOrigin() const {return _longitudeOrigin;}
double scale() const {return _scale;}
double falseEasting() const {return _falseEasting;}
double falseNorthing() const {return _falseNorthing;}
double standardParallel1() const {return _standardParallel1;}
double standardParallel2() const {return _standardParallel2;}
void setLatitudeOrigin(double val) {_latitudeOrigin = val;}
void setLongitudeOrigin(double val) {_longitudeOrigin = val;}
void setScale(double val) {_scale = val;}
void setFalseEasting(double val) {_falseEasting = val;}
void setFalseNorthing(double val) {_falseNorthing = val;}
void setStandardParallel1(double val) {_standardParallel1 = val;}
void setStandardParallel2(double val) {_standardParallel2 = val;}
bool isNull() const
{
return std::isnan(_latitudeOrigin)
&& std::isnan(_longitudeOrigin) && std::isnan(_scale)
&& std::isnan(_falseEasting) && std::isnan(_falseNorthing)
&& std::isnan(_standardParallel1)
&& std::isnan(_standardParallel2);
}
private:
double _latitudeOrigin;
double _longitudeOrigin;
double _scale;
double _falseEasting;
double _falseNorthing;
double _standardParallel1;
double _standardParallel2;
};
class Method {
public:
Method() : _id(0) {}
Method(int id);
int id() const {return _id;}
bool isNull() const {return (_id == 0);}
bool isValid() const {return !isNull();}
private:
int _id;
};
Conversion() {}
Conversion(const Method &method, const Setup &setup,
const LinearUnits &units, const CoordinateSystem &cs = CoordinateSystem())
: _method(method), _setup(setup), _units(units), _cs(cs) {}
const Method &method() const {return _method;}
const Setup &setup() const {return _setup;}
const LinearUnits &units() const {return _units;} const LinearUnits &units() const {return _units;}
const CoordinateSystem &cs() const {return _cs;} const CoordinateSystem &cs() const {return _cs;}
@ -34,30 +97,28 @@ public:
private: private:
class Entry { class Entry {
public: public:
Entry(const QString &name, const Projection::Method &method, Entry(const QString &name, const Method &method, const Setup &setup,
const Projection::Setup &setup, const LinearUnits &units, const LinearUnits &units, const CoordinateSystem &cs = CoordinateSystem())
const CoordinateSystem &cs = CoordinateSystem()) : _name(name), _method(method), _setup(setup), _units(units), _cs(cs) {}
: _name(name), _method(method), _setup(setup), _units(units),
_cs(cs) {}
const QString &name() const {return _name;} const QString &name() const {return _name;}
const Projection::Method &method() const {return _method;} const Method &method() const {return _method;}
const Projection::Setup &setup() const {return _setup;} const Setup &setup() const {return _setup;}
const LinearUnits &units() const {return _units;} const LinearUnits &units() const {return _units;}
const CoordinateSystem &cs() const {return _cs;} const CoordinateSystem &cs() const {return _cs;}
private: private:
QString _name; QString _name;
Projection::Method _method; Method _method;
Projection::Setup _setup; Setup _setup;
LinearUnits _units; LinearUnits _units;
CoordinateSystem _cs; CoordinateSystem _cs;
}; };
static QMap<int, Entry> defaults(); static QMap<int, Entry> defaults();
Projection::Method _method; Method _method;
Projection::Setup _setup; Setup _setup;
LinearUnits _units; LinearUnits _units;
CoordinateSystem _cs; CoordinateSystem _cs;
@ -65,6 +126,8 @@ private:
}; };
#ifndef QT_NO_DEBUG #ifndef QT_NO_DEBUG
QDebug operator<<(QDebug dbg, const Conversion::Setup &setup);
QDebug operator<<(QDebug dbg, const Conversion::Method &method);
QDebug operator<<(QDebug dbg, const Conversion &conversion); QDebug operator<<(QDebug dbg, const Conversion &conversion);
#endif // QT_NO_DEBUG #endif // QT_NO_DEBUG

View File

@ -321,38 +321,38 @@ GCS GeoTIFF::geographicCS(QMap<quint16, Value> &kv)
return gcs; return gcs;
} }
Projection::Method GeoTIFF::coordinateTransformation(QMap<quint16, Value> &kv) Conversion::Method GeoTIFF::coordinateTransformation(QMap<quint16, Value> &kv)
{ {
if (!IS_SET(kv, ProjCoordTransGeoKey)) { if (!IS_SET(kv, ProjCoordTransGeoKey)) {
_errorString = "Missing coordinate transformation method"; _errorString = "Missing coordinate transformation method";
return Projection::Method(); return Conversion::Method();
} }
switch (kv.value(ProjCoordTransGeoKey).SHORT) { switch (kv.value(ProjCoordTransGeoKey).SHORT) {
case CT_TransverseMercator: case CT_TransverseMercator:
return Projection::Method(9807); return Conversion::Method(9807);
case CT_ObliqueMercator: case CT_ObliqueMercator:
return Projection::Method(9815); return Conversion::Method(9815);
case CT_Mercator: case CT_Mercator:
return Projection::Method(9804); return Conversion::Method(9804);
case CT_LambertConfConic_2SP: case CT_LambertConfConic_2SP:
return Projection::Method(9802); return Conversion::Method(9802);
case CT_LambertConfConic_1SP: case CT_LambertConfConic_1SP:
return Projection::Method(9801); return Conversion::Method(9801);
case CT_LambertAzimEqualArea: case CT_LambertAzimEqualArea:
return Projection::Method(9820); return Conversion::Method(9820);
case CT_AlbersEqualArea: case CT_AlbersEqualArea:
return Projection::Method(9822); return Conversion::Method(9822);
case CT_PolarStereographic: case CT_PolarStereographic:
return Projection::Method(9829); return Conversion::Method(9829);
case CT_ObliqueStereographic: case CT_ObliqueStereographic:
return Projection::Method(9809); return Conversion::Method(9809);
case CT_Polyconic: case CT_Polyconic:
return Projection::Method(9818); return Conversion::Method(9818);
default: default:
_errorString = QString("%1: unknown coordinate transformation method") _errorString = QString("%1: unknown coordinate transformation method")
.arg(kv.value(ProjCoordTransGeoKey).SHORT); .arg(kv.value(ProjCoordTransGeoKey).SHORT);
return Projection::Method(); return Conversion::Method();
} }
} }
@ -383,7 +383,7 @@ bool GeoTIFF::projectedModel(QMap<quint16, Value> &kv)
GCS gcs(geographicCS(kv)); GCS gcs(geographicCS(kv));
if (gcs.isNull()) if (gcs.isNull())
return false; return false;
Projection::Method method(coordinateTransformation(kv)); Conversion::Method method(coordinateTransformation(kv));
if (method.isNull()) if (method.isNull())
return false; return false;
@ -452,7 +452,7 @@ bool GeoTIFF::projectedModel(QMap<quint16, Value> &kv)
else else
fe = NAN; fe = NAN;
Projection::Setup setup(lat0, lon0, scale, fe, fn, sp1, sp2); Conversion::Setup setup(lat0, lon0, scale, fe, fn, sp1, sp2);
_projection = Projection(PCS(gcs, Conversion(method, setup, lu))); _projection = Projection(PCS(gcs, Conversion(method, setup, lu)));
} }

View File

@ -5,6 +5,7 @@
#include <QList> #include <QList>
#include "transform.h" #include "transform.h"
#include "projection.h" #include "projection.h"
#include "conversion.h"
class TIFFFile; class TIFFFile;
class GCS; class GCS;
@ -49,7 +50,7 @@ private:
double &val) const; double &val) const;
GCS geographicCS(QMap<quint16, Value> &kv); GCS geographicCS(QMap<quint16, Value> &kv);
Projection::Method coordinateTransformation(QMap<quint16, Value> &kv); Conversion::Method coordinateTransformation(QMap<quint16, Value> &kv);
bool geographicModel(QMap<quint16, Value> &kv); bool geographicModel(QMap<quint16, Value> &kv);
bool projectedModel(QMap<quint16, Value> &kv); bool projectedModel(QMap<quint16, Value> &kv);

View File

@ -17,7 +17,7 @@ static double parameter(const QString &str, bool *res, double dflt = 0.0)
} }
int MapFile::parse(QIODevice &device, QList<CalibrationPoint> &points, int MapFile::parse(QIODevice &device, QList<CalibrationPoint> &points,
QString &projection, Projection::Setup &setup, QString &datum) QString &projection, Conversion::Setup &setup, QString &datum)
{ {
bool res, utm = false; bool res, utm = false;
int ln = 1, zone = 0; int ln = 1, zone = 0;
@ -123,7 +123,7 @@ int MapFile::parse(QIODevice &device, QList<CalibrationPoint> &points,
setup = UTM::setup(zone); setup = UTM::setup(zone);
else { else {
bool r[8]; bool r[8];
setup = Projection::Setup( setup = Conversion::Setup(
parameter(list[1], &r[1]), parameter(list[2], &r[2]), parameter(list[1], &r[1]), parameter(list[2], &r[2]),
parameter(list[3], &r[3], 1.0), parameter(list[4], &r[4]), parameter(list[3], &r[3], 1.0), parameter(list[4], &r[4]),
parameter(list[5], &r[5]), parameter(list[6], &r[6]), parameter(list[5], &r[5]), parameter(list[6], &r[6]),
@ -143,7 +143,7 @@ int MapFile::parse(QIODevice &device, QList<CalibrationPoint> &points,
} }
bool MapFile::parseMapFile(QIODevice &device, QList<CalibrationPoint> &points, bool MapFile::parseMapFile(QIODevice &device, QList<CalibrationPoint> &points,
QString &projection, Projection::Setup &setup, QString &datum) QString &projection, Conversion::Setup &setup, QString &datum)
{ {
int el; int el;
@ -161,7 +161,7 @@ bool MapFile::parseMapFile(QIODevice &device, QList<CalibrationPoint> &points,
} }
bool MapFile::createProjection(const QString &datum, const QString &name, bool MapFile::createProjection(const QString &datum, const QString &name,
const Projection::Setup &setup) const Conversion::Setup &setup)
{ {
PCS pcs; PCS pcs;
@ -188,37 +188,37 @@ bool MapFile::createProjection(const QString &datum, const QString &name,
else if (name == "Polyconic (American)") else if (name == "Polyconic (American)")
pcs = PCS(gcs, Conversion(9818, setup, 9001)); pcs = PCS(gcs, Conversion(9818, setup, 9001));
else if (name == "(NZTM2) New Zealand TM 2000") else if (name == "(NZTM2) New Zealand TM 2000")
pcs = PCS(gcs, Conversion(9807, Projection::Setup(0, 173.0, 0.9996, pcs = PCS(gcs, Conversion(9807, Conversion::Setup(0, 173.0, 0.9996,
1600000, 10000000, NAN, NAN), 9001)); 1600000, 10000000, NAN, NAN), 9001));
else if (name == "(BNG) British National Grid") else if (name == "(BNG) British National Grid")
pcs = PCS(gcs, Conversion(9807, Projection::Setup(49, -2, 0.999601, pcs = PCS(gcs, Conversion(9807, Conversion::Setup(49, -2, 0.999601,
400000, -100000, NAN, NAN), 9001)); 400000, -100000, NAN, NAN), 9001));
else if (name == "(IG) Irish Grid") else if (name == "(IG) Irish Grid")
pcs = PCS(gcs, Conversion(9807, Projection::Setup(53.5, -8, 1.000035, pcs = PCS(gcs, Conversion(9807, Conversion::Setup(53.5, -8, 1.000035,
200000, 250000, NAN, NAN), 9001)); 200000, 250000, NAN, NAN), 9001));
else if (name == "(SG) Swedish Grid") else if (name == "(SG) Swedish Grid")
pcs = PCS(gcs, Conversion(9807, Projection::Setup(0, 15.808278, 1, pcs = PCS(gcs, Conversion(9807, Conversion::Setup(0, 15.808278, 1,
1500000, 0, NAN, NAN), 9001)); 1500000, 0, NAN, NAN), 9001));
else if (name == "(I) France Zone I") else if (name == "(I) France Zone I")
pcs = PCS(gcs, Conversion(9802, Projection::Setup(49.5, 2.337229, NAN, pcs = PCS(gcs, Conversion(9802, Conversion::Setup(49.5, 2.337229, NAN,
600000, 1200000, 48.598523, 50.395912), 9001)); 600000, 1200000, 48.598523, 50.395912), 9001));
else if (name == "(II) France Zone II") else if (name == "(II) France Zone II")
pcs = PCS(gcs, Conversion(9802, Projection::Setup(46.8, 2.337229, NAN, pcs = PCS(gcs, Conversion(9802, Conversion::Setup(46.8, 2.337229, NAN,
600000, 2200000, 45.898919, 47.696014), 9001)); 600000, 2200000, 45.898919, 47.696014), 9001));
else if (name == "(III) France Zone III") else if (name == "(III) France Zone III")
pcs = PCS(gcs, Conversion(9802, Projection::Setup(44.1, 2.337229, NAN, pcs = PCS(gcs, Conversion(9802, Conversion::Setup(44.1, 2.337229, NAN,
600000, 3200000, 43.199291, 44.996094), 9001)); 600000, 3200000, 43.199291, 44.996094), 9001));
else if (name == "(IV) France Zone IV") else if (name == "(IV) France Zone IV")
pcs = PCS(gcs, Conversion(9802, Projection::Setup(42.165, 2.337229, NAN, pcs = PCS(gcs, Conversion(9802, Conversion::Setup(42.165, 2.337229, NAN,
234.358, 4185861.369, 41.560388, 42.767663), 9001)); 234.358, 4185861.369, 41.560388, 42.767663), 9001));
else if (name == "(VICGRID) Victoria Australia") else if (name == "(VICGRID) Victoria Australia")
pcs = PCS(gcs, Conversion(9802, Projection::Setup(-37, 145, NAN, pcs = PCS(gcs, Conversion(9802, Conversion::Setup(-37, 145, NAN,
2500000, 4500000, -36, -38), 9001)); 2500000, 4500000, -36, -38), 9001));
else if (name == "(VG94) VICGRID94 Victoria Australia") else if (name == "(VG94) VICGRID94 Victoria Australia")
pcs = PCS(gcs, Conversion(9802, Projection::Setup(-37, 145, NAN, pcs = PCS(gcs, Conversion(9802, Conversion::Setup(-37, 145, NAN,
2500000, 2500000, -36, -38), 9001)); 2500000, 2500000, -36, -38), 9001));
else if (name == "(SUI) Swiss Grid") else if (name == "(SUI) Swiss Grid")
pcs = PCS(gcs, Conversion(9815, Projection::Setup(46.570866, 7.26225, pcs = PCS(gcs, Conversion(9815, Conversion::Setup(46.570866, 7.26225,
1.0, 600000, 200000, 90.0, 90.0), 9001)); 1.0, 600000, 200000, 90.0, 90.0), 9001));
else { else {
_errorString = QString("%1: Unknown map projection").arg(name); _errorString = QString("%1: Unknown map projection").arg(name);
@ -250,7 +250,7 @@ MapFile::MapFile(QIODevice &file)
{ {
QList<CalibrationPoint> points; QList<CalibrationPoint> points;
QString ct, datum; QString ct, datum;
Projection::Setup setup; Conversion::Setup setup;
if (!parseMapFile(file, points, ct, setup, datum)) if (!parseMapFile(file, points, ct, setup, datum))
return; return;

View File

@ -3,6 +3,7 @@
#include "transform.h" #include "transform.h"
#include "projection.h" #include "projection.h"
#include "conversion.h"
#include "calibrationpoint.h" #include "calibrationpoint.h"
class QIODevice; class QIODevice;
@ -26,11 +27,11 @@ public:
private: private:
int parse(QIODevice &device, QList<CalibrationPoint> &points, int parse(QIODevice &device, QList<CalibrationPoint> &points,
QString &projection, Projection::Setup &setup, QString &datum); QString &projection, Conversion::Setup &setup, QString &datum);
bool parseMapFile(QIODevice &device, QList<CalibrationPoint> &points, bool parseMapFile(QIODevice &device, QList<CalibrationPoint> &points,
QString &projection, Projection::Setup &setup, QString &datum); QString &projection, Conversion::Setup &setup, QString &datum);
bool createProjection(const QString &datum, const QString &projection, bool createProjection(const QString &datum, const QString &projection,
const Projection::Setup &setup); const Conversion::Setup &setup);
bool computeTransformation(const QList<CalibrationPoint> &points); bool computeTransformation(const QList<CalibrationPoint> &points);
QString _name; QString _name;

View File

@ -75,93 +75,93 @@ static PointD corner2point(const QString &name, const QSize &size)
return PointD(); return PointD();
} }
static Projection::Setup lcc2setup(const QStringList &list) static Conversion::Setup lcc2setup(const QStringList &list)
{ {
double params[6]; double params[6];
bool ok; bool ok;
if (list.size() < 7) if (list.size() < 7)
return Projection::Setup(); return Conversion::Setup();
for (int i = 1; i < 7; i++) { for (int i = 1; i < 7; i++) {
params[i - 1] = list.at(i).toDouble(&ok); params[i - 1] = list.at(i).toDouble(&ok);
if (!ok) if (!ok)
return Projection::Setup(); return Conversion::Setup();
} }
return Projection::Setup(params[0], params[1], NAN, params[4], return Conversion::Setup(params[0], params[1], NAN, params[4],
params[5], params[2], params[3]); params[5], params[2], params[3]);
} }
static Projection::Setup laea2setup(const QStringList &list) static Conversion::Setup laea2setup(const QStringList &list)
{ {
double params[2]; double params[2];
bool ok; bool ok;
if (list.size() < 3) if (list.size() < 3)
return Projection::Setup(); return Conversion::Setup();
for (int i = 1; i < 3; i++) { for (int i = 1; i < 3; i++) {
params[i - 1] = list.at(i).toDouble(&ok); params[i - 1] = list.at(i).toDouble(&ok);
if (!ok) if (!ok)
return Projection::Setup(); return Conversion::Setup();
} }
return Projection::Setup(params[1], params[0], NAN, 0, 0, NAN, NAN); return Conversion::Setup(params[1], params[0], NAN, 0, 0, NAN, NAN);
} }
static Projection::Setup polyconic2setup(const QStringList &list) static Conversion::Setup polyconic2setup(const QStringList &list)
{ {
double params[3]; double params[3];
bool ok; bool ok;
if (list.size() < 4) if (list.size() < 4)
return Projection::Setup(); return Conversion::Setup();
for (int i = 1; i < 4; i++) { for (int i = 1; i < 4; i++) {
params[i - 1] = list.at(i).toDouble(&ok); params[i - 1] = list.at(i).toDouble(&ok);
if (!ok) if (!ok)
return Projection::Setup(); return Conversion::Setup();
} }
return Projection::Setup(NAN, params[0], NAN, params[1], params[2], NAN, return Conversion::Setup(NAN, params[0], NAN, params[1], params[2], NAN,
NAN); NAN);
} }
static Projection::Setup tm2setup(const QStringList &list) static Conversion::Setup tm2setup(const QStringList &list)
{ {
double params[5]; double params[5];
bool ok; bool ok;
if (list.size() < 6) if (list.size() < 6)
return Projection::Setup(); return Conversion::Setup();
for (int i = 1; i < 6; i++) { for (int i = 1; i < 6; i++) {
params[i - 1] = list.at(i).toDouble(&ok); params[i - 1] = list.at(i).toDouble(&ok);
if (!ok) if (!ok)
return Projection::Setup(); return Conversion::Setup();
} }
return Projection::Setup(params[1], params[0], params[2], params[3], return Conversion::Setup(params[1], params[0], params[2], params[3],
params[4], NAN, NAN); params[4], NAN, NAN);
} }
static Projection::Setup utm2setup(const QStringList &list) static Conversion::Setup utm2setup(const QStringList &list)
{ {
bool ok; bool ok;
if (list.size() < 2) if (list.size() < 2)
return Projection::Setup(); return Conversion::Setup();
int zone = list.at(1).toInt(&ok); int zone = list.at(1).toInt(&ok);
return ok ? UTM::setup(zone) : Projection::Setup(); return ok ? UTM::setup(zone) : Conversion::Setup();
} }
static Projection::Setup mercator2setup(const QStringList &list) static Conversion::Setup mercator2setup(const QStringList &list)
{ {
double lon; double lon;
bool ok; bool ok;
if (list.size() < 2) if (list.size() < 2)
return Projection::Setup(0, 0, NAN, 0, 0, NAN, NAN); return Conversion::Setup(0, 0, NAN, 0, 0, NAN, NAN);
lon = list.at(1).toDouble(&ok); lon = list.at(1).toDouble(&ok);
return ok ? Projection::Setup(0, lon, NAN, 0, 0, NAN, NAN) return ok ? Conversion::Setup(0, lon, NAN, 0, 0, NAN, NAN)
: Projection::Setup(); : Conversion::Setup();
} }
static GCS createGCS(const QString &datum) static GCS createGCS(const QString &datum)
@ -180,7 +180,7 @@ static Projection createProjection(const GCS &gcs, const QString &name)
else if (pl.first() == "UTM") else if (pl.first() == "UTM")
pcs = PCS(gcs, Conversion(9807, utm2setup(pl), 9001)); pcs = PCS(gcs, Conversion(9807, utm2setup(pl), 9001));
else if (pl.first() == "Mercator") else if (pl.first() == "Mercator")
pcs = PCS(gcs, Conversion(1024, Projection::Setup(), 9001)); pcs = PCS(gcs, Conversion(1024, Conversion::Setup(), 9001));
else if (pl.first() == "Mercator Ellipsoidal") else if (pl.first() == "Mercator Ellipsoidal")
pcs = PCS(gcs, Conversion(9804, mercator2setup(pl), 9001)); pcs = PCS(gcs, Conversion(9804, mercator2setup(pl), 9001));
else if (pl.first() == "Transverse Mercator") else if (pl.first() == "Transverse Mercator")
@ -192,13 +192,13 @@ static Projection createProjection(const GCS &gcs, const QString &name)
else if (pl.first() == "Polyconic (American)") else if (pl.first() == "Polyconic (American)")
pcs = PCS(gcs, Conversion(9818, polyconic2setup(pl), 9001)); pcs = PCS(gcs, Conversion(9818, polyconic2setup(pl), 9001));
else if (pl.first() == "(IG) Irish Grid") else if (pl.first() == "(IG) Irish Grid")
pcs = PCS(gcs, Conversion(9807, Projection::Setup(53.5, -8, 1.000035, pcs = PCS(gcs, Conversion(9807, Conversion::Setup(53.5, -8, 1.000035,
200000, 250000, NAN, NAN), 9001)); 200000, 250000, NAN, NAN), 9001));
else if (pl.first() == "(SUI) Swiss Grid") else if (pl.first() == "(SUI) Swiss Grid")
pcs = PCS(gcs, Conversion(9815, Projection::Setup(46.570866, 7.26225, pcs = PCS(gcs, Conversion(9815, Conversion::Setup(46.570866, 7.26225,
1.0, 600000, 200000, 90.0, 90.0), 9001)); 1.0, 600000, 200000, 90.0, 90.0), 9001));
else if (pl.first() == "Rijksdriehoeksmeting") else if (pl.first() == "Rijksdriehoeksmeting")
pcs = PCS(gcs, Conversion(9809, Projection::Setup(52.1561605555556, pcs = PCS(gcs, Conversion(9809, Conversion::Setup(52.1561605555556,
5.38763888888889, 0.9999079, 155000, 463000, NAN, NAN), 9001)); 5.38763888888889, 0.9999079, 155000, 463000, NAN, NAN), 9001));
else else
return Projection(); return Projection();

View File

@ -63,6 +63,11 @@ bool PCS::loadList(const QString &path)
qWarning("%s:%d: Unknown GCS code", qPrintable(path), csv.line()); qWarning("%s:%d: Unknown GCS code", qPrintable(path), csv.line());
continue; continue;
} }
if (Conversion::conversion(proj).isNull()) {
qWarning("%s:%d: Unknown projection code", qPrintable(path),
csv.line());
continue;
}
_pcss.insert(id, Entry(name, gcs, proj)); _pcss.insert(id, Entry(name, gcs, proj));
} }

View File

@ -4,7 +4,7 @@
#include "pcs.h" #include "pcs.h"
#include "prjfile.h" #include "prjfile.h"
static Projection::Method projectionMethod(const QString &name) static Conversion::Method projectionMethod(const QString &name)
{ {
static const struct { static const struct {
int id; int id;
@ -30,10 +30,10 @@ static Projection::Method projectionMethod(const QString &name)
qWarning("%s: unknown projection", qPrintable(name)); qWarning("%s: unknown projection", qPrintable(name));
return Projection::Method(); return Conversion::Method();
} }
static void setParameter(Projection::Setup *setup, const QString &name, static void setParameter(Conversion::Setup *setup, const QString &name,
double val) double val)
{ {
// latitude origin // latitude origin
@ -460,7 +460,7 @@ void PRJFile::primeMeridian(CTX &ctx, PrimeMeridian *pm, int *epsg)
*pm = PrimeMeridian(lon); *pm = PrimeMeridian(lon);
} }
void PRJFile::parameter(CTX &ctx, Projection::Setup *setup) void PRJFile::parameter(CTX &ctx, Conversion::Setup *setup)
{ {
QString name; QString name;
@ -478,7 +478,7 @@ void PRJFile::parameter(CTX &ctx, Projection::Setup *setup)
} }
} }
void PRJFile::projection(CTX &ctx, Projection::Method *method) void PRJFile::projection(CTX &ctx, Conversion::Method *method)
{ {
int epsg = -1; int epsg = -1;
QString proj; QString proj;
@ -490,7 +490,7 @@ void PRJFile::projection(CTX &ctx, Projection::Method *method)
optAuthority(ctx, &epsg); optAuthority(ctx, &epsg);
compare(ctx, RBRK); compare(ctx, RBRK);
*method = (epsg > 0) ? Projection::Method(epsg) : projectionMethod(proj); *method = (epsg > 0) ? Conversion::Method(epsg) : projectionMethod(proj);
} }
void PRJFile::optProjectedCS2(CTX &ctx, int *epsg) void PRJFile::optProjectedCS2(CTX &ctx, int *epsg)
@ -521,8 +521,8 @@ void PRJFile::projectedCS(CTX &ctx, PCS *pcs)
int epsg = -1; int epsg = -1;
GCS gcs; GCS gcs;
LinearUnits lu; LinearUnits lu;
Projection::Method method; Conversion::Method method;
Projection::Setup setup; Conversion::Setup setup;
compare(ctx, PROJCS); compare(ctx, PROJCS);
compare(ctx, LBRK); compare(ctx, LBRK);

View File

@ -2,6 +2,7 @@
#define PRJFILE_H #define PRJFILE_H
#include <QFile> #include <QFile>
#include "conversion.h"
#include "projection.h" #include "projection.h"
class Datum; class Datum;
@ -57,8 +58,8 @@ private:
void geographicCS(CTX &ctx, GCS *gcs); void geographicCS(CTX &ctx, GCS *gcs);
void projectedCS(CTX &ctx, PCS *pcs); void projectedCS(CTX &ctx, PCS *pcs);
void compdCS(CTX &ctx); void compdCS(CTX &ctx);
void projection(CTX &ctx, Projection::Method *method); void projection(CTX &ctx, Conversion::Method *method);
void parameter(CTX &ctx, Projection::Setup *setup); void parameter(CTX &ctx, Conversion::Setup *setup);
void datum(CTX &ctx, Datum *dtm, int *epsg); void datum(CTX &ctx, Datum *dtm, int *epsg);
void verticalDatum(CTX &ctx); void verticalDatum(CTX &ctx);
void unit(CTX &ctx, double *val, int *epsg); void unit(CTX &ctx, double *val, int *epsg);

View File

@ -9,40 +9,16 @@
#include "proj/obliquestereographic.h" #include "proj/obliquestereographic.h"
#include "proj/polyconic.h" #include "proj/polyconic.h"
#include "datum.h" #include "datum.h"
#include "gcs.h"
#include "pcs.h" #include "pcs.h"
#include "projection.h" #include "projection.h"
Projection::Method::Method(int id)
{
switch (id) {
case 1024:
case 1041:
case 9801:
case 9802:
case 9804:
case 9807:
case 9809:
case 9815:
case 9818:
case 9819:
case 9820:
case 9822:
case 9829:
_id = id;
break;
default:
_id = 0;
}
}
Projection::Projection(const PCS &pcs) Projection::Projection(const PCS &pcs)
: _gcs(pcs.gcs()), _ct(0), _units(pcs.conversion().units()), : _gcs(pcs.gcs()), _ct(0), _units(pcs.conversion().units()),
_cs(pcs.conversion().cs()) _cs(pcs.conversion().cs())
{ {
const Ellipsoid &ellipsoid = _gcs.datum().ellipsoid(); const Ellipsoid &ellipsoid = _gcs.datum().ellipsoid();
const Projection::Setup &setup = pcs.conversion().setup(); const Conversion::Setup &setup = pcs.conversion().setup();
switch (pcs.conversion().method().id()) { switch (pcs.conversion().method().id()) {
case 1024: case 1024:
@ -154,32 +130,3 @@ bool Projection::operator==(const Projection &p) const
return (*_ct == *p._ct && _gcs == p._gcs && _units == p._units return (*_ct == *p._ct && _gcs == p._gcs && _units == p._units
&& _cs == p._cs); && _cs == p._cs);
} }
PointD Projection::ll2xy(const Coordinates &c) const
{
Q_ASSERT(isValid());
return _units.fromMeters(_ct->ll2xy(_gcs.fromWGS84(c)));
}
Coordinates Projection::xy2ll(const PointD &p) const
{
Q_ASSERT(isValid());
return _gcs.toWGS84(_ct->xy2ll(_units.toMeters(p)));
}
#ifndef QT_NO_DEBUG
QDebug operator<<(QDebug dbg, const Projection::Setup &setup)
{
dbg.nospace() << "Setup(" << setup.latitudeOrigin() << ", "
<< setup.longitudeOrigin() << ", " << setup.scale() << ", "
<< setup.falseEasting() << ", " << setup.falseNorthing() << ", "
<< setup.standardParallel1() << ", " << setup.standardParallel2() << ")";
return dbg.space();
}
QDebug operator<<(QDebug dbg, const Projection::Method &method)
{
dbg.nospace() << "Method(" << method.id() << ")";
return dbg.space();
}
#endif // QT_NO_DEBUG

View File

@ -1,76 +1,19 @@
#ifndef PROJECTION_H #ifndef PROJECTION_H
#define PROJECTION_H #define PROJECTION_H
#include <QDebug> #include <QtGlobal>
#include "common/coordinates.h" #include "common/coordinates.h"
#include "pointd.h" #include "pointd.h"
#include "linearunits.h" #include "linearunits.h"
#include "coordinatesystem.h" #include "coordinatesystem.h"
#include "gcs.h" #include "gcs.h"
#include "ct.h"
#include "proj/latlon.h" #include "proj/latlon.h"
class PCS; class PCS;
class CT;
class AngularUnits;
class Projection { class Projection {
public: public:
class Setup {
public:
Setup() : _latitudeOrigin(NAN), _longitudeOrigin(NAN), _scale(NAN),
_falseEasting(NAN), _falseNorthing(NAN), _standardParallel1(NAN),
_standardParallel2(NAN) {}
Setup(double latitudeOrigin, double longitudeOrigin, double scale,
double falseEasting, double falseNorthing, double standardParallel1,
double standardParallel2) : _latitudeOrigin(latitudeOrigin),
_longitudeOrigin(longitudeOrigin), _scale(scale),
_falseEasting(falseEasting), _falseNorthing(falseNorthing),
_standardParallel1(standardParallel1),
_standardParallel2(standardParallel2) {}
double latitudeOrigin() const {return _latitudeOrigin;}
double longitudeOrigin() const {return _longitudeOrigin;}
double scale() const {return _scale;}
double falseEasting() const {return _falseEasting;}
double falseNorthing() const {return _falseNorthing;}
double standardParallel1() const {return _standardParallel1;}
double standardParallel2() const {return _standardParallel2;}
void setLatitudeOrigin(double val) {_latitudeOrigin = val;}
void setLongitudeOrigin(double val) {_longitudeOrigin = val;}
void setScale(double val) {_scale = val;}
void setFalseEasting(double val) {_falseEasting = val;}
void setFalseNorthing(double val) {_falseNorthing = val;}
void setStandardParallel1(double val) {_standardParallel1 = val;}
void setStandardParallel2(double val) {_standardParallel2 = val;}
bool isNull() const {return std::isnan(_latitudeOrigin)
&& std::isnan(_longitudeOrigin) && std::isnan(_scale)
&& std::isnan(_falseEasting) && std::isnan(_falseNorthing)
&& std::isnan(_standardParallel1) && std::isnan(_standardParallel2);}
private:
double _latitudeOrigin;
double _longitudeOrigin;
double _scale;
double _falseEasting;
double _falseNorthing;
double _standardParallel1;
double _standardParallel2;
};
class Method {
public:
Method() : _id(0) {}
Method(int id);
int id() const {return _id;}
bool isNull() const {return (_id == 0);}
bool isValid() const {return !isNull();}
private:
int _id;
};
Projection() : _ct(0) {} Projection() : _ct(0) {}
Projection(const Projection &p); Projection(const Projection &p);
Projection(const PCS &pcs); Projection(const PCS &pcs);
@ -87,8 +30,8 @@ public:
} }
bool isValid() const bool isValid() const
{ {
// We do not check the CoordinateSystem here as it is not always defined /* We do not check the CoordinateSystem here as it is not always defined
// and except of WMTS/WMS it is not needed. and except of WMTS/WMS it is not needed. */
return (_gcs.isValid() && _ct != 0 && _units.isValid()); return (_gcs.isValid() && _ct != 0 && _units.isValid());
} }
bool isGeographic() const bool isGeographic() const
@ -96,8 +39,16 @@ public:
return (dynamic_cast<const LatLon*>(_ct) != 0); return (dynamic_cast<const LatLon*>(_ct) != 0);
} }
PointD ll2xy(const Coordinates &c) const; PointD ll2xy(const Coordinates &c) const
Coordinates xy2ll(const PointD &p) const; {
Q_ASSERT(isValid());
return _units.fromMeters(_ct->ll2xy(_gcs.fromWGS84(c)));
}
Coordinates xy2ll(const PointD &p) const
{
Q_ASSERT(isValid());
return _gcs.toWGS84(_ct->xy2ll(_units.toMeters(p)));
}
const LinearUnits &units() const {return _units;} const LinearUnits &units() const {return _units;}
const CoordinateSystem &coordinateSystem() const {return _cs;} const CoordinateSystem &coordinateSystem() const {return _cs;}
@ -109,9 +60,4 @@ private:
CoordinateSystem _cs; CoordinateSystem _cs;
}; };
#ifndef QT_NO_DEBUG
QDebug operator<<(QDebug dbg, const Projection::Setup &setup);
QDebug operator<<(QDebug dbg, const Projection::Method &method);
#endif // QT_NO_DEBUG
#endif // PROJECTION_H #endif // PROJECTION_H

View File

@ -58,37 +58,37 @@ static Projection parseProjection(const QString &str, const GCS &gcs)
case 1: // LatLon case 1: // LatLon
return Projection(gcs); return Projection(gcs);
case 2: // Mercator case 2: // Mercator
return Projection(PCS(gcs, Conversion(1024, Projection::Setup(), return Projection(PCS(gcs, Conversion(1024, Conversion::Setup(),
9001))); 9001)));
case 3: // Transversal Mercator case 3: // Transversal Mercator
if (fields.size() < 7) if (fields.size() < 7)
return Projection(); return Projection();
return Projection(PCS(gcs, Conversion(9807, Projection::Setup( return Projection(PCS(gcs, Conversion(9807, Conversion::Setup(
fields.at(3).toDouble(), fields.at(2).toDouble(), fields.at(3).toDouble(), fields.at(2).toDouble(),
fields.at(6).toDouble(), fields.at(5).toDouble(), fields.at(6).toDouble(), fields.at(5).toDouble(),
fields.at(4).toDouble(), NAN, NAN), 9001))); fields.at(4).toDouble(), NAN, NAN), 9001)));
case 4: // Lambert 2SP case 4: // Lambert 2SP
if (fields.size() < 8) if (fields.size() < 8)
return Projection(); return Projection();
return Projection(PCS(gcs, Conversion(9802, Projection::Setup( return Projection(PCS(gcs, Conversion(9802, Conversion::Setup(
fields.at(4).toDouble(), fields.at(5).toDouble(), NAN, fields.at(4).toDouble(), fields.at(5).toDouble(), NAN,
fields.at(6).toDouble(), fields.at(7).toDouble(), fields.at(6).toDouble(), fields.at(7).toDouble(),
fields.at(3).toDouble(), fields.at(2).toDouble()), 9001))); fields.at(3).toDouble(), fields.at(2).toDouble()), 9001)));
case 6: // BGN (British National Grid) case 6: // BGN (British National Grid)
return Projection(PCS(gcs, Conversion(9807, Projection::Setup(49, return Projection(PCS(gcs, Conversion(9807, Conversion::Setup(49,
-2, 0.999601, 400000, -100000, NAN, NAN), 9001))); -2, 0.999601, 400000, -100000, NAN, NAN), 9001)));
case 12: // France Lambert II etendu case 12: // France Lambert II etendu
return Projection(PCS(gcs, Conversion(9801, Projection::Setup(52, 0, return Projection(PCS(gcs, Conversion(9801, Conversion::Setup(52, 0,
0.99987742, 600000, 2200000, NAN, NAN), 9001))); 0.99987742, 600000, 2200000, NAN, NAN), 9001)));
case 14: // Swiss Grid case 14: // Swiss Grid
return Projection(PCS(gcs, Conversion(9815, Projection::Setup( return Projection(PCS(gcs, Conversion(9815, Conversion::Setup(
46.570866, 7.26225, 1.0, 600000, 200000, 90.0, 90.0), 9001))); 46.570866, 7.26225, 1.0, 600000, 200000, 90.0, 90.0), 9001)));
case 108: // Dutch RD grid case 108: // Dutch RD grid
return Projection(PCS(gcs, Conversion(9809, Projection::Setup( return Projection(PCS(gcs, Conversion(9809, Conversion::Setup(
52.15616055555555, 5.38763888888889, 0.9999079, 155000, 463000, 52.15616055555555, 5.38763888888889, 0.9999079, 155000, 463000,
NAN, NAN), 9001))); NAN, NAN), 9001)));
case 184: // Swedish Grid case 184: // Swedish Grid
return Projection(PCS(gcs, Conversion(9807, Projection::Setup(0, return Projection(PCS(gcs, Conversion(9807, Conversion::Setup(0,
15.808278, 1, 1500000, 0, NAN, NAN), 9001))); 15.808278, 1, 1500000, 0, NAN, NAN), 9001)));
default: default:
return Projection(); return Projection();

View File

@ -1,9 +1,10 @@
#include "common/coordinates.h"
#include "ellipsoid.h" #include "ellipsoid.h"
#include "utm.h" #include "utm.h"
Projection::Setup UTM::setup(int zone) Conversion::Setup UTM::setup(int zone)
{ {
return Projection::Setup(0, (qAbs(zone) - 1)*6 - 180 + 3, 0.9996, 500000, return Conversion::Setup(0, (qAbs(zone) - 1)*6 - 180 + 3, 0.9996, 500000,
zone < 0 ? 10000000 : 0, 0, 0); zone < 0 ? 10000000 : 0, 0, 0);
} }

View File

@ -1,12 +1,14 @@
#ifndef UTM_H #ifndef UTM_H
#define UTM_H #define UTM_H
#include "projection.h" #include "conversion.h"
class Coordinates;
namespace UTM namespace UTM
{ {
int zone(const Coordinates &c); int zone(const Coordinates &c);
Projection::Setup setup(int zone); Conversion::Setup setup(int zone);
} }
#endif // UTM_H #endif // UTM_H