Skip to content

zeli-b/satadia

Repository files navigation

Satadia

사트 지도 관리 프로그램

콘셉

  • 지도는 지도 전반에 걸쳐 사용되는 (point)들을 통해 그려집니다.
  • 점들을 이어서 선을 만들거나 점 자체로 지역을 나타낼 수 있으나, 이러한 정보들은 레이어(layer) 정보를 가지고 있어야 합니다.
    • 레이어는 특정한 정수이며, 특정한 정수를 가지고 있는 정보들을 모아서 관리하기 위해 사용됩니다.
  • 지역(region)은 점들을 이어 만들어진 다각형 모양의 영역입니다.
  • (path)은 점들을 이어 만들어진 곡석 모양의 영역입니다.
  • 거점(place)는 점 하나로 만들어진 점 모양의 영역입니다.
  • 지도는 가로 크기와 세로 크기를 정하여 만들어집니다. 또한, 전체 가로가 몇 m인지, 전체 세로가 몇 m인지를 입력하여 축척을 계산할 수 있도록 합니다.

이 지도 관리 프로그램의 목적은, 이러한 영역들을 만들고 볼 수 있도록 하는 것입니다.

지도 파일

지도 파일은 다음과 같은 json 형식의 파일입니다.

{
  "minx": 0,
  "maxx": 3840,
  "miny": 0,
  "maxy": 2160,
  "width": 5408929.82983342,
  "height": 5403072.404726598845,
  "points": [
    { "id": 0, "x": 0.1, "y": 0.1 },
    { "id": 1, "x": 0.1, "y": 0.2 },
    { "id": 2, "x": 0.2, "y": 0.1 },
    { "id": 3, "x": 0.2, "y": 0.2 },
    { "id": 4, "x": 0.15, "y": 0.1 },
    { "id": 5, "x": 0.15, "y": 0.2 },
    { "id": 6, "x": 0.15, "y": 0.15 }
  ],
  "regions": [
    {
      "id": 7,
      "layer": 0,
      "points": [0, 4, 1, 3, 5, 2],
      "name": "사각형",
      "color": "#fdde59",
      "opacity": 0.2
    }
  ],
  "paths": [
    {
      "id": 8,
      "layer": 1,
      "points": [4, 6, 5],
      "name": "직선",
      "color": "#000000",
      "width": 2
    }
  ],
  "places": [
    {
      "id": 9,
      "layer": 1,
      "point": 6,
      "name": "거점"
    }
  ]
}

기여 방법

  • dev/<자신의 이름>으로 된 브랜치를 만들어 작업합니다.
  • 브랜치를 병합할 때에는 허가가 필요하지 않습니다만, 풀 리퀘스트를 만들어 어떤 내용을 어떻게 만들었는지 간단하게 정리하여 작성합니다. 풀 리퀘스트는 바로바로 병합할 수 있습니다.