segunda-feira, 30 de dezembro de 2019

Sapo Mapas - serviços sem chave que ainda funcionam

Dando uma vista de olhos pela API de Mapas do SAPO,

Deixando de parte a API em javascript, até porque parou no Openlayers 2.13.1



E também porque tem Ortofotos que pararam no tempo, em 2007,


(neste caso concreto sei que naquele local deveria estar uma ETAR a qual foi inaugurada em 2009, mas de qualquer forma temos, para confirmar, as marcas de água de 2007)


A título de curiosidade fui eu quem desenvolveu o Modo de Terreno. Foram utilizadas as DEM Utilities (2006) do Matthew Perry as quais ainda não tinham sido incorporadas na GDAL (gdaldem).

Foi também utilizado o IrfanView para edição de imagem.

E o mapa, propriamente dito, foi desenvolvido em Mapserver 5.2.1, e pré-gerado com Tilecache,



Também já cá falei, em Março de 2010, das Curvas de Nível no Mapserver , ou seja, como são representadas no Modo Terreno. Eram, e são, as utilizadas no Sapo.

Diga-se de passagem que ainda há pouco tempo repliquei toda a configuração original de 2009 para geral MBTiles para utilizar em Android em modo offline, sem ter de apontar aos servidores do Sapo Mapas.

De qualquer forma, o Modo de Terreno, em 10 anos, não foi alterado.


Aliás, os HEADERS têm a data de ultima modificação de 2010 (ver sombreado em baixo).

Reparem que o Sapo Mapas não tem nenhuma funcionalidade de clicar no mapa para saber a altitude, ou muito menos um Web Service de Altitudes, funcionalidade da minha autoria também já documentada neste blogue.

Na altura, o Google Maps ainda não tinha um serviço semelhante, e eu achei que disponibilizar a funcionalidade ao Sapo, ou pior, à Portugal Telecom, seria estar a dar pérolas a porcos. E realmente quando aquilo, uns anos depois, rebentou de forma espectacular, realmente o melhor foi mesmo nem sequer ter falado em interpoladores bilineares, ou coisa que o valha!


Serviços


Mas o mais interessante é que através dos exemplos de Serviços da API de Mapas (nomeadamente, Search, Geocoder, Itineraries, ou Directions) podemos, utilizando o separador de desenvolvimento do browser, descobrir os serviços e respectivos parâmetros que estão por trás da API de Mapas (fazer a descoberta do serviço à mão, por assim dizer).

Por exemplo, para o Geocoder,


Podemos ver os parâmetros na Query String, e temos a URL a sombreado,


E não pede chave de API. E podem utilizar JSONP. Vejam o parâmetro jsonTag para a definição de um callback.


Ou alternativamente, pesquisando por http://services.sapo.pt/Maps/ no ficheiro SAPOMapsAPI.js,

e vamos obter,

http://services.sapo.pt/Maps/GetMyLocationJSON
 
http://services.sapo.pt/Maps/SearchJSON
 
http://services.sapo.pt/Maps/GetWhatsHereJSON
 
http://services.sapo.pt/Maps/GetRoute/JSON
 

Procedimento semelhante para deduzir os parâmetros para estes quatro endpoints, 
através do código javascript. 
 
 
Como estes serviços são necessários para alimentar a API de Mapas, e o Portal de Mapas, 
enquanto estes não forem descontinuados, temos uma certa garantia de que os serviços 
continuam a funcionar...  e sem chave!

























terça-feira, 17 de dezembro de 2019

ArcGIS: GDAL e PROJ.

Dando uma vista de olhos pelo documento:


Tem a data na ultima página:



E trantando-se de um documento com 562 páginas felizmente temos no final um resumo em forma de tabelas com as licenças utilizadas, e o(s) respectivo(s) produto(s) em que são utilizadas.

Concentrando-nos na GDAL e na PROJ., o título desta postagem,

Para a GDAL



E para a PROJ.



Ou seja, o documento mais recente faz referência a versões da GDAL e PROJ que não são propriamante as mais recentes. Ou recentes de todo.

