[GIS] 한국의 Spatial Reference (검증필요)

Bessel LatLng

GEOGCS["GCS_Bessel_1841",
    DATUM["Bessel_1841", SPHEROID["Bessel_1841",6377397.155,299.152815351]],
    PRIMEM["Greenwich",0],
    UNIT["Degree",0.017453292519943295]
]

WGS84 LatLng

GEOGCS["GCS_WGS_1984",
    DATUM["WGS_1984", SPHEROID["WGS_1984",6378137,298.257223563]],
    PRIMEM["Greenwich",0],
    UNIT["Degree",0.017453292519943295]
] 

GRS80 LatLng

GEOGCS["GCS_GRS_1980",
    DATUM["GRS_1980", SPHEROID["GRS_1980",6378137.0,298.257222101]],
    PRIMEM["Greenwich",0],
    UNIT["Degree",0.017453292519943295]
]

UTM-K (GRS80)

PROJCS["UTM-K, GRS80",
    GEOGCS["GCS_ITRF_2000",
        DATUM["D_ITRF_2000", SPHEROID["GRS_1980",6378137.0,298.257222101]],
        PRIMEM["Greenwich",0.0],
        UNIT["Degree",0.0174532925199433]
    ],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["False_Easting",1000000.0],
    PARAMETER["False_Northing",2000000.0],
    PARAMETER["Central_Meridian",127.502890],
    PARAMETER["Scale_Factor",0.9996],
    PARAMETER["Latitude_Of_Origin",38.0],
    UNIT["Meter",1.0]
]

Korea TM West Belt

PROJCS["Korea TM West GRS80",
    GEOGCS["GCS_ITRF_2000",
        DATUM["D_ITRF_2000", SPHEROID["GRS_1980",6378137.0,298.257222101]],
        PRIMEM["Greenwich",0.0],
        UNIT["Degree",0.0174532925199433]
    ],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["False_Easting",200000.0],
    PARAMETER["False_Northing",500000.0],
    PARAMETER["Central_Meridian",125.0],
    PARAMETER["Scale_Factor",1.0],
    PARAMETER["Latitude_Of_Origin",38.0],
    UNIT["Meter",1.0]
]

Korea TM Central Belt

PROJCS["Korea TM Central GRS80",
    GEOGCS["GCS_ITRF_2000",
        DATUM["D_ITRF_2000", SPHEROID["GRS_1980",6378137.0,298.257222101]],
        PRIMEM["Greenwich",0.0],
        UNIT["Degree",0.0174532925199433]
    ],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["False_Easting",200000.0],
    PARAMETER["False_Northing",500000.0],
    PARAMETER["Central_Meridian",127.0],
    PARAMETER["Scale_Factor",1.0],
    PARAMETER["Latitude_Of_Origin",38.0],
    UNIT["Meter",1.0]
]

Korea TM East Belt

PROJCS["Korea TM East GRS80",
    GEOGCS["GCS_ITRF_2000",
        DATUM["D_ITRF_2000", SPHEROID["GRS_1980",6378137.0,298.257222101]],
        PRIMEM["Greenwich",0.0],
        UNIT["Degree",0.0174532925199433]
    ],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["False_Easting",200000.0],
    PARAMETER["False_Northing",500000.0],
    PARAMETER["Central_Meridian",129.0],
    PARAMETER["Scale_Factor",1.0],
    PARAMETER["Latitude_Of_Origin",38.0],
    UNIT["Meter",1.0]
]

KATEC

PROJCS["KATEC",
    GEOGCS["GCS_Korean_Datum_1985",
        DATUM["D_Korean_Datum_1985", 
            SPHEROID["Bessel_1841",6377397.155,299.1528128]],
        PRIMEM["Greenwich",0.0],
        UNIT["Degree",0.0174532925199433]
    ],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["False_Easting",400000.0],
    PARAMETER["False_Northing",600000.0],
    PARAMETER["Central_Meridian",128.0],
    PARAMETER["Scale_Factor",0.9999],
    PARAMETER["Latitude_Of_Origin",38.0],
    UNIT["Meter",1.0]]
]

UTM 51N Zone WGS84

PROJCS["UTM 51N WGS84",
    GEOGCS["GCS_WGS_1984",
        DATUM["WGS_1984", SPHEROID["WGS_1984",6378137,298.257223563]],
        PRIMEM["Greenwich",0],
        UNIT["Degree",0.017453292519943295]
    ],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["false_easting",500000.000],
    PARAMETER["false_northing",0.000],
    PARAMETER["central_meridian",123.0],
    PARAMETER["scale_factor",0.9996],
    PARAMETER["latitude_of_origin",0.000],
    UNIT["Meter",1.00000000000000]
]

UTM 52N Zone WGS84

PROJCS["UTM 52N WGS84",
    GEOGCS["GCS_WGS_1984",
        DATUM["WGS_1984", SPHEROID["WGS_1984",6378137,298.257223563]],
        PRIMEM["Greenwich",0.0],
        UNIT["Degree",0.0174532925199433]
    ],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["False_Easting",500000.0],
    PARAMETER["False_Northing",0.0],
    PARAMETER["Central_Meridian",129.0],
    PARAMETER["Scale_Factor",0.9996],
    PARAMETER["Latitude_Of_Origin",0.0],
    UNIT["Meter",1.0]]
]

