Commit 5e81628976ccbba318c8456fe1d04794dcd9f00c
1 parent
10c47820
Exists in
master
V5 - atualização do gerador de serviços OGC para permitir o download via shapefile
Showing
8 changed files
with
680 additions
and
249 deletions
Show diff stats
... | ... | @@ -0,0 +1,57 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<projectDescription> | |
3 | + <name>i3geo5</name> | |
4 | + <comment></comment> | |
5 | + <projects> | |
6 | + </projects> | |
7 | + <buildSpec> | |
8 | + <buildCommand> | |
9 | + <name>org.eclipse.wst.validation.validationbuilder</name> | |
10 | + <arguments> | |
11 | + </arguments> | |
12 | + </buildCommand> | |
13 | + <buildCommand> | |
14 | + <name>org.eclipse.dltk.core.scriptbuilder</name> | |
15 | + <arguments> | |
16 | + </arguments> | |
17 | + </buildCommand> | |
18 | + <buildCommand> | |
19 | + <name>org.eclipse.wst.jsdt.core.javascriptValidator</name> | |
20 | + <arguments> | |
21 | + </arguments> | |
22 | + </buildCommand> | |
23 | + </buildSpec> | |
24 | + <natures> | |
25 | + <nature>org.eclipse.wst.jsdt.core.jsNature</nature> | |
26 | + <nature>org.eclipse.php.core.PHPNature</nature> | |
27 | + </natures> | |
28 | + <filteredResources> | |
29 | + <filter> | |
30 | + <id>1398253728703</id> | |
31 | + <name></name> | |
32 | + <type>14</type> | |
33 | + <matcher> | |
34 | + <id>org.eclipse.ui.ide.multiFilter</id> | |
35 | + <arguments>1.0-name-matches-false-false-compact*</arguments> | |
36 | + </matcher> | |
37 | + </filter> | |
38 | + <filter> | |
39 | + <id>1398253728704</id> | |
40 | + <name></name> | |
41 | + <type>14</type> | |
42 | + <matcher> | |
43 | + <id>org.eclipse.ui.ide.multiFilter</id> | |
44 | + <arguments>1.0-name-matches-false-false-pacotes</arguments> | |
45 | + </matcher> | |
46 | + </filter> | |
47 | + <filter> | |
48 | + <id>1398253728706</id> | |
49 | + <name></name> | |
50 | + <type>30</type> | |
51 | + <matcher> | |
52 | + <id>org.eclipse.ui.ide.multiFilter</id> | |
53 | + <arguments>1.0-name-matches-false-false-.*</arguments> | |
54 | + </matcher> | |
55 | + </filter> | |
56 | + </filteredResources> | |
57 | +</projectDescription> | ... | ... |
... | ... | @@ -0,0 +1,205 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<classpath> | |
3 | + <classpathentry kind="src" path="admin/js"/> | |
4 | + <classpathentry excluding="compactados/" kind="src" path="classesjs"/> | |
5 | + <classpathentry kind="src" path="classesjs/compactados"/> | |
6 | + <classpathentry kind="src" path="documentacao/javascript"/> | |
7 | + <classpathentry kind="src" path="exemplos/atlas"/> | |
8 | + <classpathentry kind="src" path="ferramentas/3d"/> | |
9 | + <classpathentry kind="src" path="ferramentas/agrupaelementos"/> | |
10 | + <classpathentry kind="src" path="ferramentas/analisageometrias"/> | |
11 | + <classpathentry kind="src" path="ferramentas/animacao"/> | |
12 | + <classpathentry kind="src" path="ferramentas/aplicarsld"/> | |
13 | + <classpathentry kind="src" path="ferramentas/buffer"/> | |
14 | + <classpathentry kind="src" path="ferramentas/bufferpt"/> | |
15 | + <classpathentry kind="src" path="ferramentas/busca"/> | |
16 | + <classpathentry kind="src" path="ferramentas/buscafotos"/> | |
17 | + <classpathentry kind="src" path="ferramentas/buscainde"/> | |
18 | + <classpathentry kind="src" path="ferramentas/buscarapida"/> | |
19 | + <classpathentry kind="src" path="ferramentas/carouseltemas"/> | |
20 | + <classpathentry kind="src" path="ferramentas/carregakml"/> | |
21 | + <classpathentry kind="src" path="ferramentas/carregamapa"/> | |
22 | + <classpathentry kind="src" path="ferramentas/centroide"/> | |
23 | + <classpathentry kind="src" path="ferramentas/centromassa"/> | |
24 | + <classpathentry kind="src" path="ferramentas/colorpicker"/> | |
25 | + <classpathentry kind="src" path="ferramentas/colourramp"/> | |
26 | + <classpathentry kind="src" path="ferramentas/comentarios"/> | |
27 | + <classpathentry kind="src" path="ferramentas/conectargeojson"/> | |
28 | + <classpathentry kind="src" path="ferramentas/conectargeorss"/> | |
29 | + <classpathentry kind="src" path="ferramentas/conectarwms"/> | |
30 | + <classpathentry kind="src" path="ferramentas/confluence"/> | |
31 | + <classpathentry kind="src" path="ferramentas/convertekml"/> | |
32 | + <classpathentry kind="src" path="ferramentas/convertemapakml"/> | |
33 | + <classpathentry kind="src" path="ferramentas/convertews"/> | |
34 | + <classpathentry kind="src" path="ferramentas/cortina"/> | |
35 | + <classpathentry kind="src" path="ferramentas/dissolve"/> | |
36 | + <classpathentry kind="src" path="ferramentas/distanciaptpt"/> | |
37 | + <classpathentry kind="src" path="ferramentas/download"/> | |
38 | + <classpathentry kind="src" path="ferramentas/editorsql"/> | |
39 | + <classpathentry kind="src" path="ferramentas/especies"/> | |
40 | + <classpathentry kind="src" path="ferramentas/etiqueta"/> | |
41 | + <classpathentry kind="src" path="ferramentas/excluirarvore"/> | |
42 | + <classpathentry kind="src" path="ferramentas/filtro"/> | |
43 | + <classpathentry kind="src" path="ferramentas/filtroarvore"/> | |
44 | + <classpathentry kind="src" path="ferramentas/geonames"/> | |
45 | + <classpathentry kind="src" path="ferramentas/googlemaps"/> | |
46 | + <classpathentry kind="src" path="ferramentas/googlemaps1"/> | |
47 | + <classpathentry kind="src" path="ferramentas/gradecoord"/> | |
48 | + <classpathentry kind="src" path="ferramentas/gradehex"/> | |
49 | + <classpathentry kind="src" path="ferramentas/gradepol"/> | |
50 | + <classpathentry kind="src" path="ferramentas/gradepontos"/> | |
51 | + <classpathentry kind="src" path="ferramentas/graficointerativo"/> | |
52 | + <classpathentry kind="src" path="ferramentas/graficointerativo1"/> | |
53 | + <classpathentry kind="src" path="ferramentas/graficotema"/> | |
54 | + <classpathentry kind="src" path="ferramentas/identifica"/> | |
55 | + <classpathentry kind="src" path="ferramentas/importarwmc"/> | |
56 | + <classpathentry kind="src" path="ferramentas/imprimir"/> | |
57 | + <classpathentry kind="src" path="ferramentas/inseregrafico"/> | |
58 | + <classpathentry kind="src" path="ferramentas/inseretxt"/> | |
59 | + <classpathentry kind="src" path="ferramentas/inserexy2"/> | |
60 | + <classpathentry kind="src" path="ferramentas/legenda"/> | |
61 | + <classpathentry kind="src" path="ferramentas/linhadotempo"/> | |
62 | + <classpathentry kind="src" path="ferramentas/loginusuario"/> | |
63 | + <classpathentry excluding="templates/lib/" kind="src" path="ferramentas/metaestat"/> | |
64 | + <classpathentry kind="src" path="ferramentas/metaestat/templates/lib"/> | |
65 | + <classpathentry kind="src" path="ferramentas/metar"/> | |
66 | + <classpathentry kind="src" path="ferramentas/mostraexten"/> | |
67 | + <classpathentry kind="src" path="ferramentas/navegapostgis"/> | |
68 | + <classpathentry kind="src" path="ferramentas/navegarquivos"/> | |
69 | + <classpathentry kind="src" path="ferramentas/nptpol"/> | |
70 | + <classpathentry kind="src" path="ferramentas/nuvemtags"/> | |
71 | + <classpathentry kind="src" path="ferramentas/nuvemtagsflash"/> | |
72 | + <classpathentry kind="src" path="ferramentas/opacidademapa"/> | |
73 | + <classpathentry kind="src" path="ferramentas/opcoes_autoredesenha"/> | |
74 | + <classpathentry kind="src" path="ferramentas/opcoes_escala"/> | |
75 | + <classpathentry kind="src" path="ferramentas/opcoes_fundo"/> | |
76 | + <classpathentry kind="src" path="ferramentas/opcoes_label"/> | |
77 | + <classpathentry kind="src" path="ferramentas/opcoes_legenda"/> | |
78 | + <classpathentry kind="src" path="ferramentas/opcoes_quadros"/> | |
79 | + <classpathentry kind="src" path="ferramentas/opcoes_querymap"/> | |
80 | + <classpathentry kind="src" path="ferramentas/opcoes_tamanho"/> | |
81 | + <classpathentry kind="src" path="ferramentas/outputformat"/> | |
82 | + <classpathentry kind="src" path="ferramentas/perfil"/> | |
83 | + <classpathentry kind="src" path="ferramentas/pontoempoligono"/> | |
84 | + <classpathentry kind="src" path="ferramentas/pontosdistri"/> | |
85 | + <classpathentry kind="src" path="ferramentas/preferencias"/> | |
86 | + <classpathentry kind="src" path="ferramentas/redessociais"/> | |
87 | + <classpathentry excluding="saiku-server/tomcat/webapps/ROOT/js/saiku/plugins/CCC_Chart/|saiku-server/tomcat/webapps/ROOT/js/saiku/plugins/i3GeoMap/|saiku-server/tomcat/webapps/ROOT/js/saiku/|saiku-server/tomcat/webapps/ROOT/js/jquery/|saiku-server/tomcat/webapps/ROOT/js/saiku/views/" kind="src" path="ferramentas/saiku"/> | |
88 | + <classpathentry kind="src" path="ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/jquery"/> | |
89 | + <classpathentry excluding="plugins/CCC_Chart/|plugins/i3GeoMap/|views/" kind="src" path="ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/saiku"/> | |
90 | + <classpathentry kind="src" path="ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/saiku/plugins/CCC_Chart"/> | |
91 | + <classpathentry kind="src" path="ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/saiku/plugins/i3GeoMap"/> | |
92 | + <classpathentry kind="src" path="ferramentas/saiku/saiku-server/tomcat/webapps/ROOT/js/saiku/views"/> | |
93 | + <classpathentry kind="src" path="ferramentas/salvamapa"/> | |
94 | + <classpathentry kind="src" path="ferramentas/salvamapfile"/> | |
95 | + <classpathentry kind="src" path="ferramentas/scielo"/> | |
96 | + <classpathentry kind="src" path="ferramentas/selecao"/> | |
97 | + <classpathentry kind="src" path="ferramentas/tabela"/> | |
98 | + <classpathentry kind="src" path="ferramentas/telaremota"/> | |
99 | + <classpathentry kind="src" path="ferramentas/tipoimagem"/> | |
100 | + <classpathentry kind="src" path="ferramentas/tme"/> | |
101 | + <classpathentry kind="src" path="ferramentas/toponimia"/> | |
102 | + <classpathentry kind="src" path="ferramentas/upload"/> | |
103 | + <classpathentry kind="src" path="ferramentas/uploaddbf"/> | |
104 | + <classpathentry kind="src" path="ferramentas/uploadgpx"/> | |
105 | + <classpathentry kind="src" path="ferramentas/uploadkml"/> | |
106 | + <classpathentry kind="src" path="ferramentas/uploadsimbolo"/> | |
107 | + <classpathentry kind="src" path="ferramentas/vinde"/> | |
108 | + <classpathentry kind="src" path="ferramentas/wiki"/> | |
109 | + <classpathentry kind="src" path="ferramentas/wmstime"/> | |
110 | + <classpathentry kind="src" path="init"/> | |
111 | + <classpathentry kind="src" path="mashups"/> | |
112 | + <classpathentry excluding="yui290/build/animation/|yui290/build/charts/|yui290/build/menu/|simile/timeline_2.3.0/timeline_ajax/|proj4js/lib/projCode/|yui290/build/storage/|yui290/build/profiler/|yui290/build/autocomplete/|balloon-tooltips/htdocs/js/|cswclient/lib/scripts/|ccc2/ccc/|simile/timeline_2.3.0/timeline_js/scripts/l10n/fr/|yui290/build/cookie/|mobileesp/|yui290/build/event-simulate/|simile/timeline_2.3.0/timeline_js/scripts/l10n/zh/|yui290/build/get/|yui290/build/paginator/|simile/timeline_2.3.0/timeline_js/scripts/l10n/vi/|balloon-tooltips/htdocs_depreciado/js/|proj4js/demo/|yui290/build/element-delegate/|openlayers/|yui290/build/progressbar/|wpcumulus/|richdraw/|eudock/js/|yui290/build/dom/|yui290/build/profilerviewer/|yui290/build/selector/|cpaint/|yui290/build/swf/|yui290/build/imagecropper/|openflashchart/|yui290/build/resize/|yui290/build/logger/|simile/timeline_local_example_1.0/local_example/|wicket/|simile/timeline_2.3.0/timeline_js/scripts/l10n/de/|yui290/build/imageloader/|proj4js/demo/maps/|yui290/build/dragdrop/|simile/timeline_2.3.0/timeline_js/scripts/l10n/en/|yui290/build/layout/|simile/timeline_2.3.0/timeline_ajax/scripts/|simile/timeline_2.3.0/timeline_js/scripts/l10n/nl/|yui290/build/yahoo/|yui290/assets/|yui290/build/datasource/|yui290/build/colorpicker/|yui290/build/event/|simile/timeline_2.3.0/timeline_js/scripts/l10n/ru/|yui290/build/datatable/|simile/timeline_2.3.0/timeline_js/scripts/l10n/es/|jsts/lib/|proj4js/lib/defs/|yui290/build/event-mouseenter/|yui290/build/treeview/|yui290/build/button/|simile/timeline_2.3.0/timeline_js/scripts/l10n/it/|yui290/build/yahoo-dom-event/|yui290/build/utilities/|simile/timeline_2.3.0/timeline_js/scripts/l10n/cs/|yui290/build/json/|proj4js/docs/NaturalDocs/javascript/|yui290/build/element/|yui290/build/slider/|cpaint/JSON/|yui290/build/connection/|yui290/build/swfdetect/|yui290/build/yuiloader/|simile/timeline_2.3.0/timeline_js/scripts/l10n/tr/|tme/javascript/|yui290/build/uploader/|yui290/build/carousel/|yui290/build/calendar/|yui290/build/yuitest/|yui290/build/container/|simile/timeline_2.3.0/timeline_js/scripts/l10n/se/|yui290/build/event-delegate/|simile/timeline_2.3.0/timeline_js/|yui290/build/history/|yui290/build/editor/|yui290/build/datemath/|yui290/build/tabview/|yui290/build/yuiloader-dom-event/|yui290/build/swfstore/|yui290/build/stylesheet/|google/|proj4js/lib/" kind="src" path="pacotes"/> | |
113 | + <classpathentry kind="src" path="pacotes/balloon-tooltips/htdocs_depreciado/js"/> | |
114 | + <classpathentry kind="src" path="pacotes/balloon-tooltips/htdocs/js"/> | |
115 | + <classpathentry kind="src" path="pacotes/ccc2/ccc"/> | |
116 | + <classpathentry excluding="JSON/" kind="src" path="pacotes/cpaint"/> | |
117 | + <classpathentry kind="src" path="pacotes/cpaint/JSON"/> | |
118 | + <classpathentry kind="src" path="pacotes/cswclient/lib/scripts"/> | |
119 | + <classpathentry kind="src" path="pacotes/eudock/js"/> | |
120 | + <classpathentry kind="src" path="pacotes/google"/> | |
121 | + <classpathentry kind="src" path="pacotes/jsts/lib"/> | |
122 | + <classpathentry kind="src" path="pacotes/mobileesp"/> | |
123 | + <classpathentry kind="src" path="pacotes/openflashchart"/> | |
124 | + <classpathentry kind="src" path="pacotes/openlayers"/> | |
125 | + <classpathentry excluding="maps/" kind="src" path="pacotes/proj4js/demo"/> | |
126 | + <classpathentry kind="src" path="pacotes/proj4js/demo/maps"/> | |
127 | + <classpathentry kind="src" path="pacotes/proj4js/docs/NaturalDocs/javascript"/> | |
128 | + <classpathentry excluding="projCode/|defs/" kind="src" path="pacotes/proj4js/lib"/> | |
129 | + <classpathentry kind="src" path="pacotes/proj4js/lib/defs"/> | |
130 | + <classpathentry kind="src" path="pacotes/proj4js/lib/projCode"/> | |
131 | + <classpathentry kind="src" path="pacotes/richdraw"/> | |
132 | + <classpathentry excluding="scripts/" kind="src" path="pacotes/simile/timeline_2.3.0/timeline_ajax"/> | |
133 | + <classpathentry kind="src" path="pacotes/simile/timeline_2.3.0/timeline_ajax/scripts"/> | |
134 | + <classpathentry excluding="scripts/l10n/fr/|scripts/l10n/zh/|scripts/l10n/vi/|scripts/l10n/de/|scripts/l10n/en/|scripts/l10n/nl/|scripts/l10n/ru/|scripts/l10n/es/|scripts/l10n/it/|scripts/l10n/cs/|scripts/l10n/tr/|scripts/l10n/se/" kind="src" path="pacotes/simile/timeline_2.3.0/timeline_js"/> | |
135 | + <classpathentry kind="src" path="pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/cs"/> | |
136 | + <classpathentry kind="src" path="pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/de"/> | |
137 | + <classpathentry kind="src" path="pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/en"/> | |
138 | + <classpathentry kind="src" path="pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/es"/> | |
139 | + <classpathentry kind="src" path="pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/fr"/> | |
140 | + <classpathentry kind="src" path="pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/it"/> | |
141 | + <classpathentry kind="src" path="pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/nl"/> | |
142 | + <classpathentry kind="src" path="pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/ru"/> | |
143 | + <classpathentry kind="src" path="pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/se"/> | |
144 | + <classpathentry kind="src" path="pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/tr"/> | |
145 | + <classpathentry kind="src" path="pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/vi"/> | |
146 | + <classpathentry kind="src" path="pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/zh"/> | |
147 | + <classpathentry kind="src" path="pacotes/simile/timeline_local_example_1.0/local_example"/> | |
148 | + <classpathentry kind="src" path="pacotes/tme/javascript"/> | |
149 | + <classpathentry kind="src" path="pacotes/wicket"/> | |
150 | + <classpathentry kind="src" path="pacotes/wpcumulus"/> | |
151 | + <classpathentry kind="src" path="pacotes/yui290/assets"/> | |
152 | + <classpathentry kind="src" path="pacotes/yui290/build/animation"/> | |
153 | + <classpathentry kind="src" path="pacotes/yui290/build/autocomplete"/> | |
154 | + <classpathentry kind="src" path="pacotes/yui290/build/button"/> | |
155 | + <classpathentry kind="src" path="pacotes/yui290/build/calendar"/> | |
156 | + <classpathentry kind="src" path="pacotes/yui290/build/carousel"/> | |
157 | + <classpathentry kind="src" path="pacotes/yui290/build/charts"/> | |
158 | + <classpathentry kind="src" path="pacotes/yui290/build/colorpicker"/> | |
159 | + <classpathentry kind="src" path="pacotes/yui290/build/connection"/> | |
160 | + <classpathentry kind="src" path="pacotes/yui290/build/container"/> | |
161 | + <classpathentry kind="src" path="pacotes/yui290/build/cookie"/> | |
162 | + <classpathentry kind="src" path="pacotes/yui290/build/datasource"/> | |
163 | + <classpathentry kind="src" path="pacotes/yui290/build/datatable"/> | |
164 | + <classpathentry kind="src" path="pacotes/yui290/build/datemath"/> | |
165 | + <classpathentry kind="src" path="pacotes/yui290/build/dom"/> | |
166 | + <classpathentry kind="src" path="pacotes/yui290/build/dragdrop"/> | |
167 | + <classpathentry kind="src" path="pacotes/yui290/build/editor"/> | |
168 | + <classpathentry kind="src" path="pacotes/yui290/build/element"/> | |
169 | + <classpathentry kind="src" path="pacotes/yui290/build/element-delegate"/> | |
170 | + <classpathentry kind="src" path="pacotes/yui290/build/event"/> | |
171 | + <classpathentry kind="src" path="pacotes/yui290/build/event-delegate"/> | |
172 | + <classpathentry kind="src" path="pacotes/yui290/build/event-mouseenter"/> | |
173 | + <classpathentry kind="src" path="pacotes/yui290/build/event-simulate"/> | |
174 | + <classpathentry kind="src" path="pacotes/yui290/build/get"/> | |
175 | + <classpathentry kind="src" path="pacotes/yui290/build/history"/> | |
176 | + <classpathentry kind="src" path="pacotes/yui290/build/imagecropper"/> | |
177 | + <classpathentry kind="src" path="pacotes/yui290/build/imageloader"/> | |
178 | + <classpathentry kind="src" path="pacotes/yui290/build/json"/> | |
179 | + <classpathentry kind="src" path="pacotes/yui290/build/layout"/> | |
180 | + <classpathentry kind="src" path="pacotes/yui290/build/logger"/> | |
181 | + <classpathentry kind="src" path="pacotes/yui290/build/menu"/> | |
182 | + <classpathentry kind="src" path="pacotes/yui290/build/paginator"/> | |
183 | + <classpathentry kind="src" path="pacotes/yui290/build/profiler"/> | |
184 | + <classpathentry kind="src" path="pacotes/yui290/build/profilerviewer"/> | |
185 | + <classpathentry kind="src" path="pacotes/yui290/build/progressbar"/> | |
186 | + <classpathentry kind="src" path="pacotes/yui290/build/resize"/> | |
187 | + <classpathentry kind="src" path="pacotes/yui290/build/selector"/> | |
188 | + <classpathentry kind="src" path="pacotes/yui290/build/slider"/> | |
189 | + <classpathentry kind="src" path="pacotes/yui290/build/storage"/> | |
190 | + <classpathentry kind="src" path="pacotes/yui290/build/stylesheet"/> | |
191 | + <classpathentry kind="src" path="pacotes/yui290/build/swf"/> | |
192 | + <classpathentry kind="src" path="pacotes/yui290/build/swfdetect"/> | |
193 | + <classpathentry kind="src" path="pacotes/yui290/build/swfstore"/> | |
194 | + <classpathentry kind="src" path="pacotes/yui290/build/tabview"/> | |
195 | + <classpathentry kind="src" path="pacotes/yui290/build/treeview"/> | |
196 | + <classpathentry kind="src" path="pacotes/yui290/build/uploader"/> | |
197 | + <classpathentry kind="src" path="pacotes/yui290/build/utilities"/> | |
198 | + <classpathentry kind="src" path="pacotes/yui290/build/yahoo"/> | |
199 | + <classpathentry kind="src" path="pacotes/yui290/build/yahoo-dom-event"/> | |
200 | + <classpathentry kind="src" path="pacotes/yui290/build/yuiloader"/> | |
201 | + <classpathentry kind="src" path="pacotes/yui290/build/yuiloader-dom-event"/> | |
202 | + <classpathentry kind="src" path="pacotes/yui290/build/yuitest"/> | |
203 | + <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/> | |
204 | + <classpathentry kind="output" path=""/> | |
205 | +</classpath> | ... | ... |
admin/admin.db
No preview for this file type
ogc.php
1 | -<?php | |
1 | +<?php | |
2 | 2 | /* |
3 | 3 | Title: Gerador de serviços OGC |
4 | 4 | |
... | ... | @@ -22,7 +22,7 @@ Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til |
22 | 22 | porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita |
23 | 23 | de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. |
24 | 24 | Consulte a Licença Pública Geral do GNU para mais detalhes. |
25 | -Você deve ter recebido uma cópia da Licença Pública Geral do | |
25 | +Você deve ter recebido uma copia da Licença Pública Geral do | |
26 | 26 | GNU junto com este programa; se não, escreva para a |
27 | 27 | Free Software Foundation, Inc., no endereço |
28 | 28 | 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. |
... | ... | @@ -44,20 +44,30 @@ legenda - (opcional) mostra a legenda no corpo do mapa sim|nao |
44 | 44 | |
45 | 45 | perfil - (opcional) perfil utilizado para restringir os temas que serão mostrados |
46 | 46 | |
47 | -format - (opcional) pode ser utilizado a opção &format=application/openlayers para | |
48 | - abrir o mashup do OpenLayers com as camadas definida em temas. | |
47 | +format - (opcional) pode ser utilizado a opção &format=application/openlayers para | |
48 | + abrir o mashup do OpenLayers com as camadas definida em temas. | |
49 | 49 | Na geração da legenda pode ser utilizado text/html para gerar no formato html. |
50 | - | |
50 | + | |
51 | +OUTPUTFORMAT - em getfeature, aceita também shape-zip para download de shapefile e csv para download de csv compactado | |
52 | + | |
51 | 53 | id_medida_variavel - id da medida de variavel - utilizado apenas quando a fonte para definicao do layer for o sistema de metadados estatisticos |
52 | - nao deve ser utilizado junto com tema | |
53 | - | |
54 | + nao deve ser utilizado junto com tema | |
55 | + | |
54 | 56 | restauramapa - ID de um mapa salvo no sistema de administracao. O mapa e restaurado e tratado como WMS |
55 | - | |
56 | -DESLIGACACHE (opcional) {sim|nao} - forca a nao usar o cache de imagens qd definido como "sim", do contrário, o uso ou não do cache será definido automaticamente | |
57 | + | |
58 | +DESLIGACACHE (opcional) {sim|nao} - forca a nao usar o cache de imagens qd definido como "sim", do contrário, o uso ou não do cache será definido automaticamente | |
59 | + | |
60 | +filtros - filtros podem ser adicionados incluindo o parametro da seguinte forma: &map_layer_<nomedotema>_filter= | |
61 | + | |
62 | + Exemplo de filtro | |
63 | + | |
64 | + http://localhost/i3geo/ogc.php?map_layer__lbiomashp_filter=(('[CD_LEGENDA]'='CAATINGA'))&tema=_lbiomashp&SRS=EPSG:4618&WIDTH=500&HEIGHT=500&BBOX=-76.5125927,-39.3925675209,-29.5851853,9.49014852081&FORMAT=image/png&service=wms&version=1.1.0&request=getmap&layers=_lbiomashp | |
65 | + | |
66 | + no caso de camadas Postgis basta usar map_layer__lbiomashp_filter=cd_legenda='CAATINGA' | |
57 | 67 | |
58 | 68 | Exemplos: |
59 | - | |
60 | -ogc.php?temas=biomashp&format=application/openlayers&bbox=-54,-14,-50,-10 | |
69 | + | |
70 | +ogc.php?temas=biomashp&format=application/openlayers&bbox=-54,-14,-50,-10 | |
61 | 71 | |
62 | 72 | ogc.php?lista=temas |
63 | 73 | |
... | ... | @@ -69,21 +79,21 @@ ogc.php?intervalo=0,50 |
69 | 79 | */ |
70 | 80 | // |
71 | 81 | //validações e includes |
72 | -// | |
82 | +// | |
73 | 83 | $cache = true; |
74 | 84 | require_once(dirname(__FILE__)."/classesphp/carrega_ext.php"); |
75 | 85 | include(dirname(__FILE__)."/ms_configura.php"); |
76 | -include(dirname(__FILE__)."/classesphp/pega_variaveis.php"); | |
77 | -include(dirname(__FILE__)."/classesphp/funcoes_gerais.php"); | |
86 | +include(dirname(__FILE__)."/classesphp/pega_variaveis.php"); | |
87 | +include(dirname(__FILE__)."/classesphp/funcoes_gerais.php"); | |
78 | 88 | //define um nome para o mapfile caso a origem seja o sistema de metadados estatisticos |
79 | 89 | if(isset($id_medida_variavel)){ |
80 | - $tema = "ogcmetaestat".$id_medida_variavel; | |
81 | - $_GET["layers"] = $tema; | |
90 | + $tema = "ogcmetaestat".$id_medida_variavel; | |
91 | + $_GET["layers"] = $tema; | |
82 | 92 | $_GET["LAYERS"] = $tema; |
83 | 93 | } |
84 | -if(!isset($temas) && isset($tema)){ | |
85 | - $temas = $tema; | |
86 | -} | |
94 | +if(!isset($temas) && isset($tema)){ | |
95 | + $temas = $tema; | |
96 | +} | |
87 | 97 | // |
88 | 98 | //recupera um mapa salvo no banco de administracao |
89 | 99 | // |
... | ... | @@ -102,29 +112,29 @@ if(!empty($restauramapa)){ |
102 | 112 | if($l != ""){ |
103 | 113 | $l->set("status",MS_DELETE); |
104 | 114 | } |
105 | - $m->save($xbase); | |
115 | + $m->save($xbase); | |
106 | 116 | //$fundo = $xbase; |
107 | - $temas = $xbase; | |
108 | - $_GET["tema"] = $temas; | |
109 | - $_GET["layers"] = ""; | |
110 | - $l = $m->getlayer(0); | |
117 | + $temas = $xbase; | |
118 | + $_GET["tema"] = $temas; | |
119 | + $_GET["layers"] = ""; | |
120 | + $l = $m->getlayer(0); | |
111 | 121 | $_GET["LAYERS"] = $l->name; |
112 | -} | |
122 | +} | |
113 | 123 | // |
114 | 124 | //para operar como o Geoserver |
115 | 125 | // |
116 | 126 | if(isset($format) && strtolower($format) == "application/openlayers"){ |
117 | - //var_dump($_SERVER);exit; | |
118 | - if(!isset($layers)){ | |
119 | - $layers = $temas; | |
127 | + //var_dump($_SERVER);exit; | |
128 | + if(!isset($layers)){ | |
129 | + $layers = $temas; | |
120 | 130 | } |
121 | 131 | $urln = dirname($_SERVER["PHP_SELF"])."/mashups/openlayers.php?temas=".$layers."&layers=".$layers."&mapext=".$bbox."&botoes=pan,zoombox,zoomtot,identifica"; |
122 | - //echo $urln;exit; | |
123 | - if(!headers_sent()){ | |
124 | - header("Location:".$urln); | |
132 | + //echo $urln;exit; | |
133 | + if(!headers_sent()){ | |
134 | + header("Location:".$urln); | |
125 | 135 | } |
126 | - else{ | |
127 | - echo "<meta http-equiv='refresh' content='0;url=$urln'>"; | |
136 | + else{ | |
137 | + echo "<meta http-equiv='refresh' content='0;url=$urln'>"; | |
128 | 138 | } |
129 | 139 | } |
130 | 140 | // |
... | ... | @@ -162,14 +172,17 @@ if(isset($lista) && $lista == "temaswfs"){ |
162 | 172 | error_reporting(0); |
163 | 173 | $versao = versao(); |
164 | 174 | $versao = $versao["principal"]; |
165 | -$req = ms_newowsrequestobj(); | |
175 | +if($_GET["SRS"] == "EPSG:900913"){ | |
176 | + $_GET["SRS"] = "EPSG:3857"; | |
177 | +} | |
178 | +$req = ms_newowsrequestobj(); | |
166 | 179 | $tipo = ""; |
167 | 180 | $_GET = array_merge($_GET,$_POST); |
168 | 181 | if(isset($_GET["sld"]) || isset($_GET["filter"])){ |
169 | 182 | $cache = false; |
170 | -} | |
171 | -if(!isset($_GET["srs"]) && !isset($_GET["SRS"])){ | |
172 | - $_GET["srs"] = "EPSG:4326"; | |
183 | +} | |
184 | +if(!isset($_GET["srs"]) && !isset($_GET["SRS"])){ | |
185 | + $_GET["srs"] = "EPSG:4326"; | |
173 | 186 | } |
174 | 187 | foreach ($_GET as $k=>$v){ |
175 | 188 | $req->setParameter(strtoupper($k), $v); |
... | ... | @@ -177,16 +190,16 @@ foreach ($_GET as $k=>$v){ |
177 | 190 | $tipo = "metadados"; |
178 | 191 | $cache = false; |
179 | 192 | } |
180 | - if(strtolower($k) == "layers" && empty($_GET["tema"])){ | |
181 | - $tema = $v; | |
193 | + if(strtolower($k) == "layers" && empty($_GET["tema"])){ | |
194 | + $tema = $v; | |
182 | 195 | } |
183 | - if(strtolower($k) == "layer" && empty($_GET["tema"])){ | |
184 | - $tema = $v; | |
196 | + if(strtolower($k) == "layer" && empty($_GET["tema"])){ | |
197 | + $tema = $v; | |
185 | 198 | } |
186 | -} | |
187 | -$req->setParameter("srsName",$req->getValueByName("SRS")); | |
199 | +} | |
200 | +$req->setParameter("srsName",$req->getValueByName("SRS")); | |
188 | 201 | $listaepsg = $req->getValueByName("SRS")." EPSG:4618 EPSG:4291 EPSG:4326 EPSG:22521 EPSG:22522 EPSG:22523 EPSG:22524 EPSG:22525 EPSG:29101 EPSG:29119 EPSG:29120 EPSG:29121 EPSG:29122 EPSG:29177 EPSG:29178 EPSG:29179 EPSG:29180 EPSG:29181 EPSG:29182 EPSG:29183 EPSG:29184 EPSG:29185"; |
189 | -//echo $listaepsg;exit; | |
202 | +//echo $listaepsg;exit; | |
190 | 203 | if(count($_GET) == 0){ |
191 | 204 | $tipo="intervalo"; |
192 | 205 | $req->setParameter("REQUEST", "getCapabilities"); |
... | ... | @@ -195,13 +208,13 @@ if(count($_GET) == 0){ |
195 | 208 | } |
196 | 209 | if(isset($tema) && $tipo != "metadados"){ |
197 | 210 | $tipo = ""; |
198 | -} | |
199 | -if(isset($version) && !isset($VERSION)){ | |
200 | - $VERSION = $version; | |
211 | +} | |
212 | +if(isset($version) && !isset($VERSION)){ | |
213 | + $VERSION = $version; | |
201 | 214 | } |
202 | 215 | if(!isset($VERSION)){ |
203 | - $req->setParameter("VeRsIoN","1.0.0"); | |
204 | -} | |
216 | + $req->setParameter("VeRsIoN","1.0.0"); | |
217 | +} | |
205 | 218 | if (!isset($intervalo)){ |
206 | 219 | $intervalo = "0,5000"; |
207 | 220 | } |
... | ... | @@ -213,33 +226,42 @@ if(!isset($tema)){ |
213 | 226 | $intervalo = "0,5000"; |
214 | 227 | } |
215 | 228 | $tipo = "intervalo"; |
216 | -} | |
217 | -//nome do mapfile que ficara em cache | |
218 | -$agora = intval(time() / 1000); | |
219 | -//acrescenta ao nome a indicacao do tipo de TMS | |
229 | +} | |
230 | +//nome do mapfile que ficara em cache | |
231 | +$agora = intval(time() / 1000); | |
232 | +//acrescenta ao nome a indicacao do tipo de TMS | |
220 | 233 | if(isset($_GET["tms"])){ |
221 | 234 | $agora .= "tms"; |
222 | -} | |
223 | -if(isset($_GET["Z"]) && isset($_GET["X"])){ | |
224 | - $agora .= "google"; | |
225 | -} | |
226 | -if(isset($_GET["DESLIGACACHE"]) && $_GET["DESLIGACACHE"] == "sim"){ | |
227 | - $agora = time(); | |
228 | - $cache = false; | |
229 | -} | |
230 | -$nomeMapfileTmp = $dir_tmp."/ogc_".md5($tema)."_".$agora.".map"; | |
231 | -$nomeMapfileTmp = str_replace(",","",$nomeMapfileTmp); | |
232 | -$nomeMapfileTmp = str_replace(" ","",$nomeMapfileTmp); | |
233 | -if(file_exists($nomeMapfileTmp) && $tipo == ""){ | |
234 | - $oMap = ms_newMapobj($nomeMapfileTmp); | |
235 | -} | |
236 | -else{ | |
235 | +} | |
236 | +if(isset($_GET["Z"]) && isset($_GET["X"])){ | |
237 | + $agora .= "google"; | |
238 | +} | |
239 | +// | |
240 | +//se o outputformat for definido, evita o cahce de arquivo | |
241 | +//o mesmo se existir filtro para o layer | |
242 | +// | |
243 | +if(isset($_GET["OUTPUTFORMAT"]) || !empty($_GET["map_layer_".$tema."_filter"])){ | |
244 | + $_GET["DESLIGACACHE"] = "sim"; | |
245 | +} | |
246 | +if(isset($_GET["DESLIGACACHE"]) && $_GET["DESLIGACACHE"] == "sim"){ | |
247 | + $agora = time(); | |
248 | + $cache = false; | |
249 | +} | |
250 | +$nomeMapfileTmp = $dir_tmp."/ogc_".md5($tema)."_".$agora.".map"; | |
251 | +$nomeMapfileTmp = str_replace(",","",$nomeMapfileTmp); | |
252 | +$nomeMapfileTmp = str_replace(" ","",$nomeMapfileTmp); | |
253 | +//essa variavel e usada para definir se a imagem final gerada devera ser cortada ou nao | |
254 | +$cortePixels = 0; | |
255 | +if(file_exists($nomeMapfileTmp) && $tipo == ""){ | |
256 | + $oMap = ms_newMapobj($nomeMapfileTmp); | |
257 | +} | |
258 | +else{ | |
237 | 259 | if(empty($ogcwsmap)){ |
238 | 260 | $oMap = ms_newMapobj($locaplic."/aplicmap/ogcwsv".$versao.".map"); |
239 | 261 | } |
240 | 262 | else{ |
241 | 263 | $oMap = ms_newMapobj($ogcwsmap); |
242 | - } | |
264 | + } | |
243 | 265 | $proto = "http" . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "s" : "") . "://"; |
244 | 266 | $server = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME']; |
245 | 267 | $or = $proto.$server.$_SERVER['PHP_SELF']; |
... | ... | @@ -262,21 +284,20 @@ else{ |
262 | 284 | $oMap->setmetadata("ows_enable_request","*"); |
263 | 285 | $e = $oMap->extent; |
264 | 286 | $extensaoMap = ($e->minx)." ".($e->miny)." ".($e->maxx)." ".($e->maxy); |
265 | - | |
266 | 287 | //gera o mapa |
267 | - if ($tipo == "" || $tipo == "metadados"){ | |
288 | + if ($tipo == "" || $tipo == "metadados"){ | |
268 | 289 | $tema = explode(" ",$tema); |
269 | 290 | //para o caso do tema ser um arquivo mapfile existente em uma pasta qualquer |
270 | 291 | //$temai3geo = true indica que o layer será buscado na pasta i3geo/temas |
271 | 292 | $temai3geo = true; |
272 | - //FIXME não aceita gvp quando o caminho é completo | |
293 | + //FIXME nao aceita gvp quando o caminho e completo | |
273 | 294 | if(file_exists($_GET["tema"]) && !isset($id_medida_variavel)){ |
274 | 295 | $nmap = ms_newMapobj($_GET["tema"]); |
275 | 296 | $temai3geo = false; |
276 | 297 | $nmap->setmetadata("ows_enable_request","*"); |
277 | 298 | } |
278 | 299 | foreach ($tema as $tx){ |
279 | - $extensao = ".map"; | |
300 | + $extensao = ".map"; | |
280 | 301 | if($temai3geo == true && file_exists($locaplic."/temas/".$tx.".php")){ |
281 | 302 | $extensao = ".php"; |
282 | 303 | } |
... | ... | @@ -285,16 +306,15 @@ else{ |
285 | 306 | } |
286 | 307 | if($extensao == ".map"){ |
287 | 308 | //cria o mapfile com base no sistema de metadados estatisticos |
288 | - //verifica se o id_medida_variavel existe no mapfile e nao foi passado como um parametro | |
289 | - if(!isset($id_medida_variavel) && $temai3geo == true){ | |
290 | - $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map"); | |
291 | - $l = $nmap->getlayer(0); | |
292 | - $teste = $l->getmetadata("METAESTAT_ID_MEDIDA_VARIAVEL"); | |
293 | - if($teste != "" && $l->data == ""){ | |
294 | - $id_medida_variavel = $teste; | |
295 | - } | |
296 | - | |
297 | - } | |
309 | + //verifica se o id_medida_variavel existe no mapfile e nao foi passado como um parametro | |
310 | + if(!isset($id_medida_variavel) && $temai3geo == true){ | |
311 | + $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map"); | |
312 | + $l = $nmap->getlayer(0); | |
313 | + $teste = $l->getmetadata("METAESTAT_ID_MEDIDA_VARIAVEL"); | |
314 | + if($teste != "" && $l->data == ""){ | |
315 | + $id_medida_variavel = $teste; | |
316 | + } | |
317 | + } | |
298 | 318 | if(isset($id_medida_variavel)){ |
299 | 319 | $temai3geo = false; |
300 | 320 | include("admin/php/classe_metaestat.php"); |
... | ... | @@ -304,31 +324,31 @@ else{ |
304 | 324 | $nmap = ms_newMapobj($mapfileMetaestat["mapfile"]); |
305 | 325 | $nmap->setmetadata("ows_enable_request","*"); |
306 | 326 | $req->setParameter("LAYERS", "ogcmetaestat".$id_medida_variavel); |
307 | - } | |
327 | + } | |
308 | 328 | if($temai3geo == true){ |
309 | 329 | $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map"); |
310 | 330 | $nmap->setmetadata("ows_enable_request","*"); |
311 | 331 | } |
312 | 332 | if($temai3geo == false || empty($layers)) |
313 | - { | |
314 | - $ts = $nmap->getalllayernames(); | |
315 | - $nmap->setmetadata("ows_enable_request","*"); | |
333 | + { | |
334 | + $ts = $nmap->getalllayernames(); | |
335 | + $nmap->setmetadata("ows_enable_request","*"); | |
316 | 336 | } |
317 | 337 | else{ |
318 | 338 | $ts = explode(",",str_replace(" ",",",$layers)); |
319 | 339 | } |
320 | - foreach ($ts as $t){ | |
340 | + foreach ($ts as $t){ | |
321 | 341 | $l = $nmap->getlayerbyname($t); |
322 | - $permite = $l->getmetadata("permiteogc"); | |
342 | + $permite = $l->getmetadata("permiteogc"); | |
323 | 343 | if(strtolower($permite) != "nao"){ |
324 | 344 | //necessário pq o mapfile pode ter todos os layers como default |
325 | 345 | if($temai3geo == false){ |
326 | 346 | $l->set("status",MS_OFF); |
327 | - } | |
347 | + } | |
328 | 348 | /* |
329 | 349 | if($cache == true && strtolower($l->getmetadata('cache')) == 'sim' && $tipo == '' && count($tema) == 1){ |
330 | 350 | carregaCacheImagem($_GET['BBOX'],$tx,$_GET['WIDTH'],$_GET['HEIGHT'],$cachedir); |
331 | - } | |
351 | + } | |
332 | 352 | */ |
333 | 353 | $l->setmetadata("ows_title",pegaNome($l)); |
334 | 354 | $l->setmetadata("ows_srs",$listaepsg); |
... | ... | @@ -351,9 +371,8 @@ else{ |
351 | 371 | } |
352 | 372 | if($l->type == MS_LAYER_RASTER && $l->numclasses > 0){ |
353 | 373 | $c = $l->getclass(0); |
354 | - if($c->name == "") | |
355 | - { | |
356 | - $c->name = " "; | |
374 | + if($c->name == ""){ | |
375 | + $c->name = " "; | |
357 | 376 | } |
358 | 377 | } |
359 | 378 | //inclui extensao geografica |
... | ... | @@ -385,8 +404,18 @@ else{ |
385 | 404 | $l->setprocessing("LABEL_NO_CLIP=True"); |
386 | 405 | $l->setprocessing("POLYLINE_NO_CLIP=True"); |
387 | 406 | } |
388 | - ms_newLayerObj($oMap, $l); | |
389 | - //$req->setParameter("LAYERS", "mundo"); | |
407 | + // | |
408 | + //verifica se existem parametros de substituicao passados via url | |
409 | + // | |
410 | + $parametro = $_GET["map_layer_".$l->name."_filter"]; | |
411 | + //echo $parametro;exit; | |
412 | + if(!empty($parametro)){ | |
413 | + $l->setfilter($parametro); | |
414 | + $cache = false; | |
415 | + } | |
416 | + | |
417 | + ms_newLayerObj($oMap, $l); | |
418 | + //$req->setParameter("LAYERS", "mundo"); | |
390 | 419 | } |
391 | 420 | } |
392 | 421 | } |
... | ... | @@ -398,10 +427,10 @@ else{ |
398 | 427 | include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); |
399 | 428 | $gm = new gvsig2mapfile($locaplic."/temas/".$tx.".gvp"); |
400 | 429 | $gvsigview = $gm->getViewsNames(); |
401 | - foreach($gvsigview as $gv){ | |
430 | + foreach($gvsigview as $gv){ | |
402 | 431 | $dataView = $gm->getViewData($gv); |
403 | 432 | $oMap = $gm->addLayers($oMap,$gv,$dataView["layerNames"]); |
404 | - } | |
433 | + } | |
405 | 434 | $numlayers = $oMap->numlayers; |
406 | 435 | $layers = array(); |
407 | 436 | //$layers[] = "default"; |
... | ... | @@ -424,9 +453,8 @@ else{ |
424 | 453 | } |
425 | 454 | if($l->type == MS_LAYER_RASTER && $l->numclasses > 0){ |
426 | 455 | $c = $l->getclass(0); |
427 | - if($c->name == "") | |
428 | - { | |
429 | - $c->name = " "; | |
456 | + if($c->name == ""){ | |
457 | + $c->name = " "; | |
430 | 458 | } |
431 | 459 | } |
432 | 460 | //inclui extensao geografica |
... | ... | @@ -435,6 +463,12 @@ else{ |
435 | 463 | $extensao = $extensaoMap; |
436 | 464 | } |
437 | 465 | $l->setmetadata("wms_extent",$extensao); |
466 | + // | |
467 | + //numero de pixels que serao considerados para corte da imagem no caso de cache ativo e tema de pontos | |
468 | + // | |
469 | + if ($l->getmetadata("cortepixels") != ""){ | |
470 | + $cortePixels = $l->getmetadata("cortepixels"); | |
471 | + } | |
438 | 472 | } |
439 | 473 | $req->setParameter("LAYERS", implode(",",$layers)); |
440 | 474 | $req->setParameter("STYLES", ""); |
... | ... | @@ -446,8 +480,8 @@ else{ |
446 | 480 | $conta = 0; |
447 | 481 | $int = explode(",",$intervalo); |
448 | 482 | $codigosTema = array(); |
449 | - if(empty($perfil)){ | |
450 | - $perfil = ""; | |
483 | + if(empty($perfil)){ | |
484 | + $perfil = ""; | |
451 | 485 | } |
452 | 486 | include("classesphp/classe_menutemas.php"); |
453 | 487 | $m = new Menutemas("",$perfil,$locaplic,$urli3geo); |
... | ... | @@ -472,6 +506,7 @@ else{ |
472 | 506 | //echo "<pre>"; |
473 | 507 | //var_dump($codigosTema); |
474 | 508 | //exit; |
509 | + | |
475 | 510 | foreach($codigosTema as $c){ |
476 | 511 | $codigoTema = $c["tema"]; |
477 | 512 | if(file_exists($locaplic."/temas/".$codigoTema.".map")){ |
... | ... | @@ -486,9 +521,8 @@ else{ |
486 | 521 | if (($conta >= $int[0]) && ($conta <= $int[1])){ |
487 | 522 | $l = $nmap->getlayerbyname($t); |
488 | 523 | $extensao = $l->getmetadata("EXTENSAO"); |
489 | - if($extensao == "") | |
490 | - { | |
491 | - $extensao = $extensaoMap; | |
524 | + if($extensao == ""){ | |
525 | + $extensao = $extensaoMap; | |
492 | 526 | } |
493 | 527 | $l->setmetadata("wms_extent",$extensao); |
494 | 528 | |
... | ... | @@ -499,21 +533,27 @@ else{ |
499 | 533 | $l->set("dump",MS_TRUE); |
500 | 534 | $l->setmetadata("WMS_INCLUDE_ITEMS","all"); |
501 | 535 | $l->setmetadata("WFS_INCLUDE_ITEMS","all"); |
502 | - | |
503 | - if($l->getmetadata("ows_metadataurl_href") == ""){ | |
536 | + if($l->getmetadata("ows_metadataurl_href") == ""){ | |
504 | 537 | $l->setmetadata("ows_metadataurl_href",$c["fonte"]); |
505 | 538 | $l->setmetadata("ows_metadataurl_type","TC211"); |
506 | 539 | $l->setmetadata("ows_metadataurl_format","text/html"); |
507 | - } | |
540 | + } | |
508 | 541 | if(file_exists($locaplic."/temas/miniaturas/".$t.".map.mini.png")){ |
509 | 542 | $mini = $proto.$server.dirname($_SERVER['PHP_SELF'])."/temas/miniaturas/".$t.".map.mini.png"; |
510 | 543 | $l->setmetadata("wms_attribution_logourl_format","image/png"); |
511 | 544 | $l->setmetadata("wms_attribution_logourl_height","50"); |
512 | 545 | $l->setmetadata("wms_attribution_logourl_width","50"); |
513 | 546 | $l->setmetadata("wms_attribution_logourl_href",$mini); |
514 | - } | |
547 | + } | |
548 | + // | |
549 | + //numero de pixels que serao considerados para corte da imagem no caso de cache ativo e tema de pontos | |
550 | + // | |
551 | + if ($l->getmetadata("cortepixels") != ""){ | |
552 | + $cortePixels = $l->getmetadata("cortepixels"); | |
553 | + } | |
515 | 554 | cloneInlineSymbol($l,$nmap,$oMap); |
516 | 555 | ms_newLayerObj($oMap, $l); |
556 | + | |
517 | 557 | } |
518 | 558 | } |
519 | 559 | } |
... | ... | @@ -528,63 +568,92 @@ else{ |
528 | 568 | } |
529 | 569 | } |
530 | 570 | } |
531 | - } | |
532 | - } | |
533 | - $oMap->setSymbolSet($locaplic."/symbols/".basename($oMap->symbolsetfilename)); | |
534 | - $oMap->setFontSet($locaplic."/symbols/".basename($oMap->fontsetfilename)); | |
535 | - $oMap->save($nomeMapfileTmp); | |
536 | - $oMap = ms_newMapobj($nomeMapfileTmp); | |
537 | -} | |
571 | + } | |
572 | + } | |
573 | + $oMap->setSymbolSet($locaplic."/symbols/".basename($oMap->symbolsetfilename)); | |
574 | + $oMap->setFontSet($locaplic."/symbols/".basename($oMap->fontsetfilename)); | |
575 | + $oMap->save($nomeMapfileTmp); | |
576 | + $oMap = ms_newMapobj($nomeMapfileTmp); | |
577 | +} | |
538 | 578 | if(ob_get_contents ()){ |
539 | 579 | ob_end_clean(); |
540 | 580 | } |
541 | -// | |
542 | -//verifica se a requisicao e do tipo TMS. | |
543 | -// | |
544 | -// | |
545 | -//calcula a extensao geografica com base no x,y,z em requisições TMS | |
546 | -//quando for do tipo tms $_GET["tms"] contem os parametros do tile | |
547 | -//essa rotina faz um exit ao final | |
548 | -//o cache tms so fucniona se houver apenas uma camada no mapa | |
549 | -//tms e usado basicamente por mashup ou openlayers | |
550 | -// | |
551 | -if(isset($_GET["tms"])){ | |
552 | - $temp = explode("/",$_GET["tms"]); | |
553 | - $z = $temp[2]; | |
554 | - $x = $temp[3]; | |
555 | - $y = str_replace(".png","",$temp[4]); | |
556 | - $n = pow(2,$z+1); | |
557 | - $lon1 = $x / $n * 360.0 - 180.0; | |
558 | - $lon2 = ($x+1) / $n * 360.0 - 180.0; | |
559 | - $n = pow(2,$z); | |
560 | - $lat1 = $y / $n * 180.0 - 90.0; | |
561 | - $lat2 = ($y+1) / $n * 180.0 - 90.0; | |
562 | - //essa funcao termina o processo se a imagem existir | |
563 | - if($cache == true){ | |
564 | - carregaCacheImagem($cachedir,$nomeMapfileTmp,$_GET["tms"]); | |
565 | - } | |
566 | - //se nao existir, salva a imagem | |
567 | - //echo $lon1." ".$lat1." ".$lon2." ".$lat2;exit; | |
568 | - $oMap->setExtent($lon1,$lat1,$lon2,$lat2); | |
569 | - $oMap->setsize(256,256); | |
570 | - $oMap->getlayer(0)->set("status",MS_DEFAULT); | |
571 | - $img = $oMap->draw(); | |
572 | - if($img->imagepath == ""){ | |
573 | - exit; | |
574 | - } | |
575 | - if($cache == true){ | |
576 | - salvaCacheImagem($cachedir,$nomeMapfileTmp,$_GET["tms"]); | |
577 | - } | |
578 | - renderNocacheTms(); | |
579 | -} | |
581 | +// | |
582 | +//verifica se a requisicao e do tipo TMS. | |
583 | +// | |
584 | +// | |
585 | +//calcula a extensao geografica com base no x,y,z em requisisoes TMS | |
586 | +//quando for do tipo tms $_GET["tms"] contem os parametros do tile | |
587 | +//essa rotina faz um exit ao final | |
588 | +//o cache tms so fucniona se houver apenas uma camada no mapa | |
589 | +//tms e usado basicamente por mashup ou openlayers | |
590 | +// | |
591 | +if(isset($_GET["tms"])){ | |
592 | + $temp = explode("/",$_GET["tms"]); | |
593 | + $z = $temp[2]; | |
594 | + $x = $temp[3]; | |
595 | + $y = str_replace(".png","",$temp[4]); | |
596 | + $n = pow(2,$z+1); | |
597 | + $lon1 = $x / $n * 360.0 - 180.0; | |
598 | + $lon2 = ($x+1) / $n * 360.0 - 180.0; | |
599 | + $n = pow(2,$z); | |
600 | + $lat1 = $y / $n * 180.0 - 90.0; | |
601 | + $lat2 = ($y+1) / $n * 180.0 - 90.0; | |
602 | + //essa funcao termina o processo se a imagem existir | |
603 | + if($cache == true){ | |
604 | + carregaCacheImagem($cachedir,$nomeMapfileTmp,$_GET["tms"]); | |
605 | + } | |
606 | + $layer0 = $oMap->getlayer(0); | |
607 | + // | |
608 | + //numero de pixels que serao considerados para corte da imagem no caso de cache ativo e tema de pontos | |
609 | + // | |
610 | + if ($layer0->getmetadata("cortepixels") != ""){ | |
611 | + $cortePixels = $layer0->getmetadata("cortepixels"); | |
612 | + } | |
613 | + //se nao existir, salva a imagem | |
614 | + //echo $lon1." ".$lat1." ".$lon2." ".$lat2;exit; | |
615 | + $oMap->setsize(256,256); | |
616 | + | |
617 | + $oMap->setExtent($lon1,$lat1,$lon2,$lat2); | |
618 | + | |
619 | + $layer0->set("status",MS_DEFAULT); | |
620 | + // | |
621 | + //se o layer foi marcado para corte altera os parametros para ampliar o mapa | |
622 | + //antes de gerar a imagem | |
623 | + // | |
624 | + if($cortePixels > 0){ | |
625 | + //$oMap->prepareImage(); | |
626 | + $escalaInicial = $oMap->scaledenom; | |
627 | + $extensaoInicial = $oMap->extent; | |
628 | + $wh = 256+($cortePixels*2); | |
629 | + $oMap->setsize($wh,$wh); | |
630 | + $ponto = new pointObj(); | |
631 | + $ponto->setxy(($wh/2),($wh/2)); | |
632 | + $oMap->zoomScale($escalaInicial, $ponto, $wh, $wh, $extensaoInicial); | |
633 | + } | |
634 | + $img = $oMap->draw(); | |
635 | + if($img->imagepath == ""){ | |
636 | + exit; | |
637 | + } | |
638 | + if($cache == true){ | |
639 | + salvaCacheImagem($cachedir,$nomeMapfileTmp,$_GET["tms"]); | |
640 | + } | |
641 | + renderNocacheTms(); | |
642 | +} | |
580 | 643 | // |
581 | 644 | //verifica se a chamada do servico e do tipo TILE no padrao do Google |
582 | 645 | // |
583 | -if(isset($_GET["Z"]) && isset($_GET["X"])){ | |
646 | +if(isset($_GET["Z"]) && isset($_GET["X"])){ | |
584 | 647 | $x = $_GET["X"]; |
585 | 648 | $y = $_GET["Y"]; |
586 | 649 | $z = $_GET["Z"]; |
587 | - $layer0 = $oMap->getlayer(0); | |
650 | + $layer0 = $oMap->getlayer(0); | |
651 | + // | |
652 | + //numero de pixels que serao considerados para corte da imagem no caso de cache ativo e tema de pontos | |
653 | + // | |
654 | + if ($layer0->getmetadata("cortepixels") != ""){ | |
655 | + $cortePixels = $layer0->getmetadata("cortepixels"); | |
656 | + } | |
588 | 657 | if($cache == true){ |
589 | 658 | carregaCacheImagem($cachedir,$nomeMapfileTmp,"/googlemaps/$layer0->name/$z/$x/$y"); |
590 | 659 | } |
... | ... | @@ -606,43 +675,52 @@ if(isset($_GET["Z"]) && isset($_GET["X"])){ |
606 | 675 | $poPoint1->project($projInObj, $projOutObj); |
607 | 676 | $poPoint2 = ms_newpointobj(); |
608 | 677 | $poPoint2->setXY($lon2, $lat2); |
609 | - $poPoint2->project($projInObj, $projOutObj); | |
610 | - $oMap->setExtent($poPoint1->x,$poPoint1->y,$poPoint2->x,$poPoint2->y); | |
678 | + $poPoint2->project($projInObj, $projOutObj); | |
611 | 679 | $oMap->setsize(256,256); |
612 | - $oMap->getlayer(0)->set("status",MS_DEFAULT); | |
613 | - $oMap->setProjection("proj=merc,a=6378137,b=6378137,lat_ts=0.0,lon_0=0.0,x_0=0.0,y_0=0,k=1.0,units=m"); | |
614 | - $layer0->setProjection("proj=latlong,a=6378137,b=6378137"); | |
615 | - //$oMap->save(); | |
680 | + $oMap->setExtent($poPoint1->x,$poPoint1->y,$poPoint2->x,$poPoint2->y); | |
681 | + | |
682 | + $oMap->getlayer(0)->set("status",MS_DEFAULT); | |
683 | + $oMap->setProjection("proj=merc,a=6378137,b=6378137,lat_ts=0.0,lon_0=0.0,x_0=0.0,y_0=0,k=1.0,units=m"); | |
684 | + $layer0->setProjection("proj=latlong,a=6378137,b=6378137"); | |
685 | + // | |
686 | + //se o layer foi marcado para corte altera os parametros para ampliar o mapa | |
687 | + //antes de gerar a imagem | |
688 | + // | |
689 | + if($cortePixels > 0){ | |
690 | + //$oMap->prepareImage(); | |
691 | + $escalaInicial = $oMap->scaledenom; | |
692 | + $extensaoInicial = $oMap->extent; | |
693 | + $wh = 256+($cortePixels*2); | |
694 | + $oMap->setsize($wh,$wh); | |
695 | + $ponto = new pointObj(); | |
696 | + $ponto->setxy(($wh/2),($wh/2)); | |
697 | + $oMap->zoomScale($escalaInicial, $ponto, $wh, $wh, $extensaoInicial); | |
698 | + } | |
616 | 699 | $img = $oMap->draw(); |
617 | 700 | if($img->imagepath == ""){ |
618 | 701 | exit; |
619 | - } | |
620 | - /** | |
621 | - * @TODO ativar cache | |
622 | - */ | |
623 | - | |
702 | + } | |
624 | 703 | if($cache == true){ |
625 | - salvaCacheImagem($cachedir,$nomeMapfileTmp,"/googlemaps/$layer0->name/$z/$x/$y"); | |
626 | - } | |
627 | - renderNocacheTms(); | |
628 | -} | |
629 | -if(strtolower($req->getValueByName("REQUEST")) == "getlegendgraphic"){ | |
630 | - $l = $oMap->getlayer(0); | |
631 | - if($req->getValueByName("LAYER") == ""){ | |
632 | - $req->setParameter("LAYER",$l->name); | |
633 | - } | |
704 | + salvaCacheImagem($cachedir,$nomeMapfileTmp,"/googlemaps/$layer0->name/$z/$x/$y"); | |
705 | + } | |
706 | + renderNocacheTms(); | |
707 | +} | |
708 | +if(strtolower($req->getValueByName("REQUEST")) == "getlegendgraphic"){ | |
709 | + $l = $oMap->getlayer(0); | |
710 | + if($req->getValueByName("LAYER") == ""){ | |
711 | + $req->setParameter("LAYER",$l->name); | |
712 | + } | |
634 | 713 | if($req->getValueByName("FORMAT") == ""){ |
635 | 714 | $req->setParameter("FORMAT","image/png"); |
636 | 715 | } |
637 | - | |
716 | + $legenda = $oMap->legend; | |
717 | + $legenda->set("status",MS_DEFAULT); | |
718 | + $l->set("minscaledenom",0); | |
719 | + $l->set("maxscaledenom",0); | |
638 | 720 | if($req->getValueByName("FORMAT") == "text/html"){ |
639 | 721 | $req->setParameter("FORMAT","image/png"); |
640 | 722 | $l = $oMap->getlayerbyname($req->getValueByName("LAYER")); |
641 | 723 | $l->set("status",MS_DEFAULT); |
642 | - $l->set("minscaledenom",0); | |
643 | - $l->set("maxscaledenom",0); | |
644 | - $legenda = $oMap->legend; | |
645 | - $legenda->set("status",MS_DEFAULT); | |
646 | 724 | $legenda->set("template",$locaplic."/aplicmap/legendaOgc.html"); |
647 | 725 | |
648 | 726 | $tmparray["my_tag"] = "value_of_my_tag"; |
... | ... | @@ -653,14 +731,29 @@ if(strtolower($req->getValueByName("REQUEST")) == "getlegendgraphic"){ |
653 | 731 | echo $leg;exit; |
654 | 732 | } |
655 | 733 | } |
656 | - | |
657 | -} | |
734 | + | |
735 | +} | |
658 | 736 | if(strtolower($req->getValueByName("REQUEST")) == "getfeature"){ |
659 | 737 | $l = $oMap->getlayer(0); |
660 | 738 | if($req->getValueByName("TYPENAME") == "" || $req->getValueByName("TYPENAME") == "undefined"){ |
661 | 739 | $req->setParameter("TYPENAME",$l->name); |
662 | 740 | } |
663 | -} | |
741 | + if($l->getProjection() == "" ){ | |
742 | + $l->setProjection("proj=latlong,a=6378137,b=6378137"); | |
743 | + } | |
744 | + if(strtolower($req->getValueByName("SRS")) == "epsg:900913"){ | |
745 | + $req->setParameter("SRS","EPSG:3857"); | |
746 | + } | |
747 | +} | |
748 | +if(strtolower($req->getValueByName("REQUEST")) == "getfeatureinfo"){ | |
749 | + $l = $oMap->getlayer(0); | |
750 | + $req->setParameter("LAYERS",$l->name); | |
751 | + $req->setParameter("QUERY_LAYERS",$l->name); | |
752 | + if(strtolower($req->getValueByName("SRS")) == "epsg:900913"){ | |
753 | + $req->setParameter("SRS","EPSG:3857"); | |
754 | + $_GET["SRS"] = "EPSG:3857"; | |
755 | + } | |
756 | +} | |
664 | 757 | // |
665 | 758 | //altera os caminhos das imagens |
666 | 759 | // |
... | ... | @@ -668,14 +761,55 @@ if((isset($legenda)) && (strtolower($legenda) == "sim")){ |
668 | 761 | $leg = $oMap->legend; |
669 | 762 | $leg->set("status",MS_EMBED); |
670 | 763 | } |
671 | -ms_ioinstallstdouttobuffer(); | |
764 | +// | |
765 | +//altera o outputformat | |
766 | +// | |
767 | +if(isset($OUTPUTFORMAT)){ | |
768 | + if(strtolower($OUTPUTFORMAT) == "shape-zip"){ | |
769 | + $l = $oMap->getlayer(0); | |
770 | + $n = $l->name; | |
771 | + $oMap->selectOutputFormat("shape-zip"); | |
772 | + $oMap->outputformat->setOption("STORAGE", "memory"); | |
773 | + $oMap->outputformat->setOption("FORM", "zip"); | |
774 | + $oMap->outputformat->setOption("FILENAME", $n.".zip"); | |
775 | + $l->setmetadata("wfs_getfeature_formatlist","shape-zip"); | |
776 | + $oMap->save($nomeMapfileTmp); | |
777 | + if(strtolower($request) != "getcapabilities"){ | |
778 | + header('Content-Disposition: attachment; filename='.$n.'.zip'); | |
779 | + } | |
780 | + } | |
781 | + if(strtolower($OUTPUTFORMAT) == "csv"){ | |
782 | + $l = $oMap->getlayer(0); | |
783 | + $n = $l->name."-csv"; | |
784 | + $oMap->selectOutputFormat("csv"); | |
785 | + $oMap->outputformat->setOption("STORAGE", "memory"); | |
786 | + $oMap->outputformat->setOption("FILENAME", $n.".zip"); | |
787 | + $oMap->outputformat->setOption("FORM", "zip"); | |
788 | + $l->setmetadata("wfs_getfeature_formatlist","csv"); | |
789 | + $oMap->save($nomeMapfileTmp); | |
790 | + if(strtolower($request) != "getcapabilities"){ | |
791 | + header('Content-Disposition: attachment; filename='.$n.'.zip'); | |
792 | + } | |
793 | + } | |
794 | + //FIXME envia uma linha estranha no header. Nao da pra usar | |
795 | + if(strtolower($OUTPUTFORMAT) == "geojson"){ | |
796 | + $l = $oMap->getlayer(0); | |
797 | + $oMap->selectOutputFormat("geojson"); | |
798 | + $l->setmetadata("wfs_getfeature_formatlist","geojson"); | |
799 | + $oMap->save($nomeMapfileTmp); | |
800 | + header("Content-type: application/json; subtype=geojson"); | |
801 | + } | |
802 | +} | |
803 | +ms_ioinstallstdouttobuffer(); | |
672 | 804 | $oMap->owsdispatch($req); |
673 | 805 | $contenttype = ms_iostripstdoutbuffercontenttype(); |
674 | -if(strtolower($request) == "getcapabilities"){ | |
675 | - header('Content-Disposition: attachment; filename=getcapabilities.xml'); | |
806 | +if(strtolower($request) == "getcapabilities"){ | |
807 | + header('Content-Disposition: attachment; filename=getcapabilities.xml'); | |
808 | +} | |
809 | + | |
810 | +if(!isset($OUTPUTFORMAT)){ | |
811 | + header("Content-type: $contenttype"); | |
676 | 812 | } |
677 | -//header("Content-type: application/xml"); | |
678 | -header("Content-type: $contenttype"); | |
679 | 813 | |
680 | 814 | $buffer = ms_iogetStdoutBufferBytes(); |
681 | 815 | ms_ioresethandlers(); |
... | ... | @@ -684,13 +818,13 @@ ms_ioresethandlers(); |
684 | 818 | // |
685 | 819 | function ogc_pegaListaDeMenus(){ |
686 | 820 | global $perfil,$locaplic,$urli3geo; |
687 | - if(!isset($perfil)){ | |
688 | - $perfil = ""; | |
821 | + if(!isset($perfil)){ | |
822 | + $perfil = ""; | |
689 | 823 | } |
690 | 824 | $m = new Menutemas("",$perfil,$locsistemas,$locaplic,"",$urli3geo); |
691 | 825 | foreach($m->pegaListaDeMenus() as $menu) |
692 | - { | |
693 | - $menus[] = $urli3geo."/admin/xmlmenutemas.php?id_menu=".$menu["idmenu"]; | |
826 | + { | |
827 | + $menus[] = $urli3geo."/admin/xmlmenutemas.php?id_menu=".$menu["idmenu"]; | |
694 | 828 | } |
695 | 829 | return $menus; |
696 | 830 | } |
... | ... | @@ -701,11 +835,11 @@ function ogc_imprimeAjuda(){ |
701 | 835 | echo "Para escolher um tema, utilize:<br>"; |
702 | 836 | echo "ogc.php?lista=temas - para listar os temas disponíveis<br>"; |
703 | 837 | echo "Para usar esse web service, além dos parâmetros normais, vc deverá incluir o parâmetro &tema=,<br>"; |
704 | - echo "ou seja,http://[host]/i3geo/ogc.php?tema=[código do tema]<br>"; | |
705 | - echo "no lugar do código pode ser especificado também um arquivo mapfile qualquer. Nesse caso, deve ser digitado o caminho completo no servidor<br><br>"; | |
838 | + echo "ou seja,http://[host]/i3geo/ogc.php?tema=[código do tema]<br>"; | |
839 | + echo "no lugar do c&ocaute;digo pode ser especificado também um arquivo mapfile qualquer. Nesse caso, deve ser digitado o caminho completo no servidor<br><br>"; | |
706 | 840 | echo "Utilize o sistema de administração do i3Geo para configurar quais os temas da pasta i3geo/temas podem ser utilizados."; |
707 | 841 | echo "Utilize o parametro &intervalo=0,20 para definir o número de temas desejado na função getcapabilities."; |
708 | - echo "Utilize o parametro restauramapa para indicar o ID de um mapa salvo no banco de dados de administração para utilizá-lo como um WMS"; | |
842 | + echo "Utilize o parametro restauramapa para indicar o ID de um mapa salvo no banco de dados de administração para utilizá-lo como um WMS"; | |
709 | 843 | } |
710 | 844 | function ogc_imprimeListaDeTemas(){ |
711 | 845 | global $urli3geo,$perfil,$locaplic; |
... | ... | @@ -779,39 +913,53 @@ function ogc_imprimeListaDeTemasWfs(){ |
779 | 913 | } |
780 | 914 | echo $imprimir."</body></html>"; |
781 | 915 | } |
782 | -function carregaCacheImagem($cachedir,$map,$tms){ | |
783 | - global $dir_tmp; | |
784 | - if($cachedir == ""){ | |
785 | - $nome = $dir_tmp."/cache".$tms; | |
786 | - } | |
787 | - else{ | |
788 | - $nome = $cachedir.$tms; | |
789 | - } | |
790 | - if(file_exists($nome)){ | |
791 | - header('Content-Length: '.filesize($nome)); | |
792 | - header('Content-Type: image/png'); | |
793 | - header('Cache-Control: max-age=3600, must-revalidate'); | |
794 | - header('Expires: ' . gmdate('D, d M Y H:i:s', time()+24*60*60) . ' GMT'); | |
795 | - header('Last-Modified: '.gmdate('D, d M Y H:i:s', filemtime($nome)).' GMT', true, 200); | |
796 | - $etag = md5_file($nome); | |
797 | - header('Etag: '.$etag); | |
798 | - fpassthru(fopen($nome, 'rb')); | |
799 | - exit; | |
800 | - } | |
801 | -} | |
916 | +function carregaCacheImagem($cachedir,$map,$tms){ | |
917 | + global $dir_tmp; | |
918 | + if($cachedir == ""){ | |
919 | + $nome = $dir_tmp."/cache".$tms; | |
920 | + } | |
921 | + else{ | |
922 | + $nome = $cachedir.$tms; | |
923 | + } | |
924 | + if(file_exists($nome)){ | |
925 | + header('Content-Length: '.filesize($nome)); | |
926 | + header('Content-Type: image/png'); | |
927 | + header('Cache-Control: max-age=3600, must-revalidate'); | |
928 | + header('Expires: ' . gmdate('D, d M Y H:i:s', time()+24*60*60) . ' GMT'); | |
929 | + header('Last-Modified: '.gmdate('D, d M Y H:i:s', filemtime($nome)).' GMT', true, 200); | |
930 | + $etag = md5_file($nome); | |
931 | + header('Etag: '.$etag); | |
932 | + fpassthru(fopen($nome, 'rb')); | |
933 | + exit; | |
934 | + } | |
935 | +} | |
802 | 936 | function salvaCacheImagem($cachedir,$map,$tms){ |
803 | - global $img,$dir_tmp; | |
937 | + global $img,$dir_tmp,$cortePixels; | |
804 | 938 | if($cachedir == ""){ |
805 | 939 | $nome = $dir_tmp."/cache".$tms; |
806 | 940 | } |
807 | 941 | else{ |
808 | 942 | $nome = $cachedir.$tms; |
809 | - } | |
943 | + } | |
810 | 944 | @mkdir(dirname($nome),0777,true); |
811 | - chmod(dirname($nome),0777); | |
945 | + chmod(dirname($nome),0777); | |
812 | 946 | $img->saveImage($nome); |
813 | - chmod($nome,0777); | |
947 | + // | |
948 | + //corta a imagem gerada para voltar ao tamanho normal | |
949 | + // | |
950 | + if($cortePixels > 0){ | |
951 | + $img = imagecreatefrompng($nome); | |
952 | + $imgc = imagecreate(256,256); | |
814 | 953 | |
954 | + imagesavealpha($imgc, true); | |
955 | + // Fill the image with transparent color | |
956 | + $color = imagecolorallocatealpha($imgc,0x00,0x00,0x00,127); | |
957 | + imagefill($imgc, 0, 0, $color); | |
958 | + | |
959 | + imagecopy($imgc, $img, 0 , 0 , $cortePixels , $cortePixels , 256, 256); | |
960 | + imagepng($imgc,$nome); | |
961 | + } | |
962 | + chmod($nome,0777); | |
815 | 963 | header('Content-Length: '.filesize($nome)); |
816 | 964 | header('Content-Type: image/png'); |
817 | 965 | header('Cache-Control: max-age=3600, must-revalidate'); |
... | ... | @@ -819,15 +967,15 @@ function salvaCacheImagem($cachedir,$map,$tms){ |
819 | 967 | header('Last-Modified: '.gmdate('D, d M Y H:i:s', filemtime($nome)).' GMT', true, 200); |
820 | 968 | fpassthru(fopen($nome, 'rb')); |
821 | 969 | exit; |
822 | -} | |
823 | -function texto2iso($texto){ | |
824 | - if (function_exists("mb_convert_encoding")){ | |
825 | - if (mb_detect_encoding($texto,"UTF-8",true)){ | |
826 | - $texto = mb_convert_encoding($texto,"ISO-8859-1","UTF-8"); | |
827 | - } | |
828 | - } | |
829 | - return $texto; | |
830 | -} | |
970 | +} | |
971 | +function texto2iso($texto){ | |
972 | + if (function_exists("mb_convert_encoding")){ | |
973 | + if (mb_detect_encoding($texto,"UTF-8",true)){ | |
974 | + $texto = mb_convert_encoding($texto,"ISO-8859-1","UTF-8"); | |
975 | + } | |
976 | + } | |
977 | + return $texto; | |
978 | +} | |
831 | 979 | function nomeRand($n=10) |
832 | 980 | { |
833 | 981 | $nomes = ""; |
... | ... | @@ -836,32 +984,44 @@ function nomeRand($n=10) |
836 | 984 | for($i=0; $i < $n; ++$i) |
837 | 985 | {$nomes .= $a{mt_rand(0, $max)};} |
838 | 986 | return $nomes; |
839 | -} | |
840 | -function renderNocacheTms(){ | |
841 | - global $img,$i3georendermode,$dir_tmp; | |
842 | - if($i3georendermode == 0 || !isset($i3georendermode)){ | |
843 | - $nomer = $dir_tmp."/temp".nomeRand().".png"; | |
844 | - $img->saveImage($nomer); | |
845 | - header('Content-Length: '.filesize($nomer)); | |
846 | - header('Content-Type: image/png'); | |
847 | - header('Cache-Control: max-age=3600, must-revalidate'); | |
848 | - header('Expires: ' . gmdate('D, d M Y H:i:s', time()+24*60*60) . ' GMT'); | |
849 | - header('Last-Modified: '.gmdate('D, d M Y H:i:s', filemtime($nomer)).' GMT', true, 200); | |
850 | - fpassthru(fopen($nomer, 'rb')); | |
851 | - } | |
852 | - if($i3georendermode == 1){ | |
987 | +} | |
988 | +function renderNocacheTms(){ | |
989 | + global $img,$i3georendermode,$dir_tmp,$cortePixels; | |
990 | + if($i3georendermode == 1 && $cortePixels == 0){ | |
853 | 991 | ob_clean(); |
854 | 992 | header('Content-Type: image/png'); |
855 | 993 | $img->saveImage(); |
994 | + exit; | |
995 | + } | |
996 | + if($i3georendermode == 1 && $cortePixels > 0){ | |
997 | + $i3georendermode = 0; | |
998 | + } | |
999 | + $nomer = $dir_tmp."/temp".nomeRand().".png"; | |
1000 | + $img->saveImage($nomer); | |
1001 | + // | |
1002 | + //corta a imagem gerada para voltar ao tamanho normal | |
1003 | + // | |
1004 | + if($cortePixels > 0){ | |
1005 | + $img = imagecreatefrompng($nomer); | |
1006 | + $imgc = imagecreate(256,256); | |
1007 | + imagecopy( $imgc, $img, 0 , 0 , $cortePixels , $cortePixels , 256, 256 ); | |
1008 | + imagepng($imgc,$nomer); | |
1009 | + } | |
1010 | + if($i3georendermode == 0 || !isset($i3georendermode)){ | |
1011 | + | |
1012 | + header('Content-Length: '.filesize($nomer)); | |
1013 | + header('Content-Type: image/png'); | |
1014 | + header('Cache-Control: max-age=3600, must-revalidate'); | |
1015 | + header('Expires: ' . gmdate('D, d M Y H:i:s', time()+24*60*60) . ' GMT'); | |
1016 | + header('Last-Modified: '.gmdate('D, d M Y H:i:s', filemtime($nomer)).' GMT', true, 200); | |
1017 | + fpassthru(fopen($nomer, 'rb')); | |
856 | 1018 | } |
857 | 1019 | if($i3georendermode == 2){ |
858 | - $nomer = $dir_tmp."/temp".nomeRand().".png"; | |
859 | - $img->saveImage($nomer); | |
860 | 1020 | ob_clean(); |
861 | 1021 | header('Cache-Control: public, max-age=22222222'); |
862 | 1022 | header('Expires: ' . gmdate('D, d M Y H:i:s', time()+48*60*60) . ' GMT'); |
863 | 1023 | header("X-Sendfile: $nomer"); |
864 | 1024 | header("Content-type: image/png"); |
865 | - } | |
866 | -} | |
1025 | + } | |
1026 | +} | |
867 | 1027 | ?> | ... | ... |