Jak wymodelować cmentarz - jeden punkt za zmarłego lub jeden za grób? [Zamknięte]


12

Jest to kontynuacja mojego poprzedniego pytania na temat naszego projektu, jak ekonomicznie uciec od wdrożenia cmentarza w systemie GIS…

Na cmentarzu możemy znaleźć

  • Zwykłe groby: do 2 osób
  • Groby rodzinne: więcej niż 2, niektóre do 20 (siostry ze zboru katolickiego…)
  • Pomnik Wojny: około 30 osób
  • Obszar rozproszenia popiołu: nieograniczony, począwszy od 100 osób
  • Pola z urnami pogrzebowymi: do 2 na miejsce
  • Ściany z urną pogrzebową: do 3 wysokości

Więc jaka jest najlepsza droga, definiując:

  • każda osoba jako obiekt PUNKT
  • każdy grób jako obiekt PUNKTU, osoby są częścią atrybutów

Dla każdej osoby wybrałbym jako obiekt POINT:

  • Jeden prosty plik CSV dla wszystkich osób.
  • Kolumny mogą być na przykład: FirstName - FamilyName - YearDeceased
  • Niezależny od liczby osób w grobie
  • W ten sposób nawet obszar rozproszenia popiołu może przejść do pliku
  • W końcu trzeba napisać kod, aby dodać do wyników przeszukania innych osób zakopanych w tym samym grobie

Komplikacje, które widzę z każdym grobem jako obiekt POINT:

  • Każdy RZĄD potrzebuje kolumn dla maksymalnej liczby osób w grobie…
  • Oznacza to, że wiele komórek będzie pustych z powodu zaledwie kilku grobów z dużą ilością ludzi
  • Ale co z OBSZAREM ZAKRESU POPIOŁU? 100 osób wymaga wszystkich dodatkowych kolumn w tabeli…
  • Nie ma sensu przechowywać wszystkich danych w jednym pliku CSV, ale posiadanie większej liczby plików bardzo skomplikuje sprawę.

Tak więc komentarze są mile widziane: osoba czy grób jako obiekt POINT? Lub nic z tego i czy muszę to zrobić w inny sposób?

W moim mieście, 3 lata temu, biuro przygotowało dla nich pliki SHP. Przekazano mi te akta i zauważyłem, że groby są narysowane jako POLYGONY. Jest to plik DBF dla „danych grobów”. Normalne groby mają 4 zestawy współrzędnych, wydaje się logiczne. Ale kilka rzeczy wydaje mi się absurdalnych:

  • Istnieje „ściana urny” z sześciokątną kolumbarią narysowaną jako zestaw figur heksagonalnych… Oznacza to, że każda figura ma 6 zestawów współrzędnych…
  • W „obszarze rozpraszania popiołu” znajduje się filar z małymi prostokątnymi tabliczkami znamionowymi, narysowali prostokątny POLYGON dla każdej tabliczki znamionowej z 4 zestawami współrzędnych… Dla mnie użycie POLYGONÓW w tych przypadkach wydaje się zbyt przesadne w bazie danych.

Poza tym popraw mnie, jeśli się mylę, używając:

  • POLYGONS wymaga plików DBF, więc edytor DBF (dodatkowe koszty)
  • PUNKTY wymagają tylko plików CSV, więc EXCEL wystarczy (bez dodatkowych kosztów)

W większości miast dane zmarłych pochodzą z pliku CSV:

  • wykonane bezpośrednio w EXCEL lub
  • wyeksportowane z programu opartego na DOS, stworzonego, gdy WIN95 był jeszcze w pobliżu…

Dalsze zarządzanie „danymi osób” w jednym pliku CSV i EXCEL pozwala uniknąć:

  • kupując oprogramowanie, które może edytować pliki DBF
  • martwiąc się o zaimportowanie „danych osób” do pliku DBF Wydaje się, że nie zawsze jest bezproblemowe importowanie, edytowanie i zapisywanie danych z CSV do plików DBF i NIE powoduje uszkodzenia danych. Przeczytałem, że może tak być w szczególności podczas pracy z ArcGis (ESRI).

@DenaliHardtail - Jedna fabuła może mieć wiele znaczników. Rozważ weteranów wojennych, którzy mają zarówno tradycyjny nagrobek, jak i wojskową tablicę u stóp.

