2

公共スペースの間取り図を表す形状データを保存する必要があるRailsアプリを書いています。スペースは主に教会やコンサートホールです。多くの形状は非常に単純ですが(「扇風機」または「靴箱」)、一部はより複雑になります(たとえば、このように)。

私はRailsにかなり慣れておらず、GISアプリケーションにはまったく慣れていません。(これはGISの問題ですか?わかりません。)

この情報をデータベースに保存するために使用する必要があるデータ型の種類を誰かが提案できますか?部屋の形状はポリゴンとして保存する必要がありますか?または、一部の会場で見られる曲面をより正確に表すことができるデータタイプなど、より適切なデータタイプはありますか?

4

1 に答える 1

1

これはおそらく最も効率的な方法ではありませんが、次のようなモデルを定義することから始めることができます。

class Path
    has_many :nodes
end

class Node
    attr_accessible :x, :y, :next_id
    belongs_to :next, class_name: 'Node'
    has_one :arc_extension
end

class ArcExtension
    attr_accessible :radius, :x1, :y1, :x2, :y2
    belongs_to :node
end

パスは単なるノードの集まりです。各ノードは、パス内の次のノードの ID とともに、パス上のポイントの座標を格納します。ノードでアークの開始を表す場合は、そのノードのアーク エクステンションを作成できます。arc_extension には、円弧の作成に必要な 2 つの参照点とともに、円弧の半径が格納される場合があります。これらの参照点を定義する方法については、HTML5 キャンバスで使用されている arcTo メソッド ( http://dbp-consulting.com/tutorials/canvas/CanvasArcTo.html ) を参照してください。

他の種類の曲線パス (ベジエ曲線など) を表現したい場合は、この方法を少し変更できるはずです。

于 2012-06-30T02:18:53.590 に答える