E realmente ver alí ArcGIS 10.5 quando o 10.5 foi lançado em 2016 e o documento é de 2019. E a versão mais recente 10.7 foi lançada em 2019.

Ou  ver os ArcGIS Runtime 10.2.x para os quais ficamos a saber que utilizam  GDAL 1.6/1.8.

Será que os mais recentes ArcGIS Runtime 100.x os quais já andam por aí há um bom par de anos não utilizam GDAL? Ou será que todos aqueles formatos RASTER suportados pelos ArcGIS Runtime 100.x passaram a ser lidos utilizando outra coisa qualquer?

Detalhes sem importância.

Até porque contribuíram com $30.000 para o GDAL Coordinate System Barn Raising do ano passado,


Não vejo lá é uma empresa que utiliza GDAL (e PROJ.) nos seus produtos. Os suspeitos do costume!!

Enfim!

Esta questão das licenças de terceiros depois faz com que apareçam pérolas destas em documentos oficiais:

 

 







segunda-feira, 16 de dezembro de 2019

Novos, e velhos, desenvolvimentos nos aplicativos mobile para municípios

Relativamente à temática, digamos, de apps mobile para autarquias de disponibilização ao cidadão, ou não,

A já anteriormente mencionada "Empresa sueca de gestão de ocorrências", parece que levou uma razia a nível nacional, ou seja, a maioria dos clientes não foi para a recarga, e  até identifiquei casos de transvase para a Edubox (Grupo Skillmind, ou seja, Go.Water, Go.Alert, Go.Tourism, Go.Municipal,  outro post, e assim sucessivamente),


tendo esta se tornado a grande sensação deste sector de actividade, estando inclusive quase a alcançar a fasquia das 50 apps.


Relativamente à também já mencionada startup de Alcácer do Sal apareceram por aí umas apps com SIG no nome,


Pelos vistos, nem as boas gentes lá da terra adoptaram as apps do rapaz, continuando de pedra e cal, fíéis à tal empresa sueca, por enquanto, até quando logo se verá,


Voltando ao SIG. Por exemplo esta, SIG - Património  


..não actualizada desde Novembro de 2018 e na banda dos +1 downloads! O marketing falhou!

Espero bem que não esteja inserida em nenhuma incubadora de startups aí de um banco qualquer!

Seria cómico se não fosse o facto de a startup de Alcácer se ter ido tentar sentar à mesa dos crescidos, nomeadamente o monopólio partilhado de gestão documental da AIRC - Medidata.

As quais se encontram devidamente representadas na arena mobile,

https://play.google.com/store/apps/developer?id=AIRC

https://play.google.com/store/apps/developer?id=Medidata


Aliás quando vi a startup a ser falada no Futuro Hoje da SIC fiz logo a leitura da situação. Até porque o Lourenço Medeiros nunca acerta!! Aquele tipo da SIC dos gadgets, sabem quem é?



 


sexta-feira, 6 de dezembro de 2019

Intergraph: até poderia utilizar Leaflet em vez de Openlayers (será?)

Numa postagem anterior referi que no respectivo Portfolio da "coisa" para a Versão 2020, a WEB integrava com o MOBILE

E até aventei, em modo de ave de mau agoiro,

A versão 2020 até poderia utilizar Leaflet em vez de Openlayers (será?) que isso deixaria de ser transparente para o utilizador 

E realmente, em Novembro de 2019, foi publicada a respectiva app para Android, mas que agora se chama GeoMedia® WebMap Mobile

Isto, apesar de pelo endereço da app ficarmos a saber que é o tal anterior Mobile Mapworks (MMW)

https://play.google.com/store/apps/details?id=com.intergraph.mobilemapworksadv

aliás, tem a data de actualização de Novembro de 2019, mas a data de publicação inicial é de Fevereiro de 2017!

E, a título de curiosidade, na secção About, em Acknowledgements temos lá o Leaflet, mas não o Openlayers,