2
Odpowiedzi będą prawdopodobnie w dużej mierze oparte na opiniach, bez bardziej szczegółowych informacji o oprogramowaniu i użyciu (na przykład, jeśli wybierzesz powiązaną trasę tabeli, czy twoje oprogramowanie / serwer do mapowania sieci obsługuje takie zapytania?). Podstawowe pytanie, punkt na grób vs osoba, jest proste - osoba, bez pytania. Punkt / grób z atrybutami wielu osób jest złym pomysłem, ponieważ jest to zły projekt bazy danych z wielu powodów już wspomnianych. Ale pytanie „zrób to w inny sposób” sprawia, że ​​jest ono zbyt szerokie i oparte na opiniach. Idealnie zajmowałbym się punktami i obszarami, ale tylko punktami, jeśli byłoby to proste.
Chris W

1
QGis może również edytować pliki kształtu (w tym .dbf), OpenOffice może edytować .dbf, oba są bezpłatne.
RemcoGerlich

1
To pytanie wydaje się spiralne. Pamiętaj, że GIS.SE najlepiej jest skoncentrowany, jedno pytanie na pytanie, na które można odpowiedzieć maksymalnie w kilku akapitach. W tej chwili cała ta sesja pytań i odpowiedzi jest bardziej odpowiednia do rozmowy niż do pytań i odpowiedzi. Tak, niektóre organizacje danych, które opisujesz w przekazanych ci plikach kształtów, wydają się dziwne / przesadzone / kiepskie. Twoje rozumienie punktów vs wielokątów i wymaganie dbf jest błędne (możesz chcieć zbadać komponenty pliku kształtu), a co najwyżej twoje wrażenie problemów z csv z ArcGIS jest wypaczone. Pliki CSV nie są arkuszami kalkulacyjnymi, arkusze kalkulacyjne nie są bazami danych.
Chris W

2
(Kontynuacja) Pliki tekstowe, arkusze kalkulacyjne, bazy danych, aw szczególności bazy danych przestrzennych, mają różne możliwości i sposoby działania. Wygląda na to, że musisz zdecydować, czy chcesz w ogóle korzystać z GIS, czy po prostu trzymać się mapowania internetowego opartego na plikach tekstowych zawierających współrzędne punktu. QGIS jest darmowy, może robić wszystko, czego potrzebujesz z perspektywy GIS, a te rzeczy są stosunkowo łatwe do nauczenia się. Komponent mapowania sieci to inna historia.
Chris W

Odpowiedzi:


21

Postawiłbym skomplikowaną drogę: dwie tabele w relacji 1: n

  • jeden stół z punktową lokalizacją grobów
  • kolejna tabela z Grave-ID i danymi osobowymi

Możesz zbudować relację między dwiema tabelami, aby wybranie grobu spowodowało zaznaczenie wszystkich rekordów osób w tabeli osób.

Pomysł posiadania tabel z polami takimi jak Person1, Person2 ... jest okropnym i złym projektem.


To nie jest skomplikowane. To właściwie modeluje twoje dane! +1 za dobry projekt relacyjny.
jpmc26

Tak też myślałem. Ale nie znam „budowania relacji”, wcale nie jestem ekspertem od GIS.
Musiałbym

@Patrick - Załaduj plik shapefile i plik dBase do QGIS, otwórz okno właściwości swojego pliku shapefile, wybierz Połączenia i utwórz połączenie pomiędzy tobą dBase i danymi kształtu. Spróbuj się trochę pobawić, aby się z tym zapoznać.
wziął

5

Zrobiłbym wielokąt dla grobu, ponieważ sam grób jest działką i miał dla ludzi relację jeden do wielu; jeden grób może mieć zero (niezamieszkany, dostępny lub na sprzedaż?) lub wiele osób. Możesz również użyć punktu zamiast wielokąta. Wieloboki byłyby lepszymi prezentacjami dla sprzedaży i konserwacji.


2
Nie pracuję na cmentarzu, ale lubię być tak dokładny, jak to możliwe. Zamieszczam działki / pola rozrzucone / pomniki jako wielokąty, a także posiadam punkty na kamienie grobowe.
JasonT

