墓地をモデル化する方法-故人あたり1ポイントまたは墓あたり1ポイント?[閉まっている]


12

これは、GISシステムでの墓地の実装を経済的に回避する方法に関するプロジェクトに関する以前の質問の続きです。

墓地で見つけることができます

  • 通常の墓:最大2人
  • 家族の墓:2人以上、20人まで(カトリックの会衆の姉妹…)
  • 戦争記念碑:約30人
  • 灰散乱エリア:100人から始まる無許可
  • Bur墓のあるフィールド:1スポットあたり最大2
  • Bur墓のある壁:高さは最大3

だから、定義するための最善の方法は何ですか:

  • POINTオブジェクトとしての各人
  • POINTオブジェクトとしての各墓、人物は属性の一部です

私は一人一人にポイントオブジェクトとして選択します:

  • すべての人のための1つの単純なCSVファイル。
  • 列の例を次に示します。FirstName– FamilyName – YearDeceased
  • 墓の中の人数に依存しない
  • そうすれば、ASH SCATTERING AREAでもファイルに入ることができます
  • 最終的に、他の人が同じ墓に埋められた検索の結果に追加するために、いくつかのコードを書く必要があります

私は各墓がPOINTオブジェクトとして見られる合併症:

  • 各行には、墓の中の最大人数の列が必要です…
  • それは、多くの人がいるわずかな墓のために、多くのセルが空になることを意味します
  • しかし、ASH SCATTERINGエリアではどうでしょうか?100人には、テーブルのすべての追加列が必要です…
  • 1つのCSVファイルにすべてのデータを含めることは合理的ではありませんが、ファイルを増やすと問題が非常に複雑になります。

だから、コメントは大歓迎です:ポイントオブジェクトとしての人や墓?または、これのどれも、私はそれを別の方法で行う必要がありますか?

私の町では、3年前、彼らは局のためにSHPファイルを作成していました。私はそれらのファイルを引き渡され、墓がポリゴンとして描かれていることに気付きました。これには、「墓のデータ」用のDBFファイルが付属しています。通常の墓には4つの座標セットがあります。しかし、いくつかのことは私には不合理に思えます:

  • 六角形のコロンバリアが六角形の図形のセットとして描かれた「urの壁」があります。つまり、各図形には6組の座標があります…
  • 「灰の散乱エリア」には、小さな長方形のネームプレートのある柱があり、4つの座標セットで各ネームプレートに長方形のPOLYGONが描かれています。

それに加えて、間違っている場合は修正してください:

  • POLYGONSはDBFファイルを必要とするため、DBFエディター(追加料金)
  • POINTSはCSVファイルのみを必要とするため、EXCELで十分です(追加費用なし)

ほとんどの町では、故人のデータはCSVファイルで提供されます。

  • EXCELで直接作成または
  • WIN95がまだ存在していたときに作成されたDOSベースのプログラムからエクスポートされた…

「個人のデータ」を1つのCSVファイルで管理し続けると、EXCELは次のことを回避します。

  • DBFファイルを編集できるソフトウェアを購入する
  • 「人のデータ」をDBFファイルにインポートすることを心配するCSVからDBFファイルにデータをインポート、編集、保存する手間がなく、データの破損がないとは限りません。これは、特にArcGis(ESRI)を使用する場合に当てはまることを読みました。

@DenaliHardtail-1つのプロットに複数のマーカーを含めることができます。伝統的な墓石と軍のstoneの両方を足元に持っている退役軍人を考えてみましょう。

2
回答は、ソフトウェアと使用に関するより具体的な詳細がなければ、意見に大きく基づいている可能性があります(たとえば、関連するテーブルルートに行く場合、Webマッピングソフトウェア/サーバーはそのようなクエリをサポートしていますか?)。根本的な質問、墓ごとのポイント対人は単純です-人、質問はありません。複数の人の属性を持つポイント/墓は、既に述べた多くの理由でデータベース設計が貧弱であるため、悪い考えです。しかし、「別の方法で行う」と尋ねると、再び広範意見に基づいたものになります。私はポイントエリアを理想的にしますが、それをシンプルに保つならポイントだけにします。
クリスW

1
また、QGisはシェープファイル(.dbfを含む)を編集でき、OpenOfficeは.dbfを編集できます。どちらも無料です。
-RemcoGerlich

1
この質問は渦巻いているようです。GIS.SEは焦点を絞ったものとして最適であり、質問ごとに1つの質問があり、最大で数段落で回答できることに注意してください。現状では、このQ&A全体がQ&Aよりもチャットに適しています。はい、与えられたシェープファイルで説明するデータ編成の一部は、奇妙な設計、過剰設計、不十分な設計のようです。ポイントとポリゴンの理解とdbfの必要性に欠陥があり(シェープファイルのコンポーネントを調査することをお勧めします)、せいぜいArcGISでのcsv問題の印象がゆがんでいます。CSVはスプレッドシートではなく、スプレッドシートはデータベースではありません。
クリスW

