[Talk-br] RES: RES: OSM - CNEFE

Lucas Ferreira Mation lucasmation em gmail.com
Quarta Setembro 30 13:59:42 UTC 2015


Arlindo. Concordo com você. A idéia de parear é para acertar nomes de ruas
e  atribuir endereços.
Uma segunda idéia é usar os dados do OSM (supondo que estejam certos) para
corrigir o shapes de setor censitário do IBGE. Mas nunca corrigir o OSM com
base nos shapes do IBGE, até porque são bem mais agregados (por setor
censitário) e, estes sim, sabemos que tem problemas

2015-09-30 10:52 GMT-03:00 Arlindo Pereira <openstreetmap em arlindopereira.com
>:

> Não manjo de GIS para opinar sobre os trechos de código referidos, mas eu
> acho que pegar os nomes de rua do CNEFE para o OSM e corrigir um eventual
> desalinhamento do OSM são duas tarefas distintas, que seriam melhor
> atacadas separadamente.
>
> []s
> Arlindo
>
>
> 2015-09-30 9:53 GMT-03:00 Lucas Ferreira Mation <lucasmation em gmail.com>:
>
>> fantástico Marcos,
>>
>> eu já "ataquei" várias linhas das que você sugeriu, mas ainda não
>> completei. Tenho trocado algumas idéias a respeito, off-line do grupo para
>> não tumultuar muito por aqui, com o  Peter Krauss. Podemos te incluir na
>> conversa.
>>
>> Vamos por partes:
>>
>> A) A primeira grande dúvida que eu tenho é quanto podemos confiar no
>> posicoinamento das ruas do OSM? Por exemplo, quando o shape de setor
>> censitário e o OSM não batem, como eu posse ter certeza que o certo é o
>> OSM? Será que o mapeador não se baseou numa imagem de satélite que também
>> estava deslocada? Enfim, no meu código estou de certa forma tomando o
>> posicionamento de ruas do OSM como "verdade", mas seria bom pensar um pouco
>> melhor nisso. Eu vi nos vídeos do SotM-Latin-America-2015 um cara da Mapbox
>> apresentando como eles tem umas técnicas para corrigir o posicionamento de
>> ruas do OSM, que aplicaram no Japao e em Lima.
>>
>>
>> B) Agora de manhã estou trabalhando nesta idéia de usar os quarteiroes
>> que parearem e que sejam setores de um só quarteirão como pontos de
>> controle para corrigir a malha de setores censitarios.
>>
>> Dos 95mil  quarteiroes que eu consegui parear, 952 são setores com um
>> único quarteirão (que são os que de fato podemos parear no momento). Estes
>> 952 setores são de 81 municípios (eu estava com esperança de que seriam
>> mais). Para estes eu vou calcular a distancia (ST_distance) e o angulo
>> (ST_Azimuth) entre os centroides das quadras pareadas do OSM e do CNEFE.
>> Como você falou isso vai nos dar uma lista de pontos de controle.
>>
>>  Com isso podemos:
>> b1) ter uma lista de "margens de erro" do shape de setor censitário para
>> cada municipio (ou melhor pros 81 muncípios em que há estes casos). Isso
>> serve para definir o buffer (max(ST_distance) para usar quando parear o
>> shape de setores censitarios com os ruas do OSM (como você sugere).
>> b2) Usar os pontos de controle para corrigir o shape de setor censitario.
>> Isto é, fazer uma transformação afim (que estica partes do mapa e contrai
>> outras partes) com base nestes pontos.
>>
>> C) De fato a podemos usar o shape de setores para aproximar mais o
>> pareamento espacial (atualmente eu só usei os municípios) antes de parear
>> as quadras pelo nome. E com isso podemos aumentar ao grau de tolerancia nos
>> pareamentos fuzzy. Este pareamento OSM - poligonos de setor censitario
>> também é útil para a outra grande metade do projeto (na qual ainda não
>> avancei muito) que é sugerir nomes para ruas sem nome no OSM a partir do
>> CNEFE.
>> Eu já tentei rodar uma query para fazer isso
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> 2015-09-30 9:14 GMT-03:00 Marcos Fedato <heroijapa em hotmail.com>:
>>
>>> Caros,
>>>
>>> Eu trabalhei alguns anos com essa parte de endereçamento e tenho muito a
>>> ajudar nesse processo do CNEFE.
>>>
>>> Além dos acentos e da lógica fuzzy (que pode adicionar erros), podemos
>>> usar alguma coisa de fonética brasileira(que pode adicionar erros) e
>>> tabelas auxiliares(que pode adicionar erros) com nomes padrão, dando
>>> replace em erros conhecidos de grafia (AKA: juscelino kubitschek é
>>> difícil de escrever).
>>>
>>> Tem esse algoritimo em Delphi que eu achei uma vez, que faz um trabalho
>>> fantastico de fonética BR (tecnicamente não é BR é do Portugês) (AKA:
>>> soundex não é bom para matches exatos) http://pastebin.com/KpYxxw5e.
>>>
>>> Vamos supor que o "quarteirão" tenha 4 ruas e 3 delas tem nome no OSM e
>>> estes nomes batem, a gente pode supor que a rua que faltou no OSM tem o
>>> nome da rua que sobrou no CNEFE.
>>>
>>> A gente pode usar não só os municipios, mas também os setores
>>> censitários para achar exatamente onde estão os nomes faltantes.
>>>
>>> Os setores censitários tem uma tabela de descrição do entorno. É um
>>> campo de texto livre para cada setor falando as ruas por onde ele é
>>> delimitado. Com alguma inteligência a gente pode quebrar esse campo em ruas
>>> e cruzar com o OSM também.
>>>
>>> O problema conhecido de cruzar diferentes bases de dados espaciais é o
>>> deslocamento que pode haver entre uma e outra, tenho alguns esboços
>>> interessantes de como resolver isso saíndo do mundo tabular e utilizando
>>> GIS.
>>>
>>> Minha ideia se baseia em 2 coisas, achar alguns setores por cidade onde
>>> tudo bate e usar eles como referência de posicionamento. Depois extrapolar
>>> o erro destes setores para os setores próximos encaixando eles no lugar
>>> mais próximo do correto. (se o setor que a gente sabe que bate com o OSM
>>> estiver 5m para a direita, o setor vizinho dele estara provavelmente a algo
>>> próximo de 5m a direita também, pois eles tem paredes que se tocam)
>>>
>>> Existe também o problema de ruas que de fato mudaram de nome, podemos
>>> usar a tag old_name do OSM neste processo, se o nome do CNEFE constar lá,
>>> não é erro, realmente foi mudado o nome da rua.
>>>
>>> Então os dados seriam OSM(Vetor, Name, Alt_Name, Official_Name, Ref,
>>> Old_Name, No_Name), CNEFE, Shapes dos setores censitários, Descrições dos
>>> setores censitários.
>>>
>>> Pegar as áreas verdes (acho que village_green e park) com nome seria
>>> legal também, pois muitas praças dão nomes a logradouros, mas nem sempre
>>> isso se reflete na base de arruamento.
>>>
>>> Eu quero muito de ajudar nisso, estudei isso do OSM e do CNEFE bastante
>>> tempo e por isso tenho bastante conhecimento para tal, se tiverem interesse
>>> em expandir essa conversa além da lista (dá uma preguiça de escrever e a
>>> discussão demora, principalmente para brain storming) estou disposto a
>>> participar de discussões via áudio sobre o tema em horário não comercial e
>>> depois a gente pode colocar na lista um resumo para não perder o histórico.
>>>
>>> Sou programador experiente, posso ajudar a desenvolver rotinas de
>>> transformação de texto, consultas e análises espaciais necessárias para
>>> esse processo.
>>>
>>> Parabéns pelo trabalho até então, essa iniciativa é 10, somando esforços
>>> a gente vai destruir de deixar o OSM completo!
>>>
>>> Atenciosamente
>>> Marcos Fedato
>>>
>>>
>>> ------------------------------
>>> Date: Wed, 30 Sep 2015 01:33:03 -0300
>>> From: lucasmation em gmail.com
>>> To: talk-br em openstreetmap.org
>>> Subject: Re: [Talk-br] RES: RES: OSM - CNEFE
>>>
>>>
>>> coloquei agora.
>>> Mudei o codigo mesmo , que estava grande demais pro Readme para
>>>
>>>
>>> https://github.com/lucasmation/osm_cnefe_import/blob/master/OMS_and_CNEFE_blocks_matching.sql
>>>
>>>
>>>
>>> 2015-09-29 15:45 GMT-03:00 Márcio Aguiar Ribeiro <
>>> aguiar.marcio em gmail.com>:
>>>
>>> Oi, Lucas!
>>>
>>> Muito bom! Eu venho planejando fazer isso faz um tempo já. Entrei no
>>> repositório e fiquei fuçando o código e o que eu entendi é que ainda não
>>> está disponível, certo?
>>>
>>> Marcio Aguiar Ribeiro
>>>
>>> 2015-09-28 13:19 GMT-03:00 Lucas Ferreira Mation <lucasmation em gmail.com>
>>> :
>>>
>>> Pessoal,
>>>
>>> retomando este assunto:
>>>  consegui (finalmente!!!) cruzar os quarteirões do CNEFE com os do OSM.
>>>
>>> O Cnefe tem 2.1 milhões de quarteirões.
>>> O OSM tem 1.6 milhões de "quarteirões" (os quarteirões são algo que eu
>>> mesmo crio, a partir da interseção das Ruas do OSM). Destes apenas 480 mil
>>> tem todos os lados nomeados.
>>>
>>> O primeiro critério do cruzamento foi que os quarteirões tinham que cair
>>> no mesmo município (a partir do shapefile de municípios de 2010 do IBGE). O
>>> 2o critéiro foi que os nomes de todas as ruas que compõem o quarteirão
>>> batessem nas duas bases.
>>>
>>> Com este critério consegui identificar 95mil quarteirões do CNEFE no
>>> OSM. Para estes quarteirões temos todos os endereços que estão no CNEFE.
>>>
>>> Os municípios com mais quarteirões são:
>>>
>>> São Paulo - 5mil.
>>> Bejo Horizonte -  3,5mil
>>> Curitiba - 3.2mil
>>> Campo Grande - 2.7mil
>>> Fortaleza - 1.9mil
>>> Ribeirão Preto - 1.7mil
>>> Rio de Janeiro - 1.5mil
>>>
>>> e assim vai. Encontrei quarteirões em 1822 municípios, mas a maioria tem
>>> menos de 20 quarteirões encontrados.
>>>
>>> Isso foi com pareamento extato. Vou começar agora a testar com fuzzy
>>> matches.
>>>
>>>
>>>
>>> ao longo do dia vou migrar o código para:
>>> https://github.com/lucasmation/osm_cnefe_import
>>>
>>>
>>>
>>> Lucas
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> 2015-07-14 12:12 GMT-03:00 Peter Krauss <ppkrauss em gmail.com>:
>>>
>>> Oi Lucas, ótimo trabalho (!), assim que sobrar um tempo (algum final de
>>> semana) ponho a mão-na-massa, para entender o que voce fez e como podemos
>>> conversar mais tecnicamente ;-)
>>>  (se tiver ilustrações, ex. UML, de modelo de dados para postar no git
>>> também ajuda)
>>> Como sou novato, pretendo seguir um pouco "pelas bordas" e no escopo
>>> mais geral das discussões...
>>>
>>> A ideia geral do projeto de Mapa-do-CEP ainda é rascunho mas pode ser
>>> apreciada em
>>>    http://wiki.okfn.org/Open_Knowledge_Brasil/Mapa-do-CEP
>>> que tal começarmos pelo CEP2?
>>>
>>> - - - -
>>> Quanto os problemas legais (direitos autorais reclamados pela ECT bem
>>> como lei do monopólio) , precisamos de apoio internacional, inclusive da
>>> OSM... Comecei a busca por essa discussão (link abaixo), e senti
>>> receptividade,
>>>
>>> *    http://opendata.stackexchange.com/q/5600/1313
>>> <http://opendata.stackexchange.com/q/5600/1313>*
>>> a parte juridica é importante para não jogarmos nosso tempo no lixo...
>>> Até onde conversei com advogados, se criarmos uma metodologia (algoritmos)
>>> para espacialização do CEP (ver links Wikipedia com preliminares), não tem
>>> problema algum: o primeiro a publicar é o autor... Por isso acho importante
>>> termos resultado a curto prazo de um projeto-piloto com OSM e publicarmos
>>> no http://arxiv.org
>>>
>>>
>>>
>>>
>>>
>>> Em 14 de julho de 2015 11:13, Lucas Ferreira Mation <
>>> lucasmation em gmail.com> escreveu:
>>>
>>> Pessoal, estou colocando o que já tenho de código em:
>>>
>>>
>>> https://github.com/lucasmation/osm_cnefe_import
>>> (que perdoe a lingua portuguesa, escrevi em ingles para poder pegar mais
>>> feedback dos desenvolvedores do OSM no mundo, foruns, etc)
>>>
>>> Peter, bem vindo. Eu usei mesmo esta pergunta do gis.stackexchange. E
>>> elaborei em cima. Esta questão de dois lados do mesmo seguimento de rua
>>> teremo o mesmo CEP eu poderia explorar para melhorar o paramento, mesmo em
>>> quadras não pareadas. Mas o quão certo, 100% é isso?
>>>
>>> abs
>>> Lucas
>>>
>>>
>>>
>>>
>>> 2015-07-13 19:01 GMT-03:00 Peter Krauss <ppkrauss em gmail.com>:
>>>
>>> Oi gente, acabo de me inscrever na lista... Posso participar da
>>> discussão?
>>>
>>> Eu tenho interesse no mapeamento do CEP e do CNEFE, que justamente
>>> ajudam a resolver ambiguidades e
>>> dar mais confiança à geocodificação... Até onde verifiquei, o
>>> Mapa-do-CEP não oferece problema jurídico...
>>> Postei um esboço metodológico da sua construção, na Wikipedia,
>>>
>>> https://en.wikipedia.org/wiki/Postal_code#Codes_defined_indirectly_to_administrative_borders
>>> que acham?
>>> Alguem falou em quadras por aqui, é justamente o foco metodológico...
>>>   http://gis.stackexchange.com/q/80498/7505
>>>
>>> PS: sobre pontos de endereçamento de utilidade publica, um bom projeto
>>> de referencia é o http://adresse.data.gouv.fr/
>>>
>>>
>>> _______________________________________________
>>> Talk-br mailing list
>>> Talk-br em openstreetmap.org
>>> https://lists.openstreetmap.org/listinfo/talk-br
>>>
>>>
>>>
>>> _______________________________________________
>>> Talk-br mailing list
>>> Talk-br em openstreetmap.org
>>> https://lists.openstreetmap.org/listinfo/talk-br
>>>
>>>
>>>
>>> _______________________________________________
>>> Talk-br mailing list
>>> Talk-br em openstreetmap.org
>>> https://lists.openstreetmap.org/listinfo/talk-br
>>>
>>>
>>>
>>> _______________________________________________
>>> Talk-br mailing list
>>> Talk-br em openstreetmap.org
>>> https://lists.openstreetmap.org/listinfo/talk-br
>>>
>>>
>>>
>>> _______________________________________________
>>> Talk-br mailing list
>>> Talk-br em openstreetmap.org
>>> https://lists.openstreetmap.org/listinfo/talk-br
>>>
>>>
>>>
>>> _______________________________________________ Talk-br mailing list
>>> Talk-br em openstreetmap.org
>>> https://lists.openstreetmap.org/listinfo/talk-br
>>>
>>> _______________________________________________
>>> Talk-br mailing list
>>> Talk-br em openstreetmap.org
>>> https://lists.openstreetmap.org/listinfo/talk-br
>>>
>>>
>>
>> _______________________________________________
>> Talk-br mailing list
>> Talk-br em openstreetmap.org
>> https://lists.openstreetmap.org/listinfo/talk-br
>>
>>
>
> _______________________________________________
> Talk-br mailing list
> Talk-br em openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-br
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://lists.openstreetmap.org/pipermail/talk-br/attachments/20150930/e2823117/attachment-0001.html>


Mais detalhes sobre a lista de discussão Talk-br