@JasonT to dobry punkt. Czy na działce (ziemi) może znajdować się wiele grobowych kamieni / znaczników, jeśli na niej jest pochowanych wiele osób? Zgadzam się, każdy znacznik ma swój własny punkt.
DenaliHardtail

1
Działka może mieć właściciela bez zajmowania, jeśli ktoś wcześniej uzgodni pochówek.
Random832

4

Przyjąłbym sugestię DenaliHardtail, aby użyć wielokątów do przedstawienia dokładnych rozmiarów wykresów. Ta warstwa może mieć tabelę z Grave_ID, Grave_Type, Grave_Capacity i Grave_Occupancy_Number. Wtedy możesz mieć warstwę punktową z punktami pokrywającymi odpowiednie wieloboki grobowe. Kolumny dla tabeli warstwy punktowej mogą być Person-ID, First_Name, Family_Name, Birthdate, Deathdate, Graveowner i Grave_status (sprzedane, niezajęte itp.). Następnie możesz dołączyć odpowiedni identyfikator grobu dla każdej osoby, aby później dopasować osobę do grobu i utworzyć później pojedynczy stół excel ze wszystkimi informacjami o grobie i indywidualnej osobie.


3

Normalizacja danych prowadzi do niektórych brakujących pomysłów / punktów. Myślę też, że Excel może zrobić wszystko, co chcesz dla „bazy danych”, którą rozważasz. Wskazówka: używaj arkuszy lub wielu plików i używaj odmian funkcji wyszukiwania. Zapisz w plikach przydatnych do importowania / wyszukiwania z QGIS

Widzę te dyskretne tabele [lub arkusze programu Excel] na początek zestawu danych. Każdy arkusz / plik jest łatwo obsługiwany przez początkujących użytkowników, o ile kolumny są wyraźnie podane (i są zamrożone jako górny wiersz ...), a nowicjuszowi przypomina się, że identyfikatory są unikalne i pozostają niezmienione po przypisaniu. Arkusze i kolumny:

  1. PlotDescription - kolumny obejmują: PlotID (powiązanie z wielokątem), ownerID, plotTypeID (typ wykresu: grób, ściana, krypta itp.). Ten arkusz jest zasadniczo statyczny, dopóki nie zostanie utworzony nowy wykres.
  2. Właściciel - ID właściciela, kolumny z pełnym opisem (nazwa / adres kontaktowy itp.), Zmarły (T / F). Wyobrażam sobie, że jeśli masz wielu właścicieli, są oni w pełni wymienieni w polu nazwy i masz jeden adres kontaktowy
  3. Deceased - DeceasedID, PlotID, pełna nazwa / etc / inne dane identyfikujące, kod wysokości. Identyfikator zmarłego nie został dotąd znaleziony gdzie indziej, ale dobra forma tworzy niepowtarzalny identyfikator dla każdego zmarłego; może być przydatny w rozszerzeniach danych - na przykład lista krewnych żyjących z wydarzeń lub marketingu.
  4. ElevationCode - ElevationID, a następnie krótki opis („inGround”, „inCrypt”, „pierwszy rząd”, „drugi rząd”, „stos popiołu” itp.). Ten arkusz jest ogólnie statyczny
  5. PlotType - PlotTypeID i krótki opis - krypta, grób itp. To jest arkusz statyczny

Jeśli chodzi o sposób myślenia nowicjusza, nie sugeruję, abyś w pełni znormalizował kwestie tożsamości i ich kolumny, w taki sposób, że pokrywają się one między właścicielami i zmarłymi, i tworzy niepotrzebne 1-wiele pomocniczych tabel z niczym innym, jak tylko różnymi identyfikatorami. Jako kompromis dla prostoty wyobrażam sobie stosunek 1 do 1 między tabelami wykresów i właścicielami

Myślę, że ta uogólniona konfiguracja zajmie się takimi problemami, jak: stosy popiołu, krypty ścienne, śledzenie właściciela / opiekuna, wielu zmarłych na działce i wiele innych.

Na koniec pamiętaj, aby utworzyć kilka stałych wierszy w dwóch tabelach / arkuszach dla właściciela i zmarłego: nieznany właściciel; nieznany zmarły; nieznany wielokrotny zmarły; własnością cmentarza; nie posiadający właściciela; itp.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.