Commit 85a2b425ee1e8ffe0bc51ae6186e4b606be4eee2

Authored by Edmar Moretti
1 parent c95f49e4

--no commit message

Showing 3 changed files with 0 additions and 320 deletions   Show diff stats
Thumbs.db
No preview for this file type
twitter2geo.php
... ... @@ -1,160 +0,0 @@
1   -<?php
2   -/*
3   -Converte mensagens registradas no twitter, para um determinado TAG, em um arquivo georreferenciado
4   -
5   -As mensagens s&atilde;o consideradas apenas qd possu&iacute;rem as TAGs #x ou #y, ou ent&atilde;o, #lat ou #long
6   -
7   -S&atilde;o aceitos todos os par&acirc;metros de busca da API do Twitter, como definidos em http://search.twitter.com/
8   -
9   -Licenca
10   -
11   -i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
12   -
13   -Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil
14   -Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
15   -
16   -Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
17   -e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
18   -GNU conforme publicada pela Free Software Foundation;
19   -
20   -Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
21   -por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
22   -de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
23   -Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
24   -Voc&ecirc; deve ter recebido uma cópia da Licen&ccedil;a P&uacute;blica Geral do
25   -GNU junto com este programa; se n&atilde;o, escreva para a
26   -Free Software Foundation, Inc., no endere&ccedil;o
27   -59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
28   -
29   -Arquivo: i3geo/twitter2geo.php
30   -
31   -Parametros:
32   -
33   -ajuda - se for definida na URL, mostra uma ajuda ao usu&aacute;rio
34   -
35   -tipo - tipo de arquivo que ser&aacute; retornado
36   -
37   -Valores:
38   -
39   - twitter - retona os resultados originais encontrados
40   -
41   - kml - retorna os dados no formato kml
42   -
43   -Exemplos:
44   -
45   -twitter2geo.php?ajuda
46   -
47   -twitter2geo.php?tipo=kml&q=twit2kml
48   -*/
49   -include("classesphp/carrega_ext.php");
50   -/*
51   -Código de consulta à API adaptado de http://www.reynoldsftw.com/2009/02/using-jquery-php-ajax-with-the-twitter-api/
52   -*/
53   -$par = array_merge($_POST,$_GET);
54   -$chaves = array_keys($par);
55   -
56   -if($par["ajuda"] || !$par["tipo"]){
57   - echo "<pre>Title: twitter2geo.php
58   - Converte mensagens registradas no twitter, para um determinado TAG, em um arquivo georreferenciado
59   - As mensagens s&atilde;o consideradas apenas qd possu&iacute;rem as TAGs #x ou #y, ou ent&atilde;o, #lat ou #long
60   - S&atilde;o aceitos todos os par&acirc;metros de busca da API do Twitter, como definidos em http://search.twitter.com/
61   -
62   - Parametros:
63   -
64   - ajuda - se for definida na URL, mostra uma ajuda ao usu&aacute;rio
65   - tipo - tipo de arquivo que ser&aacute; retornado
66   -
67   - Valores:
68   -
69   - twitter - retona os resultados originais encontrados
70   - kml - retorna os dados no formato kml
71   -
72   - Exemplos:
73   -
74   - twitter2geo.php?ajuda
75   - twitter2geo.php?tipo=kml&q=twit2kml";
76   - exit;
77   -}
78   -$query = array();
79   -foreach($chaves as $chave)
80   -{$query[] = $chave."=".$par[$chave];}
81   -$query = implode("&",$query);
82   -$s = PHP_SHLIB_SUFFIX;
83   -if(!function_exists('curl_init'))
84   -{@dl( 'php_curl'.'.'.$s );}
85   -if(!function_exists('curl_init'))
86   -{echo "curl n&atilde;o instalado";}
87   -$curl = curl_init();
88   -curl_setopt ($curl, CURLOPT_URL, "http://search.twitter.com/search.json?".($query));
89   -curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
90   -$result = curl_exec ($curl);
91   -curl_close ($curl);
92   -$result = fixEncoding($result);
93   -if(strtolower($par["tipo"]) == "twitter"){
94   - //echo header("Content-type: application/json");
95   - echo $result;
96   - exit;
97   -}
98   -$result = json_decode( $result, true );
99   -$kml = '<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://earth.google.com/kml/2.0"><Document><name>twitter</name>';
100   -$kml .= '<Folder><description>'.$q.'</description><name>'.$q.'</name><open>1</open>';
101   -$icon = array();
102   -if(!$result["results"])
103   -{exit;}
104   -foreach($result["results"] as $r)
105   -{
106   - if(!in_array($r["from_user"],$icon))
107   - {
108   - $kml .= '<Style id="'.$r["from_user"].'"><IconStyle><Icon>';
109   - $kml .= '<href>'.$r["profile_image_url"].'</href>';
110   - $kml .= '</Icon></IconStyle></Style>';
111   - }
112   - $icon[] = $r["from_user"];
113   -}
114   -$id = 0;
115   -foreach($result["results"] as $r)
116   -{
117   - $xy = retornaXY($r["text"]);
118   - if($xy != "")
119   - {
120   - $html = "<table><tr>";
121   - $html .= "<td><img src='".$r["profile_image_url"]."' /></td>";
122   - $html .= "<td><span style=color:gray >".$r["from_user"]."<br>";
123   - $html .= $r["created_at"]."</span><br>";
124   - $html .= $r["text"]."<br></td></tr></table>";
125   - $kml .='<Placemark><name>'.$id.'</name>';
126   - $kml .= '<description><![CDATA['.$html.']]></description>';
127   - $kml .= '<styleUrl>'.$r["from_user"].'</styleUrl>';
128   - $kml .= '<Point id="'.$id.'"><coordinates>'.$xy.'</coordinates></Point></Placemark>';
129   - $id++;
130   - }
131   -}
132   -$kml .= '</Folder></Document></kml>';
133   -echo header("Content-type: application/xml");
134   -echo $kml;
135   -function retornaXY($s)
136   -{
137   - $x = preg_replace("/(.*#x)|(\s.*)/i","",$s);
138   - if($x == "")
139   - {$x = preg_replace("/(.*#long)|(\s.*)/i","",$s);}
140   - if($x == "")
141   - {$x = preg_replace("/(.*#lon)|(\s.*)/i","",$s);}
142   - $y = preg_replace("/(.*#y)|(\s.*)/i","",$s);
143   - if($y == "")
144   - {$y = preg_replace("/(.*#lat)|(\s.*)/i","",$s);}
145   - $x = str_replace(",",".",$x);
146   - $y = str_replace(",",".",$y);
147   - if(!is_numeric($x) || !is_numeric($y))
148   - {return "";}
149   - else
150   - {return $x.",".$y;}
151   -}
152   -function fixEncoding($in_str)
153   -{
154   - $cur_encoding = mb_detect_encoding($in_str) ;
155   - if($cur_encoding == "UTF-8" && mb_check_encoding($in_str,"UTF-8"))
156   - {return $in_str;}
157   - else
158   - {return utf8_encode($in_str);}
159   -}
160   -?>
161 0 \ No newline at end of file
wscliente.htm
... ... @@ -1,160 +0,0 @@
1   -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
2   -<html>
3   -<head>
4   -<title>Cliente WMS</title>
5   -<meta name="description" content="Mapa interativo do MMA">
6   -<meta name="keywords" content="WMS OGC mapa sig gis webmapping geo geoprocessamento interativo meio ambiente MMA cartografia geografia">
7   -<meta name="robots" content="index,follow">
8   -<!-- Leitura dos arquivos de estilos -->
9   -<link rel="stylesheet" type="text/css" href="css/geral.css">
10   -<link rel="stylesheet" type="text/css" href="css/i3geo_ferramentas45.css">
11   -<style type="text/css">.yuibutton button{padding-left:2em;background:url(imagens/tic.png) 5% 50% no-repeat;}</style>
12   -<style>
13   -P
14   -{COLOR: #2F4632;text-align: justify;font-size: 12px;font-family: Verdana, Arial, Helvetica, sans-serif;}
15   -#banner
16   -{position:absolute;top:0px;left:0px;}
17   -#arvoreMenu
18   -{width:200px;position:absolute;top:30px;left:0px;}
19   -#corpo
20   -{width:555px;position:absolute;top:30px;left:200px;background:rgb(250,250,250);}
21   -.corpo
22   -{width:555px;position:absolute;top:30px;left:200px;background:rgb(250,250,250);}
23   -#i3geo_wscliente_id_mapa
24   -{width: 450px;height: 450px;border: 0px solid black;}
25   -.listaServico
26   -{border:1px solid black;text-align:center;height:260px;overflow:auto;width:530px;background-color:rgb(250,250,250)}
27   -.listaAjuda
28   -{left:0px;border:0px solid black;text-align:center;height:320px;overflow:auto;width:100%;}
29   -</style>
30   -<!-- Leitura dos programas javaScript. Pode-se ler os arquivos n&atilde;o compactados, bastando excluir a palavra _compacto -->
31   -<script type="text/javascript" src="classesjs/wscliente.js"></script>
32   -</head>
33   -<body style="background-color:white;overflow:auto;" class="yui-navset">
34   -<div id=banner ><img src="imagens/barrasuperior_geradordelinks_2006.jpg" width="765" ></div>
35   -<!-- aqui vai o menu de op&ccedil;&otilde;es -->
36   -<div id=arvoreMenu ></div>
37   -<!-- aqui vai o corpo da aplica&ccedil;&atilde;o -->
38   -
39   -<div id=corpo style="background-color:rgb(250,250,250)">
40   -<H1>Cliente de web services</H1>
41   -<p>Selecione uma op&ccedil;&atilde;o na &aacute;rvore ao lado.
42   -<br><p>Veja no item "ajuda" algumas defini&ccedil;&otilde;es sobre "web services" e suas potencialidades.
43   -<p>O "WSCliente" foi desenvolvido pelo Minist&eacute;rio do Meio Ambiente e faz parte do pacote "i3Geo". Licenciado sob GPL,
44   -o "i3Geo" pode ser obtido no endere&ccedil;o <a href="http://www.softwarepublico.gov.br">Portal do software p&uacute;blico</a>.
45   -<p>Com o "WSCliente" &eacute; poss&iacute;vel acessar servi&ccedil;os que retornam mapas, sendo utilizado para cadastrar, divulgar e
46   -verificar os servi&ccedil;os dispon&iacute;veis.
47   -<p>A lista de Web Services &eacute; mantida por meio do sistema de administra&ccedil;&atilde;o do i3Geo.
48   -<div style="background-color:white;left:0px"><img src="imagens/i3geo1bw.jpg" /></div>
49   -</div>
50   -
51   -<!-- texto da ajuda sobre web services -->
52   -<div id=oquews style='display:none;'>
53   -<div class=listaAjuda >
54   -<p>Um web service &eacute; um componente, ou unidade lógica de aplica&ccedil;&atilde;o, acess&iacute;vel atrav&eacute;s de protocolos padr&otilde;es de Internet.
55   -<p>Como componentes esses servi&ccedil;os possuem uma funcionalidade que pode ser reutilizada sem a preocupa&ccedil;&atilde;o de como &eacute; implementada. O modo de acesso &eacute; diferente de alguns modelos anteriores, onde os componentes eram acessados atrav&eacute;s de protocolos espec&iacute;ficos, como o DCOM, RMI ou IIOP.
56   -<p>Web Services combinam os melhores aspectos do desenvolvimento baseado em componentes e a Web.
57   -<p>H&aacute; algumas especifica&ccedil;&otilde;es e tecnologias definidas para a constru&ccedil;&atilde;o ou utiliza&ccedil;&atilde;o de Web services. Essas especifica&ccedil;&atilde;o e tecnologias endere&ccedil;am para os seguintes requisitos para o desenvolvimento baseado em servi&ccedil;os: uma forma comum de representar dados um formato de mensagens comum e extens&iacute;vel uma linguagem de descri&ccedil;&atilde;o do servi&ccedil;o, comum e extens&iacute;vel um mecanismo para localizar os servi&ccedil;os localizados em um Web site espec&iacute;fico um mecanismo para descobrir os provedores de servi&ccedil;o.
58   -<p>O XML &eacute; a escolha natural para o modo de representa&ccedil;&atilde;o dos dados. Muitas especifica&ccedil;&otilde;es utilizam o XML para representa&ccedil;&atilde;o dos dados, assim como os XML Schemas para descrever os tipos dos dados.
59   -<p>O SOAP (Simple Object Access Protoco) &eacute; um protocolo leve para troca de informa&ccedil;&otilde;es. Parte da sua especifica&ccedil;&atilde;o &eacute; composta por um conjunto de regras de como utilizar o XML para representar os dados. Outra parte define o formato de mensagens, conven&ccedil;&otilde;es para representar as chamadas de procedimento remoto (RPCs) utilizando o SOAP, e associa&ccedil;&otilde;es ao protocolo HTTP.
60   -<p>O WSDL (Web Services Description Language) &eacute; uma linguagem baseada em XML, com a finalidade de documentar as mensagens o Web service aceita e gera. Esse mecanismo padr&atilde;o facilita a interpreta&ccedil;&atilde;o dos contratos pelos desenvolvedores e ferramentas de desenvolvimento.
61   -<p>Tamb&eacute;m &eacute; necess&aacute;ria uma forma de localiza&ccedil;&atilde;o dos Web services. O protocolo Disco (Discovery Protocol) define um formato para o documento discovery e um protocolo para devolver esse documento, possibilitando a localiza&ccedil;&atilde;o dos servi&ccedil;os em um web site conhecido. No entanto, &eacute; comum que n&atilde;o se saiba as URLs onde os servi&ccedil;os podem ser encontrados. O UDDI (Universal Description, Discovery, and Integration) &eacute; um mecanismo para os fornecedores anunciarem a exist&ecirc;ncia de seus servi&ccedil;os, e para os consumidores localizarem os servi&ccedil;os de seu interesse.
62   -<p>Podemos definir, resumidamente, um XML Web service como um servi&ccedil;o de software publicado na Web atrav&eacute;s do SOAP, descrito com um arquivo WSDL e registrado em UDDI.
63   -<p>Fonte: <a href='http://www.iweb.com.br'>IWEB</a>
64   -</div></div>
65   -<!-- texto da ajuda sobre ogc -->
66   -<div id=oqueogc style='display:none;'>
67   -<div class=listaAjuda >
68   -<p>O <a href='http://www.opengeospatial.org/'>OGC - Open Geospatial Consortium, Inc</a> &eacute; uma institui&ccedil;&atilde;o que congrega empresas, órg&atilde;os governamentais e universidades com o objetivo de definir padr&otilde;es na &aacute;rea de geotecnologias.
69   -<p>Uma das a&ccedil;&otilde;es do OGC &eacute; a defini&ccedil;&atilde;o de "web services" voltados para a informa&ccedil;&atilde;o cartogr&aacute;fica. Com o estabelecimento desses padr&otilde;es &eacute; poss&iacute;vel a cria&ccedil;&atilde;o de softwares que realizam a integra&ccedil;&atilde;o de dados.
70   -<p>Os principais padr&otilde;es definidos pelo OGC s&atilde;o:
71   -<p><b>GML - Geography Markup Language:</b> padr&atilde;o XML para arquivos de dados cartogr&aacute;ficos vetoriais.
72   -<p><b>WMS - Web Map Service:</b> padr&atilde;o de "web service" que fornece mapas digitais na forma de imagens.
73   -<p><b>WFS - Web Feature Service:</b>: padr&atilde;o de "web service" que fornece dados no formato GML.
74   -<p><b>WCS - Web Coverage Service:</b> padr&atilde;o de "web service" que aprimora o padr&atilde;o WMS fornecendo imagens com valores que indicam propriedades geogr&aacute;ficas e n&atilde;o apenas valores referentes a uma determinada cor.
75   -</div></div>
76   -<!-- texto da ajuda sobre ws cartografico -->
77   -<div id=oquecarto style='display:none;'>
78   -<div class=listaAjuda >
79   -<p>Em cartografia existem padr&otilde;es definidos pelo <a href='http://www.opengeospatial.org/'>OGC</a> que possibilitam o acesso a dados geogr&aacute;ficos na forma de mapas digitais, os chamados "web services cartogr&aacute;ficos".
80   -<p>Com essa tecnologia &eacute; poss&iacute;vel acessar bancos de dados que estejam em qualquer servidor de dados da Internet sem a necessidade de download de arquivos.
81   -<p>Um programa de computador, rodando na Internet ou no computador do usu&aacute;rio, estabelece o acesso aos v&aacute;rios servi&ccedil;os de fornecimento de dados (web services), integrando em um mesmo mapa digital temas armazenados de forma descentralizada.
82   -<p>A grande vantagem dessa tecnologia &eacute; a possibilidade de acesso aos dados diretamente do respons&aacute;vel por sua manuten&ccedil;&atilde;o. Dessa forma, tem-se mapas com a melhor atualiza&ccedil;&atilde;o poss&iacute;vel. Outra vantagem &eacute; o fato de n&atilde;o ser necess&aacute;rio armazenar em um mesmo servidor de arquivos um volume grande de dados.
83   -
84   -</div></div>
85   -<!-- escolher um wms -->
86   -<div id=RSSwms style='display:none' class=corpo >
87   - <p><b>Digite o endere&ccedil;o do servi&ccedil;o ou selecione da lista:</b>
88   - <p>(após selecionar o servi&ccedil;o clique em 'listar temas' para ver os temas dispon&iacute;veis)</p>
89   - <br><input type=text value='' name=enderecowms id=enderecowms size=80 />
90   - <div onclick='$i3geo_wscliente.listatemas()' ><br><input id=botao1 type=button value='Escolher um tema&nbsp;&nbsp;' class=executar size=25 /></div>
91   - <p><b>Lista de servi&ccedil;os cartogr&aacute;ficos cadastrados (clique para selecionar)</b><br>
92   - <div class=listaServico id=resultadoRSSwms ></div>
93   -</div>
94   -
95   -<!-- escolher um servi&ccedil;o de dados -->
96   -<div id=RSSws style='display:none;' class=corpo>
97   - <p><b>Digite o endere&ccedil;o do servi&ccedil;o ou selecione da lista:</b>(ap&oacute;s selecionar o servi&ccedil;o clique em 'Escolher fun&ccedil;&atilde;o' para ver as op&ccedil;&otilde;es dispon&iacute;veis)
98   - <p><input type=text value='' name=enderecows id=enderecows size=80 onchange="registraws(this.value)"/>
99   - <div onclick='$i3geo_wscliente.listafuncoes()'><p><input id=botao2 type=button value='Escolher fun&ccedil;&atilde;o&nbsp;&nbsp;' class=executar size=25 /></div>
100   - <p><b>Lista de servi&ccedil;os cadastrados (clique para selecionar)</b><br>
101   - <div class=listaServico id=resultadoRSSws ></div>
102   -</div>
103   -<script src="ferramentas/i3geo_tudo_compacto.js.php" type="text/javascript"></script>
104   -<script src="classesjs/i3geo_tudo_compacto45.js.php" type="text/javascript"></script>
105   -</body>
106   -<script>
107   -/*
108   -wscliente.htm
109   -
110   -Esse aplicativo permite ao usu&aacute;rio ver a lista de servi&ccedil;os cadastrados no i3geo e acess&aacute;-los para testes.
111   -
112   -About: Licen&ccedil;a
113   -
114   -I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
115   -
116   -Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil
117   -Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br
118   -
119   -Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
120   -e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
121   -GNU conforme publicada pela Free Software Foundation;
122   -
123   -Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
124   -por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
125   -de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
126   -Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
127   -Voc&ecirc; deve ter recebido uma cópia da Licen&ccedil;a P&uacute;blica Geral do
128   -GNU junto com este programa; se n&atilde;o, escreva para a
129   -Free Software Foundation, Inc., no endere&ccedil;o
130   -59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
131   -
132   -Veja:
133   -
134   -<wscliente.js>
135   -
136   -File: i3geo/wscliente.htm
137   -
138   -Note:
139   -
140   -Para iniciar o wscliente pode-se incluir na url par&acirc;metros indicando o tipo de servi&ccedil;o e o endere&ccedil;o do mesmo.
141   -
142   -Por exemplo
143   -
144   -i3geo/wscliente.htm?wms,endereco_servico
145   -
146   -*/
147   -var g_locaplic = i3GEO.util.protocolo()+"://"+window.location.host+"/i3geo";
148   -var i3geo_wscliente_configura = new i3geo_wscliente_configura
149   -(
150   - g_locaplic,
151   - "corpo",
152   - "enderecows",
153   - "enderecowms",
154   - new Array(g_locaplic+"/admin/xmlservicosws.php"),
155   - new Array(g_locaplic+"/admin/xmlservicoswms.php")
156   -);
157   -i3geo_wscliente_inicia(i3geo_wscliente_configura);
158   -document.body.style.backgroundColor="white";
159   -</script>
160   -</html>