Commit 65744aed4b425e58cd65a56bf3433a453b34a475
1 parent
ec7a9d48
Exists in
master
Adaptacoes para Mapserver 7
Showing
18 changed files
with
7408 additions
and
2 deletions
Show diff stats
@@ -0,0 +1,314 @@ | @@ -0,0 +1,314 @@ | ||
1 | +#Este mapfile e utilizado pelo i3geo na instalacao em servidores linux | ||
2 | +#Toda vez que o i3geo e iniciado, esse mapfile e considerado como o mapa basico. | ||
3 | +#Se vc quer alterar a aparência do mapa inicial, edite esse arquivo para refletir | ||
4 | +#o mapa desejado. | ||
5 | +# | ||
6 | +#Se vc quer adicionar temas, dê preferência por editar o arquivo menutemas/menutemas.xml | ||
7 | +#assim, as camadas ficam disponíveis no menu de adicao de temas do i3geo. Nao se esqueca | ||
8 | +#de criar o arquivo mapfile no diretorio i3geo/temas (veja a documentacao no wiki da | ||
9 | +#comunidade i3geo no Portal do Software Publico Brasileiro. | ||
10 | +# | ||
11 | +#Existem varios metadados que podem ser incluidos na definicao de cada LAYER e que sao especificos do i3geo, | ||
12 | +#Esses metadados possibilitam coisas como mostrar ou nao a legenda de um tema no mapa, | ||
13 | +#mostrar ou nao o tema na ferramenta de identificacao, etc. | ||
14 | +#A lista completa de metadados vc pode obter no wiki da comunidade | ||
15 | +# | ||
16 | +MAP | ||
17 | + # | ||
18 | + #edite os caminhos caso a aplicacao esteja instalada em um local diferente do default | ||
19 | + # | ||
20 | + FONTSET "/var/www/i3geo/symbols/fontes.txt" | ||
21 | + SYMBOLSET "/var/www/i3geo/symbols/simbolosv6.sym" | ||
22 | + SHAPEPATH "/var/www/geodados" | ||
23 | + IMAGECOLOR 104 171 195 | ||
24 | + MAXSIZE 4096 | ||
25 | + # | ||
26 | + #Por default, o i3geo utiliza o tipo de imagem configurado em png2 | ||
27 | + #Esse tipo nao e adequado para imagens raster, mas o i3geo muda automaticamente | ||
28 | + #para png1 quando um arquivo raster e adicionado ao mapa | ||
29 | + # | ||
30 | + IMAGETYPE AGG_Q | ||
31 | + #Brasil | ||
32 | + #EXTENT -76.5125927 -39.3925675209 -29.5851853 9.49014852081 | ||
33 | + EXTENT -140 -60 140 60 | ||
34 | + SIZE 480 500 | ||
35 | + STATUS ON | ||
36 | + UNITS DD | ||
37 | + NAME "GERAL" | ||
38 | + DEBUG OFF | ||
39 | + #CONFIG "MS_ERRORFILE" "/tmp/ms_tmp/ms_error.txt" | ||
40 | + # | ||
41 | + #utilize o agg apenas com mapserver 5x | ||
42 | + | ||
43 | + OUTPUTFORMAT | ||
44 | + NAME 'AGG_Q' | ||
45 | + DRIVER AGG/PNG | ||
46 | + IMAGEMODE RGB | ||
47 | + FORMATOPTION "QUANTIZE_FORCE=ON" | ||
48 | + FORMATOPTION "QUANTIZE_DITHER=OFF" | ||
49 | + FORMATOPTION "QUANTIZE_COLORS=256" | ||
50 | + FORMATOPTION "INTERLACE=OFF" | ||
51 | + END | ||
52 | + | ||
53 | + #OUTPUTFORMAT | ||
54 | + # NAME svg | ||
55 | + # MIMETYPE "image/svg+xml" | ||
56 | + # DRIVER cairo/svg | ||
57 | + ##FORMATOPTION "COMPRESSED_OUTPUT=TRUE" | ||
58 | + ##FORMATOPTION "FULL_RESOLUTION=TRUE" | ||
59 | + #END | ||
60 | + | ||
61 | + OUTPUTFORMAT | ||
62 | + NAME jpeg | ||
63 | + DRIVER "AGG/JPEG" | ||
64 | + MIMETYPE "image/jpeg" | ||
65 | + IMAGEMODE RGB | ||
66 | + EXTENSION jpg | ||
67 | + FORMATOPTION "INTERLACE=OFF" | ||
68 | + END | ||
69 | + | ||
70 | + OUTPUTFORMAT | ||
71 | + NAME png1 | ||
72 | + MIMETYPE image/png | ||
73 | + DRIVER AGG/PNG | ||
74 | + EXTENSION png | ||
75 | + IMAGEMODE RGB | ||
76 | + TRANSPARENT FALSE | ||
77 | + FORMATOPTION "INTERLACE=OFF" | ||
78 | + END | ||
79 | + | ||
80 | + OUTPUTFORMAT | ||
81 | + NAME png2 | ||
82 | + MIMETYPE image/png | ||
83 | + DRIVER AGG/PNG | ||
84 | + EXTENSION png | ||
85 | + IMAGEMODE PC256 | ||
86 | + TRANSPARENT TRUE | ||
87 | + FORMATOPTION "INTERLACE=OFF" | ||
88 | + END | ||
89 | + | ||
90 | + | ||
91 | + PROJECTION | ||
92 | + "+proj=longlat +ellps=GRS67 +no_defs" | ||
93 | + END | ||
94 | + LEGEND | ||
95 | + IMAGECOLOR 255 255 255 | ||
96 | + KEYSIZE 12 10 | ||
97 | + KEYSPACING 5 5 | ||
98 | + LABEL | ||
99 | + SIZE 7 | ||
100 | + FONT "verdana" | ||
101 | + TYPE truetype | ||
102 | + BUFFER 0 | ||
103 | + COLOR 0 0 0 | ||
104 | + FORCE FALSE | ||
105 | + MINDISTANCE -1 | ||
106 | + MINFEATURESIZE -1 | ||
107 | + OFFSET 0 -2 | ||
108 | + PARTIALS TRUE | ||
109 | + END | ||
110 | + POSITION LL | ||
111 | + STATUS off | ||
112 | + #edite o caminho se a aplicacao for movida de lugar | ||
113 | + #TEMPLATE "/var/www/i3geo/aplicmap/legenda.htm" | ||
114 | + END | ||
115 | + QUERYMAP | ||
116 | + #OUTLINECOLOR 255 0 0 | ||
117 | + COLOR 0 255 255 | ||
118 | + SIZE 480 500 | ||
119 | + STATUS on | ||
120 | + STYLE hilite | ||
121 | + END | ||
122 | + REFERENCE | ||
123 | + COLOR -1 -1 -1 | ||
124 | + EXTENT -75.5728 -37.4751 -30.525 7.57273 | ||
125 | + #-79.8713331401 -41.7736536401 -26.2264448599 11.8712346401 | ||
126 | + #edite o caminho se a aplicacao for movida de lugar | ||
127 | + IMAGE "/var/www/i3geo/imagens/referencia1.png" | ||
128 | + OUTLINECOLOR -1 -1 -1 | ||
129 | + SIZE 150 150 | ||
130 | + STATUS off | ||
131 | + MARKER "ref" | ||
132 | + MARKERSIZE 8 | ||
133 | + MINBOXSIZE 8 | ||
134 | + MAXBOXSIZE 145 | ||
135 | + END | ||
136 | + SCALEBAR | ||
137 | + BACKGROUNDCOLOR 200 200 200 | ||
138 | + COLOR 0 0 0 | ||
139 | + INTERVALS 5 | ||
140 | + LABEL | ||
141 | + SIZE TINY | ||
142 | + TYPE BITMAP | ||
143 | + BUFFER 0 | ||
144 | + COLOR 0 0 0 | ||
145 | + FORCE FALSE | ||
146 | + MINDISTANCE -1 | ||
147 | + MINFEATURESIZE -1 | ||
148 | + OFFSET 0 0 | ||
149 | + PARTIALS TRUE | ||
150 | + END | ||
151 | + POSITION LR | ||
152 | + SIZE 200 2 | ||
153 | + STATUS embed | ||
154 | + STYLE 0 | ||
155 | + TRANSPARENT FALSE | ||
156 | + UNITS KILOMETERS | ||
157 | + END | ||
158 | + WEB | ||
159 | + #edite o caminho se a aplicacao for movida de lugar | ||
160 | + IMAGEPATH "/tmp/ms_tmp/" | ||
161 | + IMAGEURL "/ms_tmp/" | ||
162 | + TEMPLATE "" | ||
163 | + END | ||
164 | + LAYER | ||
165 | + DATA "/var/www/i3geo/aplicmap/dados/mundo" | ||
166 | + GROUP "mundo" | ||
167 | + METADATA | ||
168 | + "CLASSE" "SIM" #o simbolo sera mostrado na legenda | ||
169 | + "ITENS" "FIPS_CNTRY,GMI_CNTRY,LONG_NAME,CNTRY_NAME" #itens que serao mostrados na opcao de identificacao | ||
170 | + "ITENSDESC" "FIPS,GMI,Nome,Wikipedia" #descricao dos nomes dos itens | ||
171 | + "ITENSLINK" ",,,http://pt.wikipedia.org/wiki/[CNTRY_NAME]" | ||
172 | + "TEMA" "Países do mundo" #nome que sera mostrado na legenda | ||
173 | + "TITULO" "Países do mundo" #nome alternativo que e mostrado nos combos para escolha do tema | ||
174 | + "TIP" "FIPS_CNTRY,GMI_CNTRY,CNTRY_NAME" | ||
175 | + "cache" "sim" | ||
176 | + "itembuscarapida" "LONG_NAME" | ||
177 | + END | ||
178 | + NAME "mundo" | ||
179 | + STATUS OFF | ||
180 | + TEMPLATE "none.htm" | ||
181 | + TYPE POLYGON | ||
182 | + CLASS | ||
183 | + NAME "" #vazio indica que nao sera incluido o nome ao lado do simbolo | ||
184 | + STYLE | ||
185 | + COLOR 230 230 230 | ||
186 | + OUTLINECOLOR 255 255 255 | ||
187 | + END | ||
188 | + END | ||
189 | + END | ||
190 | + # | ||
191 | + #para mostrar o mapa do Brasil, remova os comentarios | ||
192 | + # | ||
193 | + #LAYER | ||
194 | + # DATA "/var/www/i3geo/aplicmap/dados/estados" | ||
195 | + # METADATA | ||
196 | + # "CLASSE" "SIM" | ||
197 | + # "TEMA" "Brasil" | ||
198 | + # "ESCALA" "250000" #escala utilizada nas marcas ao lado do tema na legenda | ||
199 | + # "IDENTIFICA" "nao" | ||
200 | + # "cache" "sim" | ||
201 | + # "EXTENSAO" "-97.911949 -39.413578 -8.185829 9.511159" | ||
202 | + # END | ||
203 | + # NAME "estados" | ||
204 | + # SIZEUNITS PIXELS | ||
205 | + # STATUS DEFAULT | ||
206 | + # TOLERANCE 0 | ||
207 | + # TOLERANCEUNITS PIXELS | ||
208 | + # TRANSPARENCY 100 | ||
209 | + # TYPE POLYGON | ||
210 | + # UNITS METERS | ||
211 | + # CLASS | ||
212 | + # NAME " " | ||
213 | + # STYLE | ||
214 | + # COLOR 232 220 201 | ||
215 | + # MAXSIZE 100 | ||
216 | + # MINSIZE 1 | ||
217 | + # SIZE 1 | ||
218 | + # SYMBOL 0 | ||
219 | + # END | ||
220 | + # END | ||
221 | + #END | ||
222 | + # | ||
223 | + #para mostrar os limites estaduais do Brasil, remova os comentarios | ||
224 | + # | ||
225 | + #LAYER | ||
226 | + # NAME estadosl # ok | ||
227 | + # TYPE line | ||
228 | + # STATUS DEFAULT | ||
229 | + # DATA "/var/www/i3geo/aplicmap/dados/estados" | ||
230 | + # TEMPLATE "estados.htm" | ||
231 | + # METADATA | ||
232 | + # ITENS "ESTADO" | ||
233 | + # ITENSDESC "Estado" | ||
234 | + # TEMA "Limite Estadual" | ||
235 | + # ESCALA "250000" | ||
236 | + # CLASSE "SIM" | ||
237 | + # cache "sim" | ||
238 | + # END | ||
239 | + # CLASS | ||
240 | + # NAME " " | ||
241 | + # STYLE | ||
242 | + # WIDTH 2 | ||
243 | + # COLOR 255 255 0 | ||
244 | + # OUTLINECOLOR -1 -1 -1 | ||
245 | + # END | ||
246 | + # STYLE | ||
247 | + # COLOR 0 0 0 | ||
248 | + # OUTLINECOLOR -1 -1 -1 | ||
249 | + # END | ||
250 | + # END # CLASS | ||
251 | + #END # LAYER | ||
252 | + | ||
253 | + LAYER | ||
254 | + METADATA | ||
255 | + "TEMA" "NAO" | ||
256 | + "ESCONDIDO" "SIM" | ||
257 | + "cache" "nao" | ||
258 | + END | ||
259 | + NAME "copyright" | ||
260 | + SIZEUNITS PIXELS | ||
261 | + STATUS default | ||
262 | + TOLERANCE 0 | ||
263 | + TOLERANCEUNITS PIXELS | ||
264 | + TRANSFORM FALSE | ||
265 | + TYPE POINT | ||
266 | + UNITS METERS | ||
267 | + CLASS | ||
268 | + LABEL | ||
269 | + SIZE TINY | ||
270 | + TYPE BITMAP | ||
271 | + BUFFER 0 | ||
272 | + COLOR 50 50 50 | ||
273 | + FORCE FALSE | ||
274 | + MINDISTANCE -1 | ||
275 | + MINFEATURESIZE -1 | ||
276 | + OFFSET 0 0 | ||
277 | + PARTIALS TRUE | ||
278 | + POSITION CC | ||
279 | + END | ||
280 | + END | ||
281 | + FEATURE | ||
282 | + POINTS | ||
283 | + 10 5 | ||
284 | + END | ||
285 | + TEXT "- i3Geo" | ||
286 | + END | ||
287 | + END | ||
288 | + | ||
289 | + LAYER | ||
290 | + METADATA | ||
291 | + "TEMA" "Rosa dos ventos" | ||
292 | + "IDENTIFICA" "nao" | ||
293 | + "TABELA" "nao" | ||
294 | + "CLASSE" "NAO" | ||
295 | + END | ||
296 | + NAME "rosadosventos" | ||
297 | + SIZEUNITS PIXELS | ||
298 | + STATUS OFF | ||
299 | + TOLERANCE 0 | ||
300 | + TOLERANCEUNITS PIXELS | ||
301 | + TRANSFORM lr | ||
302 | + TYPE POINT | ||
303 | + UNITS pixels | ||
304 | + CLASS | ||
305 | + SYMBOL 'rosa200' | ||
306 | + SIZE 90 | ||
307 | + END | ||
308 | + FEATURE | ||
309 | + POINTS | ||
310 | + -70 -70 | ||
311 | + END | ||
312 | + END | ||
313 | + END | ||
314 | +END |
@@ -0,0 +1,314 @@ | @@ -0,0 +1,314 @@ | ||
1 | +#Este mapfile e utilizado pelo i3geo na instalacao em servidores linux | ||
2 | +#Toda vez que o i3geo e iniciado, esse mapfile e considerado como o mapa basico. | ||
3 | +#Se vc quer alterar a aparência do mapa inicial, edite esse arquivo para refletir | ||
4 | +#o mapa desejado. | ||
5 | +# | ||
6 | +#Se vc quer adicionar temas, dê preferência por editar o arquivo menutemas/menutemas.xml | ||
7 | +#assim, as camadas ficam disponíveis no menu de adicao de temas do i3geo. Nao se esqueca | ||
8 | +#de criar o arquivo mapfile no diretorio i3geo/temas (veja a documentacao no wiki da | ||
9 | +#comunidade i3geo no Portal do Software Publico Brasileiro. | ||
10 | +# | ||
11 | +#Existem varios metadados que podem ser incluidos na definicao de cada LAYER e que sao especificos do i3geo, | ||
12 | +#Esses metadados possibilitam coisas como mostrar ou nao a legenda de um tema no mapa, | ||
13 | +#mostrar ou nao o tema na ferramenta de identificacao, etc. | ||
14 | +#A lista completa de metadados vc pode obter no wiki da comunidade | ||
15 | +# | ||
16 | +MAP | ||
17 | + # | ||
18 | + #edite os caminhos caso a aplicacao esteja instalada em um local diferente do default | ||
19 | + # | ||
20 | + FONTSET "/var/www/html/i3geo/symbols/fontes.txt" | ||
21 | + SYMBOLSET "/var/www/html/i3geo/symbols/simbolosv6.sym" | ||
22 | + SHAPEPATH "/var/www/html/geodados" | ||
23 | + IMAGECOLOR 104 171 195 | ||
24 | + MAXSIZE 4096 | ||
25 | + # | ||
26 | + #Por default, o i3geo utiliza o tipo de imagem configurado em png2 | ||
27 | + #Esse tipo nao e adequado para imagens raster, mas o i3geo muda automaticamente | ||
28 | + #para png1 quando um arquivo raster e adicionado ao mapa | ||
29 | + # | ||
30 | + IMAGETYPE AGG_Q | ||
31 | + #Brasil | ||
32 | + #EXTENT -76.5125927 -39.3925675209 -29.5851853 9.49014852081 | ||
33 | + EXTENT -160 -70 160 70 | ||
34 | + SIZE 480 500 | ||
35 | + STATUS ON | ||
36 | + UNITS DD | ||
37 | + NAME "GERAL" | ||
38 | + DEBUG OFF | ||
39 | + #CONFIG "MS_ERRORFILE" "/tmp/ms_tmp/ms_error.txt" | ||
40 | + # | ||
41 | + #utilize o agg apenas com mapserver 5x | ||
42 | + | ||
43 | + OUTPUTFORMAT | ||
44 | + NAME 'AGG_Q' | ||
45 | + DRIVER AGG/PNG | ||
46 | + IMAGEMODE RGB | ||
47 | + FORMATOPTION "QUANTIZE_FORCE=ON" | ||
48 | + FORMATOPTION "QUANTIZE_DITHER=OFF" | ||
49 | + FORMATOPTION "QUANTIZE_COLORS=256" | ||
50 | + FORMATOPTION "INTERLACE=OFF" | ||
51 | + END | ||
52 | + | ||
53 | + #OUTPUTFORMAT | ||
54 | + # NAME svg | ||
55 | + # MIMETYPE "image/svg+xml" | ||
56 | + # DRIVER cairo/svg | ||
57 | + # #FORMATOPTION "COMPRESSED_OUTPUT=TRUE" | ||
58 | + # #FORMATOPTION "FULL_RESOLUTION=TRUE" | ||
59 | + #END | ||
60 | + | ||
61 | + OUTPUTFORMAT | ||
62 | + NAME jpeg | ||
63 | + DRIVER "AGG/JPEG" | ||
64 | + MIMETYPE "image/jpeg" | ||
65 | + IMAGEMODE RGB | ||
66 | + EXTENSION jpg | ||
67 | + FORMATOPTION "INTERLACE=OFF" | ||
68 | + END | ||
69 | + | ||
70 | + OUTPUTFORMAT | ||
71 | + NAME png1 | ||
72 | + MIMETYPE image/png | ||
73 | + DRIVER AGG/PNG | ||
74 | + EXTENSION png | ||
75 | + IMAGEMODE RGB | ||
76 | + TRANSPARENT FALSE | ||
77 | + FORMATOPTION "INTERLACE=OFF" | ||
78 | + END | ||
79 | + | ||
80 | + OUTPUTFORMAT | ||
81 | + NAME png2 | ||
82 | + MIMETYPE image/png | ||
83 | + DRIVER AGG/PNG | ||
84 | + EXTENSION png | ||
85 | + IMAGEMODE PC256 | ||
86 | + TRANSPARENT TRUE | ||
87 | + FORMATOPTION "INTERLACE=OFF" | ||
88 | + END | ||
89 | + | ||
90 | + | ||
91 | + PROJECTION | ||
92 | + "+proj=longlat +ellps=GRS67 +no_defs" | ||
93 | + END | ||
94 | + LEGEND | ||
95 | + IMAGECOLOR 255 255 255 | ||
96 | + KEYSIZE 12 10 | ||
97 | + KEYSPACING 5 5 | ||
98 | + LABEL | ||
99 | + SIZE 7 | ||
100 | + FONT "verdana" | ||
101 | + TYPE truetype | ||
102 | + BUFFER 0 | ||
103 | + COLOR 0 0 0 | ||
104 | + FORCE FALSE | ||
105 | + MINDISTANCE -1 | ||
106 | + MINFEATURESIZE -1 | ||
107 | + OFFSET 0 -2 | ||
108 | + PARTIALS TRUE | ||
109 | + END | ||
110 | + POSITION LL | ||
111 | + STATUS off | ||
112 | + #edite o caminho se a aplicacao for movida de lugar | ||
113 | + #TEMPLATE "/var/www/html/i3geo/aplicmap/legenda.htm" | ||
114 | + END | ||
115 | + QUERYMAP | ||
116 | + #OUTLINECOLOR 255 0 0 | ||
117 | + COLOR 0 255 255 | ||
118 | + SIZE 480 500 | ||
119 | + STATUS on | ||
120 | + STYLE hilite | ||
121 | + END | ||
122 | + REFERENCE | ||
123 | + COLOR -1 -1 -1 | ||
124 | + EXTENT -75.5728 -37.4751 -30.525 7.57273 | ||
125 | + #-79.8713331401 -41.7736536401 -26.2264448599 11.8712346401 | ||
126 | + #edite o caminho se a aplicacao for movida de lugar | ||
127 | + IMAGE "/var/www/html/i3geo/imagens/referencia1.png" | ||
128 | + OUTLINECOLOR -1 -1 -1 | ||
129 | + SIZE 150 150 | ||
130 | + STATUS off | ||
131 | + MARKER "ref" | ||
132 | + MARKERSIZE 8 | ||
133 | + MINBOXSIZE 8 | ||
134 | + MAXBOXSIZE 145 | ||
135 | + END | ||
136 | + SCALEBAR | ||
137 | + BACKGROUNDCOLOR 200 200 200 | ||
138 | + COLOR 0 0 0 | ||
139 | + INTERVALS 5 | ||
140 | + LABEL | ||
141 | + SIZE TINY | ||
142 | + TYPE BITMAP | ||
143 | + BUFFER 0 | ||
144 | + COLOR 0 0 0 | ||
145 | + FORCE FALSE | ||
146 | + MINDISTANCE -1 | ||
147 | + MINFEATURESIZE -1 | ||
148 | + OFFSET 0 0 | ||
149 | + PARTIALS TRUE | ||
150 | + END | ||
151 | + POSITION LR | ||
152 | + SIZE 200 2 | ||
153 | + STATUS embed | ||
154 | + STYLE 1 | ||
155 | + TRANSPARENT FALSE | ||
156 | + UNITS KILOMETERS | ||
157 | + END | ||
158 | + WEB | ||
159 | + #edite o caminho se a aplicacao for movida de lugar | ||
160 | + IMAGEPATH "/tmp/ms_tmp/" | ||
161 | + IMAGEURL "/ms_tmp/" | ||
162 | + TEMPLATE "" | ||
163 | + END | ||
164 | + LAYER | ||
165 | + DATA "/var/www/html/i3geo/aplicmap/dados/mundo" | ||
166 | + GROUP "mundo" | ||
167 | + METADATA | ||
168 | + "CLASSE" "SIM" #o simbolo sera mostrado na legenda | ||
169 | + "ITENS" "FIPS_CNTRY,GMI_CNTRY,LONG_NAME,CNTRY_NAME" #itens que serao mostrados na opcao de identificacao | ||
170 | + "ITENSDESC" "FIPS,GMI,Nome,Wikipedia" #descricao dos nomes dos itens | ||
171 | + "ITENSLINK" ",,,http://pt.wikipedia.org/wiki/[CNTRY_NAME]" | ||
172 | + "TEMA" "Países do mundo" #nome que sera mostrado na legenda | ||
173 | + "TITULO" "Países do mundo" #nome alternativo que e mostrado nos combos para escolha do tema | ||
174 | + "TIP" "FIPS_CNTRY,GMI_CNTRY,CNTRY_NAME" | ||
175 | + "cache" "sim" | ||
176 | + "itembuscarapida" "LONG_NAME" | ||
177 | + END | ||
178 | + NAME "mundo" | ||
179 | + STATUS OFF | ||
180 | + TEMPLATE "none.htm" | ||
181 | + TYPE POLYGON | ||
182 | + UNITS METERS | ||
183 | + CLASS | ||
184 | + NAME "" #vazio indica que nao sera incluido o nome ao lado do simbolo | ||
185 | + STYLE | ||
186 | + COLOR 230 230 230 | ||
187 | + OUTLINECOLOR 255 255 255 | ||
188 | + END | ||
189 | + END | ||
190 | + END | ||
191 | + # | ||
192 | + #para mostrar o mapa do Brasil, remova os comentarios | ||
193 | + # | ||
194 | + #LAYER | ||
195 | + # DATA "/var/www/html/i3geo/aplicmap/dados/estados" | ||
196 | + # METADATA | ||
197 | + # "CLASSE" "SIM" | ||
198 | + # "TEMA" "Brasil" | ||
199 | + # "ESCALA" "250000" #escala utilizada nas marcas ao lado do tema na legenda | ||
200 | + # "IDENTIFICA" "nao" | ||
201 | + # "cache" "sim" | ||
202 | + # "EXTENSAO" "-97.911949 -39.413578 -8.185829 9.511159" | ||
203 | + # END | ||
204 | + # NAME "estados" | ||
205 | + # SIZEUNITS PIXELS | ||
206 | + # STATUS DEFAULT | ||
207 | + # TOLERANCE 0 | ||
208 | + # TOLERANCEUNITS PIXELS | ||
209 | + # TRANSPARENCY 100 | ||
210 | + # TYPE POLYGON | ||
211 | + # UNITS METERS | ||
212 | + # CLASS | ||
213 | + # NAME " " | ||
214 | + # STYLE | ||
215 | + # COLOR 232 220 201 | ||
216 | + # MAXSIZE 100 | ||
217 | + # MINSIZE 1 | ||
218 | + # SIZE 1 | ||
219 | + # SYMBOL 0 | ||
220 | + # END | ||
221 | + # END | ||
222 | + #END | ||
223 | + # | ||
224 | + #para mostrar os limites estaduais do Brasil, remova os comentarios | ||
225 | + # | ||
226 | + #LAYER | ||
227 | + # NAME estadosl # ok | ||
228 | + # TYPE line | ||
229 | + # STATUS DEFAULT | ||
230 | + # DATA "/var/www/html/i3geo/aplicmap/dados/estados" | ||
231 | + # TEMPLATE "estados.htm" | ||
232 | + # METADATA | ||
233 | + # ITENS "ESTADO" | ||
234 | + # ITENSDESC "Estado" | ||
235 | + # TEMA "Limite Estadual" | ||
236 | + # ESCALA "250000" | ||
237 | + # CLASSE "SIM" | ||
238 | + # cache "sim" | ||
239 | + # END | ||
240 | + # CLASS | ||
241 | + # NAME " " | ||
242 | + # STYLE | ||
243 | + # WIDTH 2 | ||
244 | + # COLOR 255 255 0 | ||
245 | + # OUTLINECOLOR -1 -1 -1 | ||
246 | + # END | ||
247 | + # STYLE | ||
248 | + # COLOR 0 0 0 | ||
249 | + # OUTLINECOLOR -1 -1 -1 | ||
250 | + # END | ||
251 | + # END # CLASS | ||
252 | + #END # LAYER | ||
253 | + | ||
254 | + LAYER | ||
255 | + METADATA | ||
256 | + #"TEMA" "NAO" | ||
257 | + "ESCONDIDO" "SIM" | ||
258 | + "cache" "sim" | ||
259 | + END | ||
260 | + NAME "copyright" | ||
261 | + SIZEUNITS PIXELS | ||
262 | + STATUS default | ||
263 | + TOLERANCE 0 | ||
264 | + TOLERANCEUNITS PIXELS | ||
265 | + TRANSFORM FALSE | ||
266 | + TYPE POINT | ||
267 | + UNITS METERS | ||
268 | + CLASS | ||
269 | + LABEL | ||
270 | + SIZE TINY | ||
271 | + TYPE BITMAP | ||
272 | + BUFFER 0 | ||
273 | + COLOR 50 50 50 | ||
274 | + FORCE FALSE | ||
275 | + MINDISTANCE -1 | ||
276 | + MINFEATURESIZE -1 | ||
277 | + OFFSET 0 0 | ||
278 | + PARTIALS TRUE | ||
279 | + POSITION CC | ||
280 | + END | ||
281 | + END | ||
282 | + FEATURE | ||
283 | + POINTS | ||
284 | + 10 5 | ||
285 | + END | ||
286 | + TEXT "- i3Geo" | ||
287 | + END | ||
288 | + END | ||
289 | + LAYER | ||
290 | + METADATA | ||
291 | + "TEMA" "Rosa dos ventos" | ||
292 | + "IDENTIFICA" "nao" | ||
293 | + "TABELA" "nao" | ||
294 | + "CLASSE" "NAO" | ||
295 | + END | ||
296 | + NAME "rosadosventos" | ||
297 | + SIZEUNITS PIXELS | ||
298 | + STATUS OFF | ||
299 | + TOLERANCE 0 | ||
300 | + TOLERANCEUNITS PIXELS | ||
301 | + TRANSFORM lr | ||
302 | + TYPE POINT | ||
303 | + UNITS pixels | ||
304 | + CLASS | ||
305 | + SYMBOL 'rosa200' | ||
306 | + SIZE 90 | ||
307 | + END | ||
308 | + FEATURE | ||
309 | + POINTS | ||
310 | + -70 -70 | ||
311 | + END | ||
312 | + END | ||
313 | + END | ||
314 | +END |
@@ -0,0 +1,308 @@ | @@ -0,0 +1,308 @@ | ||
1 | +#Este mapfile e utilizado pelo i3geo na instalacao em servidores linux | ||
2 | +#Toda vez que o i3geo e iniciado, esse mapfile e considerado como o mapa basico. | ||
3 | +#Se vc quer alterar a aparência do mapa inicial, edite esse arquivo para refletir | ||
4 | +#o mapa desejado. | ||
5 | +# | ||
6 | +#Se vc quer adicionar temas, dê preferência por editar o arquivo menutemas/menutemas.xml | ||
7 | +#assim, as camadas ficam disponíveis no menu de adicao de temas do i3geo. Nao se esqueca | ||
8 | +#de criar o arquivo mapfile no diretorio i3geo/temas (veja a documentacao no wiki da | ||
9 | +#comunidade i3geo no Portal do Software Publico Brasileiro. | ||
10 | +# | ||
11 | +#Existem varios metadados que podem ser incluidos na definicao de cada LAYER e que sao especificos do i3geo, | ||
12 | +#Esses metadados possibilitam coisas como mostrar ou nao a legenda de um tema no mapa, | ||
13 | +#mostrar ou nao o tema na ferramenta de identificacao, etc. | ||
14 | +#A lista completa de metadados vc pode obter no wiki da comunidade | ||
15 | +# | ||
16 | +MAP | ||
17 | + # | ||
18 | + #edite os caminhos caso a aplicacao esteja instalada em um local diferente do default | ||
19 | + # | ||
20 | + FONTSET "c:\ms4w\apache\htdocs\i3geo\symbols\fontes.txt" | ||
21 | + SYMBOLSET "c:\ms4w\apache\htdocs\i3geo\symbols\simbolosv6.sym" | ||
22 | + DEBUG OFF | ||
23 | + MAXSIZE 4096 | ||
24 | + #DEBUG 5 | ||
25 | + #CONFIG "MS_ERRORFILE" "c:\ms4w\tmp\ms_error.txt" | ||
26 | + | ||
27 | + SHAPEPATH "c:\ms4w\apache\htdocs\geodados" | ||
28 | + IMAGECOLOR 104 171 195 | ||
29 | + IMAGETYPE AGG_Q | ||
30 | + #Brasil | ||
31 | + #EXTENT -76.5125927 -39.3925675209 -29.5851853 9.49014852081 | ||
32 | + EXTENT -140 -60 140 60 | ||
33 | + SIZE 480 500 | ||
34 | + STATUS ON | ||
35 | + UNITS DD | ||
36 | + NAME "GERAL" | ||
37 | + | ||
38 | + OUTPUTFORMAT | ||
39 | + NAME 'AGG_Q' | ||
40 | + DRIVER AGG/PNG | ||
41 | + IMAGEMODE RGB | ||
42 | + FORMATOPTION "QUANTIZE_FORCE=ON" | ||
43 | + FORMATOPTION "QUANTIZE_DITHER=OFF" | ||
44 | + FORMATOPTION "QUANTIZE_COLORS=256" | ||
45 | + FORMATOPTION "INTERLACE=OFF" | ||
46 | + END | ||
47 | + | ||
48 | + OUTPUTFORMAT | ||
49 | + NAME svg | ||
50 | + MIMETYPE "image/svg+xml" | ||
51 | + DRIVER cairo/svg | ||
52 | + IMAGEMODE RGB | ||
53 | + #FORMATOPTION "COMPRESSED_OUTPUT=TRUE" | ||
54 | + #FORMATOPTION "FULL_RESOLUTION=TRUE" | ||
55 | + END | ||
56 | + OUTPUTFORMAT | ||
57 | + NAME jpeg | ||
58 | + DRIVER "AGG/JPEG" | ||
59 | + #MIMETYPE "image/jpeg" | ||
60 | + IMAGEMODE RGB | ||
61 | + EXTENSION jpg | ||
62 | + FORMATOPTION "INTERLACE=OFF" | ||
63 | + END | ||
64 | + | ||
65 | + OUTPUTFORMAT | ||
66 | + NAME png1 | ||
67 | + MIMETYPE image/png | ||
68 | + DRIVER AGG/PNG | ||
69 | + EXTENSION png | ||
70 | + IMAGEMODE RGBA | ||
71 | + TRANSPARENT FALSE | ||
72 | + FORMATOPTION "INTERLACE=OFF" | ||
73 | + END | ||
74 | + | ||
75 | + OUTPUTFORMAT | ||
76 | + NAME png2 | ||
77 | + MIMETYPE image/png | ||
78 | + DRIVER AGG/PNG | ||
79 | + EXTENSION png | ||
80 | + IMAGEMODE PC256 | ||
81 | + TRANSPARENT TRUE | ||
82 | + FORMATOPTION "INTERLACE=OFF" | ||
83 | + END | ||
84 | + | ||
85 | + PROJECTION | ||
86 | + "+proj=longlat +ellps=GRS67 +no_defs" | ||
87 | + END | ||
88 | + LEGEND | ||
89 | + IMAGECOLOR 255 255 255 | ||
90 | + KEYSIZE 12 10 | ||
91 | + KEYSPACING 5 5 | ||
92 | + LABEL | ||
93 | + SIZE 7 | ||
94 | + FONT "verdana" | ||
95 | + TYPE truetype | ||
96 | + BUFFER 0 | ||
97 | + COLOR 0 0 0 | ||
98 | + FORCE FALSE | ||
99 | + MINDISTANCE -1 | ||
100 | + MINFEATURESIZE -1 | ||
101 | + OFFSET 0 -2 | ||
102 | + PARTIALS TRUE | ||
103 | + END | ||
104 | + POSITION LL | ||
105 | + STATUS OFF | ||
106 | + #edite o caminho se a aplicacao for movida de lugar | ||
107 | + #TEMPLATE "c:\ms4w\apache\htdocs\i3geo/aplicmap/legenda.htm" | ||
108 | + END | ||
109 | + QUERYMAP | ||
110 | + #OUTLINECOLOR 255 0 0 | ||
111 | + COLOR 0 255 255 | ||
112 | + SIZE 480 500 | ||
113 | + STATUS on | ||
114 | + STYLE hilite | ||
115 | + END | ||
116 | + REFERENCE | ||
117 | + COLOR -1 -1 -1 | ||
118 | + EXTENT -75.5728 -37.4751 -30.525 7.57273#-79.8713331401 -41.7736536401 -26.2264448599 11.8712346401 | ||
119 | + #edite o caminho se a aplicacao for movida de lugar | ||
120 | + IMAGE "c:/ms4w/apache/htdocs/i3geo/imagens/referencia1.png" | ||
121 | + OUTLINECOLOR -1 -1 -1 | ||
122 | + SIZE 150 150 | ||
123 | + STATUS off | ||
124 | + MARKER "ref" | ||
125 | + MARKERSIZE 8 | ||
126 | + MINBOXSIZE 8 | ||
127 | + MAXBOXSIZE 145 | ||
128 | + END | ||
129 | + SCALEBAR | ||
130 | + BACKGROUNDCOLOR 200 200 200 | ||
131 | + COLOR 0 0 0 | ||
132 | + INTERVALS 5 | ||
133 | + LABEL | ||
134 | + SIZE TINY | ||
135 | + TYPE BITMAP | ||
136 | + BUFFER 0 | ||
137 | + COLOR 0 0 0 | ||
138 | + FORCE FALSE | ||
139 | + MINDISTANCE -1 | ||
140 | + MINFEATURESIZE -1 | ||
141 | + OFFSET 0 0 | ||
142 | + PARTIALS TRUE | ||
143 | + END | ||
144 | + POSITION LR | ||
145 | + SIZE 200 2 | ||
146 | + STATUS embed | ||
147 | + STYLE 1 | ||
148 | + TRANSPARENT FALSE | ||
149 | + UNITS KILOMETERS | ||
150 | + END | ||
151 | + WEB | ||
152 | + #edite o caminho se a aplicacao for movida de lugar | ||
153 | + IMAGEPATH "c:/ms4w/tmp/ms_tmp/" | ||
154 | + IMAGEURL "/ms_tmp/" | ||
155 | + TEMPLATE "" | ||
156 | + END | ||
157 | + LAYER | ||
158 | + DATA "c:\ms4w\apache\htdocs\i3geo/aplicmap/dados/mundo" | ||
159 | + METADATA | ||
160 | + "CLASSE" "SIM" #o simbolo sera mostrado na legenda | ||
161 | + "ITENS" "FIPS_CNTRY,GMI_CNTRY,LONG_NAME,CNTRY_NAME" #itens que serao mostrados na opcao de identificacao | ||
162 | + "ITENSDESC" "FIPS,GMI,Nome,Wikipedia" #descricao dos nomes dos itens | ||
163 | + "ITENSLINK" ",,,http://pt.wikipedia.org/wiki/[CNTRY_NAME]" | ||
164 | + "TEMA" "Países do mundo" #nome que sera mostrado na legenda | ||
165 | + "TITULO" "Países do mundo" #nome alternativo que e mostrado nos combos para escolha do tema | ||
166 | + "TIP" "FIPS_CNTRY,GMI_CNTRY,CNTRY_NAME" | ||
167 | + #"ESCONDIDO" "sim" | ||
168 | + "cache" "sim" | ||
169 | + "itembuscarapida" "LONG_NAME" | ||
170 | + END | ||
171 | + NAME "mundo" | ||
172 | + STATUS OFF | ||
173 | + TEMPLATE "none.htm" | ||
174 | + TYPE POLYGON | ||
175 | + CLASS | ||
176 | + NAME " " #vazio indica que nao sera incluido o nome ao lado do simbolo | ||
177 | + STYLE | ||
178 | + COLOR 230 230 230 | ||
179 | + OUTLINECOLOR 255 255 255 | ||
180 | + END | ||
181 | + END | ||
182 | + END | ||
183 | + # | ||
184 | + #para mostrar o mapa do Brasil, remova os comentarios | ||
185 | + # | ||
186 | + #LAYER | ||
187 | + # DATA "c:\ms4w\apache\htdocs\i3geo/aplicmap/dados/estados" | ||
188 | + # METADATA | ||
189 | + # "CLASSE" "SIM" | ||
190 | + # "TEMA" "Brasil" | ||
191 | + # "ESCALA" "250000" #escala utilizada nas marcas ao lado do tema na legenda | ||
192 | + # "IDENTIFICA" "nao" | ||
193 | + # "cache" "sim" | ||
194 | + # "EXTENSAO" "-97.911949 -39.413578 -8.185829 9.511159" | ||
195 | + # END | ||
196 | + # NAME "estados" | ||
197 | + # SIZEUNITS PIXELS | ||
198 | + # STATUS DEFAULT | ||
199 | + # TOLERANCE 0 | ||
200 | + # TOLERANCEUNITS PIXELS | ||
201 | + # TRANSPARENCY 100 | ||
202 | + # TYPE POLYGON | ||
203 | + # UNITS METERS | ||
204 | + # CLASS | ||
205 | + # NAME " " | ||
206 | + # STYLE | ||
207 | + # COLOR 232 220 201 | ||
208 | + # MAXSIZE 100 | ||
209 | + # MINSIZE 1 | ||
210 | + # SIZE 1 | ||
211 | + # SYMBOL 0 | ||
212 | + # END | ||
213 | + # END | ||
214 | + #END | ||
215 | + # | ||
216 | + #para mostrar os limites estaduais do Brasil, remova os comentarios | ||
217 | + # | ||
218 | + #LAYER | ||
219 | + # NAME estadosl # ok | ||
220 | + # TYPE line | ||
221 | + # STATUS DEFAULT | ||
222 | + # DATA "c:/ms4w/apache/htdocs/i3geo/aplicmap/dados/estados.shp" | ||
223 | + # TEMPLATE "estados.htm" | ||
224 | + # METADATA | ||
225 | + # ITENS "ESTADO" | ||
226 | + # ITENSDESC "Estado" | ||
227 | + # TEMA "Limite Estadual" | ||
228 | + # ESCALA "250000" | ||
229 | + # CLASSE "SIM" | ||
230 | + # cache "sim" | ||
231 | + # END | ||
232 | + # CLASS | ||
233 | + # NAME " " | ||
234 | + # STYLE | ||
235 | + # WIDTH 2 | ||
236 | + # COLOR 255 255 0 | ||
237 | + # OUTLINECOLOR -1 -1 -1 | ||
238 | + # END | ||
239 | + # STYLE | ||
240 | + # COLOR 0 0 0 | ||
241 | + # OUTLINECOLOR -1 -1 -1 | ||
242 | + # END | ||
243 | + # END # CLASS | ||
244 | + #END # LAYER | ||
245 | + | ||
246 | + LAYER | ||
247 | + METADATA | ||
248 | + #"TEMA" "NAO" | ||
249 | + "ESCONDIDO" "SIM" | ||
250 | + "cache" "sim" | ||
251 | + END | ||
252 | + NAME "copyright" | ||
253 | + SIZEUNITS PIXELS | ||
254 | + STATUS DEFAULT | ||
255 | + TOLERANCE 0 | ||
256 | + TOLERANCEUNITS PIXELS | ||
257 | + TRANSFORM FALSE | ||
258 | + TYPE POINT | ||
259 | + UNITS METERS | ||
260 | + CLASS | ||
261 | + LABEL | ||
262 | + SIZE TINY | ||
263 | + TYPE BITMAP | ||
264 | + BUFFER 0 | ||
265 | + COLOR 50 50 50 | ||
266 | + FORCE FALSE | ||
267 | + MINDISTANCE -1 | ||
268 | + MINFEATURESIZE -1 | ||
269 | + OFFSET 0 0 | ||
270 | + PARTIALS TRUE | ||
271 | + POSITION CC | ||
272 | + END | ||
273 | + END | ||
274 | + FEATURE | ||
275 | + POINTS | ||
276 | + 10 5 | ||
277 | + END | ||
278 | + TEXT "- i3Geo" | ||
279 | + END | ||
280 | + END | ||
281 | + LAYER | ||
282 | + METADATA | ||
283 | + "TEMA" "Rosa dos ventos" | ||
284 | + "IDENTIFICA" "nao" | ||
285 | + "TABELA" "nao" | ||
286 | + "CLASSE" "NAO" | ||
287 | + #"cache" "sim" | ||
288 | + END | ||
289 | + NAME "rosadosventos" | ||
290 | + SIZEUNITS PIXELS | ||
291 | + STATUS OFF | ||
292 | + TOLERANCE 0 | ||
293 | + TOLERANCEUNITS PIXELS | ||
294 | + TRANSFORM lr | ||
295 | + TYPE POINT | ||
296 | + UNITS pixels | ||
297 | + CLASS | ||
298 | + SYMBOL 'rosa200' | ||
299 | + SIZE 90 | ||
300 | + END | ||
301 | + FEATURE | ||
302 | + POINTS | ||
303 | + -70 -70 | ||
304 | + END | ||
305 | + END | ||
306 | + END | ||
307 | + | ||
308 | +END | ||
0 | \ No newline at end of file | 309 | \ No newline at end of file |
@@ -0,0 +1,149 @@ | @@ -0,0 +1,149 @@ | ||
1 | +MAP | ||
2 | + EXTENT -76.512593 -36.948432 -29.585185 7.046013 | ||
3 | + FONTSET "../symbols/fontes.txt" | ||
4 | + SYMBOLSET "../symbols/simbolosv6.sym" | ||
5 | + IMAGECOLOR 255 255 255 | ||
6 | + IMAGETYPE png | ||
7 | + MAXSIZE 10000 | ||
8 | + SHAPEPATH "/opt/www/html/geodados" | ||
9 | + SIZE 450 450 | ||
10 | + STATUS ON | ||
11 | + UNITS METERS | ||
12 | + #CONFIG MS_NONSQUARE "YES" | ||
13 | + #CONFIG MS_ERRORFILE "/ms4w/tmp/ms_error.txt" | ||
14 | + NAME "i3geoogc" | ||
15 | + DEBUG OFF | ||
16 | + #DEBUG 5 | ||
17 | + #CONFIG "MS_ERRORFILE" "/tmp/ms_tmp/ms_error.txt" | ||
18 | + OUTPUTFORMAT | ||
19 | + NAME 'png' | ||
20 | + MIMETYPE "image/png" | ||
21 | + DRIVER AGG/PNG | ||
22 | + IMAGEMODE RGBA | ||
23 | + FORMATOPTION "QUANTIZE_FORCE=ON" | ||
24 | + FORMATOPTION "QUANTIZE_DITHER=OFF" | ||
25 | + FORMATOPTION "QUANTIZE_COLORS=256" | ||
26 | + FORMATOPTION "INTERLACE=OFF" | ||
27 | + TRANSPARENT TRUE | ||
28 | + END | ||
29 | + OUTPUTFORMAT | ||
30 | + NAME 'shape-zip' | ||
31 | + DRIVER 'OGR/ESRI Shapefile' | ||
32 | + IMAGEMODE FEATURE | ||
33 | + END | ||
34 | + OUTPUTFORMAT | ||
35 | + NAME "csv" | ||
36 | + DRIVER "OGR/CSV" | ||
37 | + #MIMETYPE "text/csv" | ||
38 | + FORMATOPTION "LCO:GEOMETRY=AS_WKT" | ||
39 | + FORMATOPTION "STORAGE=memory" | ||
40 | + #FORMATOPTION "FILENAME=result.csv" | ||
41 | + END | ||
42 | + OUTPUTFORMAT | ||
43 | + NAME 'kml' | ||
44 | + DRIVER 'OGR/KML' | ||
45 | + MIMETYPE "application/vnd.google-earth.kml+xml" | ||
46 | + #FORMATOPTION "STORAGE=memory" | ||
47 | + IMAGEMODE FEATURE | ||
48 | + END | ||
49 | + OUTPUTFORMAT | ||
50 | + NAME "geojson" | ||
51 | + DRIVER "OGR/GEOJSON" | ||
52 | + #MIMETYPE "application/json; subtype=geojson" | ||
53 | + FORMATOPTION "STORAGE=memory" | ||
54 | + FORMATOPTION "FORM=SIMPLE" | ||
55 | + END | ||
56 | + | ||
57 | + PROJECTION | ||
58 | + "+proj=longlat +ellps=GRS67 +no_defs" | ||
59 | + END | ||
60 | + LEGEND | ||
61 | + IMAGECOLOR 255 255 255 | ||
62 | + KEYSIZE 10 10 | ||
63 | + KEYSPACING 5 5 | ||
64 | + LABEL | ||
65 | + ANGLE 0.000000 | ||
66 | + ANTIALIAS TRUE | ||
67 | + FONT "verdana" | ||
68 | + MAXSIZE 256 | ||
69 | + MINSIZE 4 | ||
70 | + SIZE 10 | ||
71 | + TYPE TRUETYPE | ||
72 | + BUFFER 0 | ||
73 | + COLOR 0 0 0 | ||
74 | + FORCE FALSE | ||
75 | + MINDISTANCE -1 | ||
76 | + MINFEATURESIZE -1 | ||
77 | + OFFSET 0 0 | ||
78 | + PARTIALS FALSE | ||
79 | + END | ||
80 | + POSITION UL | ||
81 | + STATUS ON | ||
82 | + END | ||
83 | + | ||
84 | + QUERYMAP | ||
85 | + COLOR 255 255 0 | ||
86 | + SIZE -1 -1 | ||
87 | + STATUS OFF | ||
88 | + STYLE HILITE | ||
89 | + END | ||
90 | + | ||
91 | + SCALEBAR | ||
92 | + ALIGN CENTER | ||
93 | + COLOR 0 0 0 | ||
94 | + IMAGECOLOR 255 255 255 | ||
95 | + INTERVALS 4 | ||
96 | + LABEL | ||
97 | + SIZE MEDIUM | ||
98 | + TYPE BITMAP | ||
99 | + BUFFER 0 | ||
100 | + COLOR 0 0 0 | ||
101 | + FORCE FALSE | ||
102 | + MINDISTANCE -1 | ||
103 | + MINFEATURESIZE -1 | ||
104 | + OFFSET 0 0 | ||
105 | + PARTIALS TRUE | ||
106 | + END | ||
107 | + POSITION LL | ||
108 | + SIZE 200 3 | ||
109 | + STATUS OFF | ||
110 | + STYLE 0 | ||
111 | + UNITS MILES | ||
112 | + END | ||
113 | + | ||
114 | + WEB | ||
115 | + IMAGEPATH "/tmp/ms_tmp/" | ||
116 | + IMAGEURL "/ms_tmp/" | ||
117 | + #nao coloque texto com acentuacao aqui | ||
118 | + METADATA | ||
119 | + "ows_country" "Brasil" | ||
120 | + "ows_keywordlist" "i3Geo" | ||
121 | + "ows_context_fid" "i3geo" | ||
122 | + "ows_city" "Brasilia" | ||
123 | + "ows_contactperson" "Web Master" | ||
124 | + "ows_addresstype" "uri" | ||
125 | + "ows_context_version" "1.1.1" | ||
126 | + "wms_getcapabilities_version" "1.1.1" | ||
127 | + "ows_abstract" "Web services gerados da base de dados do i3Geo. Para chamar um tema especificamente, veja o sistema de ajuda, digitando no navegador web ogc.php?ajuda=, para uma lista compacta de todos os servicos, digite ogc.php?lista=temas" | ||
128 | + "ows_contactposition" "Administrador do sitio web" | ||
129 | + "ows_stateorprovince" "DF" | ||
130 | + "ows_contactorganization" "Coordenacao Geral de TI" | ||
131 | + "ows_name" "i3geoogc" | ||
132 | + "ows_accessconstraints" "vedado o uso comercial" | ||
133 | + "ows_fees" "none" | ||
134 | + "ows_contactelectronicmailaddress" "" | ||
135 | + "ows_getcontext_enabled" "1" | ||
136 | + "ows_namespace_uri" "http://www.omsug.ca/osgis2004" | ||
137 | + "ows_address" "http://www.mma.gov.br" | ||
138 | + "ows_postcode" "" | ||
139 | + "ows_enable_request" "*" | ||
140 | + "ows_sld_enabled" "true" | ||
141 | + "wms_feature_info_mime_type" "application/json" | ||
142 | + END | ||
143 | + QUERYFORMAT text/html | ||
144 | + LEGENDFORMAT text/html | ||
145 | + BROWSEFORMAT text/html | ||
146 | + TEMPLATE "none.htm" | ||
147 | + END | ||
148 | + | ||
149 | +END |
@@ -0,0 +1,27 @@ | @@ -0,0 +1,27 @@ | ||
1 | +MAP | ||
2 | +SYMBOLSET ../symbols/simboloslinv6.sym | ||
3 | +FONTSET "../symbols/fontes.txt" | ||
4 | + LAYER | ||
5 | + METADATA | ||
6 | + END | ||
7 | + NAME "linha" | ||
8 | + SIZEUNITS PIXELS | ||
9 | + STATUS OFF | ||
10 | + TOLERANCE 0 | ||
11 | + TOLERANCEUNITS PIXELS | ||
12 | + TYPE LINE | ||
13 | + UNITS METERS | ||
14 | + CLASS | ||
15 | + NAME "" | ||
16 | + METADATA | ||
17 | + END | ||
18 | + STYLE | ||
19 | + COLOR 0 0 0 | ||
20 | + MAXSIZE 500 | ||
21 | + MINSIZE 1 | ||
22 | + SIZE 5 | ||
23 | + SYMBOL "linha" | ||
24 | + END | ||
25 | + END | ||
26 | + END | ||
27 | +END | ||
0 | \ No newline at end of file | 28 | \ No newline at end of file |
@@ -0,0 +1,29 @@ | @@ -0,0 +1,29 @@ | ||
1 | +MAP | ||
2 | +SYMBOLSET ../symbols/simbolospolv6.sym | ||
3 | +FONTSET "../symbols/fontes.txt" | ||
4 | + DEBUG OFF | ||
5 | + #DEBUG 5 | ||
6 | + #CONFIG "MS_ERRORFILE" "/ms4w/tmp/ms_error.txt" | ||
7 | +LAYER | ||
8 | + METADATA | ||
9 | + END | ||
10 | + NAME "p0" | ||
11 | + SIZEUNITS PIXELS | ||
12 | + STATUS OFF | ||
13 | + TOLERANCE 0 | ||
14 | + TOLERANCEUNITS PIXELS | ||
15 | + TYPE POLYGON | ||
16 | + UNITS METERS | ||
17 | + CLASS | ||
18 | + NAME "" | ||
19 | + METADATA | ||
20 | + END | ||
21 | + STYLE | ||
22 | + COLOR 0 0 0 | ||
23 | + MAXSIZE 500 | ||
24 | + MINSIZE 1 | ||
25 | + SYMBOL "p0" | ||
26 | + END | ||
27 | + END | ||
28 | + END | ||
29 | +END | ||
0 | \ No newline at end of file | 30 | \ No newline at end of file |
@@ -0,0 +1,27 @@ | @@ -0,0 +1,27 @@ | ||
1 | +MAP | ||
2 | +SYMBOLSET ../symbols/simbolosptv6.sym | ||
3 | +FONTSET "../symbols/fontes.txt" | ||
4 | + LAYER | ||
5 | + METADATA | ||
6 | + END | ||
7 | + NAME "seta" | ||
8 | + SIZEUNITS PIXELS | ||
9 | + STATUS OFF | ||
10 | + TOLERANCE 0 | ||
11 | + TOLERANCEUNITS PIXELS | ||
12 | + TYPE POINT | ||
13 | + UNITS METERS | ||
14 | + CLASS | ||
15 | + NAME "" | ||
16 | + METADATA | ||
17 | + END | ||
18 | + STYLE | ||
19 | + COLOR 0 0 0 | ||
20 | + MAXSIZE 500 | ||
21 | + MINSIZE 1 | ||
22 | + SIZE 8 | ||
23 | + SYMBOL "ponto" | ||
24 | + END | ||
25 | + END | ||
26 | + END | ||
27 | +END | ||
0 | \ No newline at end of file | 28 | \ No newline at end of file |
classesphp/classe_legenda.php
@@ -659,8 +659,8 @@ class Legenda | @@ -659,8 +659,8 @@ class Legenda | ||
659 | else | 659 | else |
660 | {$mapatemp = ms_newMapObj($this->localaplicacao."/aplicmap/".$t); | 660 | {$mapatemp = ms_newMapObj($this->localaplicacao."/aplicmap/".$t); |
661 | } | 661 | } |
662 | - | ||
663 | $l = $mapatemp->getlayer(0); | 662 | $l = $mapatemp->getlayer(0); |
663 | + | ||
664 | if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) | 664 | if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
665 | { | 665 | { |
666 | $novoss = dirname($this->mapa->symbolsetfilename)."\\".basename($mapatemp->symbolsetfilename); | 666 | $novoss = dirname($this->mapa->symbolsetfilename)."\\".basename($mapatemp->symbolsetfilename); |
@@ -673,11 +673,13 @@ class Legenda | @@ -673,11 +673,13 @@ class Legenda | ||
673 | for ($i=0;$i < $ns;++$i) | 673 | for ($i=0;$i < $ns;++$i) |
674 | { | 674 | { |
675 | $oSymbol = $this->mapa->getSymbolObjectById($i); | 675 | $oSymbol = $this->mapa->getSymbolObjectById($i); |
676 | + | ||
676 | $nomes = $oSymbol->name; | 677 | $nomes = $oSymbol->name; |
677 | if($nomes == "") | 678 | if($nomes == "") |
678 | { | 679 | { |
679 | $nomes = $i; | 680 | $nomes = $i; |
680 | } | 681 | } |
682 | + | ||
681 | $adiciona = ms_newLayerObj($this->mapa, $l); | 683 | $adiciona = ms_newLayerObj($this->mapa, $l); |
682 | $nomel = $l->name; | 684 | $nomel = $l->name; |
683 | $tematemp= $this->mapa->getlayerbyname($nomel); | 685 | $tematemp= $this->mapa->getlayerbyname($nomel); |
@@ -686,8 +688,11 @@ class Legenda | @@ -686,8 +688,11 @@ class Legenda | ||
686 | $e->set("symbolname",$nomes); | 688 | $e->set("symbolname",$nomes); |
687 | $e->set("size",$tamanho); | 689 | $e->set("size",$tamanho); |
688 | $e->set("width",$width); | 690 | $e->set("width",$width); |
691 | + | ||
689 | $ico = $c->createLegendIcon(40,40); | 692 | $ico = $c->createLegendIcon(40,40); |
693 | + | ||
690 | $nimg = $ico->saveWebImage(); | 694 | $nimg = $ico->saveWebImage(); |
695 | + | ||
691 | $pat = $this->mapa->web->imageurl; | 696 | $pat = $this->mapa->web->imageurl; |
692 | $ins .= "<img src='".$nimg."' style='cursor:pointer;border: 5px solid #FFFFFF' title=".$nomes." onclick='".$onclick."'>"; | 697 | $ins .= "<img src='".$nimg."' style='cursor:pointer;border: 5px solid #FFFFFF' title=".$nomes." onclick='".$onclick."'>"; |
693 | } | 698 | } |
classesphp/mapa_inicia.php
@@ -286,7 +286,7 @@ function iniciaMapa() | @@ -286,7 +286,7 @@ function iniciaMapa() | ||
286 | $copyright = ""; | 286 | $copyright = ""; |
287 | $lc = $m->mapa->getlayerbyname("copyright"); | 287 | $lc = $m->mapa->getlayerbyname("copyright"); |
288 | if($lc != "" && $lc->status == MS_DEFAULT ){ | 288 | if($lc != "" && $lc->status == MS_DEFAULT ){ |
289 | - if($versao["principal"] == 6){ | 289 | + if($versao["principal"] > 6){ |
290 | $shape = $lc->getShape(new resultObj(0)); | 290 | $shape = $lc->getShape(new resultObj(0)); |
291 | $copyright = $shape->text; | 291 | $copyright = $shape->text; |
292 | } | 292 | } |
@@ -0,0 +1,2056 @@ | @@ -0,0 +1,2056 @@ | ||
1 | +//TODO documentar | ||
2 | +//TODO incluir balao de informacoes como um elemento grafico de desenho | ||
3 | +//TODO incluir caixas de texto | ||
4 | +//TODO incluir undo na edicao | ||
5 | + | ||
6 | +/* | ||
7 | + Editor vetorial de limites para a interface google maps | ||
8 | + | ||
9 | + Utilizado em i3geo/metaestat/editorlimites.php | ||
10 | + | ||
11 | + Utiliza a API do Google Maps e pacotes/wicket/wicket.js (que cria o objeto Wkt com funcoes para processamento de Wkt) | ||
12 | + | ||
13 | + Licenca: | ||
14 | + | ||
15 | + GPL2 | ||
16 | + | ||
17 | + i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | ||
18 | + | ||
19 | + Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | ||
20 | + Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | ||
21 | + | ||
22 | + Esse programa utiliza parcialmente os codigos da aplicacao calculadora de carbono desenvolvido pelo | ||
23 | + IPAM - Instituto de Pesquisa Ambiental da Amazonia | ||
24 | + | ||
25 | + Este programa e software livre; voce pode redistribui-lo | ||
26 | + e/ou modifica-lo sob os termos da Licenca Publica Geral | ||
27 | + GNU conforme publicada pela Free Software Foundation; | ||
28 | + | ||
29 | + Este programa e distribuido na expectativa de que seja util, | ||
30 | + porem, SEM NENHUMA GARANTIA; nem mesmo a garantia implicita | ||
31 | + de COMERCIABILIDADE OU ADEQUACAO A UMA FINALIDADE ESPECIFICA. | ||
32 | + Consulte a Licenca Publica Geral do GNU para mais detalhes. | ||
33 | + Voce deve ter recebido uma copia da Licenca Publica Geral do | ||
34 | + GNU junto com este programa; se nao, escreva para a | ||
35 | + Free Software Foundation, Inc., no endereco | ||
36 | + 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
37 | + */ | ||
38 | +// | ||
39 | +if (typeof (i3GEO) === 'undefined') { | ||
40 | + var i3GEO = {}; | ||
41 | +} | ||
42 | +/* | ||
43 | + * Classe i3GEO.editorGM | ||
44 | + * | ||
45 | + * Funções de edição vetorial utilizadas pelo editor de regiões do sistema METAESTAT | ||
46 | + */ | ||
47 | +i3GEO.editorGM = | ||
48 | + { | ||
49 | + iconePonto : function(sel) { | ||
50 | + if (sel) { | ||
51 | + return i3GEO.configura.locaplic + "/imagens/google/symbol_middot_y.png"; | ||
52 | + } else { | ||
53 | + return i3GEO.configura.locaplic + "/imagens/google/symbol_middot.png"; | ||
54 | + } | ||
55 | + }, | ||
56 | + /** | ||
57 | + * Objeto DOM com a imagem de aguarde existente no cabecalho da janela | ||
58 | + * | ||
59 | + */ | ||
60 | + aguarde : "", | ||
61 | + /** | ||
62 | + * Guarda o Id do DIV que recebera o conteudo HTML do editor | ||
63 | + */ | ||
64 | + iddiv : "", | ||
65 | + /** | ||
66 | + * Objeto criado com new google.maps.drawing.DrawingManager | ||
67 | + */ | ||
68 | + drawingManager : "", | ||
69 | + selectedShape : null, | ||
70 | + /** | ||
71 | + * guarda o mapeamento entre o codigo da regiao e o codigo do layer adicionado ao mapa | ||
72 | + */ | ||
73 | + regioestemas : {}, | ||
74 | + /** | ||
75 | + * Guarda o mapeamento entre o codigo da regiao e o codigo do layer adicionado ao mapa | ||
76 | + */ | ||
77 | + temasregioes : {}, | ||
78 | + /** | ||
79 | + * Guarda os dados descritivos sobre cada regiao obtidos na formacao no combo de escolha de regioes | ||
80 | + */ | ||
81 | + descregioes : [], | ||
82 | + /** | ||
83 | + * Inicia o editor | ||
84 | + * | ||
85 | + * Cria o objeto da API do Google Maps com new google.maps.drawing.DrawingManager A janela flutuante que recebera os componentes do | ||
86 | + * editor ja deve estar aberta (veja editorlimites.php) Executa i3GEO.editorGM.html | ||
87 | + * | ||
88 | + * @param Id | ||
89 | + * do DIV que recebera o conteudo HTML do editor | ||
90 | + */ | ||
91 | + inicia : function(iddiv) { | ||
92 | + var i, n, ics; | ||
93 | + // mensagem | ||
94 | + // i3GEO.janela.tempoMsg("Atenção: apenas tabelas no esquema i3geo_metaestat podem ser editadas."); | ||
95 | + i3GEO.editorGM.iddiv = iddiv; | ||
96 | + $i(iddiv).innerHTML = i3GEO.editorGM.html(); | ||
97 | + ics = $i(iddiv).getElementsByTagName("button"); | ||
98 | + n = ics.length; | ||
99 | + i3GEO.barraDeBotoes.ativaBotoes(); | ||
100 | + i3GEO.editorGM.comboRegiaoEditavel(); | ||
101 | + for (i = 0; i < n; i++) { | ||
102 | + ics[i].style.backgroundColor = "white"; | ||
103 | + ics[i].className = "iconeGuiaMovel"; | ||
104 | + ics[i].onmouseout = function() { | ||
105 | + this.className = "iconeGuiaMovel iconeGuiaMovelMouseOut"; | ||
106 | + }; | ||
107 | + ics[i].onmouseover = function() { | ||
108 | + this.className = "iconeGuiaMovel iconeGuiaMovelMouseOver"; | ||
109 | + }; | ||
110 | + ics[i].style.backgroundImage = "none"; | ||
111 | + ics[i].style.height = "32px"; | ||
112 | + ics[i].style.width = "32px"; | ||
113 | + ics[i].style.border = "1px solid gray"; | ||
114 | + ics[i].style.margin = "0px"; | ||
115 | + } | ||
116 | + i3GEO.editorGM.drawingManager = | ||
117 | + new google.maps.drawing.DrawingManager({ | ||
118 | + drawingMode : google.maps.drawing.OverlayType.POLYGON, | ||
119 | + drawingControl : false, | ||
120 | + drawingControlOptions : { | ||
121 | + position : google.maps.ControlPosition.TOP_CENTER, | ||
122 | + drawingModes : [ | ||
123 | + google.maps.drawing.OverlayType.POLYGON, | ||
124 | + google.maps.drawing.OverlayType.MARKER, | ||
125 | + google.maps.drawing.OverlayType.POLYLINE | ||
126 | + ] | ||
127 | + }, | ||
128 | + markerOptions : { | ||
129 | + icon : i3GEO.editorGM.iconePonto(), | ||
130 | + clickable : true, | ||
131 | + zIndex : 1, | ||
132 | + draggable : true, | ||
133 | + tema : "", | ||
134 | + colunaid : "", | ||
135 | + valorid : "", | ||
136 | + colunanome : "", | ||
137 | + valornome : "", | ||
138 | + editable : false | ||
139 | + }, | ||
140 | + polygonOptions : { | ||
141 | + fillColor : '#ffff00', | ||
142 | + fillOpacity : .5, | ||
143 | + strokeWeight : 2, | ||
144 | + clickable : true, | ||
145 | + zIndex : 1, | ||
146 | + editable : true, | ||
147 | + tema : "", | ||
148 | + colunaid : "", | ||
149 | + valorid : "", | ||
150 | + colunanome : "", | ||
151 | + valornome : "" | ||
152 | + } | ||
153 | + }); | ||
154 | + i3GEO.editorGM.drawingManager.setMap(i3GeoMap); | ||
155 | + i3GEO.editorGM.drawingManager.setDrawingMode(null); | ||
156 | + google.maps.event.addListener(i3GEO.editorGM.drawingManager, 'overlaycomplete', function(e) { | ||
157 | + // if (e.type != google.maps.drawing.OverlayType.MARKER) { | ||
158 | + i3GEO.editorGM.drawingManager.setDrawingMode(null); | ||
159 | + i3GEO.editorGM.mudaicone(); | ||
160 | + var newShape = e.overlay; | ||
161 | + newShape.type = e.type; | ||
162 | + newShape.tema = $i("i3geoCartoRegioesEditaveis").value; | ||
163 | + newShape.colunaid = ""; | ||
164 | + newShape.valorid = ""; | ||
165 | + newShape.colunanome = ""; | ||
166 | + newShape.valornome = ""; | ||
167 | + google.maps.event.addListener(newShape, 'click', function() { | ||
168 | + i3GEO.editorGM.setSelection(newShape); | ||
169 | + }); | ||
170 | + i3GEO.editorGM.setSelection(newShape); | ||
171 | + i3GEO.desenho.googlemaps.shapes.push(newShape); | ||
172 | + // } | ||
173 | + }); | ||
174 | + google.maps.event.addListener(i3GEO.editorGM.drawingManager, 'drawingmode_changed', i3GEO.editorGM.clearSelection); | ||
175 | + google.maps.event.addListener(i3GeoMap, 'click', i3GEO.editorGM.clearSelection); | ||
176 | + }, | ||
177 | + /** | ||
178 | + * Atualiza as camadas do mapa que sao oriundas do sistema METAESTAT Busca a lista de camadas com | ||
179 | + * ferramentas/metaestat/analise.php?funcao=LISTACAMADASMETAESTAT Faz um loop para atualizar cada camada | ||
180 | + */ | ||
181 | + atualizaCamadasMetaestat : function() { | ||
182 | + var p = | ||
183 | + i3GEO.configura.locaplic + "/ferramentas/metaestat/analise.php?funcao=LISTACAMADASMETAESTAT&g_sid=" + i3GEO.configura.sid, temp = | ||
184 | + function(retorno) { | ||
185 | + var n = retorno.data.length, i; | ||
186 | + for (i = 0; i < n; i++) { | ||
187 | + i3GEO.Interface.atualizaTema("", retorno.data[i]); | ||
188 | + } | ||
189 | + }; | ||
190 | + cpJSON.call(p, "foo", temp); | ||
191 | + }, | ||
192 | + /** | ||
193 | + * Monta o codigo HTML com o conteudo da ferramenta Define os botoes e demais elementos que serao preenchidos via codigo | ||
194 | + * | ||
195 | + * @return html | ||
196 | + */ | ||
197 | + html : function() { | ||
198 | + var ins = | ||
199 | + '<div style=margin-left:5px >' + ' <button title="' + $trad("dpol") | ||
200 | + + '" onclick="i3GEO.editorGM.digitalizaPol(this)"><img src="' | ||
201 | + + i3GEO.configura.locaplic | ||
202 | + + '/imagens/gisicons/polygon-create.png" /></button>' | ||
203 | + + ' <button title="' | ||
204 | + + $trad("dponto") | ||
205 | + + '" onclick="i3GEO.editorGM.digitalizaPt(this)"><img src="' | ||
206 | + + i3GEO.configura.locaplic | ||
207 | + + '/imagens/gisicons/point-create.png" /></button>' | ||
208 | + + ' <button title="' | ||
209 | + + $trad("capturar") | ||
210 | + + '" onclick="i3GEO.editorGM.capturaPoligonoTema.ativa(this)"><img src="' | ||
211 | + + i3GEO.configura.locaplic | ||
212 | + + '/imagens/gisicons/layer-import.png" /></button>' | ||
213 | + + ' <button title="' | ||
214 | + + $trad("d24t") | ||
215 | + + '" onclick="i3GEO.editorGM.seleciona(this)"><img src="' | ||
216 | + + i3GEO.configura.locaplic | ||
217 | + + '/imagens/gisicons/select.png" /></button>' | ||
218 | + + ' <button title="' | ||
219 | + + $trad("studo") | ||
220 | + + '" onclick="i3GEO.editorGM.selectAll(this)"><img src="' | ||
221 | + + i3GEO.configura.locaplic | ||
222 | + + '/imagens/gisicons/selectall.png" /></button>' | ||
223 | + + ' <button title="' | ||
224 | + + $trad("excsel") | ||
225 | + + '" onclick="i3GEO.editorGM.deleteSelectedShape()"><img src="' | ||
226 | + + i3GEO.configura.locaplic | ||
227 | + + '/imagens/gisicons/selected-delete.png" /></button>' | ||
228 | + + ' <button title="' | ||
229 | + + $trad("salvexc") | ||
230 | + + '" onclick="i3GEO.editorGM.salvaLimite.inicia()"><img src="' | ||
231 | + + i3GEO.configura.locaplic | ||
232 | + + '/imagens/gisicons/vector-save.png" /></button>' | ||
233 | + + ' <button title="' | ||
234 | + + $trad("edatrib") | ||
235 | + + '" onclick="i3GEO.editorGM.editarAtributos.ativa(this)"><img src="' | ||
236 | + + i3GEO.configura.locaplic | ||
237 | + + '/imagens/gisicons/annotation-form.png" /></button>' | ||
238 | + + ' <button title="' | ||
239 | + + $trad("s1") | ||
240 | + + '" onmousedown="i3GEO.editorGM.mudaicone()" onclick="i3GEO.editorGM.ajuda()" ><img src="' | ||
241 | + + i3GEO.configura.locaplic | ||
242 | + + '/imagens/gisicons/help-contents.png" /></button>' | ||
243 | + + ' <br><div id="i3geoCartoRegioesEditaveisDiv" ><img style="display:block;z-index:2" src="' | ||
244 | + + i3GEO.configura.locaplic | ||
245 | + + '/imagens/aguarde.gif" /></div></div>'; // combo para escolher a regiao | ||
246 | + return ins; | ||
247 | + }, | ||
248 | + /** | ||
249 | + * Atualiza a ferramenta quando a janela flutuante tem seu foco ativado | ||
250 | + */ | ||
251 | + ativaFoco : function() { | ||
252 | + i3GEO.util.mudaCursor(i3GEO.configura.cursores, "crosshair", i3GEO.Interface.IDMAPA, i3GEO.configura.locaplic); | ||
253 | + i3GEO.barraDeBotoes.ativaIcone("pan"); | ||
254 | + i3GEO.editorGM.mudaicone(); | ||
255 | + i3GEO.Interface.googlemaps.recalcPar(); | ||
256 | + }, | ||
257 | + /** | ||
258 | + * Marca uma figura como selecionada | ||
259 | + * | ||
260 | + * @param objeto | ||
261 | + * shape que sera marcado | ||
262 | + */ | ||
263 | + setSelection : function(shape) { | ||
264 | + if (shape.setEditable) { | ||
265 | + shape.setEditable(!shape.editable); | ||
266 | + } else { | ||
267 | + shape.editable = true; | ||
268 | + shape.setIcon({ | ||
269 | + url : i3GEO.editorGM.iconePonto(true) | ||
270 | + }); | ||
271 | + } | ||
272 | + }, | ||
273 | + /** | ||
274 | + * Marca todas as figuras como nao selecionadas As figuras existentes no mapa sao mantidas na variavel | ||
275 | + * i3GEO.desenho.googlemaps.shapes | ||
276 | + */ | ||
277 | + clearSelection : function() { | ||
278 | + var i, n = i3GEO.desenho.googlemaps.shapes.length; | ||
279 | + for (i = 0; i < n; i++) { | ||
280 | + if (i3GEO.desenho.googlemaps.shapes[i] != "" && i3GEO.desenho.googlemaps.shapes[i].setEditable) { | ||
281 | + i3GEO.desenho.googlemaps.shapes[i].setEditable(false); | ||
282 | + } else if (i3GEO.desenho.googlemaps.shapes[i] != "") {// caso for ponto | ||
283 | + i3GEO.desenho.googlemaps.shapes[i].editable = false; | ||
284 | + if (i3GEO.desenho.googlemaps.shapes[i].setIcon) { | ||
285 | + i3GEO.desenho.googlemaps.shapes[i].setIcon({ | ||
286 | + url : i3GEO.editorGM.iconePonto(false) | ||
287 | + }); | ||
288 | + } | ||
289 | + } | ||
290 | + } | ||
291 | + }, | ||
292 | + /** | ||
293 | + * Marca todas as figuras como selecionadas As figuras existentes no mapa sao mantidas na variavel i3GEO.desenho.googlemaps.shapes | ||
294 | + */ | ||
295 | + selectAll : function() { | ||
296 | + var i, n = i3GEO.desenho.googlemaps.shapes.length; | ||
297 | + for (i = 0; i < n; i++) { | ||
298 | + if (i3GEO.desenho.googlemaps.shapes[i] != "" && i3GEO.desenho.googlemaps.shapes[i].setEditable) { | ||
299 | + i3GEO.desenho.googlemaps.shapes[i].setEditable(true); | ||
300 | + } else if (i3GEO.desenho.googlemaps.shapes[i] != "") {// caso for ponto | ||
301 | + i3GEO.desenho.googlemaps.shapes[i].editable = true; | ||
302 | + i3GEO.desenho.googlemaps.shapes[i].setIcon({ | ||
303 | + url : i3GEO.editorGM.iconePonto(true) | ||
304 | + }); | ||
305 | + } | ||
306 | + } | ||
307 | + }, | ||
308 | + /** | ||
309 | + * Remove do mapa as figuras que estiverem selecionadas | ||
310 | + * | ||
311 | + * @param boolean | ||
312 | + * indica se deve ser feita uma confirmacao ou nao antes de apagar | ||
313 | + */ | ||
314 | + deleteSelectedShape : function(naoconfirma) { | ||
315 | + i3GEO.janela.tempoMsg($trad("meneditor1")); | ||
316 | + if (!naoconfirma) { | ||
317 | + naoconfirma = false; | ||
318 | + } | ||
319 | + var i, n = i3GEO.desenho.googlemaps.shapes.length; | ||
320 | + if (n > 0) { | ||
321 | + if (naoconfirma === false) { | ||
322 | + var x = window.confirm($trad("excsel") + "?"); | ||
323 | + } else { | ||
324 | + x = true; | ||
325 | + } | ||
326 | + if (x) { | ||
327 | + for (i = 0; i < n; i++) { | ||
328 | + if (i3GEO.desenho.googlemaps.shapes[i] != "" && i3GEO.desenho.googlemaps.shapes[i].editable | ||
329 | + && i3GEO.desenho.googlemaps.shapes[i].editable === true) { | ||
330 | + i3GEO.desenho.googlemaps.shapes[i].setMap(null); | ||
331 | + i3GEO.desenho.googlemaps.shapes[i] = ""; | ||
332 | + } | ||
333 | + } | ||
334 | + } | ||
335 | + } else { | ||
336 | + i3GEO.janela.tempoMsg($trad("selum")); | ||
337 | + } | ||
338 | + }, | ||
339 | + /** | ||
340 | + * Lista as figuras que estao marcadas como selecionadas | ||
341 | + * | ||
342 | + * @return array de shapes | ||
343 | + */ | ||
344 | + selectedShapes : function() { | ||
345 | + var i, s = [], n = i3GEO.desenho.googlemaps.shapes.length; | ||
346 | + for (i = 0; i < n; i++) { | ||
347 | + if (i3GEO.desenho.googlemaps.shapes[i] != "" && i3GEO.desenho.googlemaps.shapes[i].editable === true) { | ||
348 | + s.push(i3GEO.desenho.googlemaps.shapes[i]); | ||
349 | + } | ||
350 | + } | ||
351 | + return s; | ||
352 | + }, | ||
353 | + /** | ||
354 | + * Lista as coordenadas de todas as figuras existentes | ||
355 | + * | ||
356 | + * @return objeto contendo a indicacao do tipo de figura e o array com a lista de coordenadas | ||
357 | + */ | ||
358 | + getCoordenadas : function() { | ||
359 | + var coordenadas = [], lista = [], n = i3GEO.desenho.googlemaps.shapes.length, tipo = "", ps, nps, j, p, i, r; | ||
360 | + | ||
361 | + for (i = 0; i < n; i++) { | ||
362 | + coordenadas = []; | ||
363 | + if (i3GEO.desenho.googlemaps.shapes[i] != "" && i3GEO.desenho.googlemaps.shapes[i].editable === true) { | ||
364 | + if (tipo == "") { | ||
365 | + tipo = i3GEO.desenho.googlemaps.shapes[i].type; | ||
366 | + } | ||
367 | + ps = i3GEO.desenho.googlemaps.shapes[i].getPath(); | ||
368 | + nps = ps.getLength(); | ||
369 | + for (j = 0; j < nps; j++) { | ||
370 | + p = ps.getAt(j); | ||
371 | + coordenadas.push([ | ||
372 | + p.lng() + " " + p.lat() | ||
373 | + ]); | ||
374 | + } | ||
375 | + lista.push(coordenadas); | ||
376 | + } | ||
377 | + } | ||
378 | + r = { | ||
379 | + "tipo" : tipo, | ||
380 | + "coordenadas" : lista | ||
381 | + }; | ||
382 | + return r; | ||
383 | + }, | ||
384 | + /** | ||
385 | + * Converte um objeto shape em uma string WKT | ||
386 | + * | ||
387 | + * @param shape | ||
388 | + */ | ||
389 | + toWKT : function(obj) { | ||
390 | + var wkt = new Wkt.Wkt(); | ||
391 | + wkt.fromObject(obj); | ||
392 | + return wkt.write(); | ||
393 | + }, | ||
394 | + merge : function(geoms) { | ||
395 | + var n = geoms.length, w = new Wkt.Wkt(), g, m, i; | ||
396 | + w.read(geoms[0].toString()); | ||
397 | + if (n > 1) { | ||
398 | + for (i = 1; i < n; i++) { | ||
399 | + g = geoms[i].toString(); | ||
400 | + m = new Wkt.Wkt(); | ||
401 | + m.read(g); | ||
402 | + w.merge(m); | ||
403 | + } | ||
404 | + } | ||
405 | + return w.write(); | ||
406 | + }, | ||
407 | + /** | ||
408 | + * Funcoes que controlam o processo de obtencao das coordenadas de um componente de uma camada existente no mapa | ||
409 | + */ | ||
410 | + capturaPoligonoTema : { | ||
411 | + /** | ||
412 | + * Ativa a operaco de captura definindo o evento que sera executado no onclick do mouse sobre o mapa O evento executa | ||
413 | + * i3GEO.editorGM.capturaPoligonoTema.captura | ||
414 | + * | ||
415 | + * @param botao | ||
416 | + * da interface que foi pressionado | ||
417 | + */ | ||
418 | + ativa : function(botao) { | ||
419 | + i3GEO.editorGM.mudaicone(botao); | ||
420 | + i3GEO.eventos.cliquePerm.desativa(); | ||
421 | + i3GEO.eventos.adicionaEventos("MOUSECLIQUE", [ | ||
422 | + "i3GEO.editorGM.capturaPoligonoTema.captura()" | ||
423 | + ]); | ||
424 | + i3GEO.util.mudaCursor(i3GEO.configura.cursores, "crosshair", i3GEO.Interface.IDMAPA, i3GEO.configura.locaplic); | ||
425 | + }, | ||
426 | + desativa : function() { | ||
427 | + }, | ||
428 | + /** | ||
429 | + * Realiza a captura de um componente do mapa quando o usuario faz o clique A captura e feita com | ||
430 | + * classesphp/mapa_controle.php&funcao=identifica3 O resultado e adicionado ao mapa como um novo objeto shape | ||
431 | + */ | ||
432 | + captura : function() { | ||
433 | + var temp, tema = "", regiao = "", p, par, aguarde = $i("i3GEOjanelaEditor_imagemCabecalho"); | ||
434 | + if (!$i("i3geoCartoRegioesEditaveis")) { | ||
435 | + i3GEO.eventos.removeEventos("MOUSECLIQUE", [ | ||
436 | + "i3GEO.editorGM.capturaPoligonoTema.captura()" | ||
437 | + ]); | ||
438 | + } else { | ||
439 | + temp = | ||
440 | + function(retorno) { | ||
441 | + var temp, n, i, WicketWkt, wkt = "", colunaid = "", valorid = "", colunanome = "", valornome = "", aguarde = | ||
442 | + $i("i3GEOjanelaEditor_imagemCabecalho"); | ||
443 | + if (i3GEO.editorGM.descregioes["a_" + regiao]["identificador"]) { | ||
444 | + colunaid = i3GEO.editorGM.descregioes["a_" + regiao]["identificador"]; | ||
445 | + } | ||
446 | + if (i3GEO.editorGM.descregioes["a_" + regiao]["colunanomeregiao"]) { | ||
447 | + colunanome = i3GEO.editorGM.descregioes["a_" + regiao]["colunanomeregiao"]; | ||
448 | + } | ||
449 | + if (aguarde) { | ||
450 | + aguarde.style.visibility = "hidden"; | ||
451 | + } | ||
452 | + // obtem os dados buscando nos itens que vem da requisicao ao wms | ||
453 | + temp = retorno.data[0].resultado[0]; | ||
454 | + if (temp === " ") { | ||
455 | + i3GEO.janela.tempoMsg($trad("meneditor2")); | ||
456 | + return; | ||
457 | + } | ||
458 | + i3GEO.editorGM.mudaicone(); | ||
459 | + n = temp.length; | ||
460 | + for (i = 0; i < n; i++) { | ||
461 | + if (temp[i].alias == "wkt") { | ||
462 | + wkt = temp[i].valor; | ||
463 | + } | ||
464 | + if (temp[i].alias == colunaid || temp[i].item == colunaid) { | ||
465 | + valorid = temp[i].valor; | ||
466 | + } | ||
467 | + if (temp[i].alias == colunanome || temp[i].item == colunanome) { | ||
468 | + valornome = temp[i].valor; | ||
469 | + } | ||
470 | + } | ||
471 | + // objeto do wicket ver pacotes/wicket | ||
472 | + WicketWkt = new Wkt.Wkt(); | ||
473 | + // wkt = "MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)), ((20 35, 45 20, 30 5, 10 10, 10 30, 20 35), (30 20, 20 | ||
474 | + // 25, 20 15, 30 20)))"; | ||
475 | + try { // Catch any malformed WKT strings | ||
476 | + WicketWkt.read(wkt); | ||
477 | + } catch (e1) { | ||
478 | + try { | ||
479 | + wkt.read(wkt.replace('\n', '').replace('\r', '').replace('\t', '')); | ||
480 | + } catch (e2) { | ||
481 | + if (e2.name === 'WKTError') { | ||
482 | + alert('Wicket could not understand the WKT string you entered. Check that you have parentheses balanced, and try removing tabs and newline characters.'); | ||
483 | + return; | ||
484 | + } | ||
485 | + } | ||
486 | + } | ||
487 | + obj = WicketWkt.toObject(i3GeoMap.defaults); | ||
488 | + // obj.setMap(i3GeoMap); // Add it to the map | ||
489 | + // i3GEO.desenho.googlemaps.shapes.push(obj); | ||
490 | + i3GEO.editorGM.adicionaPoligonos(obj, tema, colunaid, valorid, colunanome, valornome); | ||
491 | + i3GEO.eventos.MOUSECLIQUE = []; | ||
492 | + }; | ||
493 | + regiao = $i("i3geoCartoRegioesEditaveis").value; | ||
494 | + if (regiao != "") { | ||
495 | + tema = i3GEO.editorGM.regioestemas["a" + regiao]; | ||
496 | + if (aguarde && aguarde.style.visibility == "hidden") { | ||
497 | + aguarde.style.visibility = "visible"; | ||
498 | + p = i3GEO.configura.locaplic + "/classesphp/mapa_controle.php"; | ||
499 | + par = | ||
500 | + "funcao=identifica3&opcao=tema&xy=" + objposicaocursor.ddx | ||
501 | + + "," | ||
502 | + + objposicaocursor.ddy | ||
503 | + + "&resolucao=5&g_sid=" | ||
504 | + + i3GEO.configura.sid | ||
505 | + + "&ext=" | ||
506 | + + i3GEO.parametros.mapexten | ||
507 | + + "&listaDeTemas=&wkt=sim&tema=" | ||
508 | + + tema; | ||
509 | + cpJSON.call(p, "identifica", temp, par); | ||
510 | + } | ||
511 | + } | ||
512 | + } | ||
513 | + } | ||
514 | + }, | ||
515 | + /** | ||
516 | + * Monta um combo com a lista de regioes cadastradas e que podem ser editadas pelo editor A regiao em edicao sera a escolhida nesse | ||
517 | + * combo Ao ser escolhida, e adicionada uma camada no mapa | ||
518 | + * | ||
519 | + * @param opcional | ||
520 | + * codigo da regiao no cadastro. Se nao for definido, busca todas | ||
521 | + */ | ||
522 | + comboRegiaoEditavel : function(codigo_tipo_regiao) { | ||
523 | + if (!codigo_tipo_regiao) { | ||
524 | + codigo_tipo_regiao = ""; | ||
525 | + } | ||
526 | + var onde = $i("i3geoCartoRegioesEditaveisDiv"), temp = | ||
527 | + function(dados) { | ||
528 | + var n = dados.length, ins = '<br><p class="paragrafo" >' + $trad("camedit") + ':</p>', i; | ||
529 | + ins += | ||
530 | + "<select onchange='i3GEO.editorGM.comboRegiaoEditavelOnchange(this)' id='i3geoCartoRegioesEditaveis' style='width:175px' ><option value=''>---</option>"; | ||
531 | + for (i = 0; i < n; i++) { | ||
532 | + ins += "<option value='" + dados[i].codigo_tipo_regiao + "'>" + dados[i].nome_tipo_regiao + "</option>"; | ||
533 | + i3GEO.editorGM.descregioes["a_" + dados[i].codigo_tipo_regiao] = dados[i]; | ||
534 | + } | ||
535 | + // inclui as camadas que sao editaveis e estao no mapa | ||
536 | + dados = i3GEO.arvoreDeCamadas.filtraCamadas("editavel", "SIM", "igual"); | ||
537 | + n = dados.length; | ||
538 | + for (i = 0; i < n; i++) { | ||
539 | + // layer e usado aqui para identificar que a camada veio do mapa e nao do cadastro de regioes | ||
540 | + if (!dados[i].codigo_tipo_regiao || dados[i].codigo_tipo_regiao === "") { | ||
541 | + ins += "<option value='" + dados[i].name + "'>" + dados[i].tema + "</option>"; | ||
542 | + dados[i]["identificador"] = dados[i].colunaidunico; | ||
543 | + dados[i]["colunanomeregiao"] = ""; | ||
544 | + i3GEO.editorGM.descregioes["a_" + dados[i].name] = dados[i]; | ||
545 | + } | ||
546 | + } | ||
547 | + ins += "</select>"; | ||
548 | + if (onde) { | ||
549 | + onde.innerHTML = ins; | ||
550 | + } | ||
551 | + return ins; | ||
552 | + }; | ||
553 | + i3GEO.php.listaTipoRegiao(temp, codigo_tipo_regiao); | ||
554 | + }, | ||
555 | + /** | ||
556 | + * Funcao ativada no evento onchange do combo criado com comboRegiaoEditavel Executa i3GEO.php.mapfileTipoRegiao | ||
557 | + */ | ||
558 | + comboRegiaoEditavelOnchange : function(combo) { | ||
559 | + if (combo.value === "") { | ||
560 | + return; | ||
561 | + } | ||
562 | + i3GEO.editorGM.editarAtributos.desativa(); | ||
563 | + // caso a camada escolhida seja uma camada normal, vinda de um mapfile | ||
564 | + if (i3GEO.arvoreDeCamadas.pegaTema(combo.value) != "") { | ||
565 | + i3GEO.editorGM.regioestemas["a" + combo.value] = combo.value; | ||
566 | + i3GEO.editorGM.temasregioes[combo.value] = combo.value; | ||
567 | + } else { | ||
568 | + var temp = function(retorno) { | ||
569 | + if (i3GEO.arvoreDeCamadas.pegaTema(retorno.layer) == "") { | ||
570 | + i3GEO.php.adtema(i3GEO.atualiza, retorno.mapfile); | ||
571 | + // guarda o codigo e relaciona com a regiao | ||
572 | + i3GEO.editorGM.regioestemas["a" + combo.value] = retorno.layer; | ||
573 | + i3GEO.editorGM.temasregioes[retorno.layer] = combo.value; | ||
574 | + } | ||
575 | + }; | ||
576 | + i3GEO.php.mapfileTipoRegiao(temp, combo.value); | ||
577 | + } | ||
578 | + }, | ||
579 | + /** | ||
580 | + * Altera as bordas dos icones e desativa eventos Desativa todos os botoes e ativa o indicado | ||
581 | + * | ||
582 | + * @param objeto | ||
583 | + * DOM que representa o botao que sera focado | ||
584 | + */ | ||
585 | + mudaicone : function(botao) { | ||
586 | + var c = $i(i3GEO.editorGM.iddiv), ci = c.getElementsByTagName("img"), n = ci.length, i; | ||
587 | + for (i = 0; i < n; i++) { | ||
588 | + ci[i].parentNode.style.backgroundColor = "#F5F5F5"; | ||
589 | + } | ||
590 | + i3GEO.eventos.MOUSECLIQUE = []; | ||
591 | + i3GEO.editorGM.capturaPoligonoTema.desativa(); | ||
592 | + i3GEO.editorGM.editarAtributos.desativa(); | ||
593 | + if (botao && botao.style) { | ||
594 | + botao.style.backgroundColor = "#cedff2"; | ||
595 | + } | ||
596 | + }, | ||
597 | + /** | ||
598 | + * Ativa a digitalizacao de poligono | ||
599 | + * | ||
600 | + * @param objeto | ||
601 | + * DOM que representa o botao que sera focado | ||
602 | + */ | ||
603 | + digitalizaPol : function(botao) { | ||
604 | + i3GEO.editorGM.mudaicone(botao); | ||
605 | + i3GEO.util.mudaCursor(i3GEO.configura.cursores, "pointer", i3GEO.Interface.IDMAPA, i3GEO.configura.locaplic); | ||
606 | + i3GEO.editorGM.drawingManager.setOptions({ | ||
607 | + drawingMode : google.maps.drawing.OverlayType.POLYGON | ||
608 | + }); | ||
609 | + }, | ||
610 | + /** | ||
611 | + * Ativa a digitalizacao de ponto | ||
612 | + * | ||
613 | + * @param objeto | ||
614 | + * DOM que representa o botao que sera focado | ||
615 | + */ | ||
616 | + digitalizaPt : function(botao) { | ||
617 | + i3GEO.editorGM.mudaicone(botao); | ||
618 | + i3GEO.util.mudaCursor(i3GEO.configura.cursores, "pointer", i3GEO.Interface.IDMAPA, i3GEO.configura.locaplic); | ||
619 | + i3GEO.editorGM.drawingManager.setOptions({ | ||
620 | + drawingMode : google.maps.drawing.OverlayType.MARKER | ||
621 | + }); | ||
622 | + }, | ||
623 | + /** | ||
624 | + * Ativa a selecao de figuras | ||
625 | + * | ||
626 | + * @param objeto | ||
627 | + * DOM que representa o botao que sera focado | ||
628 | + */ | ||
629 | + seleciona : function(botao) { | ||
630 | + i3GEO.editorGM.mudaicone(botao); | ||
631 | + i3GEO.util.mudaCursor(i3GEO.configura.cursores, "pointer", i3GEO.Interface.IDMAPA, i3GEO.configura.locaplic); | ||
632 | + i3GEO.editorGM.drawingManager.setOptions({ | ||
633 | + drawingMode : null | ||
634 | + }); | ||
635 | + }, | ||
636 | + /** | ||
637 | + * Adiciona uma nova figura ao mapa (shape) Pode ser poligono ou ponto | ||
638 | + * | ||
639 | + * @param objeto | ||
640 | + * shape (API do Google) | ||
641 | + * @param codigo | ||
642 | + * do layer que sera vinculado ao shape | ||
643 | + * @param coluna | ||
644 | + * do tema que contem os identificadores de cada um de seus elementos (registros) | ||
645 | + * @param valor | ||
646 | + * do identificador | ||
647 | + * @param coluna | ||
648 | + * que cntem os nomes das regioes | ||
649 | + * @param nome | ||
650 | + * da regiao a ser adicionada | ||
651 | + */ | ||
652 | + adicionaPoligonos : function(obj, tema, colunaid, valorid, colunanome, valornome) { | ||
653 | + if (!tema) { | ||
654 | + tema = $i("i3geoCartoRegioesEditaveis").value; | ||
655 | + } | ||
656 | + if (!colunaid) { | ||
657 | + colunaid = ""; | ||
658 | + } | ||
659 | + if (!valorid) { | ||
660 | + valorid = ""; | ||
661 | + } | ||
662 | + if (!colunanome) { | ||
663 | + colunanome = ""; | ||
664 | + } | ||
665 | + if (!valornome) { | ||
666 | + valornome = ""; | ||
667 | + } | ||
668 | + var pol; | ||
669 | + if (Wkt.isArray(obj)) { // Distinguish multigeometries (Arrays) from objects | ||
670 | + for (i in obj) { | ||
671 | + if (obj.hasOwnProperty(i) && !Wkt.isArray(obj[i])) { | ||
672 | + pol = new google.maps.Polygon({ | ||
673 | + path : obj[i].getPath(), | ||
674 | + map : i3GeoMap, | ||
675 | + fillColor : '#ffff00', | ||
676 | + fillOpacity : .5, | ||
677 | + strokeWeight : 2, | ||
678 | + clickable : true, | ||
679 | + zIndex : 1, | ||
680 | + editable : true, | ||
681 | + tema : tema, | ||
682 | + colunaid : colunaid, | ||
683 | + valorid : valorid, | ||
684 | + colunanome : colunanome, | ||
685 | + valornome : valornome | ||
686 | + }); | ||
687 | + google.maps.event.addListener(pol, 'click', function() { | ||
688 | + i3GEO.editorGM.setSelection(pol); | ||
689 | + }); | ||
690 | + i3GEO.desenho.googlemaps.shapes.push(pol); | ||
691 | + } | ||
692 | + } | ||
693 | + return; | ||
694 | + } | ||
695 | + if (obj.type === 'polygon' || obj.type === 'linestring') { | ||
696 | + pol = new google.maps.Polygon({ | ||
697 | + paths : obj.getPaths(), | ||
698 | + map : i3GeoMap, | ||
699 | + fillColor : '#ffff00', | ||
700 | + fillOpacity : .5, | ||
701 | + strokeWeight : 2, | ||
702 | + clickable : true, | ||
703 | + zIndex : 1, | ||
704 | + editable : true, | ||
705 | + tema : tema, | ||
706 | + colunaid : colunaid, | ||
707 | + valorid : valorid, | ||
708 | + colunanome : colunanome, | ||
709 | + valornome : valornome | ||
710 | + }); | ||
711 | + google.maps.event.addListener(pol, 'click', function() { | ||
712 | + i3GEO.editorGM.setSelection(pol); | ||
713 | + }); | ||
714 | + i3GEO.desenho.googlemaps.shapes.push(pol); | ||
715 | + return; | ||
716 | + } | ||
717 | + if (obj.type === 'marker') { | ||
718 | + i3GEO.editorGM.selectAll(); | ||
719 | + if (i3GEO.desenho.googlemaps.shapes.length > 0) { | ||
720 | + i3GEO.editorGM.deleteSelectedShape(true); | ||
721 | + } | ||
722 | + pol = new google.maps.Marker({ | ||
723 | + position : new google.maps.LatLng(obj.getPosition().ob, obj.getPosition().pb), | ||
724 | + map : i3GeoMap, | ||
725 | + icon : { | ||
726 | + url : i3GEO.editorGM.iconePonto(false) | ||
727 | + }, | ||
728 | + clickable : true, | ||
729 | + zIndex : 1, | ||
730 | + draggable : true, | ||
731 | + tema : tema, | ||
732 | + colunaid : colunaid, | ||
733 | + valorid : valorid, | ||
734 | + colunanome : colunanome, | ||
735 | + valornome : valornome, | ||
736 | + editable : false | ||
737 | + }); | ||
738 | + google.maps.event.addListener(pol, 'click', function() { | ||
739 | + i3GEO.editorGM.setSelection(pol); | ||
740 | + }); | ||
741 | + i3GEO.desenho.googlemaps.shapes.push(pol); | ||
742 | + return; | ||
743 | + } | ||
744 | + }, | ||
745 | + /** | ||
746 | + * Salva um poligono no banco de dados | ||
747 | + */ | ||
748 | + salvaLimite : { | ||
749 | + /** | ||
750 | + * Inicia a ferramenta definindo as funcoes dos botoes Executa i3GEO.editorGM.salvaLimite.criaJanelaFlutuante | ||
751 | + */ | ||
752 | + inicia : function() { | ||
753 | + if (i3GEO.login.verificaCookieLogin() === false) { | ||
754 | + i3GEO.janela.tempoMsg($trad("meneditor3")); | ||
755 | + if (i3GEO.editorGM.selectedShapes().length > 0) { | ||
756 | + var temp = i3GEO.editorGM.toWKT(i3GEO.editorGM.selectedShapes()[0]); | ||
757 | + i3GEO.mapa.dialogo.wkt2layer(temp); | ||
758 | + } | ||
759 | + return; | ||
760 | + } | ||
761 | + var wkt, temp, s = i3GEO.editorGM.selectedShapes(), n = s.length, janela = YAHOO.i3GEO.janela.manager.find("salvaLimite"); | ||
762 | + if (janela) { | ||
763 | + janela.destroy(); | ||
764 | + } | ||
765 | + if (n == 1) { | ||
766 | + s = s[0]; | ||
767 | + temp = function(retorno) { | ||
768 | + i3GEO.editorGM.deleteSelectedShape(true); | ||
769 | + i3GEO.Interface.redesenha(); | ||
770 | + }; | ||
771 | + // verifica se e uma regiao cadastrada ou um tema comum editavel | ||
772 | + if (i3GEO.editorGM.descregioes["a_" + $i("i3geoCartoRegioesEditaveis").value].tema != undefined) { | ||
773 | + wkt = i3GEO.editorGM.toWKT(i3GEO.editorGM.selectedShapes()[0]); | ||
774 | + if (wkt && wkt != "") { | ||
775 | + // cria um novo registro | ||
776 | + if (s.valorid == "") { | ||
777 | + p = | ||
778 | + i3GEO.configura.locaplic + "/ferramentas/editortema/exec.php?funcao=adicionaGeometria&g_sid=" | ||
779 | + + i3GEO.configura.sid; | ||
780 | + cpJSON.call(p, "foo", temp, "&tema=" + $i("i3geoCartoRegioesEditaveis").value + "&wkt=" + wkt); | ||
781 | + } else { | ||
782 | + // atualiza a geometria | ||
783 | + p = | ||
784 | + i3GEO.configura.locaplic + "/ferramentas/editortema/exec.php?funcao=atualizaGeometria&g_sid=" | ||
785 | + + i3GEO.configura.sid; | ||
786 | + cpJSON.call(p, "foo", temp, "&idunico=" + s.valorid | ||
787 | + + "&tema=" | ||
788 | + + $i("i3geoCartoRegioesEditaveis").value | ||
789 | + + "&wkt=" | ||
790 | + + wkt); | ||
791 | + } | ||
792 | + } | ||
793 | + } else { | ||
794 | + // formulario para o caso de ser um tema cadastrado como regiao no sistema metaestat | ||
795 | + i3GEO.editorGM.salvaLimite.criaJanelaFlutuante(i3GEO.editorGM.salvaLimite.html( | ||
796 | + s.colunaid, | ||
797 | + s.valorid, | ||
798 | + s.colunanome, | ||
799 | + s.valornome)); | ||
800 | + new YAHOO.widget.Button("i3GEOFmetaestati3GEO.editorGMBotao1", { | ||
801 | + onclick : { | ||
802 | + fn : function() { | ||
803 | + i3GEO.editorGM.salvaLimite.gravaDados(true); | ||
804 | + } | ||
805 | + } | ||
806 | + }); | ||
807 | + new YAHOO.widget.Button("i3GEOFmetaestati3GEO.editorGMBotao2", { | ||
808 | + onclick : { | ||
809 | + fn : function() { | ||
810 | + i3GEO.editorGM.salvaLimite.gravaDados(false); | ||
811 | + } | ||
812 | + } | ||
813 | + }); | ||
814 | + new YAHOO.widget.Button("i3GEOFmetaestati3GEO.editorGMBotao3", { | ||
815 | + onclick : { | ||
816 | + fn : function() { | ||
817 | + i3GEO.editorGM.salvaLimite.excluiPoligono(); | ||
818 | + } | ||
819 | + } | ||
820 | + }); | ||
821 | + } | ||
822 | + } else { | ||
823 | + i3GEO.janela.tempoMsg("Selecione uma figura"); | ||
824 | + } | ||
825 | + }, | ||
826 | + /** | ||
827 | + * Monta o HTML para o formulario que permite salvar os dados | ||
828 | + */ | ||
829 | + html : function(colunaIdElemento, valorIdElemento, colunaNomeElemento, valorNomeElemento) { | ||
830 | + var ins = | ||
831 | + '' + '<p class=paragrafo >Se o valor do código for vazio, será criado um novo elemento. Caso contrário, os valores atualmente registrados serão atualizados.</p>' | ||
832 | + + '<p class=paragrafo >Edite os atributos:</p>' | ||
833 | + + '<input type=hidden id="inputColunaIdElemento" value="' + colunaIdElemento | ||
834 | + + '" />' | ||
835 | + + '<input type=hidden id="inputColunaNomeElemento" value="' | ||
836 | + + colunaNomeElemento | ||
837 | + + '" />' | ||
838 | + + '<input type=hidden id="inputIdentificadorElemento" value="' | ||
839 | + + valorIdElemento | ||
840 | + + '" />' | ||
841 | + + '<input type=hidden id="inputNomeElemento" value="' | ||
842 | + + valorNomeElemento | ||
843 | + + '" />' | ||
844 | + + '<p class=paragrafo >Código:</p>' | ||
845 | + + '<p class=paragrafo ><input class=digitar type=text id="inputIdentificadorNovoElemento" value="' | ||
846 | + + valorIdElemento | ||
847 | + + '" style="width:180;cursor:text" /></p>' | ||
848 | + + '<p class=paragrafo >Nome:</p>' | ||
849 | + + '<p class=paragrafo ><input class=digitar type=text id="inputNomeNovoElemento" value="' | ||
850 | + + valorNomeElemento | ||
851 | + + '" style="width:180;cursor:text" /></p>' | ||
852 | + + '<p class=paragrafo >Escolha a operação desejada:</p>' | ||
853 | + + '<input id=i3GEOFmetaestati3GEO.editorGMBotao1 type="button" value="Salvar tudo" />' | ||
854 | + + ' <input id=i3GEOFmetaestati3GEO.editorGMBotao2 type="button" value="Salvar apenas os atributos" />' | ||
855 | + + '<br><br><input id=i3GEOFmetaestati3GEO.editorGMBotao3 type="button" value="Excluir" />'; | ||
856 | + return ins; | ||
857 | + }, | ||
858 | + /** | ||
859 | + * Cria a janela flutuante para receber os componentes da ferramenta | ||
860 | + * | ||
861 | + * @param html | ||
862 | + * com o conteudo da ferramenta | ||
863 | + */ | ||
864 | + criaJanelaFlutuante : function(html) { | ||
865 | + var titulo, cabecalho, minimiza, janela; | ||
866 | + cabecalho = function() { | ||
867 | + }; | ||
868 | + minimiza = function() { | ||
869 | + i3GEO.janela.minimiza("salvaLimite"); | ||
870 | + }; | ||
871 | + titulo = "<div class='i3GeoTituloJanela'>" + $trad("sdados") + "</div>"; | ||
872 | + janela = i3GEO.janela.cria("300px", "265px", "", "", "", titulo, "salvaLimite", true, "hd", cabecalho, minimiza); | ||
873 | + $i("salvaLimite_corpo").style.backgroundColor = "white"; | ||
874 | + $i("salvaLimite_corpo").innerHTML = html; | ||
875 | + YAHOO.util.Event.addListener(janela[0].close, "click", i3GEO.editorGM.mudaicone); | ||
876 | + }, | ||
877 | + /** | ||
878 | + * Aplica a operacao de salvar os dados no banco para o shape selecionado Executa | ||
879 | + * admin/php/metaestat.php?funcao=mantemDadosRegiao | ||
880 | + * | ||
881 | + * @param boolean | ||
882 | + * indica se as coordenadas serao salvas tambem | ||
883 | + */ | ||
884 | + gravaDados : function(comwkt) { | ||
885 | + if (i3GEO.login.verificaCookieLogin() === false) { | ||
886 | + i3GEO.janela.tempoMsg($trad("meneditor3")); | ||
887 | + return; | ||
888 | + } | ||
889 | + if (!window.confirm($trad("sdados") + "?")) { | ||
890 | + return; | ||
891 | + } | ||
892 | + var p, codigo_tipo_regiao = $i("i3geoCartoRegioesEditaveis").value, identificadornovo = | ||
893 | + $i("inputIdentificadorNovoElemento").value, identificador = $i("inputIdentificadorElemento").value, nome = | ||
894 | + $i("inputNomeNovoElemento").value, wkt = "", temp = function(retorno) { | ||
895 | + i3GEO.editorGM.deleteSelectedShape(true); | ||
896 | + var janela = YAHOO.i3GEO.janela.manager.find("salvaLimite"); | ||
897 | + if (janela) { | ||
898 | + janela.destroy(); | ||
899 | + } | ||
900 | + i3GEO.Interface.redesenha(); | ||
901 | + }; | ||
902 | + if (comwkt === true) { | ||
903 | + wkt = i3GEO.editorGM.toWKT(i3GEO.editorGM.selectedShapes()[0]); | ||
904 | + } else { | ||
905 | + if (identificadornovo === identificador && $i("inputNomeElemento").value === nome) { | ||
906 | + i3GEO.janela.tempoMsg($trad("meneditor4")); | ||
907 | + return; | ||
908 | + } | ||
909 | + } | ||
910 | + p = i3GEO.configura.locaplic + "/admin/php/metaestat.php?funcao=mantemDadosRegiao&tipo="; | ||
911 | + cpJSON.call(p, "foo", temp, "&codigo_tipo_regiao=" + codigo_tipo_regiao | ||
912 | + + "&identificadornovo=" | ||
913 | + + identificadornovo | ||
914 | + + "&identificador=" | ||
915 | + + identificador | ||
916 | + + "&nome=" | ||
917 | + + nome | ||
918 | + + "&wkt=" | ||
919 | + + wkt); | ||
920 | + }, | ||
921 | + /** | ||
922 | + * Exclui um registro do banco de dados Executa admin/php/metaestat.php?funcao=mantemDadosRegiao&tipo=excluir | ||
923 | + */ | ||
924 | + excluiPoligono : function() { | ||
925 | + if (i3GEO.login.verificaCookieLogin() === false) { | ||
926 | + i3GEO.janela.tempoMsg($trad("meneditor3")); | ||
927 | + return; | ||
928 | + } | ||
929 | + if (!window.confirm($trad("excsel") + "?")) { | ||
930 | + return; | ||
931 | + } | ||
932 | + var codigo_tipo_regiao = $i("i3geoCartoRegioesEditaveis").value, identificador = $i("inputIdentificadorElemento").value, temp = | ||
933 | + function(retorno) { | ||
934 | + i3GEO.editorGM.deleteSelectedShape(true); | ||
935 | + var janela = YAHOO.i3GEO.janela.manager.find("salvaLimite"); | ||
936 | + if (janela) { | ||
937 | + janela.destroy(); | ||
938 | + } | ||
939 | + i3GEO.Interface.redesenha(); | ||
940 | + }, p = i3GEO.configura.locaplic + "/admin/php/metaestat.php?funcao=mantemDadosRegiao&tipo=excluir"; | ||
941 | + if (identificador === "") { | ||
942 | + i3GEO.janela.tempoMsg($trad("meneditor5")); | ||
943 | + } else { | ||
944 | + cpJSON.call(p, "foo", temp, "&codigo_tipo_regiao=" + codigo_tipo_regiao + "&identificador=" + identificador); | ||
945 | + } | ||
946 | + } | ||
947 | + }, | ||
948 | + /** | ||
949 | + * Funcoes que controlam o processo de edicao de atributos de um shape | ||
950 | + */ | ||
951 | + editarAtributos : { | ||
952 | + aliascolunas : "", // guarda os nomes das colunas e seus aliases para permitir a criacao de novos registros | ||
953 | + x : "", | ||
954 | + y : "", | ||
955 | + /** | ||
956 | + * Ativa a ferramenta Define os eventos de onclick para abrir formulario quando o usuario clica no mapa Para cada regiao sao | ||
957 | + * obtidas todas as variaveis cadastradas Executa i3GEO.editorGM.editarAtributos.criaJanelaFlutuante Executa | ||
958 | + * i3GEO.editorGM.editarAtributos.comboVariaveis(); | ||
959 | + */ | ||
960 | + ativa : function(botao) { | ||
961 | + if ($i("i3geoCartoRegioesEditaveis").value == "") { | ||
962 | + i3GEO.janela.tempoMsg("Escolha uma regiao"); | ||
963 | + return; | ||
964 | + } | ||
965 | + i3GEO.editorGM.mudaicone(botao); | ||
966 | + i3GEO.eventos.adicionaEventos("MOUSECLIQUE", [ | ||
967 | + "i3GEO.editorGM.editarAtributos.captura()" | ||
968 | + ]); | ||
969 | + var janela = YAHOO.i3GEO.janela.manager.find("editaAtributos"); | ||
970 | + if (janela) { | ||
971 | + $i("editarAtributosForm").innerHTML = ""; | ||
972 | + } else { | ||
973 | + i3GEO.editorGM.editarAtributos.criaJanelaFlutuante(i3GEO.editorGM.editarAtributos.html()); | ||
974 | + i3GEO.editorGM.editarAtributos.comboVariaveis(); | ||
975 | + } | ||
976 | + }, | ||
977 | + /** | ||
978 | + * Fecha a janela de edicao | ||
979 | + */ | ||
980 | + desativa : function() { | ||
981 | + var janela = YAHOO.i3GEO.janela.manager.find("editaAtributos"); | ||
982 | + if (janela) { | ||
983 | + janela.destroy(); | ||
984 | + } | ||
985 | + }, | ||
986 | + criaJanelaFlutuante : function(html) { | ||
987 | + var janela, titulo, cabecalho, minimiza; | ||
988 | + cabecalho = function() { | ||
989 | + }; | ||
990 | + minimiza = function() { | ||
991 | + i3GEO.janela.minimiza("editaAtributos"); | ||
992 | + }; | ||
993 | + titulo = "<div class='i3GeoTituloJanela'>" + $trad("atrib") + "</div>"; | ||
994 | + janela = i3GEO.janela.cria("250px", "265px", "", "", "", titulo, "editaAtributos", false, "hd", cabecalho, minimiza); | ||
995 | + $i("editaAtributos_corpo").style.backgroundColor = "white"; | ||
996 | + $i("editaAtributos_corpo").innerHTML = html; | ||
997 | + i3GEO.janela.tempoMsg($trad("meneditor6")); | ||
998 | + YAHOO.util.Event.addListener(janela[0].close, "click", i3GEO.editorGM.mudaicone); | ||
999 | + }, | ||
1000 | + /** | ||
1001 | + * Fornece o HTML com os objetos que receberao os componentes da ferramenta | ||
1002 | + * | ||
1003 | + * @return html | ||
1004 | + */ | ||
1005 | + html : function() { | ||
1006 | + var ins = | ||
1007 | + '' + '<p class="paragrafo" ><div id="editarAtributosVariaveis" ></div></p>' | ||
1008 | + + '<p class="paragrafo" ><div id="editarAtributosMedidasVariavel" ></div></p>' | ||
1009 | + + '<p class="paragrafo" ><div id="editarAtributosRegiao" ></div></p>' | ||
1010 | + + '<p class="paragrafo" ><div id="editarAtributosForm" ></div></p>' | ||
1011 | + + ''; | ||
1012 | + return ins; | ||
1013 | + }, | ||
1014 | + /** | ||
1015 | + * Monta um combo para escolha de uma variavel que sera editada Executa i3GEO.php.listaVariavel | ||
1016 | + */ | ||
1017 | + comboVariaveis : function() { | ||
1018 | + var temp = | ||
1019 | + function(dados) { | ||
1020 | + var i, n = dados.length, ins = ''; | ||
1021 | + ins += '<p class="paragrafo" >Escolha uma variável para editar</p>'; | ||
1022 | + ins += | ||
1023 | + "<select style='box-shadow:0 1px 5px gray;width:200px' onchange='i3GEO.editorGM.editarAtributos.comboMedidasVariavel(this)'><option value=''>---</option>"; | ||
1024 | + for (i = 0; i < n; i++) { | ||
1025 | + ins += | ||
1026 | + "<option title='" + dados[i].descricao | ||
1027 | + + "' value='" | ||
1028 | + + dados[i].codigo_variavel | ||
1029 | + + "'>" | ||
1030 | + + dados[i].nome | ||
1031 | + + "</option>"; | ||
1032 | + } | ||
1033 | + ins += "</select>"; | ||
1034 | + $i("editarAtributosVariaveis").innerHTML = ins; | ||
1035 | + }; | ||
1036 | + i3GEO.php.listaVariavel(temp, "i3geo_metaestat"); | ||
1037 | + }, | ||
1038 | + /** | ||
1039 | + * Monta um combo com as medidas de uma variavel Executa i3GEO.php.listaMedidaVariavel | ||
1040 | + * | ||
1041 | + * @param objeto | ||
1042 | + * DOM do tipo select que contem a lista de variaveis | ||
1043 | + */ | ||
1044 | + comboMedidasVariavel : function(comboMedidas) { | ||
1045 | + var temp = | ||
1046 | + function(dados) { | ||
1047 | + var i, n = dados.length, ins = ''; | ||
1048 | + ins += '<p class="paragrafo" >Escolha uma medida da variável para editar</p>'; | ||
1049 | + ins += | ||
1050 | + "<select id='editarAtributosComboMedidas' style='box-shadow:0 1px 5px gray;width:200px' onchange=''><option value=''>---</option>"; | ||
1051 | + for (i = 0; i < n; i++) { | ||
1052 | + if (dados[i].esquemadb == "i3geo_metaestat" && dados[i].codigo_tipo_regiao == $i("i3geoCartoRegioesEditaveis").value) { | ||
1053 | + ins += "<option value='" + dados[i].id_medida_variavel + "'>" + dados[i].nomemedida + "</option>"; | ||
1054 | + } | ||
1055 | + } | ||
1056 | + | ||
1057 | + ins += "</select>"; | ||
1058 | + $i("editarAtributosMedidasVariavel").innerHTML = ins; | ||
1059 | + }; | ||
1060 | + if (comboMedidas.value !== "") { | ||
1061 | + i3GEO.php.listaMedidaVariavel(comboMedidas.value, temp); | ||
1062 | + } | ||
1063 | + }, | ||
1064 | + /** | ||
1065 | + * Captura os atributos de um elemento do mapa Executa i3GEO.editorGM.editarAtributos.pegaDados(); | ||
1066 | + */ | ||
1067 | + captura : function() { | ||
1068 | + if (!YAHOO.i3GEO.janela.manager.find("editaAtributos")) { | ||
1069 | + i3GEO.editorGM.mudaicone(botao); | ||
1070 | + return; | ||
1071 | + } | ||
1072 | + i3GEO.editorGM.editarAtributos.x = objposicaocursor.ddx; | ||
1073 | + i3GEO.editorGM.editarAtributos.y = objposicaocursor.ddy; | ||
1074 | + i3GEO.editorGM.editarAtributos.pegaDados(); | ||
1075 | + }, | ||
1076 | + /** | ||
1077 | + * Obtem os dados de um elemento de uma regiao Monta o formulario para edicao Executa | ||
1078 | + * admin/php/metaestat.php?funcao=listaAtributosMedidaVariavelXY | ||
1079 | + */ | ||
1080 | + pegaDados : function() { | ||
1081 | + var p = i3GEO.configura.locaplic + "/admin/php/metaestat.php?funcao=listaAtributosMedidaVariavelXY", codigo_tipo_regiao = | ||
1082 | + $i("i3geoCartoRegioesEditaveis").value, id_medida_variavel = $i("editarAtributosComboMedidas").value, temp = | ||
1083 | + function(retorno) { | ||
1084 | + var atr = retorno.atributos, i = 0, n = atr.dados.length, j = 0, idunico = "", nj = atr.aliascolunas.length, ins = | ||
1085 | + "" + '<p class=paragrafo >Limite geográfico escolhido:</p>' | ||
1086 | + + '<p class=paragrafo ><b>Nome: </b>' | ||
1087 | + + retorno.regiao.nomeregiao | ||
1088 | + + '</p>' | ||
1089 | + + '<p class=paragrafo ><b>Código: </b>' | ||
1090 | + + retorno.regiao.identificador_regiao | ||
1091 | + + '</p>' | ||
1092 | + + '<input type=hidden id="editarAtributosidentificador_regiao" value="' | ||
1093 | + + retorno.regiao.identificador_regiao | ||
1094 | + + '" />' | ||
1095 | + + '<p class=paragrafo >Atributos:</p>' | ||
1096 | + + '<input id=editarAtributosAdicionar value="Adicionar um novo" />' | ||
1097 | + + ' <input id=editarAtributosSalvar value="Salvar" />'; | ||
1098 | + $i("editarAtributosRegiao").innerHTML = ins; | ||
1099 | + ins = ""; | ||
1100 | + // registros | ||
1101 | + for (i = 0; i < n; i++) { | ||
1102 | + // descobre qual o indice que corresponde ao idunico do registro | ||
1103 | + for (j = 0; j < nj; j++) { | ||
1104 | + if (atr.aliascolunas[j] == "idunico") { | ||
1105 | + idunico = atr.dados[i][atr.colunas[j]]; | ||
1106 | + } | ||
1107 | + } | ||
1108 | + ins += | ||
1109 | + "<hr><div><p class=paragrafo style='color:blue;cursor:pointer' onclick='i3GEO.editorGM.editarAtributos.excluir(" + idunico | ||
1110 | + + ")' >excluir</p>"; | ||
1111 | + // colunas | ||
1112 | + for (j = 0; j < nj; j++) { | ||
1113 | + if (atr.aliascolunas[j] !== "idunico") { | ||
1114 | + ins += | ||
1115 | + '<p class=paragrafo >' + atr.aliascolunas[j] | ||
1116 | + + ':<br>' | ||
1117 | + + '<input class=digitar id="idunico_' | ||
1118 | + + idunico | ||
1119 | + + '" value="' | ||
1120 | + + atr.dados[i][atr.colunas[j]] | ||
1121 | + + '" name="' | ||
1122 | + + atr.colunas[j] | ||
1123 | + + '" /></p>'; | ||
1124 | + } | ||
1125 | + } | ||
1126 | + } | ||
1127 | + $i("editarAtributosForm").innerHTML = ins; | ||
1128 | + new YAHOO.widget.Button("editarAtributosAdicionar", { | ||
1129 | + onclick : { | ||
1130 | + fn : function() { | ||
1131 | + var novoel = document.createElement("div"), ins = "<hr><br>"; | ||
1132 | + for (j = 0; j < nj; j++) { | ||
1133 | + if (atr.aliascolunas[j] !== "idunico") { | ||
1134 | + ins += | ||
1135 | + '<p class=paragrafo >' + atr.aliascolunas[j] | ||
1136 | + + ' - ' | ||
1137 | + + atr.descricao[j] | ||
1138 | + + ':<br>' | ||
1139 | + + '<input class=digitar id="" value="" name="' | ||
1140 | + + atr.colunas[j] | ||
1141 | + + '" /></p>'; | ||
1142 | + } | ||
1143 | + } | ||
1144 | + ins += "<br></div>"; | ||
1145 | + novoel.innerHTML = ins; | ||
1146 | + $i("editarAtributosForm").appendChild(novoel); | ||
1147 | + } | ||
1148 | + } | ||
1149 | + }); | ||
1150 | + new YAHOO.widget.Button("editarAtributosSalvar", { | ||
1151 | + onclick : { | ||
1152 | + fn : function() { | ||
1153 | + i3GEO.editorGM.editarAtributos.salva(); | ||
1154 | + } | ||
1155 | + } | ||
1156 | + }); | ||
1157 | + }; | ||
1158 | + cpJSON.call(p, "foo", temp, "&codigo_tipo_regiao=" + codigo_tipo_regiao | ||
1159 | + + "&id_medida_variavel=" | ||
1160 | + + id_medida_variavel | ||
1161 | + + "&x=" | ||
1162 | + + i3GEO.editorGM.editarAtributos.x | ||
1163 | + + "&y=" | ||
1164 | + + i3GEO.editorGM.editarAtributos.y); | ||
1165 | + }, | ||
1166 | + // FIXME redesenhar as camadas que sofrerem alteracoes em funcao do salvar ou excluir | ||
1167 | + /** | ||
1168 | + * Exclui o valor de uma medida de variavel para o componente de uma regiao | ||
1169 | + */ | ||
1170 | + excluir : function(id) { | ||
1171 | + if (i3GEO.login.verificaCookieLogin() === false) { | ||
1172 | + i3GEO.janela.tempoMsg("Você precisa fazer login para usar essa opção"); | ||
1173 | + return; | ||
1174 | + } | ||
1175 | + var p = i3GEO.configura.locaplic + "/admin/php/metaestat.php?funcao=excluiAtributosMedidaVariavel", codigo_tipo_regiao = | ||
1176 | + $i("i3geoCartoRegioesEditaveis").value, id_medida_variavel = $i("editarAtributosComboMedidas").value, identificador_regiao = | ||
1177 | + $i("editarAtributosidentificador_regiao").value, temp = function(retorno) { | ||
1178 | + i3GEO.editorGM.editarAtributos.pegaDados(); | ||
1179 | + i3GEO.janela.fechaAguarde("aguardeSalvaAtributos"); | ||
1180 | + }; | ||
1181 | + i3GEO.janela.AGUARDEMODAL = true; | ||
1182 | + i3GEO.janela.abreAguarde("aguardeSalvaAtributos", "Salvando..."); | ||
1183 | + i3GEO.janela.AGUARDEMODAL = false; | ||
1184 | + cpJSON.call(p, "foo", temp, "&codigo_tipo_regiao=" + codigo_tipo_regiao | ||
1185 | + + "&identificador_regiao=" | ||
1186 | + + identificador_regiao | ||
1187 | + + "&id_medida_variavel=" | ||
1188 | + + id_medida_variavel | ||
1189 | + + "&id=" | ||
1190 | + + id); | ||
1191 | + | ||
1192 | + }, | ||
1193 | + /** | ||
1194 | + * Salva os valores digitados | ||
1195 | + */ | ||
1196 | + salva : function() { | ||
1197 | + if (i3GEO.login.verificaCookieLogin() === false) { | ||
1198 | + i3GEO.janela.tempoMsg("Você precisa fazer login para usar essa opção"); | ||
1199 | + return; | ||
1200 | + } | ||
1201 | + var container = $i("editarAtributosForm"), divsT = container.getElementsByTagName("div"), n = divsT.length, i = 0, dv = "", inputs = | ||
1202 | + "", codigo_tipo_regiao = $i("i3geoCartoRegioesEditaveis").value, id_medida_variavel = | ||
1203 | + $i("editarAtributosComboMedidas").value, identificador_regiao = $i("editarAtributosidentificador_regiao").value, nj, j, colunas = | ||
1204 | + [], colunasT = [], valores = [], valoresT = [], idsunicosT = [], p = | ||
1205 | + i3GEO.configura.locaplic + "/admin/php/metaestat.php?funcao=salvaAtributosMedidaVariavel", re = | ||
1206 | + new RegExp("idunico_", "g"), // prefixo usado para marcar o id dos elementos input que contem os valores que se quer | ||
1207 | + // obter | ||
1208 | + temp = function(retorno) { | ||
1209 | + i3GEO.editorGM.editarAtributos.pegaDados(); | ||
1210 | + i3GEO.editorGM.atualizaCamadasMetaestat(); | ||
1211 | + i3GEO.janela.fechaAguarde("aguardeSalvaAtributos"); | ||
1212 | + }; | ||
1213 | + if (codigo_tipo_regiao == "") { | ||
1214 | + i3GEO.janela.tempoMsg("Problemas com o codigo da regiao"); | ||
1215 | + return; | ||
1216 | + } | ||
1217 | + if (id_medida_variavel == "") { | ||
1218 | + i3GEO.janela.tempoMsg("Escolha uma medida"); | ||
1219 | + return; | ||
1220 | + } | ||
1221 | + if (identificador_regiao == "") { | ||
1222 | + i3GEO.janela.tempoMsg("Problemas com o identificador da regiao"); | ||
1223 | + return; | ||
1224 | + } | ||
1225 | + for (i = 0; i < n; i++) { | ||
1226 | + dv = divsT[i]; | ||
1227 | + inputs = dv.getElementsByTagName("input"); | ||
1228 | + nj = inputs.length; | ||
1229 | + colunas = []; | ||
1230 | + valores = []; | ||
1231 | + for (j = 0; j < nj; j++) { | ||
1232 | + colunas.push(inputs[j].name); | ||
1233 | + valores.push(inputs[j].value); | ||
1234 | + } | ||
1235 | + idsunicosT.push(inputs[0].id.replace(re, '')); | ||
1236 | + colunasT.push(colunas.join("|")); | ||
1237 | + valoresT.push(valores.join("|")); | ||
1238 | + } | ||
1239 | + i3GEO.janela.AGUARDEMODAL = true; | ||
1240 | + i3GEO.janela.abreAguarde("aguardeSalvaAtributos", "Salvando..."); | ||
1241 | + i3GEO.janela.AGUARDEMODAL = false; | ||
1242 | + cpJSON.call(p, "foo", temp, "&codigo_tipo_regiao=" + codigo_tipo_regiao | ||
1243 | + + "&identificador_regiao=" | ||
1244 | + + identificador_regiao | ||
1245 | + + "&id_medida_variavel=" | ||
1246 | + + id_medida_variavel | ||
1247 | + + "&colunas=" | ||
1248 | + + colunasT[0] | ||
1249 | + + "&valores=" | ||
1250 | + + valoresT.join("#") | ||
1251 | + + "&idsunicos=" | ||
1252 | + + idsunicosT.join("|")); | ||
1253 | + } | ||
1254 | + }, | ||
1255 | + /** | ||
1256 | + * Abre a janela de ajuda sobre a operacao dos botoes do editor | ||
1257 | + */ | ||
1258 | + ajuda : function() { | ||
1259 | + var titulo, cabecalho, minimiza, html = ""; | ||
1260 | + cabecalho = function() { | ||
1261 | + }; | ||
1262 | + minimiza = function() { | ||
1263 | + i3GEO.janela.minimiza("editaAtributosAjuda"); | ||
1264 | + }; | ||
1265 | + titulo = "<div class='i3GeoTituloJanela'>Ajuda </div>"; | ||
1266 | + i3GEO.janela.cria("400px", "350px", "", "", "", titulo, "editaAtributosAjuda", false, "hd", cabecalho, minimiza); | ||
1267 | + $i("editaAtributosAjuda_corpo").style.backgroundColor = "white"; | ||
1268 | + html += | ||
1269 | + "<table class=lista8 >" + "<tr><td><img src='" + i3GEO.configura.locaplic | ||
1270 | + + "/imagens/gisicons/polygon-create.png' /></td>" | ||
1271 | + + "<td>Clique no mapa para traçar um polígono novo. Cada clique corresponde a um vértice do polígono. Para encerrar o traçado utilize um duplo clique. Após traçar um novo polígono pode-se selecioná-lo novamente e editar os vértices, se for necessário, ou mesmo apagar o polígono por completo. O novo polígono só será salvo por meio da opção específica para isso.</td></tr>" | ||
1272 | + + "<tr><td><img src='" | ||
1273 | + + i3GEO.configura.locaplic | ||
1274 | + + "/imagens/gisicons/layer-import.png' /></td>" | ||
1275 | + + "<td>Utilize essa opção para capturar os vértices de um polígono existente. O resultado da captura é uma figura que pode ser editada, ou seja, os vértices podem ser modificados de posição ou mesmo removidos. Após editar, salve o novo polígono.</td></tr>" | ||
1276 | + + "<tr><td><img src='" | ||
1277 | + + i3GEO.configura.locaplic | ||
1278 | + + "/imagens/gisicons/select.png' /></td>" | ||
1279 | + + "<td>Após ativar essa opção clique no mapa sobre uma figura existente (que tenha sido capturada ou digtalizada). A figura passará então para o estado de 'selecionada' podendo ser utilizada por outras ferramentas de edição.</td></tr>" | ||
1280 | + + "<tr><td><img src='" | ||
1281 | + + i3GEO.configura.locaplic | ||
1282 | + + "/imagens/gisicons/selected-delete.png' /></td>" | ||
1283 | + + "<td>Remove da tela a figura que estiver selecionada. Essa operação não apaga o polígono do banco de dados, apenas remove do modo de edição.</td></tr>" | ||
1284 | + + "<tr><td><img src='" | ||
1285 | + + i3GEO.configura.locaplic | ||
1286 | + + "/imagens/gisicons/vector-save.png' /></td>" | ||
1287 | + + "<td>Salva no banco de dados a figura que estiver selecionada. Essa opção altera apenas os atributos do limite geográfico, não afetando os valores armazenados em cada medida de variável.</td></tr>" | ||
1288 | + + "<tr><td><img src='" | ||
1289 | + + i3GEO.configura.locaplic | ||
1290 | + + "/imagens/gisicons/annotation-form.png' /></td>" | ||
1291 | + + "<td>Abre um formulário que permite alterar os valores de uma medida de variável relacionada a uma determinada região. Após abrir o formulário, clique no mapa sobre a região desejada, mas escolha a medida da variável primeiro. Os valores já existentes poderão então ser alterados ou podem ser adicionados novos.</td></tr>" | ||
1292 | + + "</table>"; | ||
1293 | + $i("editaAtributosAjuda_corpo").innerHTML = html; | ||
1294 | + } | ||
1295 | + }; | ||
1296 | + | ||
1297 | +// copia do original de pacotes/wicket | ||
1298 | + | ||
1299 | +/* global Wkt, google, document, window, console */ | ||
1300 | +google.maps.Marker.prototype.type = 'marker'; | ||
1301 | +google.maps.Polyline.prototype.type = 'polyline'; | ||
1302 | +google.maps.Polygon.prototype.type = 'polygon'; | ||
1303 | +google.maps.Rectangle.prototype.type = 'rectangle'; | ||
1304 | +google.maps.Circle.prototype.type = 'circle'; | ||
1305 | + | ||
1306 | +/** | ||
1307 | + * @license | ||
1308 | + * | ||
1309 | + * Copyright (C) 2012 K. Arthur Endsley (kaendsle@mtu.edu) Michigan Tech Research Institute (MTRI) 3600 Green Court, Suite 100, Ann Arbor, | ||
1310 | + * MI, 48105 | ||
1311 | + * | ||
1312 | + * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by | ||
1313 | + * the Free Software Foundation, either version 3 of the License, or (at your option) any later version. | ||
1314 | + * | ||
1315 | + * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
1316 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. | ||
1317 | + * | ||
1318 | + * You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
1319 | + * | ||
1320 | + */ | ||
1321 | +(function(Wkt) { | ||
1322 | + | ||
1323 | + /** | ||
1324 | + * @augments Wkt.Wkt A framework-dependent flag, set for each Wkt.Wkt() instance, that indicates whether or not a closed polygon | ||
1325 | + * geometry should be interpreted as a rectangle. | ||
1326 | + */ | ||
1327 | + Wkt.Wkt.prototype.isRectangle = false; | ||
1328 | + | ||
1329 | + /** | ||
1330 | + * @augments Wkt.Wkt An object of framework-dependent construction methods used to generate objects belonging to the various geometry | ||
1331 | + * classes of the framework. | ||
1332 | + */ | ||
1333 | + Wkt.Wkt.prototype.construct = { | ||
1334 | + /** | ||
1335 | + * Creates the framework's equivalent point geometry object. | ||
1336 | + * | ||
1337 | + * @param config | ||
1338 | + * {Object} An optional properties hash the object should use | ||
1339 | + * @param component | ||
1340 | + * {Object} An optional component to build from | ||
1341 | + * @return {google.maps.Marker} | ||
1342 | + */ | ||
1343 | + point : function(config, component) { | ||
1344 | + var c = component || this.components; | ||
1345 | + | ||
1346 | + config = config || {}; | ||
1347 | + | ||
1348 | + config.position = new google.maps.LatLng(c[0].y, c[0].x); | ||
1349 | + | ||
1350 | + return new google.maps.Marker(config); | ||
1351 | + }, | ||
1352 | + | ||
1353 | + /** | ||
1354 | + * Creates the framework's equivalent multipoint geometry object. | ||
1355 | + * | ||
1356 | + * @param config | ||
1357 | + * {Object} An optional properties hash the object should use | ||
1358 | + * @return {Array} Array containing multiple google.maps.Marker | ||
1359 | + */ | ||
1360 | + multipoint : function(config) { | ||
1361 | + var i, c, arr; | ||
1362 | + | ||
1363 | + c = this.components; | ||
1364 | + | ||
1365 | + config = config || {}; | ||
1366 | + | ||
1367 | + arr = []; | ||
1368 | + | ||
1369 | + for (i = 0; i < c.length; i += 1) { | ||
1370 | + arr.push(this.construct.point(config, c[i])); | ||
1371 | + } | ||
1372 | + | ||
1373 | + return arr; | ||
1374 | + }, | ||
1375 | + | ||
1376 | + /** | ||
1377 | + * Creates the framework's equivalent linestring geometry object. | ||
1378 | + * | ||
1379 | + * @param config | ||
1380 | + * {Object} An optional properties hash the object should use | ||
1381 | + * @param component | ||
1382 | + * {Object} An optional component to build from | ||
1383 | + * @return {google.maps.Polyline} | ||
1384 | + */ | ||
1385 | + linestring : function(config, component) { | ||
1386 | + var i, c; | ||
1387 | + | ||
1388 | + c = component || this.components; | ||
1389 | + | ||
1390 | + config = config || { | ||
1391 | + editable : false | ||
1392 | + }; | ||
1393 | + | ||
1394 | + config.path = []; | ||
1395 | + | ||
1396 | + for (i = 0; i < c.length; i += 1) { | ||
1397 | + config.path.push(new google.maps.LatLng(c[i].y, c[i].x)); | ||
1398 | + } | ||
1399 | + | ||
1400 | + return new google.maps.Polyline(config); | ||
1401 | + }, | ||
1402 | + | ||
1403 | + /** | ||
1404 | + * Creates the framework's equivalent multilinestring geometry object. | ||
1405 | + * | ||
1406 | + * @param config | ||
1407 | + * {Object} An optional properties hash the object should use | ||
1408 | + * @return {Array} Array containing multiple google.maps.Polyline instances | ||
1409 | + */ | ||
1410 | + multilinestring : function(config) { | ||
1411 | + var i, c, arr; | ||
1412 | + | ||
1413 | + c = this.components; | ||
1414 | + | ||
1415 | + config = config || { | ||
1416 | + editable : false | ||
1417 | + }; | ||
1418 | + | ||
1419 | + config.path = []; | ||
1420 | + | ||
1421 | + arr = []; | ||
1422 | + | ||
1423 | + for (i = 0; i < c.length; i += 1) { | ||
1424 | + arr.push(this.construct.linestring(config, c[i])); | ||
1425 | + } | ||
1426 | + | ||
1427 | + return arr; | ||
1428 | + }, | ||
1429 | + | ||
1430 | + /** | ||
1431 | + * Creates the framework's equivalent Box or Rectangle geometry object. | ||
1432 | + * | ||
1433 | + * @param config | ||
1434 | + * {Object} An optional properties hash the object should use | ||
1435 | + * @param component | ||
1436 | + * {Object} An optional component to build from | ||
1437 | + * @return {google.maps.Rectangle} | ||
1438 | + */ | ||
1439 | + box : function(config, component) { | ||
1440 | + var c = component || this.components; | ||
1441 | + | ||
1442 | + config = config || {}; | ||
1443 | + | ||
1444 | + config.bounds = new google.maps.LatLngBounds(new google.maps.LatLng(c[0].y, c[0].x), new google.maps.LatLng(c[1].y, c[1].x)); | ||
1445 | + | ||
1446 | + return new google.maps.Rectangle(config); | ||
1447 | + }, | ||
1448 | + | ||
1449 | + /** | ||
1450 | + * Creates the framework's equivalent polygon geometry object. | ||
1451 | + * | ||
1452 | + * @param config | ||
1453 | + * {Object} An optional properties hash the object should use | ||
1454 | + * @param component | ||
1455 | + * {Object} An optional component to build from | ||
1456 | + * @return {google.maps.Polygon} | ||
1457 | + */ | ||
1458 | + polygon : function(config, component) { | ||
1459 | + var j, k, c, rings, verts; | ||
1460 | + | ||
1461 | + c = component || this.components; | ||
1462 | + | ||
1463 | + config = config || { | ||
1464 | + editable : false | ||
1465 | + // Editable geometry off by default | ||
1466 | + }; | ||
1467 | + | ||
1468 | + config.paths = []; | ||
1469 | + | ||
1470 | + rings = []; | ||
1471 | + for (j = 0; j < c.length; j += 1) { // For each ring... | ||
1472 | + | ||
1473 | + verts = []; | ||
1474 | + // NOTE: We iterate to one (1) less than the Array length to skip the last vertex | ||
1475 | + for (k = 0; k < c[j].length - 1; k += 1) { // For each vertex... | ||
1476 | + verts.push(new google.maps.LatLng(c[j][k].y, c[j][k].x)); | ||
1477 | + | ||
1478 | + } // eo for each vertex | ||
1479 | + | ||
1480 | + if (j !== 0) { // Reverse the order of coordinates in inner rings | ||
1481 | + if (config.reverseInnerPolygons == null || config.reverseInnerPolygons) { | ||
1482 | + verts.reverse(); | ||
1483 | + } | ||
1484 | + } | ||
1485 | + | ||
1486 | + rings.push(verts); | ||
1487 | + } // eo for each ring | ||
1488 | + | ||
1489 | + config.paths = config.paths.concat(rings); | ||
1490 | + | ||
1491 | + if (this.isRectangle) { | ||
1492 | + return (function() { | ||
1493 | + var bounds, v = 0; | ||
1494 | + | ||
1495 | + bounds = new google.maps.LatLngBounds(); | ||
1496 | + | ||
1497 | + for (v in rings[0]) { // Ought to be only 1 ring in a Rectangle | ||
1498 | + if (rings[0].hasOwnProperty(v)) { | ||
1499 | + bounds.extend(rings[0][v]); | ||
1500 | + } | ||
1501 | + } | ||
1502 | + | ||
1503 | + return new google.maps.Rectangle({ | ||
1504 | + bounds : bounds | ||
1505 | + }); | ||
1506 | + }()); | ||
1507 | + } else { | ||
1508 | + return new google.maps.Polygon(config); | ||
1509 | + } | ||
1510 | + }, | ||
1511 | + | ||
1512 | + /** | ||
1513 | + * Creates the framework's equivalent multipolygon geometry object. | ||
1514 | + * | ||
1515 | + * @param config | ||
1516 | + * {Object} An optional properties hash the object should use | ||
1517 | + * @return {Array} Array containing multiple google.maps.Polygon | ||
1518 | + */ | ||
1519 | + multipolygon : function(config) { | ||
1520 | + var i, c, arr; | ||
1521 | + | ||
1522 | + c = this.components; | ||
1523 | + | ||
1524 | + config = config || { | ||
1525 | + editable : false | ||
1526 | + }; | ||
1527 | + | ||
1528 | + config.path = []; | ||
1529 | + | ||
1530 | + arr = []; | ||
1531 | + | ||
1532 | + for (i = 0; i < c.length; i += 1) { | ||
1533 | + arr.push(this.construct.polygon(config, c[i])); | ||
1534 | + } | ||
1535 | + | ||
1536 | + return arr; | ||
1537 | + } | ||
1538 | + | ||
1539 | + }; | ||
1540 | + | ||
1541 | + /** | ||
1542 | + * @augments Wkt.Wkt A framework-dependent deconstruction method used to generate internal geometric representations from instances of | ||
1543 | + * framework geometry. This method uses object detection to attempt to classify members of framework geometry classes into the | ||
1544 | + * standard WKT types. | ||
1545 | + * @param obj | ||
1546 | + * {Object} An instance of one of the framework's geometry classes | ||
1547 | + * @param multiFlag | ||
1548 | + * {Boolean} If true, then the deconstructor will be forced to return a MultiGeometry (multipoint, multilinestring or | ||
1549 | + * multipolygon) | ||
1550 | + * @return {Object} A hash of the 'type' and 'components' thus derived, plus the WKT string of the feature. | ||
1551 | + */ | ||
1552 | + Wkt.Wkt.prototype.deconstruct = | ||
1553 | + function(obj, multiFlag) { | ||
1554 | + var features, i, j, verts, rings, sign, tmp, response, lat, lng; | ||
1555 | + | ||
1556 | + // Shortcut to signed area function (determines clockwise vs counter-clock) | ||
1557 | + if (google.maps.geometry) { | ||
1558 | + sign = google.maps.geometry.spherical.computeSignedArea; | ||
1559 | + } | ||
1560 | + ; | ||
1561 | + | ||
1562 | + // google.maps.LatLng ////////////////////////////////////////////////////// | ||
1563 | + if (obj.constructor === google.maps.LatLng) { | ||
1564 | + | ||
1565 | + response = { | ||
1566 | + type : 'point', | ||
1567 | + components : [ | ||
1568 | + { | ||
1569 | + x : obj.lng(), | ||
1570 | + y : obj.lat() | ||
1571 | + } | ||
1572 | + ] | ||
1573 | + }; | ||
1574 | + return response; | ||
1575 | + } | ||
1576 | + | ||
1577 | + // google.maps.Point ////////////////////////////////////////////////////// | ||
1578 | + if (obj.constructor === google.maps.Point) { | ||
1579 | + response = { | ||
1580 | + type : 'point', | ||
1581 | + components : [ | ||
1582 | + { | ||
1583 | + x : obj.x, | ||
1584 | + y : obj.y | ||
1585 | + } | ||
1586 | + ] | ||
1587 | + }; | ||
1588 | + return response; | ||
1589 | + } | ||
1590 | + | ||
1591 | + // google.maps.Marker ////////////////////////////////////////////////////// | ||
1592 | + if (obj.constructor === google.maps.Marker) { | ||
1593 | + response = { | ||
1594 | + type : 'point', | ||
1595 | + components : [ | ||
1596 | + { | ||
1597 | + x : obj.getPosition().lng(), | ||
1598 | + y : obj.getPosition().lat() | ||
1599 | + } | ||
1600 | + ] | ||
1601 | + }; | ||
1602 | + return response; | ||
1603 | + } | ||
1604 | + | ||
1605 | + // google.maps.Polyline //////////////////////////////////////////////////// | ||
1606 | + if (obj.constructor === google.maps.Polyline) { | ||
1607 | + | ||
1608 | + verts = []; | ||
1609 | + for (i = 0; i < obj.getPath().length; i += 1) { | ||
1610 | + tmp = obj.getPath().getAt(i); | ||
1611 | + verts.push({ | ||
1612 | + x : tmp.lng(), | ||
1613 | + y : tmp.lat() | ||
1614 | + }); | ||
1615 | + } | ||
1616 | + response = { | ||
1617 | + type : 'linestring', | ||
1618 | + components : verts | ||
1619 | + }; | ||
1620 | + return response; | ||
1621 | + | ||
1622 | + } | ||
1623 | + | ||
1624 | + // google.maps.Polygon ///////////////////////////////////////////////////// | ||
1625 | + if (obj.constructor === google.maps.Polygon) { | ||
1626 | + | ||
1627 | + rings = []; | ||
1628 | + | ||
1629 | + if (multiFlag === undefined) { | ||
1630 | + multiFlag = (function() { | ||
1631 | + var areas, l; | ||
1632 | + | ||
1633 | + l = obj.getPaths().length; | ||
1634 | + if (l <= 1) { // Trivial; this is a single polygon | ||
1635 | + return false; | ||
1636 | + } | ||
1637 | + | ||
1638 | + if (l === 2) { | ||
1639 | + // If clockwise*clockwise or counter*counter, i.e. | ||
1640 | + // (-1)*(-1) or (1)*(1), then result would be positive | ||
1641 | + if (sign(obj.getPaths().getAt(0)) * sign(obj.getPaths().getAt(1)) < 0) { | ||
1642 | + return false; // Most likely single polygon with 1 hole | ||
1643 | + } | ||
1644 | + | ||
1645 | + return true; | ||
1646 | + } | ||
1647 | + | ||
1648 | + // Must be longer than 3 polygons at this point... | ||
1649 | + areas = obj.getPaths().getArray().map(function(k) { | ||
1650 | + return sign(k) / Math.abs(sign(k)); // Unit normalization (outputs 1 or -1) | ||
1651 | + }); | ||
1652 | + | ||
1653 | + // If two clockwise or two counter-clockwise rings are found | ||
1654 | + // (at different indices)... | ||
1655 | + if (areas.indexOf(areas[0]) !== areas.lastIndexOf(areas[0])) { | ||
1656 | + multiFlag = true; // Flag for holes in one or more polygons | ||
1657 | + return true; | ||
1658 | + } | ||
1659 | + | ||
1660 | + return false; | ||
1661 | + | ||
1662 | + }()); | ||
1663 | + } | ||
1664 | + | ||
1665 | + for (i = 0; i < obj.getPaths().length; i += 1) { // For each polygon (ring)... | ||
1666 | + tmp = obj.getPaths().getAt(i); | ||
1667 | + verts = []; | ||
1668 | + for (j = 0; j < obj.getPaths().getAt(i).length; j += 1) { // For each vertex... | ||
1669 | + verts.push({ | ||
1670 | + x : tmp.getAt(j).lng(), | ||
1671 | + y : tmp.getAt(j).lat() | ||
1672 | + }); | ||
1673 | + | ||
1674 | + } | ||
1675 | + | ||
1676 | + if (!tmp.getAt(tmp.length - 1).equals(tmp.getAt(0))) { | ||
1677 | + if (i % 2 !== 0) { // In inner rings, coordinates are reversed... | ||
1678 | + verts.unshift({ // Add the first coordinate again for closure | ||
1679 | + x : tmp.getAt(tmp.length - 1).lng(), | ||
1680 | + y : tmp.getAt(tmp.length - 1).lat() | ||
1681 | + }); | ||
1682 | + | ||
1683 | + } else { | ||
1684 | + verts.push({ // Add the first coordinate again for closure | ||
1685 | + x : tmp.getAt(0).lng(), | ||
1686 | + y : tmp.getAt(0).lat() | ||
1687 | + }); | ||
1688 | + | ||
1689 | + } | ||
1690 | + | ||
1691 | + } | ||
1692 | + | ||
1693 | + if (obj.getPaths().length > 1 && i > 0) { | ||
1694 | + // If this and the last ring have the same signs... | ||
1695 | + if (sign(obj.getPaths().getAt(i)) > 0 && sign(obj.getPaths().getAt(i - 1)) > 0 | ||
1696 | + || sign(obj.getPaths().getAt(i)) < 0 | ||
1697 | + && sign(obj.getPaths().getAt(i - 1)) < 0 | ||
1698 | + && !multiFlag) { | ||
1699 | + // ...They must both be inner rings (or both be outer rings, in a multipolygon) | ||
1700 | + verts = [ | ||
1701 | + verts | ||
1702 | + ]; // Wrap multipolygons once more (collection) | ||
1703 | + } | ||
1704 | + | ||
1705 | + } | ||
1706 | + | ||
1707 | + if (i % 2 !== 0) { // In inner rings, coordinates are reversed... | ||
1708 | + verts.reverse(); | ||
1709 | + } | ||
1710 | + rings.push(verts); | ||
1711 | + } | ||
1712 | + | ||
1713 | + response = { | ||
1714 | + type : (multiFlag) ? 'multipolygon' : 'polygon', | ||
1715 | + components : rings | ||
1716 | + }; | ||
1717 | + return response; | ||
1718 | + | ||
1719 | + } | ||
1720 | + | ||
1721 | + // google.maps.Circle ////////////////////////////////////////////////////// | ||
1722 | + if (obj.constructor === google.maps.Circle) { | ||
1723 | + var point = obj.getCenter(); | ||
1724 | + var radius = obj.getRadius(); | ||
1725 | + verts = []; | ||
1726 | + var d2r = Math.PI / 180; // degrees to radians | ||
1727 | + var r2d = 180 / Math.PI; // radians to degrees | ||
1728 | + radius = radius / 1609; // meters to miles | ||
1729 | + var earthsradius = 3963; // 3963 is the radius of the earth in miles | ||
1730 | + var num_seg = 32; // number of segments used to approximate a circle | ||
1731 | + var rlat = (radius / earthsradius) * r2d; | ||
1732 | + var rlng = rlat / Math.cos(point.lat() * d2r); | ||
1733 | + | ||
1734 | + for (var n = 0; n <= num_seg; n++) { | ||
1735 | + var theta = Math.PI * (n / (num_seg / 2)); | ||
1736 | + lng = point.lng() + (rlng * Math.cos(theta)); // center a + radius x * cos(theta) | ||
1737 | + lat = point.lat() + (rlat * Math.sin(theta)); // center b + radius y * sin(theta) | ||
1738 | + verts.push({ | ||
1739 | + x : lng, | ||
1740 | + y : lat | ||
1741 | + }); | ||
1742 | + } | ||
1743 | + | ||
1744 | + response = { | ||
1745 | + type : 'polygon', | ||
1746 | + components : [ | ||
1747 | + verts | ||
1748 | + ] | ||
1749 | + }; | ||
1750 | + | ||
1751 | + return response; | ||
1752 | + | ||
1753 | + } | ||
1754 | + | ||
1755 | + // google.maps.LatLngBounds /////////////////////////////////////////////////// | ||
1756 | + if (obj.constructor === google.maps.LatLngBounds) { | ||
1757 | + | ||
1758 | + tmp = obj; | ||
1759 | + verts = []; | ||
1760 | + verts.push({ // NW corner | ||
1761 | + x : tmp.getSouthWest().lng(), | ||
1762 | + y : tmp.getNorthEast().lat() | ||
1763 | + }); | ||
1764 | + | ||
1765 | + verts.push({ // NE corner | ||
1766 | + x : tmp.getNorthEast().lng(), | ||
1767 | + y : tmp.getNorthEast().lat() | ||
1768 | + }); | ||
1769 | + | ||
1770 | + verts.push({ // SE corner | ||
1771 | + x : tmp.getNorthEast().lng(), | ||
1772 | + y : tmp.getSouthWest().lat() | ||
1773 | + }); | ||
1774 | + | ||
1775 | + verts.push({ // SW corner | ||
1776 | + x : tmp.getSouthWest().lng(), | ||
1777 | + y : tmp.getSouthWest().lat() | ||
1778 | + }); | ||
1779 | + | ||
1780 | + verts.push({ // NW corner (again, for closure) | ||
1781 | + x : tmp.getSouthWest().lng(), | ||
1782 | + y : tmp.getNorthEast().lat() | ||
1783 | + }); | ||
1784 | + | ||
1785 | + response = { | ||
1786 | + type : 'polygon', | ||
1787 | + isRectangle : true, | ||
1788 | + components : [ | ||
1789 | + verts | ||
1790 | + ] | ||
1791 | + }; | ||
1792 | + | ||
1793 | + return response; | ||
1794 | + | ||
1795 | + } | ||
1796 | + | ||
1797 | + // google.maps.Rectangle /////////////////////////////////////////////////// | ||
1798 | + if (obj.constructor === google.maps.Rectangle) { | ||
1799 | + | ||
1800 | + tmp = obj.getBounds(); | ||
1801 | + verts = []; | ||
1802 | + verts.push({ // NW corner | ||
1803 | + x : tmp.getSouthWest().lng(), | ||
1804 | + y : tmp.getNorthEast().lat() | ||
1805 | + }); | ||
1806 | + | ||
1807 | + verts.push({ // NE corner | ||
1808 | + x : tmp.getNorthEast().lng(), | ||
1809 | + y : tmp.getNorthEast().lat() | ||
1810 | + }); | ||
1811 | + | ||
1812 | + verts.push({ // SE corner | ||
1813 | + x : tmp.getNorthEast().lng(), | ||
1814 | + y : tmp.getSouthWest().lat() | ||
1815 | + }); | ||
1816 | + | ||
1817 | + verts.push({ // SW corner | ||
1818 | + x : tmp.getSouthWest().lng(), | ||
1819 | + y : tmp.getSouthWest().lat() | ||
1820 | + }); | ||
1821 | + | ||
1822 | + verts.push({ // NW corner (again, for closure) | ||
1823 | + x : tmp.getSouthWest().lng(), | ||
1824 | + y : tmp.getNorthEast().lat() | ||
1825 | + }); | ||
1826 | + | ||
1827 | + response = { | ||
1828 | + type : 'polygon', | ||
1829 | + isRectangle : true, | ||
1830 | + components : [ | ||
1831 | + verts | ||
1832 | + ] | ||
1833 | + }; | ||
1834 | + | ||
1835 | + return response; | ||
1836 | + | ||
1837 | + } | ||
1838 | + | ||
1839 | + // google.maps.Data Geometry Types ///////////////////////////////////////////////////// | ||
1840 | + | ||
1841 | + // google.maps.Data.Feature ///////////////////////////////////////////////////// | ||
1842 | + if (obj.constructor === google.maps.Data.Feature) { | ||
1843 | + return this.deconstruct.call(this, obj.getGeometry()); | ||
1844 | + } | ||
1845 | + | ||
1846 | + // google.maps.Data.Point ///////////////////////////////////////////////////// | ||
1847 | + if (obj.constructor === google.maps.Data.Point) { | ||
1848 | + // console.log('It is a google.maps.Data.Point'); | ||
1849 | + response = { | ||
1850 | + type : 'point', | ||
1851 | + components : [ | ||
1852 | + { | ||
1853 | + x : obj.get().lng(), | ||
1854 | + y : obj.get().lat() | ||
1855 | + } | ||
1856 | + ] | ||
1857 | + }; | ||
1858 | + return response; | ||
1859 | + } | ||
1860 | + | ||
1861 | + // google.maps.Data.LineString ///////////////////////////////////////////////////// | ||
1862 | + if (obj.constructor === google.maps.Data.LineString) { | ||
1863 | + verts = []; | ||
1864 | + // console.log('It is a google.maps.Data.LineString'); | ||
1865 | + for (i = 0; i < obj.getLength(); i += 1) { | ||
1866 | + vertex = obj.getAt(i); | ||
1867 | + verts.push({ | ||
1868 | + x : vertex.lng(), | ||
1869 | + y : vertex.lat() | ||
1870 | + }); | ||
1871 | + } | ||
1872 | + response = { | ||
1873 | + type : 'linestring', | ||
1874 | + components : verts | ||
1875 | + }; | ||
1876 | + return response; | ||
1877 | + } | ||
1878 | + | ||
1879 | + // google.maps.Data.Polygon ///////////////////////////////////////////////////// | ||
1880 | + if (obj.constructor === google.maps.Data.Polygon) { | ||
1881 | + var rings = []; | ||
1882 | + // console.log('It is a google.maps.Data.Polygon'); | ||
1883 | + for (i = 0; i < obj.getLength(); i += 1) { // For each ring... | ||
1884 | + ring = obj.getAt(i); | ||
1885 | + var verts = []; | ||
1886 | + for (j = 0; j < ring.getLength(); j += 1) { // For each vertex... | ||
1887 | + vertex = ring.getAt(j); | ||
1888 | + verts.push({ | ||
1889 | + x : vertex.lng(), | ||
1890 | + y : vertex.lat() | ||
1891 | + }); | ||
1892 | + } | ||
1893 | + verts.push({ | ||
1894 | + x : ring.getAt(0).lng(), | ||
1895 | + y : ring.getAt(0).lat() | ||
1896 | + }); | ||
1897 | + | ||
1898 | + rings.push(verts); | ||
1899 | + } | ||
1900 | + response = { | ||
1901 | + type : 'polygon', | ||
1902 | + components : rings | ||
1903 | + }; | ||
1904 | + | ||
1905 | + return response; | ||
1906 | + } | ||
1907 | + | ||
1908 | + // google.maps.Data.MultiPoint ///////////////////////////////////////////////////// | ||
1909 | + if (obj.constructor === google.maps.Data.MultiPoint) { | ||
1910 | + verts = []; | ||
1911 | + for (i = 0; i < obj.getLength(); i += 1) { | ||
1912 | + vertex = obj.getAt(i); | ||
1913 | + verts.push([ | ||
1914 | + { | ||
1915 | + x : vertex.lng(), | ||
1916 | + y : vertex.lat() | ||
1917 | + } | ||
1918 | + ]); | ||
1919 | + } | ||
1920 | + response = { | ||
1921 | + type : 'multipoint', | ||
1922 | + components : verts | ||
1923 | + }; | ||
1924 | + return response; | ||
1925 | + } | ||
1926 | + | ||
1927 | + // google.maps.Data.MultiLineString ///////////////////////////////////////////////////// | ||
1928 | + if (obj.constructor === google.maps.Data.MultiLineString) { | ||
1929 | + linestrings = []; | ||
1930 | + for (i = 0; i < obj.getLength(); i += 1) { | ||
1931 | + verts = []; | ||
1932 | + var linestring = obj.getAt(i); | ||
1933 | + for (j = 0; j < linestring.getLength(); j += 1) { | ||
1934 | + vertex = linestring.getAt(j); | ||
1935 | + verts.push({ | ||
1936 | + x : vertex.lng(), | ||
1937 | + y : vertex.lat() | ||
1938 | + }); | ||
1939 | + } | ||
1940 | + linestrings.push(verts); | ||
1941 | + } | ||
1942 | + response = { | ||
1943 | + type : 'multilinestring', | ||
1944 | + components : linestrings | ||
1945 | + }; | ||
1946 | + return response; | ||
1947 | + } | ||
1948 | + | ||
1949 | + // google.maps.Data.MultiPolygon ///////////////////////////////////////////////////// | ||
1950 | + if (obj.constructor === google.maps.Data.MultiPolygon) { | ||
1951 | + | ||
1952 | + var k = 0, polygons = []; | ||
1953 | + | ||
1954 | + // console.log('It is a google.maps.Data.MultiPolygon'); | ||
1955 | + for (k = 0; k < obj.getLength(); k += 1) { // For each multipolygon | ||
1956 | + var polygon = obj.getAt(k); | ||
1957 | + var rings = []; | ||
1958 | + for (i = 0; i < polygon.getLength(); i += 1) { // For each ring... | ||
1959 | + ring = polygon.getAt(i); | ||
1960 | + var verts = []; | ||
1961 | + for (j = 0; j < ring.getLength(); j += 1) { // For each vertex... | ||
1962 | + vertex = ring.getAt(j); | ||
1963 | + verts.push({ | ||
1964 | + x : vertex.lng(), | ||
1965 | + y : vertex.lat() | ||
1966 | + }); | ||
1967 | + } | ||
1968 | + verts.push({ | ||
1969 | + x : ring.getAt(0).lng(), | ||
1970 | + y : ring.getAt(0).lat() | ||
1971 | + }); | ||
1972 | + | ||
1973 | + rings.push(verts); | ||
1974 | + } | ||
1975 | + polygons.push(rings); | ||
1976 | + } | ||
1977 | + | ||
1978 | + response = { | ||
1979 | + type : 'multipolygon', | ||
1980 | + components : polygons | ||
1981 | + }; | ||
1982 | + return response; | ||
1983 | + } | ||
1984 | + | ||
1985 | + // google.maps.Data.GeometryCollection ///////////////////////////////////////////////////// | ||
1986 | + if (obj.constructor === google.maps.Data.GeometryCollection) { | ||
1987 | + | ||
1988 | + var objects = []; | ||
1989 | + for (k = 0; k < obj.getLength(); k += 1) { // For each multipolygon | ||
1990 | + var object = obj.getAt(k); | ||
1991 | + objects.push(this.deconstruct.call(this, object)); | ||
1992 | + } | ||
1993 | + // console.log('It is a google.maps.Data.GeometryCollection', objects); | ||
1994 | + response = { | ||
1995 | + type : 'geometrycollection', | ||
1996 | + components : objects | ||
1997 | + }; | ||
1998 | + return response; | ||
1999 | + } | ||
2000 | + | ||
2001 | + // Array /////////////////////////////////////////////////////////////////// | ||
2002 | + if (Wkt.isArray(obj)) { | ||
2003 | + features = []; | ||
2004 | + | ||
2005 | + for (i = 0; i < obj.length; i += 1) { | ||
2006 | + features.push(this.deconstruct.call(this, obj[i], true)); | ||
2007 | + } | ||
2008 | + | ||
2009 | + response = { | ||
2010 | + | ||
2011 | + type : (function() { | ||
2012 | + var k, type = obj[0].constructor; | ||
2013 | + | ||
2014 | + for (k = 0; k < obj.length; k += 1) { | ||
2015 | + // Check that all items have the same constructor as the first item | ||
2016 | + if (obj[k].constructor !== type) { | ||
2017 | + // If they don't, type is heterogeneous geometry collection | ||
2018 | + return 'geometrycollection'; | ||
2019 | + } | ||
2020 | + } | ||
2021 | + | ||
2022 | + switch (type) { | ||
2023 | + case google.maps.Marker: | ||
2024 | + return 'multipoint'; | ||
2025 | + case google.maps.Polyline: | ||
2026 | + return 'multilinestring'; | ||
2027 | + case google.maps.Polygon: | ||
2028 | + return 'multipolygon'; | ||
2029 | + default: | ||
2030 | + return 'geometrycollection'; | ||
2031 | + } | ||
2032 | + | ||
2033 | + }()), | ||
2034 | + components : (function() { | ||
2035 | + // Pluck the components from each Wkt | ||
2036 | + var i, comps; | ||
2037 | + | ||
2038 | + comps = []; | ||
2039 | + for (i = 0; i < features.length; i += 1) { | ||
2040 | + if (features[i].components) { | ||
2041 | + comps.push(features[i].components); | ||
2042 | + } | ||
2043 | + } | ||
2044 | + | ||
2045 | + return { | ||
2046 | + "comps" : comps | ||
2047 | + }; | ||
2048 | + }()) | ||
2049 | + | ||
2050 | + }; | ||
2051 | + response.components = response.components.comps; | ||
2052 | + return response; | ||
2053 | + | ||
2054 | + } | ||
2055 | + }; | ||
2056 | +}(Wkt || require('./wicket'))); |
@@ -0,0 +1 @@ | @@ -0,0 +1 @@ | ||
1 | +if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.editorGM={iconePonto:function(sel){if(sel){return i3GEO.configura.locaplic+"/imagens/google/symbol_middot_y.png"}else{return i3GEO.configura.locaplic+"/imagens/google/symbol_middot.png"}},aguarde:"",iddiv:"",drawingManager:"",selectedShape:null,regioestemas:{},temasregioes:{},descregioes:[],inicia:function(iddiv){var i,n,ics;i3GEO.editorGM.iddiv=iddiv;$i(iddiv).innerHTML=i3GEO.editorGM.html();ics=$i(iddiv).getElementsByTagName("button");n=ics.length;i3GEO.barraDeBotoes.ativaBotoes();i3GEO.editorGM.comboRegiaoEditavel();for(i=0;i<n;i++){ics[i].style.backgroundColor="white";ics[i].className="iconeGuiaMovel";ics[i].onmouseout=function(){this.className="iconeGuiaMovel iconeGuiaMovelMouseOut"};ics[i].onmouseover=function(){this.className="iconeGuiaMovel iconeGuiaMovelMouseOver"};ics[i].style.backgroundImage="none";ics[i].style.height="32px";ics[i].style.width="32px";ics[i].style.border="1px solid gray";ics[i].style.margin="0px"}i3GEO.editorGM.drawingManager=new google.maps.drawing.DrawingManager({drawingMode:google.maps.drawing.OverlayType.POLYGON,drawingControl:false,drawingControlOptions:{position:google.maps.ControlPosition.TOP_CENTER,drawingModes:[google.maps.drawing.OverlayType.POLYGON,google.maps.drawing.OverlayType.MARKER,google.maps.drawing.OverlayType.POLYLINE]},markerOptions:{icon:i3GEO.editorGM.iconePonto(),clickable:true,zIndex:1,draggable:true,tema:"",colunaid:"",valorid:"",colunanome:"",valornome:"",editable:false},polygonOptions:{fillColor:'#ffff00',fillOpacity:.5,strokeWeight:2,clickable:true,zIndex:1,editable:true,tema:"",colunaid:"",valorid:"",colunanome:"",valornome:""}});i3GEO.editorGM.drawingManager.setMap(i3GeoMap);i3GEO.editorGM.drawingManager.setDrawingMode(null);google.maps.event.addListener(i3GEO.editorGM.drawingManager,'overlaycomplete',function(e){i3GEO.editorGM.drawingManager.setDrawingMode(null);i3GEO.editorGM.mudaicone();var newShape=e.overlay;newShape.type=e.type;newShape.tema=$i("i3geoCartoRegioesEditaveis").value;newShape.colunaid="";newShape.valorid="";newShape.colunanome="";newShape.valornome="";google.maps.event.addListener(newShape,'click',function(){i3GEO.editorGM.setSelection(newShape)});i3GEO.editorGM.setSelection(newShape);i3GEO.desenho.googlemaps.shapes.push(newShape)});google.maps.event.addListener(i3GEO.editorGM.drawingManager,'drawingmode_changed',i3GEO.editorGM.clearSelection);google.maps.event.addListener(i3GeoMap,'click',i3GEO.editorGM.clearSelection)},atualizaCamadasMetaestat:function(){var p=i3GEO.configura.locaplic+"/ferramentas/metaestat/analise.php?funcao=LISTACAMADASMETAESTAT&g_sid="+i3GEO.configura.sid,temp=function(retorno){var n=retorno.data.length,i;for(i=0;i<n;i++){i3GEO.Interface.atualizaTema("",retorno.data[i])}};cpJSON.call(p,"foo",temp)},html:function(){var ins='<div style=margin-left:5px >'+' <button title="'+$trad("dpol")+'" onclick="i3GEO.editorGM.digitalizaPol(this)"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/polygon-create.png" /></button>'+' <button title="'+$trad("dponto")+'" onclick="i3GEO.editorGM.digitalizaPt(this)"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/point-create.png" /></button>'+' <button title="'+$trad("capturar")+'" onclick="i3GEO.editorGM.capturaPoligonoTema.ativa(this)"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/layer-import.png" /></button>'+' <button title="'+$trad("d24t")+'" onclick="i3GEO.editorGM.seleciona(this)"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/select.png" /></button>'+' <button title="'+$trad("studo")+'" onclick="i3GEO.editorGM.selectAll(this)"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/selectall.png" /></button>'+' <button title="'+$trad("excsel")+'" onclick="i3GEO.editorGM.deleteSelectedShape()"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/selected-delete.png" /></button>'+' <button title="'+$trad("salvexc")+'" onclick="i3GEO.editorGM.salvaLimite.inicia()"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/vector-save.png" /></button>'+' <button title="'+$trad("edatrib")+'" onclick="i3GEO.editorGM.editarAtributos.ativa(this)"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/annotation-form.png" /></button>'+' <button title="'+$trad("s1")+'" onmousedown="i3GEO.editorGM.mudaicone()" onclick="i3GEO.editorGM.ajuda()" ><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/help-contents.png" /></button>'+' <br><div id="i3geoCartoRegioesEditaveisDiv" ><img style="display:block;z-index:2" src="'+i3GEO.configura.locaplic+'/imagens/aguarde.gif" /></div></div>';return ins},ativaFoco:function(){i3GEO.util.mudaCursor(i3GEO.configura.cursores,"crosshair",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic);i3GEO.barraDeBotoes.ativaIcone("pan");i3GEO.editorGM.mudaicone();i3GEO.Interface.googlemaps.recalcPar()},setSelection:function(shape){if(shape.setEditable){shape.setEditable(!shape.editable)}else{shape.editable=true;shape.setIcon({url:i3GEO.editorGM.iconePonto(true)})}},clearSelection:function(){var i,n=i3GEO.desenho.googlemaps.shapes.length;for(i=0;i<n;i++){if(i3GEO.desenho.googlemaps.shapes[i]!=""&&i3GEO.desenho.googlemaps.shapes[i].setEditable){i3GEO.desenho.googlemaps.shapes[i].setEditable(false)}else if(i3GEO.desenho.googlemaps.shapes[i]!=""){i3GEO.desenho.googlemaps.shapes[i].editable=false;if(i3GEO.desenho.googlemaps.shapes[i].setIcon){i3GEO.desenho.googlemaps.shapes[i].setIcon({url:i3GEO.editorGM.iconePonto(false)})}}}},selectAll:function(){var i,n=i3GEO.desenho.googlemaps.shapes.length;for(i=0;i<n;i++){if(i3GEO.desenho.googlemaps.shapes[i]!=""&&i3GEO.desenho.googlemaps.shapes[i].setEditable){i3GEO.desenho.googlemaps.shapes[i].setEditable(true)}else if(i3GEO.desenho.googlemaps.shapes[i]!=""){i3GEO.desenho.googlemaps.shapes[i].editable=true;i3GEO.desenho.googlemaps.shapes[i].setIcon({url:i3GEO.editorGM.iconePonto(true)})}}},deleteSelectedShape:function(naoconfirma){i3GEO.janela.tempoMsg($trad("meneditor1"));if(!naoconfirma){naoconfirma=false}var i,n=i3GEO.desenho.googlemaps.shapes.length;if(n>0){if(naoconfirma===false){var x=window.confirm($trad("excsel")+"?")}else{x=true}if(x){for(i=0;i<n;i++){if(i3GEO.desenho.googlemaps.shapes[i]!=""&&i3GEO.desenho.googlemaps.shapes[i].editable&&i3GEO.desenho.googlemaps.shapes[i].editable===true){i3GEO.desenho.googlemaps.shapes[i].setMap(null);i3GEO.desenho.googlemaps.shapes[i]=""}}}}else{i3GEO.janela.tempoMsg($trad("selum"))}},selectedShapes:function(){var i,s=[],n=i3GEO.desenho.googlemaps.shapes.length;for(i=0;i<n;i++){if(i3GEO.desenho.googlemaps.shapes[i]!=""&&i3GEO.desenho.googlemaps.shapes[i].editable===true){s.push(i3GEO.desenho.googlemaps.shapes[i])}}return s},getCoordenadas:function(){var coordenadas=[],lista=[],n=i3GEO.desenho.googlemaps.shapes.length,tipo="",ps,nps,j,p,i,r;for(i=0;i<n;i++){coordenadas=[];if(i3GEO.desenho.googlemaps.shapes[i]!=""&&i3GEO.desenho.googlemaps.shapes[i].editable===true){if(tipo==""){tipo=i3GEO.desenho.googlemaps.shapes[i].type}ps=i3GEO.desenho.googlemaps.shapes[i].getPath();nps=ps.getLength();for(j=0;j<nps;j++){p=ps.getAt(j);coordenadas.push([p.lng()+" "+p.lat()])}lista.push(coordenadas)}}r={"tipo":tipo,"coordenadas":lista};return r},toWKT:function(obj){var wkt=new Wkt.Wkt();wkt.fromObject(obj);return wkt.write()},merge:function(geoms){var n=geoms.length,w=new Wkt.Wkt(),g,m,i;w.read(geoms[0].toString());if(n>1){for(i=1;i<n;i++){g=geoms[i].toString();m=new Wkt.Wkt();m.read(g);w.merge(m)}}return w.write()},capturaPoligonoTema:{ativa:function(botao){i3GEO.editorGM.mudaicone(botao);i3GEO.eventos.cliquePerm.desativa();i3GEO.eventos.adicionaEventos("MOUSECLIQUE",["i3GEO.editorGM.capturaPoligonoTema.captura()"]);i3GEO.util.mudaCursor(i3GEO.configura.cursores,"crosshair",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic)},desativa:function(){},captura:function(){var temp,tema="",regiao="",p,par,aguarde=$i("i3GEOjanelaEditor_imagemCabecalho");if(!$i("i3geoCartoRegioesEditaveis")){i3GEO.eventos.removeEventos("MOUSECLIQUE",["i3GEO.editorGM.capturaPoligonoTema.captura()"])}else{temp=function(retorno){var temp,n,i,WicketWkt,wkt="",colunaid="",valorid="",colunanome="",valornome="",aguarde=$i("i3GEOjanelaEditor_imagemCabecalho");if(i3GEO.editorGM.descregioes["a_"+regiao]["identificador"]){colunaid=i3GEO.editorGM.descregioes["a_"+regiao]["identificador"]}if(i3GEO.editorGM.descregioes["a_"+regiao]["colunanomeregiao"]){colunanome=i3GEO.editorGM.descregioes["a_"+regiao]["colunanomeregiao"]}if(aguarde){aguarde.style.visibility="hidden"}temp=retorno.data[0].resultado[0];if(temp===" "){i3GEO.janela.tempoMsg($trad("meneditor2"));return}i3GEO.editorGM.mudaicone();n=temp.length;for(i=0;i<n;i++){if(temp[i].alias=="wkt"){wkt=temp[i].valor}if(temp[i].alias==colunaid||temp[i].item==colunaid){valorid=temp[i].valor}if(temp[i].alias==colunanome||temp[i].item==colunanome){valornome=temp[i].valor}}WicketWkt=new Wkt.Wkt();try{WicketWkt.read(wkt)}catch(e1){try{wkt.read(wkt.replace('\n','').replace('\r','').replace('\t',''))}catch(e2){if(e2.name==='WKTError'){alert('Wicket could not understand the WKT string you entered. Check that you have parentheses balanced, and try removing tabs and newline characters.');return}}}obj=WicketWkt.toObject(i3GeoMap.defaults);i3GEO.editorGM.adicionaPoligonos(obj,tema,colunaid,valorid,colunanome,valornome);i3GEO.eventos.MOUSECLIQUE=[]};regiao=$i("i3geoCartoRegioesEditaveis").value;if(regiao!=""){tema=i3GEO.editorGM.regioestemas["a"+regiao];if(aguarde&&aguarde.style.visibility=="hidden"){aguarde.style.visibility="visible";p=i3GEO.configura.locaplic+"/classesphp/mapa_controle.php";par="funcao=identifica3&opcao=tema&xy="+objposicaocursor.ddx+","+objposicaocursor.ddy+"&resolucao=5&g_sid="+i3GEO.configura.sid+"&ext="+i3GEO.parametros.mapexten+"&listaDeTemas=&wkt=sim&tema="+tema;cpJSON.call(p,"identifica",temp,par)}}}}},comboRegiaoEditavel:function(codigo_tipo_regiao){if(!codigo_tipo_regiao){codigo_tipo_regiao=""}var onde=$i("i3geoCartoRegioesEditaveisDiv"),temp=function(dados){var n=dados.length,ins='<br><p class="paragrafo" >'+$trad("camedit")+':</p>',i;ins+="<select onchange='i3GEO.editorGM.comboRegiaoEditavelOnchange(this)' id='i3geoCartoRegioesEditaveis' style='width:175px' ><option value=''>---</option>";for(i=0;i<n;i++){ins+="<option value='"+dados[i].codigo_tipo_regiao+"'>"+dados[i].nome_tipo_regiao+"</option>";i3GEO.editorGM.descregioes["a_"+dados[i].codigo_tipo_regiao]=dados[i]}dados=i3GEO.arvoreDeCamadas.filtraCamadas("editavel","SIM","igual");n=dados.length;for(i=0;i<n;i++){if(!dados[i].codigo_tipo_regiao||dados[i].codigo_tipo_regiao===""){ins+="<option value='"+dados[i].name+"'>"+dados[i].tema+"</option>";dados[i]["identificador"]=dados[i].colunaidunico;dados[i]["colunanomeregiao"]="";i3GEO.editorGM.descregioes["a_"+dados[i].name]=dados[i]}}ins+="</select>";if(onde){onde.innerHTML=ins}return ins};i3GEO.php.listaTipoRegiao(temp,codigo_tipo_regiao)},comboRegiaoEditavelOnchange:function(combo){if(combo.value===""){return}i3GEO.editorGM.editarAtributos.desativa();if(i3GEO.arvoreDeCamadas.pegaTema(combo.value)!=""){i3GEO.editorGM.regioestemas["a"+combo.value]=combo.value;i3GEO.editorGM.temasregioes[combo.value]=combo.value}else{var temp=function(retorno){if(i3GEO.arvoreDeCamadas.pegaTema(retorno.layer)==""){i3GEO.php.adtema(i3GEO.atualiza,retorno.mapfile);i3GEO.editorGM.regioestemas["a"+combo.value]=retorno.layer;i3GEO.editorGM.temasregioes[retorno.layer]=combo.value}};i3GEO.php.mapfileTipoRegiao(temp,combo.value)}},mudaicone:function(botao){var c=$i(i3GEO.editorGM.iddiv),ci=c.getElementsByTagName("img"),n=ci.length,i;for(i=0;i<n;i++){ci[i].parentNode.style.backgroundColor="#F5F5F5"}i3GEO.eventos.MOUSECLIQUE=[];i3GEO.editorGM.capturaPoligonoTema.desativa();i3GEO.editorGM.editarAtributos.desativa();if(botao&&botao.style){botao.style.backgroundColor="#cedff2"}},digitalizaPol:function(botao){i3GEO.editorGM.mudaicone(botao);i3GEO.util.mudaCursor(i3GEO.configura.cursores,"pointer",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic);i3GEO.editorGM.drawingManager.setOptions({drawingMode:google.maps.drawing.OverlayType.POLYGON})},digitalizaPt:function(botao){i3GEO.editorGM.mudaicone(botao);i3GEO.util.mudaCursor(i3GEO.configura.cursores,"pointer",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic);i3GEO.editorGM.drawingManager.setOptions({drawingMode:google.maps.drawing.OverlayType.MARKER})},seleciona:function(botao){i3GEO.editorGM.mudaicone(botao);i3GEO.util.mudaCursor(i3GEO.configura.cursores,"pointer",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic);i3GEO.editorGM.drawingManager.setOptions({drawingMode:null})},adicionaPoligonos:function(obj,tema,colunaid,valorid,colunanome,valornome){if(!tema){tema=$i("i3geoCartoRegioesEditaveis").value}if(!colunaid){colunaid=""}if(!valorid){valorid=""}if(!colunanome){colunanome=""}if(!valornome){valornome=""}var pol;if(Wkt.isArray(obj)){for(i in obj){if(obj.hasOwnProperty(i)&&!Wkt.isArray(obj[i])){pol=new google.maps.Polygon({path:obj[i].getPath(),map:i3GeoMap,fillColor:'#ffff00',fillOpacity:.5,strokeWeight:2,clickable:true,zIndex:1,editable:true,tema:tema,colunaid:colunaid,valorid:valorid,colunanome:colunanome,valornome:valornome});google.maps.event.addListener(pol,'click',function(){i3GEO.editorGM.setSelection(pol)});i3GEO.desenho.googlemaps.shapes.push(pol)}}return}if(obj.type==='polygon'||obj.type==='linestring'){pol=new google.maps.Polygon({paths:obj.getPaths(),map:i3GeoMap,fillColor:'#ffff00',fillOpacity:.5,strokeWeight:2,clickable:true,zIndex:1,editable:true,tema:tema,colunaid:colunaid,valorid:valorid,colunanome:colunanome,valornome:valornome});google.maps.event.addListener(pol,'click',function(){i3GEO.editorGM.setSelection(pol)});i3GEO.desenho.googlemaps.shapes.push(pol);return}if(obj.type==='marker'){i3GEO.editorGM.selectAll();if(i3GEO.desenho.googlemaps.shapes.length>0){i3GEO.editorGM.deleteSelectedShape(true)}pol=new google.maps.Marker({position:new google.maps.LatLng(obj.getPosition().ob,obj.getPosition().pb),map:i3GeoMap,icon:{url:i3GEO.editorGM.iconePonto(false)},clickable:true,zIndex:1,draggable:true,tema:tema,colunaid:colunaid,valorid:valorid,colunanome:colunanome,valornome:valornome,editable:false});google.maps.event.addListener(pol,'click',function(){i3GEO.editorGM.setSelection(pol)});i3GEO.desenho.googlemaps.shapes.push(pol);return}},salvaLimite:{inicia:function(){if(i3GEO.login.verificaCookieLogin()===false){i3GEO.janela.tempoMsg($trad("meneditor3"));if(i3GEO.editorGM.selectedShapes().length>0){var temp=i3GEO.editorGM.toWKT(i3GEO.editorGM.selectedShapes()[0]);i3GEO.mapa.dialogo.wkt2layer(temp)}return}var wkt,temp,s=i3GEO.editorGM.selectedShapes(),n=s.length,janela=YAHOO.i3GEO.janela.manager.find("salvaLimite");if(janela){janela.destroy()}if(n==1){s=s[0];temp=function(retorno){i3GEO.editorGM.deleteSelectedShape(true);i3GEO.Interface.redesenha()};if(i3GEO.editorGM.descregioes["a_"+$i("i3geoCartoRegioesEditaveis").value].tema!=undefined){wkt=i3GEO.editorGM.toWKT(i3GEO.editorGM.selectedShapes()[0]);if(wkt&&wkt!=""){if(s.valorid==""){p=i3GEO.configura.locaplic+"/ferramentas/editortema/exec.php?funcao=adicionaGeometria&g_sid="+i3GEO.configura.sid;cpJSON.call(p,"foo",temp,"&tema="+$i("i3geoCartoRegioesEditaveis").value+"&wkt="+wkt)}else{p=i3GEO.configura.locaplic+"/ferramentas/editortema/exec.php?funcao=atualizaGeometria&g_sid="+i3GEO.configura.sid;cpJSON.call(p,"foo",temp,"&idunico="+s.valorid+"&tema="+$i("i3geoCartoRegioesEditaveis").value+"&wkt="+wkt)}}}else{i3GEO.editorGM.salvaLimite.criaJanelaFlutuante(i3GEO.editorGM.salvaLimite.html(s.colunaid,s.valorid,s.colunanome,s.valornome));new YAHOO.widget.Button("i3GEOFmetaestati3GEO.editorGMBotao1",{onclick:{fn:function(){i3GEO.editorGM.salvaLimite.gravaDados(true)}}});new YAHOO.widget.Button("i3GEOFmetaestati3GEO.editorGMBotao2",{onclick:{fn:function(){i3GEO.editorGM.salvaLimite.gravaDados(false)}}});new YAHOO.widget.Button("i3GEOFmetaestati3GEO.editorGMBotao3",{onclick:{fn:function(){i3GEO.editorGM.salvaLimite.excluiPoligono()}}})}}else{i3GEO.janela.tempoMsg("Selecione uma figura")}},html:function(colunaIdElemento,valorIdElemento,colunaNomeElemento,valorNomeElemento){var ins=''+'<p class=paragrafo >Se o valor do código for vazio, será criado um novo elemento. Caso contrário, os valores atualmente registrados serão atualizados.</p>'+'<p class=paragrafo >Edite os atributos:</p>'+'<input type=hidden id="inputColunaIdElemento" value="'+colunaIdElemento+'" />'+'<input type=hidden id="inputColunaNomeElemento" value="'+colunaNomeElemento+'" />'+'<input type=hidden id="inputIdentificadorElemento" value="'+valorIdElemento+'" />'+'<input type=hidden id="inputNomeElemento" value="'+valorNomeElemento+'" />'+'<p class=paragrafo >Código:</p>'+'<p class=paragrafo ><input class=digitar type=text id="inputIdentificadorNovoElemento" value="'+valorIdElemento+'" style="width:180;cursor:text" /></p>'+'<p class=paragrafo >Nome:</p>'+'<p class=paragrafo ><input class=digitar type=text id="inputNomeNovoElemento" value="'+valorNomeElemento+'" style="width:180;cursor:text" /></p>'+'<p class=paragrafo >Escolha a operação desejada:</p>'+'<input id=i3GEOFmetaestati3GEO.editorGMBotao1 type="button" value="Salvar tudo" />'+' <input id=i3GEOFmetaestati3GEO.editorGMBotao2 type="button" value="Salvar apenas os atributos" />'+'<br><br><input id=i3GEOFmetaestati3GEO.editorGMBotao3 type="button" value="Excluir" />';return ins},criaJanelaFlutuante:function(html){var titulo,cabecalho,minimiza,janela;cabecalho=function(){};minimiza=function(){i3GEO.janela.minimiza("salvaLimite")};titulo="<div class='i3GeoTituloJanela'>"+$trad("sdados")+"</div>";janela=i3GEO.janela.cria("300px","265px","","","",titulo,"salvaLimite",true,"hd",cabecalho,minimiza);$i("salvaLimite_corpo").style.backgroundColor="white";$i("salvaLimite_corpo").innerHTML=html;YAHOO.util.Event.addListener(janela[0].close,"click",i3GEO.editorGM.mudaicone)},gravaDados:function(comwkt){if(i3GEO.login.verificaCookieLogin()===false){i3GEO.janela.tempoMsg($trad("meneditor3"));return}if(!window.confirm($trad("sdados")+"?")){return}var p,codigo_tipo_regiao=$i("i3geoCartoRegioesEditaveis").value,identificadornovo=$i("inputIdentificadorNovoElemento").value,identificador=$i("inputIdentificadorElemento").value,nome=$i("inputNomeNovoElemento").value,wkt="",temp=function(retorno){i3GEO.editorGM.deleteSelectedShape(true);var janela=YAHOO.i3GEO.janela.manager.find("salvaLimite");if(janela){janela.destroy()}i3GEO.Interface.redesenha()};if(comwkt===true){wkt=i3GEO.editorGM.toWKT(i3GEO.editorGM.selectedShapes()[0])}else{if(identificadornovo===identificador&&$i("inputNomeElemento").value===nome){i3GEO.janela.tempoMsg($trad("meneditor4"));return}}p=i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=mantemDadosRegiao&tipo=";cpJSON.call(p,"foo",temp,"&codigo_tipo_regiao="+codigo_tipo_regiao+"&identificadornovo="+identificadornovo+"&identificador="+identificador+"&nome="+nome+"&wkt="+wkt)},excluiPoligono:function(){if(i3GEO.login.verificaCookieLogin()===false){i3GEO.janela.tempoMsg($trad("meneditor3"));return}if(!window.confirm($trad("excsel")+"?")){return}var codigo_tipo_regiao=$i("i3geoCartoRegioesEditaveis").value,identificador=$i("inputIdentificadorElemento").value,temp=function(retorno){i3GEO.editorGM.deleteSelectedShape(true);var janela=YAHOO.i3GEO.janela.manager.find("salvaLimite");if(janela){janela.destroy()}i3GEO.Interface.redesenha()},p=i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=mantemDadosRegiao&tipo=excluir";if(identificador===""){i3GEO.janela.tempoMsg($trad("meneditor5"))}else{cpJSON.call(p,"foo",temp,"&codigo_tipo_regiao="+codigo_tipo_regiao+"&identificador="+identificador)}}},editarAtributos:{aliascolunas:"",x:"",y:"",ativa:function(botao){if($i("i3geoCartoRegioesEditaveis").value==""){i3GEO.janela.tempoMsg("Escolha uma regiao");return}i3GEO.editorGM.mudaicone(botao);i3GEO.eventos.adicionaEventos("MOUSECLIQUE",["i3GEO.editorGM.editarAtributos.captura()"]);var janela=YAHOO.i3GEO.janela.manager.find("editaAtributos");if(janela){$i("editarAtributosForm").innerHTML=""}else{i3GEO.editorGM.editarAtributos.criaJanelaFlutuante(i3GEO.editorGM.editarAtributos.html());i3GEO.editorGM.editarAtributos.comboVariaveis()}},desativa:function(){var janela=YAHOO.i3GEO.janela.manager.find("editaAtributos");if(janela){janela.destroy()}},criaJanelaFlutuante:function(html){var janela,titulo,cabecalho,minimiza;cabecalho=function(){};minimiza=function(){i3GEO.janela.minimiza("editaAtributos")};titulo="<div class='i3GeoTituloJanela'>"+$trad("atrib")+"</div>";janela=i3GEO.janela.cria("250px","265px","","","",titulo,"editaAtributos",false,"hd",cabecalho,minimiza);$i("editaAtributos_corpo").style.backgroundColor="white";$i("editaAtributos_corpo").innerHTML=html;i3GEO.janela.tempoMsg($trad("meneditor6"));YAHOO.util.Event.addListener(janela[0].close,"click",i3GEO.editorGM.mudaicone)},html:function(){var ins=''+'<p class="paragrafo" ><div id="editarAtributosVariaveis" ></div></p>'+'<p class="paragrafo" ><div id="editarAtributosMedidasVariavel" ></div></p>'+'<p class="paragrafo" ><div id="editarAtributosRegiao" ></div></p>'+'<p class="paragrafo" ><div id="editarAtributosForm" ></div></p>'+'';return ins},comboVariaveis:function(){var temp=function(dados){var i,n=dados.length,ins='';ins+='<p class="paragrafo" >Escolha uma variável para editar</p>';ins+="<select style='box-shadow:0 1px 5px gray;width:200px' onchange='i3GEO.editorGM.editarAtributos.comboMedidasVariavel(this)'><option value=''>---</option>";for(i=0;i<n;i++){ins+="<option title='"+dados[i].descricao+"' value='"+dados[i].codigo_variavel+"'>"+dados[i].nome+"</option>"}ins+="</select>";$i("editarAtributosVariaveis").innerHTML=ins};i3GEO.php.listaVariavel(temp,"i3geo_metaestat")},comboMedidasVariavel:function(comboMedidas){var temp=function(dados){var i,n=dados.length,ins='';ins+='<p class="paragrafo" >Escolha uma medida da variável para editar</p>';ins+="<select id='editarAtributosComboMedidas' style='box-shadow:0 1px 5px gray;width:200px' onchange=''><option value=''>---</option>";for(i=0;i<n;i++){if(dados[i].esquemadb=="i3geo_metaestat"&&dados[i].codigo_tipo_regiao==$i("i3geoCartoRegioesEditaveis").value){ins+="<option value='"+dados[i].id_medida_variavel+"'>"+dados[i].nomemedida+"</option>"}}ins+="</select>";$i("editarAtributosMedidasVariavel").innerHTML=ins};if(comboMedidas.value!==""){i3GEO.php.listaMedidaVariavel(comboMedidas.value,temp)}},captura:function(){if(!YAHOO.i3GEO.janela.manager.find("editaAtributos")){i3GEO.editorGM.mudaicone(botao);return}i3GEO.editorGM.editarAtributos.x=objposicaocursor.ddx;i3GEO.editorGM.editarAtributos.y=objposicaocursor.ddy;i3GEO.editorGM.editarAtributos.pegaDados()},pegaDados:function(){var p=i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=listaAtributosMedidaVariavelXY",codigo_tipo_regiao=$i("i3geoCartoRegioesEditaveis").value,id_medida_variavel=$i("editarAtributosComboMedidas").value,temp=function(retorno){var atr=retorno.atributos,i=0,n=atr.dados.length,j=0,idunico="",nj=atr.aliascolunas.length,ins=""+'<p class=paragrafo >Limite geográfico escolhido:</p>'+'<p class=paragrafo ><b>Nome: </b>'+retorno.regiao.nomeregiao+'</p>'+'<p class=paragrafo ><b>Código: </b>'+retorno.regiao.identificador_regiao+'</p>'+'<input type=hidden id="editarAtributosidentificador_regiao" value="'+retorno.regiao.identificador_regiao+'" />'+'<p class=paragrafo >Atributos:</p>'+'<input id=editarAtributosAdicionar value="Adicionar um novo" />'+' <input id=editarAtributosSalvar value="Salvar" />';$i("editarAtributosRegiao").innerHTML=ins;ins="";for(i=0;i<n;i++){for(j=0;j<nj;j++){if(atr.aliascolunas[j]=="idunico"){idunico=atr.dados[i][atr.colunas[j]]}}ins+="<hr><div><p class=paragrafo style='color:blue;cursor:pointer' onclick='i3GEO.editorGM.editarAtributos.excluir("+idunico+")' >excluir</p>";for(j=0;j<nj;j++){if(atr.aliascolunas[j]!=="idunico"){ins+='<p class=paragrafo >'+atr.aliascolunas[j]+':<br>'+'<input class=digitar id="idunico_'+idunico+'" value="'+atr.dados[i][atr.colunas[j]]+'" name="'+atr.colunas[j]+'" /></p>'}}}$i("editarAtributosForm").innerHTML=ins;new YAHOO.widget.Button("editarAtributosAdicionar",{onclick:{fn:function(){var novoel=document.createElement("div"),ins="<hr><br>";for(j=0;j<nj;j++){if(atr.aliascolunas[j]!=="idunico"){ins+='<p class=paragrafo >'+atr.aliascolunas[j]+' - '+atr.descricao[j]+':<br>'+'<input class=digitar id="" value="" name="'+atr.colunas[j]+'" /></p>'}}ins+="<br></div>";novoel.innerHTML=ins;$i("editarAtributosForm").appendChild(novoel)}}});new YAHOO.widget.Button("editarAtributosSalvar",{onclick:{fn:function(){i3GEO.editorGM.editarAtributos.salva()}}})};cpJSON.call(p,"foo",temp,"&codigo_tipo_regiao="+codigo_tipo_regiao+"&id_medida_variavel="+id_medida_variavel+"&x="+i3GEO.editorGM.editarAtributos.x+"&y="+i3GEO.editorGM.editarAtributos.y)},excluir:function(id){if(i3GEO.login.verificaCookieLogin()===false){i3GEO.janela.tempoMsg("Você precisa fazer login para usar essa opção");return}var p=i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=excluiAtributosMedidaVariavel",codigo_tipo_regiao=$i("i3geoCartoRegioesEditaveis").value,id_medida_variavel=$i("editarAtributosComboMedidas").value,identificador_regiao=$i("editarAtributosidentificador_regiao").value,temp=function(retorno){i3GEO.editorGM.editarAtributos.pegaDados();i3GEO.janela.fechaAguarde("aguardeSalvaAtributos")};i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardeSalvaAtributos","Salvando...");i3GEO.janela.AGUARDEMODAL=false;cpJSON.call(p,"foo",temp,"&codigo_tipo_regiao="+codigo_tipo_regiao+"&identificador_regiao="+identificador_regiao+"&id_medida_variavel="+id_medida_variavel+"&id="+id)},salva:function(){if(i3GEO.login.verificaCookieLogin()===false){i3GEO.janela.tempoMsg("Você precisa fazer login para usar essa opção");return}var container=$i("editarAtributosForm"),divsT=container.getElementsByTagName("div"),n=divsT.length,i=0,dv="",inputs="",codigo_tipo_regiao=$i("i3geoCartoRegioesEditaveis").value,id_medida_variavel=$i("editarAtributosComboMedidas").value,identificador_regiao=$i("editarAtributosidentificador_regiao").value,nj,j,colunas=[],colunasT=[],valores=[],valoresT=[],idsunicosT=[],p=i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=salvaAtributosMedidaVariavel",re=new RegExp("idunico_","g"),temp=function(retorno){i3GEO.editorGM.editarAtributos.pegaDados();i3GEO.editorGM.atualizaCamadasMetaestat();i3GEO.janela.fechaAguarde("aguardeSalvaAtributos")};if(codigo_tipo_regiao==""){i3GEO.janela.tempoMsg("Problemas com o codigo da regiao");return}if(id_medida_variavel==""){i3GEO.janela.tempoMsg("Escolha uma medida");return}if(identificador_regiao==""){i3GEO.janela.tempoMsg("Problemas com o identificador da regiao");return}for(i=0;i<n;i++){dv=divsT[i];inputs=dv.getElementsByTagName("input");nj=inputs.length;colunas=[];valores=[];for(j=0;j<nj;j++){colunas.push(inputs[j].name);valores.push(inputs[j].value)}idsunicosT.push(inputs[0].id.replace(re,''));colunasT.push(colunas.join("|"));valoresT.push(valores.join("|"))}i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardeSalvaAtributos","Salvando...");i3GEO.janela.AGUARDEMODAL=false;cpJSON.call(p,"foo",temp,"&codigo_tipo_regiao="+codigo_tipo_regiao+"&identificador_regiao="+identificador_regiao+"&id_medida_variavel="+id_medida_variavel+"&colunas="+colunasT[0]+"&valores="+valoresT.join("#")+"&idsunicos="+idsunicosT.join("|"))}},ajuda:function(){var titulo,cabecalho,minimiza,html="";cabecalho=function(){};minimiza=function(){i3GEO.janela.minimiza("editaAtributosAjuda")};titulo="<div class='i3GeoTituloJanela'>Ajuda </div>";i3GEO.janela.cria("400px","350px","","","",titulo,"editaAtributosAjuda",false,"hd",cabecalho,minimiza);$i("editaAtributosAjuda_corpo").style.backgroundColor="white";html+="<table class=lista8 >"+"<tr><td><img src='"+i3GEO.configura.locaplic+"/imagens/gisicons/polygon-create.png' /></td>"+"<td>Clique no mapa para traçar um polígono novo. Cada clique corresponde a um vértice do polígono. Para encerrar o traçado utilize um duplo clique. Após traçar um novo polígono pode-se selecioná-lo novamente e editar os vértices, se for necessário, ou mesmo apagar o polígono por completo. O novo polígono só será salvo por meio da opção específica para isso.</td></tr>"+"<tr><td><img src='"+i3GEO.configura.locaplic+"/imagens/gisicons/layer-import.png' /></td>"+"<td>Utilize essa opção para capturar os vértices de um polígono existente. O resultado da captura é uma figura que pode ser editada, ou seja, os vértices podem ser modificados de posição ou mesmo removidos. Após editar, salve o novo polígono.</td></tr>"+"<tr><td><img src='"+i3GEO.configura.locaplic+"/imagens/gisicons/select.png' /></td>"+"<td>Após ativar essa opção clique no mapa sobre uma figura existente (que tenha sido capturada ou digtalizada). A figura passará então para o estado de 'selecionada' podendo ser utilizada por outras ferramentas de edição.</td></tr>"+"<tr><td><img src='"+i3GEO.configura.locaplic+"/imagens/gisicons/selected-delete.png' /></td>"+"<td>Remove da tela a figura que estiver selecionada. Essa operação não apaga o polígono do banco de dados, apenas remove do modo de edição.</td></tr>"+"<tr><td><img src='"+i3GEO.configura.locaplic+"/imagens/gisicons/vector-save.png' /></td>"+"<td>Salva no banco de dados a figura que estiver selecionada. Essa opção altera apenas os atributos do limite geográfico, não afetando os valores armazenados em cada medida de variável.</td></tr>"+"<tr><td><img src='"+i3GEO.configura.locaplic+"/imagens/gisicons/annotation-form.png' /></td>"+"<td>Abre um formulário que permite alterar os valores de uma medida de variável relacionada a uma determinada região. Após abrir o formulário, clique no mapa sobre a região desejada, mas escolha a medida da variável primeiro. Os valores já existentes poderão então ser alterados ou podem ser adicionados novos.</td></tr>"+"</table>";$i("editaAtributosAjuda_corpo").innerHTML=html}};google.maps.Marker.prototype.type='marker';google.maps.Polyline.prototype.type='polyline';google.maps.Polygon.prototype.type='polygon';google.maps.Rectangle.prototype.type='rectangle';google.maps.Circle.prototype.type='circle';(function(Wkt){Wkt.Wkt.prototype.isRectangle=false;Wkt.Wkt.prototype.construct={point:function(config,component){var c=component||this.components;config=config||{};config.position=new google.maps.LatLng(c[0].y,c[0].x);return new google.maps.Marker(config)},multipoint:function(config){var i,c,arr;c=this.components;config=config||{};arr=[];for(i=0;i<c.length;i+=1){arr.push(this.construct.point(config,c[i]))}return arr},linestring:function(config,component){var i,c;c=component||this.components;config=config||{editable:false};config.path=[];for(i=0;i<c.length;i+=1){config.path.push(new google.maps.LatLng(c[i].y,c[i].x))}return new google.maps.Polyline(config)},multilinestring:function(config){var i,c,arr;c=this.components;config=config||{editable:false};config.path=[];arr=[];for(i=0;i<c.length;i+=1){arr.push(this.construct.linestring(config,c[i]))}return arr},box:function(config,component){var c=component||this.components;config=config||{};config.bounds=new google.maps.LatLngBounds(new google.maps.LatLng(c[0].y,c[0].x),new google.maps.LatLng(c[1].y,c[1].x));return new google.maps.Rectangle(config)},polygon:function(config,component){var j,k,c,rings,verts;c=component||this.components;config=config||{editable:false};config.paths=[];rings=[];for(j=0;j<c.length;j+=1){verts=[];for(k=0;k<c[j].length-1;k+=1){verts.push(new google.maps.LatLng(c[j][k].y,c[j][k].x))}if(j!==0){if(config.reverseInnerPolygons==null||config.reverseInnerPolygons){verts.reverse()}}rings.push(verts)}config.paths=config.paths.concat(rings);if(this.isRectangle){return(function(){var bounds,v=0;bounds=new google.maps.LatLngBounds();for(v in rings[0]){if(rings[0].hasOwnProperty(v)){bounds.extend(rings[0][v])}}return new google.maps.Rectangle({bounds:bounds})}())}else{return new google.maps.Polygon(config)}},multipolygon:function(config){var i,c,arr;c=this.components;config=config||{editable:false};config.path=[];arr=[];for(i=0;i<c.length;i+=1){arr.push(this.construct.polygon(config,c[i]))}return arr}};Wkt.Wkt.prototype.deconstruct=function(obj,multiFlag){var features,i,j,verts,rings,sign,tmp,response,lat,lng;if(google.maps.geometry){sign=google.maps.geometry.spherical.computeSignedArea};if(obj.constructor===google.maps.LatLng){response={type:'point',components:[{x:obj.lng(),y:obj.lat()}]};return response}if(obj.constructor===google.maps.Point){response={type:'point',components:[{x:obj.x,y:obj.y}]};return response}if(obj.constructor===google.maps.Marker){response={type:'point',components:[{x:obj.getPosition().lng(),y:obj.getPosition().lat()}]};return response}if(obj.constructor===google.maps.Polyline){verts=[];for(i=0;i<obj.getPath().length;i+=1){tmp=obj.getPath().getAt(i);verts.push({x:tmp.lng(),y:tmp.lat()})}response={type:'linestring',components:verts};return response}if(obj.constructor===google.maps.Polygon){rings=[];if(multiFlag===undefined){multiFlag=(function(){var areas,l;l=obj.getPaths().length;if(l<=1){return false}if(l===2){if(sign(obj.getPaths().getAt(0))*sign(obj.getPaths().getAt(1))<0){return false}return true}areas=obj.getPaths().getArray().map(function(k){return sign(k)/Math.abs(sign(k)); });if(areas.indexOf(areas[0])!==areas.lastIndexOf(areas[0])){multiFlag=true;return true}return false}())}for(i=0;i<obj.getPaths().length;i+=1){tmp=obj.getPaths().getAt(i);verts=[];for(j=0;j<obj.getPaths().getAt(i).length;j+=1){verts.push({x:tmp.getAt(j).lng(),y:tmp.getAt(j).lat()})}if(!tmp.getAt(tmp.length-1).equals(tmp.getAt(0))){if(i%2!==0){verts.unshift({x:tmp.getAt(tmp.length-1).lng(),y:tmp.getAt(tmp.length-1).lat()})}else{verts.push({x:tmp.getAt(0).lng(),y:tmp.getAt(0).lat()})}}if(obj.getPaths().length>1&&i>0){if(sign(obj.getPaths().getAt(i))>0&&sign(obj.getPaths().getAt(i-1))>0||sign(obj.getPaths().getAt(i))<0&&sign(obj.getPaths().getAt(i-1))<0&&!multiFlag){verts=[verts]}}if(i%2!==0){verts.reverse()}rings.push(verts)}response={type:(multiFlag)?'multipolygon':'polygon',components:rings};return response}if(obj.constructor===google.maps.Circle){var point=obj.getCenter();var radius=obj.getRadius();verts=[];var d2r=Math.PI/180; var r2d=180/Math.PI; radius=radius/1609; var earthsradius=3963;var num_seg=32;var rlat=(radius/earthsradius)*r2d;var rlng=rlat/Math.cos(point.lat()*d2r);for(var n=0;n<=num_seg;n++){var theta=Math.PI*(n/(num_seg/2));lng=point.lng()+(rlng*Math.cos(theta));lat=point.lat()+(rlat*Math.sin(theta));verts.push({x:lng,y:lat})}response={type:'polygon',components:[verts]};return response}if(obj.constructor===google.maps.LatLngBounds){tmp=obj;verts=[];verts.push({x:tmp.getSouthWest().lng(),y:tmp.getNorthEast().lat()});verts.push({x:tmp.getNorthEast().lng(),y:tmp.getNorthEast().lat()});verts.push({x:tmp.getNorthEast().lng(),y:tmp.getSouthWest().lat()});verts.push({x:tmp.getSouthWest().lng(),y:tmp.getSouthWest().lat()});verts.push({x:tmp.getSouthWest().lng(),y:tmp.getNorthEast().lat()});response={type:'polygon',isRectangle:true,components:[verts]};return response}if(obj.constructor===google.maps.Rectangle){tmp=obj.getBounds();verts=[];verts.push({x:tmp.getSouthWest().lng(),y:tmp.getNorthEast().lat()});verts.push({x:tmp.getNorthEast().lng(),y:tmp.getNorthEast().lat()});verts.push({x:tmp.getNorthEast().lng(),y:tmp.getSouthWest().lat()});verts.push({x:tmp.getSouthWest().lng(),y:tmp.getSouthWest().lat()});verts.push({x:tmp.getSouthWest().lng(),y:tmp.getNorthEast().lat()});response={type:'polygon',isRectangle:true,components:[verts]};return response}if(obj.constructor===google.maps.Data.Feature){return this.deconstruct.call(this,obj.getGeometry())}if(obj.constructor===google.maps.Data.Point){response={type:'point',components:[{x:obj.get().lng(),y:obj.get().lat()}]};return response}if(obj.constructor===google.maps.Data.LineString){verts=[];for(i=0;i<obj.getLength();i+=1){vertex=obj.getAt(i);verts.push({x:vertex.lng(),y:vertex.lat()})}response={type:'linestring',components:verts};return response}if(obj.constructor===google.maps.Data.Polygon){var rings=[];for(i=0;i<obj.getLength();i+=1){ring=obj.getAt(i);var verts=[];for(j=0;j<ring.getLength();j+=1){vertex=ring.getAt(j);verts.push({x:vertex.lng(),y:vertex.lat()})}verts.push({x:ring.getAt(0).lng(),y:ring.getAt(0).lat()});rings.push(verts)}response={type:'polygon',components:rings};return response}if(obj.constructor===google.maps.Data.MultiPoint){verts=[];for(i=0;i<obj.getLength();i+=1){vertex=obj.getAt(i);verts.push([{x:vertex.lng(),y:vertex.lat()}])}response={type:'multipoint',components:verts};return response}if(obj.constructor===google.maps.Data.MultiLineString){linestrings=[];for(i=0;i<obj.getLength();i+=1){verts=[];var linestring=obj.getAt(i);for(j=0;j<linestring.getLength();j+=1){vertex=linestring.getAt(j);verts.push({x:vertex.lng(),y:vertex.lat()})}linestrings.push(verts)}response={type:'multilinestring',components:linestrings};return response}if(obj.constructor===google.maps.Data.MultiPolygon){var k=0,polygons=[];for(k=0;k<obj.getLength();k+=1){var polygon=obj.getAt(k);var rings=[];for(i=0;i<polygon.getLength();i+=1){ring=polygon.getAt(i);var verts=[];for(j=0;j<ring.getLength();j+=1){vertex=ring.getAt(j);verts.push({x:vertex.lng(),y:vertex.lat()})}verts.push({x:ring.getAt(0).lng(),y:ring.getAt(0).lat()});rings.push(verts)}polygons.push(rings)}response={type:'multipolygon',components:polygons};return response}if(obj.constructor===google.maps.Data.GeometryCollection){var objects=[];for(k=0;k<obj.getLength();k+=1){var object=obj.getAt(k);objects.push(this.deconstruct.call(this,object))}response={type:'geometrycollection',components:objects};return response}if(Wkt.isArray(obj)){features=[];for(i=0;i<obj.length;i+=1){features.push(this.deconstruct.call(this,obj[i],true))}response={type:(function(){var k,type=obj[0].constructor;for(k=0;k<obj.length;k+=1){if(obj[k].constructor!==type){return'geometrycollection'}}switch(type){case google.maps.Marker:return'multipoint';case google.maps.Polyline:return'multilinestring';case google.maps.Polygon:return'multipolygon';default:return'geometrycollection'}}()),components:(function(){var i,comps;comps=[];for(i=0;i<features.length;i+=1){if(features[i].components){comps.push(features[i].components)}}return{"comps":comps}}())};response.components=response.components.comps;return response}}}(Wkt||require('./wicket'))); | ||
0 | \ No newline at end of file | 2 | \ No newline at end of file |
@@ -0,0 +1,2383 @@ | @@ -0,0 +1,2383 @@ | ||
1 | +//TODO incluir balao de informacoes como um elemento grafico de desenho | ||
2 | +//TODO incluir caixas de texto | ||
3 | +//TODO incluir undo na edicao | ||
4 | + | ||
5 | +/* | ||
6 | + Title: Editor vetorial para OpenLayers | ||
7 | + | ||
8 | + i3GEO.editorOL | ||
9 | + | ||
10 | + Funções utilizadas pelo OpenLayers nas opções de edição de dados vetoriais. | ||
11 | + É utilizado também pelo mashup com navegação via OpenLayers e com OSM. | ||
12 | + | ||
13 | + Para adicionar novos botoes, modifique também i3GEO.editorOL.botoes existente em i3GEO.barraDeBotoes.openlayers.ativaPainel | ||
14 | + | ||
15 | + Mesmo em interfaces de debug, esse javascript só é carregado depois de cmpactado | ||
16 | + | ||
17 | + Arquivo: i3geo/classesjs/classe_editorol.js | ||
18 | + | ||
19 | + Licença: | ||
20 | + | ||
21 | + GPL2 | ||
22 | + | ||
23 | + i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | ||
24 | + | ||
25 | + Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | ||
26 | + Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | ||
27 | + | ||
28 | + Este programa é software livre; você pode redistribuí-lo | ||
29 | + e/ou modificá-lo sob os termos da Licença Pública Geral | ||
30 | + GNU conforme publicada pela Free Software Foundation; | ||
31 | + | ||
32 | + Este programa é distribuído na expectativa de que seja útil, | ||
33 | + porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | ||
34 | + de COMERCIABILIDADE OU ADEQUACAtilde;O A UMA FINALIDADE ESPECÍFICA. | ||
35 | + Consulte a Licença Pública Geral do GNU para mais detalhes. | ||
36 | + Você deve ter recebido uma cópia da Licença Pública Geral do | ||
37 | + GNU junto com este programa; se não, escreva para a | ||
38 | + Free Software Foundation, Inc., no endereço | ||
39 | + 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
40 | + */ | ||
41 | + | ||
42 | +if (!i3GEO || typeof (i3GEO) === 'undefined') { | ||
43 | + var i3GEO = {}; | ||
44 | + i3GEO.Interface = {}; | ||
45 | + navn = false; | ||
46 | + navm = false; | ||
47 | + $i = function(id) { | ||
48 | + return document.getElementById(id); | ||
49 | + }; | ||
50 | + app = navigator.appName.substring(0, 1); | ||
51 | + if (app === 'N') { | ||
52 | + navn = true; | ||
53 | + } else { | ||
54 | + navm = true; | ||
55 | + } | ||
56 | +} | ||
57 | +i3GEO.editorOL = | ||
58 | + { | ||
59 | + simbologia : { | ||
60 | + opacidade : 0.8, | ||
61 | + texto : "", | ||
62 | + fillColor : "250,180,15", | ||
63 | + strokeWidth : 5, | ||
64 | + strokeColor : "250,150,0", | ||
65 | + pointRadius : 4, | ||
66 | + graphicName : "square", | ||
67 | + fontSize : "12px", | ||
68 | + fontColor : "0,0,0", | ||
69 | + externalGraphic : "", | ||
70 | + graphicHeight : 25, | ||
71 | + graphicWidth : 25 | ||
72 | + }, | ||
73 | + backup : new ol.layer.Vector({ | ||
74 | + source : new ol.source.Vector({ | ||
75 | + features : new ol.Collection(), | ||
76 | + useSpatialIndex : false, | ||
77 | + name : "Backup" | ||
78 | + }), | ||
79 | + visible : false, | ||
80 | + map : i3geoOL | ||
81 | + }), | ||
82 | + nomeFuncaoSalvar : "i3GEO.editorOL.salvaGeo()", | ||
83 | + //substituir por i3GEO.Interface.openlayers.fundoDefault() | ||
84 | + /* | ||
85 | + e_oce : new ol.layer.Tile( | ||
86 | + { | ||
87 | + title : "ESRI Ocean Basemap", | ||
88 | + visible : false, | ||
89 | + isBaseLayer : true, | ||
90 | + name : "oce", | ||
91 | + source : new ol.source.TileArcGISRest( | ||
92 | + { | ||
93 | + url : "http://server.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer", | ||
94 | + attributions : [ | ||
95 | + new ol.Attribution( | ||
96 | + { | ||
97 | + html : 'Tiles © <a href="http://server.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer">ArcGIS</a>' | ||
98 | + }) | ||
99 | + ] | ||
100 | + }) | ||
101 | + }), | ||
102 | + e_ims : new ol.layer.Tile( | ||
103 | + { | ||
104 | + title : "ESRI Imagery World 2D", | ||
105 | + visible : false, | ||
106 | + isBaseLayer : true, | ||
107 | + name : "ims", | ||
108 | + source : new ol.source.TileArcGISRest( | ||
109 | + { | ||
110 | + url : "http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer", | ||
111 | + attributions : [ | ||
112 | + new ol.Attribution( | ||
113 | + { | ||
114 | + html : 'Tiles © <a href="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer">ArcGIS</a>' | ||
115 | + }) | ||
116 | + ] | ||
117 | + }) | ||
118 | + }), | ||
119 | + e_wsm : new ol.layer.Tile( | ||
120 | + { | ||
121 | + title : "ESRI World Street Map", | ||
122 | + visible : false, | ||
123 | + isBaseLayer : true, | ||
124 | + name : "wsm", | ||
125 | + source : new ol.source.TileArcGISRest( | ||
126 | + { | ||
127 | + url : "http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer", | ||
128 | + attributions : [ | ||
129 | + new ol.Attribution( | ||
130 | + { | ||
131 | + html : 'Tiles © <a href="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer">ArcGIS</a>' | ||
132 | + }) | ||
133 | + ] | ||
134 | + }) | ||
135 | + }), | ||
136 | + ol_mma : new ol.layer.Tile({ | ||
137 | + title : "Base carto MMA", | ||
138 | + visible : false, | ||
139 | + isBaseLayer : true, | ||
140 | + name : "bra", | ||
141 | + source : new ol.source.TileWMS({ | ||
142 | + url : "http://mapas.mma.gov.br/cgi-bin/mapserv?map=/opt/www/html/webservices/baseraster.map&", | ||
143 | + params : { | ||
144 | + 'layers' : "baseraster", | ||
145 | + 'srs' : "EPSG:4326", | ||
146 | + 'format' : "image/png" | ||
147 | + } | ||
148 | + }) | ||
149 | + }), | ||
150 | + ol_wms : new ol.layer.Tile( | ||
151 | + { | ||
152 | + title : "ESRI World Street Map", | ||
153 | + visible : false, | ||
154 | + isBaseLayer : true, | ||
155 | + name : "wsm", | ||
156 | + source : new ol.source.TileArcGISRest( | ||
157 | + { | ||
158 | + url : "http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer", | ||
159 | + attributions : [ | ||
160 | + new ol.Attribution( | ||
161 | + { | ||
162 | + html : 'Tiles © <a href="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer">ArcGIS</a>' | ||
163 | + }) | ||
164 | + ] | ||
165 | + }) | ||
166 | + }), | ||
167 | + fundo : "e_ims,e_wsm,ol_mma,ol_wms,top_wms", | ||
168 | + */ | ||
169 | + kml : [], | ||
170 | + layersIniciais : [], | ||
171 | + //essa configuracao dos botoes afeta apenas o mashup | ||
172 | + //para a configuração do editor dentro de um mapa normal, veja i3GEO.barraDebotoes.editor.ativaPainel() | ||
173 | + botoes : { | ||
174 | + 'pan' : true, | ||
175 | + 'zoombox' : true, | ||
176 | + 'zoomtot' : true, | ||
177 | + 'zoomin' : true, | ||
178 | + 'zoomout' : true, | ||
179 | + 'distancia' : true, | ||
180 | + 'area' : true, | ||
181 | + 'identifica' : true, | ||
182 | + 'linha' : true, | ||
183 | + 'ponto' : true, | ||
184 | + 'poligono' : true, | ||
185 | + 'texto' : true, | ||
186 | + 'edita' : true, | ||
187 | + 'listag' : true, | ||
188 | + 'corta' : true, | ||
189 | + 'apaga' : true, | ||
190 | + 'procura' : true, | ||
191 | + 'selecao' : true, | ||
192 | + 'selecaotudo' : true, | ||
193 | + 'salva' : true, | ||
194 | + 'ajuda' : true, | ||
195 | + 'propriedades' : true, | ||
196 | + 'fecha' : false, | ||
197 | + 'tools' : true, | ||
198 | + 'undo' : false, | ||
199 | + 'frente' : false, | ||
200 | + 'legenda' : true, | ||
201 | + 'rodadomouse' : true | ||
202 | + }, | ||
203 | + pontos : [], | ||
204 | + marca : "../pacotes/openlayers/img/marker-gold.png", | ||
205 | + controles : [], | ||
206 | + tiles : true, | ||
207 | + incluilayergrafico : true, | ||
208 | + ativalayerswitcher : false, | ||
209 | + ativarodadomouse : true, | ||
210 | + legendahtml : false, | ||
211 | + numzoom : 12, | ||
212 | + minresolution : 0.703125, | ||
213 | + maxext : "", | ||
214 | + mapext : [-76.5125927, -39.3925675209, -29.5851853, 9.49014852081], | ||
215 | + mapa : "", | ||
216 | + //ids das features graficas selecionadas | ||
217 | + idsSelecionados : [], | ||
218 | + //backup das features | ||
219 | + featuresBackup : [], | ||
220 | + //utilizado pelo mashup | ||
221 | + inicia : function() { | ||
222 | + // ativabotoes e boolean | ||
223 | + if(i3GEO.editorOL.controles.length === 0){ | ||
224 | + i3GEO.editorOL.controles = [ | ||
225 | + new ol.interaction.DoubleClickZoom(), | ||
226 | + new ol.interaction.KeyboardPan(), | ||
227 | + new ol.interaction.KeyboardZoom(), | ||
228 | + new ol.interaction.MouseWheelZoom(), | ||
229 | + new ol.interaction.PinchRotate(), | ||
230 | + new ol.interaction.PinchZoom(), | ||
231 | + new ol.interaction.DragZoom(), | ||
232 | + new ol.interaction.DragPan(), | ||
233 | + new ol.control.Zoom(), | ||
234 | + new ol.control.ZoomSlider(), | ||
235 | + new ol.control.ScaleLine() | ||
236 | + ]; | ||
237 | + } | ||
238 | + var alayers = [], fundo = (i3GEO.editorOL.fundo).split(","), nfundo = fundo.length, ncontroles = | ||
239 | + i3GEO.editorOL.controles.length, i, n, temp; | ||
240 | + | ||
241 | + // TODO layerswitcher no OL3 | ||
242 | + /* | ||
243 | + * if (i3GEO.editorOL.ativalayerswitcher === "false") { i3GEO.editorOL.ativalayerswitcher = false; } if | ||
244 | + * (i3GEO.editorOL.ativalayerswitcher === "true") { i3GEO.editorOL.ativalayerswitcher = true; } | ||
245 | + */ | ||
246 | + if (i3GEO.editorOL.ativarodadomouse === "false") { | ||
247 | + i3GEO.editorOL.ativarodadomouse = false; | ||
248 | + } | ||
249 | + if (i3GEO.editorOL.ativarodadomouse === "true") { | ||
250 | + i3GEO.editorOL.ativarodadomouse = true; | ||
251 | + } | ||
252 | + if (i3GEO.editorOL.legendahtml === "false") { | ||
253 | + i3GEO.editorOL.legendahtml = false; | ||
254 | + } | ||
255 | + if (i3GEO.editorOL.legendahtml === "true") { | ||
256 | + i3GEO.editorOL.legendahtml = true; | ||
257 | + } | ||
258 | + | ||
259 | + if (i3GEO.editorOL.incluilayergrafico === "false") { | ||
260 | + i3GEO.editorOL.incluilayergrafico = false; | ||
261 | + } | ||
262 | + if (i3GEO.editorOL.incluilayergrafico === "true") { | ||
263 | + i3GEO.editorOL.incluilayergrafico = true; | ||
264 | + } | ||
265 | + if (i3GEO.editorOL.incluilayergrafico === true) { | ||
266 | + if (!i3GEO.desenho.layergrafico) { | ||
267 | + i3GEO.editorOL.criaLayerGrafico(); | ||
268 | + } | ||
269 | + } else { | ||
270 | + i3GEO.desenho.layergrafico = ""; | ||
271 | + i3GEO.editorOL.botoes.linha = false; | ||
272 | + i3GEO.editorOL.botoes.ponto = false; | ||
273 | + i3GEO.editorOL.botoes.poligono = false; | ||
274 | + i3GEO.editorOL.botoes.texto = false; | ||
275 | + i3GEO.editorOL.botoes.edita = false; | ||
276 | + i3GEO.editorOL.botoes.listag = false; | ||
277 | + i3GEO.editorOL.botoes.corta = false; | ||
278 | + i3GEO.editorOL.botoes.apaga = false; | ||
279 | + i3GEO.editorOL.botoes.selecao = false; | ||
280 | + i3GEO.editorOL.botoes.selecaotudo = false; | ||
281 | + i3GEO.editorOL.botoes.salva = false; | ||
282 | + i3GEO.editorOL.botoes.propriedades = false; | ||
283 | + i3GEO.editorOL.botoes.fecha = false; | ||
284 | + i3GEO.editorOL.botoes.tools = false; | ||
285 | + i3GEO.editorOL.botoes.undo = false; | ||
286 | + i3GEO.editorOL.botoes.frente = false; | ||
287 | + } | ||
288 | + if (i3GEO.editorOL.mapa === "") { | ||
289 | + alert("O objeto i3GEO.editorOL.mapa nao existe. Precisa ser criado com new OpenLayers.Map()"); | ||
290 | + return; | ||
291 | + } | ||
292 | + for (i = 0; i < ncontroles; i++) { | ||
293 | + i3GEO.editorOL.mapa.addControl(i3GEO.editorOL.controles[i]); | ||
294 | + } | ||
295 | + if (i3GEO.editorOL.fundo != "") { | ||
296 | + for (i = nfundo - 1; i >= 0; i--) { | ||
297 | + if (fundo[i] != "") { | ||
298 | + try { | ||
299 | + i3GEO.editorOL[fundo[i]].transitionEffect = 'resize'; | ||
300 | + i3GEO.editorOL[fundo[i]].setVisibility(false); | ||
301 | + i3GEO.editorOL[fundo[i]].singleTile = false; | ||
302 | + alayers.push(i3GEO.editorOL[fundo[i]]); | ||
303 | + } catch (e) { | ||
304 | + if (alayers[0]) { | ||
305 | + alayers[0].setVisibility(true); | ||
306 | + } | ||
307 | + } | ||
308 | + } | ||
309 | + } | ||
310 | + } | ||
311 | + i3GEO.editorOL.mapa.addLayers(alayers); | ||
312 | + if (i3GEO.editorOL.layersIniciais !== "") { | ||
313 | + n = i3GEO.editorOL.layersIniciais.length; | ||
314 | + for (i = 0; i < n; i++) { | ||
315 | + // singleTile deve ser definido em cada layer | ||
316 | + // i3GEO.editorOL.layersIniciais[i].singleTile = single; | ||
317 | + i3GEO.editorOL.mapa.addLayer(i3GEO.editorOL.layersIniciais[i]); | ||
318 | + } | ||
319 | + } | ||
320 | + if (!i3GEO.desenho.layergrafico && i3GEO.editorOL.incluilayergrafico === true) { | ||
321 | + i3GEO.editorOL.mapa.addLayers([ | ||
322 | + i3GEO.desenho.layergrafico | ||
323 | + ]); | ||
324 | + } | ||
325 | + i3GEO.editorOL.adicionaKml(); | ||
326 | + i3GEO.editorOL.adicionaMarcas(); | ||
327 | + | ||
328 | + i3GEO.editorOL.coordenadas(); | ||
329 | + i3GEO.editorOL.criaJanelaBusca(); | ||
330 | + i3GEO.editorOL.criaBotoes(i3GEO.editorOL.botoes); | ||
331 | + if (i3GEO.editorOL.ativalayerswitcher === true) { | ||
332 | + i3GEO.editorOL.ativaLayerSwitcher(); | ||
333 | + } | ||
334 | + if (i3GEO.editorOL.ativarodadomouse === false) { | ||
335 | + i3GEO.editorOL.desativaRodaDoMouse(); | ||
336 | + } | ||
337 | + | ||
338 | + if (i3GEO.editorOL.numzoom !== "") { | ||
339 | + i3GEO.editorOL.mapa.setOptions({ | ||
340 | + numZoomLevels : i3GEO.editorOL.numzoom | ||
341 | + }); | ||
342 | + } | ||
343 | + if (i3GEO.editorOL.maxext !== "") { | ||
344 | + i3GEO.editorOL.mapa.setOptions({ | ||
345 | + maxExtent : i3GEO.editorOL.maxext | ||
346 | + }); | ||
347 | + } | ||
348 | + if (i3GEO.editorOL.mapext != "") { | ||
349 | + var m = i3GEO.util.extGeo2OSM(i3GEO.editorOL.mapext); | ||
350 | + i3GEO.editorOL.mapa.zoomToExtent(m); | ||
351 | + } else { | ||
352 | + i3GEO.editorOL.mapa.zoomToMaxExtent(); | ||
353 | + } | ||
354 | + i3GEO.editorOL.sobeLayersGraficos(); | ||
355 | + // evita que botoes de opcoes propaguem | ||
356 | + // o mashup utiliza esse tipo de botal junto ao nome do layer | ||
357 | + temp = i3GEO.editorOL.pegaControle("OpenLayers.Control.LayerSwitcher"); | ||
358 | + if (temp) { | ||
359 | + temp = temp.dataLayersDiv.getElementsByTagName("label"); | ||
360 | + n = temp.length; | ||
361 | + for (i = 0; i < n; i++) { | ||
362 | + // YAHOO.util.Event.addListener(temp[i], "click", YAHOO.util.Event.stopEvent); | ||
363 | + temp[i].onclick = ""; | ||
364 | + } | ||
365 | + } | ||
366 | + }, | ||
367 | + criaLayerGrafico : function() { | ||
368 | + i3GEO.desenho.openlayers.criaLayerGrafico(); | ||
369 | + }, | ||
370 | + layersLigados : function() { | ||
371 | + var l, layers = i3GEO.editorOL.mapa.getLayers(), nlayers = layers.getLength(), ins = [], i; | ||
372 | + for (i = 0; i < nlayers; i++) { | ||
373 | + l = layers.item(i); | ||
374 | + if (l.getVisible() === true) { | ||
375 | + ins.push(l); | ||
376 | + } | ||
377 | + } | ||
378 | + return ins; | ||
379 | + }, | ||
380 | + layerPorParametro : function(parametro, valor) { | ||
381 | + var layers = i3GEO.editorOL.mapa.layers, nlayers = layers.length, ins = [], i; | ||
382 | + for (i = 0; i < nlayers; i++) { | ||
383 | + if (layers[i][parametro] || layers[i][parametro.toLowerCase()]) { | ||
384 | + if (layers[i][parametro] === valor || layers[i][parametro.toLowerCase()] === valor) { | ||
385 | + ins.push(layers[i]); | ||
386 | + } | ||
387 | + } else { | ||
388 | + if (layers[i].params && layers[i].params[parametro] && layers[i].params[parametro] === valor) { | ||
389 | + ins.push(layers[i]); | ||
390 | + } | ||
391 | + } | ||
392 | + } | ||
393 | + return ins; | ||
394 | + }, | ||
395 | + // layers clonados sao copias WMS de layers TMS necessarios para realizar o getfeature | ||
396 | + // sao criados quando o layer e adicionado | ||
397 | + layersClonados : function(paramsLayers) { | ||
398 | + var layers = i3GEO.editorOL.mapa.layers, nlayers = layers.length, i; | ||
399 | + for (i = 0; i < nlayers; i++) { | ||
400 | + if (layers[i].params && layers[i].params.CLONETMS === paramsLayers) { | ||
401 | + return (layers[i]); | ||
402 | + } | ||
403 | + } | ||
404 | + return false; | ||
405 | + }, | ||
406 | + layertms2wms : function(tms) { | ||
407 | + var layer, url; | ||
408 | + url = tms.url.replace("&cache=sim", "&DESLIGACACHE=sim"); | ||
409 | + url = url.replace("&Z=${z}&X=${x}&Y=${y}", ""); | ||
410 | + url = url.replace("Z=${z}&X=${x}&Y=${y}", ""); | ||
411 | + layer = new OpenLayers.Layer.WMS(tms.layername + "_clone", url, { | ||
412 | + layers : tms.name, | ||
413 | + transparent : true | ||
414 | + }, { | ||
415 | + gutter : 0, | ||
416 | + isBaseLayer : false, | ||
417 | + displayInLayerSwitcher : false, | ||
418 | + opacity : 1, | ||
419 | + visibility : true, | ||
420 | + singleTile : true | ||
421 | + }); | ||
422 | + // i3GEO.editorOL.mapa.addLayer(layer); | ||
423 | + return layer; | ||
424 | + }, | ||
425 | + // remove o layer clonado com layertms2wms | ||
426 | + removeClone : function() { | ||
427 | + var nome = i3GEO.editorOL.layerAtivo().layername + "_clone", busca = i3GEO.editorOL.mapa.getLayersByName(nome); | ||
428 | + if (busca.length > 0) { | ||
429 | + i3GEO.editorOL.mapa.removeLayer(i3GEO.editorOL.mapa.getLayersByName(camada.name)[0], false); | ||
430 | + } | ||
431 | + }, | ||
432 | + coordenadas : function() { | ||
433 | + // | ||
434 | + // substitui o controle que mostra as coordenadas | ||
435 | + // | ||
436 | + var idcoord = i3GEO.editorOL.mapa.getControlsBy("separator", " "); | ||
437 | + if (idcoord[0]) { | ||
438 | + i3GEO.editorOL.mapa.events.register("mousemove", i3GEO.editorOL.mapa, function(e) { | ||
439 | + var p, lonlat, d; | ||
440 | + if (navm) { | ||
441 | + p = new OpenLayers.Pixel(e.x, e.y); | ||
442 | + } else { | ||
443 | + p = e.xy; | ||
444 | + } | ||
445 | + // altera o indicador de localizacao | ||
446 | + lonlat = i3GEO.editorOL.mapa.getLonLatFromPixel(p); | ||
447 | + lonlat = i3GEO.util.projOSM2Geo(lonlat); | ||
448 | + d = i3GEO.calculo.dd2dms(lonlat.lon, lonlat.lat); | ||
449 | + try { | ||
450 | + $i(idcoord[0].id).innerHTML = "Long: " + d[0] + "<br>Lat: " + d[1]; | ||
451 | + } catch (e) { | ||
452 | + if (typeof (console) !== 'undefined') { | ||
453 | + console.error(e); | ||
454 | + } | ||
455 | + } | ||
456 | + }); | ||
457 | + } | ||
458 | + }, | ||
459 | + criaJanelaBusca : function() { | ||
460 | + var layers = i3GEO.editorOL.layersLigados(), nlayers = layers.length, i, ins, combo = | ||
461 | + "<select id=i3GEOOLlistaTemasBusca ><option value=''>----</option>"; | ||
462 | + for (i = 0; i < nlayers; i++) { | ||
463 | + combo += "<option value='" + i + "' >" + layers[i].name + "</option>"; | ||
464 | + } | ||
465 | + combo += "</select>"; | ||
466 | + ins = "<div class=paragrafo >" + $trad("a7") + ":<br>" + combo; | ||
467 | + ins += "<br>" + $trad("x64") + ":<br><span id=i3GEOOLcomboitens ></span>"; | ||
468 | + ins += "<br>" + $trad("t23") + ":<br><input type=text size=20 id=i3GEOOLpalavraBusca >"; | ||
469 | + ins += "<br><br><input type=button value='" + $trad("t23") + "' id='i3GEOOLbotaoBusca' ></div>"; | ||
470 | + ins += "<br>'" + $trad("result") + "':<br><span id=i3GEOOLcomboresultado ></span>"; | ||
471 | + try { | ||
472 | + YAHOO.namespace("procura.container"); | ||
473 | + YAHOO.procura.container.panel = new YAHOO.widget.Panel("panelprocura", { | ||
474 | + zIndex : 2000, | ||
475 | + iframe : false, | ||
476 | + width : "250px", | ||
477 | + visible : false, | ||
478 | + draggable : true, | ||
479 | + close : true | ||
480 | + }); | ||
481 | + YAHOO.procura.container.panel.setHeader("Encontre no mapa"); | ||
482 | + YAHOO.procura.container.panel.setBody(ins); | ||
483 | + YAHOO.procura.container.panel.setFooter(""); | ||
484 | + YAHOO.procura.container.panel.render(document.body); | ||
485 | + YAHOO.procura.container.panel.center(); | ||
486 | + | ||
487 | + document.getElementById("i3GEOOLbotaoBusca").onclick = | ||
488 | + function() { | ||
489 | + var layer = i3GEO.editorOL.layerAtivo(), item = document.getElementById("i3GEOOLbuscaItem").value, palavra = | ||
490 | + document.getElementById("i3GEOOLpalavraBusca").value; | ||
491 | + if (item === "" || palavra === "") { | ||
492 | + alert("Escolha o item e o texto de busca"); | ||
493 | + return; | ||
494 | + } | ||
495 | + i3GEO.editorOL.busca(layer, item, palavra, "i3GEOOLcomboresultado"); | ||
496 | + }; | ||
497 | + document.getElementById("i3GEOOLlistaTemasBusca").onchange = function() { | ||
498 | + i3GEO.editorOL.ativaTema(this.value); | ||
499 | + document.getElementById("i3GEOOLcomboitens").innerHTML = "..."; | ||
500 | + i3GEO.editorOL.listaItens(i3GEO.editorOL.layerAtivo(), "i3GEOOLcomboitens", "i3GEOOLbuscaItem"); | ||
501 | + }; | ||
502 | + } catch (e) { | ||
503 | + } | ||
504 | + }, | ||
505 | + criaComboTemas : function() { | ||
506 | + var layers = i3GEO.editorOL.layersLigados(), nlayers = layers.length, i, nometema = "", combo = | ||
507 | + "<select id=i3GEOOLlistaTemasAtivos style=width:235px; >"; | ||
508 | + // i3GEO.desenho.layergrafico.setLayerIndex(i3GEO.editorOL.getNumLayers() + 1); | ||
509 | + for (i = 0; i < nlayers; i++) { | ||
510 | + // pega o nome do tema | ||
511 | + nometema = layers[i].getProperties().title; | ||
512 | + combo += "<option value='" + layers[i].getProperties().name + "' >" + nometema + "</option>"; | ||
513 | + } | ||
514 | + combo += "</select>"; | ||
515 | + return combo; | ||
516 | + }, | ||
517 | + atualizaJanelaAtivaTema : function() { | ||
518 | + var combo = i3GEO.editorOL.criaComboTemas(); | ||
519 | + YAHOO.temaativo.container.panel.setBody(combo); | ||
520 | + }, | ||
521 | + criaJanelaAtivaTema : function() { | ||
522 | + var temp; | ||
523 | + if (!document.getElementById("paneltemaativo")) { | ||
524 | + YAHOO.namespace("temaativo.container"); | ||
525 | + YAHOO.temaativo.container.panel = new YAHOO.widget.Panel("paneltemaativo", { | ||
526 | + zIndex : 20000, | ||
527 | + iframe : true, | ||
528 | + width : "250px", | ||
529 | + visible : false, | ||
530 | + draggable : true, | ||
531 | + close : true | ||
532 | + }); | ||
533 | + YAHOO.temaativo.container.panel.setBody(""); | ||
534 | + if (i3GEO && typeof i3GEO != undefined && i3GEO != "") { | ||
535 | + YAHOO.temaativo.container.panel | ||
536 | + .setHeader("Tema ativo<div id='paneltemaativo_minimizaCabecalho' class='container-minimiza'></div>"); | ||
537 | + } else { | ||
538 | + YAHOO.temaativo.container.panel.setHeader($trad("tativo")); | ||
539 | + } | ||
540 | + YAHOO.temaativo.container.panel.setFooter(""); | ||
541 | + YAHOO.temaativo.container.panel.render(document.body); | ||
542 | + YAHOO.temaativo.container.panel.show(); | ||
543 | + YAHOO.temaativo.container.panel.center(); | ||
544 | + i3GEO.editorOL.atualizaJanelaAtivaTema(); | ||
545 | + YAHOO.util.Event.addListener(YAHOO.temaativo.container.panel.close, "click", function() { | ||
546 | + i3GEO.editorOL.marcaBotao(); | ||
547 | + if (i3GEO.eventos) { | ||
548 | + i3GEO.eventos.adicionaEventos("ATUALIZAARVORECAMADAS", [ | ||
549 | + "i3GEO.editorOL.atualizaJanelaAtivaTema()" | ||
550 | + ]); | ||
551 | + } | ||
552 | + }); | ||
553 | + if (i3GEO && typeof i3GEO != undefined && i3GEO != "") { | ||
554 | + if (i3GEO.eventos) { | ||
555 | + i3GEO.eventos.adicionaEventos("ATUALIZAARVORECAMADAS", [ | ||
556 | + "i3GEO.editorOL.atualizaJanelaAtivaTema()" | ||
557 | + ]); | ||
558 | + } | ||
559 | + } | ||
560 | + temp = $i("paneltemaativo_minimizaCabecalho"); | ||
561 | + if (temp) { | ||
562 | + temp.onclick = function() { | ||
563 | + i3GEO.janela.minimiza("paneltemaativo"); | ||
564 | + }; | ||
565 | + } | ||
566 | + } else { | ||
567 | + YAHOO.temaativo.container.panel.show(); | ||
568 | + i3GEO.editorOL.atualizaJanelaAtivaTema(); | ||
569 | + } | ||
570 | + }, | ||
571 | + ativaTema : function(id) { | ||
572 | + document.getElementById("i3GEOOLlistaTemasAtivos").value = id; | ||
573 | + }, | ||
574 | + layerAtivo : function() { | ||
575 | + var id = document.getElementById("i3GEOOLlistaTemasAtivos"); | ||
576 | + if (id) { | ||
577 | + id = id.value; | ||
578 | + } else { | ||
579 | + id = i3GEO.temaAtivo; | ||
580 | + } | ||
581 | + if (id == "") { | ||
582 | + return []; | ||
583 | + } else { | ||
584 | + return i3GEO.editorOL.layersLigados()[id]; | ||
585 | + } | ||
586 | + }, | ||
587 | + listaItens : function(layer, idonde, idobj) { | ||
588 | + if (!layer) { | ||
589 | + return; | ||
590 | + } | ||
591 | + if (!layer.params) { | ||
592 | + return; | ||
593 | + } | ||
594 | + var u = layer.url + "&request=describefeaturetype&service=wfs&version=1.0.0"; | ||
595 | + u += "&typename=" + layer.params.LAYERS; | ||
596 | + document.body.style.cursor = "wait"; | ||
597 | + document.getElementById("i3geoMapa").style.cursor = "wait"; | ||
598 | + OpenLayers.Request.issue({ | ||
599 | + method : "GET", | ||
600 | + url : u, | ||
601 | + callback : function(retorno) { | ||
602 | + document.body.style.cursor = "default"; | ||
603 | + document.getElementById("i3geoMapa").style.cursor = "default"; | ||
604 | + var fromgml = new OpenLayers.Format.WFSDescribeFeatureType({ | ||
605 | + geometryName : "msGeometry" | ||
606 | + }), gml = fromgml.read(retorno.responseText), prop = gml.featureTypes[0].properties, nprop = prop.length, i, combo = | ||
607 | + "<select id=" + idobj + " ><option value=''>----</option>"; | ||
608 | + for (i = 0; i < nprop; i++) { | ||
609 | + combo += "<option value=" + prop[i].name + " >" + prop[i].name + "</option>"; | ||
610 | + } | ||
611 | + combo += "</select>"; | ||
612 | + document.getElementById(idonde).innerHTML = combo; | ||
613 | + }, | ||
614 | + failure : function() { | ||
615 | + document.body.style.cursor = "default"; | ||
616 | + document.getElementById("i3geoMapa").style.cursor = "default"; | ||
617 | + alert("Erro"); | ||
618 | + } | ||
619 | + }); | ||
620 | + }, | ||
621 | + busca : function(layer, item, palavra, onde) { | ||
622 | + document.body.style.cursor = "wait"; | ||
623 | + document.getElementById("i3geoMapa").style.cursor = "wait"; | ||
624 | + var u = layer.url + "&request=getfeature&service=wfs&version=1.0.0"; | ||
625 | + u = u.replace("Z=${z}&X=${x}&Y=${y}", ""); | ||
626 | + u += "&OUTPUTFORMAT=gml2&typename=" + layer.params.LAYERS; | ||
627 | + u += | ||
628 | + "&filter=<Filter><PropertyIsLike wildcard=* singleChar=. escape=! ><PropertyName>" + item | ||
629 | + + "</PropertyName><Literal>*" | ||
630 | + + palavra | ||
631 | + + "*</Literal></PropertyIsLike></Filter>"; | ||
632 | + document.body.style.cursor = "wait"; | ||
633 | + document.getElementById("i3geoMapa").style.cursor = "wait"; | ||
634 | + document.getElementById(onde).innerHTML = "..."; | ||
635 | + OpenLayers.Request.issue({ | ||
636 | + method : "GET", | ||
637 | + url : u, | ||
638 | + callback : function(retorno) { | ||
639 | + document.body.style.cursor = "default"; | ||
640 | + document.getElementById("i3geoMapa").style.cursor = "default"; | ||
641 | + var fromgml = new OpenLayers.Format.GML({ | ||
642 | + geometryName : "msGeometry" | ||
643 | + }), gml = fromgml.read(retorno.responseText), ngml = gml.length, i, ins = | ||
644 | + "<select onchange='i3GEO.editorOL.zoomPara(this.value)'>"; | ||
645 | + ins += "<option value=''>---</option>"; | ||
646 | + for (i = 0; i < ngml; i++) { | ||
647 | + eval("var valor = gml[i].data." + item); | ||
648 | + var bounds = gml[i].geometry.getBounds(); | ||
649 | + bounds = bounds.toBBOX(); | ||
650 | + ins += "<option value='" + bounds + "'>" + valor + "</option>"; | ||
651 | + } | ||
652 | + ins += "</select>"; | ||
653 | + document.getElementById(onde).innerHTML = ins; | ||
654 | + }, | ||
655 | + failure : function() { | ||
656 | + document.body.style.cursor = "default"; | ||
657 | + document.getElementById("i3geoMapa").style.cursor = "default"; | ||
658 | + alert("Erro"); | ||
659 | + } | ||
660 | + }); | ||
661 | + }, | ||
662 | + zoomPara : function(bbox) { | ||
663 | + var b = new OpenLayers.Bounds.fromString(bbox); | ||
664 | + i3GEO.editorOL.mapa.zoomToExtent(b); | ||
665 | + }, | ||
666 | + mostraLegenda : function() { | ||
667 | + //TODO testar no mashup | ||
668 | + var layers = i3GEO.editorOL.layersLigados(), nlayers = layers.length, ins = "", i, icone = "", url, fers, f = "", fer = ""; | ||
669 | + for (i = 0; i < nlayers; i++) { | ||
670 | + try { | ||
671 | + if (layers[i].get("isBaseLayer") === false) { | ||
672 | + url = layers[i].getFullRequestString({ | ||
673 | + "request" : "getlegendgraphic" | ||
674 | + }); | ||
675 | + //i3GEO.editorOL.mapa.getLayers().item(0).getSource().getUrls()[0] | ||
676 | + icone = ""; | ||
677 | + if (i3GEO.editorOL.legendahtml === true) { | ||
678 | + // os parametros FORMAT e SERVICE sao inseridos de forma redundante para grantir | ||
679 | + // caso seja um TMS | ||
680 | + url = url.replace("image%2Fpng", "text/html") + "&FORMAT=text/html&SERVICE=WMS"; | ||
681 | + // verifica se a camada veio de um plugin de classe_plugini3geo | ||
682 | + // e insere o icone se for necessario | ||
683 | + if (layers[i].options.plugini3geo) { | ||
684 | + if (layers[i].params.LAYERS) { | ||
685 | + // wms | ||
686 | + icone = i3GEO.pluginI3geo[layers[i].options.plugini3geo].iconeArvoreDeCamadas(layers[i].params.LAYERS); | ||
687 | + } else { | ||
688 | + // tms | ||
689 | + icone = i3GEO.pluginI3geo[layers[i].options.plugini3geo].iconeArvoreDeCamadas(layers[i].layers); | ||
690 | + } | ||
691 | + } | ||
692 | + // | ||
693 | + // verifica se a camada tem ferramentas parametrizadas | ||
694 | + // insere o icone | ||
695 | + // | ||
696 | + fers = layers[i].options.ferramentas; | ||
697 | + for (fer in fers) { | ||
698 | + if (i3GEO.configura.ferramentasLayers[fer]) { | ||
699 | + icone = i3GEO.configura.ferramentasLayers[fer].icone(layers[i]); | ||
700 | + } | ||
701 | + } | ||
702 | + ins += icone + layers[i].name + "<br><div id=legendaL_" + i + " ></div><br>"; | ||
703 | + // necessario pq nao e sincrono | ||
704 | + eval("var f = function(retorno){document.getElementById('legendaL_" + i | ||
705 | + + "').innerHTML = retorno.responseText;};"); | ||
706 | + var config = { | ||
707 | + method : "GET", | ||
708 | + url : url, | ||
709 | + callback : f | ||
710 | + }; | ||
711 | + OpenLayers.Request.issue(config); | ||
712 | + } else { | ||
713 | + url = url.replace("LAYERS", "LAYER"); | ||
714 | + url = url.replace("&Z=${z}&X=${x}&Y=${y}", ""); | ||
715 | + url = url.replace("Z=${z}&X=${x}&Y=${y}", ""); | ||
716 | + ins += layers[i].name + "<br><img src='" + url + "&SERVICE=wms' /><br>"; | ||
717 | + } | ||
718 | + } | ||
719 | + } catch (e) { | ||
720 | + } | ||
721 | + } | ||
722 | + // var w = window.open(); | ||
723 | + // w.document.write(ins); | ||
724 | + // w.document.close(); | ||
725 | + if (!document.getElementById("panellegendaeditorOL")) { | ||
726 | + YAHOO.namespace("legendaeditorOL.container"); | ||
727 | + YAHOO.legendaeditorOL.container.panel = new YAHOO.widget.Panel("panellegendaeditorOL", { | ||
728 | + zIndex : 20000, | ||
729 | + iframe : true, | ||
730 | + width : "auto", | ||
731 | + visible : false, | ||
732 | + draggable : true, | ||
733 | + close : true | ||
734 | + }); | ||
735 | + YAHOO.legendaeditorOL.container.panel.setBody(ins); | ||
736 | + YAHOO.legendaeditorOL.container.panel.setHeader($trad("p3")); | ||
737 | + YAHOO.legendaeditorOL.container.panel.setFooter(""); | ||
738 | + YAHOO.legendaeditorOL.container.panel.render(document.body); | ||
739 | + YAHOO.legendaeditorOL.container.panel.show(); | ||
740 | + YAHOO.legendaeditorOL.container.panel.center(); | ||
741 | + | ||
742 | + YAHOO.util.Event.addListener(YAHOO.legendaeditorOL.container.panel.close, "click", function() { | ||
743 | + YAHOO.legendaeditorOL.container.panel.destroy(); | ||
744 | + }); | ||
745 | + } else { | ||
746 | + YAHOO.legendaeditorOL.container.panel.setBody(ins); | ||
747 | + YAHOO.legendaeditorOL.container.panel.show(); | ||
748 | + } | ||
749 | + }, | ||
750 | + captura : function(lonlat) { | ||
751 | + // if(i3GEO.desenho.layergrafico !== ""){return;} | ||
752 | + | ||
753 | + var d = 0.1, layers = [ | ||
754 | + i3GEO.editorOL.layerAtivo() | ||
755 | + ], xy = lonlat.split(","), u = layers[0].url + "&REQUEST=getfeature&service=wfs&version=1.0.0"; | ||
756 | + u += "&OUTPUTFORMAT=gml2&typename=" + layers[0].params.LAYERS; | ||
757 | + // remove parametros nao desejados | ||
758 | + if (i3GEO.Interface.openlayers.googleLike === true) { | ||
759 | + u += "&SRS=EPSG:3857"; | ||
760 | + } | ||
761 | + u = u.replace("&cache=sim", "&DESLIGACACHE=sim"); | ||
762 | + u = u.replace("&Z=${z}&X=${x}&Y=${y}", ""); | ||
763 | + u = u.replace("Z=${z}&X=${x}&Y=${y}", ""); | ||
764 | + // u += | ||
765 | + // "&filter=<Filter><Intersects><PropertyName>Geometry</PropertyName><gml:Point><gml:coordinates>"+lonlat+"</gml:coordinates></gml:Point></Intersects></Filter>"; | ||
766 | + | ||
767 | + xy[0] = xy[0] * 1; | ||
768 | + xy[1] = xy[1] * 1; | ||
769 | + var poligono = | ||
770 | + (xy[0] - d) + "," | ||
771 | + + (xy[1] + d) | ||
772 | + + " " | ||
773 | + + (xy[0] + d) | ||
774 | + + "," | ||
775 | + + (xy[1] + d) | ||
776 | + + " " | ||
777 | + + (xy[0] + d) | ||
778 | + + "," | ||
779 | + + (xy[1] - d) | ||
780 | + + " " | ||
781 | + + (xy[0] - d) | ||
782 | + + "," | ||
783 | + + (xy[1] - d) | ||
784 | + + " " | ||
785 | + + (xy[0] - d) | ||
786 | + + "," | ||
787 | + + (xy[1] + d); | ||
788 | + u += | ||
789 | + "&filter=<Filter><Intersects><PropertyName>Geometry</PropertyName><gml:Polygon><gml:outerBoundaryIs><gml:LinearRing><gml:posList>" + poligono | ||
790 | + + "</gml:posList></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></Intersects></Filter>"; | ||
791 | + | ||
792 | + document.body.style.cursor = "wait"; | ||
793 | + if (document.getElementById("i3geoMapa")) { | ||
794 | + document.getElementById("i3geoMapa").style.cursor = "wait"; | ||
795 | + } | ||
796 | + OpenLayers.Request.issue({ | ||
797 | + method : "GET", | ||
798 | + url : u, | ||
799 | + callback : function(retorno) { | ||
800 | + document.body.style.cursor = "default"; | ||
801 | + if (document.getElementById("i3geoMapa")) { | ||
802 | + document.getElementById("i3geoMapa").style.cursor = "default"; | ||
803 | + } | ||
804 | + var i, n, f, fromgml = new OpenLayers.Format.GML({ | ||
805 | + geometryName : "msGeometry" | ||
806 | + }), gml = fromgml.read(retorno.responseText); | ||
807 | + n = gml.length; | ||
808 | + for (i = 0; i < n; i++) { | ||
809 | + f = gml[i]; | ||
810 | + f["attributes"] = { | ||
811 | + opacidade : i3GEO.editorOL.simbologia.opacidade, | ||
812 | + texto : i3GEO.editorOL.simbologia.texto, | ||
813 | + fillColor : i3GEO.editorOL.simbologia.fillColor, | ||
814 | + strokeWidth : i3GEO.editorOL.simbologia.strokeWidth, | ||
815 | + strokeColor : i3GEO.editorOL.simbologia.strokeColor, | ||
816 | + pointRadius : i3GEO.editorOL.simbologia.pointRadius, | ||
817 | + graphicName : i3GEO.editorOL.simbologia.graphicName, | ||
818 | + registros : f["attributes"] | ||
819 | + }; | ||
820 | + } | ||
821 | + i3GEO.desenho.layergrafico.addFeatures(gml); | ||
822 | + }, | ||
823 | + failure : function() { | ||
824 | + document.body.style.cursor = "default"; | ||
825 | + if (document.getElementById("i3geoMapa")) { | ||
826 | + document.getElementById("i3geoMapa").style.cursor = "default"; | ||
827 | + } | ||
828 | + alert("Erro"); | ||
829 | + } | ||
830 | + }); | ||
831 | + }, | ||
832 | + salvaGeometrias : function() { | ||
833 | + var geos = i3GEO.desenho.layergrafico.selectedFeatures, n = geos.length, ins = ""; | ||
834 | + if (n > 0) { | ||
835 | + if ($i("panelsalvageometrias")) { | ||
836 | + if (YAHOO.i3GEO) { | ||
837 | + YAHOO.salvaGeometrias.container.panel = YAHOO.i3GEO.janela.manager.find("panelsalvageometrias"); | ||
838 | + } | ||
839 | + YAHOO.salvaGeometrias.container.panel.show(); | ||
840 | + YAHOO.salvaGeometrias.container.panel.bringToTop(); | ||
841 | + } else { | ||
842 | + try { | ||
843 | + YAHOO.namespace("salvaGeometrias.container"); | ||
844 | + YAHOO.salvaGeometrias.container.panel = new YAHOO.widget.Panel("panelsalvageometrias", { | ||
845 | + zIndex : 2000, | ||
846 | + iframe : false, | ||
847 | + width : "250px", | ||
848 | + visible : false, | ||
849 | + draggable : true, | ||
850 | + close : true | ||
851 | + }); | ||
852 | + YAHOO.salvaGeometrias.container.panel.setHeader($trad("u6")); | ||
853 | + YAHOO.salvaGeometrias.container.panel.setBody(""); | ||
854 | + YAHOO.salvaGeometrias.container.panel.setFooter(""); | ||
855 | + YAHOO.salvaGeometrias.container.panel.render(document.body); | ||
856 | + YAHOO.salvaGeometrias.container.panel.center(); | ||
857 | + if (YAHOO.i3GEO && YAHOO.i3GEO.janela) { | ||
858 | + YAHOO.i3GEO.janela.manager.register(YAHOO.salvaGeometrias.container.panel); | ||
859 | + } | ||
860 | + YAHOO.salvaGeometrias.container.panel.show(); | ||
861 | + } catch (e) { | ||
862 | + } | ||
863 | + } | ||
864 | + ins += "<p class=paragrafo >" + n + " " + $trad("geosel") + "</p>"; | ||
865 | + ins += | ||
866 | + "<p class=paragrafo ><a href='#' onclick='i3GEO.editorOL.listaGeometriasSel()' >" + $trad("listar") | ||
867 | + + "</a> "; | ||
868 | + if (i3GEO.editorOL.nomeFuncaoSalvar && i3GEO.editorOL.nomeFuncaoSalvar != "") { | ||
869 | + ins += "<a href='#' onclick='" + i3GEO.editorOL.nomeFuncaoSalvar + "' >" + $trad("sdados") + "</a> "; | ||
870 | + } | ||
871 | + if (typeof i3geoOL !== "undefined") { | ||
872 | + ins += "<a href='#' onclick='i3GEO.editorOL.incorporar()' >" + $trad("incorpo") + "</a></p>"; | ||
873 | + ins += "<p class=paragrafo>" + $trad("ajudaEditorOlSalva") + "</p>"; | ||
874 | + } | ||
875 | + YAHOO.salvaGeometrias.container.panel.setBody(ins); | ||
876 | + } else { | ||
877 | + i3GEO.janela.tempoMsg($trad("selum")); | ||
878 | + } | ||
879 | + }, | ||
880 | + exportarSHP : function() { | ||
881 | + i3GEO.editorOL.processageo("converteSHP"); | ||
882 | + }, | ||
883 | + incorporar : function() { | ||
884 | + i3GEO.editorOL.processageo("incorporar"); | ||
885 | + }, | ||
886 | + listaGeometriasSel : function() { | ||
887 | + var geos = i3GEO.desenho.layergrafico.selectedFeatures, n = geos.length, ins = "", i, a, w, g; | ||
888 | + for (i = 0; i < n; i++) { | ||
889 | + g = geos[i]; | ||
890 | + ins += "<b>" + $trad("u6") + ": " + i + "</b><br>" + i3GEO.editorOL.google2wgs(g.geometry) + "<br><br>"; | ||
891 | + ins += "<b>" + $trad("atrib") + ": " + i + "</b><br>"; | ||
892 | + a = g.attributes; | ||
893 | + for (key in a) { | ||
894 | + if (a[key]) { | ||
895 | + ins += key + " = " + a[key] + "<br>"; | ||
896 | + } | ||
897 | + } | ||
898 | + // lista os registros se for fruto de uma captura | ||
899 | + if (g.attributes.registros) { | ||
900 | + ins += "<b>" + $trad("reg") + ": " + i + "</b><br>"; | ||
901 | + a = g.attributes.registros; | ||
902 | + for (key in a) { | ||
903 | + if (a[key]) { | ||
904 | + ins += key + " = " + a[key] + "<br>"; | ||
905 | + } | ||
906 | + } | ||
907 | + } | ||
908 | + ins += "<br>"; | ||
909 | + } | ||
910 | + w = window.open(); | ||
911 | + w.document.write(ins); | ||
912 | + w.document.close(); | ||
913 | + }, | ||
914 | + testeSalvar : function() { | ||
915 | + alert("Funcao nao disponivel. Defina o nome da funcao em i3GEO.editorOL.nomeFuncaoSalvar "); | ||
916 | + }, | ||
917 | + salvaGeo : function() { | ||
918 | + // i3GEO.editorOL.testeSalvar(); | ||
919 | + // return; | ||
920 | + var geos = i3GEO.desenho.layergrafico.selectedFeatures, n = geos.length, funcaoOK = | ||
921 | + function() { | ||
922 | + // verifica se a geometria contem o atributo que indica a coluna ou codigo unico | ||
923 | + if (geos[0].geometry) { | ||
924 | + var registros = "", valorunico = "", nometema = $i("editorOLcomboTemaEditavel").value, key = "", tema, redesenha, p, g = | ||
925 | + i3GEO.editorOL.google2wgs(geos[0].geometry); | ||
926 | + if (nometema == "") { | ||
927 | + return; | ||
928 | + } | ||
929 | + tema = i3GEO.arvoreDeCamadas.pegaTema(nometema, "", "name"); | ||
930 | + // o tema contem o indicador de qual e a coluna que contem o identificador unico | ||
931 | + if (geos[0].attributes.registros) { | ||
932 | + registros = geos[0].attributes.registros; | ||
933 | + for (key in registros) { | ||
934 | + if (registros[key] && key == tema.colunaidunico) { | ||
935 | + valorunico = registros[key]; | ||
936 | + } | ||
937 | + } | ||
938 | + } | ||
939 | + redesenha = function(retorno) { | ||
940 | + i3GEO.janela.fechaAguarde("aguardeSalvaPonto"); | ||
941 | + i3GEO.desenho.layergrafico.removeFeatures(i3GEO.desenho.layergrafico.selectedFeatures); | ||
942 | + i3GEO.Interface.atualizaTema("", nometema); | ||
943 | + }; | ||
944 | + i3GEO.janela.AGUARDEMODAL = true; | ||
945 | + i3GEO.janela.abreAguarde("aguardeSalvaPonto", $trad("adic") + "..."); | ||
946 | + i3GEO.janela.AGUARDEMODAL = false; | ||
947 | + | ||
948 | + // cria um novo registro | ||
949 | + if (valorunico == "") { | ||
950 | + p = | ||
951 | + i3GEO.configura.locaplic + "/ferramentas/editortema/exec.php?funcao=adicionaGeometria&g_sid=" | ||
952 | + + i3GEO.configura.sid; | ||
953 | + cpJSON.call(p, "foo", redesenha, "&tema=" + nometema + "&wkt=" + g); | ||
954 | + } else { | ||
955 | + // atualiza a geometria | ||
956 | + p = | ||
957 | + i3GEO.configura.locaplic + "/ferramentas/editortema/exec.php?funcao=atualizaGeometria&g_sid=" | ||
958 | + + i3GEO.configura.sid; | ||
959 | + cpJSON.call(p, "foo", redesenha, "&idunico=" + valorunico + "&tema=" + nometema + "&wkt=" + g); | ||
960 | + } | ||
961 | + } | ||
962 | + }, funcaoCombo = function(obj) { | ||
963 | + $i("editorOLondeComboTemaEditavel").innerHTML = obj.dados; | ||
964 | + }, texto = $trad("stema") + ":<br><div id=editorOLondeComboTemaEditavel ></div><br><br>"; | ||
965 | + if (n != 1) { | ||
966 | + i3GEO.janela.tempoMsg($trad("seluma")); | ||
967 | + } else { | ||
968 | + i3GEO.janela.confirma(texto, 300, $trad("salva"), $trad("canc"), funcaoOK); | ||
969 | + i3GEO.util.comboTemas("editorOLcomboTemaEditavel", funcaoCombo, "editorOLondeComboTemaEditavel", "", false, "editavel"); | ||
970 | + } | ||
971 | + }, | ||
972 | + //muda a classe do botao para marca-lo como ativo | ||
973 | + marcaBotao : function(classeBotao){ | ||
974 | + //desmarca todos os botoes | ||
975 | + var i, n, botoes = $i("i3GEObarraEdicao").getElementsByTagName("div"); | ||
976 | + n = botoes.length; | ||
977 | + for(i = 0; i < n; i++){ | ||
978 | + botoes[i].className = botoes[i].className.replace("ItemActive","ItemInactive"); | ||
979 | + if(classeBotao){ | ||
980 | + botoes[i].className = botoes[i].className.replace(classeBotao+"ItemInactive",classeBotao+"ItemActive"); | ||
981 | + } | ||
982 | + } | ||
983 | + i3GEO.editorOL.removeInteracoes(); | ||
984 | + }, | ||
985 | + //interacoes criadas ao ativar algum botao | ||
986 | + //usado para remover as interacoes | ||
987 | + interacoes : [], | ||
988 | + removeInteracoes: function(){ | ||
989 | + var i, n; | ||
990 | + n = i3GEO.editorOL.interacoes.length; | ||
991 | + for(i = 0; i < n; i++){ | ||
992 | + i3geoOL.removeInteraction(i3GEO.editorOL.interacoes[i]); | ||
993 | + } | ||
994 | + i3GEO.editorOL.interacoes = []; | ||
995 | + }, | ||
996 | + criaBotoes : function(botoes) { | ||
997 | + if($i("i3GEObarraEdicao")){ | ||
998 | + $i("i3GEObarraEdicao").style.display = "block"; | ||
999 | + return; | ||
1000 | + } | ||
1001 | + var temp; | ||
1002 | + //cria o painel onde entrarão os icones | ||
1003 | + i3GEOpanelEditor = document.createElement("div"); | ||
1004 | + i3GEOpanelEditor.id = "i3GEObarraEdicao"; | ||
1005 | + i3GEOpanelEditor.className = "olControlEditingToolbar1 noprint"; | ||
1006 | + //cria os icones | ||
1007 | + if (botoes.procura === true) { | ||
1008 | + temp = document.createElement("div"); | ||
1009 | + temp.className = "editorOLprocuraItemInactive olButton"; | ||
1010 | + temp.title = $trad("t23"); | ||
1011 | + temp.onclick = function(){ | ||
1012 | + YAHOO.procura.container.panel.show(); | ||
1013 | + }; | ||
1014 | + i3GEOpanelEditor.appendChild(temp); | ||
1015 | + } | ||
1016 | + if (botoes.pan === true) { | ||
1017 | + temp = document.createElement("div"); | ||
1018 | + temp.className = "editorOLpanItemInactive olButton"; | ||
1019 | + temp.title = "pan"; | ||
1020 | + temp.onclick = function(){ | ||
1021 | + i3GEO.editorOL.marcaBotao("editorOLpan"); | ||
1022 | + }; | ||
1023 | + i3GEOpanelEditor.appendChild(temp); | ||
1024 | + } | ||
1025 | + if (botoes.zoombox === true) { | ||
1026 | + temp = document.createElement("div"); | ||
1027 | + temp.className = "editorOLzoomboxItemInactive olButton"; | ||
1028 | + temp.title = "zoombox"; | ||
1029 | + temp.onclick = function(){ | ||
1030 | + i3GEO.barraDeBotoes.defBotao("zoomli").funcaoonclick; | ||
1031 | + }; | ||
1032 | + i3GEOpanelEditor.appendChild(temp); | ||
1033 | + } | ||
1034 | + if (botoes.zoomtot === true) { | ||
1035 | + temp = document.createElement("div"); | ||
1036 | + temp.className = "editorOLzoomtotItemInactive olButton"; | ||
1037 | + temp.title = $trad("d2t"); | ||
1038 | + temp.onclick = function(){ | ||
1039 | + if (i3GEO.editorOL.mapext && i3GEO.editorOL.mapext != "") { | ||
1040 | + i3GEO.Interface.openlayers.zoom2ext(i3GEO.editorOL.mapext.join(" ")); | ||
1041 | + } else { | ||
1042 | + i3GEO.Interface.openlayers.zoom2ext(i3GEO.parametros.extentTotal); | ||
1043 | + } | ||
1044 | + }; | ||
1045 | + i3GEOpanelEditor.appendChild(temp); | ||
1046 | + } | ||
1047 | + if (botoes.zoomin === true) { | ||
1048 | + temp = document.createElement("div"); | ||
1049 | + temp.className = "editorOLzoominItemInactive olButton"; | ||
1050 | + temp.title = $trad("d5t"); | ||
1051 | + temp.onclick = function(){ | ||
1052 | + var v = i3GEO.editorOL.mapa.getView(); | ||
1053 | + v.setZoom(v.getZoom() + 1); | ||
1054 | + }; | ||
1055 | + i3GEOpanelEditor.appendChild(temp); | ||
1056 | + } | ||
1057 | + if (botoes.zoomout === true) { | ||
1058 | + temp = document.createElement("div"); | ||
1059 | + temp.className = "editorOLzoomoutItemInactive olButton"; | ||
1060 | + temp.title = $trad("d5t"); | ||
1061 | + temp.onclick = function(){ | ||
1062 | + var v = i3GEO.editorOL.mapa.getView(); | ||
1063 | + v.setZoom(v.getZoom() - 1); | ||
1064 | + }; | ||
1065 | + i3GEOpanelEditor.appendChild(temp); | ||
1066 | + } | ||
1067 | + if (botoes.legenda === true) { | ||
1068 | + temp = document.createElement("div"); | ||
1069 | + temp.className = "editorOLlegendaItemInactive olButton"; | ||
1070 | + temp.title = $trad("p3"); | ||
1071 | + temp.onclick = function(){ | ||
1072 | + i3GEO.editorOL.mostraLegenda(); | ||
1073 | + }; | ||
1074 | + i3GEOpanelEditor.appendChild(temp); | ||
1075 | + } | ||
1076 | + if (botoes.distancia === true) { | ||
1077 | + temp = document.createElement("div"); | ||
1078 | + temp.className = "editorOLdistanciaItemInactive olButton"; | ||
1079 | + temp.title = $trad("d21t"); | ||
1080 | + temp.onclick = function(){ | ||
1081 | + i3GEO.editorOL.marcaBotao("editorOLdistancia"); | ||
1082 | + i3GEO.barraDeBotoes.defBotao("mede").funcaoonclick; | ||
1083 | + }; | ||
1084 | + i3GEOpanelEditor.appendChild(temp); | ||
1085 | + } | ||
1086 | + if (botoes.area === true) { | ||
1087 | + temp = document.createElement("div"); | ||
1088 | + temp.className = "editorOLareaItemInactive olButton"; | ||
1089 | + temp.title = $trad("d21at"); | ||
1090 | + temp.onclick = function(){ | ||
1091 | + i3GEO.editorOL.marcaBotao("editorOLarea"); | ||
1092 | + i3GEO.barraDeBotoes.defBotao("area").funcaoonclick; | ||
1093 | + }; | ||
1094 | + i3GEOpanelEditor.appendChild(temp); | ||
1095 | + } | ||
1096 | + if (botoes.linha === true) { | ||
1097 | + temp = document.createElement("div"); | ||
1098 | + temp.className = "editorOLlinhaItemInactive olButton"; | ||
1099 | + temp.title = $trad("dlinha"); | ||
1100 | + temp.onclick = function(){ | ||
1101 | + i3GEO.eventos.cliquePerm.desativa(); | ||
1102 | + i3GEO.editorOL.marcaBotao("editorOLlinha"); | ||
1103 | + var draw = new ol.interaction.Draw({ | ||
1104 | + type : "LineString" | ||
1105 | + }); | ||
1106 | + //adiciona a interacao para poder ser removida | ||
1107 | + i3GEO.editorOL.interacoes.push(draw); | ||
1108 | + //desativa ol.interaction.DoubleClickZoom | ||
1109 | + i3GEO.Interface.openlayers.interacoes[0].setActive(false); | ||
1110 | + draw.on("drawend", function(evt) { | ||
1111 | + evt.feature.setStyle( | ||
1112 | + new ol.style.Style({ | ||
1113 | + stroke: new ol.style.Stroke({ | ||
1114 | + color: 'rgba(' + i3GEO.editorOL.simbologia.strokeColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')', | ||
1115 | + width: i3GEO.editorOL.simbologia.strokeWidth | ||
1116 | + }), | ||
1117 | + fill: new ol.style.Fill({ | ||
1118 | + color: 'rgba(' + i3GEO.editorOL.simbologia.fillColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')' | ||
1119 | + }) | ||
1120 | + }) | ||
1121 | + ); | ||
1122 | + evt.feature.setId(i3GEO.util.uid()); | ||
1123 | + i3GEO.desenho.layergrafico.getSource().addFeature(evt.feature); | ||
1124 | + draw.setActive(false); | ||
1125 | + draw.setActive(true); | ||
1126 | + if (document.getElementById("panellistagEditor")) { | ||
1127 | + i3GEO.editorOL.listaGeometrias(); | ||
1128 | + } | ||
1129 | + }); | ||
1130 | + i3geoOL.addInteraction(draw); | ||
1131 | + }; | ||
1132 | + i3GEOpanelEditor.appendChild(temp); | ||
1133 | + } | ||
1134 | + //TODO falta definir imagem | ||
1135 | + if (botoes.ponto === true) { | ||
1136 | + i3GEO.eventos.cliquePerm.desativa(); | ||
1137 | + temp = document.createElement("div"); | ||
1138 | + temp.className = "editorOLpontoItemInactive olButton"; | ||
1139 | + temp.title = $trad("dponto"); | ||
1140 | + temp.onclick = function(){ | ||
1141 | + i3GEO.eventos.cliquePerm.desativa(); | ||
1142 | + i3GEO.editorOL.marcaBotao("editorOLponto"); | ||
1143 | + var draw = new ol.interaction.Draw({ | ||
1144 | + type : "Point" | ||
1145 | + }); | ||
1146 | + //adiciona a interacao para poder ser removida | ||
1147 | + i3GEO.editorOL.interacoes.push(draw); | ||
1148 | + i3GEO.Interface.openlayers.interacoes[0].setActive(false); | ||
1149 | + draw.on("drawend", function(evt) { | ||
1150 | + evt.feature.setStyle( | ||
1151 | + new ol.style.Style({ | ||
1152 | + image: new ol.style.Circle({ | ||
1153 | + radius: i3GEO.editorOL.simbologia.pointRadius, | ||
1154 | + fill: new ol.style.Fill({ | ||
1155 | + color: 'rgba(' + i3GEO.editorOL.simbologia.fillColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')' | ||
1156 | + }), | ||
1157 | + stroke: new ol.style.Stroke({ | ||
1158 | + color: 'rgba(' + i3GEO.editorOL.simbologia.strokeColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')', | ||
1159 | + width: i3GEO.editorOL.simbologia.pointRadius / 3 | ||
1160 | + }) | ||
1161 | + }) | ||
1162 | + }) | ||
1163 | + ); | ||
1164 | + evt.feature.setId(i3GEO.util.uid()); | ||
1165 | + i3GEO.desenho.layergrafico.getSource().addFeature(evt.feature); | ||
1166 | + draw.setActive(false); | ||
1167 | + draw.setActive(true); | ||
1168 | + if (document.getElementById("panellistagEditor")) { | ||
1169 | + i3GEO.editorOL.listaGeometrias(); | ||
1170 | + } | ||
1171 | + }); | ||
1172 | + i3geoOL.addInteraction(draw); | ||
1173 | + }; | ||
1174 | + i3GEOpanelEditor.appendChild(temp); | ||
1175 | + } | ||
1176 | + if (botoes.poligono === true) { | ||
1177 | + i3GEO.eventos.cliquePerm.desativa(); | ||
1178 | + temp = document.createElement("div"); | ||
1179 | + temp.className = "editorOLpoligonoItemInactive olButton"; | ||
1180 | + temp.title = $trad("dpol"); | ||
1181 | + temp.onclick = function(){ | ||
1182 | + i3GEO.editorOL.marcaBotao("editorOLpoligono"); | ||
1183 | + var draw = new ol.interaction.Draw({ | ||
1184 | + type : "Polygon" | ||
1185 | + }); | ||
1186 | + /* | ||
1187 | + snap = new ol.interaction.Snap({ | ||
1188 | + source: i3GEO.desenho.layergrafico.getSource() | ||
1189 | + }); | ||
1190 | + i3GEO.editorOL.interacoes.push(snap); | ||
1191 | + */ | ||
1192 | + //adiciona a interacao para poder ser removida | ||
1193 | + i3GEO.editorOL.interacoes.push(draw); | ||
1194 | + i3GEO.Interface.openlayers.interacoes[0].setActive(false); | ||
1195 | + draw.on("drawend", function(evt) { | ||
1196 | + evt.feature.setStyle( | ||
1197 | + new ol.style.Style({ | ||
1198 | + stroke: new ol.style.Stroke({ | ||
1199 | + color: 'rgba(' + i3GEO.editorOL.simbologia.strokeColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')', | ||
1200 | + width: i3GEO.editorOL.simbologia.strokeWidth | ||
1201 | + }), | ||
1202 | + fill: new ol.style.Fill({ | ||
1203 | + color: 'rgba(' + i3GEO.editorOL.simbologia.fillColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')' | ||
1204 | + }) | ||
1205 | + }) | ||
1206 | + ); | ||
1207 | + evt.feature.setId(i3GEO.util.uid()); | ||
1208 | + i3GEO.desenho.layergrafico.getSource().addFeature(evt.feature); | ||
1209 | + draw.setActive(false); | ||
1210 | + draw.setActive(true); | ||
1211 | + if (document.getElementById("panellistagEditor")) { | ||
1212 | + i3GEO.editorOL.listaGeometrias(); | ||
1213 | + } | ||
1214 | + }); | ||
1215 | + i3geoOL.addInteraction(draw); | ||
1216 | + }; | ||
1217 | + i3GEOpanelEditor.appendChild(temp); | ||
1218 | + } | ||
1219 | + | ||
1220 | + if (botoes.texto === true) { | ||
1221 | + i3GEO.eventos.cliquePerm.desativa(); | ||
1222 | + temp = document.createElement("div"); | ||
1223 | + temp.className = "editorOLtextoItemInactive olButton"; | ||
1224 | + temp.title = $trad("dtexto"); | ||
1225 | + temp.onclick = function(){ | ||
1226 | + i3GEO.eventos.cliquePerm.desativa(); | ||
1227 | + i3GEO.editorOL.marcaBotao("editorOLtexto"); | ||
1228 | + var draw = new ol.interaction.Draw({ | ||
1229 | + type : "Point" | ||
1230 | + }); | ||
1231 | + //adiciona a interacao para poder ser removida | ||
1232 | + i3GEO.editorOL.interacoes.push(draw); | ||
1233 | + i3GEO.Interface.openlayers.interacoes[0].setActive(false); | ||
1234 | + draw.on("drawend", function(evt) { | ||
1235 | + var texto = window.prompt("Texto", ""); | ||
1236 | + evt.feature.setStyle( | ||
1237 | + new ol.style.Style({ | ||
1238 | + text: new ol.style.Text({ | ||
1239 | + text: texto, | ||
1240 | + font: 'Bold ' + parseInt(i3GEO.editorOL.simbologia.fontSize,10) + 'px Arial', | ||
1241 | + textAlign: 'left', | ||
1242 | + stroke: new ol.style.Stroke({ | ||
1243 | + color: 'white', | ||
1244 | + width: i3GEO.editorOL.simbologia.strokeWidth | ||
1245 | + }), | ||
1246 | + fill: new ol.style.Fill({ | ||
1247 | + color: i3GEO.editorOL.simbologia.fontColor | ||
1248 | + }), | ||
1249 | + zIndex: 2000 | ||
1250 | + }) | ||
1251 | + }) | ||
1252 | + ); | ||
1253 | + evt.feature.setId(i3GEO.util.uid()); | ||
1254 | + i3GEO.desenho.layergrafico.getSource().addFeature(evt.feature); | ||
1255 | + draw.setActive(false); | ||
1256 | + draw.setActive(true); | ||
1257 | + i3GEO.editorOL.marcaBotao(); | ||
1258 | + }); | ||
1259 | + i3geoOL.addInteraction(draw); | ||
1260 | + }; | ||
1261 | + i3GEOpanelEditor.appendChild(temp); | ||
1262 | + } | ||
1263 | + | ||
1264 | + if (botoes.selecao === true) { | ||
1265 | + i3GEO.eventos.cliquePerm.desativa(); | ||
1266 | + temp = document.createElement("div"); | ||
1267 | + temp.className = "editorOLselecaoItemInactive olButton"; | ||
1268 | + temp.title = $trad("d24t"); | ||
1269 | + temp.onclick = function(){ | ||
1270 | + i3GEO.editorOL.marcaBotao("editorOLselecao"); | ||
1271 | + var sel = new ol.interaction.Select(); | ||
1272 | + //adiciona a interacao para poder ser removida | ||
1273 | + i3GEO.editorOL.interacoes.push(sel); | ||
1274 | + i3GEO.Interface.openlayers.interacoes[0].setActive(false); | ||
1275 | + sel.on("select", function(evt) { | ||
1276 | + var i, n, id, f; | ||
1277 | + n = evt.selected.length; | ||
1278 | + for(i=0; i<n; i++){ | ||
1279 | + f = evt.selected[i]; | ||
1280 | + id = f.getId(); | ||
1281 | + if(id && i3GEO.util.in_array(id,i3GEO.editorOL.idsSelecionados)){ | ||
1282 | + i3GEO.editorOL.unselFeature(id); | ||
1283 | + } | ||
1284 | + else{ | ||
1285 | + id = i3GEO.util.uid(); | ||
1286 | + i3GEO.editorOL.idsSelecionados.push(id); | ||
1287 | + f.setId(id); | ||
1288 | + f.setProperties({ | ||
1289 | + fillColor: f.getStyle().getFill().getColor(), | ||
1290 | + strokeColor: f.getStyle().getStroke().getColor() | ||
1291 | + }); | ||
1292 | + f.getStyle().getFill().setColor('rgba(255, 255, 255, 0.5)'); | ||
1293 | + f.getStyle().getStroke().setColor('blue'); | ||
1294 | + } | ||
1295 | + } | ||
1296 | + if (n === 0){ | ||
1297 | + i3GEO.editorOL.unselTodos(); | ||
1298 | + } | ||
1299 | + }); | ||
1300 | + i3geoOL.addInteraction(sel); | ||
1301 | + }; | ||
1302 | + i3GEOpanelEditor.appendChild(temp); | ||
1303 | + } | ||
1304 | + | ||
1305 | + if (botoes.selecaotudo === true) { | ||
1306 | + temp = document.createElement("div"); | ||
1307 | + temp.className = "editorOLselecaoTudoItemInactive olButton"; | ||
1308 | + temp.title = $trad("studo"); | ||
1309 | + temp.onclick = function(){ | ||
1310 | + i3GEO.editorOL.marcaBotao(); | ||
1311 | + i3GEO.editorOL.selTodos(); | ||
1312 | + }; | ||
1313 | + i3GEOpanelEditor.appendChild(temp); | ||
1314 | + } | ||
1315 | + | ||
1316 | + if (botoes.apaga === true) { | ||
1317 | + temp = document.createElement("div"); | ||
1318 | + temp.className = "editorOLapagaItemInactive olButton"; | ||
1319 | + temp.title = $trad("excsel"); | ||
1320 | + temp.onclick = function(){ | ||
1321 | + var x, nsel = i3GEO.editorOL.idsSelecionados.length; | ||
1322 | + i3GEO.editorOL.featuresBackup = []; | ||
1323 | + i3GEO.editorOL.marcaBotao(); | ||
1324 | + if(nsel > 0){ | ||
1325 | + x = window.confirm($trad("excsel") + "?"); | ||
1326 | + if(x){ | ||
1327 | + i3GEO.editorOL.removeFeaturesSel(); | ||
1328 | + i3GEO.desenho.layergrafico.getSource().changed(); | ||
1329 | + } | ||
1330 | + } | ||
1331 | + else{ | ||
1332 | + i3GEO.janela.tempoMsg($trad("selum")); | ||
1333 | + } | ||
1334 | + }; | ||
1335 | + i3GEOpanelEditor.appendChild(temp); | ||
1336 | + } | ||
1337 | + | ||
1338 | + if (botoes.frente === true) { | ||
1339 | + temp = document.createElement("div"); | ||
1340 | + temp.className = "editorOLfrenteItemInactive olButton"; | ||
1341 | + temp.title = $trad("frente"); | ||
1342 | + temp.onclick = function(){ | ||
1343 | + var nsel = i3GEO.editorOL.idsSelecionados.length; | ||
1344 | + if(nsel > 0){ | ||
1345 | + i3GEO.editorOL.marcaBotao(); | ||
1346 | + i3GEO.editorOL.trazParaFrente(); | ||
1347 | + } | ||
1348 | + else{ | ||
1349 | + i3GEO.janela.tempoMsg($trad("selum")); | ||
1350 | + } | ||
1351 | + }; | ||
1352 | + i3GEOpanelEditor.appendChild(temp); | ||
1353 | + } | ||
1354 | + //TODO Translate nao funciona nessa versao do openlayers 3x precisa atualizar | ||
1355 | + if (botoes.edita === true) { | ||
1356 | + i3GEO.eventos.cliquePerm.desativa(); | ||
1357 | + temp = document.createElement("div"); | ||
1358 | + temp.className = "editorOLeditaItemInactive olButton"; | ||
1359 | + temp.title = $trad("dpol"); | ||
1360 | + temp.onclick = function(){ | ||
1361 | + i3GEO.editorOL.featuresBackup = []; | ||
1362 | + var draw, nsel, f, c; | ||
1363 | + nsel = i3GEO.editorOL.idsSelecionados.length; | ||
1364 | + if(nsel > 0){ | ||
1365 | + i3GEO.editorOL.marcaBotao("editorOLedita"); | ||
1366 | + f = i3GEO.desenho.layergrafico.getSource().getFeatureById(i3GEO.editorOL.idsSelecionados[nsel - 1]); | ||
1367 | + i3GEO.editorOL.featuresBackup.push(f.clone()); | ||
1368 | + c = new ol.Collection(); | ||
1369 | + c.push(f); | ||
1370 | + draw = new ol.interaction.Modify({ | ||
1371 | + features: c | ||
1372 | + }); | ||
1373 | + //adiciona a interacao para poder ser removida | ||
1374 | + i3GEO.editorOL.interacoes.push(draw); | ||
1375 | + i3GEO.Interface.openlayers.interacoes[0].setActive(false); | ||
1376 | + i3geoOL.addInteraction(draw); | ||
1377 | + } | ||
1378 | + else{ | ||
1379 | + i3GEO.janela.tempoMsg($trad("selum")); | ||
1380 | + } | ||
1381 | + }; | ||
1382 | + i3GEOpanelEditor.appendChild(temp); | ||
1383 | + } | ||
1384 | + if (botoes.edita === true && botoes.corta === true && i3GEO.php) { | ||
1385 | + i3GEO.eventos.cliquePerm.desativa(); | ||
1386 | + temp = document.createElement("div"); | ||
1387 | + temp.className = "editorOLcortaItemInactive olButton"; | ||
1388 | + temp.title = $trad("cortaf"); | ||
1389 | + temp.onclick = function(){ | ||
1390 | + var nsel = i3GEO.editorOL.idsSelecionados.length; | ||
1391 | + if (nsel != 1) { | ||
1392 | + alert("Selecione primeiro um elemento para ser cortado"); | ||
1393 | + } else { | ||
1394 | + i3GEO.janela.tempoMsg("Desenhe um polígono"); | ||
1395 | + i3GEO.editorOL.marcaBotao("editorOLcorta"); | ||
1396 | + var draw = new ol.interaction.Draw({ | ||
1397 | + type : "Polygon" | ||
1398 | + }); | ||
1399 | + //adiciona a interacao para poder ser removida | ||
1400 | + i3GEO.editorOL.interacoes.push(draw); | ||
1401 | + i3GEO.Interface.openlayers.interacoes[0].setActive(false); | ||
1402 | + draw.on("drawend", function(evt) { | ||
1403 | + var temp, f, c, format, fwkt, cwkt; | ||
1404 | + f = evt.feature; | ||
1405 | + c = i3GEO.desenho.layergrafico.getSource().getFeatureById(i3GEO.editorOL.idsSelecionados[nsel - 1]); | ||
1406 | + i3GEO.editorOL.featuresBackup.push(c.clone()); | ||
1407 | + i3GEO.editorOL.marcaBotao(); | ||
1408 | + //corta | ||
1409 | + format = new ol.format.WKT(); | ||
1410 | + if(f && c){ | ||
1411 | + fwkt = format.writeFeatures([f]); | ||
1412 | + cwkt = format.writeFeatures([c]); | ||
1413 | + if(fwkt && cwkt){ | ||
1414 | + temp = function(retorno) { | ||
1415 | + i3GEO.janela.fechaAguarde("i3GEO.cortador"); | ||
1416 | + if (retorno != "" && retorno.data && retorno.data != "") { | ||
1417 | + i3GEO.janela.fechaAguarde("i3GEO.cortador"); | ||
1418 | + c.setGeometry(format.readGeometry(retorno.data)); | ||
1419 | + //i3GEO.editorOL.substituiFeaturesSel(retorno.data); | ||
1420 | + if (document.getElementById("panellistagEditor")) { | ||
1421 | + i3GEO.editorOL.listaGeometrias(); | ||
1422 | + } | ||
1423 | + } | ||
1424 | + }; | ||
1425 | + i3GEO.janela.abreAguarde("i3GEO.cortador", "Cortando"); | ||
1426 | + i3GEO.php.funcoesGeometriasWkt(temp, cwkt + "|" + fwkt, "difference"); | ||
1427 | + } | ||
1428 | + } | ||
1429 | + }); | ||
1430 | + i3geoOL.addInteraction(draw); | ||
1431 | + } | ||
1432 | + }; | ||
1433 | + i3GEOpanelEditor.appendChild(temp); | ||
1434 | + } | ||
1435 | + if (botoes.edita === true && botoes.listag === true) { | ||
1436 | + temp = document.createElement("div"); | ||
1437 | + temp.className = "editorOLlistagItemInactive olButton"; | ||
1438 | + temp.title = $trad("listag"); | ||
1439 | + temp.onclick = function(){ | ||
1440 | + i3GEO.editorOL.listaGeometrias(); | ||
1441 | + }; | ||
1442 | + i3GEOpanelEditor.appendChild(temp); | ||
1443 | + } | ||
1444 | + //TODO abrir em uma janela flutuante interna | ||
1445 | + if (botoes.ajuda === true) { | ||
1446 | + temp = document.createElement("div"); | ||
1447 | + temp.className = "editorOLajudaItemInactive olButton"; | ||
1448 | + temp.title = $trad("s1"); | ||
1449 | + temp.onclick = function(){ | ||
1450 | + if(i3GEO.configura && i3GEO.configura.locaplic){ | ||
1451 | + window.open(i3GEO.configura.locaplic + "/mashups/openlayers_ajuda.php"); | ||
1452 | + } | ||
1453 | + else{ | ||
1454 | + window.open("openlayers_ajuda.php"); | ||
1455 | + } | ||
1456 | + }; | ||
1457 | + i3GEOpanelEditor.appendChild(temp); | ||
1458 | + } | ||
1459 | + if (botoes.fecha === true) { | ||
1460 | + temp = document.createElement("div"); | ||
1461 | + temp.className = "editorOLfechaItemInactive olButton"; | ||
1462 | + temp.title = $trad("x74"); | ||
1463 | + temp.onclick = function(){ | ||
1464 | + i3GEO.editorOL.unselTodos(); | ||
1465 | + i3GEO.editorOL.featuresBackup = []; | ||
1466 | + i3GEO.editorOL.marcaBotao(); | ||
1467 | + i3GEO.eventos.cliquePerm.ativa(); | ||
1468 | + $i("i3GEObarraEdicao").style.display = "none"; | ||
1469 | + }; | ||
1470 | + i3GEOpanelEditor.appendChild(temp); | ||
1471 | + } | ||
1472 | + if (botoes.tools === true) { | ||
1473 | + temp = document.createElement("div"); | ||
1474 | + temp.className = "editorOLtoolsItemInactive olButton"; | ||
1475 | + temp.title = $trad("u15a"); | ||
1476 | + temp.onclick = function(){ | ||
1477 | + // fora do i3geo, usa o jsts | ||
1478 | + if (i3GEO.php) { | ||
1479 | + i3GEO.editorOL.ferramentas(); | ||
1480 | + } else { | ||
1481 | + i3GEO.editorOL.carregajts("i3GEO.editorOL.ferramentas()"); | ||
1482 | + } | ||
1483 | + }; | ||
1484 | + i3GEOpanelEditor.appendChild(temp); | ||
1485 | + } | ||
1486 | + if (botoes.propriedades === true) { | ||
1487 | + temp = document.createElement("div"); | ||
1488 | + temp.className = "editorOLpropriedadesItemInactive olButton"; | ||
1489 | + temp.title = $trad("p13"); | ||
1490 | + temp.onclick = function(){ | ||
1491 | + i3GEO.editorOL.propriedades(); | ||
1492 | + }; | ||
1493 | + i3GEOpanelEditor.appendChild(temp); | ||
1494 | + } | ||
1495 | + if (botoes.identifica === true) { | ||
1496 | + i3GEO.eventos.cliquePerm.desativa(); | ||
1497 | + temp = document.createElement("div"); | ||
1498 | + temp.className = "editorOLidentificaItemInactive olButton"; | ||
1499 | + temp.title = $trad("d7t"); | ||
1500 | + temp.onclick = function(){ | ||
1501 | + i3GEO.editorOL.criaJanelaAtivaTema(); | ||
1502 | + i3GEO.eventos.cliquePerm.desativa(); | ||
1503 | + i3GEO.editorOL.marcaBotao("editorOLidentifica"); | ||
1504 | + var draw = new ol.interaction.Draw({ | ||
1505 | + type : "Point" | ||
1506 | + }); | ||
1507 | + //adiciona a interacao para poder ser removida | ||
1508 | + i3GEO.editorOL.interacoes.push(draw); | ||
1509 | + i3GEO.Interface.openlayers.interacoes[0].setActive(false); | ||
1510 | + draw.on("drawend", function(evt) { | ||
1511 | + var xy, p, retorno, url, layer, tema = $i("i3GEOOLlistaTemasAtivos"); | ||
1512 | + if(tema){ | ||
1513 | + layer = i3geoOL.getLayersByName(tema.value)[0]; | ||
1514 | + url = layer.getSource().getUrls()[0]; | ||
1515 | + xy = evt.target.downPx_; | ||
1516 | + retorno = function(r){ | ||
1517 | + var xy = evt.feature.getGeometry().getFirstCoordinate(); | ||
1518 | + i3GEO.eventos.cliquePerm.ativo = true; | ||
1519 | + i3GEO.Interface.openlayers.balao(r,"", xy[0], xy[1]); | ||
1520 | + i3GEO.eventos.cliquePerm.ativo = false; | ||
1521 | + }; | ||
1522 | + p = i3GEO.configura.locaplic + "/classesphp/proxy.php?" | ||
1523 | + + url | ||
1524 | + + "&tipoRetornoProxy=string&REQUEST=GetFeatureInfo&TIPOIMAGEM=nenhum&DESLIGACACHE=sim&STYLES=&SERVICE=WMS&VERSION=1.1.1&FEATURE_COUNT=1" | ||
1525 | + + "&FORMAT=image/png&INFO_FORMAT=text/plain&SRS=EPSG:4326" | ||
1526 | + + "&LAYERS= " + tema.value | ||
1527 | + + "&layer= " + tema.value | ||
1528 | + + "&QUERY_LAYERS= " + tema.value | ||
1529 | + + "&HEIGHT=" + i3GEO.parametros.h | ||
1530 | + + "&WIDTH=" + i3GEO.parametros.w | ||
1531 | + + "&BBOX=" + i3geoOL.getExtent().toBBOX().split(",").join(" ") | ||
1532 | + + "&X=" + xy[0] + "&Y=" + xy[1]; | ||
1533 | + cpJSON.call(p, "foo", retorno, ""); | ||
1534 | + } | ||
1535 | + //i3GEO.editorOL.marcaBotao(); | ||
1536 | + }); | ||
1537 | + i3geoOL.addInteraction(draw); | ||
1538 | + }; | ||
1539 | + i3GEOpanelEditor.appendChild(temp); | ||
1540 | + } | ||
1541 | + i3GEOpanelEditor.style.width = i3GEOpanelEditor.getElementsByTagName("div").length * 33 + "px"; | ||
1542 | + i3GEO.editorOL.mapa.getViewport().getElementsByClassName("ol-overlaycontainer-stopevent")[0].appendChild(i3GEOpanelEditor); | ||
1543 | + | ||
1544 | + /* | ||
1545 | + if (botoes.salva === true) { | ||
1546 | + | ||
1547 | + button = new OpenLayers.Control.Button({ | ||
1548 | + displayClass : "editorOLsalva", | ||
1549 | + trigger : function() { | ||
1550 | + i3GEO.editorOL.salvaGeometrias(); | ||
1551 | + }, | ||
1552 | + title : $trad("salva"), | ||
1553 | + type : OpenLayers.Control.TYPE_BUTTON | ||
1554 | + }); | ||
1555 | + controles.push(button); | ||
1556 | + adiciona = true; | ||
1557 | + | ||
1558 | + } | ||
1559 | + if (botoes.identifica === true) { | ||
1560 | + //TODO incluir codigo ol3 | ||
1561 | + | ||
1562 | + botaoIdentifica = | ||
1563 | + new OpenLayers.Control.WMSGetFeatureInfo( | ||
1564 | + { | ||
1565 | + maxFeatures : 1, | ||
1566 | + infoFormat : 'text/plain', // 'application/vnd.ogc.gml', | ||
1567 | + layers : [ | ||
1568 | + i3GEO.editorOL.layerAtivo() | ||
1569 | + ], | ||
1570 | + queryVisible : true, | ||
1571 | + title : $trad("d7t"), | ||
1572 | + type : OpenLayers.Control.TYPE_TOOL, | ||
1573 | + displayClass : "editorOLidentifica", | ||
1574 | + eventListeners : { | ||
1575 | + getfeatureinfo : function(event) { | ||
1576 | + var lonlat = i3GEO.editorOL.mapa.getLonLatFromPixel(event.xy), lonlattexto = "<hr>", formata; | ||
1577 | + if (botoes.linha === true || botoes.ponto === true || botoes.poligono === true || botoes.edita === true) { | ||
1578 | + lonlattexto += | ||
1579 | + "<pre><span style=font-size:12px;color:blue;cursor:pointer onclick='i3GEO.editorOL.captura(\"" + lonlat.lon | ||
1580 | + + "," | ||
1581 | + + lonlat.lat | ||
1582 | + + "\")'>edita geometria</span></pre><br>"; | ||
1583 | + } | ||
1584 | + formata = function(texto) { | ||
1585 | + var temp, temp1, n, i, f = [], textoN = texto.split(":"); | ||
1586 | + try { | ||
1587 | + if (textoN.length > 1) { | ||
1588 | + temp = textoN[2].replace(/\n\r/g, ""); | ||
1589 | + temp = temp.replace(/'/g, ""); | ||
1590 | + temp = temp.replace(/\n/g, "|"); | ||
1591 | + temp = temp.replace(/_/g, " "); | ||
1592 | + temp = temp.replace(/=/g, ":"); | ||
1593 | + temp = temp.split("|"); | ||
1594 | + n = temp.length; | ||
1595 | + for (i = 0; i < n; i++) { | ||
1596 | + temp1 = temp[i].replace(/^\s+/, ""); | ||
1597 | + temp1 = temp1.replace(/\s+$/, ""); | ||
1598 | + if (temp1 != "") | ||
1599 | + f.push(temp1); | ||
1600 | + } | ||
1601 | + texto = f.join("<br><br>"); | ||
1602 | + } | ||
1603 | + } catch (e) { | ||
1604 | + } | ||
1605 | + return texto; | ||
1606 | + }; | ||
1607 | + i3GEO.editorOL.mapa.addPopup(new OpenLayers.Popup.FramedCloud("chicken", i3GEO.editorOL.mapa | ||
1608 | + .getLonLatFromPixel(event.xy), null, "<div style=text-align:left >" + lonlattexto | ||
1609 | + + "<pre>" | ||
1610 | + + formata(event.text) | ||
1611 | + + "</pre></div>", null, true)); | ||
1612 | + i3GEO.editorOL.removeClone(); | ||
1613 | + }, | ||
1614 | + beforegetfeatureinfo : function(event) { | ||
1615 | + var ativo = [ | ||
1616 | + i3GEO.editorOL.layerAtivo() | ||
1617 | + ]; | ||
1618 | + // se for TMS tem de pegar o clone wms | ||
1619 | + if (ativo[0].serviceVersion === "&tms=" || ativo[0].CLASS_NAME == "OpenLayers.Layer.TMS" | ||
1620 | + || ativo[0].CLASS_NAME == "OpenLayers.Layer.OSM") { | ||
1621 | + ativo = [ | ||
1622 | + i3GEO.editorOL.layertms2wms(ativo[0]) | ||
1623 | + ]; | ||
1624 | + } | ||
1625 | + ativo[0].projection = new OpenLayers.Projection("EPSG:4326"); | ||
1626 | + event.object.layers = ativo; | ||
1627 | + botaoIdentifica.layers = ativo; | ||
1628 | + botaoIdentifica.url = ativo[0].url; | ||
1629 | + }, | ||
1630 | + activate : function() { | ||
1631 | + i3GEO.editorOL.criaJanelaAtivaTema(); | ||
1632 | + } | ||
1633 | + } | ||
1634 | + }); | ||
1635 | + // button.events.register("getfeatureinfo", this, showInfo); | ||
1636 | + controles.push(botaoIdentifica); | ||
1637 | + adiciona = true; | ||
1638 | + | ||
1639 | + } | ||
1640 | + | ||
1641 | + */ | ||
1642 | + }, | ||
1643 | + removeFeaturesSel : function(){ | ||
1644 | + var s, i, nsel, f; | ||
1645 | + nsel = i3GEO.editorOL.idsSelecionados.length; | ||
1646 | + s = i3GEO.desenho.layergrafico.getSource(); | ||
1647 | + for(i=0; i<nsel; i++){ | ||
1648 | + f = s.getFeatureById(i3GEO.editorOL.idsSelecionados[i]); | ||
1649 | + if(f){ | ||
1650 | + i3GEO.editorOL.featuresBackup.push(f.clone()); | ||
1651 | + s.removeFeature(f); | ||
1652 | + } | ||
1653 | + } | ||
1654 | + i3GEO.editorOL.idsSelecionados = []; | ||
1655 | + }, | ||
1656 | + mudaSimbolo : function(estilo, id) { | ||
1657 | + var s, i, nsel, f; | ||
1658 | + i3GEO.editorOL.simbologia[estilo] = $i(id).value; | ||
1659 | + nsel = i3GEO.editorOL.idsSelecionados.length; | ||
1660 | + s = i3GEO.desenho.layergrafico.getSource(); | ||
1661 | + for(i=0; i<nsel; i++){ | ||
1662 | + f = s.getFeatureById(i3GEO.editorOL.idsSelecionados[i]); | ||
1663 | + if(f){ | ||
1664 | + f.setProperties({ | ||
1665 | + fillColor: 'rgba(' + i3GEO.editorOL.simbologia.fillColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')', | ||
1666 | + strokeColor: 'rgba(' + i3GEO.editorOL.simbologia.strokeColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')', | ||
1667 | + width: i3GEO.editorOL.simbologia.strokeWidth, | ||
1668 | + fontSize: i3GEO.editorOL.simbologia.fontSize, | ||
1669 | + fontColor: i3GEO.editorOL.simbologia.fontColor | ||
1670 | + }); | ||
1671 | + } | ||
1672 | + } | ||
1673 | + }, | ||
1674 | + adicionaMarcas : function() { | ||
1675 | + if (i3GEO.editorOL.pontos.length === 0) { | ||
1676 | + return; | ||
1677 | + } | ||
1678 | + var f, SHADOW_Z_INDEX = 10, MARKER_Z_INDEX = 11, layer = new OpenLayers.Layer.Vector("pontos", { | ||
1679 | + styleMap : new OpenLayers.StyleMap({ | ||
1680 | + externalGraphic : i3GEO.editorOL.marca, | ||
1681 | + backgroundGraphic : "../pacotes/openlayers/img/marker_shadow.png", | ||
1682 | + backgroundXOffset : 0, | ||
1683 | + backgroundYOffset : -7, | ||
1684 | + graphicZIndex : MARKER_Z_INDEX, | ||
1685 | + backgroundGraphicZIndex : SHADOW_Z_INDEX, | ||
1686 | + pointRadius : 10 | ||
1687 | + }), | ||
1688 | + isBaseLayer : false, | ||
1689 | + rendererOptions : { | ||
1690 | + yOrdering : true | ||
1691 | + }, | ||
1692 | + displayInLayerSwitcher : true, | ||
1693 | + visibility : true | ||
1694 | + }), index, x = [], y = [], features = []; | ||
1695 | + for (index = 0; index < i3GEO.editorOL.pontos.length; index = index + 2) { | ||
1696 | + x.push(i3GEO.editorOL.pontos[index]); | ||
1697 | + y.push(i3GEO.editorOL.pontos[index + 1]); | ||
1698 | + } | ||
1699 | + for (index = 0; index < x.length; index++) { | ||
1700 | + f = new OpenLayers.Geometry.Point(x[index], y[index]); | ||
1701 | + f = i3GEO.util.projGeo2OSM(f); | ||
1702 | + f = new OpenLayers.Feature.Vector(f); | ||
1703 | + features.push(f); | ||
1704 | + } | ||
1705 | + layer.addFeatures(features); | ||
1706 | + i3GEO.editorOL.mapa.addLayer(layer); | ||
1707 | + }, | ||
1708 | + adicionaKml : function() { | ||
1709 | + var temp, n, i, id, url; | ||
1710 | + n = i3GEO.editorOL.kml.length; | ||
1711 | + for (i = 0; i < n; i++) { | ||
1712 | + id = "kml" + i; | ||
1713 | + url = i3GEO.editorOL.kml[i]; | ||
1714 | + eval(id + " = new OpenLayers.Layer.Vector('" | ||
1715 | + + id | ||
1716 | + + "', {displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true, strategies: [new OpenLayers.Strategy.Fixed()],protocol: new OpenLayers.Protocol.HTTP({url: '" | ||
1717 | + + url | ||
1718 | + + "',format: new OpenLayers.Format.KML({extractStyles: true,extractAttributes: true,maxDepth: 5})})})"); | ||
1719 | + eval("i3GEO.editorOL.mapa.addLayer(" + id + ");"); | ||
1720 | + eval("temp = " + id + ".div;"); | ||
1721 | + temp.onclick = | ||
1722 | + function(e) { | ||
1723 | + var targ = "", id, temp, features, n, i, g, html = ""; | ||
1724 | + if (!e) { | ||
1725 | + e = window.event; | ||
1726 | + } | ||
1727 | + if (e.target) { | ||
1728 | + targ = e.target; | ||
1729 | + } else { | ||
1730 | + if (e.srcElement) { | ||
1731 | + targ = e.srcElement; | ||
1732 | + } | ||
1733 | + } | ||
1734 | + if (targ.id) { | ||
1735 | + temp = targ.id.split("_"); | ||
1736 | + if (temp[0] === "OpenLayers.Geometry.Point") { | ||
1737 | + id = targ.id; | ||
1738 | + temp = i3GEO.editorOL.mapa.getLayer(this.id); | ||
1739 | + features = temp.features; | ||
1740 | + n = features.length; | ||
1741 | + for (i = 0; i < n; i++) { | ||
1742 | + if (features[i].geometry.id === id) { | ||
1743 | + for ( var j in features[i].attributes) { | ||
1744 | + html += j + ": " + features[i].attributes[j]; | ||
1745 | + } | ||
1746 | + g = features[i].geometry; | ||
1747 | + i3GEO.editorOL.mapa.addPopup(new OpenLayers.Popup.FramedCloud( | ||
1748 | + "kml", | ||
1749 | + new OpenLayers.LonLat(g.x, g.y), | ||
1750 | + null, | ||
1751 | + html, | ||
1752 | + null, | ||
1753 | + true)); | ||
1754 | + } | ||
1755 | + } | ||
1756 | + } | ||
1757 | + } | ||
1758 | + }; | ||
1759 | + } | ||
1760 | + }, | ||
1761 | + // obtido de openlayers.org | ||
1762 | + propriedades : function() { | ||
1763 | + if (!document.getElementById("panelpropriedadesEditor")) { | ||
1764 | + YAHOO.namespace("editorOL.container"); | ||
1765 | + YAHOO.editorOL.container.panel = new YAHOO.widget.Panel("panelpropriedadesEditor", { | ||
1766 | + zIndex : 20000, | ||
1767 | + iframe : true, | ||
1768 | + width : "350px", | ||
1769 | + height : "250px", | ||
1770 | + visible : false, | ||
1771 | + draggable : true, | ||
1772 | + close : true | ||
1773 | + }); | ||
1774 | + //TODO ajustar o layout dos botoes para os novos padroes | ||
1775 | + var ins = | ||
1776 | + "" + '<p class=paragrafo ><b>Estilos (utilize a cor no formato r,g,b):</b></p>' | ||
1777 | + + '<table class=lista7 >' | ||
1778 | + + ' <tr>' | ||
1779 | + + ' <td>Cor do contorno</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'strokeColor\',\'i3GEOEditorOLcorContorno\')" type="text" style="cursor:text" id="i3GEOEditorOLcorContorno" size="12" value="' | ||
1780 | + + i3GEO.editorOL.simbologia.strokeColor | ||
1781 | + + '" /></td><td>'; | ||
1782 | + if (i3GEO.configura) { | ||
1783 | + ins += | ||
1784 | + '<img alt="aquarela.gif" style=cursor:pointer src="' + i3GEO.configura.locaplic | ||
1785 | + + '/imagens/aquarela.gif" onclick="i3GEO.util.abreCor(\'\',\'i3GEOEditorOLcorContorno\');" />'; | ||
1786 | + } | ||
1787 | + ins += | ||
1788 | + "" + ' </td>' | ||
1789 | + + ' </tr>' | ||
1790 | + + ' <tr>' | ||
1791 | + + ' <td>Cor do preenchimento</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'fillColor\',\'i3GEOEditorOLcorPre\')" type="text" style="cursor:text" id="i3GEOEditorOLcorPre" size="12" value="' | ||
1792 | + + i3GEO.editorOL.simbologia.fillColor | ||
1793 | + + '" /></td><td>'; | ||
1794 | + if (i3GEO.configura) { | ||
1795 | + ins += | ||
1796 | + '<img alt="aquarela.gif" style=cursor:pointer src="' + i3GEO.configura.locaplic | ||
1797 | + + '/imagens/aquarela.gif" onclick="i3GEO.util.abreCor(\'\',\'i3GEOEditorOLcorPre\');" />'; | ||
1798 | + } | ||
1799 | + ins += | ||
1800 | + "" + ' </td>' | ||
1801 | + + ' </tr>' | ||
1802 | + + ' <tr>' | ||
1803 | + + ' <td>Cor da fonte</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'fontColor\',\'i3GEOEditorOLcorFonte\')" type="text" style="cursor:text" id="i3GEOEditorOLcorFonte" size="12" value="' | ||
1804 | + + i3GEO.editorOL.simbologia.fontColor | ||
1805 | + + '" /></td><td>'; | ||
1806 | + if (i3GEO.configura) { | ||
1807 | + ins += | ||
1808 | + '<img alt="aquarela.gif" style=cursor:pointer src="' + i3GEO.configura.locaplic | ||
1809 | + + '/imagens/aquarela.gif" onclick="i3GEO.util.abreCor(\'\',\'i3GEOEditorOLcorFonte\');" />'; | ||
1810 | + } | ||
1811 | + ins += | ||
1812 | + "" + ' </td>' | ||
1813 | + + ' </tr>' | ||
1814 | + + ' <tr>' | ||
1815 | + + ' <td>Tamanho da fonte</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'fontSize\',\'i3GEOEditorOLfontsize\')" type="text" style="cursor:text" id="i3GEOEditorOLfontsize" size="3" value="' + i3GEO.editorOL.simbologia.fontSize | ||
1816 | + + '" /></td><td></td>' | ||
1817 | + + ' </tr>' | ||
1818 | + + ' <tr>' | ||
1819 | + + ' <td>Opacidade (de 0 a 1)</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'opacidade\',\'i3GEOEditorOLopacidade\')" type="text" style="cursor:text" id="i3GEOEditorOLopacidade" size="3" value="' | ||
1820 | + + i3GEO.editorOL.simbologia.opacidade | ||
1821 | + + '" /></td><td></td>' | ||
1822 | + + ' </tr>' | ||
1823 | + + ' <tr>' | ||
1824 | + + ' <td>Largura da linha/contorno</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'strokeWidth\',\'i3GEOEditorOLlarguraLinha\')" type="text" style="cursor:text" id="i3GEOEditorOLlarguraLinha" size="2" value="' | ||
1825 | + + i3GEO.editorOL.simbologia.strokeWidth | ||
1826 | + + '" /></td><td></td>' | ||
1827 | + + ' </tr>' | ||
1828 | + //TODO incluir propriedades de uma figura | ||
1829 | + /* | ||
1830 | + + ' <tr>' | ||
1831 | + + ' <td>Url de uma figura</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'externalGraphic\',\'i3GEOEditorOLexternalGraphic\')" type="text" style="cursor:text" id="i3GEOEditorOLexternalGraphic" size="22" value="' | ||
1832 | + + i3GEO.editorOL.simbologia.externalGraphic | ||
1833 | + + '" /></td><td></td>' | ||
1834 | + + ' </tr>' | ||
1835 | + + ' <tr>' | ||
1836 | + + ' <td>Largura e altura</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'graphicWidth\',\'i3GEOEditorOLgraphicWidth\')" type="text" style="cursor:text" id="i3GEOEditorOLgraphicWidth" size="4" value="' | ||
1837 | + + i3GEO.editorOL.simbologia.graphicWidth | ||
1838 | + + '" /> <input onchange="i3GEO.editorOL.mudaSimbolo(\'graphicHeight\',\'i3GEOEditorOLgraphicHeight\')" type="text" style="cursor:text" id="i3GEOEditorOLgraphicHeight" size="4" value="' | ||
1839 | + + i3GEO.editorOL.simbologia.graphicHeight | ||
1840 | + + '" /></td><td></td>' | ||
1841 | + + ' </tr>' | ||
1842 | + */ | ||
1843 | + + '</table>'; | ||
1844 | + //TODO implementar ao atualizar OL3 | ||
1845 | + /* | ||
1846 | + + '<br />' | ||
1847 | + + '<p class=paragrafo ><b>Ajusta nó em edição para o(a):</b></p>' | ||
1848 | + + '<table class=lista7 >' | ||
1849 | + + ' <tr>' | ||
1850 | + + ' <td></td><td>nó</td><td></td><td>vértice</td><td></td><td>borda</td>' | ||
1851 | + + ' </tr>' | ||
1852 | + + ' <tr>' | ||
1853 | + + ' <td><input style=cursor:pointer onclick="i3GEO.editorOL.snap()" type="checkbox" id="target_node" /></td><td><input onchange="i3GEO.editorOL.snap()" id="target_nodeTolerance" type="text" size="3" value=15 /></td>' | ||
1854 | + + ' <td><input style=cursor:pointer onclick="i3GEO.editorOL.snap()" type="checkbox" id="target_vertex" /></td><td><input onchange="i3GEO.editorOL.snap()" id="target_vertexTolerance" type="text" size="3" value=15 /></td>' | ||
1855 | + + ' <td><input style=cursor:pointer onclick="i3GEO.editorOL.snap()" type="checkbox" id="target_edge" /></td><td><input onchange="i3GEO.editorOL.snap()" id="target_edgeTolerance" type="text" size="3" value=15 /></td>' | ||
1856 | + + ' </tr>' | ||
1857 | + + '</table>' | ||
1858 | + | ||
1859 | + + '<br />' | ||
1860 | + + '<p class=paragrafo ><b>Divide intersecção ao digitalizar</b></p>' | ||
1861 | + + '<table class=lista7 >' | ||
1862 | + + ' <tr>' | ||
1863 | + + ' <td><input style=cursor:pointer onclick="i3GEO.editorOL.split()" type="checkbox" id="edge_split_toggle" /></td><td>borda</td>' | ||
1864 | + + ' </tr>' | ||
1865 | + + '</table>' | ||
1866 | + + '<br />' | ||
1867 | + + '<p class=paragrafo ><b>Operação ativada pelo botão de modificação da figura</b></p>' | ||
1868 | + + '<table class=lista7 >' | ||
1869 | + + ' <tr>' | ||
1870 | + + ' <td><input checked style=cursor:pointer onclick="i3GEO.editorOL.ModifyFeature.mode = OpenLayers.Control.ModifyFeature.RESHAPE;" type="radio" name=i3geoOLtipoEdita /></td><td>altera figura</td>' | ||
1871 | + + ' <td><input style=cursor:pointer onclick="i3GEO.editorOL.ModifyFeature.mode = OpenLayers.Control.ModifyFeature.RESIZE;" type="radio" name=i3geoOLtipoEdita /></td><td>altera tamanho</td>' | ||
1872 | + + ' </tr>' | ||
1873 | + + ' <tr>' | ||
1874 | + + ' <td><input style=cursor:pointer onclick="i3GEO.editorOL.ModifyFeature.mode = OpenLayers.Control.ModifyFeature.ROTATE;" type="radio" name=i3geoOLtipoEdita /></td><td>rotaciona</td>' | ||
1875 | + + ' <td><input style=cursor:pointer onclick="i3GEO.editorOL.ModifyFeature.mode = OpenLayers.Control.ModifyFeature.DRAG;" type="radio" name=i3geoOLtipoEdita /></td><td>desloca</td>' | ||
1876 | + + ' </tr>' | ||
1877 | + + '</table>'; | ||
1878 | + */ | ||
1879 | + YAHOO.editorOL.container.panel.setBody(ins); | ||
1880 | + if (i3GEO && typeof i3GEO != undefined && i3GEO != "") { | ||
1881 | + YAHOO.editorOL.container.panel | ||
1882 | + .setHeader("Propriedades<div id='panelpropriedadesEditor_minimizaCabecalho' class='container-minimiza'></div>"); | ||
1883 | + } else { | ||
1884 | + YAHOO.editorOL.container.panel.setHeader("Propriedades"); | ||
1885 | + } | ||
1886 | + | ||
1887 | + YAHOO.editorOL.container.panel.setFooter(""); | ||
1888 | + YAHOO.editorOL.container.panel.render(document.body); | ||
1889 | + | ||
1890 | + YAHOO.editorOL.container.panel.center(); | ||
1891 | + YAHOO.util.Event.addListener(YAHOO.editorOL.container.panel.close, "click", function() { | ||
1892 | + }); | ||
1893 | + temp = $i("panelpropriedadesEditor_minimizaCabecalho"); | ||
1894 | + if (temp) { | ||
1895 | + temp.onclick = function() { | ||
1896 | + i3GEO.janela.minimiza("panelpropriedadesEditor"); | ||
1897 | + }; | ||
1898 | + } | ||
1899 | + } | ||
1900 | + YAHOO.editorOL.container.panel.show(); | ||
1901 | + temp = $i("panelpropriedadesEditor").getElementsByTagName("div"); | ||
1902 | + if (temp && temp[2]) { | ||
1903 | + temp[2].style.overflow = "auto"; | ||
1904 | + } | ||
1905 | + }, | ||
1906 | + listaGeometrias : function() { | ||
1907 | + if (!document.getElementById("panellistagEditor")) { | ||
1908 | + YAHOO.namespace("editorOL.listaGeometrias"); | ||
1909 | + YAHOO.editorOL.listaGeometrias.panel = new YAHOO.widget.Panel("panellistagEditor", { | ||
1910 | + zIndex : 20000, | ||
1911 | + iframe : true, | ||
1912 | + width : "320px", | ||
1913 | + visible : false, | ||
1914 | + draggable : true, | ||
1915 | + close : true | ||
1916 | + }); | ||
1917 | + if (i3GEO && typeof i3GEO != undefined && i3GEO != "") { | ||
1918 | + YAHOO.editorOL.listaGeometrias.panel | ||
1919 | + .setHeader($trad("u6") + " <div id='panellistagEditor_minimizaCabecalho' class='container-minimiza'></div>"); | ||
1920 | + } else { | ||
1921 | + YAHOO.editorOL.listaGeometrias.panel.setHeader($trad("u6")); | ||
1922 | + } | ||
1923 | + YAHOO.editorOL.listaGeometrias.panel.setFooter(""); | ||
1924 | + YAHOO.editorOL.listaGeometrias.panel.render(document.body); | ||
1925 | + YAHOO.editorOL.listaGeometrias.panel.center(); | ||
1926 | + YAHOO.util.Event.addListener(YAHOO.editorOL.listaGeometrias.panel.close, "click", function() { | ||
1927 | + YAHOO.editorOL.listaGeometrias.panel.destroy(); | ||
1928 | + }); | ||
1929 | + temp = $i("panellistagEditor_minimizaCabecalho"); | ||
1930 | + if (temp) { | ||
1931 | + temp.onclick = function() { | ||
1932 | + i3GEO.janela.minimiza("panellistagEditor"); | ||
1933 | + }; | ||
1934 | + } | ||
1935 | + } else { | ||
1936 | + YAHOO.editorOL.listaGeometrias.panel.render(document.body); | ||
1937 | + } | ||
1938 | + var id, temp, geos = i3GEO.desenho.layergrafico.getSource().getFeatures(), n = geos.length, ins = "<table class=lista4 >"; | ||
1939 | + ins += "<tr><td><i>" + $trad("u6") + "</i></td><td><i>" + $trad("opcoes") + "</i></td><td></td></tr>"; | ||
1940 | + | ||
1941 | + while (n > 0) { | ||
1942 | + n -= 1; | ||
1943 | + id = geos[n].getId(); | ||
1944 | + if(id){ | ||
1945 | + ins += | ||
1946 | + "<tr><td>" + id | ||
1947 | + + "</td><td style='cursor:pointer;color:blue' onclick='javascript:i3GEO.editorOL.marcaBotao();i3GEO.editorOL.selFeature(\"" | ||
1948 | + + id | ||
1949 | + + "\")'>seleciona</td><td style='cursor:pointer;color:blue' onclick='javascript:i3GEO.editorOL.unselFeature(\"" | ||
1950 | + + id | ||
1951 | + + "\")'>limpa</td></tr>"; | ||
1952 | + } | ||
1953 | + } | ||
1954 | + ins += "</table>"; | ||
1955 | + if (geos.length === 0) { | ||
1956 | + ins = $trad("meneditor2"); | ||
1957 | + } | ||
1958 | + YAHOO.editorOL.listaGeometrias.panel.show(); | ||
1959 | + if (i3GEO.configura) { | ||
1960 | + temp = $i("panellistagEditor").getElementsByTagName("div")[2]; | ||
1961 | + } else { | ||
1962 | + temp = $i("panellistagEditor").getElementsByTagName("div")[1]; | ||
1963 | + } | ||
1964 | + temp.style.overflow = "auto"; | ||
1965 | + temp.style.height = "100px"; | ||
1966 | + temp.innerHTML = ins; | ||
1967 | + }, | ||
1968 | + //TODO incuir um botao para executar a operacao ao inves do evento onchange | ||
1969 | + ferramentas : function() { | ||
1970 | + if (!document.getElementById("panelferramentasEditor")) { | ||
1971 | + YAHOO.namespace("editorOL.ferramentas"); | ||
1972 | + YAHOO.editorOL.ferramentas.panel = new YAHOO.widget.Panel("panelferramentasEditor", { | ||
1973 | + zIndex : 20000, | ||
1974 | + iframe : true, | ||
1975 | + width : "300px", | ||
1976 | + visible : false, | ||
1977 | + draggable : true, | ||
1978 | + close : true | ||
1979 | + }); | ||
1980 | + var ins = | ||
1981 | + "" + '<p class=paragrafo >' | ||
1982 | + + $trad("opsel") | ||
1983 | + + ':</p>' | ||
1984 | + + '<div class=styled-select >' | ||
1985 | + + '<select onchange="i3GEO.editorOL.processageo(this.value);this.value = \'\'" >' | ||
1986 | + + ' <option value="">---</option>' | ||
1987 | + + ' <option value=union >União</option>'; | ||
1988 | + if (i3GEO.php) { | ||
1989 | + ins += | ||
1990 | + ' <option value=intersection >Intersecção</option>' + ' <option value=convexhull >Convex hull</option>' | ||
1991 | + + ' <option value=boundary >Bordas</option>' | ||
1992 | + + ' <option value=difference >Diferença</option>' | ||
1993 | + + ' <option value=symdifference >Diferença simétrica</option>'; | ||
1994 | + } | ||
1995 | + ins += | ||
1996 | + '</select></div>'; | ||
1997 | + | ||
1998 | + YAHOO.editorOL.ferramentas.panel.setBody(ins); | ||
1999 | + if (i3GEO && typeof i3GEO != undefined && i3GEO != "") { | ||
2000 | + YAHOO.editorOL.ferramentas.panel | ||
2001 | + .setHeader("Ferramentas <div id='panelferramentasEditor_minimizaCabecalho' class='container-minimiza'></div>"); | ||
2002 | + } else { | ||
2003 | + YAHOO.editorOL.ferramentas.panel.setHeader("Ferramentas"); | ||
2004 | + } | ||
2005 | + | ||
2006 | + YAHOO.editorOL.ferramentas.panel.setFooter(""); | ||
2007 | + YAHOO.editorOL.ferramentas.panel.render(document.body); | ||
2008 | + YAHOO.editorOL.ferramentas.panel.center(); | ||
2009 | + YAHOO.util.Event.addListener(YAHOO.editorOL.ferramentas.panel.close, "click", function() { | ||
2010 | + }); | ||
2011 | + temp = $i("panelferramentasEditor_minimizaCabecalho"); | ||
2012 | + if (temp) { | ||
2013 | + temp.onclick = function() { | ||
2014 | + i3GEO.janela.minimiza("panelferramentasEditor"); | ||
2015 | + }; | ||
2016 | + } | ||
2017 | + } else { | ||
2018 | + YAHOO.editorOL.ferramentas.panel.render(document.body); | ||
2019 | + } | ||
2020 | + YAHOO.editorOL.ferramentas.panel.show(); | ||
2021 | + }, | ||
2022 | + //TODO implementar ao atualizar OL3 | ||
2023 | + snap : function() { | ||
2024 | + var target = i3GEOOLsnap.targets[0], tipos = [ | ||
2025 | + "node", "vertex", "edge" | ||
2026 | + ], ntipos = tipos.length, i, temp, ativa = false; | ||
2027 | + i3GEOOLsnap.deactivate(); | ||
2028 | + for (i = 0; i < ntipos; i++) { | ||
2029 | + temp = $i("target_" + tipos[i]); | ||
2030 | + target[tipos[i]] = temp.checked; | ||
2031 | + if (temp.checked === true) { | ||
2032 | + ativa = true; | ||
2033 | + } | ||
2034 | + temp = $i("target_" + tipos[i] + "Tolerance"); | ||
2035 | + target[tipos[i] + "Tolerance"] = temp.value; | ||
2036 | + } | ||
2037 | + if (ativa === true) { | ||
2038 | + i3GEOOLsnap.activate(); | ||
2039 | + } | ||
2040 | + }, | ||
2041 | + split : function() { | ||
2042 | + i3GEOOLsplit.deactivate(); | ||
2043 | + var temp = $i("edge_split_toggle"); | ||
2044 | + if (temp.checked === true) { | ||
2045 | + i3GEOOLsplit.activate(); | ||
2046 | + } | ||
2047 | + }, | ||
2048 | + processageo : function(operacao) { | ||
2049 | + if (operacao === "") { | ||
2050 | + return; | ||
2051 | + } | ||
2052 | + var polis, linhas, pontos, temp, nsel = i3GEO.editorOL.idsSelecionados.length; | ||
2053 | + if (nsel > 0) { | ||
2054 | + polis = i3GEO.editorOL.retornaGeometriasTipo("Polygon"); | ||
2055 | + linhas = i3GEO.editorOL.retornaGeometriasTipo("LineString"); | ||
2056 | + pontos = i3GEO.editorOL.retornaGeometriasTipo("Point"); | ||
2057 | + temp = function(retorno) { | ||
2058 | + if (i3GEO.janela) { | ||
2059 | + i3GEO.janela.fechaAguarde("i3GEO.editorPoli"); | ||
2060 | + i3GEO.janela.fechaAguarde("i3GEO.editorLinhas"); | ||
2061 | + i3GEO.janela.fechaAguarde("i3GEO.editorPontos"); | ||
2062 | + } | ||
2063 | + if (retorno != "" && retorno.data && retorno.data != "" && operacao != "converteSHP") { | ||
2064 | + i3GEO.editorOL.substituiFeaturesSel(retorno.data); | ||
2065 | + } | ||
2066 | + if (operacao === "converteSHP") { | ||
2067 | + i3GEO.atualiza(); | ||
2068 | + i3GEO.janela.minimiza("paneltemaativo"); | ||
2069 | + } | ||
2070 | + }; | ||
2071 | + if (operacao === "incorporar") { | ||
2072 | + if (polis.length > 0) { | ||
2073 | + temp = i3GEO.editorOL.merge(polis); | ||
2074 | + } | ||
2075 | + if (linhas.length > 0) { | ||
2076 | + temp = i3GEO.editorOL.merge(linhas); | ||
2077 | + } | ||
2078 | + if (pontos.length > 0) { | ||
2079 | + temp = i3GEO.editorOL.merge(pontos); | ||
2080 | + } | ||
2081 | + if (i3GEO.mapa) { | ||
2082 | + i3GEO.mapa.dialogo.wkt2layer(temp); | ||
2083 | + } | ||
2084 | + return; | ||
2085 | + } | ||
2086 | + if (operacao === "union" && !i3GEO.php) { | ||
2087 | + if (polis.length > 0) { | ||
2088 | + temp = i3GEO.editorOL.uniaojts(polis); | ||
2089 | + i3GEO.editorOL.substituiFeaturesSel(temp); | ||
2090 | + } | ||
2091 | + if (linhas.length > 0) { | ||
2092 | + temp = i3GEO.editorOL.uniaojts(linhas); | ||
2093 | + i3GEO.editorOL.substituiFeaturesSel(temp); | ||
2094 | + } | ||
2095 | + if (pontos.length > 0) { | ||
2096 | + temp = i3GEO.editorOL.uniaojts(pontos); | ||
2097 | + i3GEO.editorOL.substituiFeaturesSel(temp); | ||
2098 | + } | ||
2099 | + } else { | ||
2100 | + if (polis.length > 0) { | ||
2101 | + i3GEO.janela.abreAguarde("i3GEO.editorPoli", "Poligonos"); | ||
2102 | + i3GEO.php.funcoesGeometriasWkt(temp, polis.join("|"), operacao); | ||
2103 | + } | ||
2104 | + if (linhas.length > 0) { | ||
2105 | + i3GEO.janela.abreAguarde("i3GEO.editorLinhas", "Linhas"); | ||
2106 | + i3GEO.php.funcoesGeometriasWkt(temp, linhas.join("|"), operacao); | ||
2107 | + } | ||
2108 | + if (pontos.length > 0) { | ||
2109 | + i3GEO.janela.abreAguarde("i3GEO.editorPontos", "Pontos"); | ||
2110 | + i3GEO.php.funcoesGeometriasWkt(temp, pontos.join("|"), operacao); | ||
2111 | + } | ||
2112 | + } | ||
2113 | + i3GEO.desenho.layergrafico.getSource().changed(); | ||
2114 | + return; | ||
2115 | + } else { | ||
2116 | + i3GEO.janela.tempoMsg("Selecione pelo menos dois elementos"); | ||
2117 | + } | ||
2118 | + }, | ||
2119 | + merge : function(geoms) { | ||
2120 | + var n = geoms.length, w = new Wkt.Wkt(), g, m, i, format = new ol.format.WKT(); | ||
2121 | + w.read(format.writeFeatures([geoms[0]])); | ||
2122 | + if (n > 1) { | ||
2123 | + for (i = 1; i < n; i++) { | ||
2124 | + g = format.writeFeatures([geoms[i]]); | ||
2125 | + m = new Wkt.Wkt(); | ||
2126 | + m.read(g); | ||
2127 | + w.merge(m); | ||
2128 | + } | ||
2129 | + } | ||
2130 | + return w.write(); | ||
2131 | + }, | ||
2132 | + uniaojts : function(geoms) { | ||
2133 | + var n = geoms.length, | ||
2134 | + fwkt = new ol.format.WKT(), | ||
2135 | + rwkt = new jsts.io.WKTReader(), | ||
2136 | + wwkt = new jsts.io.WKTWriter(), | ||
2137 | + g, i, uniao; | ||
2138 | + if (n > 1) { | ||
2139 | + uniao = fwkt.writeFeatures([geoms[0]]); | ||
2140 | + uniao = rwkt.read(uniao); | ||
2141 | + for (i = 1; i <= n; i++) { | ||
2142 | + g = fwkt.writeFeatures([geoms[i]]); | ||
2143 | + uniao = uniao.union(rwkt.read(g)); | ||
2144 | + } | ||
2145 | + uniao = wwkt.write(uniao); | ||
2146 | + return [ | ||
2147 | + fwkt.readFeatures(uniao) | ||
2148 | + ]; | ||
2149 | + } else { | ||
2150 | + return false; | ||
2151 | + } | ||
2152 | + }, | ||
2153 | + retornaGeometriasTipo : function(tipo) { | ||
2154 | + var n = i3GEO.editorOL.idsSelecionados.length, lista = [], i, | ||
2155 | + s = i3GEO.desenho.layergrafico.getSource(), | ||
2156 | + fwkt = new ol.format.WKT(); | ||
2157 | + for (i = 0; i < n; i++) { | ||
2158 | + f = s.getFeatureById(i3GEO.editorOL.idsSelecionados[i]); | ||
2159 | + if (f.getGeometry().getType() == tipo) { | ||
2160 | + lista.push(fwkt.writeFeatures([f])); | ||
2161 | + } | ||
2162 | + } | ||
2163 | + return lista; | ||
2164 | + }, | ||
2165 | + guardaBackup : function() { | ||
2166 | + return; | ||
2167 | + // if(!i3GEO.editorOL.backup) | ||
2168 | + // {i3GEO.editorOL.backup = new OpenLayers.Layer.Vector("Backup",{displayInLayerSwitcher:false,visibility:false});} | ||
2169 | + // else | ||
2170 | + // {i3GEO.editorOL.backup.removeFeatures(i3GEO.editorOL.backup.features);} | ||
2171 | + // i3GEO.editorOL.backup.addFeatures(i3GEO.desenho.layergrafico.features); | ||
2172 | + }, | ||
2173 | + selTodos : function() { | ||
2174 | + i3GEO.editorOL.unselTodos(); | ||
2175 | + var features, n, f, i, id; | ||
2176 | + features = i3GEO.desenho.layergrafico.getSource().getFeatures(); | ||
2177 | + n = features.length; | ||
2178 | + for (i = 0; i < n; i++) { | ||
2179 | + f = features[i]; | ||
2180 | + id = f.getId(); | ||
2181 | + if(!id){ | ||
2182 | + id = i3GEO.util.uid(); | ||
2183 | + f.setId(id); | ||
2184 | + } | ||
2185 | + i3GEO.editorOL.idsSelecionados.push(id); | ||
2186 | + f.setProperties({ | ||
2187 | + fillColor: f.getStyle().getFill().getColor(), | ||
2188 | + strokeColor: f.getStyle().getStroke().getColor() | ||
2189 | + }); | ||
2190 | + f.getStyle().getFill().setColor('rgba(255, 255, 255, 0.5)'); | ||
2191 | + f.getStyle().getStroke().setColor('blue'); | ||
2192 | + } | ||
2193 | + i3GEO.desenho.layergrafico.getSource().changed(); | ||
2194 | + }, | ||
2195 | + unselTodos : function() { | ||
2196 | + var i, n, f, s; | ||
2197 | + s = i3GEO.desenho.layergrafico.getSource(); | ||
2198 | + n = i3GEO.editorOL.idsSelecionados.length; | ||
2199 | + for(i=0; i<n; i++){ | ||
2200 | + f = s.getFeatureById(i3GEO.editorOL.idsSelecionados[i]); | ||
2201 | + if(f){ | ||
2202 | + f.getStyle().getFill().setColor(f.getProperties().fillColor); | ||
2203 | + f.getStyle().getStroke().setColor(f.getProperties().strokeColor); | ||
2204 | + } | ||
2205 | + } | ||
2206 | + i3GEO.editorOL.idsSelecionados = []; | ||
2207 | + i3GEO.desenho.layergrafico.getSource().changed(); | ||
2208 | + }, | ||
2209 | + unselTodosBackup : function() { | ||
2210 | + var n, i; | ||
2211 | + n = i3GEO.editorOL.backup.features.length; | ||
2212 | + for (i = 0; i < n; i++) { | ||
2213 | + i3GEO.editorOL.backup.features[i].renderIntent = "default"; | ||
2214 | + i3GEO.editorOL.selbutton.unselect(i3GEO.editorOL.backup.features[i]); | ||
2215 | + } | ||
2216 | + }, | ||
2217 | + unselFeature : function(id) { | ||
2218 | + var f, s; | ||
2219 | + s = i3GEO.desenho.layergrafico.getSource(); | ||
2220 | + f = s.getFeatureById(id); | ||
2221 | + if(f){ | ||
2222 | + f.getStyle().getFill().setColor(f.getProperties().fillColor); | ||
2223 | + f.getStyle().getStroke().setColor(f.getProperties().strokeColor); | ||
2224 | + } | ||
2225 | + i3GEO.editorOL.idsSelecionados.remove(id); | ||
2226 | + i3GEO.desenho.layergrafico.getSource().changed(); | ||
2227 | + }, | ||
2228 | + restauraBackup : function() { | ||
2229 | + if (i3GEO.editorOL.backup.features.length > 0) { | ||
2230 | + i3GEO.desenho.layergrafico.removeFeatures(i3GEO.desenho.layergrafico.features); | ||
2231 | + i3GEO.desenho.layergrafico.addFeatures(i3GEO.editorOL.backup.features); | ||
2232 | + } | ||
2233 | + if (document.getElementById("panellistagEditor")) { | ||
2234 | + i3GEO.editorOL.listaGeometrias(); | ||
2235 | + } | ||
2236 | + // i3GEO.editorOL.backup.removeFeatures(i3GEO.editorOL.backup.features); | ||
2237 | + }, | ||
2238 | + substituiFeaturesSel : function(f) { | ||
2239 | + i3GEO.editorOL.removeFeaturesSel(); | ||
2240 | + var fwkt = new ol.format.WKT(); | ||
2241 | + f = fwkt.readFeatures(f)[0]; | ||
2242 | + f.setStyle( | ||
2243 | + new ol.style.Style({ | ||
2244 | + stroke: new ol.style.Stroke({ | ||
2245 | + color: 'rgba(' + i3GEO.editorOL.simbologia.strokeColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')', | ||
2246 | + width: i3GEO.editorOL.simbologia.strokeWidth | ||
2247 | + }), | ||
2248 | + fill: new ol.style.Fill({ | ||
2249 | + color: 'rgba(' + i3GEO.editorOL.simbologia.fillColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')' | ||
2250 | + }) | ||
2251 | + }) | ||
2252 | + ); | ||
2253 | + f.setId(i3GEO.util.uid()); | ||
2254 | + i3GEO.desenho.layergrafico.getSource().addFeature(f); | ||
2255 | + }, | ||
2256 | + adicionaFeatureWkt : function(wkt, atributos) { | ||
2257 | + var f, fwkt = new OpenLayers.Format.WKT(); | ||
2258 | + | ||
2259 | + if (atributos.externalGraphic && atributos.externalGraphic != "") { | ||
2260 | + var style_mark = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']); | ||
2261 | + style_mark.externalGraphic = atributos.externalGraphic; | ||
2262 | + style_mark.graphicWidth = atributos.graphicWidth; | ||
2263 | + style_mark.graphicHeight = atributos.graphicHeight; | ||
2264 | + style_mark.fillOpacity = atributos.opacidade; | ||
2265 | + f = fwkt.read(wkt); | ||
2266 | + f["attributes"] = atributos; | ||
2267 | + f["style"] = style_mark; | ||
2268 | + } else { | ||
2269 | + f = fwkt.read(wkt); | ||
2270 | + f["attributes"] = atributos; | ||
2271 | + } | ||
2272 | + i3GEO.desenho.layergrafico.addFeatures([ | ||
2273 | + f | ||
2274 | + ]); | ||
2275 | + if (document.getElementById("panellistagEditor")) { | ||
2276 | + i3GEO.editorOL.listaGeometrias(); | ||
2277 | + } | ||
2278 | + }, | ||
2279 | + flashFeaturesI : function(index) { | ||
2280 | + i3GEO.editorOL.flashFeatures([ | ||
2281 | + i3GEO.desenho.layergrafico.features[index] | ||
2282 | + ], 0); | ||
2283 | + }, | ||
2284 | + flashFeatures : function(features, index) { | ||
2285 | + if (!index) { | ||
2286 | + index = 0; | ||
2287 | + } | ||
2288 | + var current = features[index]; | ||
2289 | + if (current && current.layer === i3GEO.desenho.layergrafico) { | ||
2290 | + i3GEO.desenho.layergrafico.drawFeature(features[index], "select"); | ||
2291 | + } | ||
2292 | + var prev = features[index - 1]; | ||
2293 | + if (prev && prev.layer === i3GEO.desenho.layergrafico) { | ||
2294 | + i3GEO.desenho.layergrafico.drawFeature(prev, "default"); | ||
2295 | + } | ||
2296 | + ++index; | ||
2297 | + if (index <= features.length) { | ||
2298 | + window.setTimeout(function() { | ||
2299 | + i3GEO.editorOL.flashFeatures(features, index); | ||
2300 | + }, 75); | ||
2301 | + } | ||
2302 | + }, | ||
2303 | + selFeature : function(id) { | ||
2304 | + var s,f; | ||
2305 | + s = i3GEO.desenho.layergrafico.getSource(); | ||
2306 | + f = s.getFeatureById(id); | ||
2307 | + if(!i3GEO.util.in_array(id,i3GEO.editorOL.idsSelecionados)){ | ||
2308 | + i3GEO.editorOL.idsSelecionados.push(id); | ||
2309 | + f.setProperties({ | ||
2310 | + fillColor: f.getStyle().getFill().getColor(), | ||
2311 | + strokeColor: f.getStyle().getStroke().getColor() | ||
2312 | + }); | ||
2313 | + f.getStyle().getFill().setColor('rgba(255, 255, 255, 0.5)'); | ||
2314 | + f.getStyle().getStroke().setColor('blue'); | ||
2315 | + s.changed(); | ||
2316 | + } | ||
2317 | + }, | ||
2318 | + carregajts : function(funcao) { | ||
2319 | + if (i3GEO.configura) { | ||
2320 | + i3GEO.util.scriptTag(i3GEO.configura.locaplic + "/pacotes/jsts/lib/jsts.js", funcao, "i3GEOjts", true); | ||
2321 | + } else { | ||
2322 | + i3GEO.util.scriptTag("../pacotes/jsts/lib/jsts.js", funcao, "i3GEOjts", true); | ||
2323 | + } | ||
2324 | + }, | ||
2325 | + trazParaFrente : function() { | ||
2326 | + var s, i, nsel, id, clone; | ||
2327 | + s = i3GEO.desenho.layergrafico.getSource(); | ||
2328 | + nsel = i3GEO.editorOL.idsSelecionados.length; | ||
2329 | + for(i=0; i<nsel; i++){ | ||
2330 | + f = s.getFeatureById(i3GEO.editorOL.idsSelecionados[i]); | ||
2331 | + if(f){ | ||
2332 | + clone = f.clone(); | ||
2333 | + id = f.getId(); | ||
2334 | + s.removeFeature(f); | ||
2335 | + clone.setId(id); | ||
2336 | + s.addFeature(clone); | ||
2337 | + } | ||
2338 | + } | ||
2339 | + s.changed(); | ||
2340 | + }, | ||
2341 | + pegaControle : function(classe) { | ||
2342 | + var n = i3GEO.editorOL.controles.length, i; | ||
2343 | + for (i = 0; i < n; i++) { | ||
2344 | + if (i3GEO.editorOL.controles[i].CLASS_NAME === classe) { | ||
2345 | + return i3GEO.editorOL.controles[i]; | ||
2346 | + } | ||
2347 | + } | ||
2348 | + return false; | ||
2349 | + }, | ||
2350 | + ativaLayerSwitcher : function() { | ||
2351 | + var ls = i3GEO.editorOL.pegaControle("OpenLayers.Control.LayerSwitcher"); | ||
2352 | + if (ls) { | ||
2353 | + ls.maximizeDiv.click(); | ||
2354 | + } | ||
2355 | + }, | ||
2356 | + desativaRodaDoMouse : function() { | ||
2357 | + var controls = i3GEO.editorOL.mapa.getControlsByClass('OpenLayers.Control.Navigation'); | ||
2358 | + for ( var i = 0; i < controls.length; ++i) { | ||
2359 | + controls[i].disableZoomWheel(); | ||
2360 | + } | ||
2361 | + }, | ||
2362 | + google2wgs : function(obj) { | ||
2363 | + if (i3GEO.Interface.openlayers.googleLike === true) { | ||
2364 | + var projWGS84 = new OpenLayers.Projection("EPSG:4326"), proj900913 = new OpenLayers.Projection("EPSG:900913"); | ||
2365 | + return obj.transform(proj900913, projWGS84); | ||
2366 | + } else { | ||
2367 | + return obj; | ||
2368 | + } | ||
2369 | + }, | ||
2370 | + sobeLayersGraficos : function() { | ||
2371 | + var nlayers = i3GEO.editorOL.mapa.getNumLayers(), layers = i3GEO.editorOL.mapa.layers, i; | ||
2372 | + for (i = 0; i < nlayers; i++) { | ||
2373 | + if (layers[i].CLASS_NAME == "OpenLayers.Layer.Vector" && layers[i].name != "Nenhum") { | ||
2374 | + i3GEO.editorOL.mapa.raiseLayer(i3GEO.editorOL.mapa.layers[i], nlayers); | ||
2375 | + } | ||
2376 | + } | ||
2377 | + } | ||
2378 | + }; | ||
2379 | + | ||
2380 | +// para compatibilidade com OpenLayers 2x | ||
2381 | +i3GEO.editorOL.backup.getFeatures = function() { | ||
2382 | + return i3GEO.editorOL.backup.getSource().getFeatures(); | ||
2383 | +}; | ||
0 | \ No newline at end of file | 2384 | \ No newline at end of file |
@@ -0,0 +1 @@ | @@ -0,0 +1 @@ | ||
1 | +if(!i3GEO||typeof(i3GEO)==='undefined'){var i3GEO={};i3GEO.Interface={};navn=false;navm=false;$i=function(id){return document.getElementById(id)};app=navigator.appName.substring(0,1);if(app==='N'){navn=true}else{navm=true}}i3GEO.editorOL={simbologia:{opacidade:0.8,texto:"",fillColor:"250,180,15",strokeWidth:2,strokeColor:"250,150,0",pointRadius:4,graphicName:"square",fontSize:"12px",fontColor:"0,0,0",externalGraphic:"",graphicHeight:25,graphicWidth:25},backup:new ol.layer.Vector({source:new ol.source.Vector({features:new ol.Collection(),useSpatialIndex:false,name:"Backup"}),visible:false,map:i3geoOL}),nomeFuncaoSalvar:"i3GEO.editorOL.salvaGeo()",e_oce:new ol.layer.Tile({title:"ESRI Ocean Basemap",visible:false,isBaseLayer:true,name:"oce",source:new ol.source.TileArcGISRest({url:"http://server.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer",attributions:[new ol.Attribution({html:'Tiles © <a href="http://server.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer">ArcGIS</a>'})]})}),e_ims:new ol.layer.Tile({title:"ESRI Imagery World 2D",visible:false,isBaseLayer:true,name:"ims",source:new ol.source.TileArcGISRest({url:"http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer",attributions:[new ol.Attribution({html:'Tiles © <a href="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer">ArcGIS</a>'})]})}),e_wsm:new ol.layer.Tile({title:"ESRI World Street Map",visible:false,isBaseLayer:true,name:"wsm",source:new ol.source.TileArcGISRest({url:"http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer",attributions:[new ol.Attribution({html:'Tiles © <a href="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer">ArcGIS</a>'})]})}),ol_mma:new ol.layer.Tile({title:"Base carto MMA",visible:false,isBaseLayer:true,name:"bra",source:new ol.source.TileWMS({url:"http://mapas.mma.gov.br/cgi-bin/mapserv?map=/opt/www/html/webservices/baseraster.map&",params:{'layers':"baseraster",'srs':"EPSG:4326",'format':"image/png"}})}),ol_wms:new ol.layer.Tile({title:"ESRI World Street Map",visible:false,isBaseLayer:true,name:"wsm",source:new ol.source.TileArcGISRest({url:"http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer",attributions:[new ol.Attribution({html:'Tiles © <a href="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer">ArcGIS</a>'})]})}),fundo:"e_ims,e_wsm,ol_mma,ol_wms,top_wms",kml:[],layersIniciais:[],botoes:{'pan':true,'zoombox':true,'zoomtot':true,'zoomin':true,'zoomout':true,'distancia':true,'area':true,'identifica':true,'linha':true,'ponto':true,'poligono':true,'texto':true,'edita':true,'listag':true,'corta':true,'apaga':true,'procura':true,'selecao':true,'selecaotudo':true,'salva':true,'ajuda':true,'propriedades':true,'fecha':false,'tools':true,'undo':false,'frente':false,'legenda':true,'rodadomouse':true},pontos:[],marca:"../pacotes/openlayers/img/marker-gold.png",controles:[],tiles:true,incluilayergrafico:true,ativalayerswitcher:false,ativarodadomouse:true,legendahtml:false,numzoom:12,minresolution:0.703125,maxext:"",mapext:[-76.5125927,-39.3925675209,-29.5851853,9.49014852081],mapa:"",inicia:function(){if(i3GEO.editorOL.controles.length===0){i3GEO.editorOL.controles=[new ol.interaction.DoubleClickZoom(),new ol.interaction.KeyboardPan(),new ol.interaction.KeyboardZoom(),new ol.interaction.MouseWheelZoom(),new ol.interaction.PinchRotate(),new ol.interaction.PinchZoom(),new ol.interaction.DragZoom(),new ol.interaction.DragPan(),new ol.control.Zoom(),new ol.control.ZoomSlider(),new ol.control.ScaleLine()]}var alayers=[],fundo=(i3GEO.editorOL.fundo).split(","),nfundo=fundo.length,ncontroles=i3GEO.editorOL.controles.length,i,n,temp;if(i3GEO.editorOL.ativarodadomouse==="false"){i3GEO.editorOL.ativarodadomouse=false}if(i3GEO.editorOL.ativarodadomouse==="true"){i3GEO.editorOL.ativarodadomouse=true}if(i3GEO.editorOL.legendahtml==="false"){i3GEO.editorOL.legendahtml=false}if(i3GEO.editorOL.legendahtml==="true"){i3GEO.editorOL.legendahtml=true}if(i3GEO.editorOL.incluilayergrafico==="false"){i3GEO.editorOL.incluilayergrafico=false}if(i3GEO.editorOL.incluilayergrafico==="true"){i3GEO.editorOL.incluilayergrafico=true}if(i3GEO.editorOL.incluilayergrafico===true){if(!i3GEO.desenho.layergrafico){i3GEO.editorOL.criaLayerGrafico()}}else{i3GEO.desenho.layergrafico="";i3GEO.editorOL.botoes.linha=false;i3GEO.editorOL.botoes.ponto=false;i3GEO.editorOL.botoes.poligono=false;i3GEO.editorOL.botoes.texto=false;i3GEO.editorOL.botoes.edita=false;i3GEO.editorOL.botoes.listag=false;i3GEO.editorOL.botoes.corta=false;i3GEO.editorOL.botoes.apaga=false;i3GEO.editorOL.botoes.selecao=false;i3GEO.editorOL.botoes.selecaotudo=false;i3GEO.editorOL.botoes.salva=false;i3GEO.editorOL.botoes.propriedades=false;i3GEO.editorOL.botoes.fecha=false;i3GEO.editorOL.botoes.tools=false;i3GEO.editorOL.botoes.undo=false;i3GEO.editorOL.botoes.frente=false}if(i3GEO.editorOL.mapa===""){alert("O objeto i3GEO.editorOL.mapa nao existe. Precisa ser criado com new OpenLayers.Map()");return}for(i=0;i<ncontroles;i++){i3GEO.editorOL.mapa.addControl(i3GEO.editorOL.controles[i])}if(i3GEO.editorOL.fundo!=""){for(i=nfundo-1;i>=0;i--){if(fundo[i]!=""){try{i3GEO.editorOL[fundo[i]].transitionEffect='resize';i3GEO.editorOL[fundo[i]].setVisibility(false);i3GEO.editorOL[fundo[i]].singleTile=false;alayers.push(i3GEO.editorOL[fundo[i]])}catch(e){if(alayers[0]){alayers[0].setVisibility(true)}}}}}i3GEO.editorOL.mapa.addLayers(alayers);if(i3GEO.editorOL.layersIniciais!==""){n=i3GEO.editorOL.layersIniciais.length;for(i=0;i<n;i++){i3GEO.editorOL.mapa.addLayer(i3GEO.editorOL.layersIniciais[i])}}if(!i3GEO.desenho.layergrafico&&i3GEO.editorOL.incluilayergrafico===true){i3GEO.editorOL.mapa.addLayers([i3GEO.desenho.layergrafico])}i3GEO.editorOL.adicionaKml();i3GEO.editorOL.adicionaMarcas();i3GEO.editorOL.coordenadas();i3GEO.editorOL.criaJanelaBusca();i3GEO.editorOL.criaBotoes(i3GEO.editorOL.botoes);if(i3GEO.editorOL.ativalayerswitcher===true){i3GEO.editorOL.ativaLayerSwitcher()}if(i3GEO.editorOL.ativarodadomouse===false){i3GEO.editorOL.desativaRodaDoMouse()}if(i3GEO.editorOL.numzoom!==""){i3GEO.editorOL.mapa.setOptions({numZoomLevels:i3GEO.editorOL.numzoom})}if(i3GEO.editorOL.maxext!==""){i3GEO.editorOL.mapa.setOptions({maxExtent:i3GEO.editorOL.maxext})}if(i3GEO.editorOL.mapext!=""){var m=i3GEO.util.extGeo2OSM(i3GEO.editorOL.mapext);i3GEO.editorOL.mapa.zoomToExtent(m)}else{i3GEO.editorOL.mapa.zoomToMaxExtent()}i3GEO.editorOL.sobeLayersGraficos();temp=i3GEO.editorOL.pegaControle("OpenLayers.Control.LayerSwitcher");if(temp){temp=temp.dataLayersDiv.getElementsByTagName("label");n=temp.length;for(i=0;i<n;i++){temp[i].onclick=""}}},criaLayerGrafico:function(){i3GEO.desenho.openlayers.criaLayerGrafico()},layersLigados:function(){var layers=i3GEO.editorOL.mapa.layers,nlayers=layers.length,ins=[],i;for(i=0;i<nlayers;i++){if(layers[i].visibility===true){ins.push(layers[i])}}return ins},layerPorParametro:function(parametro,valor){var layers=i3GEO.editorOL.mapa.layers,nlayers=layers.length,ins=[],i;for(i=0;i<nlayers;i++){if(layers[i][parametro]||layers[i][parametro.toLowerCase()]){if(layers[i][parametro]===valor||layers[i][parametro.toLowerCase()]===valor){ins.push(layers[i])}}else{if(layers[i].params&&layers[i].params[parametro]&&layers[i].params[parametro]===valor){ins.push(layers[i])}}}return ins},layersClonados:function(paramsLayers){var layers=i3GEO.editorOL.mapa.layers,nlayers=layers.length,i;for(i=0;i<nlayers;i++){if(layers[i].params&&layers[i].params.CLONETMS===paramsLayers){return(layers[i])}}return false},layertms2wms:function(tms){var layer,url;url=tms.url.replace("&cache=sim","&DESLIGACACHE=sim");url=url.replace("&Z=${z}&X=${x}&Y=${y}","");url=url.replace("Z=${z}&X=${x}&Y=${y}","");layer=new OpenLayers.Layer.WMS(tms.layername+"_clone",url,{layers:tms.name,transparent:true},{gutter:0,isBaseLayer:false,displayInLayerSwitcher:false,opacity:1,visibility:true,singleTile:true});return layer},removeClone:function(){var nome=i3GEO.editorOL.layerAtivo().layername+"_clone",busca=i3GEO.editorOL.mapa.getLayersByName(nome);if(busca.length>0){i3GEO.editorOL.mapa.removeLayer(i3GEO.editorOL.mapa.getLayersByName(camada.name)[0],false)}},coordenadas:function(){var idcoord=i3GEO.editorOL.mapa.getControlsBy("separator"," ");if(idcoord[0]){i3GEO.editorOL.mapa.events.register("mousemove",i3GEO.editorOL.mapa,function(e){var p,lonlat,d;if(navm){p=new OpenLayers.Pixel(e.x,e.y)}else{p=e.xy}lonlat=i3GEO.editorOL.mapa.getLonLatFromPixel(p);lonlat=i3GEO.util.projOSM2Geo(lonlat);d=i3GEO.calculo.dd2dms(lonlat.lon,lonlat.lat);try{$i(idcoord[0].id).innerHTML="Long: "+d[0]+"<br>Lat: "+d[1]}catch(e){}}})}},criaJanelaBusca:function(){var layers=i3GEO.editorOL.layersLigados(),nlayers=layers.length,i,ins,combo="<select id=i3GEOOLlistaTemasBusca ><option value=''>----</option>";for(i=0;i<nlayers;i++){combo+="<option value='"+i+"' >"+layers[i].name+"</option>"}combo+="</select>";ins="<div class=paragrafo >"+$trad("a7")+":<br>"+combo;ins+="<br>"+$trad("x64")+":<br><span id=i3GEOOLcomboitens ></span>";ins+="<br>"+$trad("t23")+":<br><input type=text size=20 id=i3GEOOLpalavraBusca >";ins+="<br><br><input type=button value='"+$trad("t23")+"' id='i3GEOOLbotaoBusca' ></div>";ins+="<br>'"+$trad("result")+"':<br><span id=i3GEOOLcomboresultado ></span>";try{YAHOO.namespace("procura.container");YAHOO.procura.container.panel=new YAHOO.widget.Panel("panelprocura",{zIndex:2000,iframe:false,width:"250px",visible:false,draggable:true,close:true});YAHOO.procura.container.panel.setHeader("Encontre no mapa");YAHOO.procura.container.panel.setBody(ins);YAHOO.procura.container.panel.setFooter("");YAHOO.procura.container.panel.render(document.body);YAHOO.procura.container.panel.center();document.getElementById("i3GEOOLbotaoBusca").onclick=function(){var layer=i3GEO.editorOL.layerAtivo(),item=document.getElementById("i3GEOOLbuscaItem").value,palavra=document.getElementById("i3GEOOLpalavraBusca").value;if(item===""||palavra===""){alert("Escolha o item e o texto de busca");return}i3GEO.editorOL.busca(layer,item,palavra,"i3GEOOLcomboresultado")};document.getElementById("i3GEOOLlistaTemasBusca").onchange=function(){i3GEO.editorOL.ativaTema(this.value);document.getElementById("i3GEOOLcomboitens").innerHTML="...";i3GEO.editorOL.listaItens(i3GEO.editorOL.layerAtivo(),"i3GEOOLcomboitens","i3GEOOLbuscaItem")}}catch(e){}},criaComboTemas:function(){var layers=i3GEO.editorOL.layersLigados(),nlayers=layers.length,i,nometema="",temp,combo="<select id=i3GEOOLlistaTemasAtivos style=width:235px; >";for(i=0;i<nlayers;i++){nometema="";if(i3GEO.arvoreDeCamadas&&i3GEO.arvoreDeCamadas.CAMADAS){temp=i3GEO.arvoreDeCamadas.pegaTema(layers[i].name,"","name");if(temp!=""){nometema=temp.tema+" - "}}combo+="<option value='"+i+"' >"+nometema+layers[i].name+"</option>"}combo+="</select>";return combo},atualizaJanelaAtivaTema:function(){var combo=i3GEO.editorOL.criaComboTemas();YAHOO.temaativo.container.panel.setBody(combo);document.getElementById("i3GEOOLlistaTemasAtivos").onchange=function(){if(botaoIdentifica){botaoIdentifica.layers=[i3GEO.editorOL.layersLigados()[this.value]]}}},criaJanelaAtivaTema:function(){var temp;if(!document.getElementById("paneltemaativo")){YAHOO.namespace("temaativo.container");YAHOO.temaativo.container.panel=new YAHOO.widget.Panel("paneltemaativo",{zIndex:20000,iframe:true,width:"250px",visible:false,draggable:true,close:true});YAHOO.temaativo.container.panel.setBody("");if(i3GEO&&typeof i3GEO!=undefined&&i3GEO!=""){YAHOO.temaativo.container.panel.setHeader("Tema ativo<div id='paneltemaativo_minimizaCabecalho' class='container-minimiza'></div>")}else{YAHOO.temaativo.container.panel.setHeader($trad("tativo"))}YAHOO.temaativo.container.panel.setFooter("");YAHOO.temaativo.container.panel.render(document.body);YAHOO.temaativo.container.panel.show();YAHOO.temaativo.container.panel.center();i3GEO.editorOL.atualizaJanelaAtivaTema();YAHOO.util.Event.addListener(YAHOO.temaativo.container.panel.close,"click",function(){i3GEOpanelEditor.deactivate();i3GEOpanelEditor.activate();if(i3GEO.eventos){i3GEO.eventos.adicionaEventos("ATUALIZAARVORECAMADAS",["i3GEO.editorOL.atualizaJanelaAtivaTema()"])}});if(i3GEO&&typeof i3GEO!=undefined&&i3GEO!=""){if(i3GEO.eventos){i3GEO.eventos.adicionaEventos("ATUALIZAARVORECAMADAS",["i3GEO.editorOL.atualizaJanelaAtivaTema()"])}}temp=$i("paneltemaativo_minimizaCabecalho");if(temp){temp.onclick=function(){i3GEO.janela.minimiza("paneltemaativo")}}}else{YAHOO.temaativo.container.panel.show();i3GEO.editorOL.atualizaJanelaAtivaTema()}},ativaTema:function(id){document.getElementById("i3GEOOLlistaTemasAtivos").value=id},layerAtivo:function(){var id=document.getElementById("i3GEOOLlistaTemasAtivos");if(id){id=id.value}else{id=i3GEO.temaAtivo}if(id==""){return[]}else{return i3GEO.editorOL.layersLigados()[id]}},listaItens:function(layer,idonde,idobj){if(!layer){return}if(!layer.params){return}var u=layer.url+"&request=describefeaturetype&service=wfs&version=1.0.0";u+="&typename="+layer.params.LAYERS;document.body.style.cursor="wait";document.getElementById("i3geoMapa").style.cursor="wait";OpenLayers.Request.issue({method:"GET",url:u,callback:function(retorno){document.body.style.cursor="default";document.getElementById("i3geoMapa").style.cursor="default";var fromgml=new OpenLayers.Format.WFSDescribeFeatureType({geometryName:"msGeometry"}),gml=fromgml.read(retorno.responseText),prop=gml.featureTypes[0].properties,nprop=prop.length,i,combo="<select id="+idobj+" ><option value=''>----</option>";for(i=0;i<nprop;i++){combo+="<option value="+prop[i].name+" >"+prop[i].name+"</option>"}combo+="</select>";document.getElementById(idonde).innerHTML=combo},failure:function(){document.body.style.cursor="default";document.getElementById("i3geoMapa").style.cursor="default";alert("Erro")}})},busca:function(layer,item,palavra,onde){document.body.style.cursor="wait";document.getElementById("i3geoMapa").style.cursor="wait";var u=layer.url+"&request=getfeature&service=wfs&version=1.0.0";u=u.replace("Z=${z}&X=${x}&Y=${y}","");u+="&OUTPUTFORMAT=gml2&typename="+layer.params.LAYERS;u+="&filter=<Filter><PropertyIsLike wildcard=* singleChar=. escape=! ><PropertyName>"+item+"</PropertyName><Literal>*"+palavra+"*</Literal></PropertyIsLike></Filter>";document.body.style.cursor="wait";document.getElementById("i3geoMapa").style.cursor="wait";document.getElementById(onde).innerHTML="...";OpenLayers.Request.issue({method:"GET",url:u,callback:function(retorno){document.body.style.cursor="default";document.getElementById("i3geoMapa").style.cursor="default";var fromgml=new OpenLayers.Format.GML({geometryName:"msGeometry"}),gml=fromgml.read(retorno.responseText),ngml=gml.length,i,ins="<select onchange='i3GEO.editorOL.zoomPara(this.value)'>";ins+="<option value=''>---</option>";for(i=0;i<ngml;i++){eval("var valor = gml[i].data."+item);var bounds=gml[i].geometry.getBounds();bounds=bounds.toBBOX();ins+="<option value='"+bounds+"'>"+valor+"</option>"}ins+="</select>";document.getElementById(onde).innerHTML=ins},failure:function(){document.body.style.cursor="default";document.getElementById("i3geoMapa").style.cursor="default";alert("Erro")}})},zoomPara:function(bbox){var b=new OpenLayers.Bounds.fromString(bbox);i3GEO.editorOL.mapa.zoomToExtent(b)},mostraLegenda:function(){var layers=i3GEO.editorOL.layersLigados(),nlayers=layers.length,ins="",i,icone="",url,fers,f="",fer="";for(i=0;i<nlayers;i++){try{if(layers[i].isBaseLayer===false){url=layers[i].getFullRequestString({"request":"getlegendgraphic"});icone="";if(i3GEO.editorOL.legendahtml===true){url=url.replace("image%2Fpng","text/html")+"&FORMAT=text/html&SERVICE=WMS";if(layers[i].options.plugini3geo){if(layers[i].params.LAYERS){icone=i3GEO.pluginI3geo[layers[i].options.plugini3geo].iconeArvoreDeCamadas(layers[i].params.LAYERS)}else{icone=i3GEO.pluginI3geo[layers[i].options.plugini3geo].iconeArvoreDeCamadas(layers[i].layers)}}fers=layers[i].options.ferramentas;for(fer in fers){if(i3GEO.configura.ferramentasLayers[fer]){icone=i3GEO.configura.ferramentasLayers[fer].icone(layers[i])}}ins+=icone+layers[i].name+"<br><div id=legendaL_"+i+" ></div><br>";eval("var f = function(retorno){document.getElementById('legendaL_"+i+"').innerHTML = retorno.responseText;};");var config={method:"GET",url:url,callback:f};OpenLayers.Request.issue(config)}else{url=url.replace("LAYERS","LAYER");url=url.replace("&Z=${z}&X=${x}&Y=${y}","");url=url.replace("Z=${z}&X=${x}&Y=${y}","");ins+=layers[i].name+"<br><img src='"+url+"&SERVICE=wms' /><br>"}}}catch(e){}}if(!document.getElementById("panellegendaeditorOL")){YAHOO.namespace("legendaeditorOL.container");YAHOO.legendaeditorOL.container.panel=new YAHOO.widget.Panel("panellegendaeditorOL",{zIndex:20000,iframe:true,width:"auto",visible:false,draggable:true,close:true});YAHOO.legendaeditorOL.container.panel.setBody(ins);YAHOO.legendaeditorOL.container.panel.setHeader($trad("p3"));YAHOO.legendaeditorOL.container.panel.setFooter("");YAHOO.legendaeditorOL.container.panel.render(document.body);YAHOO.legendaeditorOL.container.panel.show();YAHOO.legendaeditorOL.container.panel.center();YAHOO.util.Event.addListener(YAHOO.legendaeditorOL.container.panel.close,"click",function(){YAHOO.legendaeditorOL.container.panel.destroy()})}else{YAHOO.legendaeditorOL.container.panel.setBody(ins);YAHOO.legendaeditorOL.container.panel.show()}},captura:function(lonlat){var d=0.1,layers=[i3GEO.editorOL.layerAtivo()],xy=lonlat.split(","),u=layers[0].url+"&REQUEST=getfeature&service=wfs&version=1.0.0";u+="&OUTPUTFORMAT=gml2&typename="+layers[0].params.LAYERS;if(i3GEO.Interface.openlayers.googleLike===true){u+="&SRS=EPSG:3857"}u=u.replace("&cache=sim","&DESLIGACACHE=sim");u=u.replace("&Z=${z}&X=${x}&Y=${y}","");u=u.replace("Z=${z}&X=${x}&Y=${y}","");xy[0]=xy[0]*1;xy[1]=xy[1]*1;var poligono=(xy[0]-d)+","+(xy[1]+d)+" "+(xy[0]+d)+","+(xy[1]+d)+" "+(xy[0]+d)+","+(xy[1]-d)+" "+(xy[0]-d)+","+(xy[1]-d)+" "+(xy[0]-d)+","+(xy[1]+d);u+="&filter=<Filter><Intersects><PropertyName>Geometry</PropertyName><gml:Polygon><gml:outerBoundaryIs><gml:LinearRing><gml:posList>"+poligono+"</gml:posList></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></Intersects></Filter>";document.body.style.cursor="wait";if(document.getElementById("i3geoMapa")){document.getElementById("i3geoMapa").style.cursor="wait"}OpenLayers.Request.issue({method:"GET",url:u,callback:function(retorno){document.body.style.cursor="default";if(document.getElementById("i3geoMapa")){document.getElementById("i3geoMapa").style.cursor="default"}var i,n,f,fromgml=new OpenLayers.Format.GML({geometryName:"msGeometry"}),gml=fromgml.read(retorno.responseText);n=gml.length;for(i=0;i<n;i++){f=gml[i];f["attributes"]={opacidade:i3GEO.editorOL.simbologia.opacidade,texto:i3GEO.editorOL.simbologia.texto,fillColor:i3GEO.editorOL.simbologia.fillColor,strokeWidth:i3GEO.editorOL.simbologia.strokeWidth,strokeColor:i3GEO.editorOL.simbologia.strokeColor,pointRadius:i3GEO.editorOL.simbologia.pointRadius,graphicName:i3GEO.editorOL.simbologia.graphicName,registros:f["attributes"]}}i3GEO.desenho.layergrafico.addFeatures(gml)},failure:function(){document.body.style.cursor="default";if(document.getElementById("i3geoMapa")){document.getElementById("i3geoMapa").style.cursor="default"}alert("Erro")}})},salvaGeometrias:function(){var geos=i3GEO.desenho.layergrafico.selectedFeatures,n=geos.length,ins="";if(n>0){if($i("panelsalvageometrias")){if(YAHOO.i3GEO){YAHOO.salvaGeometrias.container.panel=YAHOO.i3GEO.janela.manager.find("panelsalvageometrias")}YAHOO.salvaGeometrias.container.panel.show();YAHOO.salvaGeometrias.container.panel.bringToTop()}else{try{YAHOO.namespace("salvaGeometrias.container");YAHOO.salvaGeometrias.container.panel=new YAHOO.widget.Panel("panelsalvageometrias",{zIndex:2000,iframe:false,width:"250px",visible:false,draggable:true,close:true});YAHOO.salvaGeometrias.container.panel.setHeader($trad("u6"));YAHOO.salvaGeometrias.container.panel.setBody("");YAHOO.salvaGeometrias.container.panel.setFooter("");YAHOO.salvaGeometrias.container.panel.render(document.body);YAHOO.salvaGeometrias.container.panel.center();if(YAHOO.i3GEO&&YAHOO.i3GEO.janela){YAHOO.i3GEO.janela.manager.register(YAHOO.salvaGeometrias.container.panel)}YAHOO.salvaGeometrias.container.panel.show()}catch(e){}}ins+="<p class=paragrafo >"+n+" "+$trad("geosel")+"</p>";ins+="<p class=paragrafo ><a href='#' onclick='i3GEO.editorOL.listaGeometriasSel()' >"+$trad("listar")+"</a> ";if(i3GEO.editorOL.nomeFuncaoSalvar&&i3GEO.editorOL.nomeFuncaoSalvar!=""){ins+="<a href='#' onclick='"+i3GEO.editorOL.nomeFuncaoSalvar+"' >"+$trad("sdados")+"</a> "}if(typeof i3geoOL!=="undefined"){ins+="<a href='#' onclick='i3GEO.editorOL.incorporar()' >"+$trad("incorpo")+"</a></p>";ins+="<p class=paragrafo>"+$trad("ajudaEditorOlSalva")+"</p>"}YAHOO.salvaGeometrias.container.panel.setBody(ins)}else{i3GEO.janela.tempoMsg($trad("selum"))}},exportarSHP:function(){i3GEO.editorOL.processageo("converteSHP")},incorporar:function(){i3GEO.editorOL.processageo("incorporar")},listaGeometriasSel:function(){var geos=i3GEO.desenho.layergrafico.selectedFeatures,n=geos.length,ins="",i,a,w,g;for(i=0;i<n;i++){g=geos[i];ins+="<b>"+$trad("u6")+": "+i+"</b><br>"+i3GEO.editorOL.google2wgs(g.geometry)+"<br><br>";ins+="<b>"+$trad("atrib")+": "+i+"</b><br>";a=g.attributes;for(key in a){if(a[key]){ins+=key+" = "+a[key]+"<br>"}}if(g.attributes.registros){ins+="<b>"+$trad("reg")+": "+i+"</b><br>";a=g.attributes.registros;for(key in a){if(a[key]){ins+=key+" = "+a[key]+"<br>"}}}ins+="<br>"}w=window.open();w.document.write(ins);w.document.close()},testeSalvar:function(){alert("Funcao nao disponivel. Defina o nome da funcao em i3GEO.editorOL.nomeFuncaoSalvar ")},salvaGeo:function(){var geos=i3GEO.desenho.layergrafico.selectedFeatures,n=geos.length,funcaoOK=function(){if(geos[0].geometry){var registros="",valorunico="",nometema=$i("editorOLcomboTemaEditavel").value,key="",tema,redesenha,p,g=i3GEO.editorOL.google2wgs(geos[0].geometry);if(nometema==""){return}tema=i3GEO.arvoreDeCamadas.pegaTema(nometema,"","name");if(geos[0].attributes.registros){registros=geos[0].attributes.registros;for(key in registros){if(registros[key]&&key==tema.colunaidunico){valorunico=registros[key]}}}redesenha=function(retorno){i3GEO.janela.fechaAguarde("aguardeSalvaPonto");i3GEO.desenho.layergrafico.removeFeatures(i3GEO.desenho.layergrafico.selectedFeatures);i3GEO.Interface.atualizaTema("",nometema)};i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardeSalvaPonto",$trad("adic")+"...");i3GEO.janela.AGUARDEMODAL=false;if(valorunico==""){p=i3GEO.configura.locaplic+"/ferramentas/editortema/exec.php?funcao=adicionaGeometria&g_sid="+i3GEO.configura.sid;cpJSON.call(p,"foo",redesenha,"&tema="+nometema+"&wkt="+g)}else{p=i3GEO.configura.locaplic+"/ferramentas/editortema/exec.php?funcao=atualizaGeometria&g_sid="+i3GEO.configura.sid;cpJSON.call(p,"foo",redesenha,"&idunico="+valorunico+"&tema="+nometema+"&wkt="+g)}}},funcaoCombo=function(obj){$i("editorOLondeComboTemaEditavel").innerHTML=obj.dados},texto=$trad("stema")+":<br><div id=editorOLondeComboTemaEditavel ></div><br><br>";if(n!=1){i3GEO.janela.tempoMsg($trad("seluma"))}else{i3GEO.janela.confirma(texto,300,$trad("salva"),$trad("canc"),funcaoOK);i3GEO.util.comboTemas("editorOLcomboTemaEditavel",funcaoCombo,"editorOLondeComboTemaEditavel","",false,"editavel")}},criaBotoes:function(botoes){var controles=[],adiciona=true,sketchSymbolizers={"Point":{pointRadius:4,graphicName:"square",fillColor:"white",fillOpacity:1,strokeWidth:1,strokeOpacity:1,strokeColor:"#333333"},"Line":{strokeWidth:3,strokeOpacity:1,strokeColor:"#666666",strokeDashstyle:"dash"},"Polygon":{strokeWidth:2,strokeOpacity:1,strokeColor:"#666666",fillColor:"white",fillOpacity:0.3}};i3GEOpanelEditor=new OpenLayers.Control.Panel({displayClass:"olControlEditingToolbar1 noprint",saveState:false,activateControl:function(c){this.deactivate();this.activate();try{i3GEO.editorOL.ModifyFeature.deactivate();if(i3GEO&&i3GEO.barraDeBotoes){i3GEO.barraDeBotoes.ativaPadrao()}}catch(e){}if(!c.trigger){c.activate()}else{c.trigger.call()}}});if(botoes.procura===false){button=new OpenLayers.Control.Button({displayClass:"editorOLprocura",trigger:function(){YAHOO.procura.container.panel.show()},title:$trad("t23"),type:OpenLayers.Control.TYPE_BUTTON});controles.push(button);adiciona=true}if(botoes.pan===true){controles.push(new OpenLayers.Control.Navigation({title:"pan",displayClass:"editorOLpan",type:OpenLayers.Control.TYPE_TOOL}));adiciona=true}if(botoes.zoombox===true){controles.push(new OpenLayers.Control.ZoomBox({title:"zoombox",displayClass:"editorOLzoombox",type:OpenLayers.Control.TYPE_TOOL}));adiciona=true}if(botoes.zoomtot===true){button=new OpenLayers.Control.Button({displayClass:"editorOLzoomtot",trigger:function(){if(i3GEO.editorOL.mapext&&i3GEO.editorOL.mapext!=""){i3GEO.editorOL.mapa.zoomToExtent(i3GEO.editorOL.mapext)}else{i3GEO.editorOL.mapa.zoomToMaxExtent()}},title:$trad("d2t"),type:OpenLayers.Control.TYPE_BUTTON});controles.push(button);adiciona=true}if(botoes.zoomin===true){button=new OpenLayers.Control.Button({displayClass:"editorOLzoomin",trigger:function(){i3GEO.editorOL.mapa.zoomIn()},title:$trad("d5t"),type:OpenLayers.Control.TYPE_BUTTON});controles.push(button);adiciona=true}if(botoes.zoomout===true){button=new OpenLayers.Control.Button({displayClass:"editorOLzoomout",trigger:function(){i3GEO.editorOL.mapa.zoomOut()},title:$trad("d6t"),type:OpenLayers.Control.TYPE_BUTTON});controles.push(button);adiciona=true}if(botoes.legenda===true){button=new OpenLayers.Control.Button({displayClass:"editorOLlegenda",trigger:function(){i3GEO.editorOL.mostraLegenda()},title:$trad("p3"),type:OpenLayers.Control.TYPE_BUTTON});controles.push(button);adiciona=true}if(botoes.distancia===true){button=new OpenLayers.Control.Measure(OpenLayers.Handler.Path,{handlerOptions:{layerOptions:{styleMap:styleMap}},persist:true,displayClass:"editorOLdistancia",title:$trad("d21t"),type:OpenLayers.Control.TYPE_TOOL});button.events.on({"measure":function(event){var units=event.units,measure=event.measure;alert($trad("d21t")+": "+measure.toFixed(3)+" "+units)}});controles.push(button);adiciona=true}if(botoes.area===true){button=new OpenLayers.Control.Measure(OpenLayers.Handler.Polygon,{handlerOptions:{layerOptions:{styleMap:styleMap}},persist:true,displayClass:"editorOLarea",title:$trad("d21at"),type:OpenLayers.Control.TYPE_TOOL});button.events.on({"measure":function(event){var units=event.units;var measure=event.measure;alert($trad("d21at")+": "+measure.toFixed(3)+" "+units+"2")}});controles.push(button);adiciona=true}if(botoes.identifica===true){}if(botoes.linha===true){}if(botoes.ponto===true){}if(botoes.poligono===true){}if(botoes.texto===true){}if(botoes.edita===true&&botoes.corta===true&&i3GEO.php){}if(botoes.edita===true){}if(botoes.edita===true&&botoes.listag===true){}if(botoes.frente===true){}if(botoes.tools===true&&i3GEO.php){}if(botoes.selecao===true){}if(botoes.selecaotudo===true){}if(botoes.apaga===true){}if(botoes.propriedades===true){}if(botoes.salva===true){}if(botoes.ajuda===true){}if(botoes.fecha===true){}if(adiciona===true){i3GEOpanelEditor.addControls(controles)}},mudaSimbolo:function(estilo,id){var valor=$i(id).value,geos=i3GEO.desenho.layergrafico.selectedFeatures,n=geos.length,i;i3GEO.editorOL.simbologia[estilo]=valor;for(i=0;i<n;i++){geos[i].attributes[estilo]=valor;geos[i].style[estilo]=valor}},adicionaMarcas:function(){if(i3GEO.editorOL.pontos.length===0){return}var f,SHADOW_Z_INDEX=10,MARKER_Z_INDEX=11,layer=new OpenLayers.Layer.Vector("pontos",{styleMap:new OpenLayers.StyleMap({externalGraphic:i3GEO.editorOL.marca,backgroundGraphic:"../pacotes/openlayers/img/marker_shadow.png",backgroundXOffset:0,backgroundYOffset:-7,graphicZIndex:MARKER_Z_INDEX,backgroundGraphicZIndex:SHADOW_Z_INDEX,pointRadius:10}),isBaseLayer:false,rendererOptions:{yOrdering:true},displayInLayerSwitcher:true,visibility:true}),index,x=[],y=[],features=[];for(index=0;index<i3GEO.editorOL.pontos.length;index=index+2){x.push(i3GEO.editorOL.pontos[index]);y.push(i3GEO.editorOL.pontos[index+1])}for(index=0;index<x.length;index++){f=new OpenLayers.Geometry.Point(x[index],y[index]);f=i3GEO.util.projGeo2OSM(f);f=new OpenLayers.Feature.Vector(f);features.push(f)}layer.addFeatures(features);i3GEO.editorOL.mapa.addLayer(layer)},adicionaKml:function(){var temp,n,i,id,url;n=i3GEO.editorOL.kml.length;for(i=0;i<n;i++){id="kml"+i;url=i3GEO.editorOL.kml[i];eval(id+" = new OpenLayers.Layer.Vector('"+id+"', {displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true, strategies: [new OpenLayers.Strategy.Fixed()],protocol: new OpenLayers.Protocol.HTTP({url: '"+url+"',format: new OpenLayers.Format.KML({extractStyles: true,extractAttributes: true,maxDepth: 5})})})");eval("i3GEO.editorOL.mapa.addLayer("+id+");");eval("temp = "+id+".div;");temp.onclick=function(e){var targ="",id,temp,features,n,i,g,html="";if(!e){e=window.event}if(e.target){targ=e.target}else{if(e.srcElement){targ=e.srcElement}}if(targ.id){temp=targ.id.split("_");if(temp[0]==="OpenLayers.Geometry.Point"){id=targ.id;temp=i3GEO.editorOL.mapa.getLayer(this.id);features=temp.features;n=features.length;for(i=0;i<n;i++){if(features[i].geometry.id===id){for(var j in features[i].attributes){html+=j+": "+features[i].attributes[j]}g=features[i].geometry;i3GEO.editorOL.mapa.addPopup(new OpenLayers.Popup.FramedCloud("kml",new OpenLayers.LonLat(g.x,g.y),null,html,null,true))}}}}}}},propriedades:function(){if(!document.getElementById("panelpropriedadesEditor")){YAHOO.namespace("editorOL.container");YAHOO.editorOL.container.panel=new YAHOO.widget.Panel("panelpropriedadesEditor",{zIndex:20000,iframe:true,width:"350px",height:"250px",visible:false,draggable:true,close:true});var ins=""+'<p class=paragrafo ><b>Estilos (utilize a cor no formato r,g,b):</b></p>'+'<table class=lista7 >'+' <tr>'+' <td>Cor do contorno</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'strokeColor\',\'i3GEOEditorOLcorContorno\')" type="text" style="cursor:text" id="i3GEOEditorOLcorContorno" size="12" value="'+i3GEO.editorOL.simbologia.strokeColor+'" /></td><td>';if(i3GEO.configura){ins+='<img alt="aquarela.gif" style=cursor:pointer src="'+i3GEO.configura.locaplic+'/imagens/aquarela.gif" onclick="i3GEO.util.abreCor(\'\',\'i3GEOEditorOLcorContorno\');" />'}ins+=""+' </td>'+' </tr>'+' <tr>'+' <td>Cor do preenchimento</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'fillColor\',\'i3GEOEditorOLcorPre\')" type="text" style="cursor:text" id="i3GEOEditorOLcorPre" size="12" value="'+i3GEO.editorOL.simbologia.fillColor+'" /></td><td>';if(i3GEO.configura){ins+='<img alt="aquarela.gif" style=cursor:pointer src="'+i3GEO.configura.locaplic+'/imagens/aquarela.gif" onclick="i3GEO.util.abreCor(\'\',\'i3GEOEditorOLcorPre\');" />'}ins+=""+' </td>'+' </tr>'+' <tr>'+' <td>Cor da fonte</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'fontColor\',\'i3GEOEditorOLcorFonte\')" type="text" style="cursor:text" id="i3GEOEditorOLcorFonte" size="12" value="'+i3GEO.editorOL.simbologia.fontColor+'" /></td><td>';if(i3GEO.configura){ins+='<img alt="aquarela.gif" style=cursor:pointer src="'+i3GEO.configura.locaplic+'/imagens/aquarela.gif" onclick="i3GEO.util.abreCor(\'\',\'i3GEOEditorOLcorFonte\');" />'}ins+=""+' </td>'+' </tr>'+' <tr>'+' <td>Tamanho da fonte</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'fontSize\',\'i3GEOEditorOLfontsize\')" type="text" style="cursor:text" id="i3GEOEditorOLfontsize" size="3" value="'+i3GEO.editorOL.simbologia.fontSize+'" /></td><td></td>'+' </tr>'+' <tr>'+' <td>Opacidade (de 0 a 1)</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'opacidade\',\'i3GEOEditorOLopacidade\')" type="text" style="cursor:text" id="i3GEOEditorOLopacidade" size="3" value="'+i3GEO.editorOL.simbologia.opacidade+'" /></td><td></td>'+' </tr>'+' <tr>'+' <td>Largura da linha/contorno</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'strokeWidth\',\'i3GEOEditorOLlarguraLinha\')" type="text" style="cursor:text" id="i3GEOEditorOLlarguraLinha" size="2" value="'+i3GEO.editorOL.simbologia.strokeWidth+'" /></td><td></td>'+' </tr>'+' <tr>'+' <td>Url de uma figura</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'externalGraphic\',\'i3GEOEditorOLexternalGraphic\')" type="text" style="cursor:text" id="i3GEOEditorOLexternalGraphic" size="22" value="'+i3GEO.editorOL.simbologia.externalGraphic+'" /></td><td></td>'+' </tr>'+' <tr>'+' <td>Largura e altura</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'graphicWidth\',\'i3GEOEditorOLgraphicWidth\')" type="text" style="cursor:text" id="i3GEOEditorOLgraphicWidth" size="4" value="'+i3GEO.editorOL.simbologia.graphicWidth+'" /> <input onchange="i3GEO.editorOL.mudaSimbolo(\'graphicHeight\',\'i3GEOEditorOLgraphicHeight\')" type="text" style="cursor:text" id="i3GEOEditorOLgraphicHeight" size="4" value="'+i3GEO.editorOL.simbologia.graphicHeight+'" /></td><td></td>'+' </tr>'+'</table>'+'<br />'+'<p class=paragrafo ><b>Ajusta nó em edição para o(a):</b></p>'+'<table class=lista7 >'+' <tr>'+' <td></td><td>nó</td><td></td><td>vértice</td><td></td><td>borda</td>'+' </tr>'+' <tr>'+' <td><input style=cursor:pointer onclick="i3GEO.editorOL.snap()" type="checkbox" id="target_node" /></td><td><input onchange="i3GEO.editorOL.snap()" id="target_nodeTolerance" type="text" size="3" value=15 /></td>'+' <td><input style=cursor:pointer onclick="i3GEO.editorOL.snap()" type="checkbox" id="target_vertex" /></td><td><input onchange="i3GEO.editorOL.snap()" id="target_vertexTolerance" type="text" size="3" value=15 /></td>'+' <td><input style=cursor:pointer onclick="i3GEO.editorOL.snap()" type="checkbox" id="target_edge" /></td><td><input onchange="i3GEO.editorOL.snap()" id="target_edgeTolerance" type="text" size="3" value=15 /></td>'+' </tr>'+'</table>'+'<br />'+'<p class=paragrafo ><b>Divide intersecção ao digitalizar</b></p>'+'<table class=lista7 >'+' <tr>'+' <td><input style=cursor:pointer onclick="i3GEO.editorOL.split()" type="checkbox" id="edge_split_toggle" /></td><td>borda</td>'+' </tr>'+'</table>'+'<br />'+'<p class=paragrafo ><b>Operação ativada pelo botão de modificação da figura</b></p>'+'<table class=lista7 >'+' <tr>'+' <td><input checked style=cursor:pointer onclick="i3GEO.editorOL.ModifyFeature.mode = OpenLayers.Control.ModifyFeature.RESHAPE;" type="radio" name=i3geoOLtipoEdita /></td><td>altera figura</td>'+' <td><input style=cursor:pointer onclick="i3GEO.editorOL.ModifyFeature.mode = OpenLayers.Control.ModifyFeature.RESIZE;" type="radio" name=i3geoOLtipoEdita /></td><td>altera tamanho</td>'+' </tr>'+' <tr>'+' <td><input style=cursor:pointer onclick="i3GEO.editorOL.ModifyFeature.mode = OpenLayers.Control.ModifyFeature.ROTATE;" type="radio" name=i3geoOLtipoEdita /></td><td>rotaciona</td>'+' <td><input style=cursor:pointer onclick="i3GEO.editorOL.ModifyFeature.mode = OpenLayers.Control.ModifyFeature.DRAG;" type="radio" name=i3geoOLtipoEdita /></td><td>desloca</td>'+' </tr>'+'</table>';YAHOO.editorOL.container.panel.setBody(ins);if(i3GEO&&typeof i3GEO!=undefined&&i3GEO!=""){YAHOO.editorOL.container.panel.setHeader("Propriedades<div id='panelpropriedadesEditor_minimizaCabecalho' class='container-minimiza'></div>")}else{YAHOO.editorOL.container.panel.setHeader("Propriedades")}YAHOO.editorOL.container.panel.setFooter("");YAHOO.editorOL.container.panel.render(document.body);YAHOO.editorOL.container.panel.center();YAHOO.util.Event.addListener(YAHOO.editorOL.container.panel.close,"click",function(){});temp=$i("panelpropriedadesEditor_minimizaCabecalho");if(temp){temp.onclick=function(){i3GEO.janela.minimiza("panelpropriedadesEditor")}}}YAHOO.editorOL.container.panel.show();temp=$i("panelpropriedadesEditor").getElementsByTagName("div");if(temp&&temp[2]){temp[2].style.overflow="auto"}},listaGeometrias:function(){if(!document.getElementById("panellistagEditor")){YAHOO.namespace("editorOL.listaGeometrias");YAHOO.editorOL.listaGeometrias.panel=new YAHOO.widget.Panel("panellistagEditor",{zIndex:20000,iframe:true,width:"320px",visible:false,draggable:true,close:true});if(i3GEO&&typeof i3GEO!=undefined&&i3GEO!=""){YAHOO.editorOL.listaGeometrias.panel.setHeader($trad("u6")+" <div id='panellistagEditor_minimizaCabecalho' class='container-minimiza'></div>")}else{YAHOO.editorOL.listaGeometrias.panel.setHeader($trad("u6"))}YAHOO.editorOL.listaGeometrias.panel.setFooter("");YAHOO.editorOL.listaGeometrias.panel.render(document.body);YAHOO.editorOL.listaGeometrias.panel.center();YAHOO.util.Event.addListener(YAHOO.editorOL.listaGeometrias.panel.close,"click",function(){YAHOO.editorOL.listaGeometrias.panel.destroy()});temp=$i("panellistagEditor_minimizaCabecalho");if(temp){temp.onclick=function(){i3GEO.janela.minimiza("panellistagEditor")}}}else{YAHOO.editorOL.listaGeometrias.panel.render(document.body)}var g,temp,geos=i3GEO.desenho.layergrafico.features,n=geos.length,ins="<table class=lista4 >";ins+="<tr><td><i>"+$trad("u6")+"</i></td><td><i>"+$trad("opcoes")+"</i></td><td></td><td></td></tr>";while(n>0){n-=1;g=geos[n].geometry;ins+="<tr><td>"+g.CLASS_NAME+"</td><td style='cursor:pointer;color:blue' onclick='javascript:i3GEO.editorOL.selFeature("+n+")'>seleciona</td><td style='cursor:pointer;color:blue' onclick='javascript:i3GEO.editorOL.unselFeature("+n+")'>limpa</td><td style='cursor:pointer;color:blue' onclick='javascript:i3GEO.editorOL.flashFeaturesI("+n+")'>brilha</td></tr>"}ins+="</table>";if(geos.length===0){ins=$trad("meneditor2")}YAHOO.editorOL.listaGeometrias.panel.show();if(i3GEO.configura){temp=$i("panellistagEditor").getElementsByTagName("div")[2]}else{temp=$i("panellistagEditor").getElementsByTagName("div")[1]}temp.style.overflow="auto";temp.style.height="100px";temp.innerHTML=ins},ferramentas:function(){if(!document.getElementById("panelferramentasEditor")){YAHOO.namespace("editorOL.ferramentas");YAHOO.editorOL.ferramentas.panel=new YAHOO.widget.Panel("panelferramentasEditor",{zIndex:20000,iframe:true,width:"300px",visible:false,draggable:true,close:true});var ins=""+'<p class=paragrafo >'+$trad("opsel")+':</p>'+'<select onchange="i3GEO.editorOL.processageo(this.value);this.value = \'\'" >'+' <option value="">---</option>'+' <option value=union >União</option>';if(i3GEO.php){ins+=' <option value=intersection >Intersecção</option>'+' <option value=convexhull >Convex hull</option>'+' <option value=boundary >Bordas</option>'+' <option value=difference >Diferença</option>'+' <option value=symdifference >Diferença simétrica</option>'}ins+='</select>'+'<br><br><a class=paragrafo href=# onclick="i3GEO.desenho.layergrafico.destroyFeatures()" >Apaga tudo</a>';YAHOO.editorOL.ferramentas.panel.setBody(ins);if(i3GEO&&typeof i3GEO!=undefined&&i3GEO!=""){YAHOO.editorOL.ferramentas.panel.setHeader("Ferramentas <div id='panelferramentasEditor_minimizaCabecalho' class='container-minimiza'></div>")}else{YAHOO.editorOL.ferramentas.panel.setHeader("Ferramentas")}YAHOO.editorOL.ferramentas.panel.setFooter("");YAHOO.editorOL.ferramentas.panel.render(document.body);YAHOO.editorOL.ferramentas.panel.center();YAHOO.util.Event.addListener(YAHOO.editorOL.ferramentas.panel.close,"click",function(){});temp=$i("panelferramentasEditor_minimizaCabecalho");if(temp){temp.onclick=function(){i3GEO.janela.minimiza("panelferramentasEditor")}}}else{YAHOO.editorOL.ferramentas.panel.render(document.body)}YAHOO.editorOL.ferramentas.panel.show()},snap:function(){var target=i3GEOOLsnap.targets[0],tipos=["node","vertex","edge"],ntipos=tipos.length,i,temp,ativa=false;i3GEOOLsnap.deactivate();for(i=0;i<ntipos;i++){temp=$i("target_"+tipos[i]);target[tipos[i]]=temp.checked;if(temp.checked===true){ativa=true}temp=$i("target_"+tipos[i]+"Tolerance");target[tipos[i]+"Tolerance"]=temp.value}if(ativa===true){i3GEOOLsnap.activate()}},split:function(){i3GEOOLsplit.deactivate();var temp=$i("edge_split_toggle");if(temp.checked===true){i3GEOOLsplit.activate()}},processageo:function(operacao){if(operacao===""){return}var geosel=i3GEO.desenho.layergrafico.selectedFeatures,polis,linhas,pontos,temp;if(geosel.length>0){polis=i3GEO.editorOL.retornaGeometriasTipo(geosel,"OpenLayers.Geometry.Polygon");linhas=i3GEO.editorOL.retornaGeometriasTipo(geosel,"OpenLayers.Geometry.LineString");pontos=i3GEO.editorOL.retornaGeometriasTipo(geosel,"OpenLayers.Geometry.Point");temp=function(retorno){if(i3GEO.janela){i3GEO.janela.fechaAguarde("i3GEO.editorPoli");i3GEO.janela.fechaAguarde("i3GEO.editorLinhas");i3GEO.janela.fechaAguarde("i3GEO.editorPontos")}if(retorno!=""&&retorno.data&&retorno.data!=""&&operacao!="converteSHP"){i3GEO.editorOL.substituiFeaturesSel(retorno.data)}if(operacao==="converteSHP"){i3GEO.atualiza();i3GEO.janela.minimiza("paneltemaativo")}};if(operacao==="incorporar"){if(polis.length>0){temp=i3GEO.editorOL.merge(polis)}if(linhas.length>0){temp=i3GEO.editorOL.merge(linhas)}if(pontos.length>0){temp=i3GEO.editorOL.merge(pontos)}if(i3GEO.mapa){i3GEO.mapa.dialogo.wkt2layer(temp)}return}if(operacao==="union"&&!i3GEO.php){if(polis.length>0){temp=i3GEO.editorOL.uniaojts(polis);i3GEO.editorOL.substituiFeaturesSel(temp)}if(linhas.length>0){temp=i3GEO.editorOL.uniaojts(linhas);i3GEO.editorOL.substituiFeaturesSel(temp)}if(pontos.length>0){temp=i3GEO.editorOL.uniaojts(pontos);i3GEO.editorOL.substituiFeaturesSel(temp)}}else{if(polis.length>0){i3GEO.janela.abreAguarde("i3GEO.editorPoli","Poligonos");i3GEO.php.funcoesGeometriasWkt(temp,polis.join("|"),operacao)}if(linhas.length>0){i3GEO.janela.abreAguarde("i3GEO.editorLinhas","Linhas");i3GEO.php.funcoesGeometriasWkt(temp,linhas.join("|"),operacao)}if(pontos.length>0){i3GEO.janela.abreAguarde("i3GEO.editorPontos","Pontos");i3GEO.php.funcoesGeometriasWkt(temp,pontos.join("|"),operacao)}}return}else{i3GEO.janela.tempoMsg("Selecione pelo menos dois elementos")}},merge:function(geoms){var n=geoms.length,w=new Wkt.Wkt(),g,m,i;w.read(geoms[0].toString());if(n>1){for(i=1;i<n;i++){g=geoms[i].toString();m=new Wkt.Wkt();m.read(g);w.merge(m)}}return w.write()},uniaojts:function(geoms){var n=geoms.length,rwkt=new jsts.io.WKTReader(),wwkt=new jsts.io.WKTWriter(),fwkt=new OpenLayers.Format.WKT(),g,i,uniao;if(n>1){uniao=(fwkt.read(geoms[0]).geometry).toString();uniao=rwkt.read(uniao);for(i=1;i<=n;i++){g=(fwkt.read(geoms[i]).geometry).toString();uniao=uniao.union(rwkt.read(g))}uniao=wwkt.write(uniao);return[fwkt.read(uniao)]}else{return false}},retornaGeometriasTipo:function(features,tipo){var n=features.length,lista=[],i,temp;for(i=0;i<n;i++){temp=features[i].geometry;if(temp.CLASS_NAME==tipo){lista.push(temp)}}return lista},guardaBackup:function(){return},unselTodos:function(){var n,i;n=i3GEO.desenho.layergrafico.features.length;for(i=0;i<n;i++){i3GEO.desenho.layergrafico.features[i].renderIntent="default";i3GEO.editorOL.selbutton.unselect(i3GEO.desenho.layergrafico.features[i])}},unselTodosBackup:function(){var n,i;n=i3GEO.editorOL.backup.features.length;for(i=0;i<n;i++){i3GEO.editorOL.backup.features[i].renderIntent="default";i3GEO.editorOL.selbutton.unselect(i3GEO.editorOL.backup.features[i])}},restauraBackup:function(){if(i3GEO.editorOL.backup.features.length>0){i3GEO.desenho.layergrafico.removeFeatures(i3GEO.desenho.layergrafico.features);i3GEO.desenho.layergrafico.addFeatures(i3GEO.editorOL.backup.features)}if(document.getElementById("panellistagEditor")){i3GEO.editorOL.listaGeometrias()}},substituiFeaturesSel:function(wkt){i3GEO.editorOL.guardaBackup();try{var f,fwkt=new OpenLayers.Format.WKT();i3GEO.desenho.layergrafico.removeFeatures(i3GEO.desenho.layergrafico.selectedFeatures);f=fwkt.read(wkt);f["attributes"]={opacidade:i3GEO.editorOL.simbologia.opacidade,texto:i3GEO.editorOL.simbologia.texto,fillColor:i3GEO.editorOL.simbologia.fillColor,strokeWidth:i3GEO.editorOL.simbologia.strokeWidth,strokeColor:i3GEO.editorOL.simbologia.strokeColor,pointRadius:i3GEO.editorOL.simbologia.pointRadius,graphicName:i3GEO.editorOL.simbologia.graphicName};i3GEO.desenho.layergrafico.addFeatures([f]);if(document.getElementById("panellistagEditor")){i3GEO.editorOL.listaGeometrias()}}catch(e){i3GEO.editorOL.restauraBackup()}},adicionaFeatureWkt:function(wkt,atributos){var f,fwkt=new OpenLayers.Format.WKT();if(atributos.externalGraphic&&atributos.externalGraphic!=""){var style_mark=OpenLayers.Util.extend({},OpenLayers.Feature.Vector.style['default']);style_mark.externalGraphic=atributos.externalGraphic;style_mark.graphicWidth=atributos.graphicWidth;style_mark.graphicHeight=atributos.graphicHeight;style_mark.fillOpacity=atributos.opacidade;f=fwkt.read(wkt);f["attributes"]=atributos;f["style"]=style_mark}else{f=fwkt.read(wkt);f["attributes"]=atributos}i3GEO.desenho.layergrafico.addFeatures([f]);if(document.getElementById("panellistagEditor")){i3GEO.editorOL.listaGeometrias()}},flashFeaturesI:function(index){i3GEO.editorOL.flashFeatures([i3GEO.desenho.layergrafico.features[index]],0)},flashFeatures:function(features,index){if(!index){index=0}var current=features[index];if(current&¤t.layer===i3GEO.desenho.layergrafico){i3GEO.desenho.layergrafico.drawFeature(features[index],"select")}var prev=features[index-1];if(prev&&prev.layer===i3GEO.desenho.layergrafico){i3GEO.desenho.layergrafico.drawFeature(prev,"default")}++index;if(index<=features.length){window.setTimeout(function(){i3GEO.editorOL.flashFeatures(features,index)},75)}},selFeature:function(index){i3GEO.editorOL.selbutton.select(i3GEO.desenho.layergrafico.features[index])},unselFeature:function(index){i3GEO.editorOL.selbutton.unselect(i3GEO.desenho.layergrafico.features[index])},carregajts:function(funcao){if(i3GEO.configura){i3GEO.util.scriptTag(i3GEO.configura.locaplic+"/pacotes/jsts/lib/jsts.js",funcao,"i3GEOjts",true)}else{i3GEO.util.scriptTag("../pacotes/jsts/lib/jsts.js",funcao,"i3GEOjts",true)}},trazParaFrente:function(){var features=i3GEO.desenho.layergrafico.selectedFeatures;if(features.length>0){i3GEO.editorOL.backup=new OpenLayers.Layer.Vector("Backup",{displayInLayerSwitcher:false,visibility:false});i3GEO.editorOL.backup.addFeatures(features);i3GEO.editorOL.unselTodosBackup();i3GEO.desenho.layergrafico.removeFeatures(features);i3GEO.desenho.layergrafico.addFeatures(i3GEO.editorOL.backup.features);if(document.getElementById("panellistagEditor")){i3GEO.editorOL.listaGeometrias()}}else{i3GEO.janela.tempoMsg("Selecione pelo menos um elemento")}},pegaControle:function(classe){var n=i3GEO.editorOL.controles.length,i;for(i=0;i<n;i++){if(i3GEO.editorOL.controles[i].CLASS_NAME===classe){return i3GEO.editorOL.controles[i]}}return false},ativaLayerSwitcher:function(){var ls=i3GEO.editorOL.pegaControle("OpenLayers.Control.LayerSwitcher");if(ls){ls.maximizeDiv.click()}},desativaRodaDoMouse:function(){var controls=i3GEO.editorOL.mapa.getControlsByClass('OpenLayers.Control.Navigation');for(var i=0;i<controls.length;++i){controls[i].disableZoomWheel()}},google2wgs:function(obj){if(i3GEO.Interface.openlayers.googleLike===true){var projWGS84=new OpenLayers.Projection("EPSG:4326"),proj900913=new OpenLayers.Projection("EPSG:900913");return obj.transform(proj900913,projWGS84)}else{return obj}},sobeLayersGraficos:function(){var nlayers=i3GEO.editorOL.mapa.getNumLayers(),layers=i3GEO.editorOL.mapa.layers,i;for(i=0;i<nlayers;i++){if(layers[i].CLASS_NAME=="OpenLayers.Layer.Vector"&&layers[i].name!="Nenhum"){i3GEO.editorOL.mapa.raiseLayer(i3GEO.editorOL.mapa.layers[i],nlayers)}}}};i3GEO.editorOL.backup.getFeatures=function(){return i3GEO.editorOL.backup.getSource().getFeatures()}; | ||
0 | \ No newline at end of file | 2 | \ No newline at end of file |
@@ -0,0 +1,163 @@ | @@ -0,0 +1,163 @@ | ||
1 | +SYMBOLSET | ||
2 | +Symbol | ||
3 | + Name 'ferrovia-line1' | ||
4 | + Type ELLIPSE | ||
5 | + Points | ||
6 | + 1 1 | ||
7 | + END | ||
8 | + FILLED TRUE | ||
9 | + Transparent 0 | ||
10 | + | ||
11 | +END | ||
12 | +Symbol | ||
13 | + Name 'ferrovia-line2' | ||
14 | + Type VECTOR | ||
15 | + Points | ||
16 | + 0 0 | ||
17 | + 1 0 | ||
18 | + 1 0 | ||
19 | + 0 0 | ||
20 | + END | ||
21 | + FILLED TRUE | ||
22 | +END | ||
23 | + Symbol | ||
24 | + Name "pt1l" | ||
25 | + Type VECTOR | ||
26 | + TRANSPARENT 0 | ||
27 | + Points | ||
28 | + 1 1 | ||
29 | + 1 1 | ||
30 | + END | ||
31 | + END | ||
32 | + | ||
33 | + Symbol | ||
34 | + name "pt2l" | ||
35 | + TYPE ELLIPSE | ||
36 | + POINTS 1 1 END | ||
37 | + FILLED true | ||
38 | + END | ||
39 | + | ||
40 | + Symbol | ||
41 | + Name "pt3l" | ||
42 | + Type ELLIPSE | ||
43 | + POINTS 1 1 END | ||
44 | + Transparent 0 | ||
45 | + END | ||
46 | + | ||
47 | + Symbol | ||
48 | + Name "linha" | ||
49 | + Type ELLIPSE | ||
50 | + POINTS 1 1 END | ||
51 | + Transparent 0 | ||
52 | + END | ||
53 | + | ||
54 | + Symbol | ||
55 | + Name "linha1" | ||
56 | + Type ELLIPSE | ||
57 | + POINTS 1 1 END | ||
58 | + Transparent 0 | ||
59 | + END | ||
60 | + | ||
61 | + Symbol | ||
62 | + name "dashed" | ||
63 | + Type ELLIPSE | ||
64 | + FILLED true | ||
65 | + POINTS | ||
66 | + 1 1 | ||
67 | + END | ||
68 | + END | ||
69 | + | ||
70 | + Symbol | ||
71 | + name "dashed1" | ||
72 | + Type ELLIPSE | ||
73 | + FILLED true | ||
74 | + POINTS | ||
75 | + 1 1 | ||
76 | + END | ||
77 | + END | ||
78 | + | ||
79 | + Symbol | ||
80 | + name "dashed2" | ||
81 | + Type ELLIPSE | ||
82 | + FILLED true | ||
83 | + POINTS | ||
84 | + 2 0 | ||
85 | + END | ||
86 | + END | ||
87 | + | ||
88 | + Symbol | ||
89 | + Name "setal" | ||
90 | + Type PIXMAP | ||
91 | + Image "seta.png" | ||
92 | + END | ||
93 | + | ||
94 | + Symbol | ||
95 | + Name "sedel" | ||
96 | + Type PIXMAP | ||
97 | + Image "sede.png" | ||
98 | + Transparent 1 | ||
99 | + END | ||
100 | + | ||
101 | + | ||
102 | + Symbol | ||
103 | + Name "pontol" | ||
104 | + Type ELLIPSE | ||
105 | + FILLED true | ||
106 | + TRANSPARENT 0 | ||
107 | + Points | ||
108 | + 1 1 | ||
109 | + 1 1 | ||
110 | + END | ||
111 | + END | ||
112 | + | ||
113 | + Symbol | ||
114 | + NAME 'quadradol' | ||
115 | + TYPE VECTOR | ||
116 | + FILLED TRUE | ||
117 | + POINTS | ||
118 | + 0 1 | ||
119 | + 0 0 | ||
120 | + 1 0 | ||
121 | + 1 1 | ||
122 | + 0 1 | ||
123 | + END | ||
124 | + END | ||
125 | + | ||
126 | + SYMBOL | ||
127 | + NAME "estrelal" | ||
128 | + TYPE vector | ||
129 | + FILLED TRUE | ||
130 | + POINTS | ||
131 | + 81 48 | ||
132 | + 66 0 | ||
133 | + 50 48 | ||
134 | + 0 48 | ||
135 | + 41 77 | ||
136 | + 25 125 | ||
137 | + 66 96 | ||
138 | + 106 125 | ||
139 | + 91 77 | ||
140 | + 131 48 | ||
141 | + 81 48 | ||
142 | + END | ||
143 | + END | ||
144 | + | ||
145 | + SYMBOL | ||
146 | + NAME 'triangulol' | ||
147 | + TYPE VECTOR | ||
148 | + FILLED TRUE | ||
149 | + POINTS | ||
150 | + 0 1 | ||
151 | + .5 0 | ||
152 | + 1 1 | ||
153 | + 0 1 | ||
154 | + END | ||
155 | + END | ||
156 | +Symbol | ||
157 | + name "circlel" | ||
158 | + Type ELLIPSE | ||
159 | + Filled true | ||
160 | + POINTS | ||
161 | + 1 1 | ||
162 | + END | ||
163 | +END |
@@ -0,0 +1,357 @@ | @@ -0,0 +1,357 @@ | ||
1 | +SYMBOLSET | ||
2 | + Symbol | ||
3 | + NAME 'p0' | ||
4 | + TYPE VECTOR | ||
5 | + FILLED TRUE | ||
6 | + POINTS | ||
7 | + 0 1 | ||
8 | + 0 0 | ||
9 | + 1 0 | ||
10 | + 1 1 | ||
11 | + 0 1 | ||
12 | + END | ||
13 | + END | ||
14 | + Symbol | ||
15 | + Name "p1" | ||
16 | + Type VECTOR | ||
17 | + TRANSPARENT 0 | ||
18 | + Points | ||
19 | + 0 1 | ||
20 | + 1 1 | ||
21 | + END | ||
22 | + END | ||
23 | + Symbol | ||
24 | + Name "p2" | ||
25 | + Type VECTOR | ||
26 | + TRANSPARENT 0 | ||
27 | + Points | ||
28 | + 1 0 | ||
29 | + 1 1 | ||
30 | + END | ||
31 | + END | ||
32 | + | ||
33 | + Symbol | ||
34 | + Name "p3" | ||
35 | + Type VECTOR | ||
36 | + TRANSPARENT 0 | ||
37 | + Points | ||
38 | + 1 0 | ||
39 | + 0 1 | ||
40 | + END | ||
41 | + END | ||
42 | + | ||
43 | + Symbol | ||
44 | + Name "p4" | ||
45 | + Type VECTOR | ||
46 | + TRANSPARENT 0 | ||
47 | + Points | ||
48 | + 1 1 | ||
49 | + 0 0 | ||
50 | + END | ||
51 | + END | ||
52 | + | ||
53 | + Symbol | ||
54 | + Name "p5" | ||
55 | + Type VECTOR | ||
56 | + TRANSPARENT 0 | ||
57 | + Points | ||
58 | + 0 0 | ||
59 | + 1 0 | ||
60 | + 0 1 | ||
61 | + END | ||
62 | + END | ||
63 | + | ||
64 | + Symbol | ||
65 | + Name "p6" | ||
66 | + Type VECTOR | ||
67 | + TRANSPARENT 0 | ||
68 | + Points | ||
69 | + 0 0 | ||
70 | + 0 1 | ||
71 | + 1 0 | ||
72 | + END | ||
73 | + END | ||
74 | + | ||
75 | + Symbol | ||
76 | + Name "p7" | ||
77 | + Type VECTOR | ||
78 | + TRANSPARENT 0 | ||
79 | + Points | ||
80 | + 0 1 | ||
81 | + 1 1 | ||
82 | + 1 0 | ||
83 | + END | ||
84 | + END | ||
85 | + | ||
86 | + Symbol | ||
87 | + Name "p8" | ||
88 | + Type VECTOR | ||
89 | + TRANSPARENT 0 | ||
90 | + Points | ||
91 | + 0 1 | ||
92 | + 1 1 | ||
93 | + -99 -99 | ||
94 | + 0 3 | ||
95 | + 3 3 | ||
96 | + END | ||
97 | + END | ||
98 | + | ||
99 | + Symbol | ||
100 | + Name "p9" | ||
101 | + Type VECTOR | ||
102 | + TRANSPARENT 0 | ||
103 | + Points | ||
104 | + 0 1 | ||
105 | + 1 1 | ||
106 | + -99 -99 | ||
107 | + 0 0 | ||
108 | + 1 1 | ||
109 | + END | ||
110 | + END | ||
111 | + | ||
112 | + Symbol | ||
113 | + Name "pt1" | ||
114 | + Type VECTOR | ||
115 | + TRANSPARENT 0 | ||
116 | + Points | ||
117 | + 1 1 | ||
118 | + 1 1 | ||
119 | + END | ||
120 | + END | ||
121 | + | ||
122 | + Symbol | ||
123 | + name "pt2" | ||
124 | + TYPE ELLIPSE | ||
125 | + POINTS 1 1 END | ||
126 | + FILLED true | ||
127 | + END | ||
128 | + | ||
129 | + Symbol | ||
130 | + Name "pt3" | ||
131 | + Type ELLIPSE | ||
132 | + POINTS 1 1 END | ||
133 | + Transparent 0 | ||
134 | + END | ||
135 | + Symbol | ||
136 | + Name "cidmun" | ||
137 | + Type PIXMAP | ||
138 | + Image "cidmun.png" | ||
139 | + END | ||
140 | + | ||
141 | + Symbol | ||
142 | + Name "capital" | ||
143 | + Type PIXMAP | ||
144 | + Image "capital.png" | ||
145 | + END | ||
146 | + Symbol | ||
147 | + Name "vila" | ||
148 | + Type PIXMAP | ||
149 | + Image "vila.png" | ||
150 | + END | ||
151 | + | ||
152 | + Symbol | ||
153 | + Name "xy" | ||
154 | + Type PIXMAP | ||
155 | + Image "xy.png" | ||
156 | + END | ||
157 | + | ||
158 | + Symbol | ||
159 | + Name "xyr" | ||
160 | + Type PIXMAP | ||
161 | + Image "xyr.png" | ||
162 | + END | ||
163 | + | ||
164 | + Symbol | ||
165 | + Name "porto" | ||
166 | + Type PIXMAP | ||
167 | + Image "porto.png" | ||
168 | + END | ||
169 | + | ||
170 | + Symbol | ||
171 | + Name "ref" | ||
172 | + Type PIXMAP | ||
173 | + Image "ref.png" | ||
174 | + END | ||
175 | + | ||
176 | + Symbol | ||
177 | + Name "foto" | ||
178 | + Type PIXMAP | ||
179 | + Image "foto.png" | ||
180 | + END | ||
181 | + | ||
182 | + Symbol | ||
183 | + Name "filme" | ||
184 | + Type PIXMAP | ||
185 | + Image "filme.png" | ||
186 | + END | ||
187 | + | ||
188 | + Symbol | ||
189 | + Name "marca" | ||
190 | + Type PIXMAP | ||
191 | + Image "marca.png" | ||
192 | + END | ||
193 | + SYMBOL | ||
194 | + NAME "estrela" | ||
195 | + TYPE vector | ||
196 | + FILLED TRUE | ||
197 | + POINTS | ||
198 | + 81 48 | ||
199 | + 66 0 | ||
200 | + 50 48 | ||
201 | + 0 48 | ||
202 | + 41 77 | ||
203 | + 25 125 | ||
204 | + 66 96 | ||
205 | + 106 125 | ||
206 | + 91 77 | ||
207 | + 131 48 | ||
208 | + 81 48 | ||
209 | + END | ||
210 | + END | ||
211 | + | ||
212 | + SYMBOL | ||
213 | + NAME 'triangulo' | ||
214 | + TYPE VECTOR | ||
215 | + FILLED TRUE | ||
216 | + POINTS | ||
217 | + 0 1 | ||
218 | + .5 0 | ||
219 | + 1 1 | ||
220 | + 0 1 | ||
221 | + END | ||
222 | + END | ||
223 | + | ||
224 | + SYMBOL | ||
225 | + NAME 'industria' | ||
226 | + TYPE VECTOR | ||
227 | + FILLED TRUE | ||
228 | + POINTS | ||
229 | + 0 2 | ||
230 | + 0 5 | ||
231 | + 4 5 | ||
232 | + 4 0 | ||
233 | + 3 0 | ||
234 | + 3 2 | ||
235 | + 0 2 | ||
236 | + END | ||
237 | + END | ||
238 | + | ||
239 | + SYMBOL | ||
240 | + NAME 'torre' | ||
241 | + TYPE VECTOR | ||
242 | + FILLED FALSE | ||
243 | + POINTS | ||
244 | + 2 0 | ||
245 | + 3 4 | ||
246 | + 4 4 | ||
247 | + 4 5 | ||
248 | + 0 5 | ||
249 | + 0 4 | ||
250 | + 1 4 | ||
251 | + 2 0 | ||
252 | + END | ||
253 | + END | ||
254 | + | ||
255 | + SYMBOL | ||
256 | + NAME 'mineracao' | ||
257 | + TYPE VECTOR | ||
258 | + FILLED FALSE | ||
259 | + POINTS | ||
260 | + 0 0 | ||
261 | + 5 5 | ||
262 | + 4 6 | ||
263 | + 3 7 | ||
264 | + 2 6 | ||
265 | + 0 5 | ||
266 | + 5 0 | ||
267 | + END | ||
268 | + END | ||
269 | + | ||
270 | + SYMBOL | ||
271 | + NAME 'templo' | ||
272 | + TYPE VECTOR | ||
273 | + FILLED FALSE | ||
274 | + POINTS | ||
275 | + 2 0 | ||
276 | + 3 0 | ||
277 | + 3 1 | ||
278 | + 4 1 | ||
279 | + 4 2 | ||
280 | + 3 2 | ||
281 | + 3 3 | ||
282 | + 5 3 | ||
283 | + 5 5 | ||
284 | + 0 5 | ||
285 | + 0 3 | ||
286 | + 2 3 | ||
287 | + 2 2 | ||
288 | + 1 2 | ||
289 | + 1 1 | ||
290 | + 2 1 | ||
291 | + 2 0 | ||
292 | + END | ||
293 | + END | ||
294 | + | ||
295 | + SYMBOL | ||
296 | + NAME 'saude' | ||
297 | + TYPE VECTOR | ||
298 | + FILLED TRUE | ||
299 | + POINTS | ||
300 | + 2 0 | ||
301 | + 3 0 | ||
302 | + 3 1 | ||
303 | + 4 1 | ||
304 | + 4 2 | ||
305 | + 3 2 | ||
306 | + 3 3 | ||
307 | + 2 3 | ||
308 | + 2 2 | ||
309 | + 1 2 | ||
310 | + 1 1 | ||
311 | + 2 1 | ||
312 | + 2 0 | ||
313 | + END | ||
314 | + END | ||
315 | + | ||
316 | + SYMBOL | ||
317 | + NAME 'escola' | ||
318 | + TYPE VECTOR | ||
319 | + FILLED FALSE | ||
320 | + POINTS | ||
321 | + 2 0 | ||
322 | + 5 2 | ||
323 | + 3 2 | ||
324 | + 3 4 | ||
325 | + 5 4 | ||
326 | + 5 7 | ||
327 | + 0 7 | ||
328 | + 0 4 | ||
329 | + 2 4 | ||
330 | + 2 0 | ||
331 | + END | ||
332 | + END | ||
333 | + | ||
334 | + SYMBOL | ||
335 | + NAME 'cruz' | ||
336 | + TYPE VECTOR | ||
337 | + FILLED TRUE | ||
338 | + POINTS | ||
339 | + 2 0 | ||
340 | + 3 0 | ||
341 | + 3 1 | ||
342 | + 5 1 | ||
343 | + 5 2 | ||
344 | + 3 2 | ||
345 | + 3 7 | ||
346 | + 2 7 | ||
347 | + 2 2 | ||
348 | + 0 2 | ||
349 | + 0 1 | ||
350 | + 2 1 | ||
351 | + 2 0 | ||
352 | + END | ||
353 | + END | ||
354 | + | ||
355 | + | ||
356 | + | ||
357 | + |
@@ -0,0 +1,575 @@ | @@ -0,0 +1,575 @@ | ||
1 | +SYMBOLSET | ||
2 | + SYMBOL | ||
3 | + NAME 'cruzeta' | ||
4 | + TYPE VECTOR | ||
5 | + POINTS | ||
6 | + 0.5 0 | ||
7 | + 0.5 1 | ||
8 | + -99 -99 | ||
9 | + 0 0.5 | ||
10 | + 1 0.5 | ||
11 | + END | ||
12 | + END | ||
13 | + SYMBOL | ||
14 | + NAME 'google1' | ||
15 | + TYPE VECTOR | ||
16 | + FILLED TRUE | ||
17 | + POINTS | ||
18 | + 90 -363 | ||
19 | + 140 -363 | ||
20 | + 165 -347 | ||
21 | + 177 -335 | ||
22 | + 188 -323 | ||
23 | + 201 -311 | ||
24 | + 213 -287 | ||
25 | + 213 -192 | ||
26 | + 199 -169 | ||
27 | + 188 -154 | ||
28 | + 175 -144 | ||
29 | + 163 -132 | ||
30 | + 152 -106 | ||
31 | + 141 -82 | ||
32 | + 126 -46 | ||
33 | + 117 50 | ||
34 | + 97 50 | ||
35 | + 85 -46 | ||
36 | + 74 -82 | ||
37 | + 61 -106 | ||
38 | + 50 -132 | ||
39 | + 38 -144 | ||
40 | + 25 -154 | ||
41 | + 12 -169 | ||
42 | + 0 -192 | ||
43 | + 0 -287 | ||
44 | + 14 -311 | ||
45 | + 25 -323 | ||
46 | + 38 -335 | ||
47 | + 51 -347 | ||
48 | + 73 -363 | ||
49 | + 120 -363 | ||
50 | + END | ||
51 | + END | ||
52 | + | ||
53 | + Symbol | ||
54 | + Name "rosa200" | ||
55 | + Type PIXMAP | ||
56 | + Image "rosa200.png" | ||
57 | + END | ||
58 | + | ||
59 | + Symbol | ||
60 | + NAME 'p0' | ||
61 | + TYPE VECTOR | ||
62 | + FILLED TRUE | ||
63 | + POINTS | ||
64 | + 0 1 | ||
65 | + 0 0 | ||
66 | + 1 0 | ||
67 | + 1 1 | ||
68 | + 0 1 | ||
69 | + END | ||
70 | + END | ||
71 | + | ||
72 | + Symbol | ||
73 | + Name "p1" | ||
74 | + Type VECTOR | ||
75 | + TRANSPARENT 0 | ||
76 | + Points | ||
77 | + 0 1 | ||
78 | + 1 1 | ||
79 | + END | ||
80 | + END | ||
81 | + | ||
82 | + Symbol | ||
83 | + Name "p2" | ||
84 | + Type VECTOR | ||
85 | + TRANSPARENT 0 | ||
86 | + Points | ||
87 | + 1 0 | ||
88 | + 1 1 | ||
89 | + END | ||
90 | + END | ||
91 | + | ||
92 | +Symbol | ||
93 | + Name 'ferrovia-line1' | ||
94 | + Type ELLIPSE | ||
95 | + Points | ||
96 | + 1 1 | ||
97 | + END | ||
98 | + FILLED TRUE | ||
99 | +END | ||
100 | + | ||
101 | +Symbol | ||
102 | + Name 'ferrovia-line2' | ||
103 | + Type VECTOR | ||
104 | + Points | ||
105 | + 0 0 | ||
106 | + 1 0 | ||
107 | + 1 0 | ||
108 | + 0 0 | ||
109 | + END | ||
110 | + FILLED TRUE | ||
111 | +END | ||
112 | + Symbol | ||
113 | + Name "p3" | ||
114 | + Type VECTOR | ||
115 | + TRANSPARENT 0 | ||
116 | + Points | ||
117 | + 1 0 | ||
118 | + 0 1 | ||
119 | + END | ||
120 | + END | ||
121 | + | ||
122 | + Symbol | ||
123 | + Name "p4" | ||
124 | + Type VECTOR | ||
125 | + TRANSPARENT 0 | ||
126 | + Points | ||
127 | + 1 1 | ||
128 | + 0 0 | ||
129 | + END | ||
130 | + END | ||
131 | + | ||
132 | + Symbol | ||
133 | + Name "p5" | ||
134 | + Type VECTOR | ||
135 | + TRANSPARENT 0 | ||
136 | + Points | ||
137 | + 0 0 | ||
138 | + 1 0 | ||
139 | + 0 1 | ||
140 | + END | ||
141 | + END | ||
142 | + | ||
143 | + Symbol | ||
144 | + Name "p6" | ||
145 | + Type VECTOR | ||
146 | + TRANSPARENT 0 | ||
147 | + Points | ||
148 | + 0 0 | ||
149 | + 0 1 | ||
150 | + 1 0 | ||
151 | + END | ||
152 | + END | ||
153 | + | ||
154 | + Symbol | ||
155 | + Name "p7" | ||
156 | + Type VECTOR | ||
157 | + TRANSPARENT 0 | ||
158 | + Points | ||
159 | + 0 1 | ||
160 | + 1 1 | ||
161 | + 1 0 | ||
162 | + END | ||
163 | + END | ||
164 | + | ||
165 | + Symbol | ||
166 | + Name "p8" | ||
167 | + Type VECTOR | ||
168 | + TRANSPARENT 0 | ||
169 | + Points | ||
170 | + 0 1 | ||
171 | + 1 1 | ||
172 | + -99 -99 | ||
173 | + 0 3 | ||
174 | + 3 3 | ||
175 | + END | ||
176 | + END | ||
177 | + | ||
178 | + Symbol | ||
179 | + Name "p9" | ||
180 | + Type VECTOR | ||
181 | + TRANSPARENT 0 | ||
182 | + Points | ||
183 | + 0 1 | ||
184 | + 1 1 | ||
185 | + -99 -99 | ||
186 | + 0 0 | ||
187 | + 1 1 | ||
188 | + END | ||
189 | + END | ||
190 | + | ||
191 | + Symbol | ||
192 | + Name "pt1" | ||
193 | + Type VECTOR | ||
194 | + TRANSPARENT 0 | ||
195 | + Points | ||
196 | + 1 1 | ||
197 | + 1 1 | ||
198 | + END | ||
199 | + END | ||
200 | + | ||
201 | + Symbol | ||
202 | + name "pt2" | ||
203 | + TYPE ELLIPSE | ||
204 | + POINTS 1 1 END | ||
205 | + FILLED true | ||
206 | + END | ||
207 | + | ||
208 | + Symbol | ||
209 | + Name "pt3" | ||
210 | + Type ELLIPSE | ||
211 | + POINTS 1 1 END | ||
212 | + Transparent 0 | ||
213 | + END | ||
214 | + | ||
215 | + Symbol | ||
216 | + Name "linha" | ||
217 | + Type ELLIPSE | ||
218 | + POINTS 1 1 END | ||
219 | + Transparent 0 | ||
220 | + END | ||
221 | + | ||
222 | + Symbol | ||
223 | + Name "linha1" | ||
224 | + Type ELLIPSE | ||
225 | + POINTS 1 1 END | ||
226 | + Transparent 0 | ||
227 | + END | ||
228 | + | ||
229 | + Symbol | ||
230 | + name "dashed" | ||
231 | + Type ELLIPSE | ||
232 | + FILLED true | ||
233 | + POINTS | ||
234 | + 1 1 | ||
235 | + END | ||
236 | + END | ||
237 | + | ||
238 | + Symbol | ||
239 | + name "dashed1" | ||
240 | + Type ELLIPSE | ||
241 | + FILLED true | ||
242 | + POINTS | ||
243 | + 1 1 | ||
244 | + END | ||
245 | + END | ||
246 | + | ||
247 | + Symbol | ||
248 | + name "dashed2" | ||
249 | + Type ELLIPSE | ||
250 | + FILLED true | ||
251 | + POINTS | ||
252 | + 2 0 | ||
253 | + END | ||
254 | + END | ||
255 | + | ||
256 | + Symbol | ||
257 | + Name "aviao" | ||
258 | + Type PIXMAP | ||
259 | + Image "aviao.png" | ||
260 | + END | ||
261 | + | ||
262 | + Symbol | ||
263 | + Name "seta" | ||
264 | + Type PIXMAP | ||
265 | + Image "seta.png" | ||
266 | + END | ||
267 | + | ||
268 | + Symbol | ||
269 | + Name "aviao1" | ||
270 | + Type PIXMAP | ||
271 | + Image "aviao1.png" | ||
272 | + END | ||
273 | + | ||
274 | + Symbol | ||
275 | + Name "leste" | ||
276 | + Type PIXMAP | ||
277 | + Image "leste.png" | ||
278 | + END | ||
279 | + | ||
280 | + Symbol | ||
281 | + Name "oeste" | ||
282 | + Type PIXMAP | ||
283 | + Image "oeste.png" | ||
284 | + END | ||
285 | + | ||
286 | + Symbol | ||
287 | + Name "norte" | ||
288 | + Type PIXMAP | ||
289 | + Image "norte.png" | ||
290 | + END | ||
291 | + | ||
292 | + Symbol | ||
293 | + Name "sul" | ||
294 | + Type PIXMAP | ||
295 | + Image "sul.png" | ||
296 | + END | ||
297 | + | ||
298 | + Symbol | ||
299 | + Name "sede" | ||
300 | + Type PIXMAP | ||
301 | + Image "sede.png" | ||
302 | + Transparent 1 | ||
303 | + END | ||
304 | + | ||
305 | + Symbol | ||
306 | + Name "cidmun" | ||
307 | + Type PIXMAP | ||
308 | + Image "cidmun.png" | ||
309 | + END | ||
310 | + | ||
311 | + Symbol | ||
312 | + Name "capital" | ||
313 | + Type PIXMAP | ||
314 | + Image "capital.png" | ||
315 | + END | ||
316 | + | ||
317 | + Symbol | ||
318 | + Name "cidade" | ||
319 | + Type PIXMAP | ||
320 | + Image "cidade.png" | ||
321 | + END | ||
322 | + | ||
323 | + Symbol | ||
324 | + Name "vila" | ||
325 | + Type PIXMAP | ||
326 | + Image "vila.png" | ||
327 | + END | ||
328 | + | ||
329 | + Symbol | ||
330 | + Name "xy" | ||
331 | + Type PIXMAP | ||
332 | + Image "xy.png" | ||
333 | + END | ||
334 | + | ||
335 | + Symbol | ||
336 | + Name "xyr" | ||
337 | + Type PIXMAP | ||
338 | + Image "xyr.png" | ||
339 | + END | ||
340 | + | ||
341 | + Symbol | ||
342 | + Name "porto" | ||
343 | + Type PIXMAP | ||
344 | + Image "porto.png" | ||
345 | + END | ||
346 | + | ||
347 | + Symbol | ||
348 | + Name "ref" | ||
349 | + Type PIXMAP | ||
350 | + Image "ref.png" | ||
351 | + END | ||
352 | + | ||
353 | + Symbol | ||
354 | + Name "foto" | ||
355 | + Type PIXMAP | ||
356 | + Image "foto.png" | ||
357 | + END | ||
358 | + | ||
359 | + Symbol | ||
360 | + Name "filme" | ||
361 | + Type PIXMAP | ||
362 | + Image "filme.png" | ||
363 | + END | ||
364 | + | ||
365 | + Symbol | ||
366 | + Name "marca" | ||
367 | + Type PIXMAP | ||
368 | + Image "marca.png" | ||
369 | + END | ||
370 | + | ||
371 | + | ||
372 | + Symbol | ||
373 | + Name "ponto" | ||
374 | + Type ELLIPSE | ||
375 | + FILLED true | ||
376 | + TRANSPARENT 0 | ||
377 | + Points | ||
378 | + 1 1 | ||
379 | + 1 1 | ||
380 | + END | ||
381 | + END | ||
382 | + | ||
383 | + Symbol | ||
384 | + NAME 'quadrado' | ||
385 | + TYPE VECTOR | ||
386 | + FILLED TRUE | ||
387 | + POINTS | ||
388 | + 0 1 | ||
389 | + 0 0 | ||
390 | + 1 0 | ||
391 | + 1 1 | ||
392 | + 0 1 | ||
393 | + END | ||
394 | + END | ||
395 | + | ||
396 | + SYMBOL | ||
397 | + NAME "estrela" | ||
398 | + TYPE vector | ||
399 | + FILLED TRUE | ||
400 | + POINTS | ||
401 | + 81 48 | ||
402 | + 66 0 | ||
403 | + 50 48 | ||
404 | + 0 48 | ||
405 | + 41 77 | ||
406 | + 25 125 | ||
407 | + 66 96 | ||
408 | + 106 125 | ||
409 | + 91 77 | ||
410 | + 131 48 | ||
411 | + 81 48 | ||
412 | + END | ||
413 | + END | ||
414 | + | ||
415 | + SYMBOL | ||
416 | + NAME 'triangulo' | ||
417 | + TYPE VECTOR | ||
418 | + FILLED TRUE | ||
419 | + POINTS | ||
420 | + 0 1 | ||
421 | + .5 0 | ||
422 | + 1 1 | ||
423 | + 0 1 | ||
424 | + END | ||
425 | + END | ||
426 | + | ||
427 | + SYMBOL | ||
428 | + NAME 'industria' | ||
429 | + TYPE VECTOR | ||
430 | + FILLED TRUE | ||
431 | + POINTS | ||
432 | + 0 2 | ||
433 | + 0 5 | ||
434 | + 4 5 | ||
435 | + 4 0 | ||
436 | + 3 0 | ||
437 | + 3 2 | ||
438 | + 0 2 | ||
439 | + END | ||
440 | + END | ||
441 | + | ||
442 | + SYMBOL | ||
443 | + NAME 'torre' | ||
444 | + TYPE VECTOR | ||
445 | + FILLED FALSE | ||
446 | + POINTS | ||
447 | + 2 0 | ||
448 | + 3 4 | ||
449 | + 4 4 | ||
450 | + 4 5 | ||
451 | + 0 5 | ||
452 | + 0 4 | ||
453 | + 1 4 | ||
454 | + 2 0 | ||
455 | + END | ||
456 | + END | ||
457 | + | ||
458 | + SYMBOL | ||
459 | + NAME 'mineracao' | ||
460 | + TYPE VECTOR | ||
461 | + FILLED FALSE | ||
462 | + POINTS | ||
463 | + 0 0 | ||
464 | + 5 5 | ||
465 | + 4 6 | ||
466 | + 3 7 | ||
467 | + 2 6 | ||
468 | + 0 5 | ||
469 | + 5 0 | ||
470 | + END | ||
471 | + END | ||
472 | + | ||
473 | + SYMBOL | ||
474 | + NAME 'templo' | ||
475 | + TYPE VECTOR | ||
476 | + FILLED FALSE | ||
477 | + POINTS | ||
478 | + 2 0 | ||
479 | + 3 0 | ||
480 | + 3 1 | ||
481 | + 4 1 | ||
482 | + 4 2 | ||
483 | + 3 2 | ||
484 | + 3 3 | ||
485 | + 5 3 | ||
486 | + 5 5 | ||
487 | + 0 5 | ||
488 | + 0 3 | ||
489 | + 2 3 | ||
490 | + 2 2 | ||
491 | + 1 2 | ||
492 | + 1 1 | ||
493 | + 2 1 | ||
494 | + 2 0 | ||
495 | + END | ||
496 | + END | ||
497 | + | ||
498 | + SYMBOL | ||
499 | + NAME 'saude' | ||
500 | + TYPE VECTOR | ||
501 | + FILLED TRUE | ||
502 | + POINTS | ||
503 | + 2 0 | ||
504 | + 3 0 | ||
505 | + 3 1 | ||
506 | + 4 1 | ||
507 | + 4 2 | ||
508 | + 3 2 | ||
509 | + 3 3 | ||
510 | + 2 3 | ||
511 | + 2 2 | ||
512 | + 1 2 | ||
513 | + 1 1 | ||
514 | + 2 1 | ||
515 | + 2 0 | ||
516 | + END | ||
517 | + END | ||
518 | + | ||
519 | + SYMBOL | ||
520 | + NAME 'escola' | ||
521 | + TYPE VECTOR | ||
522 | + FILLED FALSE | ||
523 | + POINTS | ||
524 | + 2 0 | ||
525 | + 5 2 | ||
526 | + 3 2 | ||
527 | + 3 4 | ||
528 | + 5 4 | ||
529 | + 5 7 | ||
530 | + 0 7 | ||
531 | + 0 4 | ||
532 | + 2 4 | ||
533 | + 2 0 | ||
534 | + END | ||
535 | + END | ||
536 | + | ||
537 | + SYMBOL | ||
538 | + NAME 'cruz' | ||
539 | + TYPE VECTOR | ||
540 | + FILLED TRUE | ||
541 | + POINTS | ||
542 | + 2 0 | ||
543 | + 3 0 | ||
544 | + 3 1 | ||
545 | + 5 1 | ||
546 | + 5 2 | ||
547 | + 3 2 | ||
548 | + 3 7 | ||
549 | + 2 7 | ||
550 | + 2 2 | ||
551 | + 0 2 | ||
552 | + 0 1 | ||
553 | + 2 1 | ||
554 | + 2 0 | ||
555 | + END | ||
556 | + END | ||
557 | + | ||
558 | +Symbol | ||
559 | + name "circle" | ||
560 | + Type ELLIPSE | ||
561 | + Filled true | ||
562 | + POINTS | ||
563 | + 1 1 | ||
564 | + END | ||
565 | +END | ||
566 | +SYMBOL | ||
567 | +NAME "T" | ||
568 | +TYPE TRUETYPE | ||
569 | +FONT "arial" | ||
570 | +CHARACTER "#" | ||
571 | +ANTIALIAS TRUE | ||
572 | +END | ||
573 | + | ||
574 | + | ||
575 | + |
@@ -0,0 +1,696 @@ | @@ -0,0 +1,696 @@ | ||
1 | +SYMBOLSET | ||
2 | + Symbol | ||
3 | + NAME 'p0' | ||
4 | + TYPE VECTOR | ||
5 | + FILLED TRUE | ||
6 | + POINTS | ||
7 | + 0 0 | ||
8 | + END | ||
9 | + END | ||
10 | + SYMBOL | ||
11 | + NAME 'cruzeta' | ||
12 | + TYPE VECTOR | ||
13 | + POINTS | ||
14 | + 0.5 0 | ||
15 | + 0.5 1 | ||
16 | + -99 -99 | ||
17 | + 0 0.5 | ||
18 | + 1 0.5 | ||
19 | + END | ||
20 | + END | ||
21 | + SYMBOL | ||
22 | + NAME 'google1' | ||
23 | + TYPE VECTOR | ||
24 | + FILLED TRUE | ||
25 | + POINTS | ||
26 | + 90 -363 | ||
27 | + 140 -363 | ||
28 | + 165 -347 | ||
29 | + 177 -335 | ||
30 | + 188 -323 | ||
31 | + 201 -311 | ||
32 | + 213 -287 | ||
33 | + 213 -192 | ||
34 | + 199 -169 | ||
35 | + 188 -154 | ||
36 | + 175 -144 | ||
37 | + 163 -132 | ||
38 | + 152 -106 | ||
39 | + 141 -82 | ||
40 | + 126 -46 | ||
41 | + 117 50 | ||
42 | + 97 50 | ||
43 | + 85 -46 | ||
44 | + 74 -82 | ||
45 | + 61 -106 | ||
46 | + 50 -132 | ||
47 | + 38 -144 | ||
48 | + 25 -154 | ||
49 | + 12 -169 | ||
50 | + 0 -192 | ||
51 | + 0 -287 | ||
52 | + 14 -311 | ||
53 | + 25 -323 | ||
54 | + 38 -335 | ||
55 | + 51 -347 | ||
56 | + 73 -363 | ||
57 | + 120 -363 | ||
58 | + END | ||
59 | + END | ||
60 | + | ||
61 | + Symbol | ||
62 | + NAME 'p0' | ||
63 | + TYPE VECTOR | ||
64 | + FILLED TRUE | ||
65 | + POINTS | ||
66 | + 0 1 | ||
67 | + 0 0 | ||
68 | + 1 0 | ||
69 | + 1 1 | ||
70 | + 0 1 | ||
71 | + END | ||
72 | + END | ||
73 | + | ||
74 | + Symbol | ||
75 | + Name "p1" | ||
76 | + Type VECTOR | ||
77 | + TRANSPARENT 0 | ||
78 | + Points | ||
79 | + 0 1 | ||
80 | + 1 1 | ||
81 | + END | ||
82 | + END | ||
83 | + | ||
84 | + Symbol | ||
85 | + Name "p2" | ||
86 | + Type VECTOR | ||
87 | + TRANSPARENT 0 | ||
88 | + Points | ||
89 | + 1 0 | ||
90 | + 1 1 | ||
91 | + END | ||
92 | + END | ||
93 | + | ||
94 | + Symbol | ||
95 | + Name "p3" | ||
96 | + Type VECTOR | ||
97 | + TRANSPARENT 0 | ||
98 | + Points | ||
99 | + 1 0 | ||
100 | + 0 1 | ||
101 | + END | ||
102 | + END | ||
103 | + | ||
104 | + Symbol | ||
105 | + Name "p4" | ||
106 | + Type VECTOR | ||
107 | + TRANSPARENT 0 | ||
108 | + Points | ||
109 | + 1 1 | ||
110 | + 0 0 | ||
111 | + END | ||
112 | + END | ||
113 | + | ||
114 | + Symbol | ||
115 | + Name "p5" | ||
116 | + Type VECTOR | ||
117 | + TRANSPARENT 0 | ||
118 | + Points | ||
119 | + 0 0 | ||
120 | + 1 0 | ||
121 | + 0 1 | ||
122 | + END | ||
123 | + END | ||
124 | + | ||
125 | + Symbol | ||
126 | + Name "p6" | ||
127 | + Type VECTOR | ||
128 | + TRANSPARENT 0 | ||
129 | + Points | ||
130 | + 0 0 | ||
131 | + 0 1 | ||
132 | + 1 0 | ||
133 | + END | ||
134 | + END | ||
135 | + | ||
136 | + Symbol | ||
137 | + Name "p7" | ||
138 | + Type VECTOR | ||
139 | + TRANSPARENT 0 | ||
140 | + Points | ||
141 | + 0 1 | ||
142 | + 1 1 | ||
143 | + 1 0 | ||
144 | + END | ||
145 | + END | ||
146 | + | ||
147 | + Symbol | ||
148 | + Name "p8" | ||
149 | + Type VECTOR | ||
150 | + TRANSPARENT 0 | ||
151 | + Points | ||
152 | + 0 1 | ||
153 | + 1 1 | ||
154 | + -99 -99 | ||
155 | + 0 3 | ||
156 | + 3 3 | ||
157 | + END | ||
158 | + END | ||
159 | + | ||
160 | + Symbol | ||
161 | + Name "p9" | ||
162 | + Type VECTOR | ||
163 | + TRANSPARENT 0 | ||
164 | + Points | ||
165 | + 0 1 | ||
166 | + 1 1 | ||
167 | + -99 -99 | ||
168 | + 0 0 | ||
169 | + 1 1 | ||
170 | + END | ||
171 | + END | ||
172 | + | ||
173 | + Symbol | ||
174 | + Name "pt1" | ||
175 | + Type VECTOR | ||
176 | + TRANSPARENT 0 | ||
177 | + Points | ||
178 | + 1 1 | ||
179 | + 1 1 | ||
180 | + END | ||
181 | + END | ||
182 | + | ||
183 | + Symbol | ||
184 | + name "pt2" | ||
185 | + TYPE ELLIPSE | ||
186 | + POINTS 1 1 END | ||
187 | + FILLED true | ||
188 | + END | ||
189 | + | ||
190 | + Symbol | ||
191 | + Name "pt3" | ||
192 | + Type ELLIPSE | ||
193 | + POINTS 1 1 END | ||
194 | + Transparent 0 | ||
195 | + END | ||
196 | + | ||
197 | + | ||
198 | + Symbol | ||
199 | + Name "aviao" | ||
200 | + Type PIXMAP | ||
201 | + Image "aviao.png" | ||
202 | + END | ||
203 | + | ||
204 | + Symbol | ||
205 | + Name "rosa200" | ||
206 | + Type PIXMAP | ||
207 | + Image "rosa200.png" | ||
208 | + END | ||
209 | + | ||
210 | + Symbol | ||
211 | + Name "seta" | ||
212 | + Type PIXMAP | ||
213 | + Image "seta.png" | ||
214 | + END | ||
215 | + | ||
216 | + Symbol | ||
217 | + Name "aviao1" | ||
218 | + Type PIXMAP | ||
219 | + Image "aviao1.png" | ||
220 | + END | ||
221 | + | ||
222 | + Symbol | ||
223 | + Name "leste" | ||
224 | + Type PIXMAP | ||
225 | + Image "leste.png" | ||
226 | + END | ||
227 | + | ||
228 | + Symbol | ||
229 | + Name "oeste" | ||
230 | + Type PIXMAP | ||
231 | + Image "oeste.png" | ||
232 | + END | ||
233 | + | ||
234 | + Symbol | ||
235 | + Name "norte" | ||
236 | + Type PIXMAP | ||
237 | + Image "norte.png" | ||
238 | + END | ||
239 | + | ||
240 | + Symbol | ||
241 | + Name "sul" | ||
242 | + Type PIXMAP | ||
243 | + Image "sul.png" | ||
244 | + END | ||
245 | + | ||
246 | + Symbol | ||
247 | + Name "sede" | ||
248 | + Type PIXMAP | ||
249 | + Image "sede.png" | ||
250 | + Transparent 1 | ||
251 | + END | ||
252 | + | ||
253 | + Symbol | ||
254 | + Name "cidmun" | ||
255 | + Type PIXMAP | ||
256 | + Image "cidmun.png" | ||
257 | + END | ||
258 | + | ||
259 | + Symbol | ||
260 | + Name "capital" | ||
261 | + Type PIXMAP | ||
262 | + Image "capital.png" | ||
263 | + END | ||
264 | + | ||
265 | + Symbol | ||
266 | + Name "cidade" | ||
267 | + Type PIXMAP | ||
268 | + Image "cidade.png" | ||
269 | + END | ||
270 | + | ||
271 | + Symbol | ||
272 | + Name "vila" | ||
273 | + Type PIXMAP | ||
274 | + Image "vila.png" | ||
275 | + END | ||
276 | + | ||
277 | + Symbol | ||
278 | + Name "xy" | ||
279 | + Type PIXMAP | ||
280 | + Image "xy.png" | ||
281 | + END | ||
282 | + | ||
283 | + Symbol | ||
284 | + Name "xyr" | ||
285 | + Type PIXMAP | ||
286 | + Image "xyr.png" | ||
287 | + END | ||
288 | + | ||
289 | + Symbol | ||
290 | + Name "porto" | ||
291 | + Type PIXMAP | ||
292 | + Image "porto.png" | ||
293 | + END | ||
294 | + | ||
295 | + Symbol | ||
296 | + Name "ref" | ||
297 | + Type PIXMAP | ||
298 | + Image "ref.png" | ||
299 | + END | ||
300 | + | ||
301 | + Symbol | ||
302 | + Name "foto" | ||
303 | + Type PIXMAP | ||
304 | + Image "foto.png" | ||
305 | + END | ||
306 | + | ||
307 | + Symbol | ||
308 | + Name "filme" | ||
309 | + Type PIXMAP | ||
310 | + Image "filme.png" | ||
311 | + END | ||
312 | + | ||
313 | + Symbol | ||
314 | + Name "marca" | ||
315 | + Type PIXMAP | ||
316 | + Image "marca.png" | ||
317 | + END | ||
318 | + | ||
319 | + | ||
320 | + Symbol | ||
321 | + Name "ponto" | ||
322 | + Type ELLIPSE | ||
323 | + FILLED true | ||
324 | + TRANSPARENT 0 | ||
325 | + Points | ||
326 | + 1 1 | ||
327 | + 1 1 | ||
328 | + END | ||
329 | + END | ||
330 | + | ||
331 | + Symbol | ||
332 | + NAME 'quadrado' | ||
333 | + TYPE VECTOR | ||
334 | + FILLED TRUE | ||
335 | + POINTS | ||
336 | + 0 1 | ||
337 | + 0 0 | ||
338 | + 1 0 | ||
339 | + 1 1 | ||
340 | + 0 1 | ||
341 | + END | ||
342 | + END | ||
343 | + | ||
344 | + SYMBOL | ||
345 | + NAME "estrela" | ||
346 | + TYPE vector | ||
347 | + FILLED TRUE | ||
348 | + POINTS | ||
349 | + 81 48 | ||
350 | + 66 0 | ||
351 | + 50 48 | ||
352 | + 0 48 | ||
353 | + 41 77 | ||
354 | + 25 125 | ||
355 | + 66 96 | ||
356 | + 106 125 | ||
357 | + 91 77 | ||
358 | + 131 48 | ||
359 | + 81 48 | ||
360 | + END | ||
361 | + END | ||
362 | + | ||
363 | + SYMBOL | ||
364 | + NAME 'triangulo' | ||
365 | + TYPE VECTOR | ||
366 | + FILLED TRUE | ||
367 | + POINTS | ||
368 | + 0 1 | ||
369 | + .5 0 | ||
370 | + 1 1 | ||
371 | + 0 1 | ||
372 | + END | ||
373 | + END | ||
374 | + | ||
375 | + SYMBOL | ||
376 | + NAME 'industria' | ||
377 | + TYPE VECTOR | ||
378 | + FILLED TRUE | ||
379 | + POINTS | ||
380 | + 0 2 | ||
381 | + 0 5 | ||
382 | + 4 5 | ||
383 | + 4 0 | ||
384 | + 3 0 | ||
385 | + 3 2 | ||
386 | + 0 2 | ||
387 | + END | ||
388 | + END | ||
389 | + | ||
390 | + SYMBOL | ||
391 | + NAME 'torre' | ||
392 | + TYPE VECTOR | ||
393 | + FILLED FALSE | ||
394 | + POINTS | ||
395 | + 2 0 | ||
396 | + 3 4 | ||
397 | + 4 4 | ||
398 | + 4 5 | ||
399 | + 0 5 | ||
400 | + 0 4 | ||
401 | + 1 4 | ||
402 | + 2 0 | ||
403 | + END | ||
404 | + END | ||
405 | + | ||
406 | + SYMBOL | ||
407 | + NAME 'mineracao' | ||
408 | + TYPE VECTOR | ||
409 | + FILLED FALSE | ||
410 | + POINTS | ||
411 | + 0 0 | ||
412 | + 5 5 | ||
413 | + 4 6 | ||
414 | + 3 7 | ||
415 | + 2 6 | ||
416 | + 0 5 | ||
417 | + 5 0 | ||
418 | + END | ||
419 | + END | ||
420 | + | ||
421 | + SYMBOL | ||
422 | + NAME 'templo' | ||
423 | + TYPE VECTOR | ||
424 | + FILLED FALSE | ||
425 | + POINTS | ||
426 | + 2 0 | ||
427 | + 3 0 | ||
428 | + 3 1 | ||
429 | + 4 1 | ||
430 | + 4 2 | ||
431 | + 3 2 | ||
432 | + 3 3 | ||
433 | + 5 3 | ||
434 | + 5 5 | ||
435 | + 0 5 | ||
436 | + 0 3 | ||
437 | + 2 3 | ||
438 | + 2 2 | ||
439 | + 1 2 | ||
440 | + 1 1 | ||
441 | + 2 1 | ||
442 | + 2 0 | ||
443 | + END | ||
444 | + END | ||
445 | + | ||
446 | + SYMBOL | ||
447 | + NAME 'saude' | ||
448 | + TYPE VECTOR | ||
449 | + FILLED TRUE | ||
450 | + POINTS | ||
451 | + 2 0 | ||
452 | + 3 0 | ||
453 | + 3 1 | ||
454 | + 4 1 | ||
455 | + 4 2 | ||
456 | + 3 2 | ||
457 | + 3 3 | ||
458 | + 2 3 | ||
459 | + 2 2 | ||
460 | + 1 2 | ||
461 | + 1 1 | ||
462 | + 2 1 | ||
463 | + 2 0 | ||
464 | + END | ||
465 | + END | ||
466 | + | ||
467 | + SYMBOL | ||
468 | + NAME 'escola' | ||
469 | + TYPE VECTOR | ||
470 | + FILLED FALSE | ||
471 | + POINTS | ||
472 | + 2 0 | ||
473 | + 5 2 | ||
474 | + 3 2 | ||
475 | + 3 4 | ||
476 | + 5 4 | ||
477 | + 5 7 | ||
478 | + 0 7 | ||
479 | + 0 4 | ||
480 | + 2 4 | ||
481 | + 2 0 | ||
482 | + END | ||
483 | + END | ||
484 | + | ||
485 | + SYMBOL | ||
486 | + NAME 'cruz' | ||
487 | + TYPE VECTOR | ||
488 | + FILLED TRUE | ||
489 | + POINTS | ||
490 | + 2 0 | ||
491 | + 3 0 | ||
492 | + 3 1 | ||
493 | + 5 1 | ||
494 | + 5 2 | ||
495 | + 3 2 | ||
496 | + 3 7 | ||
497 | + 2 7 | ||
498 | + 2 2 | ||
499 | + 0 2 | ||
500 | + 0 1 | ||
501 | + 2 1 | ||
502 | + 2 0 | ||
503 | + END | ||
504 | + END | ||
505 | + | ||
506 | +Symbol | ||
507 | + name "circle" | ||
508 | + Type ELLIPSE | ||
509 | + Filled true | ||
510 | + POINTS | ||
511 | + 1 1 | ||
512 | + END | ||
513 | +END | ||
514 | +Symbol | ||
515 | + Name 'ferrovia-line1' | ||
516 | + Type ELLIPSE | ||
517 | + Points | ||
518 | + 1 1 | ||
519 | + END | ||
520 | + FILLED TRUE | ||
521 | + #PATTERN 1 13 1 13 END | ||
522 | +END | ||
523 | +Symbol | ||
524 | + Name 'ferrovia-line2' | ||
525 | + Type VECTOR | ||
526 | + Points | ||
527 | + 0 0 | ||
528 | + 1 0 | ||
529 | + 1 0 | ||
530 | + 0 0 | ||
531 | + END | ||
532 | + FILLED TRUE | ||
533 | + #PATTERN 5 13 5 13 END | ||
534 | +END | ||
535 | + Symbol | ||
536 | + Name "pt1l" | ||
537 | + Type VECTOR | ||
538 | + TRANSPARENT 0 | ||
539 | + Points | ||
540 | + 1 1 | ||
541 | + 1 1 | ||
542 | + END | ||
543 | + #PATTERN 1 13 1 13 END | ||
544 | + END | ||
545 | + | ||
546 | + Symbol | ||
547 | + name "pt2l" | ||
548 | + TYPE ELLIPSE | ||
549 | + POINTS 1 1 END | ||
550 | + FILLED true | ||
551 | + #PATTERN 1 13 1 13 END | ||
552 | + END | ||
553 | + | ||
554 | + Symbol | ||
555 | + Name "pt3l" | ||
556 | + Type ELLIPSE | ||
557 | + POINTS 1 1 END | ||
558 | + Transparent 0 | ||
559 | + #PATTERN 1 13 1 13 END | ||
560 | + END | ||
561 | + | ||
562 | + Symbol | ||
563 | + Name "linha" | ||
564 | + Type ELLIPSE | ||
565 | + POINTS 1 1 END | ||
566 | + Transparent 0 | ||
567 | + END | ||
568 | + | ||
569 | + Symbol | ||
570 | + Name "linha1" | ||
571 | + Type ELLIPSE | ||
572 | + POINTS 1 1 END | ||
573 | + #PATTERN 1 4 1 END | ||
574 | + Transparent 0 | ||
575 | + #PATTERN 10 20 10 20 END | ||
576 | + END | ||
577 | + | ||
578 | + Symbol | ||
579 | + name "dashed" | ||
580 | + Type ELLIPSE | ||
581 | + FILLED true | ||
582 | + POINTS | ||
583 | + 1 1 | ||
584 | + END | ||
585 | + #PATTERN 8 3 END | ||
586 | + END | ||
587 | + | ||
588 | + Symbol | ||
589 | + name "dashed1" | ||
590 | + Type ELLIPSE | ||
591 | + FILLED true | ||
592 | + POINTS | ||
593 | + 1 1 | ||
594 | + END | ||
595 | + #PATTERN 8 8 1 8 END | ||
596 | + END | ||
597 | + | ||
598 | + Symbol | ||
599 | + name "dashed2" | ||
600 | + Type ELLIPSE | ||
601 | + FILLED true | ||
602 | + POINTS | ||
603 | + 2 0 | ||
604 | + END | ||
605 | + END | ||
606 | + | ||
607 | + Symbol | ||
608 | + Name "setal" | ||
609 | + Type PIXMAP | ||
610 | + Image "seta.png" | ||
611 | + #PATTERN 1 13 1 13 END | ||
612 | + END | ||
613 | + | ||
614 | + Symbol | ||
615 | + Name "sedel" | ||
616 | + Type PIXMAP | ||
617 | + Image "sede.png" | ||
618 | + Transparent 1 | ||
619 | + #PATTERN 1 13 1 13 END | ||
620 | + | ||
621 | + END | ||
622 | + | ||
623 | + | ||
624 | + Symbol | ||
625 | + Name "pontol" | ||
626 | + Type ELLIPSE | ||
627 | + FILLED true | ||
628 | + TRANSPARENT 0 | ||
629 | + Points | ||
630 | + 1 1 | ||
631 | + 1 1 | ||
632 | + END | ||
633 | + #PATTERN 1 13 1 13 END | ||
634 | + | ||
635 | + END | ||
636 | + | ||
637 | + Symbol | ||
638 | + NAME 'quadradol' | ||
639 | + TYPE VECTOR | ||
640 | + FILLED TRUE | ||
641 | + POINTS | ||
642 | + 0 1 | ||
643 | + 0 0 | ||
644 | + 1 0 | ||
645 | + 1 1 | ||
646 | + 0 1 | ||
647 | + END | ||
648 | + #PATTERN 1 13 1 13 END | ||
649 | + | ||
650 | + END | ||
651 | + | ||
652 | + SYMBOL | ||
653 | + NAME "estrelal" | ||
654 | + TYPE vector | ||
655 | + FILLED TRUE | ||
656 | + POINTS | ||
657 | + 81 48 | ||
658 | + 66 0 | ||
659 | + 50 48 | ||
660 | + 0 48 | ||
661 | + 41 77 | ||
662 | + 25 125 | ||
663 | + 66 96 | ||
664 | + 106 125 | ||
665 | + 91 77 | ||
666 | + 131 48 | ||
667 | + 81 48 | ||
668 | + END | ||
669 | + #PATTERN 1 13 1 13 END | ||
670 | + | ||
671 | + END | ||
672 | + | ||
673 | + SYMBOL | ||
674 | + NAME 'triangulol' | ||
675 | + TYPE VECTOR | ||
676 | + FILLED TRUE | ||
677 | + POINTS | ||
678 | + 0 1 | ||
679 | + .5 0 | ||
680 | + 1 1 | ||
681 | + 0 1 | ||
682 | + END | ||
683 | + #PATTERN 1 13 1 13 END | ||
684 | + | ||
685 | + END | ||
686 | + | ||
687 | +Symbol | ||
688 | + name "circlel" | ||
689 | + Type ELLIPSE | ||
690 | + Filled true | ||
691 | + POINTS | ||
692 | + 1 1 | ||
693 | + END | ||
694 | + #PATTERN 1 13 1 13 END | ||
695 | + | ||
696 | +END |
testamapfile.php
@@ -88,6 +88,7 @@ if ($tipo == "") | @@ -88,6 +88,7 @@ if ($tipo == "") | ||
88 | echo 'i3GEO.configura.locaplic = i3GEO.util.protocolo() + "://" + window.location.host + "/i3geo";'; | 88 | echo 'i3GEO.configura.locaplic = i3GEO.util.protocolo() + "://" + window.location.host + "/i3geo";'; |
89 | echo '</script>'; | 89 | echo '</script>'; |
90 | echo '<script src="admin/js/core.js"></script>'; | 90 | echo '<script src="admin/js/core.js"></script>'; |
91 | + echo '<script src="admin/dicionario/core.js"></script>'; | ||
91 | echo '</head>'; | 92 | echo '</head>'; |
92 | echo '<body class=" yui-skin-sam" style="background: white;"><center>'; | 93 | echo '<body class=" yui-skin-sam" style="background: white;"><center>'; |
93 | echo '<div class="bordaSuperior" > </div>'; | 94 | echo '<div class="bordaSuperior" > </div>'; |