1 /*
2 / auto_epsg_ext
3 /
4 / a tool autogenerating C code for SpatiaLite
5 / [spatial_ref_sys self-initialization routines]
6 /
7 / version 1.0, 2014 December 3
8 /
9 / Author: Sandro Furieri a.furieri@lqt.it
10 /
11 / Copyright (C) 2014 Alessandro Furieri
12 /
13 / This program is free software: you can redistribute it and/or modify
14 / it under the terms of the GNU General Public License as published by
15 / the Free Software Foundation, either version 3 of the License, or
16 / (at your option) any later version.
17 /
18 / This program is distributed in the hope that it will be useful,
19 / but WITHOUT ANY WARRANTY; without even the implied warranty of
20 / MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 / GNU General Public License for more details.
22 /
23 / You should have received a copy of the GNU General Public License
24 / along with this program. If not, see <http://www.gnu.org/licenses/>.
25 /
26 */
27
28 #include <stdlib.h>
29 #include <stdio.h>
30 #include <string.h>
31 #include <time.h>
32
33 struct epsg_entry
34 {
35 /* a struct wrapping an EPSG entry */
36 int srid;
37 int is_geographic;
38 int flipped_axes;
39 char *ref_sys_name;
40 char *proj4text;
41 char *srtext;
42 char *spheroid;
43 char *prime_meridian;
44 char *datum;
45 char *projection;
46 char *unit;
47 char *axis_1;
48 char *orientation_1;
49 char *axis_2;
50 char *orientation_2;
51 struct epsg_entry *next;
52 };
53
54 struct epsg_dict
55 {
56 /* the EPSG dictionary */
57 struct epsg_entry *first;
58 struct epsg_entry *last;
59 struct epsg_entry **sorted;
60 int count;
61 };
62
63 static void
free_epsg_entry(struct epsg_entry * p)64 free_epsg_entry (struct epsg_entry *p)
65 {
66 /* destroying an epsg_entry */
67 if (p->ref_sys_name)
68 free (p->ref_sys_name);
69 if (p->proj4text)
70 free (p->proj4text);
71 if (p->srtext)
72 free (p->srtext);
73 if (p->spheroid)
74 free (p->spheroid);
75 if (p->prime_meridian)
76 free (p->prime_meridian);
77 if (p->datum)
78 free (p->datum);
79 if (p->projection)
80 free (p->projection);
81 if (p->unit)
82 free (p->unit);
83 if (p->axis_1)
84 free (p->axis_1);
85 if (p->orientation_1)
86 free (p->orientation_1);
87 if (p->axis_2)
88 free (p->axis_2);
89 if (p->orientation_2)
90 free (p->orientation_2);
91 free (p);
92 }
93
94 static void
free_epsg(struct epsg_dict * epsg)95 free_epsg (struct epsg_dict *epsg)
96 {
97 /* destroying the EPSG dictionary */
98 struct epsg_entry *pE;
99 struct epsg_entry *pEn;
100 pE = epsg->first;
101 while (pE)
102 {
103 pEn = pE->next;
104 free_epsg_entry (pE);
105 pE = pEn;
106 }
107 if (epsg->sorted)
108 free (epsg->sorted);
109 }
110
111 static void
epsg_insert(struct epsg_dict * epsg,int srid,int is_geographic,int flipped_axes,const char * unit,const char * axis_1,const char * orientation_1,const char * axis_2,const char * orientation_2,const char * spheroid,const char * prime_meridian,const char * datum,const char * projection,const char * name,const char * proj4text,const char * srtext)112 epsg_insert (struct epsg_dict *epsg, int srid, int is_geographic,
113 int flipped_axes, const char *unit, const char *axis_1,
114 const char *orientation_1, const char *axis_2,
115 const char *orientation_2, const char *spheroid,
116 const char *prime_meridian, const char *datum,
117 const char *projection, const char *name, const char *proj4text,
118 const char *srtext)
119 {
120 /* inserting an entry into the EPSG dictionary */
121 int len;
122 struct epsg_entry *p = malloc (sizeof (struct epsg_entry));
123 p->srid = srid;
124 p->is_geographic = is_geographic;
125 p->flipped_axes = flipped_axes;
126 len = strlen (name);
127 p->ref_sys_name = malloc (len + 1);
128 strcpy (p->ref_sys_name, name);
129 len = strlen (proj4text);
130 p->proj4text = malloc (len + 1);
131 strcpy (p->proj4text, proj4text);
132 len = strlen (srtext);
133 p->srtext = malloc (len + 1);
134 strcpy (p->srtext, srtext);
135 len = strlen (unit);
136 p->unit = malloc (len + 1);
137 strcpy (p->unit, unit);
138 len = strlen (axis_1);
139 p->axis_1 = malloc (len + 1);
140 strcpy (p->axis_1, axis_1);
141 len = strlen (orientation_1);
142 p->orientation_1 = malloc (len + 1);
143 strcpy (p->orientation_1, orientation_1);
144 len = strlen (axis_2);
145 p->axis_2 = malloc (len + 1);
146 strcpy (p->axis_2, axis_2);
147 len = strlen (orientation_2);
148 p->orientation_2 = malloc (len + 1);
149 strcpy (p->orientation_2, orientation_2);
150 len = strlen (spheroid);
151 p->spheroid = malloc (len + 1);
152 strcpy (p->spheroid, spheroid);
153 len = strlen (prime_meridian);
154 p->prime_meridian = malloc (len + 1);
155 strcpy (p->prime_meridian, prime_meridian);
156 len = strlen (datum);
157 p->datum = malloc (len + 1);
158 strcpy (p->datum, datum);
159 len = strlen (projection);
160 p->projection = malloc (len + 1);
161 strcpy (p->projection, projection);
162 p->next = NULL;
163
164 /* updating the linked list */
165 if (epsg->first == NULL)
166 epsg->first = p;
167 if (epsg->last != NULL)
168 epsg->last->next = p;
169 epsg->last = p;
170 }
171
172 static int
parse_epsg(FILE * fl_epsg,struct epsg_dict * epsg)173 parse_epsg (FILE * fl_epsg, struct epsg_dict *epsg)
174 {
175 /* parsing the EPSG input file */
176 char srid[64];
177 char is_geographic[64];
178 char flipped_axes[64];
179 char unit[128];
180 char axis_1[128];
181 char orientation_1[128];
182 char axis_2[128];
183 char orientation_2[128];
184 char spheroid[128];
185 char prime_meridian[128];
186 char datum[128];
187 char projection[128];
188 char name[512];
189 char proj4text[512];
190 char srtext[8192];
191 char *out = srid;
192 int count = 0;
193 int row_no = 1;
194 int c;
195 int err = 0;
196
197 *srid = '\0';
198 *is_geographic = '\0';
199 *flipped_axes = '\0';
200 *unit = '\0';
201 *axis_1 = '\0';
202 *orientation_1 = '\0';
203 *axis_2 = '\0';
204 *orientation_2 = '\0';
205 *spheroid = '\0';
206 *prime_meridian = '\0';
207 *datum = '\0';
208 *projection = '\0';
209 *name = '\0';
210 *proj4text = '\0';
211 *srtext = '\0';
212 while ((c = getc (fl_epsg)) != EOF)
213 {
214 if (c == '\r')
215 continue;
216 if (c == '\t')
217 {
218 if (out != NULL)
219 *out = '\0';
220 count++;
221 if (count == 1)
222 out = is_geographic;
223 else if (count == 2)
224 out = flipped_axes;
225 else if (count == 3)
226 out = unit;
227 else if (count == 4)
228 out = axis_1;
229 else if (count == 5)
230 out = orientation_1;
231 else if (count == 6)
232 out = axis_2;
233 else if (count == 7)
234 out = orientation_2;
235 else if (count == 8)
236 out = spheroid;
237 else if (count == 9)
238 out = prime_meridian;
239 else if (count == 10)
240 out = datum;
241 else if (count == 11)
242 out = projection;
243 else if (count == 12)
244 out = name;
245 else if (count == 13)
246 out = proj4text;
247 else if (count == 14)
248 out = srtext;
249 else
250 {
251 out = NULL;
252 fprintf (stderr, "invalid line #%d\n", row_no);
253 err = 1;
254 }
255 continue;
256 }
257 if (c == '\n')
258 {
259 if (out != NULL)
260 *out = '\0';
261 if (!err)
262 epsg_insert (epsg, atoi (srid), atoi (is_geographic),
263 atoi (flipped_axes), unit, axis_1,
264 orientation_1, axis_2, orientation_2, spheroid,
265 prime_meridian, datum, projection, name,
266 proj4text, srtext);
267 row_no++;
268 *srid = '\0';
269 *is_geographic = '\0';
270 *flipped_axes = '\0';
271 *unit = '\0';
272 *axis_1 = '\0';
273 *orientation_1 = '\0';
274 *axis_2 = '\0';
275 *orientation_2 = '\0';
276 *spheroid = '\0';
277 *prime_meridian = '\0';
278 *datum = '\0';
279 *projection = '\0';
280 *name = '\0';
281 *proj4text = '\0';
282 *srtext = '\0';
283 err = 0;
284 count = 0;
285 out = srid;
286 continue;
287 }
288 if (out != NULL)
289 *out++ = c;
290 }
291 return 1;
292 }
293
294 static int
cmp_sort(const void * p1,const void * p2)295 cmp_sort (const void *p1, const void *p2)
296 {
297 /* comparison function for QSORT */
298 struct epsg_entry *e1 = *(struct epsg_entry **) p1;
299 struct epsg_entry *e2 = *(struct epsg_entry **) p2;
300 if (e1->srid == e2->srid)
301 return 0;
302 if (e1->srid < e2->srid)
303 return -1;
304 return 1;
305 }
306
307 static int
sort_epsg(struct epsg_dict * epsg)308 sort_epsg (struct epsg_dict *epsg)
309 {
310 /* sorting the EPSG defs by ascending SRID */
311 int count = 0;
312 int i;
313 struct epsg_entry *p = epsg->first;
314 while (p)
315 {
316 /* counting how many entries are there */
317 count++;
318 p = p->next;
319 }
320 if (count == 0)
321 return 0;
322 if (epsg->sorted)
323 free (epsg->sorted);
324 epsg->sorted = malloc (sizeof (struct epsg_dict *) * count);
325 epsg->count = count;
326 i = 0;
327 p = epsg->first;
328 while (p)
329 {
330 /* feeding the pointer array */
331 *(epsg->sorted + i) = p;
332 i++;
333 p = p->next;
334 }
335 /* sorting the pointer array by ascending SRID */
336 qsort (epsg->sorted, count, sizeof (struct epsg_dict *), cmp_sort);
337 return 1;
338 }
339
340 static FILE *
open_file(int file_no)341 open_file (int file_no)
342 {
343 /* opening an output file */
344 char path[1024];
345 FILE *out = NULL;
346
347 sprintf (path, "epsg_inlined_%02d.c", file_no);
348 out = fopen (path, "wb");
349 if (out == NULL)
350 {
351 fprintf (stderr,
352 "ERROR: unable to open the \"%s\" output file\n", path);
353 return NULL;
354 }
355 return out;
356 }
357
358 static FILE *
open_file2()359 open_file2 ()
360 {
361 /* opening the "extra" output file */
362 FILE *out = NULL;
363
364 out = fopen ("epsg_inlined_extra.c", "wb");
365 if (out == NULL)
366 {
367 fprintf (stderr,
368 "ERROR: unable to open the \"epsg_inlined_extra.c\" output file\n");
369 return NULL;
370 }
371 return out;
372 }
373
374 static FILE *
open_file3()375 open_file3 ()
376 {
377 /* opening the "prussian" output file */
378 FILE *out = NULL;
379
380 out = fopen ("epsg_inlined_prussian.c", "wb");
381 if (out == NULL)
382 {
383 fprintf (stderr,
384 "ERROR: unable to open the \"epsg_inlined_prussian.c\" output file\n");
385 return NULL;
386 }
387 return out;
388 }
389
390 static FILE *
open_file_wgs84(int file_no)391 open_file_wgs84 (int file_no)
392 {
393 /* opening an output file "wgs84" */
394 char path[1024];
395 FILE *out = NULL;
396
397 sprintf (path, "epsg_inlined_wgs84_%02d.c", file_no);
398 out = fopen (path, "wb");
399 if (out == NULL)
400 {
401 fprintf (stderr,
402 "ERROR: unable to open the \"%s\" output file\n", path);
403 return NULL;
404 }
405 return out;
406 }
407
408 static void
do_prussian(FILE * out)409 do_prussian (FILE * out)
410 {
411 /* writing the "prussian" body */
412 fprintf (out,
413 "SPATIALITE_PRIVATE void\ninitialize_epsg_prussian(int filter,struct epsg_defs **first, struct epsg_defs **last)\n");
414 fprintf (out,
415 "{\n/* old Prussian based on Cassini-Soldner - kindly contributed by Mark Johnson */\n");
416 fprintf (out, " struct epsg_defs *p;\n");
417 fprintf (out,
418 " p = add_epsg_def(filter,first,last,187900,\"mj10777.de\",187900,\"DHDN / Soldner Rathausnetz 660\");\n");
419 fprintf (out,
420 " add_proj4text(p,0,\"+proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 \");\n");
421 fprintf (out,
422 " add_proj4text(p,1,\"+x_0=14741.77 +y_0=-11288.28 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
423 fprintf (out,
424 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner Rathausnetz 660\\\",\");\n");
425 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
426 fprintf (out,
427 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
428 fprintf (out,
429 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
430 fprintf (out,
431 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
432 fprintf (out,
433 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
434 fprintf (out,
435 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
436 fprintf (out,
437 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
438 fprintf (out,
439 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
440 fprintf (out,
441 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.41864827777778],\");\n");
442 fprintf (out,
443 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",13.62720366666667],\");\n");
444 fprintf (out,
445 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",14741.77],PARAMETER[\\\"false_northing\\\",-11288.28],\");\n");
446 fprintf (out,
447 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187900\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
448 fprintf (out,
449 " p = add_epsg_def(filter,first,last,187901,\"mj10777.de\",187901,\"DHDN / Soldner 1 Kucklinsberg\");\n");
450 fprintf (out,
451 " add_proj4text(p,0,\"+proj=cass +lat_0=54.46022375 +lon_0=21.95509736 \");\n");
452 fprintf (out,
453 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
454 fprintf (out,
455 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 1 Kucklinsberg\\\",\");\n");
456 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
457 fprintf (out,
458 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
459 fprintf (out,
460 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
461 fprintf (out,
462 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
463 fprintf (out,
464 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
465 fprintf (out,
466 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
467 fprintf (out,
468 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
469 fprintf (out,
470 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
471 fprintf (out,
472 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",54.46022375],\");\n");
473 fprintf (out,
474 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",21.95509736],\");\n");
475 fprintf (out,
476 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
477 fprintf (out,
478 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187901\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
479 fprintf (out,
480 " p = add_epsg_def(filter,first,last,187902,\"mj10777.de\",187902,\"DHDN / Soldner 2 Paulinen\");\n");
481 fprintf (out,
482 " add_proj4text(p,0,\"+proj=cass +lat_0=54.28921067 +lon_0=20.73315431 \");\n");
483 fprintf (out,
484 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
485 fprintf (out,
486 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 2 Paulinen\\\",\");\n");
487 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
488 fprintf (out,
489 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
490 fprintf (out,
491 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
492 fprintf (out,
493 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
494 fprintf (out,
495 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
496 fprintf (out,
497 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
498 fprintf (out,
499 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
500 fprintf (out,
501 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
502 fprintf (out,
503 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",54.28921067],\");\n");
504 fprintf (out,
505 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",20.73315431],\");\n");
506 fprintf (out,
507 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
508 fprintf (out,
509 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187902\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
510 fprintf (out,
511 " p = add_epsg_def(filter,first,last,187903,\"mj10777.de\",187903,\"DHDN / Soldner 3 Markushof I\");\n");
512 fprintf (out,
513 " add_proj4text(p,0,\"+proj=cass +lat_0=54.05881333 +lon_0=19.37343583 \");\n");
514 fprintf (out,
515 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
516 fprintf (out,
517 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 3 Markushof I\\\",\");\n");
518 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
519 fprintf (out,
520 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
521 fprintf (out,
522 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
523 fprintf (out,
524 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
525 fprintf (out,
526 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
527 fprintf (out,
528 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
529 fprintf (out,
530 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
531 fprintf (out,
532 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
533 fprintf (out,
534 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",54.05881333],\");\n");
535 fprintf (out,
536 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",19.37343583],\");\n");
537 fprintf (out,
538 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
539 fprintf (out,
540 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187903\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
541 fprintf (out,
542 " p = add_epsg_def(filter,first,last,187904,\"mj10777.de\",187904,\"DHDN / Soldner 4 Thurmberg\");\n");
543 fprintf (out,
544 " add_proj4text(p,0,\"+proj=cass +lat_0=54.22552092 +lon_0=18.12569375 \");\n");
545 fprintf (out,
546 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
547 fprintf (out,
548 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 4 Thurmberg\\\",\");\n");
549 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
550 fprintf (out,
551 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
552 fprintf (out,
553 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
554 fprintf (out,
555 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
556 fprintf (out,
557 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
558 fprintf (out,
559 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
560 fprintf (out,
561 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
562 fprintf (out,
563 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
564 fprintf (out,
565 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",54.22552092],\");\n");
566 fprintf (out,
567 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",18.12569375],\");\n");
568 fprintf (out,
569 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
570 fprintf (out,
571 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187904\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
572 fprintf (out,
573 " p = add_epsg_def(filter,first,last,187905,\"mj10777.de\",187905,\"DHDN / Soldner 5 Kauernick I\");\n");
574 fprintf (out,
575 " add_proj4text(p,0,\"+proj=cass +lat_0=53.38933197 +lon_0=19.59810438 \");\n");
576 fprintf (out,
577 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
578 fprintf (out,
579 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 5 Kauernick I\\\",\");\n");
580 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
581 fprintf (out,
582 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
583 fprintf (out,
584 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
585 fprintf (out,
586 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
587 fprintf (out,
588 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
589 fprintf (out,
590 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
591 fprintf (out,
592 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
593 fprintf (out,
594 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
595 fprintf (out,
596 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",53.38933197],\");\n");
597 fprintf (out,
598 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",19.59810438],\");\n");
599 fprintf (out,
600 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
601 fprintf (out,
602 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187905\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
603 fprintf (out,
604 " p = add_epsg_def(filter,first,last,187906,\"mj10777.de\",187906,\"DHDN / Soldner 6 Thorn, Rathausturm\");\n");
605 fprintf (out,
606 " add_proj4text(p,0,\"+proj=cass +lat_0=53.01181586 +lon_0=18.60725428 \");\n");
607 fprintf (out,
608 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
609 fprintf (out,
610 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 6 Thorn, Rathausturm\\\",\");\n");
611 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
612 fprintf (out,
613 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
614 fprintf (out,
615 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
616 fprintf (out,
617 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
618 fprintf (out,
619 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
620 fprintf (out,
621 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
622 fprintf (out,
623 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
624 fprintf (out,
625 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
626 fprintf (out,
627 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",53.01181586],\");\n");
628 fprintf (out,
629 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",18.60725428],\");\n");
630 fprintf (out,
631 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
632 fprintf (out,
633 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187906\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
634 fprintf (out,
635 " p = add_epsg_def(filter,first,last,187907,\"mj10777.de\",187907,\"DHDN / Soldner 7 Heinrichsthal\");\n");
636 fprintf (out,
637 " add_proj4text(p,0,\"+proj=cass +lat_0=53.71289217 +lon_0=17.49676781 \");\n");
638 fprintf (out,
639 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
640 fprintf (out,
641 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 7 Heinrichsthal\\\",\");\n");
642 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
643 fprintf (out,
644 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
645 fprintf (out,
646 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
647 fprintf (out,
648 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
649 fprintf (out,
650 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
651 fprintf (out,
652 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
653 fprintf (out,
654 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
655 fprintf (out,
656 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
657 fprintf (out,
658 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",53.71289217],\");\n");
659 fprintf (out,
660 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",17.49676781],\");\n");
661 fprintf (out,
662 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
663 fprintf (out,
664 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187907\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
665 fprintf (out,
666 " p = add_epsg_def(filter,first,last,187908,\"mj10777.de\",187908,\"DHDN / Soldner 8 Gollenberg, Denkmal\");\n");
667 fprintf (out,
668 " add_proj4text(p,0,\"+proj=cass +lat_0=54.20857178 +lon_0=16.22956781 \");\n");
669 fprintf (out,
670 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
671 fprintf (out,
672 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 8 Gollenberg, Denkmal\\\",\");\n");
673 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
674 fprintf (out,
675 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
676 fprintf (out,
677 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
678 fprintf (out,
679 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
680 fprintf (out,
681 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
682 fprintf (out,
683 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
684 fprintf (out,
685 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
686 fprintf (out,
687 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
688 fprintf (out,
689 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",54.20857178],\");\n");
690 fprintf (out,
691 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",16.22956781],\");\n");
692 fprintf (out,
693 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
694 fprintf (out,
695 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187908\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
696 fprintf (out,
697 " p = add_epsg_def(filter,first,last,187909,\"mj10777.de\",187909,\"DHDN / Soldner 9 Gnesen\");\n");
698 fprintf (out,
699 " add_proj4text(p,0,\"+proj=cass +lat_0=52.53820406 +lon_0=17.59450500 \");\n");
700 fprintf (out,
701 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
702 fprintf (out,
703 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 9 Gnesen\\\",\");\n");
704 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
705 fprintf (out,
706 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
707 fprintf (out,
708 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
709 fprintf (out,
710 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
711 fprintf (out,
712 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
713 fprintf (out,
714 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
715 fprintf (out,
716 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
717 fprintf (out,
718 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
719 fprintf (out,
720 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.53820406],\");\n");
721 fprintf (out,
722 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",17.59450500],\");\n");
723 fprintf (out,
724 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
725 fprintf (out,
726 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187909\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
727 fprintf (out,
728 " p = add_epsg_def(filter,first,last,187910,\"mj10777.de\",187910,\"DHDN / Soldner 10 Josefsberg\");\n");
729 fprintf (out,
730 " add_proj4text(p,0,\"+proj=cass +lat_0=51.98768806 +lon_0=16.20044389 \");\n");
731 fprintf (out,
732 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
733 fprintf (out,
734 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 10 Josefsberg\\\",\");\n");
735 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
736 fprintf (out,
737 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
738 fprintf (out,
739 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
740 fprintf (out,
741 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
742 fprintf (out,
743 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
744 fprintf (out,
745 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
746 fprintf (out,
747 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
748 fprintf (out,
749 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
750 fprintf (out,
751 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.98768806],\");\n");
752 fprintf (out,
753 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",16.20044389],\");\n");
754 fprintf (out,
755 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
756 fprintf (out,
757 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187910\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
758 fprintf (out,
759 " p = add_epsg_def(filter,first,last,187911,\"mj10777.de\",187911,\"DHDN / Soldner 11 Schroda\");\n");
760 fprintf (out,
761 " add_proj4text(p,0,\"+proj=cass +lat_0=52.23137372 +lon_0=17.27795372 \");\n");
762 fprintf (out,
763 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
764 fprintf (out,
765 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 11 Schroda\\\",\");\n");
766 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
767 fprintf (out,
768 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
769 fprintf (out,
770 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
771 fprintf (out,
772 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
773 fprintf (out,
774 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
775 fprintf (out,
776 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
777 fprintf (out,
778 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
779 fprintf (out,
780 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
781 fprintf (out,
782 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.23137372],\");\n");
783 fprintf (out,
784 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",17.27795372],\");\n");
785 fprintf (out,
786 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
787 fprintf (out,
788 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187911\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
789 fprintf (out,
790 " p = add_epsg_def(filter,first,last,187912,\"mj10777.de\",187912,\"DHDN / Soldner 12 Pschow\");\n");
791 fprintf (out,
792 " add_proj4text(p,0,\"+proj=cass +lat_0=50.04206544 +lon_0=18.39610692 \");\n");
793 fprintf (out,
794 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
795 fprintf (out,
796 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 12 Pschow\\\",\");\n");
797 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
798 fprintf (out,
799 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
800 fprintf (out,
801 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
802 fprintf (out,
803 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
804 fprintf (out,
805 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
806 fprintf (out,
807 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
808 fprintf (out,
809 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
810 fprintf (out,
811 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
812 fprintf (out,
813 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",50.04206544],\");\n");
814 fprintf (out,
815 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",18.39610692],\");\n");
816 fprintf (out,
817 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
818 fprintf (out,
819 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187912\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
820 fprintf (out,
821 " p = add_epsg_def(filter,first,last,187913,\"mj10777.de\",187913,\"DHDN / Soldner 13 Rummelsberg\");\n");
822 fprintf (out,
823 " add_proj4text(p,0,\"+proj=cass +lat_0=50.70352314 +lon_0=17.11233917 \");\n");
824 fprintf (out,
825 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
826 fprintf (out,
827 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 13 Rummelsberg\\\",\");\n");
828 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
829 fprintf (out,
830 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
831 fprintf (out,
832 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
833 fprintf (out,
834 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
835 fprintf (out,
836 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
837 fprintf (out,
838 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
839 fprintf (out,
840 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
841 fprintf (out,
842 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
843 fprintf (out,
844 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",50.70352314],\");\n");
845 fprintf (out,
846 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",17.11233917],\");\n");
847 fprintf (out,
848 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
849 fprintf (out,
850 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187913\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
851 fprintf (out,
852 " p = add_epsg_def(filter,first,last,187914,\"mj10777.de\",187914,\"DHDN / Soldner 14 Gröditzberg I\");\n");
853 fprintf (out,
854 " add_proj4text(p,0,\"+proj=cass +lat_0=51.17819342 +lon_0=15.76127086 \");\n");
855 fprintf (out,
856 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
857 fprintf (out,
858 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 14 Gröditzberg I\\\",\");\n");
859 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
860 fprintf (out,
861 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
862 fprintf (out,
863 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
864 fprintf (out,
865 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
866 fprintf (out,
867 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
868 fprintf (out,
869 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
870 fprintf (out,
871 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
872 fprintf (out,
873 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
874 fprintf (out,
875 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.17819342],\");\n");
876 fprintf (out,
877 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",15.76127086],\");\n");
878 fprintf (out,
879 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
880 fprintf (out,
881 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187914\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
882 fprintf (out,
883 " p = add_epsg_def(filter,first,last,187915,\"mj10777.de\",187915,\"DHDN / Soldner 15 Kaltenborn\");\n");
884 fprintf (out,
885 " add_proj4text(p,0,\"+proj=cass +lat_0=51.92903708 +lon_0=14.66212942 \");\n");
886 fprintf (out,
887 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
888 fprintf (out,
889 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 15 Kaltenborn\\\",\");\n");
890 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
891 fprintf (out,
892 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
893 fprintf (out,
894 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
895 fprintf (out,
896 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
897 fprintf (out,
898 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
899 fprintf (out,
900 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
901 fprintf (out,
902 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
903 fprintf (out,
904 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
905 fprintf (out,
906 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.92903708],\");\n");
907 fprintf (out,
908 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",14.66212942],\");\n");
909 fprintf (out,
910 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
911 fprintf (out,
912 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187915\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
913 fprintf (out,
914 " p = add_epsg_def(filter,first,last,187917,\"mj10777.de\",187917,\"DHDN / Soldner 17 Greifswald, Nikolaikirche\");\n");
915 fprintf (out,
916 " add_proj4text(p,0,\"+proj=cass +lat_0=54.09698872 +lon_0=13.37880703 \");\n");
917 fprintf (out,
918 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
919 fprintf (out,
920 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 17 Greifswald, Nikolaikirche\\\",\");\n");
921 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
922 fprintf (out,
923 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
924 fprintf (out,
925 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
926 fprintf (out,
927 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
928 fprintf (out,
929 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
930 fprintf (out,
931 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
932 fprintf (out,
933 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
934 fprintf (out,
935 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
936 fprintf (out,
937 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",54.09698872],\");\n");
938 fprintf (out,
939 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",13.37880703],\");\n");
940 fprintf (out,
941 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
942 fprintf (out,
943 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187917\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
944 fprintf (out,
945 " p = add_epsg_def(filter,first,last,187916,\"mj10777.de\",187916,\"DHDN / Soldner 16 Bahn I\");\n");
946 fprintf (out,
947 " add_proj4text(p,0,\"+proj=cass +lat_0=53.10184583 +lon_0=14.70144539 \");\n");
948 fprintf (out,
949 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
950 fprintf (out,
951 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 16 Bahn I\\\",\");\n");
952 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
953 fprintf (out,
954 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
955 fprintf (out,
956 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
957 fprintf (out,
958 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
959 fprintf (out,
960 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
961 fprintf (out,
962 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
963 fprintf (out,
964 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
965 fprintf (out,
966 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
967 fprintf (out,
968 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",53.10184583],\");\n");
969 fprintf (out,
970 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",14.70144539],\");\n");
971 fprintf (out,
972 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
973 fprintf (out,
974 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187916\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
975 fprintf (out,
976 " p = add_epsg_def(filter,first,last,187918,\"mj10777.de\",187918,\"DHDN / Soldner 18 Müggelberg 600\");\n");
977 fprintf (out,
978 " add_proj4text(p,0,\"+proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 \");\n");
979 fprintf (out,
980 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
981 fprintf (out,
982 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 18 Müggelberg 600\\\",\");\n");
983 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
984 fprintf (out,
985 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
986 fprintf (out,
987 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
988 fprintf (out,
989 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
990 fprintf (out,
991 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
992 fprintf (out,
993 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
994 fprintf (out,
995 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
996 fprintf (out,
997 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
998 fprintf (out,
999 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.41864827777778],\");\n");
1000 fprintf (out,
1001 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",13.62720366666667],\");\n");
1002 fprintf (out,
1003 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1004 fprintf (out,
1005 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187918\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1006 fprintf (out,
1007 " p = add_epsg_def(filter,first,last,187919,\"mj10777.de\",187919,\"DHDN / Soldner 19 Götzer Berg 650\");\n");
1008 fprintf (out,
1009 " add_proj4text(p,0,\"+proj=cass +lat_0=52.43725961111112 +lon_0=12.72882972222223 \");\n");
1010 fprintf (out,
1011 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1012 fprintf (out,
1013 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 19 Götzer Berg 650\\\",\");\n");
1014 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1015 fprintf (out,
1016 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1017 fprintf (out,
1018 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1019 fprintf (out,
1020 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1021 fprintf (out,
1022 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1023 fprintf (out,
1024 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1025 fprintf (out,
1026 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1027 fprintf (out,
1028 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1029 fprintf (out,
1030 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.43725961111112],\");\n");
1031 fprintf (out,
1032 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",12.72882972222223],\");\n");
1033 fprintf (out,
1034 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1035 fprintf (out,
1036 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187919\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1037 fprintf (out,
1038 " p = add_epsg_def(filter,first,last,187920,\"mj10777.de\",187920,\"DHDN / Soldner 20 Torgau, Stadtkirche\");\n");
1039 fprintf (out,
1040 " add_proj4text(p,0,\"+proj=cass +lat_0=51.56136217 +lon_0=13.00760264 \");\n");
1041 fprintf (out,
1042 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1043 fprintf (out,
1044 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 20 Torgau, Stadtkirche\\\",\");\n");
1045 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1046 fprintf (out,
1047 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1048 fprintf (out,
1049 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1050 fprintf (out,
1051 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1052 fprintf (out,
1053 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1054 fprintf (out,
1055 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1056 fprintf (out,
1057 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1058 fprintf (out,
1059 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1060 fprintf (out,
1061 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.56136217],\");\n");
1062 fprintf (out,
1063 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",13.00760264],\");\n");
1064 fprintf (out,
1065 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1066 fprintf (out,
1067 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187920\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1068 fprintf (out,
1069 " p = add_epsg_def(filter,first,last,187921,\"mj10777.de\",187921,\"DHDN / Soldner 21 Burkersroda, Kirchturm\");\n");
1070 fprintf (out,
1071 " add_proj4text(p,0,\"+proj=cass +lat_0=51.17656322 +lon_0=11.64139367 \");\n");
1072 fprintf (out,
1073 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1074 fprintf (out,
1075 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 21 Burkersroda, Kirchturm\\\",\");\n");
1076 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1077 fprintf (out,
1078 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1079 fprintf (out,
1080 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1081 fprintf (out,
1082 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1083 fprintf (out,
1084 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1085 fprintf (out,
1086 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1087 fprintf (out,
1088 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1089 fprintf (out,
1090 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1091 fprintf (out,
1092 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.17656322],\");\n");
1093 fprintf (out,
1094 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",11.64139367],\");\n");
1095 fprintf (out,
1096 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1097 fprintf (out,
1098 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187921\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1099 fprintf (out,
1100 " p = add_epsg_def(filter,first,last,187922,\"mj10777.de\",187922,\"DHDN / Soldner 22 Inselsberg\");\n");
1101 fprintf (out,
1102 " add_proj4text(p,0,\"+proj=cass +lat_0=50.85237983 +lon_0=10.46776506 \");\n");
1103 fprintf (out,
1104 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1105 fprintf (out,
1106 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 22 Inselsberg\\\",\");\n");
1107 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1108 fprintf (out,
1109 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1110 fprintf (out,
1111 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1112 fprintf (out,
1113 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1114 fprintf (out,
1115 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1116 fprintf (out,
1117 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1118 fprintf (out,
1119 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1120 fprintf (out,
1121 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1122 fprintf (out,
1123 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",50.85237983],\");\n");
1124 fprintf (out,
1125 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",10.46776506],\");\n");
1126 fprintf (out,
1127 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1128 fprintf (out,
1129 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187922\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1130 fprintf (out,
1131 " p = add_epsg_def(filter,first,last,187923,\"mj10777.de\",187923,\"DHDN / Soldner 23 Magdeburg\");\n");
1132 fprintf (out,
1133 " add_proj4text(p,0,\"+proj=cass +lat_0=52.12625311 +lon_0=11.63550325 \");\n");
1134 fprintf (out,
1135 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1136 fprintf (out,
1137 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 23 Magdeburg\\\",\");\n");
1138 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1139 fprintf (out,
1140 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1141 fprintf (out,
1142 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1143 fprintf (out,
1144 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1145 fprintf (out,
1146 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1147 fprintf (out,
1148 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1149 fprintf (out,
1150 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1151 fprintf (out,
1152 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1153 fprintf (out,
1154 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.12625311],\");\n");
1155 fprintf (out,
1156 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",11.63550325],\");\n");
1157 fprintf (out,
1158 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1159 fprintf (out,
1160 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187923\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1161 fprintf (out,
1162 " p = add_epsg_def(filter,first,last,187924,\"mj10777.de\",187924,\"DHDN / Soldner 24 Ostenfeld I\");\n");
1163 fprintf (out,
1164 " add_proj4text(p,0,\"+proj=cass +lat_0=54.47018733 +lon_0=9.23411097 \");\n");
1165 fprintf (out,
1166 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1167 fprintf (out,
1168 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 24 Ostenfeld I\\\",\");\n");
1169 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1170 fprintf (out,
1171 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1172 fprintf (out,
1173 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1174 fprintf (out,
1175 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1176 fprintf (out,
1177 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1178 fprintf (out,
1179 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1180 fprintf (out,
1181 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1182 fprintf (out,
1183 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1184 fprintf (out,
1185 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",54.47018733],\");\n");
1186 fprintf (out,
1187 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",9.23411097],\");\n");
1188 fprintf (out,
1189 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1190 fprintf (out,
1191 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187924\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1192 fprintf (out,
1193 " p = add_epsg_def(filter,first,last,187925,\"mj10777.de\",187925,\"DHDN / Soldner 25 Rathkrügen\");\n");
1194 fprintf (out,
1195 " add_proj4text(p,0,\"+proj=cass +lat_0=53.81839364 +lon_0=10.04220189 \");\n");
1196 fprintf (out,
1197 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1198 fprintf (out,
1199 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 25 Rathkrügen\\\",\");\n");
1200 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1201 fprintf (out,
1202 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1203 fprintf (out,
1204 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1205 fprintf (out,
1206 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1207 fprintf (out,
1208 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1209 fprintf (out,
1210 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1211 fprintf (out,
1212 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1213 fprintf (out,
1214 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1215 fprintf (out,
1216 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",53.81839364],\");\n");
1217 fprintf (out,
1218 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",10.04220189],\");\n");
1219 fprintf (out,
1220 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1221 fprintf (out,
1222 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187925\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1223 fprintf (out,
1224 " p = add_epsg_def(filter,first,last,187926,\"mj10777.de\",187926,\"DHDN / Soldner 26 Bungsberg, Aussichtsturm\");\n");
1225 fprintf (out,
1226 " add_proj4text(p,0,\"+proj=cass +lat_0=54.21110653 +lon_0=10.72636431 \");\n");
1227 fprintf (out,
1228 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1229 fprintf (out,
1230 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 26 Bungsberg, Aussichtsturm\\\",\");\n");
1231 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1232 fprintf (out,
1233 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1234 fprintf (out,
1235 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1236 fprintf (out,
1237 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1238 fprintf (out,
1239 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1240 fprintf (out,
1241 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1242 fprintf (out,
1243 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1244 fprintf (out,
1245 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1246 fprintf (out,
1247 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",54.21110653],\");\n");
1248 fprintf (out,
1249 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",10.72636431],\");\n");
1250 fprintf (out,
1251 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1252 fprintf (out,
1253 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187926\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1254 fprintf (out,
1255 " p = add_epsg_def(filter,first,last,187927,\"mj10777.de\",187927,\"DHDN / Soldner 27 Celle, Stadtkirche\");\n");
1256 fprintf (out,
1257 " add_proj4text(p,0,\"+proj=cass +lat_0=52.62574192 +lon_0=10.08190214 \");\n");
1258 fprintf (out,
1259 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1260 fprintf (out,
1261 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 27 Celle, Stadtkirche\\\",\");\n");
1262 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1263 fprintf (out,
1264 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1265 fprintf (out,
1266 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1267 fprintf (out,
1268 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1269 fprintf (out,
1270 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1271 fprintf (out,
1272 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1273 fprintf (out,
1274 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1275 fprintf (out,
1276 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1277 fprintf (out,
1278 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.62574192],\");\n");
1279 fprintf (out,
1280 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",10.08190214],\");\n");
1281 fprintf (out,
1282 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1283 fprintf (out,
1284 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187927\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1285 fprintf (out,
1286 " p = add_epsg_def(filter,first,last,187928,\"mj10777.de\",187928,\"DHDN / Soldner 28 Kaltenborn\");\n");
1287 fprintf (out,
1288 " add_proj4text(p,0,\"+proj=cass +lat_0=51.79646722 +lon_0=10.27322494 \");\n");
1289 fprintf (out,
1290 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1291 fprintf (out,
1292 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 28 Kaltenborn\\\",\");\n");
1293 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1294 fprintf (out,
1295 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1296 fprintf (out,
1297 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1298 fprintf (out,
1299 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1300 fprintf (out,
1301 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1302 fprintf (out,
1303 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1304 fprintf (out,
1305 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1306 fprintf (out,
1307 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1308 fprintf (out,
1309 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.79646722],\");\n");
1310 fprintf (out,
1311 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",10.27322494],\");\n");
1312 fprintf (out,
1313 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1314 fprintf (out,
1315 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187928\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1316 fprintf (out,
1317 " p = add_epsg_def(filter,first,last,187929,\"mj10777.de\",187929,\"DHDN / Soldner 29 Silberberg\");\n");
1318 fprintf (out,
1319 " add_proj4text(p,0,\"+proj=cass +lat_0=53.73123461 +lon_0=9.05774925 \");\n");
1320 fprintf (out,
1321 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1322 fprintf (out,
1323 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 29 Silberberg\\\",\");\n");
1324 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1325 fprintf (out,
1326 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1327 fprintf (out,
1328 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1329 fprintf (out,
1330 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1331 fprintf (out,
1332 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1333 fprintf (out,
1334 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1335 fprintf (out,
1336 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1337 fprintf (out,
1338 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1339 fprintf (out,
1340 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",53.73123461],\");\n");
1341 fprintf (out,
1342 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",9.05774925],\");\n");
1343 fprintf (out,
1344 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1345 fprintf (out,
1346 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187929\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1347 fprintf (out,
1348 " p = add_epsg_def(filter,first,last,187930,\"mj10777.de\",187930,\"DHDN / Soldner 30 Windberg\");\n");
1349 fprintf (out,
1350 " add_proj4text(p,0,\"+proj=cass +lat_0=52.88088372 +lon_0=7.53062114 \");\n");
1351 fprintf (out,
1352 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1353 fprintf (out,
1354 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 30 Windberg\\\",\");\n");
1355 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1356 fprintf (out,
1357 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1358 fprintf (out,
1359 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1360 fprintf (out,
1361 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1362 fprintf (out,
1363 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1364 fprintf (out,
1365 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1366 fprintf (out,
1367 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1368 fprintf (out,
1369 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1370 fprintf (out,
1371 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.88088372],\");\n");
1372 fprintf (out,
1373 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",7.53062114],\");\n");
1374 fprintf (out,
1375 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1376 fprintf (out,
1377 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187930\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1378 fprintf (out,
1379 " p = add_epsg_def(filter,first,last,187931,\"mj10777.de\",187931,\"DHDN / Soldner 31 Hermannsdenkmal\");\n");
1380 fprintf (out,
1381 " add_proj4text(p,0,\"+proj=cass +lat_0=51.91301647 +lon_0=8.84051853 \");\n");
1382 fprintf (out,
1383 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1384 fprintf (out,
1385 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 31 Hermannsdenkmal\\\",\");\n");
1386 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1387 fprintf (out,
1388 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1389 fprintf (out,
1390 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1391 fprintf (out,
1392 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1393 fprintf (out,
1394 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1395 fprintf (out,
1396 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1397 fprintf (out,
1398 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1399 fprintf (out,
1400 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1401 fprintf (out,
1402 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.91301647],\");\n");
1403 fprintf (out,
1404 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",8.84051853],\");\n");
1405 fprintf (out,
1406 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1407 fprintf (out,
1408 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187931\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1409 fprintf (out,
1410 " p = add_epsg_def(filter,first,last,187932,\"mj10777.de\",187932,\"DHDN / Soldner 32 Münster\");\n");
1411 fprintf (out,
1412 " add_proj4text(p,0,\"+proj=cass +lat_0=51.96547642 +lon_0=7.62334994 \");\n");
1413 fprintf (out,
1414 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1415 fprintf (out,
1416 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 32 Münster\\\",\");\n");
1417 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1418 fprintf (out,
1419 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1420 fprintf (out,
1421 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1422 fprintf (out,
1423 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1424 fprintf (out,
1425 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1426 fprintf (out,
1427 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1428 fprintf (out,
1429 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1430 fprintf (out,
1431 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1432 fprintf (out,
1433 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.96547642],\");\n");
1434 fprintf (out,
1435 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",7.62334994],\");\n");
1436 fprintf (out,
1437 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1438 fprintf (out,
1439 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187932\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1440 fprintf (out,
1441 " p = add_epsg_def(filter,first,last,187933,\"mj10777.de\",187933,\"DHDN / Soldner 33 Bochum, Peter-Paul-Kirche\");\n");
1442 fprintf (out,
1443 " add_proj4text(p,0,\"+proj=cass +lat_0=51.48373533 +lon_0=7.22115822 \");\n");
1444 fprintf (out,
1445 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1446 fprintf (out,
1447 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 33 Bochum, Peter-Paul-Kirche\\\",\");\n");
1448 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1449 fprintf (out,
1450 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1451 fprintf (out,
1452 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1453 fprintf (out,
1454 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1455 fprintf (out,
1456 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1457 fprintf (out,
1458 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1459 fprintf (out,
1460 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1461 fprintf (out,
1462 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1463 fprintf (out,
1464 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.48373533],\");\n");
1465 fprintf (out,
1466 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",7.22115822],\");\n");
1467 fprintf (out,
1468 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1469 fprintf (out,
1470 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187933\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1471 fprintf (out,
1472 " p = add_epsg_def(filter,first,last,187934,\"mj10777.de\",187934,\"DHDN / Soldner 34 Homert\");\n");
1473 fprintf (out,
1474 " add_proj4text(p,0,\"+proj=cass +lat_0=51.26480147 +lon_0=8.10687050 \");\n");
1475 fprintf (out,
1476 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1477 fprintf (out,
1478 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 34 Homert\\\",\");\n");
1479 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1480 fprintf (out,
1481 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1482 fprintf (out,
1483 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1484 fprintf (out,
1485 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1486 fprintf (out,
1487 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1488 fprintf (out,
1489 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1490 fprintf (out,
1491 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1492 fprintf (out,
1493 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1494 fprintf (out,
1495 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.26480147],\");\n");
1496 fprintf (out,
1497 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",8.10687050],\");\n");
1498 fprintf (out,
1499 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1500 fprintf (out,
1501 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187934\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1502 fprintf (out,
1503 " p = add_epsg_def(filter,first,last,187935,\"mj10777.de\",187935,\"DHDN / Soldner 35 Kassel, Martinskirche\");\n");
1504 fprintf (out,
1505 " add_proj4text(p,0,\"+proj=cass +lat_0=51.31846489 +lon_0=9.50203072 \");\n");
1506 fprintf (out,
1507 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1508 fprintf (out,
1509 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 35 Kassel, Martinskirche\\\",\");\n");
1510 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1511 fprintf (out,
1512 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1513 fprintf (out,
1514 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1515 fprintf (out,
1516 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1517 fprintf (out,
1518 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1519 fprintf (out,
1520 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1521 fprintf (out,
1522 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1523 fprintf (out,
1524 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1525 fprintf (out,
1526 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.31846489],\");\n");
1527 fprintf (out,
1528 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",9.50203072],\");\n");
1529 fprintf (out,
1530 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1531 fprintf (out,
1532 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187935\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1533 fprintf (out,
1534 " p = add_epsg_def(filter,first,last,187936,\"mj10777.de\",187936,\"DHDN / Soldner 36 Schaumburg, Schloßturm\");\n");
1535 fprintf (out,
1536 " add_proj4text(p,0,\"+proj=cass +lat_0=50.34048964 +lon_0=7.97808156 \");\n");
1537 fprintf (out,
1538 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1539 fprintf (out,
1540 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 36 Schaumburg, Schloßturm\\\",\");\n");
1541 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1542 fprintf (out,
1543 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1544 fprintf (out,
1545 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1546 fprintf (out,
1547 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1548 fprintf (out,
1549 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1550 fprintf (out,
1551 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1552 fprintf (out,
1553 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1554 fprintf (out,
1555 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1556 fprintf (out,
1557 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",50.34048964],\");\n");
1558 fprintf (out,
1559 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",7.97808156],\");\n");
1560 fprintf (out,
1561 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1562 fprintf (out,
1563 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187936\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1564 fprintf (out,
1565 " p = add_epsg_def(filter,first,last,187937,\"mj10777.de\",187937,\"DHDN / Soldner 37 Fleckert\");\n");
1566 fprintf (out,
1567 " add_proj4text(p,0,\"+proj=cass +lat_0=50.18762544 +lon_0=7.60594289 \");\n");
1568 fprintf (out,
1569 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1570 fprintf (out,
1571 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 37 Fleckert\\\",\");\n");
1572 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1573 fprintf (out,
1574 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1575 fprintf (out,
1576 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1577 fprintf (out,
1578 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1579 fprintf (out,
1580 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1581 fprintf (out,
1582 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1583 fprintf (out,
1584 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1585 fprintf (out,
1586 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1587 fprintf (out,
1588 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",50.18762544],\");\n");
1589 fprintf (out,
1590 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",7.60594289],\");\n");
1591 fprintf (out,
1592 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1593 fprintf (out,
1594 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187937\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1595 fprintf (out,
1596 " p = add_epsg_def(filter,first,last,187938,\"mj10777.de\",187938,\"DHDN / Soldner 38 Cöln, Dom\");\n");
1597 fprintf (out,
1598 " add_proj4text(p,0,\"+proj=cass +lat_0=50.94257242 +lon_0=6.95897600 \");\n");
1599 fprintf (out,
1600 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1601 fprintf (out,
1602 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 38 Cöln, Dom\\\",\");\n");
1603 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1604 fprintf (out,
1605 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1606 fprintf (out,
1607 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1608 fprintf (out,
1609 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1610 fprintf (out,
1611 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1612 fprintf (out,
1613 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1614 fprintf (out,
1615 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1616 fprintf (out,
1617 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1618 fprintf (out,
1619 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",50.94257242],\");\n");
1620 fprintf (out,
1621 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",6.95897600],\");\n");
1622 fprintf (out,
1623 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1624 fprintf (out,
1625 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187938\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1626 fprintf (out,
1627 " p = add_epsg_def(filter,first,last,187939,\"mj10777.de\",187939,\"DHDN / Soldner 39 Langschoß\");\n");
1628 fprintf (out,
1629 " add_proj4text(p,0,\"+proj=cass +lat_0=50.66738711 +lon_0=6.28935703 \");\n");
1630 fprintf (out,
1631 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1632 fprintf (out,
1633 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 39 Langschoß\\\",\");\n");
1634 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1635 fprintf (out,
1636 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1637 fprintf (out,
1638 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1639 fprintf (out,
1640 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1641 fprintf (out,
1642 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1643 fprintf (out,
1644 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1645 fprintf (out,
1646 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1647 fprintf (out,
1648 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1649 fprintf (out,
1650 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",50.66738711],\");\n");
1651 fprintf (out,
1652 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",6.28935703],\");\n");
1653 fprintf (out,
1654 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1655 fprintf (out,
1656 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187939\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1657 fprintf (out,
1658 " p = add_epsg_def(filter,first,last,187940,\"mj10777.de\",187940,\"DHDN / Soldner 40 Rissenthal\");\n");
1659 fprintf (out,
1660 " add_proj4text(p,0,\"+proj=cass +lat_0=49.47801819 +lon_0=6.75864339 \");\n");
1661 fprintf (out,
1662 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1663 fprintf (out,
1664 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 40 Rissenthal\\\",\");\n");
1665 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1666 fprintf (out,
1667 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1668 fprintf (out,
1669 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1670 fprintf (out,
1671 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1672 fprintf (out,
1673 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1674 fprintf (out,
1675 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1676 fprintf (out,
1677 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1678 fprintf (out,
1679 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1680 fprintf (out,
1681 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",49.47801819],\");\n");
1682 fprintf (out,
1683 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",6.75864339],\");\n");
1684 fprintf (out,
1685 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1686 fprintf (out,
1687 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187940\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1688 fprintf (out,
1689 " p = add_epsg_def(filter,first,last,187941,\"mj10777.de\",187941,\"DHDN / Soldner Bayern\");\n");
1690 fprintf (out,
1691 " add_proj4text(p,0,\"+proj=cass +lat_0=48.13959111 +lon_0=11.57437083 \");\n");
1692 fprintf (out,
1693 " add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1694 fprintf (out,
1695 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner Bayern\\\",\");\n");
1696 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1697 fprintf (out,
1698 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1699 fprintf (out,
1700 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1701 fprintf (out,
1702 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1703 fprintf (out,
1704 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1705 fprintf (out,
1706 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1707 fprintf (out,
1708 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1709 fprintf (out,
1710 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1711 fprintf (out,
1712 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",48.13959111],\");\n");
1713 fprintf (out,
1714 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",11.57437083],\");\n");
1715 fprintf (out,
1716 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
1717 fprintf (out,
1718 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187941\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1719 fprintf (out,
1720 " p = add_epsg_def (filter,first, last, 187998, \"mj10777.de\", 187998,\"DHDN / Ferro / Deutsches_Hauptdreiecksnetz\");\n");
1721 fprintf (out,
1722 " add_proj4text(p,0,\"+proj=longlat +ellps=bessel +datum=potsdam +pm=ferro +no_defs\");\n");
1723 fprintf (out,
1724 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Ferro / Deutsches_Hauptdreiecksnetz\\\",\");\n");
1725 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1726 fprintf (out,
1727 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",\");\n");
1728 fprintf (out,
1729 " add_srs_wkt(p,3,\"SPHEROID[\\\"Bessel 1841\\\",6377397.155,299.1528128,\");\n");
1730 fprintf (out,
1731 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]], AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],\");\n");
1732 fprintf (out,
1733 " add_srs_wkt(p,5,\"PRIMEM[\\\"ferro\\\",-17.66666666666667],UNIT[\\\"Degree\\\",0.017453292519943295,\");\n");
1734 fprintf (out,
1735 " add_srs_wkt(p,6,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187998\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]]]\");\n");
1736 fprintf (out,
1737 "/* mj10777: Not existing System, used for testing purposes. */\n");
1738 fprintf (out,
1739 " p = add_epsg_def(filter,first,last,187999,\"mj10777.de\",187999,\"DHDN / Brandenburger Tor\");\n");
1740 fprintf (out,
1741 " add_proj4text(p,0,\"+proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 \");\n");
1742 fprintf (out,
1743 " add_proj4text(p,1,\"+x_0=16816.615499858 +y_0=-11047.322499366 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
1744 fprintf (out,
1745 " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner Brandenburger Tor\\\",\");\n");
1746 fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
1747 fprintf (out,
1748 " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
1749 fprintf (out,
1750 " add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
1751 fprintf (out,
1752 " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
1753 fprintf (out,
1754 " add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
1755 fprintf (out,
1756 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
1757 fprintf (out,
1758 " add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
1759 fprintf (out,
1760 " add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
1761 fprintf (out,
1762 " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.41864827777778],\");\n");
1763 fprintf (out,
1764 " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",13.62720366666667],\");\n");
1765 fprintf (out,
1766 " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",16816.615499858],PARAMETER[\\\"false_northing\\\",-11047.322499366],\");\n");
1767 fprintf (out,
1768 " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187999\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
1769 fprintf (out,
1770 " p = add_epsg_def (filter,first, last, 325833, \"mj10777.de\", 325833,\"ETRS89 / UTM zone 33N (Brandenburg)\");\n");
1771 fprintf (out,
1772 " add_proj4text(p,0,\"+proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs\");\n");
1773 fprintf (out,
1774 " add_srs_wkt(p,0,\"PROJCS[\\\"ETRS89 / UTM zone 33N (Brandenburg)\\\",GEOGCS[\\\"ETRS89\\\",\");\n");
1775 fprintf (out,
1776 " add_srs_wkt(p,1,\"DATUM[\\\"European_Terrestrial_Reference_System_1989\\\",\");\n");
1777 fprintf (out,
1778 " add_srs_wkt(p,2,\"SPHEROID[\\\"GRS 1980\\\",6378137,298.257222101,\");\n");
1779 fprintf (out,
1780 " add_srs_wkt(p,3,\"AUTHORITY[\\\"EPSG\\\",\\\"7019\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"6258\\\"]],\");\n");
1781 fprintf (out,
1782 " add_srs_wkt(p,4,\"PRIMEM[\\\"Greenwich\\\",0,AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],\");\n");
1783 fprintf (out,
1784 " add_srs_wkt(p,5,\"UNIT[\\\"degree\\\",0.01745329251994328,AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],\");\n");
1785 fprintf (out,
1786 " add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"4258\\\"]],UNIT[\\\"metre\\\",1,\");\n");
1787 fprintf (out,
1788 " add_srs_wkt(p,7,\"AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],PROJECTION[\\\"Transverse_Mercator\\\"],\");\n");
1789 fprintf (out,
1790 " add_srs_wkt(p,8,\"PARAMETER[\\\"latitude_of_origin\\\",0],\");\n");
1791 fprintf (out,
1792 " add_srs_wkt(p,9,\"PARAMETER[\\\"central_meridian\\\",15],PARAMETER[\\\"scale_factor\\\",0.9996],\");\n");
1793 fprintf (out,
1794 " add_srs_wkt(p,10,\"PARAMETER[\\\"false_easting\\\",3500000],PARAMETER[\\\"false_northing\\\",0],\");\n");
1795 fprintf (out,
1796 " add_srs_wkt(p,11,\"AUTHORITY[\\\"EPSG\\\",\\\"325833\\\"],\");\n");
1797 fprintf (out,
1798 " add_srs_wkt(p,12,\"AXIS[\\\"Easting\\\",EAST],AXIS[\\\"Northing\\\",NORTH]]\");\n");
1799 }
1800
1801 static void
do_header(FILE * out,int macro)1802 do_header (FILE * out, int macro)
1803 {
1804 /* writing a file header */
1805 time_t tm;
1806 time (&tm);
1807 fprintf (out, "/*\n\n");
1808 fprintf (out,
1809 " helper function for srs_init.c -- populating the SPATIAL_REF_SYS table\n\n");
1810 fprintf (out, " this code was autogenerated by \"auto_epsg_ext\" on %s\n",
1811 ctime (&tm));
1812 fprintf (out, " Author: Sandro Furieri a.furieri@lqt.it\n\n");
1813 fprintf (out,
1814 " -----------------------------------------------------------------------------\n\n");
1815 fprintf (out, " Version: MPL 1.1/GPL 2.0/LGPL 2.1\n\n");
1816 fprintf (out,
1817 " The contents of this file are subject to the Mozilla Public License Version\n");
1818 fprintf (out,
1819 " 1.1 (the \"License\"); you may not use this file except in compliance with\n");
1820 fprintf (out, " the License. You may obtain a copy of the License at\n");
1821 fprintf (out, " http://www.mozilla.org/MPL/\n\n");
1822 fprintf (out,
1823 "Software distributed under the License is distributed on an \"AS IS\" basis,\n");
1824 fprintf (out,
1825 "WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\n");
1826 fprintf (out,
1827 "for the specific language governing rights and limitations under the\n");
1828 fprintf (out,
1829 "License.\n\nThe Original Code is the SpatiaLite library\n\n");
1830 fprintf (out,
1831 "The Initial Developer of the Original Code is Alessandro Furieri\n\n");
1832 fprintf (out,
1833 "Portions created by the Initial Developer are Copyright (C) 2008\n");
1834 fprintf (out,
1835 "the Initial Developer. All Rights Reserved.\n\nContributor(s):\n\n");
1836 fprintf (out,
1837 "Alternatively, the contents of this file may be used under the terms of\n");
1838 fprintf (out,
1839 "either the GNU General Public License Version 2 or later (the \"GPL\"), or\n");
1840 fprintf (out,
1841 "the GNU Lesser General Public License Version 2.1 or later (the \"LGPL\"),\n");
1842 fprintf (out,
1843 "in which case the provisions of the GPL or the LGPL are applicable instead\n");
1844 fprintf (out,
1845 "of those above. If you wish to allow use of your version of this file only\n");
1846 fprintf (out,
1847 "under the terms of either the GPL or the LGPL, and not to allow others to\n");
1848 fprintf (out,
1849 "use your version of this file under the terms of the MPL, indicate your\n");
1850 fprintf (out,
1851 "decision by deleting the provisions above and replace them with the notice\n");
1852 fprintf (out,
1853 "and other provisions required by the GPL or the LGPL. If you do not delete\n");
1854 fprintf (out,
1855 "the provisions above, a recipient may use your version of this file under\n");
1856 fprintf (out,
1857 "the terms of any one of the MPL, the GPL or the LGPL.\n\n*/\n\n");
1858 fprintf (out, "#if defined(_WIN32) && !defined(__MINGW32__)\n");
1859 fprintf (out, "#include \"config-msvc.h\"\n#else\n");
1860 fprintf (out, "#include \"config.h\"\n#endif\n\n");
1861 fprintf (out, "#include <spatialite_private.h>\n\n");
1862
1863 if (macro)
1864 fprintf (out,
1865 "#ifndef OMIT_EPSG /* full EPSG initialization enabled */\n\n");
1866 }
1867
1868
1869 static void
do_footer(FILE * out,int macro)1870 do_footer (FILE * out, int macro)
1871 {
1872 /* writing a file footer */
1873 fprintf (out, "}\n\n");
1874 if (macro)
1875 fprintf (out,
1876 "#endif /* full EPSG initialization enabled/disabled */\n\n");
1877 }
1878
1879 static void
output_c_code(FILE * out,struct epsg_dict * epsg)1880 output_c_code (FILE * out, struct epsg_dict *epsg)
1881 {
1882 /* generating the C code supporting spatial_ref_sys self-initialization */
1883 struct epsg_entry *p = epsg->first;
1884 int n;
1885 int sect = 0;
1886 int wgs84_sect = 0;
1887 int def_cnt = 1000;
1888 int out_cnt;
1889 const char *in;
1890 int i;
1891 int pending_footer = 0;
1892
1893 for (i = 0; i < epsg->count; i++)
1894 {
1895 p = *(epsg->sorted + i);
1896 if (p->srid == 4326 || (p->srid >= 32601 && p->srid <= 32766))
1897 {
1898 /* skipping WGS84 defs */
1899 continue;
1900 }
1901
1902 if (def_cnt > 100)
1903 {
1904 if (out != NULL)
1905 {
1906 if (pending_footer)
1907 {
1908 do_footer (out, 1);
1909 pending_footer = 0;
1910 }
1911
1912 /* closing the output file */
1913 fclose (out);
1914 out = NULL;
1915 }
1916
1917 /* opening the next output file */
1918 out = open_file (sect);
1919 if (out == NULL)
1920 return;
1921
1922 /* function header */
1923 do_header (out, 1);
1924 fprintf (out, "SPATIALITE_PRIVATE void\n");
1925 fprintf (out,
1926 "initialize_epsg_%02d (int filter, struct epsg_defs **first, struct epsg_defs **last)\n",
1927 sect++);
1928 fprintf (out, "{\n/* initializing the EPSG defs list */\n");
1929 fprintf (out, " struct epsg_defs *p;\n");
1930 def_cnt = 0;
1931 }
1932 pending_footer = 1;
1933
1934 /* inserting the main EPSG def */
1935 def_cnt++;
1936 fprintf (out,
1937 " p = add_epsg_def_ex (filter, first, last, %d, \"epsg\", %d,\n",
1938 p->srid, p->srid);
1939 fprintf (out,
1940 " \"%s\", %d, %d,\n",
1941 p->ref_sys_name, p->is_geographic, p->flipped_axes);
1942 fprintf (out,
1943 " \"%s\", \"%s\",\n", p->spheroid, p->prime_meridian);
1944 fprintf (out,
1945 " \"%s\", \"%s\", \"%s\",\n",
1946 p->datum, p->projection, p->unit);
1947 fprintf (out,
1948 " \"%s\", \"%s\", \"%s\", \"%s\");\n",
1949 p->axis_1, p->orientation_1, p->axis_2, p->orientation_2);
1950
1951 /* inserting the proj4text string */
1952 n = 0;
1953 in = p->proj4text;
1954 while (*in != '\0')
1955 {
1956 fprintf (out, " add_proj4text (p, %d,\n \"", n);
1957 out_cnt = 0;
1958 while (*in != '\0')
1959 {
1960 if (*in == '"')
1961 {
1962 fprintf (out, "\\%c", *in++);
1963 out_cnt += 2;
1964 }
1965 else
1966 {
1967 fprintf (out, "%c", *in++);
1968 out_cnt++;
1969 }
1970 if (out_cnt >= 56)
1971 break;
1972 }
1973 fprintf (out, "\");\n");
1974 n++;
1975 }
1976
1977 if (p->srtext != NULL)
1978 {
1979 /* inserting the srs_wkt string */
1980 n = 0;
1981 in = p->srtext;
1982 while (*in != '\0')
1983 {
1984 fprintf (out, " add_srs_wkt (p, %d,\n \"", n);
1985 out_cnt = 0;
1986 while (*in != '\0')
1987 {
1988 if (*in == '"')
1989 {
1990 fprintf (out, "\\%c", *in++);
1991 out_cnt += 2;
1992 }
1993 else
1994 {
1995 fprintf (out, "%c", *in++);
1996 out_cnt++;
1997 }
1998 if (out_cnt >= 56)
1999 break;
2000 }
2001 fprintf (out, "\");\n");
2002 n++;
2003 }
2004 }
2005 else
2006 fprintf (out, " add_srs_wkt (p, 0, \"\");\n");
2007 }
2008 if (out != NULL)
2009 {
2010 /* closing the output file */
2011 if (pending_footer)
2012 {
2013 do_footer (out, 1);
2014 pending_footer = 0;
2015 }
2016
2017 /* closing the output file */
2018 fclose (out);
2019 out = NULL;
2020 }
2021
2022 def_cnt = 1000;
2023 pending_footer = 0;
2024 for (i = 0; i < epsg->count; i++)
2025 {
2026 p = *(epsg->sorted + i);
2027 if (p->srid == 4326 || (p->srid >= 32601 && p->srid <= 32766))
2028 ;
2029 else
2030 {
2031 /* skipping not-WGS84 defs */
2032 continue;
2033 }
2034
2035 if (def_cnt > 100)
2036 {
2037 if (out != NULL)
2038 {
2039 if (pending_footer)
2040 {
2041 do_footer (out, 0);
2042 pending_footer = 0;
2043 }
2044
2045 /* closing the output file */
2046 fclose (out);
2047 out = NULL;
2048 }
2049
2050 /* opening the next output file */
2051 out = open_file_wgs84 (wgs84_sect);
2052 if (out == NULL)
2053 return;
2054
2055 /* function header */
2056 do_header (out, 0);
2057 fprintf (out, "SPATIALITE_PRIVATE void\n");
2058 fprintf (out,
2059 "initialize_epsg_wgs84_%02d (int filter, struct epsg_defs **first, struct epsg_defs **last)\n",
2060 wgs84_sect++);
2061 fprintf (out,
2062 "{\n/* initializing the EPSG defs list [WGS84] */\n");
2063 fprintf (out, " struct epsg_defs *p;\n");
2064 def_cnt = 0;
2065 }
2066 pending_footer = 1;
2067
2068 /* inserting the main EPSG def */
2069 def_cnt++;
2070 fprintf (out,
2071 " p = add_epsg_def_ex (filter, first, last, %d, \"epsg\", %d,\n",
2072 p->srid, p->srid);
2073 fprintf (out,
2074 " \"%s\", %d, %d,\n",
2075 p->ref_sys_name, p->is_geographic, p->flipped_axes);
2076 fprintf (out,
2077 " \"%s\", \"%s\",\n", p->spheroid, p->prime_meridian);
2078 fprintf (out,
2079 " \"%s\", \"%s\", \"%s\",\n",
2080 p->datum, p->projection, p->unit);
2081 fprintf (out,
2082 " \"%s\", \"%s\", \"%s\", \"%s\");\n",
2083 p->axis_1, p->orientation_1, p->axis_2, p->orientation_2);
2084
2085 /* inserting the proj4text string */
2086 n = 0;
2087 in = p->proj4text;
2088 while (*in != '\0')
2089 {
2090 fprintf (out, " add_proj4text (p, %d,\n \"", n);
2091 out_cnt = 0;
2092 while (*in != '\0')
2093 {
2094 if (*in == '"')
2095 {
2096 fprintf (out, "\\%c", *in++);
2097 out_cnt += 2;
2098 }
2099 else
2100 {
2101 fprintf (out, "%c", *in++);
2102 out_cnt++;
2103 }
2104 if (out_cnt >= 56)
2105 break;
2106 }
2107 fprintf (out, "\");\n");
2108 n++;
2109 }
2110
2111 if (p->srtext != NULL)
2112 {
2113 /* inserting the srs_wkt string */
2114 n = 0;
2115 in = p->srtext;
2116 while (*in != '\0')
2117 {
2118 fprintf (out, " add_srs_wkt (p, %d,\n \"", n);
2119 out_cnt = 0;
2120 while (*in != '\0')
2121 {
2122 if (*in == '"')
2123 {
2124 fprintf (out, "\\%c", *in++);
2125 out_cnt += 2;
2126 }
2127 else
2128 {
2129 fprintf (out, "%c", *in++);
2130 out_cnt++;
2131 }
2132 if (out_cnt >= 56)
2133 break;
2134 }
2135 fprintf (out, "\");\n");
2136 n++;
2137 }
2138 }
2139 else
2140 fprintf (out, " add_srs_wkt (p, 0, \"\");\n");
2141 }
2142 if (out != NULL)
2143 {
2144 /* closing the output file */
2145 if (pending_footer)
2146 {
2147 do_footer (out, 0);
2148 pending_footer = 0;
2149 }
2150
2151 /* closing the output file */
2152 fclose (out);
2153 out = NULL;
2154 }
2155
2156 /* opening the "prussian" output file */
2157 out = open_file3 ();
2158 if (out == NULL)
2159 return;
2160
2161 /* function header */
2162 do_header (out, 1);
2163 do_prussian (out);
2164
2165 /* function footer */
2166 do_footer (out, 1);
2167
2168 /* closing the "prussian" output file */
2169 fclose (out);
2170 out = NULL;
2171
2172 /* opening the "extra" output file */
2173 out = open_file2 ();
2174 if (out == NULL)
2175 return;
2176
2177 /* function header */
2178 do_header (out, 0);
2179 fprintf (out, "/* declaring prototypes */\n");
2180 for (i = 0; i < sect; i++)
2181 fprintf (out,
2182 "SPATIALITE_PRIVATE void initialize_epsg_%02d (\n\tint filter, struct epsg_defs **first, struct epsg_defs **last);\n",
2183 i);
2184 for (i = 0; i < wgs84_sect; i++)
2185 fprintf (out,
2186 "SPATIALITE_PRIVATE void initialize_epsg_wgs84_%02d (\n\tint filter, struct epsg_defs **first, struct epsg_defs **last);\n",
2187 i);
2188 fprintf (out,
2189 "SPATIALITE_PRIVATE void initialize_epsg_prussian (\n\tint filter, struct epsg_defs **first, struct epsg_defs **last);\n");
2190 fprintf (out,
2191 "SPATIALITE_PRIVATE void initialize_epsg_extra (\n\tint filter, struct epsg_defs **first, struct epsg_defs **last);\n\n");
2192
2193 fprintf (out, "SPATIALITE_PRIVATE void\n");
2194 fprintf (out,
2195 "initialize_epsg_extra (int filter, struct epsg_defs **first, struct epsg_defs **last)\n\n");
2196 fprintf (out, "{\n/* initializing the EPSG defs list [EXTRA] */\n");
2197 fprintf (out, " struct epsg_defs *p;\n");
2198
2199 fprintf (out,
2200 " p = add_epsg_def (filter, first, last, 40000, \"gfoss.it\", 1,\n");
2201 fprintf (out, " \"Italy mainland zone 1 GB Roma40\");\n");
2202 fprintf (out, " add_proj4text (p, 0,\n");
2203 fprintf (out,
2204 " \"+proj=tmerc+lat_0=0 +lon_0=9 +k=0.9996 +x_0=1500000 +y_\");\n");
2205 fprintf (out, " add_proj4text (p, 1,\n");
2206 fprintf (out,
2207 " \"0=0 +ellps=intl +units=m +towgs84=-104.1,-49.1,-9.9,0.97\");\n");
2208 fprintf (out,
2209 " add_proj4text (p, 2, \"1,-2.917,0.714,-11.68 +no_defs\");\n");
2210 fprintf (out, " add_srs_wkt (p, 0, \"\");\n");
2211 fprintf (out,
2212 " p = add_epsg_def (filter, first, last, 40001, \"gfoss.it\", 2,\n");
2213 fprintf (out, " \"Italy mainland zone 2 GB Roma40\");\n");
2214 fprintf (out, " add_proj4text (p, 0,\n");
2215 fprintf (out,
2216 " \"+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=2520000 +y\");\n");
2217 fprintf (out, " add_proj4text (p, 1,\n");
2218 fprintf (out,
2219 " \"_0=0 +ellps=intl +units=m +towgs84=-104.1,-49.1,-9.9,0.9\");\n");
2220 fprintf (out,
2221 " add_proj4text (p, 2, \"71,-2.917,0.714,-11.68 +no_defs\");\n");
2222 fprintf (out, " add_srs_wkt (p, 0, \"\");\n");
2223 fprintf (out,
2224 " p = add_epsg_def (filter, first, last, 40002, \"gfoss.it\", 3,\n");
2225 fprintf (out, " \"Italy Sardinia GB Roma40\");\n");
2226 fprintf (out, " add_proj4text (p, 0,\n");
2227 fprintf (out,
2228 " \"+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=1500000 +y\");\n");
2229 fprintf (out, " add_proj4text (p, 1,\n");
2230 fprintf (out,
2231 " \"_0=0 +ellps=intl +units=m +towgs84=-168.6,-34.0,38.6,-0.\");\n");
2232 fprintf (out,
2233 " add_proj4text (p, 2, \"374,-0.679,-1.379,-9.48 +no_defs\");\n");
2234 fprintf (out, " add_srs_wkt (p, 0, \"\");\n");
2235 fprintf (out,
2236 " p = add_epsg_def (filter, first, last, 40003, \"gfoss.it\", 4,\n");
2237 fprintf (out, " \"Italy Sicily GB Roma40\");\n");
2238 fprintf (out, " add_proj4text (p, 0,\n");
2239 fprintf (out,
2240 " \"+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=1500000 +y\");\n");
2241 fprintf (out, " add_proj4text (p, 1,\n");
2242 fprintf (out,
2243 " \"_0=0 +ellps=intl +units=m +towgs84=-50.2,-50.4,84.8,-0.6\");\n");
2244 fprintf (out,
2245 " add_proj4text (p, 2, \"90,-2.012,0.459,-28.08 +no_defs\");\n");
2246 fprintf (out, " add_srs_wkt (p, 0, \"\");\n");
2247
2248 /* function footer */
2249 do_footer (out, 0);
2250
2251 /* inserting the pilot function */
2252 fprintf (out, "SPATIALITE_PRIVATE void\n");
2253 fprintf (out,
2254 "initialize_epsg (int filter, struct epsg_defs **first, struct epsg_defs **last)\n");
2255 fprintf (out, "{\n/* initializing the EPSG defs list */\n");
2256 fprintf (out, " struct epsg_defs *p;\n ");
2257 fprintf (out, "/* initializing the EPSG UNKNOWN def [-1] */\n");
2258 fprintf (out,
2259 " p = add_epsg_def (filter, first, last, -1, \"NONE\", -1, \"Undefined - Cartesian\");\n");
2260 fprintf (out, " add_proj4text (p, 0, \"\");\n");
2261 fprintf (out, " add_srs_wkt (p, 0, \"\");\n");
2262 fprintf (out,
2263 " p = add_epsg_def (filter, first, last, 0, \"NONE\", 0, \"Undefined - Geographic Long/Lat\");\n");
2264 fprintf (out, " add_proj4text (p, 0, \"\");\n");
2265 fprintf (out, " add_srs_wkt (p, 0, \"\");\n\n");
2266 fprintf (out, " if (filter != GAIA_EPSG_WGS84_ONLY)\n {\n");
2267 fprintf (out,
2268 "#ifndef OMIT_EPSG /* full EPSG initialization enabled */\n");
2269 for (i = 0; i < sect; i++)
2270 fprintf (out,
2271 " initialize_epsg_%02d (filter, first, last);\n", i);
2272 fprintf (out, " initialize_epsg_prussian (filter, first, last);\n");
2273 fprintf (out, " initialize_epsg_extra (filter, first, last);\n");
2274 fprintf (out, "#endif /* full EPSG initialization enabled/disabled */\n");
2275
2276 fprintf (out, " }\n");
2277 for (i = 0; i < wgs84_sect; i++)
2278 fprintf (out,
2279 " initialize_epsg_wgs84_%02d (filter, first, last);\n", i);
2280 fprintf (out, "}\n");
2281
2282 /* closing the "extra" output file */
2283 fclose (out);
2284 out = NULL;
2285 }
2286
2287 int
main(void)2288 main (void)
2289 {
2290 /*
2291 /
2292 / Please note: no args are supported !!!
2293 /
2294 / we'll expect to find two input files respectively named:
2295 / - epsg
2296 / - wkt
2297 /
2298 / the C code will be generated into: epsg_inlined.c
2299 /
2300 */
2301 FILE *fl_epsg = NULL;
2302 FILE *fl_out = NULL;
2303 struct epsg_dict epsg;
2304 /* initializing the EPSG dictionary */
2305 epsg.first = NULL;
2306 epsg.last = NULL;
2307 epsg.sorted = NULL;
2308 epsg.count = 0;
2309 /* opening the EPSG input file */
2310 fl_epsg = fopen ("epsg", "rb");
2311 if (fl_epsg == NULL)
2312 {
2313 fprintf (stderr, "ERROR: unable to open the \"epsg\" input file\n");
2314 goto stop;
2315 }
2316
2317 if (!parse_epsg (fl_epsg, &epsg))
2318 {
2319 fprintf (stderr, "ERROR: malformed EPSG input file\n");
2320 goto stop;
2321 }
2322
2323 if (!sort_epsg (&epsg))
2324 {
2325 fprintf (stderr, "ERROR: unable to sort EPSG entries\n");
2326 goto stop;
2327 }
2328
2329 output_c_code (fl_out, &epsg);
2330 stop:
2331 free_epsg (&epsg);
2332 if (fl_epsg)
2333 fclose (fl_epsg);
2334 if (fl_out)
2335 fclose (fl_out);
2336 return 0;
2337 }
2338