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,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 \ No newline at end of file 0 \ No newline at end of file
wscliente.htm
@@ -1,160 +0,0 @@ @@ -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>