ms_configura.php
18.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
<?php
/*
Title: Variáveis de inicialização ms_configura.php
Nesse programa PHP são definidas as variáveis globais principais necessárias ao funcionamento do I3Geo do lado do servidor web.
O ms_configura é incluído em vários programas do i3Geo e os valores das variáveis devem ser editados
caso a instalação do i3geo tenha sido feita em um diretório diferente do padrão.
No windows o diretório padrão é c:\ms4w\apache\htdocs\i3geo e no linux é /opt/www/html/i3geo
Para verificar a instalação do i3geo utilize o programa i3geo/testainstal.php, que pode fornecer algumas dicas
caso estejam ocorrendo problemas na iniciallização.
As variáveis de configuração são definidas em blocos diferentes conforme o sistema operacional (linux ou windows).
O ms_criamapa.php carrega o ms_configura.php e armazena a maior parte das variáveis na seção. Algumas variáveis
são também fornecidas para o cliente (navegador) na inicialização do mapa e ficam disponíveis em variáveis javascript.
Qualquer uma das variáveis pode ser colocada dentro do bloco que identifica o sistema operacional. Dessa forma pode-se ter um comportamento diferente de acordo com o ambiente.
Licenca:
GPL2
i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil
Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
Este programa é software livre; você pode redistribuí-lo
e/ou modificá-lo sob os termos da Licença Pública Geral
GNU conforme publicada pela Free Software Foundation;
Este programa é distribuído na expectativa de que seja útil,
porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita
de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
Consulte a Licença Pública Geral do GNU para mais detalhes.
Você deve ter recebido uma cópia da Licença Pública Geral do
GNU junto com este programa; se não, escreva para a
Free Software Foundation, Inc., no endereço
59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
i3geo/testamapfile.php
Arquivo: ms_configura.php
*/
/*
Variable: i3geomaster
Usuário e senha que podem realizar operações de administração inicial do i3Geo, como a criação do banco de dados de administração ou operações críticas do sistema
É necessário alterar esse parâmetro quando o i3Geo não estiver em localhost, caso contrário, os mapas serão bloqueados
Tipo:
{array}
Default:
array(array("usuario"=>"admin", "senha"=>"adminx"));
*/
//@TODO v5 alterar a senha para admin
$i3geomaster = array(
array("usuario"=>"admin", "senha"=>"admin")
);
/*
Variable: saikuUrl
URL para acessar o aplicativo SAIKU. Se nao estiver instalado, deixe em branco
Para maiores informacoes sobre como instalar o SAIKU veja em http://localhost/i3geo/ferramentas/saiku/instal.txt
*/
$saikuUrl = "http://localhost:9090";
/*
Variable: i3georendermode
Opcoes que definem a rotina que sera utilizada para enviar ao navegador as imagens geradas de cada camada
0 - modo default. Utiliza a funcao imagepng() do PHP para enviar a imagem ao navegador
1 - utiliza a funcao do Mapserver saveImage() para enviar a imagem ao navegador (e mais rapida, mas nao funciona em algumas versoes do Mapserver)
2 - utiliza X-Sendfile (mais rapido que as outras opcoes) mas exige modificacoes na instalacao do Apache. Veja em: https://tn123.org/mod_xsendfile/ e http://edmarmoretti.blogspot.com.br/
*/
//@TODO documentar no manual de administracao
$i3georendermode = 0;
/*
Variavel: linkedinoauth (ainda não implementado)
Parâmetros registrados no Linkedin para permitir que o i3Geo faça autenticação com base na conta do usuário
O Linkedin exige que cada site seja registrado para permitir que a API de autenticação funcione
Veja o site para maiores informações: http://developer.linkedin.com/docs/DOC-1008
Caso vc não queira permitir essa opção, deixe essa variável vazia, e.x
Ao registrai3geo/testamapfile.phpr utilize o valor http://meuservidor/i3geo/pacotes/openid/login.php?login
Exemplo:
$linkedinoauth = array(
"consumerkey" => "0oQ30ge-ggKarx4HGaXVK118n8mekMBbFYTrC-agGV9hvxUXfeWwS1q7ZMvD-8LL",
"consumersecret" => "nRGXfHp1XNMt0eCG7tWJpoCcXX1uoZseDtgiU-CRy1ajqipo4KpjjZdDUXmqZGQA"
);
Tipo:
{array}
*/
$linkedinoauth = "";
/*
Variavel: facebookoauth
Parâmetros registrados no Facebook para permitir que o i3Geo faça autenticação com base na conta do usuário
O Facebook exige que cada site seja registrado para permitir que a API de autenticação funcione
Veja o site para maiores informações: http://developers.facebook.com/setup/
Caso vc não queira permitir essa opção, deixe essa variável vazia, e.x
Ao registrar utilize o valor http://meuservidor/i3geo/pacotes/openid/login.php?login
Exemplo:
$facebookoauth = array(
"consumerkey" => "136279263094148",
"consumersecret" => "679fc4a007b1d289377fa8af8f7086b6"
);
Tipo:
{array}
*/
$facebookoauth = array(
"consumerkey" => "136279263094148",
"consumersecret" => "679fc4a007b1d289377fa8af8f7086b6"
);
/*
Variavel: twitteroauth
Parâmetros registrados no Twitter para permitir que o i3Geo faça autenticação com base na conta do usuário
O Twitter exige que cada site seja registrado para permitir que a API de autenticação funcione
Veja o site para maiores informações: http://www.snipe.net/2009/07/writing-your-first-twitter-application-with-oauth/
Lista de aplicações cadastradas: https://twitter.com/oauth_clients/
Caso vc não queira permitir essa opção, deixe essa variável vazia, e.x
$twitteroauth = "";
Ao registrar a aplicação, utilize o endereço do i3geo em Application Website, por exemplo http://meuservidor/i3geo
Ao registrar utilize como "Callback URL" o valor http://meuservidor/i3geo/pacotes/openid/login.php?login
Exemplo:
$twitteroauth = array(
"consumerkey" => "vUvBcsOULjS0ewxuSvbS6w",
"consumersecret" => "0Hj6uCyycDCeNOgzTUF1bBSel75KtfbnCS4bxWVqaxk",
"requesttokenurl" => "https://twitter.com/oauth/request_token",
"accesstokenurl" => "https://twitter.com/oauth/access_token",
"authorizeurl" => "https://twitter.com/oauth/authorize"
);
Tipo:
{array}
*/
$twitteroauth = array(
"consumerkey" => "vUvBcsOULjS0ewxuSvbS6w",
"consumersecret" => "0Hj6uCyycDCeNOgzTUF1bBSel75KtfbnCS4bxWVqaxk",
"requesttokenurl" => "https://twitter.com/oauth/request_token",
"accesstokenurl" => "https://twitter.com/oauth/access_token",
"authorizeurl" => "https://twitter.com/oauth/authorize"
);
/*
Variavel: mensagemInicia
Mensagem de inicialização mostrada pelo programa ms_criamapa.php
É obtida de um include para permitir a atualização da versão nos pacotes de correção
Tipo:
{string}
*/
include(dirname(__FILE__)."/versao.php");
/*
Variable: tituloInstituicao
Nome que será utilizado em alguns cabeçalhos e títulos de páginas
Tipo:
{string}
*/
$tituloInstituicao = "i3Geo";
/*
Variable: emailInstituicao
Endereço de e-mail que pode ser mostrado na interface do mapa
Tipo:
{string}
*/
$emailInstituicao = "geoprocessamento@mma.gov.br";
/*
Variable: googleApiKey
Chave utilizada pela API do Google maps.
A API do Google maps é utilizada em algumas funcionalidades do i3geo. Vc deve registrar uma chave
no site do Google para o seu endereço de servidor web. veja como fazer em:
http://code.google.com/apis/maps/signup.html
Tipo:
{string}
*/
//TODO v5 remover
$googleApiKey = "ABQIAAAAKguAlmd-hSDulF2T_tfWMxT3OAK09d_ZSDyC36iPGlww-4j-9xSrR2ZZUxVeZC01q8anfe5ntl_U4w";
/*
Variable: metaestatTemplates
Indica a pasta onde ficam os templates utilizados para a publicacao de mapas. E utilizado pelo sistema de metadados estatisticos.
O default e a pasta /ferramentas/metaestat/templates
A pasta deve estar dentro do diretorio onde esta instalado o i3geo
A pasta com os templates deve conter uma pasta chamada "logos" para guardar as logomarcas utilizadas pelos mapas
Tipo:
{string}
*/
$metaestatTemplates = "/ferramentas/metaestat/templates";
/*
Variable: navegadoresLocais
Ip dos usuarios que podem navegar no servidor para acessar arquivos de dados geográficos.
O i3geo possibilita que os usuários acessem dados geográficos no servidor diretamente, navegando pelo sistema de arquivos.
Isso possibilita o acesso aos dados mesmo que não constem na árvore de temas definida em menutemas/menutemas.xml
Por segurança, essa funcionalidade só é ativada para números IP específicos, definidos nessa variável.
Para cada IP registrado, deve-se definir os diretórios que serão acessíveis, conforme mostrado abaixo.
A validação do IP é feita com javascript, na inicialização do mapa, a variável javascript objmapa.navegacaoDir é definida como sim (caso $navegadoresLocais for diferente de "") ou nao.
Se objmapa.navegacaoDir for igual a "sim", ou seja, $navegadoresLocais é diferente de "", na guia de adição de temas da interface HTML, será mostrada a opção de navegação. Portanto, se vc não quiser que essa opção seja ativada, mantenha essa variável igual a
$navegadoresLocais = "";
Com a opção ativa na interface do mapa, o ip do cliente é verificado e caso estiver registrado no array, a navegação pelos diretórios do servidor será permitida. Para mais detalhes, veja a ferramenta i3geo/ferramentas/navegacaodir
Para efeito de compatibilidade, manteve-se a possibilidade de um array com multiplos arrays, mas apenas o primeiro e utilizado
Tipo:
{array}
*/
//ver opcao especifica abaixo para o sistema operacional
$navegadoresLocais = "";
/*
Variable: dir_tmp
Caminho completo do diretório temporário utilizado pelo mapserver.
Tipo:
{string}
*/
//ver opcao especifica abaixo para o sistema operacional
$dir_tmp = "";
/*
Variable: locaplic
Caminho completo onde fica o I3Geo
Tipo:
{string}
*/
$locaplic = dirname(__FILE__);
/*
Variable: locmapserv
Localização do executável do Mapserver conforme deve ser acrescentado a URL após o nome do host.
Essa variável é necessária em processos que utilizam o mapserver no modo CGI.
Por exemplo, se o endereço for http://localhost/cgi-bin/mapserv.exe, a variável deverá conter apenas /cgi-bin/mapserv.exe
Tipo:
{string}
*/
//ver opcao especifica abaixo para o sistema operacional
$locmapserv = "";
/*
Variable: locmapas
Onde fica o xml, para preencher a guia mapas.
Se for "" será utilizado o sistema de administração do i3geo (veja i3geo/admin).
A guia "Mapas" mostra uma lista de links que permitem abrir mapas específicos. Essa lista é utilizada também pela versão mobile do i3geo.
Veja a documentação específica do arquivo mapas.xml para maiores detalhes.
Tipo:
{string}
*/
$locmapas = "";
/*
Variable: R_path
Onde esta o executavel do software R
O R é um pacote estatístico utilizado pelo I3Geo para geração de gráficos e análises estatísticas
Se vc não possui o R instalado, comente a linha abaixo
Tipo:
{string}
*/
//ver opcao especifica abaixo para o sistema operacional
$R_path = "";
/*
Variable: R_pathlib
Onde ficam as bibliotecas adicionais necessárias ao funcionamento do R
Instale no R as bibliotecas SPATSTAT e DELDIR. No Ubuntu, experimente usar o software RKWard que possui um instalador de bibliotecas
Tipo:
{string}
*/
//ver opcao especifica abaixo para o sistema operacional
$R_libpath = "";
/*
Variable: postgis_mapa
String de conexão para acesso aos dados (opcional).
Prefira usar o esquema de criptografia nativo do Mapserver, veja em:
http://mapserver.org/utilities/msencrypt.html
Com o uso opcional dessa variável é possível esconder a string de conexão com o banco de dados. O Mapserver
não permite esconder essa string, por isso, no i3geo, foi implementado um esquema de substituição.
Toda vez que um objeto "map" é criado via PHP Mapscript, a string de conexão é substituída pelo valor de $postgis_mapa.
Se não for desejado a substituição, deixe essa variável em branco.
Se vc especificar essa variável, o mapa será forçado a recusar o modo de operação CGI.
Para mais detalhes veja a função substituiCon em classesphp/funcoes_gerais.php
exemplo -
$postgis_mapa = array(
"teste"=>"user=geodados password=geodados dbname=geodados host=10.1.1.36 port=5432",
"conexao2"=>"user=geodados password=geodados dbname=geodadosteste host=10.1.1.36 port=5432"
)
No exemplo, vc pode usar "teste" ou "conexao2" no seu mapfile veja em i3geo/temas/testesubstring.map
Se vc não quiser usar essa substituição, deixe como está ou use
$postgis_mapa = ""
Tipo:
{array ou string}
*/
$postgis_mapa = array(
"teste"=>"user=postgres password=postgres dbname=postgis host=localhost port=5432 options='-c client_encoding=LATIN1'",
"postgres"=>"user=postgres password=postgres dbname=postgres host=localhost port=5432",
);
/*
Variable: utilizacgi
Variável indicando se o desenho do corpo do mapa será baseado no modo cgi.
Por default, o mapserver desenha o mapa via php, porém, pode-se alterar o modo de desenho.
No modo normal, a imagem do mapa é gerada e armazenada no diretório ms_tmp. Após a geração da imagem
o endereço do arquivo é retornado ao mapa (retorno via Ajax) e o javascript se encarrega de alterar o
endereço da imagem no navegador. Com o uso do CGI a imagem não é gerada, sendo repassado ao navegador
o endereço do cgi acrescentado do nome do mapfile, fazendo com que a imagem seja retornada diretamente.
Em alguns casos o uso do cgi torna a aplicação mais rápida.
Tipo:
{string}
*/
$utilizacgi = "nao";
/*
Variable: expoeMapfile
Essa variável controla se o nome do mapfile atual será ou não retornado para a aplicação via ajax.
Quando essa variável for definida como "nao" algumas das funcionalidades do i3geo poderão ficar prejudicadas, mas sem comprometimento das funções principais.
Tipo:
{string}
*/
$expoeMapfile = "sim";
/*
Variable: conexaoadmin
Arquivo PHP que define a string de conexão (PDO) com o banco de dados administrativo.
Esse arquivo é incluído no programa i3geo/admin/conexao.php
O banco de dados administrativo é utilizado para definir coisas como a árvore de temas, árvore de mapas, etc.
O banco de dados, originalmente, é montado em SQLITE, porém, em ambientes corporativos, sugere-se o uso de bancos de dados mais robustos.
Se você quiser utilizar a conexão default, baseado no SQLITE, mantenha essa variável vazia.
O programa PHP que estabelece a conexão deve retornar objetos com nomes padronizados. Veja o arquivo i3geo/admin/conexao.php e i3geo/admin/php/conexaopostgresql.php para maiores detalhes.
Exemplos:
$conexaoadmin = $locaplic."/admin/php/conexaopostgresql.php";
$conexaoadmin = $locaplic."/admin/php/conexaomma.php";
Tipo:
{string}
*/
$conexaoadmin = "";
/*
Variable: $esquemaadmin
Indica em qual esquema do banco de dados de administração estão armazenadas as tabelas do sistema de administração. Por default, utiliza-se o esquema public.
Tipo:
{string}
*/
$esquemaadmin = "";
/*
Variable: interfacePadrao
Interface padrão utilizada para abrir o mapa.
A interface pode ser um arquivo com as extensões .htm .html .phtml
O arquivo deve estar armazenado em i3geo/aplicmap
A interface padrão é utilizada quando não é definida nenhuma interface via URL.
Tipo:
{string}
*/
$interfacePadrao = "black_ol.htm";
/*
Variable: base
Enderço do arquivo mapfile que será utilizado como base para a criação do mapa
Se vc não usar o caminho completo, o arquivo será procurado em i3geo/aplicmap
Quando não for definido, o i3Geo tentará escolher o mapfile mais adequado, conforme o que existir em i3geo/aplicmap
A escolha depende do sistema operacional e da versão do Mapserver.
Vc pode usar essa variável para customizar a inicialização do mapa.
Tipo:
{string}
*/
$base = "";
/*
Variable: cachedir
Pasta onde ficarão armazenadas as imagens geradas pelo i3Geo para os LAYERS que permitem cache.
Os layers que permitem cache são definidos no sistema de administração do i3Geo.
Se cachedir for vazia, será utilizado o default do i3geo (diretório temporário)
Exemplo
$cachedir = 'c:/temp/cache';
Tipo:
{string}
*/
$cachedir = "";
if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))
{
$navegadoresLocais = array(
array(
"drives"=>array(
array("caminho"=>"c:","nome"=>"c:")
)
)
);
$dir_tmp = "c:/ms4w/tmp/ms_tmp";
$locmapserv = "/cgi-bin/mapserv.exe";
$R_path = "c:/r/win/bin/R.exe";
$R_libpath = "c:/r/win/library";
}
else //se for linux
{
//verifica se está sendo utilizado o diretório "opt" ou "var"
$locaplic = dirname(__FILE__);
$dir_tmp = "/tmp/ms_tmp";
if(dirname($locaplic) == "/opt/www/html"){
$dir_tmp = "/var/tmp/ms_tmp";
}
if((dirname($locaplic) == "/var/www") || (dirname($locaplic) == "/var/www/html")){
$dir_tmp = "/tmp/ms_tmp";
}
$navegadoresLocais = array(
array(
"drives"=>array(
array("caminho"=>"/tmp","nome"=>"tmp"),
array("caminho"=>"/var/www","nome"=>"www")
)
)
);
$locmapserv = "/cgi-bin/mapserv";
$R_path = "R";
$R_libpath = "";
}
?>