[GIS] Mr.Tlier-Xr를 이용한 공간데이터 편집

Mr.Tiler-Xr은 수치지도를 디자인하고 타일맵으로 가공해 주는 기능과 함께 수치지도에 대한 도형 및 속성을 편집할 수 있는 프로그램입니다. 아래는 공간 데이터를 편집하기 위해 Mr.Tiler-Xr를 사용하고 있는 화면 예시입니다.

도형 편집을 위한 보조 기능으로 정점 및 선분에 대한 스냅핑 기능과 편집 이력에 대한 되돌리기와 재실행 기능을 제공합니다.

[GIS] SHP 파일 생성툴, DefineSHP

SHP 파일을 새롭게 생성하는 툴입니다. SHP 파일 자체를 완전히 새롭게 생성하는 경우는 드물지만 간혹 필요할 경우 사용하기 바랍니다. 이 툴은 듀라맵(http://www.gisdeveloper.co.kr/notice/574)을 이용하여 개발하였으므로 먼저 듀라맵을 설치하셔야 합니다. 이 툴에 대한 소스코드와 실행파일을 각각 분리하여 올립니다.

사용자 삽입 이미지

사용상에 문의하실 내용이나 개선할 점에 대해서 피드백을 주시면 검토하여 반영하도록 하겠습니다.

[GIS] CSV2SHP ㅡ 텍스트 파일을 SHP 파일로 변환하는 툴

텍스트 파일(CSV 포맷)로 구성된 좌표와 속성 데이터를 포인트 타입의 SHP 파일로 변환하는 툴입니다. GIS 분야에서 많은 공간 데이터가 오픈되고 있고 이러한 공간 데이터를 서비스하기 위한 형태로 재가공하기 위해 필요한 툴입니다.

사용자 삽입 이미지
듀라맵(http://www.gisdeveloper.co.kr/notice/574) 컴포넌트를 활용하였으므로 먼저 듀라맵을 등록하셔야 합니다. SHP 파일은 속성 데이터와 좌표 데이터가 분리되어 저장되므로 반드시 텍스트 파일에는 좌표 데이터가 지정되어야 합니다.

제 스스로가 GIS 업무를 위해 만들 툴이므로 다른 분들이사용함에 있어 문제가 발생할 수 있습니다. 사용상에 문제가 있을 경우 피드백 주시면 파악하여 반영하도록 하겠습니다.

CSV 포맷(Format)의 문자열(String) 파싱(Parse, Parsing)

CSV 형태로 된 문자열을 파싱하기 위한 C#언어로 작성된 함수입니다. 예전에 XrGeocoder 프로그램을 개발할때 사용했던 함수로.. 또 다른 프로젝트에서 사용되면서 함수만을 분리해 정리해 봅니다.>/p>

private List SeperateStringWithComma(String value)
{
    bool inQuotes = false;
    char delim = ',';
    List strings = new List();

    StringBuilder sb = new StringBuilder();
    foreach (char c in value)
    {
        if (c == '\'' || c == '"')
        {
            if (!inQuotes)
                inQuotes = true;
            else
                inQuotes = false;
        }

        if (c == delim)
        {
            if (!inQuotes)
            {
                strings.Add(sb.Replace("'", string.Empty).Replace("\"", string.Empty).ToString());
                sb.Remove(0, sb.Length);
            }
            else
            {
                sb.Append(c);
            }
        }
        else
        {
            sb.Append(c);
        }
    }

    strings.Add(sb.Replace("'", string.Empty).Replace("\"", string.Empty).ToString());
    return strings;
}

위의 함수를 사용하는 예제는 다음과 같습니다.

String csv = "2011-01-01,18,2008,개인,인천,중구,~,2010-12-31,233400,남자";
List values = SeperateStringWithComma(csv);

int cntValues = values.Count;
for (int i = 0; i < cntValues; i++)
{
    MessageBox.Show(values[i]);
}

[GIS] 우리가 만들고, 우리가 직접 쓰는 솔루션, Xr

처음 GIS 분야에서 솔루션 개발로 사업을 하겠다고 했을때.. 솔루션을 기획하고 개발하면서 갖고 있던 생각 중에 하나는.. 이렇게 개발한 솔루션을 고객에게 제공하는 것에 머무르지 말고.. 직접 내부에서 사용하고, 우리가 기획한 서비스를 우리의 솔루션으로 개발하고.. 내부적으로 수행하는 GIS 업무에 필요한 작업 역시도 우리가 만든 솔루션으로 하는 것이였습니다.

공간 데이터 가공을 위한 듀라맵, 웹GIS 서비스를 위한 핑거아이즈, 모바일 GIS 개발을 위한 블랙포인트 등.. 직접 사용해 보고 직접 고객이 되어 불편한 것이 무엇인가.. 발생하는 오류는 무엇인지 등을 직접 경험해 보면서 그 품질을 높여 나가고 있습니다.


오늘도.. 프로젝트 수행에서 자체 개발한 솔루션만을 활용하여 공간 데이터를 구축하고 통계 데이터를 입력하고 있습니다. 문제 없이… 매우 편리하게.. 그리고 신속하게 물흐르듯… 작업을 할 수 있어 매우 기쁘네요.. ㅜ_ㅜ

솔루션에 문제가 발생하는 것을 해결할때의 그 고통스러움에 대한 댓가로.. 이러한 기쁨을 스스로 느껴 볼 수 있는 것도 큰 가치라고 생각합니다..