본문 바로가기

분류 전체보기135

ogr2ogr로 csv 파일을 ESRI Shape file로 만드는 방법 ogr2ogr은 GDAL (Geospatial Data Abstraction Library)의 강력한 명령줄 도구로, 마치 마법사처럼 다양한 지리공간 데이터 포맷 간의 변환을 손쉽게 처리합니다. GDAL은 GIS(Geographic Information Systems) 분야에서 가장 널리 사용되는 오픈소스 라이브러리 중 하나이며, ogr2ogr은 그 핵심 기능 중 하나입니다. 단순한 포맷 변환뿐만 아니라, 데이터 필터링, 재투영, 그리고 공간 처리 기능까지 제공하여 지리공간 데이터 관리에 필수적인 도구로 자리매김했습니다. csv 파일을 ESRI Shape 파일로 변환하는 방법은 여러가지가 있지만, ogr2ogr을 사용해서 만들때 다음과 같은 2가지 형태가 있습니다. 1. csv 파일에 경도, 위도의 좌표.. 2024. 11. 1.
pgOSM Flex: docker를 이용해 osm 데이터 postgresql 임포트하기 osm 데이터를 postgresql로 임포트하는 방법은 여러가지가 있겠지만, pgOSM Flex를 이용하면 간단게 고품질 OpenStreetMap 데이터셋을 postgresql(postGIS)로 임포트 가능합니다.아래는 docker를 이용해 우리나라 데이터를 import 하는 스트립트 예제입니다.mkdir ~/pgosm-dataexport POSTGRES_USER=postgresexport POSTGRES_PASSWORD=mysecretpassword# Ensure you have the latest Docker imagedocker pull rustprooflabs/pgosm-flexdocker run --name pgosm -d --rm \ -v ~/pgosm-data:/app/output \ .. 2024. 11. 1.
ESRI Shape file(*.shp)을 postgresql로 밀어넣기 shp 파일을 postgresql(postGIS)로 로딩하는 방법은 여러가지가 있겠지만, 이번 글에서는 GIS에서 사용하는 shape 파일을 곧바로 postgresql에 임포트 하는 방법에 대해 설명하겠습니다.다양한 지리공간 데이터 형식 간의 변환을 돕는 GDAL 도구 중 하나인 ogr2ogr을 이용한 방법입니다. 아래 명령어를 이용하면 shp 파일 뿐만 아니라, ogr2ogr에서 지원하는 파일은 다 넣을 수 있을 거라고 생각합니다.ogr2ogr.exe -progress --config PG_USE_COPY YES --config SHAPE_ENCODING UTF-8 -f PostgreSQL "PG:host=localhost port=5432 dbname=postgres password=1234 acti.. 2024. 11. 1.
한줄의 명령어로 여러개의 영상을 하나로 합치기 ffmpeg을 이용하면 명령어 한 줄로 여러개로 나누어진 영상을 하나로 합칠 수 있습니다. FFmpeg - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. FFmpegPNG 파일 포맷을 WebP 포맷으로 변환하는 중인 FFmpeg원저자파브리스 벨라드개발자FFmpeg 팀발표일2000년 12월 20일(21년 전)(2000-12-20)[1]안정화 버전5.1.2[2] / 2022년 ko.wikipedia.org 위키백과에 설명된 대로 ffmpeg은 '디지털 음성 스트림과 영상 스트림에 대해서 다양한 종류의 형태로 기록하고 변환하는 컴퓨터 프로그램'입니다. 오픈소스 라이센스로 LGPLv2.1+, GPLv2+ (단, 엔디비아 Performance Primitives로 컴파일 된 경우 재배포 불가능.. 2022. 12. 16.
#3-2 OrTools로 bin packing 문제 해결(CP-SAT) 이전 글에 이어서 제약조건을 설정하고 최적화를 실행하는 부분을 설명하겠습니다. # 제약조건 for i in range(n): model.Add(xb1[i] == x[i] + b[i]*W) model.Add(xb2[i] == xb1[i] + w[i]) model.AddNoOverlap2D(xival,yival) model.AddMaxEquality(z,[b[i] for i in range(n)]) # 목적함수 model.Minimize(z) # 모델 최적화 solver = cp_model.CpSolver() # 로그 남기기 solver.parameters.log_search_progress = True # search worker 개수 지정 - 멀티스레드 #solver.parameters.num_searc.. 2022. 11. 22.
#3-1 OrTools로 bin packing 문제 해결(CP-SAT) 2D bin packing(상자 채우기) 문제는 2차원 평면에 사각형의 객체를 적절히 채우는 문제입니다. 이 문제를 푸는 방법은 상당히 여러가지가 있는 것 같습니다. 여기말고 '티바이트' 라는 분의 블로그에 상당히 자세한 알고리즘 풀이가 있으니, 궁금하신 분들은 참고하시면 좋을 것 같습니다. 이 글에서는 OrTools의 CP-SAT 솔버를 통해 문제를 해결하는 방법을 보여드립니다. 아래 소스의 대부분은 "Yet Another Math Programming Consultant"라는 분의 블로그의 글을 참고했습니다. 우선 결과부터 보여드리면 아래와 같습니다. 너비 68, 높이 60 영역에 50개에 서로 크기가 같거나 다른 상자를 채운 모습입니다. 소스는 크게 4부분으로 나누어 집니다. 데이터 정의 제약 조건.. 2022. 11. 22.