2016-08-14 3 views
2

테이블 안에 사각형을 저장하려고합니다.Left, Top, Width 및 Height를 저장하기위한 PostgreSql Rectangle 데이터 형식

  • 최고
  • 내가 PostgreSQL의는 box라는 데이터 유형을 제공하는 것으로 나타났습니다
  • 높이

왼쪽 : 순간

내가 4 별도의 열을 가지고있다.

그러나이 데이터 유형은 자동으로 기초하여 상기 값을 재 배열 :

두 대향 코너는 입력에 공급 될 수 있지만에서 오른쪽을 저장하고 하부 좌측 코너 필요에 따라 값이 재정렬 될 주문.

사각형에 상자 데이터 형식을 사용해 보았지만 때로는 오른쪽 위와 아래쪽 선을 혼합하기 때문에 위쪽, 왼쪽, 너비 및 높이를 저장하는 데 적합하지 않습니다.

저는이 값을 처리하는 C# 응용 프로그램을 작성하고 있습니다. 따라서 C# Rectangle 형식에 해당하는 데이터 형식이 있으면 좋을 것입니다.

사각형/rect 데이터 형식을 구현하는 방법을 궁금합니다. 어쩌면 4 개의 정수 (array [4])를 기반으로 자신의 데이터 유형을 작성할 수 있습니까?

+0

현재 솔루션에서 작동하지 않는 것은 무엇입니까? – Renzo

+0

@Renzo 사각형 안의 음수 값을 처리 할 때 lowerleft와 upperright를 기준으로 값을 혼합합니다. 또한 네이티브 C# 사각형 형식으로 변환 할 수 없습니다. 나는 그 질문을 편집했다. – Thomas

답변

0

포인트를 섞지 않고 처음 오른쪽 상단 값과 함께 저장합니다. 필요하다면 이것들을 읽고 다른 2 점을 스스로 해결해야합니다.

이것은 정확히 복잡하지는 않습니다. 적어도 상단/우측 점을 읽고 상단 값과 하단/좌측 점을 가져 와서 왼쪽/왼쪽 점을 가져 와서 원하는 왼쪽/왼쪽 점을 얻을 수 있습니다. 마찬가지로 읽기 폭은 왼쪽에서 오른쪽으로 마이너스입니다.

+0

그 값을 처리하는 C# 응용 프로그램을 작성 중입니다. 따라서 C# Rectangle 형식에 해당하는 데이터 형식이 있으면 좋을 것입니다. 나는 그 질문을 더 명확하게 편집했다. – Thomas

+0

좌표의 원점이 화면의 왼쪽 하단에 있으면 최적화 된 인덱싱 메커니즘에서 2 개의 가장 큰 숫자를 함께 저장하는 것이 좋습니다. Rect를 새로운 C# 데이터 유형으로 변환하거나 대체하려면 C# 코드에 파사드를 작성해야합니다. – gbjbaanb

관련 문제