Commit 85a2b425ee1e8ffe0bc51ae6186e4b606be4eee2
1 parent
c95f49e4
Exists in
master
and in
7 other branches
--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ão consideradas apenas qd possuírem as TAGs #x ou #y, ou então, #lat ou #long | |
6 | - | |
7 | -São aceitos todos os parâ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ério do Meio Ambiente Brasil | |
14 | -Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
15 | - | |
16 | -Este programa é software livre; você pode redistribuí-lo | |
17 | -e/ou modificá-lo sob os termos da Licença Pública Geral | |
18 | -GNU conforme publicada pela Free Software Foundation; | |
19 | - | |
20 | -Este programa é distribuído na expectativa de que seja útil, | |
21 | -porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
22 | -de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
23 | -Consulte a Licença Pública Geral do GNU para mais detalhes. | |
24 | -Você deve ter recebido uma cópia da Licença Pública Geral do | |
25 | -GNU junto com este programa; se não, escreva para a | |
26 | -Free Software Foundation, Inc., no endereç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ário | |
34 | - | |
35 | -tipo - tipo de arquivo que será 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ão consideradas apenas qd possuírem as TAGs #x ou #y, ou então, #lat ou #long | |
60 | - São aceitos todos os parâ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ário | |
65 | - tipo - tipo de arquivo que será 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ã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ã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ções --> | |
36 | -<div id=arvoreMenu ></div> | |
37 | -<!-- aqui vai o corpo da aplicaçã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ção na árvore ao lado. | |
42 | -<br><p>Veja no item "ajuda" algumas definições sobre "web services" e suas potencialidades. | |
43 | -<p>O "WSCliente" foi desenvolvido pelo Ministério do Meio Ambiente e faz parte do pacote "i3Geo". Licenciado sob GPL, | |
44 | -o "i3Geo" pode ser obtido no endereço <a href="http://www.softwarepublico.gov.br">Portal do software público</a>. | |
45 | -<p>Com o "WSCliente" é possível acessar serviços que retornam mapas, sendo utilizado para cadastrar, divulgar e | |
46 | -verificar os serviços disponíveis. | |
47 | -<p>A lista de Web Services é mantida por meio do sistema de administraçã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 é um componente, ou unidade lógica de aplicação, acessível através de protocolos padrões de Internet. | |
55 | -<p>Como componentes esses serviços possuem uma funcionalidade que pode ser reutilizada sem a preocupação de como é implementada. O modo de acesso é diferente de alguns modelos anteriores, onde os componentes eram acessados através de protocolos especí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á algumas especificações e tecnologias definidas para a construção ou utilização de Web services. Essas especificação e tecnologias endereçam para os seguintes requisitos para o desenvolvimento baseado em serviços: uma forma comum de representar dados um formato de mensagens comum e extensível uma linguagem de descrição do serviço, comum e extensível um mecanismo para localizar os serviços localizados em um Web site específico um mecanismo para descobrir os provedores de serviço. | |
58 | -<p>O XML é a escolha natural para o modo de representação dos dados. Muitas especificações utilizam o XML para representação dos dados, assim como os XML Schemas para descrever os tipos dos dados. | |
59 | -<p>O SOAP (Simple Object Access Protoco) é um protocolo leve para troca de informações. Parte da sua especificação é composta por um conjunto de regras de como utilizar o XML para representar os dados. Outra parte define o formato de mensagens, convenções para representar as chamadas de procedimento remoto (RPCs) utilizando o SOAP, e associações ao protocolo HTTP. | |
60 | -<p>O WSDL (Web Services Description Language) é uma linguagem baseada em XML, com a finalidade de documentar as mensagens o Web service aceita e gera. Esse mecanismo padrão facilita a interpretação dos contratos pelos desenvolvedores e ferramentas de desenvolvimento. | |
61 | -<p>Também é necessária uma forma de localizaçã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ção dos serviços em um web site conhecido. No entanto, é comum que não se saiba as URLs onde os serviços podem ser encontrados. O UDDI (Universal Description, Discovery, and Integration) é um mecanismo para os fornecedores anunciarem a existência de seus serviços, e para os consumidores localizarem os serviços de seu interesse. | |
62 | -<p>Podemos definir, resumidamente, um XML Web service como um serviço de software publicado na Web atravé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> é uma instituição que congrega empresas, órgãos governamentais e universidades com o objetivo de definir padrões na área de geotecnologias. | |
69 | -<p>Uma das ações do OGC é a definição de "web services" voltados para a informação cartográfica. Com o estabelecimento desses padrões é possível a criação de softwares que realizam a integração de dados. | |
70 | -<p>Os principais padrões definidos pelo OGC são: | |
71 | -<p><b>GML - Geography Markup Language:</b> padrão XML para arquivos de dados cartográficos vetoriais. | |
72 | -<p><b>WMS - Web Map Service:</b> padrão de "web service" que fornece mapas digitais na forma de imagens. | |
73 | -<p><b>WFS - Web Feature Service:</b>: padrão de "web service" que fornece dados no formato GML. | |
74 | -<p><b>WCS - Web Coverage Service:</b> padrão de "web service" que aprimora o padrão WMS fornecendo imagens com valores que indicam propriedades geográficas e nã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ões definidos pelo <a href='http://www.opengeospatial.org/'>OGC</a> que possibilitam o acesso a dados geográficos na forma de mapas digitais, os chamados "web services cartográficos". | |
80 | -<p>Com essa tecnologia é possí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ário, estabelece o acesso aos vários serviç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 é a possibilidade de acesso aos dados diretamente do responsável por sua manutenção. Dessa forma, tem-se mapas com a melhor atualização possível. Outra vantagem é o fato de não ser necessá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ço do serviço ou selecione da lista:</b> | |
88 | - <p>(após selecionar o serviço clique em 'listar temas' para ver os temas disponí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 ' class=executar size=25 /></div> | |
91 | - <p><b>Lista de serviços cartográficos cadastrados (clique para selecionar)</b><br> | |
92 | - <div class=listaServico id=resultadoRSSwms ></div> | |
93 | -</div> | |
94 | - | |
95 | -<!-- escolher um serviço de dados --> | |
96 | -<div id=RSSws style='display:none;' class=corpo> | |
97 | - <p><b>Digite o endereço do serviço ou selecione da lista:</b>(após selecionar o serviço clique em 'Escolher função' para ver as opções disponí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ção ' class=executar size=25 /></div> | |
100 | - <p><b>Lista de serviç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ário ver a lista de serviços cadastrados no i3geo e acessá-los para testes. | |
111 | - | |
112 | -About: Licença | |
113 | - | |
114 | -I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
115 | - | |
116 | -Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
117 | -Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br | |
118 | - | |
119 | -Este programa é software livre; você pode redistribuí-lo | |
120 | -e/ou modificá-lo sob os termos da Licença Pública Geral | |
121 | -GNU conforme publicada pela Free Software Foundation; | |
122 | - | |
123 | -Este programa é distribuído na expectativa de que seja útil, | |
124 | -porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
125 | -de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
126 | -Consulte a Licença Pública Geral do GNU para mais detalhes. | |
127 | -Você deve ter recebido uma cópia da Licença Pública Geral do | |
128 | -GNU junto com este programa; se não, escreva para a | |
129 | -Free Software Foundation, Inc., no endereç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âmetros indicando o tipo de serviço e o endereç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> |