postgresql PostGIS数据模型设计,一个表的一个字段中有多个几何类型,而每个几何类型都有单独的表

9q78igpj  于 2023-11-18  发布在  PostgreSQL
关注(0)|答案(1)|浏览(185)

我正在学习数据库设计,特别是我的GIS程序的GIS数据库设计。该程序需要使用多种几何类型,即点,线,多边形。
我面临的问题是我是否应该设计一个包含通用几何类型的表,或者为每个几何设计单独的表。
不过,我会很感激知道每一个设计的优点和缺点。什么将是考虑时,设计他们。

cs7cruho

cs7cruho1#

TL;DR:不要使用通用几何表格(imho)。
这类问题将得到计算机编程的答案:“这取决于你想用它做什么。
通常在数据库设计中,我们倾向于对事物进行建模,并将一种类型的事物放在一个表中,另一种类型的事物放在另一个表中。
这也适用于GIS。将相同类型的对象放在一起,并给予它们合理的几何字段类型。通常,以不同的方式定义相同类型的对象是没有意义的。如果你想要一个属性,你可能想要多边形(或多多边形)。如果你特别想要属性边界,你可能想要linestring。
试图允许以不同的方式定义相同的东西会使使用这些数据变得更加困难。例如,如果你说“哦,它可以是边界或多边形,我们不介意”让PostGIS使用它将更加困难。
可能你的决定的一个关键输入是,如果你给他们提供不同类型的几何图形,有很多PostGIS功能会中断。例如,如果你有一个特定的行,它有一个多边形,你想找出哪些其他行有一个与它相交的几何图形,你可以使用ST_INTERSECTS,但如果你有混合的几何图形,这可能不会做你想要的。

相关问题