A rede de postos de carregamento do OpenStreetMap está bastante completa, pelo que me tenho apercebido.
Hoje quis ver que postos havia em Esposende e no OpenStreetMap não estava nenhum registado. Nem um :-(
Por isso, fui sacar os postos da rede MOBI.E para comparar e ver o que poderia estar em falta.
Sacar Postos da rede MOBI.E
Abrir o site da rede MOBI.E.
Abrir as ferramentas de desenvolvimento e selecionar o separador Rede. Eventualmente por um filtro para só apanhar os pedidos que tenham ‘location’. Fazer um refresh da página para apanhar os pedidos feitos ao servidor. O pedido que é apanhado está no seguinte print screen.
Pode-se fazer copy e paste do JSON retornado e guardar num ficheiro. Ou, como se faz no passo seguinte, fazer o mesmo pedido na linha de comando.
Guardar o resultado num arquivo JSON
Com o botão do lado direito, emcima do pedido, pode-se copiar o pedido como “Copy as cURL”. Depois, na linha de comando, faz-se o poste do mesmo, acrescentando duas coisas: a opção -k para não se ter problemas com o certificado e a opção -o mobi-e.json.
O comando será algo do género:
curl 'https://ocpi.mobinteli.com/2.2/locations' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0' -H 'Accept: application/json, text/plain, */*' -H 'Accept-Language: https://wiki.openstreetmap.org/wiki/Tag:en-US,en;q=0.5' --compressed -H 'Origin: https://www.mobie.pt' -H 'Connection: keep-alive' -H 'Referer: https://www.mobie.pt/' -H 'If-Modified-Since: Fri, 30 Apr 2021 15:46:14 GMT' -H 'If-None-Match: "1c097b-5c13283049500"' -k -o mobi-e.json
Transformar o JSON em CSV
O arquivo sacado está em JSON. É um enorme array com todos os postos elétricos. Pode-se transformar em CSV em Python, e aproveita-se para transformar coluna coordinates que está em JSON em duas colunas separadas. Fica assim supor fácil ler o CSV no QGIS ou noutra ferramenta. Também se conta (com a função len) o número de conetores em cada posto.
import pandas as pd
df = pd.read_json("mobi-e.json")
df['latitude'] = pd.io.json.json_normalize(df.coordinates)['latitude']
df['longitude'] = pd.io.json.json_normalize(df.coordinates)['longitude']
df['conetores'] = df.evses.apply(len)
df.to_csv("mobi-e.csv")
O mobi-e.csv pode-se adicionar ao QGIS.
Abrir o CSV no QGIS e comparar com os postos do OSM
No QGIS, adicionar uma camada de texto delimitada.
No QGIS, usando o plugin Quick OSM, fazer uma query com:
amenitycharging_stationPortugal
Acrescentar o mapa OSM como fundo e visualizar no EPSG:3857.
Conclusão
Não há nenhum posto de carregamento em Esposende.
Nota para quem quiser ajudar a verificar as diferenças entre o OSM e a MOBI.E
Deixei um arquivo mobi-e.osm e mobi-e.shp (em zip) numa pasta do Nextcloud.
Discussion