【问题标题】:database design for this road map此路线图的数据库设计
【发布时间】:2014-03-11 04:49:15
【问题描述】:

我正在考虑路线图的数据库架构并考虑可能的最佳模型。我的脑海中有以下查询需要像这样处理

Do streets s1 and s2 intersect?
Get all streets adjacent to point of interest p.

OR 

Get the distance between entrance e1 and exit e2 on highway h.
Get the shortest route from intersection i1 to intersection i2.

我认为表名应该

roads and streets, including highways
governmental regions: states, counties, and local municipalities of cities, towns, villages

我在数据库建模方面有很强的专业知识,但这是我第一次创建这样的模式,在这方面有任何帮助

根据 SO 规则,OP 必须付出一些努力,我已经看到了一些 similar questions 这就是我在架构中寻求帮助的原因。

【问题讨论】:

  • 听起来您需要的是一个地理引擎(如 oracle 空间),其中包含一个包含兴趣点的表格,包括纬度/地段坐标和类别/类型等......

标签: mysql oracle google-maps database-design uml


【解决方案1】:
  • 您需要有节点和边 - 用于内部解决您的任务。 (短途等)
  • 您需要将您所讲述的道路、街道和地区从您的内在模型翻译成人类语言。另外,不要忘记重点对象:公共汽车站、十字路口、房屋入口、电话亭、商店 atd。
  • 因此,您需要两个模型、一个结构和一组方法来在它们之间进行转换。

内模:

Table: NODE           Table: EDGE
Id                    Id
place(REGION.Id)      Start(Node.Id)
                      End (Node.Id)
                      Length
                      road (ROAD.Id) (to what road belongs)

外部模型:

Table: ROAD           Table: Crossroad              Table:REGION
Id                    point (NODE.Id)               Id
Level                 Id                            Name  
Name                                                Level
                                                    Parent (REGION.Id)

【讨论】:

  • 第一次听说内模,有没有可以从我开始的例子或基础?
  • @user1765876 外观版。我将从类图开始,而不是数据模型。
【解决方案2】:

您需要知道道路是否相交。该问题的答案应该在您的数据库模型中。 这是您可以提出的最重要的问题。

我会说你需要在十字路口周围组织你的信息。在 GIS 位置 (x,y) 的交叉口处存在哪种类型的道路?

道路只有一张表,但每条道路可以是不同的类型。有时,一条道路可以是不同类型的道路,但具有相同的交通规则。为了在模型中获得这种区别,我将区分道路类型和有效道路类型。

数据模型的第一个入口是:http://www.osgeo.org/

编辑:以该网站上的此链接为例: http://live.osgeo.org/en/index.html 您可以在那里下载一个发行版,使您能够测试不同的开源地理空间软件。 这可能正是您正在寻找的: http://mapguide.osgeo.org/

【讨论】:

  • 谢谢,但在网站上看不到任何与数据库模型相关的内容
  • @user1765876:编辑了我的答案,并在该网站上为您提供了一些可能对您有所帮助的链接。
猜你喜欢
  • 2020-07-22
  • 1970-01-01
  • 1970-01-01
  • 2013-10-21
  • 2021-10-29
  • 2013-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多