지도를 만들다 보면 어느정도 익숙해 질때쯤이면 지도의 내용도 중요하겠지만 용량을 많이 신경 써게 됩니다.
등산에서 중량이 적 이듯이 수신기 에서도 용량이 같은 셈 이기 때문입니다.
아래 활용팁에 소개드린 등고선 만들기 에서 dem2topo는 편리 하게도 가민용으로는 자동 레벨 까지도 생성 시켜줍니다.
(레벌 level 이란, 줌인과 줌아웃시 보기에 편하도록 빽빽한 등고선을 줌에 따라 듬성하게 보기 편하게 해주는 역할 이라고 생각 하시면 편합니다)
하지만 내용을 파고 들어가면 레벌로 인해 등고선이 중첩 되는곳이 많습니다.
그래서 슬림 하면서 이상이 없는 제대로 된 지도를 만들려면 레벌이 중첩 되는 곳을 손 봐야 하는데요...
일반적으로 등고선으로 레벌을 나눌때 10m / 50m / 100m 의 간격으로 합니다.
그래서 등고선 지도를 레벌별로 줌인 줌아웃시 편하기 보기 위해서 위의 3가지 종류로 만들어야 하는데요...
10m 간격 등고선 + 50m 간격 등고선 + 100m 간격 등고선
이것을 다 합치면, 100m는 50m와 10m 위를, 50m 간격 등고선은 또다시 10m 등고선 위에 또 얹히게 되어 이중, 삼중으로 중첩이 되어 집니다. 이것이 뜻하는 바는 필요 없이 용량이 많이 늘어 난다는 의미 입니다.
이것을 날씬 하게 하려면...
(50m와 100m 간격이 빠져있는 10m 간격 등고선) + (100m 간격이 빠져있는 50m 간격 등고선) + (100m 간격 등고선)
이렇게 되어야 합니다.
이렇게 만들기 위해서는,
각 등고선을 간격별로, 그리고 중첩 되는것이 빠진 그런 등고선을 속출해 내야 하는데 원하는 별로 뽑기가 쉽지 않습니다.
그래서 제 나름의 아쉬운데로 사용 하는 방법을 소개 합니다.
긴 설명을 하다 보니 서론에서 눈동자 풀리신 분이 많이 계실 것 같은데요...방법이 없이 ^^
사용 하게될 재료와 도구는 아래 활용팁 (활용 1과 2)에 소개 되어 있는
DEM (SRTM의 hgt file) / DEM2TOPO / MMO / DXF2SHP 네가지 입니다.
1. 필요한 지역의 DEM을 다운 받으시고 (활용팁 634번 참조)
2. DEM 2 TOPO 를 이용해 10m 간격 등고선의 shp을 만듭니다. (활용팁 635번 참조)
(계/주/간곡선 10/50/100 으로 지정되어 있는 그대로 실행 하시면 됩니다)
3. MMO 에서, 2번 단계에서 만든 shp 화일을 import 한뒤 곧 바로 다시 export 하면서 확장자를 dxf 로 선택 하면 shp이 dxf 화일로 변경 됩니다.
(이는 DXF2SHP 프로그램에서 사용하기 위해 DXF로 만든 과정 입니다)
4. DXF2SHP 을 실행 시키고 Line 뽑기 창에 등고선 간격에 따라 아래에 적혀 있는 뽑는 조건식 (Query)을 붙여넣기 하신뒤 프로그램을 실행 하시면 원본 dxf화일의 10m 간격 등고선에서 원하는 간격 대로의 등고선 shp 화일을 추출 할 수가 있습니다.
등고선 별 조건식
10 미터 (10 미터 등고선에서 - 50m 간격과 100m 간격을 제외)
("elevation" <> 100 and "elevation" <> 200 and "elevation" <> 300 and "elevation" <> 400 and "elevation" <> 500 and "elevation" <> 600 and "elevation" <> 700 and "elevation" <> 800 and "elevation" <> 900 and "elevation" <> 1000 and "elevation" <> 1100 and "elevation" <>1200 and "elevation" <>1300 and "elevation" <>1400 and "elevation" <>1500 and "elevation" <>1600 and "elevation" <>1700 and "elevation" <>1800 and "elevation" <>1900 and "elevation" <>2000 and "elevation" <>2100 and "elevation" <> 50 and "elevation" <> 150 and "elevation" <> 250 and "elevation" <> 350 and "elevation" <> 450 and "elevation" <> 550 and "elevation" <> 650 and "elevation" <> 750 and "elevation" <> 850 and "elevation" <> 950 and "elevation" <> 1050 and "elevation" <> 1150 and "elevation" <>1250 and "elevation" <>1350 and "elevation" <>1450 and "elevation" <>1550 and "elevation" <>1650 and "elevation" <>1750 and "elevation" <>1850 and "elevation" <>1950 and "elevation" <>2050 and "elevation" <>2150)
50 미터 (100m 간격 제외)
("elevation" = 50 or "elevation" = 150 or "elevation" = 250 or "elevation" = 350 or "elevation" = 450 or "elevation" = 550 or "elevation" = 650 or "elevation" = 750 or "elevation" = 850 or "elevation" = 950 or "elevation" = 1050 or "elevation" = 1150 or "elevation" =1250 or "elevation" =1350 or "elevation" =1450 or "elevation" =1550 or "elevation" =1650 or "elevation" =1750 or "elevation" =1850 or "elevation" =1950 or "elevation" =2050 or "elevation" =2150)
100 미터
("elevation" = 100 OR "elevation" = 200 OR "elevation" = 300 OR "elevation" = 400 OR "elevation" = 500 OR "elevation" = 600 OR "elevation" = 700 OR "elevation" = 800 OR "elevation" = 900 OR "elevation" = 1000 OR "elevation" = 1100 OR "elevation" =1200 OR "elevation" =1300 OR "elevation" =1400 OR "elevation" =1500 OR "elevation" =1600 OR "elevation" =1700 OR "elevation" =1800 OR "elevation" =1900 OR "elevation" =2000 OR "elevation" =2100)
===============================================================================
20 미터 (100m 간격 제외 / 20m + 100m 짜리 만들때)
("elevation" = 20 or "elevation" = 40 or "elevation" = 60 or "elevation" = 80 or
"elevation" = 120 or "elevation" = 140 or "elevation" = 160 or "elevation" = 180 or "elevation" = 220 or "elevation" = 240 or "elevation" = 260 or "elevation" = 280 or
"elevation" = 320 or "elevation" = 340 or "elevation" = 360 or "elevation" = 380 or "elevation" = 420 or "elevation" = 440 or "elevation" = 460 or "elevation" = 480 or
"elevation" = 520 or "elevation" = 540 or "elevation" = 560 or "elevation" = 580 or "elevation" = 620 or "elevation" = 640 or "elevation" = 660 or "elevation" = 680 or
"elevation" = 720 or "elevation" = 740 or "elevation" = 760 or "elevation" = 780 or "elevation" = 820 or "elevation" = 840 or "elevation" = 860 or "elevation" = 880 or
"elevation" = 920 or "elevation" = 940 or "elevation" = 960 or "elevation" = 980 or "elevation" = 1020 or "elevation" = 1040 or "elevation" = 1060 or "elevation" = 1080 or
"elevation" = 1120 or "elevation" = 1140 or "elevation" = 1160 or "elevation" = 1180 or "elevation" = 1220 or "elevation" = 1240 or "elevation" = 1260 or "elevation" = 1280 or
"elevation" = 1320 or "elevation" = 1340 or "elevation" = 1360 or "elevation" = 1380 or "elevation" = 1420 or "elevation" = 1440 or "elevation" = 1460 or "elevation" = 1480 or
"elevation" = 1520 or "elevation" = 1540 or "elevation" = 1560 or "elevation" = 1580 or "elevation" = 1620 or "elevation" = 1640 or "elevation" = 1660 or "elevation" = 1680 or
"elevation" = 1720 or "elevation" = 1740 or "elevation" = 1760 or "elevation" = 1780 or "elevation" = 1820 or "elevation" = 1840 or "elevation" = 1860 or "elevation" = 1880 or
"elevation" = 1920 or "elevation" = 1940 or "elevation" = 1960 or "elevation" = 1980 or "elevation" = 2020 or "elevation" = 2040 or "elevation" = 2060 or "elevation" = 2080 )
첫댓글 휴가내 완전군장하고 카페연병장 구보 한 셈이네요 ^^ 다시 예비군 (사실은 민방위도 끝났슴다..ㅋㅋ)할 시간이 다 되었네요.
운수납자님 이 무더위에 연병장 뺑뺑이 도시느라 수고 많았습니다. 날 잡아서 삐루나 한잔..... ㅋㅎ
GPS TrackMaker의 중복부분선택[Select Repeated Tracklogs/Routes]을 이용하는 것은 어떨까요! 우선 가는선 모양의 10m 등고선을 불러오고, 그 다음 굵은 선의 50m 등고선을 불러온 후, 중복부분을 선택하면 10m 등고선의 50m 간격의 선들이 선택되므로 이를 삭제하고, 나중에 불러온 굵은 50m 등고선도 삭제합니다.
그리고 100m 간격의 등고선도 같은 요령으로 삭제하면 될 것 같습니다.
MapEdit에서 [Edit]/[Select]/[By Type]에서 삭제하고자 하는 polyline 선택하고 [Delete]누르면 간단함.
예) interm land contour만 남기고 나머지를 지우기를 원하면 [Edit]/[Select]/[By Type]에서 [0x20]minor land contour & [0x22]major land contour 선택하고 [Delete]하면 간단.
GTM에서 하는 방식은 다 만들고 난뒤 해야 하는점과 하더라도 중복부분에서 제거 해야할 등고선별 선택이 안될것 같은데 해보지 않고 그냥 추측만 해서는... / MapEdit에서 직접 해보시면 레벌별로 여러번을 해야하고 선택과 복사 붙여넣게 등등해서 장난이 아닙니다. 진짜로 아다곤 (adagon <--- )됩니다 ^^. 어쨌거나
소개 드린 원하는 간격및 원치 않는 부분 제거 방식의 등고선 추출법은 여러가지 사용법에서 기본 방법이 되리라 생각 합니다. 이제 바통을 넘깁니다 ~~~~
납자님의 백의종군 보면서 느낀점은, 보여줄 때 확실히 보여 줬다는 점입니다,야비?군 편입을 환영합니다.아다곤님 의 삐루나 한잔 ....에 한표...
ㅋㅋㅋ 내 닉네임이 자꾸나오네요.... 제 생각엔 마젤란경우는 잘 모르지만 가민경우 구지 등고선 분리 할 필요없이 기냥 dem2topo에서 mp 맹글어 text 에디터(ultraedit추천)로 기존 가민지도(mp파일)에 짬뽕시키면...
dem2topo 없을때야 수치지도에서 Arcview로 Query이용해서 등고선별로 따로 분리해서 각각의 level별로 집어넣는 adagon(<---)을 했지만 이제야 그럴 필요없을것 같군요. 너무 좋은 프로그램덕분에.... 가민의 경우...
10m/50m/100m 등고선 shp 파일을 각각 만든 후, 바로 GTM에서 불러오기 때문에 그리 복잡하지 않을 것 같습니다. 실제로 해 보시면 정말 간단합니다. 단, dem2topo에서 10m 등고선을 뽑았을 때와 50m 등고선을 뽑았을 때 두 경우의 50m 간격 등고선이 둘 다 정확하게 일치해야겠죠! 실제 뽑아보지 않아서...
GTM에서 [Select Repeated Tracklogs/Routes]는 중복된 데이터 중 가장 최신의 데이터만 제외하고 나머지를 삭제합니다. 그래서 50m 등고선을 먼저 열고, Merge File을 통해 10m 등고선을 나중에 불러오는 것입니다.
실제 한번씩 테스트 해 보실 수 있도록 [기타 자료실]란 글번호 165번에 10m 등고선과 50m 등고선 데이터를 gtm으로 변환하여 게시해 두었습니다. 먼저 GTM에서 50m를 열고, Merge File로 10m를 연 후, [Select Repeated Tracklogs/Routes] 아이콘을 통해 중복된 데이터 선택/삭제하고 굵은 50m 등고선도 일괄선택/삭제 끝
shp파일을 만들때는 분리 해야하고 (Arcview등 전문GIS 프로그램에서야 좀다르지만) mp파일로 맹글때는 구지 분리 할 필요 없음. 레벨 별로 알아서 중첩 안되게 분리해서 자알~~~ 맹글어줍니다. 누가? dem2topo아저씨가.....
야호! 안그래도 이걸 질문할려고 하고 있었는데.. ^_^ hgt파일은 dem2topo로 분리안하고 만들수있는데.. 20+100등고선으로된 shp 파일은 이방법으로 하면 편할거 같네요. 지금까지 프로그램사용법을 잘몰라서 gtmpro에서 open data table에서 100미터 삭제후 저장, 다시 불러서 20삭제후 저장이라는 노가다를 ^^;;;;;;;;
기타자료실 데이터로 GTM 에서 해봤습니다. 멋진 아이디어 입니다. 등고선 추출에서 각 등고선간 차이가 거의 나지 않아서 문제가 없을겁니다. 다만 처리할 도엽이 많을때가 번거로울 텐데 그땐 제가 전술한 방법을 사용하면 될것이고...이나 저나 활용이 점점 깊어 가는 학문의 카페 입니다.