라벨이 프로그래밍인 게시물 표시

Qgis TMx, TMy 좌표를 위경도로 변환하는 방법

이미지
QGIS 좌표는 대부분이 TM_x, TM_y 좌표를 쓴다.  Power BI 맵 기능으로 위치에 따른 NOx, SOx를 도식화할 일이 생겨 알아보다 겨우 찾아내어 정리한다.  (내가 모르는것일수도 있지만, Power BI Map 기능은 일반 위경도 좌표 데이터만 프로젝트 가능하는듯 하다.) 1. TM_x, TM_y 좌표가 .csv 파일 로 필요. 2.  아래와 같이 플로그인에서 Lat Lon Tool 을 설치한다. 이게 TM 좌표를 일반 위경도 좌표로 변환 해주는 역할을 한다.  3. 설치한  Lat Lon Tool  를 우측에 공간 처리 툴박스에서 실행. 아래 메뉴 중 Point layer to fields 클릭.  4. 어떤 Layer 데이터 를 변환시켜줄지 클릭하고, Output 컬럼 을 뭐로 할지 설정.  5. Output Layer 가 만들어지면, 속성 테이블 열기 로 잘 만들어졌는지 확인. TM_x 가 x(경도) 로 TM_y가 y(위도) 로 잘 변환된것을 확인. 6. 변환된 위경도 좌표를  .csv 데이터로 저장 하여 필요한데 갖다 쓰면 된다. 

QGIS(Quantum Geographical Information System) 프로그램

이미지
업무 중 QGIS를 배우게 되었고, 꼭 GIS를 배워보고 싶었는데 이 참에 잘됐다. 아는 건 많이 없지만 아는대로 공유 참고로 나는 서울시 VOC(휘발성 유기 화합물, Volatiile Organic Compounds) 구별 배출량을 지도 내에 project 시키는 작업을 수행 (아주 심플하고 기초적인 작업)  VOC 배출량은 국가미세먼지정보센터에서 다운 받을 수 있다. ============================================= QGIS ( Quantum  Geographical Information System, 지리 정보 시스템) 란? QGIS 는 오픈소스 지리 정보 시스템이다.  GIS는 다음으로 구성됩니다. (1) 디지털 데이터 – 컴퓨터 하드웨어 및 소프트웨어를 사용하여보고 분석 할 지리적 정보 (2) 컴퓨터 하드웨어 – 데이터 저장, 그래픽 표시 및 데이터 처리에 사용되는 컴퓨터. (3) 컴퓨터 소프트웨어 – 컴퓨터 하드웨어에서 실행되고 디지털 데이터로 작업 할 수 있는 컴퓨터 프로그램.  GIS 응용 프로그램을 사용하면 컴퓨터에서 디지털 지도를 열고, 지도에 추가 할 새로운 공간 정보를 만들고, 필요에 맞는 인쇄된 지도 형태로 만들고, 공간 분석을 수행 할 수 있다. Manual 中.. ============================================= 먼저 필요한 링크부터 . QGIS 프로그램 다운로드 :  https://qgis.org/ko/site/forusers/download.html 서울시 배출량 사이트 : 국가 미세먼지 정보센터 (링크) 대한민국 최신 행정구역(SHP) 다운로드 : h ttp://www.gisdeveloper.co.kr/?p=2332 ** QGIS 3.10 User Manual :  https://docs.qgis.org/3.10/pdf/ko/QGIS-3.10-UserGuide-ko.pdf 초기에 세팅할 항목들이 몇 개 있...

PCA(Principal Component Analysis, 주성분) 분석

이미지
 PCA 분석에 대해 알아보다가 너무 상세하게 잘 설명한 블로그를 보아 남긴다. ( Excelsior-JH 님의 블로그) 그리고 일부 요약. PCA(Principal Component Analysis) 주성분 분석은 가장 대표적인 차원 축소 알고리즘이다. 고차원의 데이터를 저차원의 데이터로 환원시키는 기법을 말한다. PCA는 먼저 데이터에 가장 가까운 초평면(hyperplane)을 구한 다음, 데이터를 이 초평면에 투영(projection)시킨다. 그 중에서도 내가 얻었던 중요한 정보는  (1) 분산 보존 저차원의 초평면에 데이터를 투영하기 전에 먼저 적절한 초평면을 선택해야 한다. PCA는 데이터의 분산이 최대가 되는 축을 찾는다. 즉, 원본 데이터셋과 투영된 데이터셋 간의 평균제곱거리를 최소화 하는 축을 찾는다. 아래의 그림에서 왼쪽 2차원 데이터셋을 오른쪽 그림처럼 투영했을 때 ​축으로 투영한 데이터가 분산이 최대로 보존되는 것을 확인할 수 있다. JH 블로그 中 대기화학 분야에서는 발생원 추정 을 위해 PCA분석이 사용되고, 중금속 성분의 단위가 모두 같기 때문에 공분산행렬을 이용해 PCA 분석을 실시할 수 있다. 주성분 고유치(eigen value)를 X개로 분류하여 전체정보에 대해 몇 %를 보여주고 있는지도 도출되며, 나아가 이를 통해 발생원의 강도까지도 해석이 가능하다.  예를 들면, TC, NO 3 - , SO 4 2- , NH 4 +  가 전체 정보의 52%를 차지하였고, 이를 Reference의     Source Profile을 참고하여 오염원을  도로 오염원(Road-Dust)으로 추정하는 것. EPA에서 PM2.5에 대한 오염원 분류표가 있다.  (일일히 첨자를 해줘야되는 관계로.. 예시는 여기까지..) 

