1 /******************************************************************************
2  * $Id$
3  *
4  * Project:  MapServer
5  * Purpose:  Axis lookup table
6  * Author:   Thomas Bonfort and the MapServer team.
7  *
8  ******************************************************************************
9  * Copyright (c) 1996-2011 Regents of the University of Minnesota.
10  *
11  * Permission is hereby granted, free of charge, to any person obtaining a
12  * copy of this software and associated documentation files (the "Software"),
13  * to deal in the Software without restriction, including without limitation
14  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15  * and/or sell copies of the Software, and to permit persons to whom the
16  * Software is furnished to do so, subject to the following conditions:
17  *
18  * The above copyright notice and this permission notice shall be included in
19  * all copies of this Software or works derived from this Software.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27  * DEALINGS IN THE SOFTWARE.
28  *****************************************************************************/
29 
30 #include "mapcache.h"
31 
32 static struct axisOrientationEpsgCodes_s {
33   int code;
34 } axisOrientationEpsgCodes[] = {
35   { 4326 },
36   { 4258 },
37   { 31466 },
38   { 31467 },
39   { 31468 },
40   { 31469 },
41   { 2166 },
42   { 2167 },
43   { 2168 },
44   { 2036 },
45   { 2044 },
46   { 2045 },
47   { 2065 },
48   { 2081 },
49   { 2082 },
50   { 2083 },
51   { 2085 },
52   { 2086 },
53   { 2091 },
54   { 2092 },
55   { 2093 },
56   { 2096 },
57   { 2097 },
58   { 2098 },
59   { 2105 },
60   { 2106 },
61   { 2107 },
62   { 2108 },
63   { 2109 },
64   { 2110 },
65   { 2111 },
66   { 2112 },
67   { 2113 },
68   { 2114 },
69   { 2115 },
70   { 2116 },
71   { 2117 },
72   { 2118 },
73   { 2119 },
74   { 2120 },
75   { 2121 },
76   { 2122 },
77   { 2123 },
78   { 2124 },
79   { 2125 },
80   { 2126 },
81   { 2127 },
82   { 2128 },
83   { 2129 },
84   { 2130 },
85   { 2131 },
86   { 2132 },
87   { 2169 },
88   { 2170 },
89   { 2171 },
90   { 2172 },
91   { 2173 },
92   { 2174 },
93   { 2175 },
94   { 2176 },
95   { 2177 },
96   { 2178 },
97   { 2179 },
98   { 2180 },
99   { 2193 },
100   { 2199 },
101   { 2200 },
102   { 2206 },
103   { 2207 },
104   { 2208 },
105   { 2209 },
106   { 2210 },
107   { 2211 },
108   { 2212 },
109   { 2319 },
110   { 2320 },
111   { 2321 },
112   { 2322 },
113   { 2323 },
114   { 2324 },
115   { 2325 },
116   { 2326 },
117   { 2327 },
118   { 2328 },
119   { 2329 },
120   { 2330 },
121   { 2331 },
122   { 2332 },
123   { 2333 },
124   { 2334 },
125   { 2335 },
126   { 2336 },
127   { 2337 },
128   { 2338 },
129   { 2339 },
130   { 2340 },
131   { 2341 },
132   { 2342 },
133   { 2343 },
134   { 2344 },
135   { 2345 },
136   { 2346 },
137   { 2347 },
138   { 2348 },
139   { 2349 },
140   { 2350 },
141   { 2351 },
142   { 2352 },
143   { 2353 },
144   { 2354 },
145   { 2355 },
146   { 2356 },
147   { 2357 },
148   { 2358 },
149   { 2359 },
150   { 2360 },
151   { 2361 },
152   { 2362 },
153   { 2363 },
154   { 2364 },
155   { 2365 },
156   { 2366 },
157   { 2367 },
158   { 2368 },
159   { 2369 },
160   { 2370 },
161   { 2371 },
162   { 2372 },
163   { 2373 },
164   { 2374 },
165   { 2375 },
166   { 2376 },
167   { 2377 },
168   { 2378 },
169   { 2379 },
170   { 2380 },
171   { 2381 },
172   { 2382 },
173   { 2383 },
174   { 2384 },
175   { 2385 },
176   { 2386 },
177   { 2387 },
178   { 2388 },
179   { 2389 },
180   { 2390 },
181   { 2391 },
182   { 2392 },
183   { 2393 },
184   { 2394 },
185   { 2395 },
186   { 2396 },
187   { 2397 },
188   { 2398 },
189   { 2399 },
190   { 2400 },
191   { 2401 },
192   { 2402 },
193   { 2403 },
194   { 2404 },
195   { 2405 },
196   { 2406 },
197   { 2407 },
198   { 2408 },
199   { 2409 },
200   { 2410 },
201   { 2411 },
202   { 2412 },
203   { 2413 },
204   { 2414 },
205   { 2415 },
206   { 2416 },
207   { 2417 },
208   { 2418 },
209   { 2419 },
210   { 2420 },
211   { 2421 },
212   { 2422 },
213   { 2423 },
214   { 2424 },
215   { 2425 },
216   { 2426 },
217   { 2427 },
218   { 2428 },
219   { 2429 },
220   { 2430 },
221   { 2431 },
222   { 2432 },
223   { 2433 },
224   { 2434 },
225   { 2435 },
226   { 2436 },
227   { 2437 },
228   { 2438 },
229   { 2439 },
230   { 2440 },
231   { 2441 },
232   { 2442 },
233   { 2443 },
234   { 2444 },
235   { 2445 },
236   { 2446 },
237   { 2447 },
238   { 2448 },
239   { 2449 },
240   { 2450 },
241   { 2451 },
242   { 2452 },
243   { 2453 },
244   { 2454 },
245   { 2455 },
246   { 2456 },
247   { 2457 },
248   { 2458 },
249   { 2459 },
250   { 2460 },
251   { 2461 },
252   { 2462 },
253   { 2463 },
254   { 2464 },
255   { 2465 },
256   { 2466 },
257   { 2467 },
258   { 2468 },
259   { 2469 },
260   { 2470 },
261   { 2471 },
262   { 2472 },
263   { 2473 },
264   { 2474 },
265   { 2475 },
266   { 2476 },
267   { 2477 },
268   { 2478 },
269   { 2479 },
270   { 2480 },
271   { 2481 },
272   { 2482 },
273   { 2483 },
274   { 2484 },
275   { 2485 },
276   { 2486 },
277   { 2487 },
278   { 2488 },
279   { 2489 },
280   { 2490 },
281   { 2491 },
282   { 2492 },
283   { 2493 },
284   { 2494 },
285   { 2495 },
286   { 2496 },
287   { 2497 },
288   { 2498 },
289   { 2499 },
290   { 2500 },
291   { 2501 },
292   { 2502 },
293   { 2503 },
294   { 2504 },
295   { 2505 },
296   { 2506 },
297   { 2507 },
298   { 2508 },
299   { 2509 },
300   { 2510 },
301   { 2511 },
302   { 2512 },
303   { 2513 },
304   { 2514 },
305   { 2515 },
306   { 2516 },
307   { 2517 },
308   { 2518 },
309   { 2519 },
310   { 2520 },
311   { 2521 },
312   { 2522 },
313   { 2523 },
314   { 2524 },
315   { 2525 },
316   { 2526 },
317   { 2527 },
318   { 2528 },
319   { 2529 },
320   { 2530 },
321   { 2531 },
322   { 2532 },
323   { 2533 },
324   { 2534 },
325   { 2535 },
326   { 2536 },
327   { 2537 },
328   { 2538 },
329   { 2539 },
330   { 2540 },
331   { 2541 },
332   { 2542 },
333   { 2543 },
334   { 2544 },
335   { 2545 },
336   { 2546 },
337   { 2547 },
338   { 2548 },
339   { 2549 },
340   { 2551 },
341   { 2552 },
342   { 2553 },
343   { 2554 },
344   { 2555 },
345   { 2556 },
346   { 2557 },
347   { 2558 },
348   { 2559 },
349   { 2560 },
350   { 2561 },
351   { 2562 },
352   { 2563 },
353   { 2564 },
354   { 2565 },
355   { 2566 },
356   { 2567 },
357   { 2568 },
358   { 2569 },
359   { 2570 },
360   { 2571 },
361   { 2572 },
362   { 2573 },
363   { 2574 },
364   { 2575 },
365   { 2576 },
366   { 2577 },
367   { 2578 },
368   { 2579 },
369   { 2580 },
370   { 2581 },
371   { 2582 },
372   { 2583 },
373   { 2584 },
374   { 2585 },
375   { 2586 },
376   { 2587 },
377   { 2588 },
378   { 2589 },
379   { 2590 },
380   { 2591 },
381   { 2592 },
382   { 2593 },
383   { 2594 },
384   { 2595 },
385   { 2596 },
386   { 2597 },
387   { 2598 },
388   { 2599 },
389   { 2600 },
390   { 2601 },
391   { 2602 },
392   { 2603 },
393   { 2604 },
394   { 2605 },
395   { 2606 },
396   { 2607 },
397   { 2608 },
398   { 2609 },
399   { 2610 },
400   { 2611 },
401   { 2612 },
402   { 2613 },
403   { 2614 },
404   { 2615 },
405   { 2616 },
406   { 2617 },
407   { 2618 },
408   { 2619 },
409   { 2620 },
410   { 2621 },
411   { 2622 },
412   { 2623 },
413   { 2624 },
414   { 2625 },
415   { 2626 },
416   { 2627 },
417   { 2628 },
418   { 2629 },
419   { 2630 },
420   { 2631 },
421   { 2632 },
422   { 2633 },
423   { 2634 },
424   { 2635 },
425   { 2636 },
426   { 2637 },
427   { 2638 },
428   { 2639 },
429   { 2640 },
430   { 2641 },
431   { 2642 },
432   { 2643 },
433   { 2644 },
434   { 2645 },
435   { 2646 },
436   { 2647 },
437   { 2648 },
438   { 2649 },
439   { 2650 },
440   { 2651 },
441   { 2652 },
442   { 2653 },
443   { 2654 },
444   { 2655 },
445   { 2656 },
446   { 2657 },
447   { 2658 },
448   { 2659 },
449   { 2660 },
450   { 2661 },
451   { 2662 },
452   { 2663 },
453   { 2664 },
454   { 2665 },
455   { 2666 },
456   { 2667 },
457   { 2668 },
458   { 2669 },
459   { 2670 },
460   { 2671 },
461   { 2672 },
462   { 2673 },
463   { 2674 },
464   { 2675 },
465   { 2676 },
466   { 2677 },
467   { 2678 },
468   { 2679 },
469   { 2680 },
470   { 2681 },
471   { 2682 },
472   { 2683 },
473   { 2684 },
474   { 2685 },
475   { 2686 },
476   { 2687 },
477   { 2688 },
478   { 2689 },
479   { 2690 },
480   { 2691 },
481   { 2692 },
482   { 2693 },
483   { 2694 },
484   { 2695 },
485   { 2696 },
486   { 2697 },
487   { 2698 },
488   { 2699 },
489   { 2700 },
490   { 2701 },
491   { 2702 },
492   { 2703 },
493   { 2704 },
494   { 2705 },
495   { 2706 },
496   { 2707 },
497   { 2708 },
498   { 2709 },
499   { 2710 },
500   { 2711 },
501   { 2712 },
502   { 2713 },
503   { 2714 },
504   { 2715 },
505   { 2716 },
506   { 2717 },
507   { 2718 },
508   { 2719 },
509   { 2720 },
510   { 2721 },
511   { 2722 },
512   { 2723 },
513   { 2724 },
514   { 2725 },
515   { 2726 },
516   { 2727 },
517   { 2728 },
518   { 2729 },
519   { 2730 },
520   { 2731 },
521   { 2732 },
522   { 2733 },
523   { 2734 },
524   { 2735 },
525   { 2738 },
526   { 2739 },
527   { 2740 },
528   { 2741 },
529   { 2742 },
530   { 2743 },
531   { 2744 },
532   { 2745 },
533   { 2746 },
534   { 2747 },
535   { 2748 },
536   { 2749 },
537   { 2750 },
538   { 2751 },
539   { 2752 },
540   { 2753 },
541   { 2754 },
542   { 2755 },
543   { 2756 },
544   { 2757 },
545   { 2758 },
546   { 2935 },
547   { 2936 },
548   { 2937 },
549   { 2938 },
550   { 2939 },
551   { 2940 },
552   { 2941 },
553   { 2953 },
554   { 2963 },
555   { 3006 },
556   { 3007 },
557   { 3008 },
558   { 3009 },
559   { 3010 },
560   { 3011 },
561   { 3012 },
562   { 3013 },
563   { 3014 },
564   { 3015 },
565   { 3016 },
566   { 3017 },
567   { 3018 },
568   { 3019 },
569   { 3020 },
570   { 3021 },
571   { 3022 },
572   { 3023 },
573   { 3024 },
574   { 3025 },
575   { 3026 },
576   { 3027 },
577   { 3028 },
578   { 3029 },
579   { 3030 },
580   { 3034 },
581   { 3035 },
582   { 3038 },
583   { 3039 },
584   { 3040 },
585   { 3041 },
586   { 3042 },
587   { 3043 },
588   { 3044 },
589   { 3045 },
590   { 3046 },
591   { 3047 },
592   { 3048 },
593   { 3049 },
594   { 3050 },
595   { 3051 },
596   { 3058 },
597   { 3059 },
598   { 3068 },
599   { 3114 },
600   { 3115 },
601   { 3116 },
602   { 3117 },
603   { 3118 },
604   { 3120 },
605   { 3126 },
606   { 3127 },
607   { 3128 },
608   { 3129 },
609   { 3130 },
610   { 3131 },
611   { 3132 },
612   { 3133 },
613   { 3134 },
614   { 3135 },
615   { 3136 },
616   { 3137 },
617   { 3138 },
618   { 3139 },
619   { 3140 },
620   { 3146 },
621   { 3147 },
622   { 3150 },
623   { 3151 },
624   { 3152 },
625   { 3300 },
626   { 3301 },
627   { 3328 },
628   { 3329 },
629   { 3330 },
630   { 3331 },
631   { 3332 },
632   { 3333 },
633   { 3334 },
634   { 3335 },
635   { 3346 },
636   { 3350 },
637   { 3351 },
638   { 3352 },
639   { 3366 },
640   { 3386 },
641   { 3387 },
642   { 3388 },
643   { 3389 },
644   { 3390 },
645   { 3396 },
646   { 3397 },
647   { 3398 },
648   { 3399 },
649   { 3407 },
650   { 3414 },
651   { 3416 },
652   { 3764 },
653   { 3788 },
654   { 3789 },
655   { 3790 },
656   { 3791 },
657   { 3793 },
658   { 3795 },
659   { 3796 },
660   { 3819 },
661   { 3821 },
662   { 3823 },
663   { 3824 },
664   { 3833 },
665   { 3834 },
666   { 3835 },
667   { 3836 },
668   { 3837 },
669   { 3838 },
670   { 3839 },
671   { 3840 },
672   { 3841 },
673   { 3842 },
674   { 3843 },
675   { 3844 },
676   { 3845 },
677   { 3846 },
678   { 3847 },
679   { 3848 },
680   { 3849 },
681   { 3850 },
682   { 3851 },
683   { 3852 },
684   { 3854 },
685   { 3873 },
686   { 3874 },
687   { 3875 },
688   { 3876 },
689   { 3877 },
690   { 3878 },
691   { 3879 },
692   { 3880 },
693   { 3881 },
694   { 3882 },
695   { 3883 },
696   { 3884 },
697   { 3885 },
698   { 3888 },
699   { 3889 },
700   { 3906 },
701   { 3907 },
702   { 3908 },
703   { 3909 },
704   { 3910 },
705   { 3911 },
706   { 4001 },
707   { 4002 },
708   { 4003 },
709   { 4004 },
710   { 4005 },
711   { 4006 },
712   { 4007 },
713   { 4008 },
714   { 4009 },
715   { 4010 },
716   { 4011 },
717   { 4012 },
718   { 4013 },
719   { 4014 },
720   { 4015 },
721   { 4016 },
722   { 4017 },
723   { 4018 },
724   { 4019 },
725   { 4020 },
726   { 4021 },
727   { 4022 },
728   { 4023 },
729   { 4024 },
730   { 4025 },
731   { 4026 },
732   { 4027 },
733   { 4028 },
734   { 4029 },
735   { 4030 },
736   { 4031 },
737   { 4032 },
738   { 4033 },
739   { 4034 },
740   { 4035 },
741   { 4036 },
742   { 4037 },
743   { 4038 },
744   { 4040 },
745   { 4041 },
746   { 4042 },
747   { 4043 },
748   { 4044 },
749   { 4045 },
750   { 4046 },
751   { 4047 },
752   { 4052 },
753   { 4053 },
754   { 4054 },
755   { 4055 },
756   { 4074 },
757   { 4075 },
758   { 4080 },
759   { 4081 },
760   { 4120 },
761   { 4121 },
762   { 4122 },
763   { 4123 },
764   { 4124 },
765   { 4125 },
766   { 4126 },
767   { 4127 },
768   { 4128 },
769   { 4129 },
770   { 4130 },
771   { 4131 },
772   { 4132 },
773   { 4133 },
774   { 4134 },
775   { 4135 },
776   { 4136 },
777   { 4137 },
778   { 4138 },
779   { 4139 },
780   { 4140 },
781   { 4141 },
782   { 4142 },
783   { 4143 },
784   { 4144 },
785   { 4145 },
786   { 4146 },
787   { 4147 },
788   { 4148 },
789   { 4149 },
790   { 4150 },
791   { 4151 },
792   { 4152 },
793   { 4153 },
794   { 4154 },
795   { 4155 },
796   { 4156 },
797   { 4157 },
798   { 4158 },
799   { 4159 },
800   { 4160 },
801   { 4161 },
802   { 4162 },
803   { 4163 },
804   { 4164 },
805   { 4165 },
806   { 4166 },
807   { 4167 },
808   { 4168 },
809   { 4169 },
810   { 4170 },
811   { 4171 },
812   { 4172 },
813   { 4173 },
814   { 4174 },
815   { 4175 },
816   { 4176 },
817   { 4178 },
818   { 4179 },
819   { 4180 },
820   { 4181 },
821   { 4182 },
822   { 4183 },
823   { 4184 },
824   { 4185 },
825   { 4188 },
826   { 4189 },
827   { 4190 },
828   { 4191 },
829   { 4192 },
830   { 4193 },
831   { 4194 },
832   { 4195 },
833   { 4196 },
834   { 4197 },
835   { 4198 },
836   { 4199 },
837   { 4200 },
838   { 4201 },
839   { 4202 },
840   { 4203 },
841   { 4204 },
842   { 4205 },
843   { 4206 },
844   { 4207 },
845   { 4208 },
846   { 4209 },
847   { 4210 },
848   { 4211 },
849   { 4212 },
850   { 4213 },
851   { 4214 },
852   { 4215 },
853   { 4216 },
854   { 4218 },
855   { 4219 },
856   { 4220 },
857   { 4221 },
858   { 4222 },
859   { 4223 },
860   { 4224 },
861   { 4225 },
862   { 4226 },
863   { 4227 },
864   { 4228 },
865   { 4229 },
866   { 4230 },
867   { 4231 },
868   { 4232 },
869   { 4233 },
870   { 4234 },
871   { 4235 },
872   { 4236 },
873   { 4237 },
874   { 4238 },
875   { 4239 },
876   { 4240 },
877   { 4241 },
878   { 4242 },
879   { 4243 },
880   { 4244 },
881   { 4245 },
882   { 4246 },
883   { 4247 },
884   { 4248 },
885   { 4249 },
886   { 4250 },
887   { 4251 },
888   { 4252 },
889   { 4253 },
890   { 4254 },
891   { 4255 },
892   { 4256 },
893   { 4257 },
894   { 4259 },
895   { 4260 },
896   { 4261 },
897   { 4262 },
898   { 4263 },
899   { 4264 },
900   { 4265 },
901   { 4266 },
902   { 4267 },
903   { 4268 },
904   { 4269 },
905   { 4270 },
906   { 4271 },
907   { 4272 },
908   { 4273 },
909   { 4274 },
910   { 4275 },
911   { 4276 },
912   { 4277 },
913   { 4278 },
914   { 4279 },
915   { 4280 },
916   { 4281 },
917   { 4282 },
918   { 4283 },
919   { 4284 },
920   { 4285 },
921   { 4286 },
922   { 4287 },
923   { 4288 },
924   { 4289 },
925   { 4291 },
926   { 4292 },
927   { 4293 },
928   { 4294 },
929   { 4295 },
930   { 4296 },
931   { 4297 },
932   { 4298 },
933   { 4299 },
934   { 4300 },
935   { 4301 },
936   { 4302 },
937   { 4303 },
938   { 4304 },
939   { 4306 },
940   { 4307 },
941   { 4308 },
942   { 4309 },
943   { 4310 },
944   { 4311 },
945   { 4312 },
946   { 4313 },
947   { 4314 },
948   { 4315 },
949   { 4316 },
950   { 4317 },
951   { 4318 },
952   { 4319 },
953   { 4322 },
954   { 4324 },
955   { 4327 },
956   { 4329 },
957   { 4339 },
958   { 4341 },
959   { 4343 },
960   { 4345 },
961   { 4347 },
962   { 4349 },
963   { 4351 },
964   { 4353 },
965   { 4355 },
966   { 4357 },
967   { 4359 },
968   { 4361 },
969   { 4363 },
970   { 4365 },
971   { 4367 },
972   { 4369 },
973   { 4371 },
974   { 4373 },
975   { 4375 },
976   { 4377 },
977   { 4379 },
978   { 4381 },
979   { 4383 },
980   { 4386 },
981   { 4388 },
982   { 4417 },
983   { 4434 },
984   { 4463 },
985   { 4466 },
986   { 4469 },
987   { 4470 },
988   { 4472 },
989   { 4475 },
990   { 4480 },
991   { 4482 },
992   { 4483 },
993   { 4490 },
994   { 4491 },
995   { 4492 },
996   { 4493 },
997   { 4494 },
998   { 4495 },
999   { 4496 },
1000   { 4497 },
1001   { 4498 },
1002   { 4499 },
1003   { 4500 },
1004   { 4501 },
1005   { 4502 },
1006   { 4503 },
1007   { 4504 },
1008   { 4505 },
1009   { 4506 },
1010   { 4507 },
1011   { 4508 },
1012   { 4509 },
1013   { 4510 },
1014   { 4511 },
1015   { 4512 },
1016   { 4513 },
1017   { 4514 },
1018   { 4515 },
1019   { 4516 },
1020   { 4517 },
1021   { 4518 },
1022   { 4519 },
1023   { 4520 },
1024   { 4521 },
1025   { 4522 },
1026   { 4523 },
1027   { 4524 },
1028   { 4525 },
1029   { 4526 },
1030   { 4527 },
1031   { 4528 },
1032   { 4529 },
1033   { 4530 },
1034   { 4531 },
1035   { 4532 },
1036   { 4533 },
1037   { 4534 },
1038   { 4535 },
1039   { 4536 },
1040   { 4537 },
1041   { 4538 },
1042   { 4539 },
1043   { 4540 },
1044   { 4541 },
1045   { 4542 },
1046   { 4543 },
1047   { 4544 },
1048   { 4545 },
1049   { 4546 },
1050   { 4547 },
1051   { 4548 },
1052   { 4549 },
1053   { 4550 },
1054   { 4551 },
1055   { 4552 },
1056   { 4553 },
1057   { 4554 },
1058   { 4555 },
1059   { 4557 },
1060   { 4558 },
1061   { 4568 },
1062   { 4569 },
1063   { 4570 },
1064   { 4571 },
1065   { 4572 },
1066   { 4573 },
1067   { 4574 },
1068   { 4575 },
1069   { 4576 },
1070   { 4577 },
1071   { 4578 },
1072   { 4579 },
1073   { 4580 },
1074   { 4581 },
1075   { 4582 },
1076   { 4583 },
1077   { 4584 },
1078   { 4585 },
1079   { 4586 },
1080   { 4587 },
1081   { 4588 },
1082   { 4589 },
1083   { 4600 },
1084   { 4601 },
1085   { 4602 },
1086   { 4603 },
1087   { 4604 },
1088   { 4605 },
1089   { 4606 },
1090   { 4607 },
1091   { 4608 },
1092   { 4609 },
1093   { 4610 },
1094   { 4611 },
1095   { 4612 },
1096   { 4613 },
1097   { 4614 },
1098   { 4615 },
1099   { 4616 },
1100   { 4617 },
1101   { 4618 },
1102   { 4619 },
1103   { 4620 },
1104   { 4621 },
1105   { 4622 },
1106   { 4623 },
1107   { 4624 },
1108   { 4625 },
1109   { 4626 },
1110   { 4627 },
1111   { 4628 },
1112   { 4629 },
1113   { 4630 },
1114   { 4631 },
1115   { 4632 },
1116   { 4633 },
1117   { 4634 },
1118   { 4635 },
1119   { 4636 },
1120   { 4637 },
1121   { 4638 },
1122   { 4639 },
1123   { 4640 },
1124   { 4641 },
1125   { 4642 },
1126   { 4643 },
1127   { 4644 },
1128   { 4645 },
1129   { 4646 },
1130   { 4652 },
1131   { 4653 },
1132   { 4654 },
1133   { 4655 },
1134   { 4656 },
1135   { 4657 },
1136   { 4658 },
1137   { 4659 },
1138   { 4660 },
1139   { 4661 },
1140   { 4662 },
1141   { 4663 },
1142   { 4664 },
1143   { 4665 },
1144   { 4666 },
1145   { 4667 },
1146   { 4668 },
1147   { 4669 },
1148   { 4670 },
1149   { 4671 },
1150   { 4672 },
1151   { 4673 },
1152   { 4674 },
1153   { 4675 },
1154   { 4676 },
1155   { 4677 },
1156   { 4678 },
1157   { 4679 },
1158   { 4680 },
1159   { 4681 },
1160   { 4682 },
1161   { 4683 },
1162   { 4684 },
1163   { 4685 },
1164   { 4686 },
1165   { 4687 },
1166   { 4688 },
1167   { 4689 },
1168   { 4690 },
1169   { 4691 },
1170   { 4692 },
1171   { 4693 },
1172   { 4694 },
1173   { 4695 },
1174   { 4696 },
1175   { 4697 },
1176   { 4698 },
1177   { 4699 },
1178   { 4700 },
1179   { 4701 },
1180   { 4702 },
1181   { 4703 },
1182   { 4704 },
1183   { 4705 },
1184   { 4706 },
1185   { 4707 },
1186   { 4708 },
1187   { 4709 },
1188   { 4710 },
1189   { 4711 },
1190   { 4712 },
1191   { 4713 },
1192   { 4714 },
1193   { 4715 },
1194   { 4716 },
1195   { 4717 },
1196   { 4718 },
1197   { 4719 },
1198   { 4720 },
1199   { 4721 },
1200   { 4722 },
1201   { 4723 },
1202   { 4724 },
1203   { 4725 },
1204   { 4726 },
1205   { 4727 },
1206   { 4728 },
1207   { 4729 },
1208   { 4730 },
1209   { 4731 },
1210   { 4732 },
1211   { 4733 },
1212   { 4734 },
1213   { 4735 },
1214   { 4736 },
1215   { 4737 },
1216   { 4738 },
1217   { 4739 },
1218   { 4740 },
1219   { 4741 },
1220   { 4742 },
1221   { 4743 },
1222   { 4744 },
1223   { 4745 },
1224   { 4746 },
1225   { 4747 },
1226   { 4748 },
1227   { 4749 },
1228   { 4750 },
1229   { 4751 },
1230   { 4752 },
1231   { 4753 },
1232   { 4754 },
1233   { 4755 },
1234   { 4756 },
1235   { 4757 },
1236   { 4758 },
1237   { 4759 },
1238   { 4760 },
1239   { 4761 },
1240   { 4762 },
1241   { 4763 },
1242   { 4764 },
1243   { 4765 },
1244   { 4766 },
1245   { 4767 },
1246   { 4768 },
1247   { 4769 },
1248   { 4770 },
1249   { 4771 },
1250   { 4772 },
1251   { 4773 },
1252   { 4774 },
1253   { 4775 },
1254   { 4776 },
1255   { 4777 },
1256   { 4778 },
1257   { 4779 },
1258   { 4780 },
1259   { 4781 },
1260   { 4782 },
1261   { 4783 },
1262   { 4784 },
1263   { 4785 },
1264   { 4786 },
1265   { 4787 },
1266   { 4788 },
1267   { 4789 },
1268   { 4790 },
1269   { 4791 },
1270   { 4792 },
1271   { 4793 },
1272   { 4794 },
1273   { 4795 },
1274   { 4796 },
1275   { 4797 },
1276   { 4798 },
1277   { 4799 },
1278   { 4800 },
1279   { 4801 },
1280   { 4802 },
1281   { 4803 },
1282   { 4804 },
1283   { 4805 },
1284   { 4806 },
1285   { 4807 },
1286   { 4808 },
1287   { 4809 },
1288   { 4810 },
1289   { 4811 },
1290   { 4812 },
1291   { 4813 },
1292   { 4814 },
1293   { 4815 },
1294   { 4816 },
1295   { 4817 },
1296   { 4818 },
1297   { 4819 },
1298   { 4820 },
1299   { 4821 },
1300   { 4822 },
1301   { 4823 },
1302   { 4824 },
1303   { 4839 },
1304   { 4855 },
1305   { 4856 },
1306   { 4857 },
1307   { 4858 },
1308   { 4859 },
1309   { 4860 },
1310   { 4861 },
1311   { 4862 },
1312   { 4863 },
1313   { 4864 },
1314   { 4865 },
1315   { 4866 },
1316   { 4867 },
1317   { 4868 },
1318   { 4869 },
1319   { 4870 },
1320   { 4871 },
1321   { 4872 },
1322   { 4873 },
1323   { 4874 },
1324   { 4875 },
1325   { 4876 },
1326   { 4877 },
1327   { 4878 },
1328   { 4879 },
1329   { 4880 },
1330   { 4883 },
1331   { 4885 },
1332   { 4887 },
1333   { 4889 },
1334   { 4891 },
1335   { 4893 },
1336   { 4895 },
1337   { 4898 },
1338   { 4900 },
1339   { 4901 },
1340   { 4902 },
1341   { 4903 },
1342   { 4904 },
1343   { 4907 },
1344   { 4909 },
1345   { 4921 },
1346   { 4923 },
1347   { 4925 },
1348   { 4927 },
1349   { 4929 },
1350   { 4931 },
1351   { 4933 },
1352   { 4935 },
1353   { 4937 },
1354   { 4939 },
1355   { 4941 },
1356   { 4943 },
1357   { 4945 },
1358   { 4947 },
1359   { 4949 },
1360   { 4951 },
1361   { 4953 },
1362   { 4955 },
1363   { 4957 },
1364   { 4959 },
1365   { 4961 },
1366   { 4963 },
1367   { 4965 },
1368   { 4967 },
1369   { 4969 },
1370   { 4971 },
1371   { 4973 },
1372   { 4975 },
1373   { 4977 },
1374   { 4979 },
1375   { 4981 },
1376   { 4983 },
1377   { 4985 },
1378   { 4987 },
1379   { 4989 },
1380   { 4991 },
1381   { 4993 },
1382   { 4995 },
1383   { 4997 },
1384   { 4999 },
1385   { 5012 },
1386   { 5013 },
1387   { 5017 },
1388   { 5048 },
1389   { 5105 },
1390   { 5106 },
1391   { 5107 },
1392   { 5108 },
1393   { 5109 },
1394   { 5110 },
1395   { 5111 },
1396   { 5112 },
1397   { 5113 },
1398   { 5114 },
1399   { 5115 },
1400   { 5116 },
1401   { 5117 },
1402   { 5118 },
1403   { 5119 },
1404   { 5120 },
1405   { 5121 },
1406   { 5122 },
1407   { 5123 },
1408   { 5124 },
1409   { 5125 },
1410   { 5126 },
1411   { 5127 },
1412   { 5128 },
1413   { 5129 },
1414   { 5130 },
1415   { 5132 },
1416   { 5167 },
1417   { 5168 },
1418   { 5169 },
1419   { 5170 },
1420   { 5171 },
1421   { 5172 },
1422   { 5173 },
1423   { 5174 },
1424   { 5175 },
1425   { 5176 },
1426   { 5177 },
1427   { 5178 },
1428   { 5179 },
1429   { 5180 },
1430   { 5181 },
1431   { 5182 },
1432   { 5183 },
1433   { 5184 },
1434   { 5185 },
1435   { 5186 },
1436   { 5187 },
1437   { 5188 },
1438   { 5224 },
1439   { 5228 },
1440   { 5229 },
1441   { 5233 },
1442   { 5245 },
1443   { 5246 },
1444   { 5251 },
1445   { 5252 },
1446   { 5253 },
1447   { 5254 },
1448   { 5255 },
1449   { 5256 },
1450   { 5257 },
1451   { 5258 },
1452   { 5259 },
1453   { 5263 },
1454   { 5264 },
1455   { 5269 },
1456   { 5270 },
1457   { 5271 },
1458   { 5272 },
1459   { 5273 },
1460   { 5274 },
1461   { 5275 },
1462   { 5801 },
1463   { 5802 },
1464   { 5803 },
1465   { 5804 },
1466   { 5808 },
1467   { 5809 },
1468   { 5810 },
1469   { 5811 },
1470   { 5812 },
1471   { 5813 },
1472   { 5814 },
1473   { 5815 },
1474   { 5816 },
1475   { 20004 },
1476   { 20005 },
1477   { 20006 },
1478   { 20007 },
1479   { 20008 },
1480   { 20009 },
1481   { 20010 },
1482   { 20011 },
1483   { 20012 },
1484   { 20013 },
1485   { 20014 },
1486   { 20015 },
1487   { 20016 },
1488   { 20017 },
1489   { 20018 },
1490   { 20019 },
1491   { 20020 },
1492   { 20021 },
1493   { 20022 },
1494   { 20023 },
1495   { 20024 },
1496   { 20025 },
1497   { 20026 },
1498   { 20027 },
1499   { 20028 },
1500   { 20029 },
1501   { 20030 },
1502   { 20031 },
1503   { 20032 },
1504   { 20064 },
1505   { 20065 },
1506   { 20066 },
1507   { 20067 },
1508   { 20068 },
1509   { 20069 },
1510   { 20070 },
1511   { 20071 },
1512   { 20072 },
1513   { 20073 },
1514   { 20074 },
1515   { 20075 },
1516   { 20076 },
1517   { 20077 },
1518   { 20078 },
1519   { 20079 },
1520   { 20080 },
1521   { 20081 },
1522   { 20082 },
1523   { 20083 },
1524   { 20084 },
1525   { 20085 },
1526   { 20086 },
1527   { 20087 },
1528   { 20088 },
1529   { 20089 },
1530   { 20090 },
1531   { 20091 },
1532   { 20092 },
1533   { 21413 },
1534   { 21414 },
1535   { 21415 },
1536   { 21416 },
1537   { 21417 },
1538   { 21418 },
1539   { 21419 },
1540   { 21420 },
1541   { 21421 },
1542   { 21422 },
1543   { 21423 },
1544   { 21453 },
1545   { 21454 },
1546   { 21455 },
1547   { 21456 },
1548   { 21457 },
1549   { 21458 },
1550   { 21459 },
1551   { 21460 },
1552   { 21461 },
1553   { 21462 },
1554   { 21463 },
1555   { 21473 },
1556   { 21474 },
1557   { 21475 },
1558   { 21476 },
1559   { 21477 },
1560   { 21478 },
1561   { 21479 },
1562   { 21480 },
1563   { 21481 },
1564   { 21482 },
1565   { 21483 },
1566   { 21896 },
1567   { 21897 },
1568   { 21898 },
1569   { 21899 },
1570   { 22171 },
1571   { 22172 },
1572   { 22173 },
1573   { 22174 },
1574   { 22175 },
1575   { 22176 },
1576   { 22177 },
1577   { 22181 },
1578   { 22182 },
1579   { 22183 },
1580   { 22184 },
1581   { 22185 },
1582   { 22186 },
1583   { 22187 },
1584   { 22191 },
1585   { 22192 },
1586   { 22193 },
1587   { 22194 },
1588   { 22195 },
1589   { 22196 },
1590   { 22197 },
1591   { 25884 },
1592   { 27205 },
1593   { 27206 },
1594   { 27207 },
1595   { 27208 },
1596   { 27209 },
1597   { 27210 },
1598   { 27211 },
1599   { 27212 },
1600   { 27213 },
1601   { 27214 },
1602   { 27215 },
1603   { 27216 },
1604   { 27217 },
1605   { 27218 },
1606   { 27219 },
1607   { 27220 },
1608   { 27221 },
1609   { 27222 },
1610   { 27223 },
1611   { 27224 },
1612   { 27225 },
1613   { 27226 },
1614   { 27227 },
1615   { 27228 },
1616   { 27229 },
1617   { 27230 },
1618   { 27231 },
1619   { 27232 },
1620   { 27391 },
1621   { 27392 },
1622   { 27393 },
1623   { 27394 },
1624   { 27395 },
1625   { 27396 },
1626   { 27397 },
1627   { 27398 },
1628   { 27492 },
1629   { 28402 },
1630   { 28403 },
1631   { 28404 },
1632   { 28405 },
1633   { 28406 },
1634   { 28407 },
1635   { 28408 },
1636   { 28409 },
1637   { 28410 },
1638   { 28411 },
1639   { 28412 },
1640   { 28413 },
1641   { 28414 },
1642   { 28415 },
1643   { 28416 },
1644   { 28417 },
1645   { 28418 },
1646   { 28419 },
1647   { 28420 },
1648   { 28421 },
1649   { 28422 },
1650   { 28423 },
1651   { 28424 },
1652   { 28425 },
1653   { 28426 },
1654   { 28427 },
1655   { 28428 },
1656   { 28429 },
1657   { 28430 },
1658   { 28431 },
1659   { 28432 },
1660   { 28462 },
1661   { 28463 },
1662   { 28464 },
1663   { 28465 },
1664   { 28466 },
1665   { 28467 },
1666   { 28468 },
1667   { 28469 },
1668   { 28470 },
1669   { 28471 },
1670   { 28472 },
1671   { 28473 },
1672   { 28474 },
1673   { 28475 },
1674   { 28476 },
1675   { 28477 },
1676   { 28478 },
1677   { 28479 },
1678   { 28480 },
1679   { 28481 },
1680   { 28482 },
1681   { 28483 },
1682   { 28484 },
1683   { 28485 },
1684   { 28486 },
1685   { 28487 },
1686   { 28488 },
1687   { 28489 },
1688   { 28490 },
1689   { 28491 },
1690   { 28492 },
1691   { 29701 },
1692   { 29702 },
1693   { 30161 },
1694   { 30162 },
1695   { 30163 },
1696   { 30164 },
1697   { 30165 },
1698   { 30166 },
1699   { 30167 },
1700   { 30168 },
1701   { 30169 },
1702   { 30170 },
1703   { 30171 },
1704   { 30172 },
1705   { 30173 },
1706   { 30174 },
1707   { 30175 },
1708   { 30176 },
1709   { 30177 },
1710   { 30178 },
1711   { 30179 },
1712   { 30800 },
1713   { 31251 },
1714   { 31252 },
1715   { 31253 },
1716   { 31254 },
1717   { 31255 },
1718   { 31256 },
1719   { 31257 },
1720   { 31258 },
1721   { 31259 },
1722   { 31275 },
1723   { 31276 },
1724   { 31277 },
1725   { 31278 },
1726   { 31279 },
1727   { 31281 },
1728   { 31282 },
1729   { 31283 },
1730   { 31284 },
1731   { 31285 },
1732   { 31286 },
1733   { 31287 },
1734   { 31288 },
1735   { 31289 },
1736   { 31290 },
1737   { 31700 },
1738 };
1739 
1740 #define AXIS_ORIENTATION_TABLE_SIZE 1703
1741 
mapcache_is_axis_inverted(const char * srs)1742 int mapcache_is_axis_inverted(const char *srs)
1743 {
1744   int i,code;
1745   if(strncasecmp(srs,"epsg:",5) || strlen(srs)<6) {
1746     /* if we don't have an epsg formated srs */
1747     return MAPCACHE_FALSE;
1748   }
1749   code = atoi(&(srs[5]));
1750   /*check the static table*/
1751   for (i=0; i<AXIS_ORIENTATION_TABLE_SIZE; i++) {
1752     if (axisOrientationEpsgCodes[i].code == code)
1753       return MAPCACHE_TRUE;
1754   }
1755 
1756   return MAPCACHE_FALSE;
1757 
1758 }
1759 
1760