Esta é uma continuação da minha pergunta anterior sobre o nosso projeto sobre como sair economicamente da implementação de um cemitério em um sistema GIS ...
No cemitério, podemos encontrar
- Sepulturas regulares: até 2 pessoas
- Sepulturas familiares: mais de 2, algumas até 20 (irmãs de uma congregação católica…)
- Monumento da Guerra: cerca de 30 pessoas
- Área de dispersão de cinzas: ilimitada, começando com 100 pessoas
- Campos com urnas funerárias: até 2 por ponto
- Paredes com urnas funerárias: até 3 de altura
Então, qual é o melhor caminho a seguir, definindo:
- cada pessoa como um objeto POINT
- cada sepultura como um objeto POINT, as pessoas fazem parte dos atributos
Eu escolheria para cada pessoa como um objeto POINT:
- Um arquivo CSV simples para todas as pessoas.
- As colunas podem ser, por exemplo: FirstName - FamilyName - YearDeceased
- Independente do número de pessoas em um túmulo
- Dessa forma, até a ÁREA DE DISTRIBUIÇÃO DE ASH pode entrar no arquivo
- Eventualmente, algum código deve ser escrito para adicionar aos resultados de uma pesquisa as outras pessoas enterradas no mesmo túmulo
Complicações que vejo com cada sepultura como um objeto POINT:
- Cada linha precisa das colunas para o número máximo de pessoas em uma cova…
- Isso significa que muitas células estarão vazias devido a poucas sepulturas com muita gente
- Mas o que acontece com a área de dispersão de cinzas? 100 pessoas exigem todas as colunas adicionais na tabela…
- Não é razoável ter todos os dados em um arquivo CSV, mas ter mais arquivos complicará bastante o assunto.
Portanto, comentários são bem-vindos: pessoa ou sepultura como objeto POINT? Ou nada disso e eu preciso fazer de outra maneira?
Na minha cidade, há 3 anos, eles tinham um escritório que criava arquivos SHP para eles. Entreguei esses arquivos e notei que os túmulos são desenhados como polígonos. Isso vem com um arquivo DBF para os "dados dos túmulos". As sepulturas normais têm 4 conjuntos de coordenadas, parece lógica. Mas algumas coisas me parecem absurdas:
- Existe uma “parede da urna” com columbárias hexagonais desenhadas como um conjunto de figuras hexagonais… Isso significa que cada figura tem 6 conjuntos de coordenadas…
- Na “área de dispersão de cinzas”, há um pilar com poucas placas de identificação retangulares, eles desenharam um POLÍGONO retangular para cada placa de identificação com 4 conjuntos de coordenadas… Para mim, usar POLÍGONOS nesses casos parece muito exagero no banco de dados.
Além disso, corrija-me se estiver errado, usando:
- POLYGONS requer arquivos DBF, portanto, um editor DBF (custos extras)
- POINTS requer apenas arquivos CSV; portanto, o EXCEL é suficiente (sem custos adicionais)
Na maioria das cidades, os dados das pessoas falecidas vêm em um arquivo CSV:
- feito diretamente no EXCEL ou
- exportado de um programa baseado em DOS, feito quando o WIN95 ainda estava por aí…
Continuar gerenciando os “dados das pessoas” em um arquivo CSV e o EXCEL evita:
- compra de software que pode editar arquivos DBF
- preocupando-se com a importação de “dados de pessoas” para o arquivo DBF Parece que nem sempre é fácil importar, editar e salvar dados do CSV em arquivos DBF e não danificar seus dados. Eu li que esse pode ser o caso, especialmente quando se trabalha com ArcGis (ESRI).
Respostas:
Eu seguiria o caminho complicado: duas tabelas em uma relação 1: n
Você pode criar uma relação entre as duas tabelas para que a seleção de uma sepultura selecione todos os registros de pessoas na tabela de pessoas.
A idéia de ter tabelas com campos como Person1, Person2 ... é um design horrível e ruim.
fonte
Eu criaria um polígono para o túmulo, já que o túmulo em si é um lote de terra e tem uma relação de muitos para o povo; um túmulo pode ter zero (desocupado, disponível ou à venda?) ou muitas pessoas. Você também pode usar um ponto em vez do polígono. Os polígonos fariam melhores apresentações para vendas e manutenção.
fonte
Eu aceitaria a sugestão de DenaliHardtail de usar polígonos para representar tamanhos precisos dos gráficos. Essa camada pode ter uma tabela com Grave_ID, Grave_Type, Grave_Capacity e Grave_Occupancy_Number. Então você pode ter uma camada de pontos com pontos sobrepondo os polígonos graves correspondentes. As colunas para a tabela da camada de pontos podem ser Person-ID, First_Name, Family_Name, Data de Nascimento, Deathdate, Graveowner e Grave_status (Vendido, Desocupado, etc.). Em seguida, você pode incluir o Grave-ID correspondente para cada pessoa, para combinar pessoa com sepultura e criar uma única tabela do Excel posteriormente com todas as informações de sepultura e pessoa individual.
fonte
A normalização dos dados me leva a algumas idéias / pontos ausentes. Além disso, acho que o Excel pode fazer tudo o que você deseja para o "banco de dados" que você considera. Dica: use folhas ou vários arquivos e use variações das funções de Pesquisa. Salve nos arquivos úteis para importações / pesquisas do QGIS
Eu imagino essas tabelas discretas [ou folhas de excel], para iniciar seu conjunto de dados. Cada planilha / arquivo é facilmente mantida por usuários iniciantes, desde que as colunas sejam claramente fornecidas (e congeladas como uma linha superior ...), e o iniciante é lembrado de que os IDs são únicos e permanecem inalterados depois de atribuídos. As folhas e colunas:
Para a mentalidade do Iniciante, não sugiro que você normalize completamente os problemas de identidade e suas colunas, da maneira como eles se sobrepõem entre proprietários e falecidos, e cria desnecessárias 1-muitas tabelas auxiliares com nada além de vários IDs. Eu imagino um 1 para 1 entre as tabelas de plotagem e de proprietário, como um compromisso pela simplicidade
Acho que essa configuração generalizada abordará questões como: pilhas de cinzas, criptas de parede, rastreamento de proprietário / mantenedor, vários falecidos em uma trama e muito mais.
Por fim, lembre-se de criar algumas linhas permanentes nas duas tabelas / folhas para o proprietário e o falecido: proprietário desconhecido; falecido desconhecido; múltiplo desconhecido falecido; possuído pelo cemitério; não possuído; etc.
fonte