Mas, e esta é a parte mais interessante: Isto apesar de a app continuar a utilizar Openlayers, a tal versão de debug, da qual também já cá falei!



Ou seja, para quem vai ver as licenças nada disto bate certo!!

terça-feira, 3 de dezembro de 2019

Estátua de D. José I 

Pergunta: qual é o código postal da Estátua de D. José I na Praça do Comércio? A resposta a essa pergunta paga direitos de autor?

Agora a questão já não faz muito sentido porque temos o ATOM do INE ( não se esqueçam que as coordenadas do ATOM têm uma carrada de casas decimais, 6 ou 7 servem perfeitamente,...e a coluna com o identificador do INE também pode ir à vida).

Vem isto a propósito das questões relacionadas com as supostas restrições à utilização do famoso ficheiro dos CTT, assunto recorrente nos fóruns do https://www.portugal-a-programar.pt, aqui há uns tempos.

Sempre me cheirou a "desculpas de mau pagador", por não saberem extrair a informação relevante do ficheiro (as tais expressões regulares para extrair os pares, ímpares,... as preposições, blah, blah, blah).

É claro que o ficheiro disponibilizado ao público foi concebido de forma a ser intragável de processar. Mas essa é outra questão. E se não gostam podem sempre vender a empresa a descoberto. Está cotada na bolsa!

Agora. Já tenho feito pedidos de atribuição de número de porta para substituir o número de lote, e sei o que se paga em taxas e taxinhas. Se a informação é de alguém, é MINHA!

Ou como disse alguém: "olha, no Verão percorri o País de Norte a Sul, e recolhi a informação de todas as frentes de quarteirão do País. Vê lá tu que fui confirmar, e estava igualzinho ao ficheiro que me mandaste"!!!

O mailman não tem estatísticas?

Não consigo perceber se o mailman tem estatísticas. 


Não estou a falar dos arquivos mensais das mensagens. 

Estou a falar de estatísticas por utilizador  que permitem ver quem é o spammer de serviço.

OK. No arquivo de mensagens dá para ver se num mês só há mensagens de uma pessoa. Mas nada mais.

Às vezes é suficiente para correr com o pessoal todo. 

Faz como eu. Arranja um blogue. Ou vai para o SO!

sexta-feira, 22 de novembro de 2019

ArcGIS: como é que estamos de visualizadores javascript?

Nota: não me apetece falar do Web AppBuilder for ArcGIS (Developer Edition)

Motivo: Para mim, ou é mesmo "no coding required" / "without coding", ou não é. Partindo do princípio que há realmente alguma diferença entre Low-Code e No-Code.

Que o diga quem já teve de utilizar OutSystems, mas como não é geo (ver o nome deste blogue!), não vou falar do assunto.

Siga,

Uma pesquisa por "viewer" restringida a javascript,  no GitHub da ESRI, devolve 13 repositórios.

Acho piada ao SimpleViewer mas já não é actualizado há mais de 2 anos. Por acaso até tem a data de 2015. Velhinho!




Queria ficar pelos visualizadores que foram actualizados no presente ano (2019 está a chegar ao fim, há que fazer balanços!), mas haveria pouco para mostrar.

Temos o  Imagery Viewer (Template), para o qual há 4 Demos, e como foi actualizado em Janeiro de 2019, vamos mostrar...
Agricultural Production Assessment



Interessante também, é o Summary Viewer (Template), apesar de já não ser actualizado desde Junho de 2018,






O Classic Viewer (Template). Este até tenho pena que não tenha sido actualizado desde Abril de 2017.





O Story Map Basic. Olha, foi actualizado em Dezembro de 2018, e é giro,






Só mais um! Este já nem sei de que repositório é que é! Vocês que procurem!..Mas também tem muito bom aspecto.






Já agora. Há por aí muito pessoal que tenha andado a comprar coisinhas destas como se tivessem sido feitas de raíz? Ou seja, pagar a preços de desenvolvimento aquilo que é feito configurando ficheiros de texto, ou as vezes nem isso?! Gato por lebre, portanto!! Como se fazia com o Flex e o Silverlight!






