2016-08-14 41 views
2

我試圖在表格內存儲矩形。用於存儲左,頂部,寬度和高度的PostgreSql矩形數據類型

目前,我有4個單獨的列:

  • 頂部
  • 離開
  • 寬度
  • 高度

我注意到,PostgreSQL提供叫box數據類型。

但是此數據類型自動重新排序基於所述值:

任何兩個相對的角可以在輸入被提供,但是根據需要來存儲右上和左下的角,在該值將被重新排序訂購。

我嘗試使用矩形框的數據類型,但如前所述,它有時混合了左上角和右下角,所以它不適合存儲頂部,左側,寬度和高度。

我在寫一個處理這些值的C#應用​​程序。因此,如果我有一個與C#Rectangle類型相同的數據類型,那將會很好。

我想知道如何實現矩形/矩形數據類型。也許甚至可以根據四個整數(array [4])編寫自己的數據類型?

+0

什麼不適用於您當前的解決方案? – Renzo

+0

@Renzo它混合基於左下角和右上角的值 - 討厭處理矩形內的負值時。此外,我不能將其轉換爲本機C#矩形類型。我編輯了這個問題。 – Thomas

回答

0

它不混合點,它首先存儲右上角的值。如果你需要他們,你只需要讀出這些數據並自己計算出其他兩點。

這並不是很複雜的東西 - 至少你可以讀取頂部/右側的點,並取頂部的值和底部/左側的點,並取左邊的點來獲得你想要的頂部/左邊點。同樣,閱讀寬度正好減去左邊。

+0

我正在編寫處理這些值的C#應用​​程序。因此,如果我有一個與C#Rectangle類型相同的數據類型,那將會很好。我編輯了這個問題,使之更加清晰。 – Thomas

+0

如果屏幕左下角的座標起源,那麼通過優化的索引機制將最大的2個數存儲在一起會產生很大的意義。您必須在您的C#代碼中編寫一個外觀來轉換或用新的c#數據類型替換您的Rects。 – gbjbaanb

相關問題