CLOSED‎ > ‎

대기오염 지도

대기오염도 실시간 공개 시스템에서는 측정소 주소를 지역별로 공개하고 있다. 전화번호의 국번으로 지역을 구분하기 때문에 (2013년 현재는 구분자가 늘어난 것 같다) 전국 관측소의 좌표에 대해 기계적인 주소 파악이 가능하다. 시스템에서 제공하는 자료를 시각화하기에 편리한 환경으로, 관측소 위치에 관측 지표를 글자나 적절한 아이콘으로 표시해주면 된다.

이때 문제가, 측정소의 정보는 단지 측정 지점의 값일 뿐이며 주변 지역의 정보는 보는 사람이 직접 해석을 해야 한다는 것이다. 가령 거리상으로 가깝다면 더 비슷할 것이라는 정도. 이것이 상식적인 수준이긴 하지만 위치마다 지형적 특성이 있으므로 항상 옳은 것은 아닐 것이다. 일단 생각하기에는 풍향을 표시하는 방법이 있겠다. 국가 수자원관리 종합정보 시스템에서 시간별 기상자료를 보여주긴 하는데, 여기에 기계적으로 접근하는 방법이 있는지 모르겠다. 기상청에서도 기상실황표(위치는 사이트 개편에 따라 바뀔 수 있다)에 풍향과 풍속을 제공하지만 도시별 정보라서 세밀한 의미는 줄 수 없다.

진행 일지

2007년 9월 30일, 지나가다 도로에 설치된 대기오염 전광판을 봤는데 문득 '지역별 대기오염 측정점이 공개되어 있나?' 하는 생각이 들었다. 그날 밤에 찾아보니 공개도 되어 있고 지역별로 조회도 할 수 있다. 기계적으로 표시하기 위해서는 주소를 지도에 표시할 좌표로 바꿔야 했는데 새벽까지 찾아보니 주소로 좌표를 얻어오는 게 있길래 넣어보니 잘 되었다.
2007년 12월 1일, 위키에 기초적인 틀에 대해 정리를 했다.
2008년 4월 30일, 새벽에 일어나 재미삼아 (당시로는 국내 지도가 그나마 나은 수준이고 API도 좋았던) 야후 지도에 prototype과 mod_python 등으로 시작했다.
2008년 5월 4일, 대기 측정소 주소 및 위치를 작성했다. 웹페이지에 지도를 호출하고 그 아래에 주소를 담은 표를 두어 하나씩 지도에 대입해서 나온 좌표가 다시 표에 들어가도록 했다. 230개 관측소별 좌표가 기재된 표를 얻을 수 있었다. 다만 읍이랑 리 단위 주소는 네이버와 야후에서 인식 못 하는 게 있다. 주소가 틀린 건지 지도DB가 틀린 건지는 모르겠다. 일단 주소를 직접 보고 수작업으로 조회를 해서 (정확한 위치가 필요한 건 아니었으므로) 비슷하게 맞춰 넣었다. 일단 지도에 찍을 수준은 되었는데, 지역적 편중이 너무 심해서 정보 표시를 어떻게 해야 할지 알 수 없었다.
2008년 5월 6일, 지점별로 위치와 확대수준의 preset을 두기로 결정을 했다. 한편, 정보를 가져다 표시되는 것까지는 확인했는데 단순히 점이 아니라 기상도에서 기압골과 같이 어떤 연속면을 표현하고 싶었지만 브라우저 수준만으로는 엄두가 안 났다. 지도에 부가적인 정보를 표현하는 방법으로 KML과 GeoRSS가 있어서 야후 지도에서 API를 제공하는 GeoRSS로 다시 작성을 했다. 야후측 문서와 달리 시작점과 배율을 지정하는 것이 적용되지 않았고, 좌표가 틀렸는지 위도 0, 경도 0에 찍히는 문제가 있었지만 일단 표시된다는 걸 확인했다.
2008년 5월 8일, 밤 늦게까지 해보는데 아무래도 Ajax로 호출했던 최초의 시도 때문에 막혔는지 (우회해서는 핑이 가는데) 그냥은 못 간다. 아침이 되어 환경관리공단에 전화를 넣어보니 안 그래도 이쪽에 대해서 인지를 하고 있었다. 담당자가 공격적으로 비난한다거나 하는 건 아니었지만 사전에 허가를 받지 않은(이 점을 미리 살피지 못한 것은 나의 불찰이었다) 불법적인 이용을 불허한다는 입장은 확고했고, 예전 기상청에 전화를 걸었을 때 데인 것 때문에 길게 말하지 않고 막혔다는 사실을 확인하는 수준에서 통화를 마쳤다. 이쪽 아파치 로그 뽑아봤더니 6일은 1300여번과 2600여번 저쪽 페이지를 호출했고 그 전후로는 250번 안팎이다. 막힌 건 빨라도 8일 정오였을 건데 저 정도 호출이 서버에 부하를 주거나 한 것일까?

위와 같은 전개를 통해 기술적으로 가능함을 확인했다. Ajax 방식은 제약도 많고 서버측에도 부담을 주기 때문에 바람직하지 않고, GeoRSS 코드를 남겨놓았다.
Comments