Closed alexandre-mbm closed 9 years ago
Não sei se entendi o contexto, mas talvez ajude: feição é cada um dos elementos (polígono, linha, ponto, etc) presentes em um shapefile ou em um banco de dados.
A pergunta é: será que esse ID
é chave compartilhada com outros shapefiles? Claro que eu posso checar isso realizando consultas, mas talvez algum de vocês já tenha a resposta.
Olhando TileMill/data/GEOLOG/XLS/DEINFO_DICIONARIO_GEOLOG.xls
, parece que não.
Isso que estou procurando é bobagem, pois é o caso de se fazer geo consultas. Como é de se esperar. Acontece que, segundo li no tópico que há no fórum, sobre a importação de buildings, os interessados só identificaram áreas muito grandes ou muito pequenas.
Vou ver de que tamanho é uma quadra ou um setor fiscal. Ainda não sei.
Exemplo de quadras: gist 53cbf6bbb1db7b0cff55. São 57073. Dois arquivos, não sei se redundantes. Exemplo de setores: gist 797826b75f969524aa07. São 314.
Minha proposta de divisão (que vou fazendo enquanto tiver tempo antes de viajar → fui: 29/09 16h38):
Isso poderia ser feito ainda em fases GDAL, usando ogr da biblioteca osgeo do Python, mas eu quero fazer com a Shapely. Para treinar diretamente a manipulação de GeoJSON, no sentido de me preparar para alexandre-mbm/osm-tasking-manager2#4: Importação de Mapillary.
Dica sobre modo de testar
Para fins de teste (ou até finalização em partes), trabalhar com bbox limitante no centro de São Paulo, ou com um ou alguns dos polígonos de setores — inchados ou não — como extent invés da bbox. Para não pesar a renderização de pré-visualização em geojson.io.
Em GNU/Linux o resultado do script pode ir para a área de transferência com muita praticidade:
$ python genareas.py | xclip -sel clip
Daí é só fazer Control+V
no geojson.io para ver o teste.
Recursos úteis
Pendências
geojson.loads()
invés de adentrar demais o JSON
O que é o identificador da feição, num shapefile?
Ou: qual é o termo em inglês?
Já agrupei a consulta por
CODL
, mas saber desseID
pode ajudar com outras. Ou seja, já tenho um JSON de logradouros mas estou cogitando agrupá-los de alguma forma, antes de fazer os polígonos para o Tasking Manager. Assim as tarefas não ficariam tão pequenas.Se
ID
não for um campo que possibilite agrupamento, uma alternativa ainda é agrupar os polígonos "manchas" de logradouros por bounding boxes. Estou investigandoID
. Registro isso aqui para o caso de não dar tempo e eu viajar sem terminar. São ideias. Farei commits num diretório tasking-manager.