GDAS Data

  GDAS(Global Data Assimilation System)란, National Center for Environmental Prediction (NCEP) Global Forecast System (GFS) 모델에서 관측 값으로 일기 예보를 위해 Grid 형 모델 공간에 관측치가 나타남. (NOAA Website 中) Grid-3D 모델 공간안에 아래와 같은 유형의 Data들을 다운받을수 있다. (지상 표면 관측, 바람 프로파일러 데이터, 항공기 보고서, 부이 관측, 레이더 관측, 위성 관측) NOAA Archive 에서 다운로드 가능. GADS링크 : ftp://arlftp.arlhq.noaa.gov/pub/archives/gdas1 1시간 자료는 1°X1°, 0.5°X0.5°, 0.25°X0.25° Grid가 있다.  위 사이트서 GDAS 파일을 받은 후, Trajstat 프로그램을 통해 위경도 정보를 input하여 사용자의 기호대로 변환이 가능하다.  Trajstat 은 구글링을 통해 받으면 된다.  변환한 Traj 파일로 R 프로그램을 통해 여러가지 분석 및 도식화가 가능.  

R 프로그래밍 언어

 석사 들어온날부터 현재까지 R을 주로 썼고, Machine Learning 분석을 할때 Python도 종종 썼다. Machine Learning으로 PM2.5의 기여율을 산정한 적이 있었다. 이미 존재하는 Data(PM2.5, PM10, BC, O3, CO, CO2, Wind Speed, Wind Direction...) 로 어떠한 변수가 PM2.5 생성에 기여를 가장 많이하는지를 예측하는 학습을 실시했었다.   결과를 보기전까지는 '오늘의 PM2.5 농도'는 '몇 시간전의 PM2.5/PM10 농도'의 영향을 가장 많이 받을 것이라고 예상했지만, 결과는 달랐다. 몇 시간전의 PM2.5/PM10 보다는 오늘의 PM2.5를 생성하게 하는 전구물질(Precursor)의 영향이 더 컸다.  R은 통계학자들이 만든 프로그램으로, 코드나 예제 유형이 잘 배포되있으며 모든 통계 기법이 이미 어딘가에 패키지 형태로 구현되어 있다고 봐도 된다. 그리고 가장 중요한건 공짜이다.  학교에서 제공되는 프로그램들도 많은데, 왜 최초에 R을 선택했는지는 모르겠지만. 이미 R은 연구실에서 뿌리깊게 박혀있었다. 내가 주로 쓰는 Library는 대기분석에 필요한 Openair 와 역궤적 분석에 쓰는 Cluster 를 주로 쓴다. 각자 전문 분야마다 쓰는 Library나 Tool이 다르기 때문에 내가 쓰는 Openair 등은 누군가에겐 생소할 수 있다. 놀라운 사실은 2년반. 짧다면 짧고 길다면 긴 시간인데, 2년 반동안 매일같이 쓰던 R을 영어공부에 매진한 3개월간 안쓰니 손이 금새 굳었던 경험을 하였다. 언어(Language, Programming Language)는 꾸준히 지속적으로 관리를 해줘야된다.

컴퓨터 프로그래밍 - ANSYS

이미지
학부 동안에는 기계공학에 필요한 Tool : CAD, CATIA, ANSYS 를 썼었다.  그 중 ANSYS-Autodyn 을 가장 많이 썼다. 난 유한요소해석을 주로 학부때 진행했었다. 그때 날 컴퓨터 Tool의 세계로 이끌어준 손교수님 감사합니다. 그때를 시작으로 다른 Tool과 언어들도 공부했었으니깐. 내가 첫 스타트를 지루해하지않고, 잘 끊을수 있게 정말 자식처럼 도움을 많이 주셨다. (내가 1호 제자였다) 유한요소해석(Finite Element Analysis, FEA)이란, 간단히 설명하면 구조물이나 연속체를 해석하는 방법이다. 정역학(Statics), 동역학(Dynamics), 열역학/전달(Thermodynamics/Heat Transfer)의 개념을 잘 알면, 이에 관련된 분야에 적용할 수 있다.  내가 수행했던 모델을 예로 들면, 나는 (1) Bird Strike on an Aircraft  (2) Front Collision Simulation (주로 Bumper or Crash-box) 이 2가지 과제/모델링을 수행했었고, 이를 바탕으로 졸업논문도 썼다.  모델링 결과는 위의 영상과 같다. 외부설계 프로그램으로 구조(Structure)를 설계하고, 그 두 구조물에 무게, 질량, 밀도, Material 등을 기입하여 실제로 그 구조물이 갖는 성질을 입력시켜준다. 실제와 같이. 그리고 실행시켜주면 된다. 실제로 실험 전 사전에 Test를 하기위한 프로그램이고, 다양한 물성 Library를 제공해주는 점에서 아주 매력적인 Tool이라고 할수있다.