Obrigado a todos pelas ajudas. Qualquer outra questão, por favor avisem.
Acho que está OK agora, esquematizada a questão dos overlappings em 2D. Resolveu usando layer=* (p/ casos de compartilhando ways) ou multipolígono (p/ casos de um dentro sem compartilhar ways ou 2 outer grudados no mesmo nível) . Uma vez que para a maioria destes de importação, se não houveracesso a mais informações, não tem como fazer 3D ( building:levels=*, building:part=*, etc). Não penso em colocar agora os prédios que seja possível para 3D (bulding:levels, etc), depende muita coisa de survey, muitos possivelmente não dá pra ver em imagens atuais. Muitos prédios talvez possa com o Mapillary. Mas deixar pra outros se divertirem. A estrutura básica 2D com as formas já fica assim montada, sem overlapping. Também ajuda para outros que quiserem adicionar POIs e mais dados, encontrando os prédios certos. Quem quiser, adiciona as tags 3D e altera. Alguns fiz em 3D, para ver se dava certo. Bem conhecidos como a casa de Cultura, ou que dá para ver na imagem (como a Galeria Malcon; pra isto serve a distorção lateral de imagens, pra contar número de andares). Testei as tags para 3D e tá validando tudo OK no 2D. Ainda tou vendo se fica OK no 3D. O validador só acusa ainda 1 única coisa: "relation type unknown" (mas na verdade tá certo com o type=building). Sigo preparando a importação de prédios para os outros bairros, com o esquema resolvido para casos de overlappings com layer (acho que uns 5% do total, com o que tenho visto). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Paralelamente, pensei numa coisa, se seria possível desenvolver um script (programa externo ou plugin para JOSM) para: -Resolução de overlapping com criação automática de layers, com 2 objetivos: a)-resolver problema de polígonos de building sobrepostos na mesma área (mesmo terreno), adicionando layer nos sobrepostos; b)-com isto ao mesmo tempo fica esquematizada uma estrutura básica para adicionar relação 3D (futuramente só procurando os polígonos com tags layer=* + building=* por building:part=* building:levels=*). Acham que seria útil? Não entendo muito de linguagens de programação, e menos ainda das dos últimos 25 anos para cá. Acho que poderia ser "mais ou menos" assim uma lógica (a testar) para resolver overlapping para 2D: -analisa uma massa de polígonos; -encontra e retorna os que estão em overlapping (os grudados em um lado não acusa, não dá problema); -destes, encontra e retorna a maior área (o "outline", a base, ou projeção total das demais áreas); -das demais áreas que estão sobre o outline, analisa: -se estão dentro, então cria multipolígono; -analisa as áreas destes multipolígonos e dos demais polígonos sobrepostos ao outline, então cria "layer=anterior+1" (limite=5) para os sucessivamente menores que o outline, a base (supondo comum que se há volumes sobrepostos, os de menor área estão sucessivamente mais acima - a verificar se vale para todos os casos). O maior que não tem outra subdivisão grudada é sempre o outline. Se tiver outro apenas grudado, é outro prédio, podendo ser no mesmo terreno. Mas não analisa junto, não é problema de overlapping. Não resolve todos os casos. Se tiver mais de 5 layers (só vi o da Galeria MAlcon), teria que separar para usar building:levels. (acho que não serviria para criar building:levels automático, pois tem que avaliar o número de pavimentos com imagem, survey ou dados externos) Se fosse para preparar para 3D (mas o script não pode adivinhar os building:levels, teria que fornecer), acho que poderia ser "mais ou menos assim" a lógica: -encontra e retorna os que estão em overlapping (os grudados em um lado não acusa, não dá problema); -cria com estes relação type=building -para a área maior, adiciona: role=outline building=* -para as demais áreas sucessivamente menores, adiciona: role=part building:part=* building:levels=* building:min_level=* heigth=* min_height=* (NOTA: o building=* do outline não é usado para o 3D se tiver outros com building:part=*; para fazer a base, tem que repetir a do outline como "part", sem nós duplicados, e adicionar as tags semelhantes às demais, sem building:min_level=*, para que se torne a primeira) Acho que seria mais ou menos assim. - - - - - - - - - - - - - - - - Sérgio / user:smaprs
_______________________________________________ Talk-br mailing list Talk-br@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-br