segunda-feira, 18 de novembro de 2019

Intergraph: GDAL, proj4js, Openlayers, Leaflet, OpenJump, e muito mais

Já cá falei das licenças de software de código aberto utilizadas pelo Mobile MapWorks



mas não referi o facto de no MMW os dados vectoriais serem guardados em cache no formato Geopackage. E também há Mobile SDK para MW (já lá vamos).

Ora, como o MMW é anterior ao suporte a Geopackage no Geomedia (também já cá falei disso), tinham/têm um tutorial para gerar Geopackage (para depois andar a copiar à mão de e para o dispositivo móvel, nada de sincronização!!):


... cheio de referências a GDAL (ligações para o Gisinternals e tudo!),  OpenJump, e mesmo o visualizador em javascript da NGA:


Tudo muito "Geopackage no Browser", se é que me faço entender!! Viram na tabela anterior Openlayers e libgpkg ?

Outra referência a GDAL, em modo de tutorial, temos em:


sobre como ser integrada no Geospatial Portal SDK. No tutorial até dão como exemplo, importar/exportar uma shapefile! Hum, se não for com a GDAL, não dá?!

Mas o mais interessante é o utilitário ogr2ogr.exe ser chamado directamente. Não há cá nada de chamadas de API! Numa arquitectura cliente-servidor deve ser altamente escalável!!

 


Também há este tópico de um tipo que anda às aranhas para integrar GDAL num plugin para Smart Client!


Isto é tudo muito... pagar para depois ir utilizar código aberto!!! 

Mas também há... utilizar código aberto sem que isso seja transparente para o utilizador (as licenças de terceiros são difíceis de encontrar!). Ou para o programador (exemplo, estar a utilizar Openlayers sem poder ir à comunidade oficial do Openlayers, ou ao SO, tirar uma duvidazinha, só porque o OL está abstraído numa camada intermédia de software, ou Leaflet em vez de Openlayers).

Seguindo,


Na seccção RASTER ACCESS temos lá GDAL, Libgeotiff, MrSID DSDK and ESDK, e muito mais.

Na seccção NATIVE UTILITIES pouca coisa geo (GeoTrans, LibKML,..), mas dá para ficar com uma ideia das tais camadas de abstração sobre software de código aberto mais geo

Na seccção JAVA UTILITIES muita coisa que não tem nada a ver com JAVA (não sei porque está lá): jQuery, Leaflet, proj4leaflet,... e outras coisas que tais.

As três restantes secções ficam como Trabalho de Casa!

Apenas a nota de que algumas licenças são de software fechado (como o MrSID), e que as licenças tanto são para servidor (WEBMAP) como para cliente (PORTAL). Enfim, a suite de WEBGIS. Mas só versão 2018, ainda. Versão 2020, para a qual o WEB integra com o MOBILE, ainda não vi a publicação de licenças de terceiros (nem demos, diga-se de passagem). Fica para depois.


Só uma nota final para  o Mobile MapWorks 2015 Administrator Guide o qual já não está disponível na respectiva comunidade, mas que ainda está em webcache no Google

https://webcache.googleusercontent.com/search?q=cache:FUNw8yCSPpcJ:https://community.hexagongeospatial.com/hmrkh95973/attachments/hmrkh95973/KS_Mobile_Release_Information/1/1/Mobile_MapWorks_2015_Administrator_Guide.pdf+&cd=1&hl=en&ct=clnk&gl=pt&client=firefox-b-d#63

...onde estava não só o tutorial já mencionado que utilizava GDAL e OpenJUMP, como referências a Openlayers e proj4js, por todo o lado. Sendo referente à versão MMW 2015, dá para ficar com uma ideia sobre as tais camadas de abstracção que foram sendo introduziadas. A versão 2020 até poderia utilizar Leaflet em vez de Openlayers (será?) que isso deixaria de ser transparente para o utilizador (ver os sombreados):