변환 매개변수 지정하는 방식의 예

PROJCS["....",
    GEOGCS["....",
        TOWGS84[0,0,0,0,0,0,0],
        ....
    ],
    ....
]

[GIS] 좌표계(Coordinate System)의 종류

좌표계는 단순히 어떤 중심을 기준으로.. 즉 원점에 대해 공간적 속성을 설명하는 방법으로 다음 세가지로 정의할 수 있습니다.

사용자 삽입 이미지

지구의 중심을 원점으로 (X,Y,Z) 좌표에 기반하는 Geocentric coordinate system(지심좌표계)로써 이 좌표계는 GPS가 내부적으로 좌표를 계산하기 위해 사용됩니다. 하지만 일반인에게는 그다지 실용적이 않은데.. 동쪽, 서쪽, 위, 아래에 대한 개념이 아리송하기 때문입니다. 해서.. 이 좌표계는 좀처럼 사용자에게 언급되지 않지만 어떤 좌표계를 또다른 좌표계로 변환하기 위해 거치는 중간 단계의 좌표계로 사용자에게 언급됩니다.

사용자 삽입 이미지

Spherical Coordinate System(구체 좌표계), 같은 용어로 Geographic Coordinate System(지리적 좌표계)는 일반적으로 잘 알려진 좌표계입니다. 본초 좌오선(prime meridian)과 Equator(적도)를 기준으로 보통 Longitute(경도), Latitude(위도)와 같은 각도값으로 좌표를 나타냅니다. 높이는 평균해수면(mean sea level)이나 사용자가 정의한 Datum을 기준으로 나타냅니다.

사용자 삽입 이미지

Cartesian Coordinate System(데카르트 좌표계, 직각 좌표계)는 지구의 표면에 대한 “평편”한 좌표계로 생각할 수 있습니다. 지구는 원래 평편하지 않고 어떤 한 방향에 대해서 curvature(곡률)을 가지고 있으므로 scale-error(축척 에러)라고 알려진.. 원점에서 멀어질 수록 오차가 점점 더 크게 발생하는 좌표계입니다. 데카르트 좌표계로써 가장 잘 알려진 것이 바로 Universal Transverse Mercator(UTM)이지만, 각 국가 또는 지역, 개인들은 그들 나름대로의 데카르트 좌표계를 정의해서 사용합니다. 오차의 문제가 있으나 거리, 각도 그리고 넓이와 같은 계산을 매우 직관적으로  매우 정확하게 측정할 수 있다는 장점이 있습니다.

CSV에서 컴마(,) 표현은?

CSV에서 데이터의 구분자로 컴마(,)를 사용하는데.. 그렇다면 값으로써 컴마(,)의 표현법은?

“,”

그렇다면, 쌍따움표의 표현법은?

“””

예를 들어서, “가나다”를 CSV로 표기하면, “””가나다”””가 됨.

[안드로이드] 이런…. 무책임한 개발환경 같으니…

하루를 정리하고… 퇴근 직전.. 잠시 안드로이드를 공부하던 차에.. 문제가 발생했습니다.. 물론.. 모든 문제의 책임은 개발자에게 있지만… 어느 정도.. 힌트를 줘야 문제를 잡지… Error Log에 달랑 아래와 같은 에러 로그만 찍어주고.. 어디 소스 파일에 문제인지 알려주지 않으니.. 도통 나같은 안드로이드 입문자에게.. 에러 잡기는 서울서 김서방 찾기로군…

사용자 삽입 이미지

이래.. 저래.. 소스 코드며.. xml  파일이며 하나 하나, 한줄 한줄 다 뒤진 끝에.. xml에 문제가 있다는 것을 알았습니다.. 그 xml은 레이아웃을 정의하는 것이고… 다음과 같습니다..

...

; 
  
;

...

보니.. Button인데.. Buttom이죠.. 프로젝트가 방대해지고.. 정신없이 개발하고 있다면.. 어떤 힌트가 제공하지 않는… 이런 성의없는 에러로그로는 정말 당혹스러워질법도 한데요..

이런 상황을 대비해서.. 다시금 에러로그를 살펴봅니다.. org.eclipse.jdt.ui에 Internal Error는.. ui를.. 즉, 레이아웃을 정의하는 기능 내부의 에러라는 의미이고… 그 하단에 딸린 추가 로그 정보인 gen [in tstAndroid] does not exist는.. 무언가 존재하지 않는다는 의미라고 생각할 수 있겠는데요.. 바로 실수로 입력한 Buttom에 대한 ui가 존재하지 않는다는 생각할 수 있겠습니다..

이런 경우에는….. 레이아웃을 정의하는 xml에 태그명이 잘못되었으니.. 이곳에서서 문제를 찾아볼것! 이라고 정리해봅니다.. 아이코…… 벌써.. 11시가 넘었습니다.. 퇴근해야죠…… 내일을 위해서…