2
(続き)テキストファイル、スプレッドシート、データベース、特に空間データベースには、さまざまな機能と操作方法があります。GISを使用するか、ポイント座標を含むテキストベースのファイルに基づいたWebマッピングだけを使用するかを決定する必要があるようです。QGISは無料で、GISの観点から必要なことをすべて実行できます。これらのことは比較的簡単に習得できます。Webマッピングコンポーネントもまた別の話です。
クリスW

回答:


21

私は複雑な方法で行きます:1:n関係の2つのテーブル

  • 墓のポイント位置を含む1つのテーブル
  • Grave-IDと個人データを含む別のテーブル

2つのテーブル間にリレーションを構築して、墓を選択すると、個人テーブル内のすべての個人レコードが選択されるようにすることができます。

Person1、Person2 ...のようなフィールドを持つテーブルを作成するという考えは、恐ろしくて悪いデザインです。


それは複雑ではありません。それはあなたのデータを適切にモデリングしています!良好なリレーショナルデザインの場合は+1。
jpmc26

それも私が考えたものです。しかし、私は「関係構築」に精通しておらず、GISの専門家でもありません。それを調査/研究する必要があります... QGISで可能だと思います...
Patrick Van Den Noortgaete

@Patrick-シェープファイルとdBaseファイルをQGISに読み込み、シェープファイルのプロパティダイアログを表示し、[結合]を選択して、dBaseとシェイプデータ間の結合を作成します。それに慣れるために少し遊んでみてください。
-takearf

5

墓自体は土地の区画であり、人々と1対多の関係があるため、墓のポリゴンを作成します。1つの墓には、ゼロ(空いている、空いている、または販売中?)または多くの人がいます。ポリゴンの代わりにポイントを使用することもできます。ポリゴンは、販売および保守のためのより良いプレゼンテーションを作成します。


2
私は墓地のビジネスに携わっているわけではありませんが、できるだけ徹底することが好きです。プロット/散乱フィールド/記念碑をポリゴンとして含め、墓石のポイントを含めます。
JasonT

@JasonTそれは良い点です。複数の人がプロットに埋まっている場合、プロット(土地)に複数の墓石/マーカーを含めることができますか?私は同意します、各マーカーはそれ自身のポイントです。
-DenaliHardtail

1
誰かが事前に埋葬の手配をしていれば、区画は占領されることなく所有者を持つことができます。
Random832

4

DenaliHardtailが提案する、多角形を使用してプロットの正確なサイズを表すことを提案します。このレイヤーには、Grave_ID、Grave_Type、Grave_Capacity、およびGrave_Occupancy_Numberを持つテーブルを含めることができます。次に、対応する墓ポリゴンに重なるポイントを持つポイントレイヤーを作成できます。ポイントレイヤーテーブルの列は、Person-ID、First_Name、Family_Name、Birthdate、Deathdate、Graveowner、およびGrave_status(Sold、Unoccupiedなど)です。次に、各人に対応するGrave-IDを含めると、人と墓を一致させ、後ですべての墓と個人の情報を含む単一のExcelテーブルを作成できます。


3

データを正規化すると、不足しているアイデア/ポイントにつながります。また、Excelは、あなたが考えている「データベース」に必要なすべてのことを実行できると思います。ヒント:シートまたは複数のファイルを使用し、ルックアップ関数のバリエーションを使用します。QGISからのインポート/ルックアップに役立つファイルに保存します

データセットを開始するために、これらの個別のテーブル[またはExcelシート]を想定しています。各シート/ファイルは、列が明確に指定されている限り(および最上行として固定されている限り)、初心者ユーザーが簡単に保守できます。シートと列:

  1. PlotDescription-列には、PlotID(ポリゴンに結び付けられている)、ownerID、plotTypeID(プロットタイプ:grave、wall、cryptなど)が含まれます。通常、このシートは、新しいプロットを作成するまで静的です。
  2. 所有者-ownerID、完全な説明(名前/ ContactAddress / etc)の列、故人(T / F)。複数の所有者がいる場合、それらは名前フィールドに完全にリストされ、1つの連絡先アドレスがあると思います
  3. 死亡-DeceasedID、PlotID、フルネーム/など/その他の識別データ、elevationCode。DeceasedIDはこれまでのところ他の場所にはありませんが、適切な形式は各故人に対して一意のIDを作成します。たとえば、イベントやマーケティングのために生きている親relativeのリストなど、データの拡張に役立ちます。
  4. ElevationCode-ElevationID、次に短い説明( "inGround"、 "inCrypt"、 "first row"、 "second row"、 "ash pile"など)。このシートは一般的に静的です
  5. PlotType-PlotTypeIDおよび短い説明-crypt、graveなど。これは静的なシートです

初心者の考え方では、所有者と故人の間で重複するように、アイデンティティの問題とその列を完全に正規化することはお勧めしません。簡単にするための妥協案として、プロットテーブルと所有者テーブルの間に1対1を想定しています

この一般化されたセットアップは、灰の山、壁の地下室、所有者/維持者の追跡、プロットでの複数の死亡などの問題に対処すると思います。

最後に、所有者と故人の2つのテーブル/シートにいくつかの永続的な行を作成することを忘れないでください。不明な故人; 不明な複数の死者; 墓地が所有している。所有していない; 等

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.