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 @@ | @@ -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 @@ | @@ -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 | Title: Gerador de serviços OGC | 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,7 +22,7 @@ Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til | ||
22 | porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | 22 | porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita |
23 | de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | 23 | de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. |
24 | Consulte a Licença Pública Geral do GNU para mais detalhes. | 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 | GNU junto com este programa; se não, escreva para a | 26 | GNU junto com este programa; se não, escreva para a |
27 | Free Software Foundation, Inc., no endereço | 27 | Free Software Foundation, Inc., no endereço |
28 | 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | 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,20 +44,30 @@ legenda - (opcional) mostra a legenda no corpo do mapa sim|nao | ||
44 | 44 | ||
45 | perfil - (opcional) perfil utilizado para restringir os temas que serão mostrados | 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 | Na geração da legenda pode ser utilizado text/html para gerar no formato html. | 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 | id_medida_variavel - id da medida de variavel - utilizado apenas quando a fonte para definicao do layer for o sistema de metadados estatisticos | 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 | restauramapa - ID de um mapa salvo no sistema de administracao. O mapa e restaurado e tratado como WMS | 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 | Exemplos: | 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 | ogc.php?lista=temas | 72 | ogc.php?lista=temas |
63 | 73 | ||
@@ -69,21 +79,21 @@ ogc.php?intervalo=0,50 | @@ -69,21 +79,21 @@ ogc.php?intervalo=0,50 | ||
69 | */ | 79 | */ |
70 | // | 80 | // |
71 | //validações e includes | 81 | //validações e includes |
72 | -// | 82 | +// |
73 | $cache = true; | 83 | $cache = true; |
74 | require_once(dirname(__FILE__)."/classesphp/carrega_ext.php"); | 84 | require_once(dirname(__FILE__)."/classesphp/carrega_ext.php"); |
75 | include(dirname(__FILE__)."/ms_configura.php"); | 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 | //define um nome para o mapfile caso a origem seja o sistema de metadados estatisticos | 88 | //define um nome para o mapfile caso a origem seja o sistema de metadados estatisticos |
79 | if(isset($id_medida_variavel)){ | 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 | $_GET["LAYERS"] = $tema; | 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 | //recupera um mapa salvo no banco de administracao | 98 | //recupera um mapa salvo no banco de administracao |
89 | // | 99 | // |
@@ -102,29 +112,29 @@ if(!empty($restauramapa)){ | @@ -102,29 +112,29 @@ if(!empty($restauramapa)){ | ||
102 | if($l != ""){ | 112 | if($l != ""){ |
103 | $l->set("status",MS_DELETE); | 113 | $l->set("status",MS_DELETE); |
104 | } | 114 | } |
105 | - $m->save($xbase); | 115 | + $m->save($xbase); |
106 | //$fundo = $xbase; | 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 | $_GET["LAYERS"] = $l->name; | 121 | $_GET["LAYERS"] = $l->name; |
112 | -} | 122 | +} |
113 | // | 123 | // |
114 | //para operar como o Geoserver | 124 | //para operar como o Geoserver |
115 | // | 125 | // |
116 | if(isset($format) && strtolower($format) == "application/openlayers"){ | 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 | $urln = dirname($_SERVER["PHP_SELF"])."/mashups/openlayers.php?temas=".$layers."&layers=".$layers."&mapext=".$bbox."&botoes=pan,zoombox,zoomtot,identifica"; | 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,14 +172,17 @@ if(isset($lista) && $lista == "temaswfs"){ | ||
162 | error_reporting(0); | 172 | error_reporting(0); |
163 | $versao = versao(); | 173 | $versao = versao(); |
164 | $versao = $versao["principal"]; | 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 | $tipo = ""; | 179 | $tipo = ""; |
167 | $_GET = array_merge($_GET,$_POST); | 180 | $_GET = array_merge($_GET,$_POST); |
168 | if(isset($_GET["sld"]) || isset($_GET["filter"])){ | 181 | if(isset($_GET["sld"]) || isset($_GET["filter"])){ |
169 | $cache = false; | 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 | foreach ($_GET as $k=>$v){ | 187 | foreach ($_GET as $k=>$v){ |
175 | $req->setParameter(strtoupper($k), $v); | 188 | $req->setParameter(strtoupper($k), $v); |
@@ -177,16 +190,16 @@ foreach ($_GET as $k=>$v){ | @@ -177,16 +190,16 @@ foreach ($_GET as $k=>$v){ | ||
177 | $tipo = "metadados"; | 190 | $tipo = "metadados"; |
178 | $cache = false; | 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 | $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"; | 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 | if(count($_GET) == 0){ | 203 | if(count($_GET) == 0){ |
191 | $tipo="intervalo"; | 204 | $tipo="intervalo"; |
192 | $req->setParameter("REQUEST", "getCapabilities"); | 205 | $req->setParameter("REQUEST", "getCapabilities"); |
@@ -195,13 +208,13 @@ if(count($_GET) == 0){ | @@ -195,13 +208,13 @@ if(count($_GET) == 0){ | ||
195 | } | 208 | } |
196 | if(isset($tema) && $tipo != "metadados"){ | 209 | if(isset($tema) && $tipo != "metadados"){ |
197 | $tipo = ""; | 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 | if(!isset($VERSION)){ | 215 | if(!isset($VERSION)){ |
203 | - $req->setParameter("VeRsIoN","1.0.0"); | ||
204 | -} | 216 | + $req->setParameter("VeRsIoN","1.0.0"); |
217 | +} | ||
205 | if (!isset($intervalo)){ | 218 | if (!isset($intervalo)){ |
206 | $intervalo = "0,5000"; | 219 | $intervalo = "0,5000"; |
207 | } | 220 | } |
@@ -213,33 +226,42 @@ if(!isset($tema)){ | @@ -213,33 +226,42 @@ if(!isset($tema)){ | ||
213 | $intervalo = "0,5000"; | 226 | $intervalo = "0,5000"; |
214 | } | 227 | } |
215 | $tipo = "intervalo"; | 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 | if(isset($_GET["tms"])){ | 233 | if(isset($_GET["tms"])){ |
221 | $agora .= "tms"; | 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 | if(empty($ogcwsmap)){ | 259 | if(empty($ogcwsmap)){ |
238 | $oMap = ms_newMapobj($locaplic."/aplicmap/ogcwsv".$versao.".map"); | 260 | $oMap = ms_newMapobj($locaplic."/aplicmap/ogcwsv".$versao.".map"); |
239 | } | 261 | } |
240 | else{ | 262 | else{ |
241 | $oMap = ms_newMapobj($ogcwsmap); | 263 | $oMap = ms_newMapobj($ogcwsmap); |
242 | - } | 264 | + } |
243 | $proto = "http" . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "s" : "") . "://"; | 265 | $proto = "http" . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "s" : "") . "://"; |
244 | $server = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME']; | 266 | $server = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME']; |
245 | $or = $proto.$server.$_SERVER['PHP_SELF']; | 267 | $or = $proto.$server.$_SERVER['PHP_SELF']; |
@@ -262,21 +284,20 @@ else{ | @@ -262,21 +284,20 @@ else{ | ||
262 | $oMap->setmetadata("ows_enable_request","*"); | 284 | $oMap->setmetadata("ows_enable_request","*"); |
263 | $e = $oMap->extent; | 285 | $e = $oMap->extent; |
264 | $extensaoMap = ($e->minx)." ".($e->miny)." ".($e->maxx)." ".($e->maxy); | 286 | $extensaoMap = ($e->minx)." ".($e->miny)." ".($e->maxx)." ".($e->maxy); |
265 | - | ||
266 | //gera o mapa | 287 | //gera o mapa |
267 | - if ($tipo == "" || $tipo == "metadados"){ | 288 | + if ($tipo == "" || $tipo == "metadados"){ |
268 | $tema = explode(" ",$tema); | 289 | $tema = explode(" ",$tema); |
269 | //para o caso do tema ser um arquivo mapfile existente em uma pasta qualquer | 290 | //para o caso do tema ser um arquivo mapfile existente em uma pasta qualquer |
270 | //$temai3geo = true indica que o layer será buscado na pasta i3geo/temas | 291 | //$temai3geo = true indica que o layer será buscado na pasta i3geo/temas |
271 | $temai3geo = true; | 292 | $temai3geo = true; |
272 | - //FIXME não aceita gvp quando o caminho é completo | 293 | + //FIXME nao aceita gvp quando o caminho e completo |
273 | if(file_exists($_GET["tema"]) && !isset($id_medida_variavel)){ | 294 | if(file_exists($_GET["tema"]) && !isset($id_medida_variavel)){ |
274 | $nmap = ms_newMapobj($_GET["tema"]); | 295 | $nmap = ms_newMapobj($_GET["tema"]); |
275 | $temai3geo = false; | 296 | $temai3geo = false; |
276 | $nmap->setmetadata("ows_enable_request","*"); | 297 | $nmap->setmetadata("ows_enable_request","*"); |
277 | } | 298 | } |
278 | foreach ($tema as $tx){ | 299 | foreach ($tema as $tx){ |
279 | - $extensao = ".map"; | 300 | + $extensao = ".map"; |
280 | if($temai3geo == true && file_exists($locaplic."/temas/".$tx.".php")){ | 301 | if($temai3geo == true && file_exists($locaplic."/temas/".$tx.".php")){ |
281 | $extensao = ".php"; | 302 | $extensao = ".php"; |
282 | } | 303 | } |
@@ -285,16 +306,15 @@ else{ | @@ -285,16 +306,15 @@ else{ | ||
285 | } | 306 | } |
286 | if($extensao == ".map"){ | 307 | if($extensao == ".map"){ |
287 | //cria o mapfile com base no sistema de metadados estatisticos | 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 | if(isset($id_medida_variavel)){ | 318 | if(isset($id_medida_variavel)){ |
299 | $temai3geo = false; | 319 | $temai3geo = false; |
300 | include("admin/php/classe_metaestat.php"); | 320 | include("admin/php/classe_metaestat.php"); |
@@ -304,31 +324,31 @@ else{ | @@ -304,31 +324,31 @@ else{ | ||
304 | $nmap = ms_newMapobj($mapfileMetaestat["mapfile"]); | 324 | $nmap = ms_newMapobj($mapfileMetaestat["mapfile"]); |
305 | $nmap->setmetadata("ows_enable_request","*"); | 325 | $nmap->setmetadata("ows_enable_request","*"); |
306 | $req->setParameter("LAYERS", "ogcmetaestat".$id_medida_variavel); | 326 | $req->setParameter("LAYERS", "ogcmetaestat".$id_medida_variavel); |
307 | - } | 327 | + } |
308 | if($temai3geo == true){ | 328 | if($temai3geo == true){ |
309 | $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map"); | 329 | $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map"); |
310 | $nmap->setmetadata("ows_enable_request","*"); | 330 | $nmap->setmetadata("ows_enable_request","*"); |
311 | } | 331 | } |
312 | if($temai3geo == false || empty($layers)) | 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 | else{ | 337 | else{ |
318 | $ts = explode(",",str_replace(" ",",",$layers)); | 338 | $ts = explode(",",str_replace(" ",",",$layers)); |
319 | } | 339 | } |
320 | - foreach ($ts as $t){ | 340 | + foreach ($ts as $t){ |
321 | $l = $nmap->getlayerbyname($t); | 341 | $l = $nmap->getlayerbyname($t); |
322 | - $permite = $l->getmetadata("permiteogc"); | 342 | + $permite = $l->getmetadata("permiteogc"); |
323 | if(strtolower($permite) != "nao"){ | 343 | if(strtolower($permite) != "nao"){ |
324 | //necessário pq o mapfile pode ter todos os layers como default | 344 | //necessário pq o mapfile pode ter todos os layers como default |
325 | if($temai3geo == false){ | 345 | if($temai3geo == false){ |
326 | $l->set("status",MS_OFF); | 346 | $l->set("status",MS_OFF); |
327 | - } | 347 | + } |
328 | /* | 348 | /* |
329 | if($cache == true && strtolower($l->getmetadata('cache')) == 'sim' && $tipo == '' && count($tema) == 1){ | 349 | if($cache == true && strtolower($l->getmetadata('cache')) == 'sim' && $tipo == '' && count($tema) == 1){ |
330 | carregaCacheImagem($_GET['BBOX'],$tx,$_GET['WIDTH'],$_GET['HEIGHT'],$cachedir); | 350 | carregaCacheImagem($_GET['BBOX'],$tx,$_GET['WIDTH'],$_GET['HEIGHT'],$cachedir); |
331 | - } | 351 | + } |
332 | */ | 352 | */ |
333 | $l->setmetadata("ows_title",pegaNome($l)); | 353 | $l->setmetadata("ows_title",pegaNome($l)); |
334 | $l->setmetadata("ows_srs",$listaepsg); | 354 | $l->setmetadata("ows_srs",$listaepsg); |
@@ -351,9 +371,8 @@ else{ | @@ -351,9 +371,8 @@ else{ | ||
351 | } | 371 | } |
352 | if($l->type == MS_LAYER_RASTER && $l->numclasses > 0){ | 372 | if($l->type == MS_LAYER_RASTER && $l->numclasses > 0){ |
353 | $c = $l->getclass(0); | 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 | //inclui extensao geografica | 378 | //inclui extensao geografica |
@@ -385,8 +404,18 @@ else{ | @@ -385,8 +404,18 @@ else{ | ||
385 | $l->setprocessing("LABEL_NO_CLIP=True"); | 404 | $l->setprocessing("LABEL_NO_CLIP=True"); |
386 | $l->setprocessing("POLYLINE_NO_CLIP=True"); | 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,10 +427,10 @@ else{ | ||
398 | include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); | 427 | include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); |
399 | $gm = new gvsig2mapfile($locaplic."/temas/".$tx.".gvp"); | 428 | $gm = new gvsig2mapfile($locaplic."/temas/".$tx.".gvp"); |
400 | $gvsigview = $gm->getViewsNames(); | 429 | $gvsigview = $gm->getViewsNames(); |
401 | - foreach($gvsigview as $gv){ | 430 | + foreach($gvsigview as $gv){ |
402 | $dataView = $gm->getViewData($gv); | 431 | $dataView = $gm->getViewData($gv); |
403 | $oMap = $gm->addLayers($oMap,$gv,$dataView["layerNames"]); | 432 | $oMap = $gm->addLayers($oMap,$gv,$dataView["layerNames"]); |
404 | - } | 433 | + } |
405 | $numlayers = $oMap->numlayers; | 434 | $numlayers = $oMap->numlayers; |
406 | $layers = array(); | 435 | $layers = array(); |
407 | //$layers[] = "default"; | 436 | //$layers[] = "default"; |
@@ -424,9 +453,8 @@ else{ | @@ -424,9 +453,8 @@ else{ | ||
424 | } | 453 | } |
425 | if($l->type == MS_LAYER_RASTER && $l->numclasses > 0){ | 454 | if($l->type == MS_LAYER_RASTER && $l->numclasses > 0){ |
426 | $c = $l->getclass(0); | 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 | //inclui extensao geografica | 460 | //inclui extensao geografica |
@@ -435,6 +463,12 @@ else{ | @@ -435,6 +463,12 @@ else{ | ||
435 | $extensao = $extensaoMap; | 463 | $extensao = $extensaoMap; |
436 | } | 464 | } |
437 | $l->setmetadata("wms_extent",$extensao); | 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 | $req->setParameter("LAYERS", implode(",",$layers)); | 473 | $req->setParameter("LAYERS", implode(",",$layers)); |
440 | $req->setParameter("STYLES", ""); | 474 | $req->setParameter("STYLES", ""); |
@@ -446,8 +480,8 @@ else{ | @@ -446,8 +480,8 @@ else{ | ||
446 | $conta = 0; | 480 | $conta = 0; |
447 | $int = explode(",",$intervalo); | 481 | $int = explode(",",$intervalo); |
448 | $codigosTema = array(); | 482 | $codigosTema = array(); |
449 | - if(empty($perfil)){ | ||
450 | - $perfil = ""; | 483 | + if(empty($perfil)){ |
484 | + $perfil = ""; | ||
451 | } | 485 | } |
452 | include("classesphp/classe_menutemas.php"); | 486 | include("classesphp/classe_menutemas.php"); |
453 | $m = new Menutemas("",$perfil,$locaplic,$urli3geo); | 487 | $m = new Menutemas("",$perfil,$locaplic,$urli3geo); |
@@ -472,6 +506,7 @@ else{ | @@ -472,6 +506,7 @@ else{ | ||
472 | //echo "<pre>"; | 506 | //echo "<pre>"; |
473 | //var_dump($codigosTema); | 507 | //var_dump($codigosTema); |
474 | //exit; | 508 | //exit; |
509 | + | ||
475 | foreach($codigosTema as $c){ | 510 | foreach($codigosTema as $c){ |
476 | $codigoTema = $c["tema"]; | 511 | $codigoTema = $c["tema"]; |
477 | if(file_exists($locaplic."/temas/".$codigoTema.".map")){ | 512 | if(file_exists($locaplic."/temas/".$codigoTema.".map")){ |
@@ -486,9 +521,8 @@ else{ | @@ -486,9 +521,8 @@ else{ | ||
486 | if (($conta >= $int[0]) && ($conta <= $int[1])){ | 521 | if (($conta >= $int[0]) && ($conta <= $int[1])){ |
487 | $l = $nmap->getlayerbyname($t); | 522 | $l = $nmap->getlayerbyname($t); |
488 | $extensao = $l->getmetadata("EXTENSAO"); | 523 | $extensao = $l->getmetadata("EXTENSAO"); |
489 | - if($extensao == "") | ||
490 | - { | ||
491 | - $extensao = $extensaoMap; | 524 | + if($extensao == ""){ |
525 | + $extensao = $extensaoMap; | ||
492 | } | 526 | } |
493 | $l->setmetadata("wms_extent",$extensao); | 527 | $l->setmetadata("wms_extent",$extensao); |
494 | 528 | ||
@@ -499,21 +533,27 @@ else{ | @@ -499,21 +533,27 @@ else{ | ||
499 | $l->set("dump",MS_TRUE); | 533 | $l->set("dump",MS_TRUE); |
500 | $l->setmetadata("WMS_INCLUDE_ITEMS","all"); | 534 | $l->setmetadata("WMS_INCLUDE_ITEMS","all"); |
501 | $l->setmetadata("WFS_INCLUDE_ITEMS","all"); | 535 | $l->setmetadata("WFS_INCLUDE_ITEMS","all"); |
502 | - | ||
503 | - if($l->getmetadata("ows_metadataurl_href") == ""){ | 536 | + if($l->getmetadata("ows_metadataurl_href") == ""){ |
504 | $l->setmetadata("ows_metadataurl_href",$c["fonte"]); | 537 | $l->setmetadata("ows_metadataurl_href",$c["fonte"]); |
505 | $l->setmetadata("ows_metadataurl_type","TC211"); | 538 | $l->setmetadata("ows_metadataurl_type","TC211"); |
506 | $l->setmetadata("ows_metadataurl_format","text/html"); | 539 | $l->setmetadata("ows_metadataurl_format","text/html"); |
507 | - } | 540 | + } |
508 | if(file_exists($locaplic."/temas/miniaturas/".$t.".map.mini.png")){ | 541 | if(file_exists($locaplic."/temas/miniaturas/".$t.".map.mini.png")){ |
509 | $mini = $proto.$server.dirname($_SERVER['PHP_SELF'])."/temas/miniaturas/".$t.".map.mini.png"; | 542 | $mini = $proto.$server.dirname($_SERVER['PHP_SELF'])."/temas/miniaturas/".$t.".map.mini.png"; |
510 | $l->setmetadata("wms_attribution_logourl_format","image/png"); | 543 | $l->setmetadata("wms_attribution_logourl_format","image/png"); |
511 | $l->setmetadata("wms_attribution_logourl_height","50"); | 544 | $l->setmetadata("wms_attribution_logourl_height","50"); |
512 | $l->setmetadata("wms_attribution_logourl_width","50"); | 545 | $l->setmetadata("wms_attribution_logourl_width","50"); |
513 | $l->setmetadata("wms_attribution_logourl_href",$mini); | 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 | cloneInlineSymbol($l,$nmap,$oMap); | 554 | cloneInlineSymbol($l,$nmap,$oMap); |
516 | ms_newLayerObj($oMap, $l); | 555 | ms_newLayerObj($oMap, $l); |
556 | + | ||
517 | } | 557 | } |
518 | } | 558 | } |
519 | } | 559 | } |
@@ -528,63 +568,92 @@ else{ | @@ -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 | if(ob_get_contents ()){ | 578 | if(ob_get_contents ()){ |
539 | ob_end_clean(); | 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 | //verifica se a chamada do servico e do tipo TILE no padrao do Google | 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 | $x = $_GET["X"]; | 647 | $x = $_GET["X"]; |
585 | $y = $_GET["Y"]; | 648 | $y = $_GET["Y"]; |
586 | $z = $_GET["Z"]; | 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 | if($cache == true){ | 657 | if($cache == true){ |
589 | carregaCacheImagem($cachedir,$nomeMapfileTmp,"/googlemaps/$layer0->name/$z/$x/$y"); | 658 | carregaCacheImagem($cachedir,$nomeMapfileTmp,"/googlemaps/$layer0->name/$z/$x/$y"); |
590 | } | 659 | } |
@@ -606,43 +675,52 @@ if(isset($_GET["Z"]) && isset($_GET["X"])){ | @@ -606,43 +675,52 @@ if(isset($_GET["Z"]) && isset($_GET["X"])){ | ||
606 | $poPoint1->project($projInObj, $projOutObj); | 675 | $poPoint1->project($projInObj, $projOutObj); |
607 | $poPoint2 = ms_newpointobj(); | 676 | $poPoint2 = ms_newpointobj(); |
608 | $poPoint2->setXY($lon2, $lat2); | 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 | $oMap->setsize(256,256); | 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 | $img = $oMap->draw(); | 699 | $img = $oMap->draw(); |
617 | if($img->imagepath == ""){ | 700 | if($img->imagepath == ""){ |
618 | exit; | 701 | exit; |
619 | - } | ||
620 | - /** | ||
621 | - * @TODO ativar cache | ||
622 | - */ | ||
623 | - | 702 | + } |
624 | if($cache == true){ | 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 | if($req->getValueByName("FORMAT") == ""){ | 713 | if($req->getValueByName("FORMAT") == ""){ |
635 | $req->setParameter("FORMAT","image/png"); | 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 | if($req->getValueByName("FORMAT") == "text/html"){ | 720 | if($req->getValueByName("FORMAT") == "text/html"){ |
639 | $req->setParameter("FORMAT","image/png"); | 721 | $req->setParameter("FORMAT","image/png"); |
640 | $l = $oMap->getlayerbyname($req->getValueByName("LAYER")); | 722 | $l = $oMap->getlayerbyname($req->getValueByName("LAYER")); |
641 | $l->set("status",MS_DEFAULT); | 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 | $legenda->set("template",$locaplic."/aplicmap/legendaOgc.html"); | 724 | $legenda->set("template",$locaplic."/aplicmap/legendaOgc.html"); |
647 | 725 | ||
648 | $tmparray["my_tag"] = "value_of_my_tag"; | 726 | $tmparray["my_tag"] = "value_of_my_tag"; |
@@ -653,14 +731,29 @@ if(strtolower($req->getValueByName("REQUEST")) == "getlegendgraphic"){ | @@ -653,14 +731,29 @@ if(strtolower($req->getValueByName("REQUEST")) == "getlegendgraphic"){ | ||
653 | echo $leg;exit; | 731 | echo $leg;exit; |
654 | } | 732 | } |
655 | } | 733 | } |
656 | - | ||
657 | -} | 734 | + |
735 | +} | ||
658 | if(strtolower($req->getValueByName("REQUEST")) == "getfeature"){ | 736 | if(strtolower($req->getValueByName("REQUEST")) == "getfeature"){ |
659 | $l = $oMap->getlayer(0); | 737 | $l = $oMap->getlayer(0); |
660 | if($req->getValueByName("TYPENAME") == "" || $req->getValueByName("TYPENAME") == "undefined"){ | 738 | if($req->getValueByName("TYPENAME") == "" || $req->getValueByName("TYPENAME") == "undefined"){ |
661 | $req->setParameter("TYPENAME",$l->name); | 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 | //altera os caminhos das imagens | 758 | //altera os caminhos das imagens |
666 | // | 759 | // |
@@ -668,14 +761,55 @@ if((isset($legenda)) && (strtolower($legenda) == "sim")){ | @@ -668,14 +761,55 @@ if((isset($legenda)) && (strtolower($legenda) == "sim")){ | ||
668 | $leg = $oMap->legend; | 761 | $leg = $oMap->legend; |
669 | $leg->set("status",MS_EMBED); | 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 | $oMap->owsdispatch($req); | 804 | $oMap->owsdispatch($req); |
673 | $contenttype = ms_iostripstdoutbuffercontenttype(); | 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 | $buffer = ms_iogetStdoutBufferBytes(); | 814 | $buffer = ms_iogetStdoutBufferBytes(); |
681 | ms_ioresethandlers(); | 815 | ms_ioresethandlers(); |
@@ -684,13 +818,13 @@ ms_ioresethandlers(); | @@ -684,13 +818,13 @@ ms_ioresethandlers(); | ||
684 | // | 818 | // |
685 | function ogc_pegaListaDeMenus(){ | 819 | function ogc_pegaListaDeMenus(){ |
686 | global $perfil,$locaplic,$urli3geo; | 820 | global $perfil,$locaplic,$urli3geo; |
687 | - if(!isset($perfil)){ | ||
688 | - $perfil = ""; | 821 | + if(!isset($perfil)){ |
822 | + $perfil = ""; | ||
689 | } | 823 | } |
690 | $m = new Menutemas("",$perfil,$locsistemas,$locaplic,"",$urli3geo); | 824 | $m = new Menutemas("",$perfil,$locsistemas,$locaplic,"",$urli3geo); |
691 | foreach($m->pegaListaDeMenus() as $menu) | 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 | return $menus; | 829 | return $menus; |
696 | } | 830 | } |
@@ -701,11 +835,11 @@ function ogc_imprimeAjuda(){ | @@ -701,11 +835,11 @@ function ogc_imprimeAjuda(){ | ||
701 | echo "Para escolher um tema, utilize:<br>"; | 835 | echo "Para escolher um tema, utilize:<br>"; |
702 | echo "ogc.php?lista=temas - para listar os temas disponíveis<br>"; | 836 | echo "ogc.php?lista=temas - para listar os temas disponíveis<br>"; |
703 | echo "Para usar esse web service, além dos parâmetros normais, vc deverá incluir o parâmetro &tema=,<br>"; | 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 | echo "Utilize o sistema de administração do i3Geo para configurar quais os temas da pasta i3geo/temas podem ser utilizados."; | 840 | echo "Utilize o sistema de administração do i3Geo para configurar quais os temas da pasta i3geo/temas podem ser utilizados."; |
707 | echo "Utilize o parametro &intervalo=0,20 para definir o número de temas desejado na função getcapabilities."; | 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 | function ogc_imprimeListaDeTemas(){ | 844 | function ogc_imprimeListaDeTemas(){ |
711 | global $urli3geo,$perfil,$locaplic; | 845 | global $urli3geo,$perfil,$locaplic; |
@@ -779,39 +913,53 @@ function ogc_imprimeListaDeTemasWfs(){ | @@ -779,39 +913,53 @@ function ogc_imprimeListaDeTemasWfs(){ | ||
779 | } | 913 | } |
780 | echo $imprimir."</body></html>"; | 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 | function salvaCacheImagem($cachedir,$map,$tms){ | 936 | function salvaCacheImagem($cachedir,$map,$tms){ |
803 | - global $img,$dir_tmp; | 937 | + global $img,$dir_tmp,$cortePixels; |
804 | if($cachedir == ""){ | 938 | if($cachedir == ""){ |
805 | $nome = $dir_tmp."/cache".$tms; | 939 | $nome = $dir_tmp."/cache".$tms; |
806 | } | 940 | } |
807 | else{ | 941 | else{ |
808 | $nome = $cachedir.$tms; | 942 | $nome = $cachedir.$tms; |
809 | - } | 943 | + } |
810 | @mkdir(dirname($nome),0777,true); | 944 | @mkdir(dirname($nome),0777,true); |
811 | - chmod(dirname($nome),0777); | 945 | + chmod(dirname($nome),0777); |
812 | $img->saveImage($nome); | 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 | header('Content-Length: '.filesize($nome)); | 963 | header('Content-Length: '.filesize($nome)); |
816 | header('Content-Type: image/png'); | 964 | header('Content-Type: image/png'); |
817 | header('Cache-Control: max-age=3600, must-revalidate'); | 965 | header('Cache-Control: max-age=3600, must-revalidate'); |
@@ -819,15 +967,15 @@ function salvaCacheImagem($cachedir,$map,$tms){ | @@ -819,15 +967,15 @@ function salvaCacheImagem($cachedir,$map,$tms){ | ||
819 | header('Last-Modified: '.gmdate('D, d M Y H:i:s', filemtime($nome)).' GMT', true, 200); | 967 | header('Last-Modified: '.gmdate('D, d M Y H:i:s', filemtime($nome)).' GMT', true, 200); |
820 | fpassthru(fopen($nome, 'rb')); | 968 | fpassthru(fopen($nome, 'rb')); |
821 | exit; | 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 | function nomeRand($n=10) | 979 | function nomeRand($n=10) |
832 | { | 980 | { |
833 | $nomes = ""; | 981 | $nomes = ""; |
@@ -836,32 +984,44 @@ function nomeRand($n=10) | @@ -836,32 +984,44 @@ function nomeRand($n=10) | ||
836 | for($i=0; $i < $n; ++$i) | 984 | for($i=0; $i < $n; ++$i) |
837 | {$nomes .= $a{mt_rand(0, $max)};} | 985 | {$nomes .= $a{mt_rand(0, $max)};} |
838 | return $nomes; | 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 | ob_clean(); | 991 | ob_clean(); |
854 | header('Content-Type: image/png'); | 992 | header('Content-Type: image/png'); |
855 | $img->saveImage(); | 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 | if($i3georendermode == 2){ | 1019 | if($i3georendermode == 2){ |
858 | - $nomer = $dir_tmp."/temp".nomeRand().".png"; | ||
859 | - $img->saveImage($nomer); | ||
860 | ob_clean(); | 1020 | ob_clean(); |
861 | header('Cache-Control: public, max-age=22222222'); | 1021 | header('Cache-Control: public, max-age=22222222'); |
862 | header('Expires: ' . gmdate('D, d M Y H:i:s', time()+48*60*60) . ' GMT'); | 1022 | header('Expires: ' . gmdate('D, d M Y H:i:s', time()+48*60*60) . ' GMT'); |
863 | header("X-Sendfile: $nomer"); | 1023 | header("X-Sendfile: $nomer"); |
864 | header("Content-type: image/png"); | 1024 | header("Content-type: image/png"); |
865 | - } | ||
866 | -} | 1025 | + } |
1026 | +} | ||
867 | ?> | 1027 | ?> |