如何为墓地建模-每个死者一个点或每个坟墓一个点?[关闭]


12

这是我先前关于我们的项目的问题的延续,该项目是关于如何经济地摆脱GIS系统中墓地的实现的……

在墓地上,我们可以找到

  • 普通坟墓:最多2人
  • 家庭坟墓:超过2个,有些多达20个(天主教会的姐妹们……)
  • 战争纪念碑:约30人
  • 灰烬飞散区:无限制,从100人开始
  • 带有Ur骨的田地:每个地点最多2个
  • 带有骨灰的墙壁:高度可达3

那么定义以下内容的最佳方法是:

  • 每个人作为一个POINT对象
  • 每个坟墓都作为POINT对象,人物是属性的一部分

我会为每个人选择一个POINT对象:

  • 一个简单的CSV文件,适合所有人。
  • 列可以是例如:FirstName – FamilyName – YearDeceased
  • 与坟墓人数无关
  • 这样,即使是ASH SCATTERING AREA也可以进入文件
  • 最终,必须编写一些代码以将其他人埋葬在同一坟墓中的搜索结果添加到搜索结果中

我看到的每个坟墓作为POINT对象的并发症:

  • 每个ROW都需要一列,以显示坟墓中的最大人数。
  • 这意味着由于只有几个人的坟墓,很多牢房将是空的
  • 但是,ASH散射区域会怎样?100个人需要表格中的所有其他列…
  • 将所有数据都保存在一个CSV文件中是不合理的,但是拥有更多文件会使事情变得更加复杂。

因此,欢迎发表评论:以人还是坟墓作为POINT对象?还是这些都不是,我是否需要另一种方式?

3年前,在我镇,他们有一个局为他们制作了SHP文件。我移交了那些文件,我注意到坟墓是作为多边形绘制的。这带有一个用于“坟墓数据”的DBF文件。正常的坟墓有4组坐标,似乎是逻辑。但是有些事情在我看来是荒谬的:

  • 有一个“水wall墙”,上面画有六角形的lum骨,是一组六角形图形……这意味着每个图形都有6组坐标。
  • 在“灰烬散布区”中,有一个带有少量矩形铭牌的柱子,他们为每个铭牌绘制了一个矩形POLYGON,带有4组坐标。在我看来,在这种情况下使用POLYGONS在数据库中显得有些过大。

除此之外,如果我错了,请使用以下命令纠正我:

  • POLYGONS需要DBF文件,因此需要DBF编辑器(额外费用)
  • POINTS只需要CSV文件,因此EXCEL就足够了(没有额外费用)

在大多数城镇中,死者的数据都存储在CSV文件中:

  • 直接用EXCEL制作或
  • 从基于DOS的程序导出,是在WIN95仍然存在时制作的。

继续在一个CSV文件中管理“人员数据”,而EXCEL避免了:

  • 购买可以编辑DBF文件的软件
  • 担心将“人员数据”导入到DBF文件中似乎并不总是很麻烦地将CSV中的数据导入,编辑和保存到DBF文件中,并且不会损坏您的数据。我读到,尤其是在使用ArcGis(ESRI)时,可能是这种情况。

@DenaliHardtail-一个地块可以有多个标记。考虑一下既有传统墓碑又有军事牌匾的退伍军人。

2
答案很可能基于意见,而没有关于软件和使用的更多具体细节(例如,如果您使用相关的表格路径,您的Web制图软件/服务器是否支持这种查询?)。根本问题是,每坟墓对人的分数很简单-人,没问题。具有多个人员属性的点/坟墓不是一个好主意,因为由于许多原因,它的数据库设计不佳。但是问“以另一种方式做”会使它再次变得过于广泛基于观点。我会理想地做点区域,但是只要保持简单就可以。
克里斯·W

1
此外,QGis可以编辑shapefile(包括.dbf),OpenOffice可以编辑.dbf,它们都是免费的。
RemcoGerlich 2015年

1
这个问题似乎越来越严重。请记住,GIS.SE最好是集中注意力的,每个问题一个问题,最多可以在几个段落中回答。就目前而言,与问答相比,整个问答环节确实更适合聊天。是的,您在给您的shapefile中描述的某些数据组织看起来很奇怪/过大/糟糕。您对点和多边形以及需要dbf的理解存在缺陷(您可能希望研究shapefile的组件),并且充其量您对ArcGIS中的csv问题的印象是不正确的。CSV不是电子表格,电子表格不是数据库。
克里斯·瓦

2
(续)文本文件,电子表格,数据库,尤其是空间数据库具有不同的功能和操作方式。听起来您需要决定是否要使用GIS,还是只坚持基于包含点坐标的基于文本的文件的Web映射。QGIS是免费的,可以从GIS角度完成您想要的所有事情,而且这些事情相对容易学习。Web映射组件是另一个故事。
克里斯·瓦

Answers:


21

我会走复杂的路:1:n关系中的两个表

  • 一张桌子,上面有坟墓的位置
  • 另一个带有Grave-ID和人员数据的表

您可以在两个表之间建立关系,以便选择坟墓将选择人员表中的所有人员记录。

具有带有诸如Person1,Person2 ...这样的字段的表的想法是可怕且糟糕的设计。


这并不复杂。正确地建模了您的数据!+1为良好的关系设计。
jpmc26 2015年

这也是我的想法。但是我不熟悉“关系构建”,我也不是GIS专家。将不得不进行检查/研究……猜猜QGIS中是否有可能……
Patrick Van Den Noortgaete 2015年

@Patrick-将您的shapefile和dBase文件加载到QGIS中,打开shapefile的属性对话框,选择Joins并在dBase和shape数据之间建立连接。尝试玩一下以熟悉它。
Takearf 2015年

5

我会为坟墓创建一个多边形,因为坟墓本身就是一块土地,对人们有一对多的关系。一个坟墓可以有零个(空置,可用或要出售?)或许多人。您也可以使用点而不是多边形。多边形可以更好地进行销售和维护。


2
我不从事墓地事务,但我喜欢尽可能地透彻。我会将地块/散布场/纪念碑包括为多边形,并为墓碑提供点。
JasonT,2015年

@JasonT这是一个好点。如果有多个人被埋在一块土地上,一块土地(土地)是否可以包含多个墓碑/标记?我同意,每个标记都是其要点。
DenaliHardtail 2015年

1
如果有人事先安排了墓地,则该地块可以拥有所有者而不会被占用。
Random832

4

我会接受DenaliHardtail的建议,即使用多边形来表示图的准确尺寸。该层可以具有一个表,该表具有Grave_ID,Grave_Type,Grave_Capacity和Grave_Occupancy_Number。然后,您可以拥有一个点图层,该点的图层覆盖相应的坟墓多边形。点层表的列可以是Person-ID,First_Name,Family_Name,Birthdate,Deathdate,Graveowner和Grave_status(已售出,空置等)。然后,您可以为每个人包括相应的Grave-ID,这样您就可以将人匹配到坟墓,并在以后创建带有所有坟墓和个人信息的单个excel表。


3

规范化数据会导致我遗漏一些想法/观点。另外,我认为Excel可以为您考虑的“数据库”提供所需的一切。提示:使用工作表或多个文件,并使用多种查找功能。保存到有用的文件中,以便从QGIS导入/查找

我设想使用这些离散表[或excel表]来开始您的数据集。只要明文指定列(并将其冻结为第一行...),新手用户就可以轻松维护每个工作表/文件,并且提醒新手这些ID是唯一的,并且在分配后保持不变。工作表和列:

  1. PlotDescription-列包括:PlotID(与多边形的关系),ownerID,plotTypeID(绘图类型:坟墓,墙壁,隐窝等)。该工作表通常是静态的,直到创建新的绘图为止。
  2. 所有者-ownerID,带有完整描述(名称/ ContactAddress /等)的列,已故(T / F)。我设想如果您有多个所有者,则它们会在名称字段中完整列出,并且您将有一个联系地址
  3. 已死者-DeceasedID,PlotID,全名/等/其他识别数据,levationCode。到目前为止,在其他地方都找不到DeceasedID,但是好的格式会为每个死者创建一个唯一的ID。在扩展数据方面可能会很有用-例如,为活动或营销而居住的亲戚名单。
  4. ElevationCode-ElevationID,然后是简短说明(“ inGround”,“ inCrypt”,“第一行”,“第二行”,“烟灰堆”等)。该表通常是静态的
  5. PlotType-PlotTypeID和简短说明-地穴,坟墓等。这是静态表

对于新手来说,我不建议您完全按照身份问题及其列(它们在所有者和已故者之间重叠的方式)完全规范化,并且会创建不必要的1-manage辅助表,但只有各种ID。我设想在绘图表和所有者表之间采用1对1的关系,以求简化

我认为这种通用设置将解决诸如以下问题:烟灰堆,墙壁隐窝,所有者/维护者跟踪,地块中多个已故者等。

最后,请记住在两个表/表中为所有者和已故者创建一些永久行:未知所有者;死者不明;不明多人死亡;公墓所有;不属于 等等

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.