일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- WMTS
- Cesium
- GIS
- Potree
- CesiumJS
- PostGIS
- QGIS
- anotherdxfimporter
- PostgreSQL
- jupyternotebook
- GDAL
- georeferrencing
- pg_notify
- 3DTiles
- display:flex
- 3D tiles
- attribute Selector
- css
- raster2pgsql
- GeoServer
- gdal2tiles
- extent linestring
- PointCloud
- threejs
- PDAL
- publish/subscribe
- DXF
- VWORLD
- Line Dashed
- line width
- Today
- Total
목록Programing (23)
코드조각 저장소

작성한 다른 글에서 사용하려고 테스트 데이터를 만드는 과정을 해결하여 정리해 봅니다. 사용하는 데이터셋은 비슷합니다만 GDAL만으로 처리하기에는 실력 부족으로 막혔던 부분을 데이터베이스에 raster데이터를 적재하고 각 포인트의 값을 추출하는 방식으로 해결하였습니다. PointCloud의 자료 형식은 많이 있지만 제일 단순하다고 판단된 [ Text : X Y Z R G B ] 형식으로 원천 데이터를 생성하였고 CloudCompare등을 통해 LAS, PLY등으로 변환하여 사용 할 수 있었습니다. 처음 사용한 자료는 국토정보플랫폼에서 제공하는 공개(DEM) 자료를 사용하였습니다 하지만 이자료는 구역별 높이값을 제공하고 있어서 생성된 결과물에 계단 처럼 층이 저 있었습니다. 그래서 표고데이터 및 등고선 데이..

국토정보플랫폼(국토지리정보원)에서는 한반도 지리적 자료를 공개적으로 제공하고 있습니다. 이전 글을 작성하느라 데이터 수집하며 알게 된 내용을 공유하려합니다. 이전 글 : Cesium Terrain Builder를 이용한 3D tiles 만들기 GIS 관련 업무 중 Georeferencing란 일반 도서 지도를 디티털화 시키는 작업을 칭하는 듯 합니다만 생각보다 번거로운 작업인 듯 합니다. QGIS를 이용하여 할 수 있는 튜토리얼도 잘 정리 된듯합니다. www.qgistutorials.com/ko/docs/georeferencing_basics.html Georeferencing Topo Sheets and 스캔지도 — QGIS Tutorials and Tips Georeferencing Topo Shee..

이전 글에서 WMS tiles를 만들 었고, 이번에는 뼈대와 같은 Mesh Tiles를 만들어 보겠습니다. 정확히는 Quantized Mesh로 칭합니다만 이 데이터 포멧을 구현한 Cesium Terrain과 CesiumJS에서 사용하는 데이터 구조의 Tiles 입니다. 처음 시도할 때에는 WMS와 같이 평범한 Web 서버를 통해 서비스 되는 줄로 이해했습니다. 하지만 동일한 방법으로는 예제의 페이지가 정상적으로 동작하지 않았습니다. 결론적으로는 Cesium Terrain Server를 이용해야만 정상적으로 동작하였고 차이점은 빈 Tile 데이터의 처리를 서버쪽에서 어떻게 하느냐 정도로 이해하고 넘어 갔습니다. 그래서 생성된 결과물을 확인하려면 3D Tiles의 Cesium Terrain Server와 ..
위성영상, 고해상도 TopoGraphy(GeoTiff) 데이터가 있다면 이미지 타일을 만드는 법은 여러가지가 있습니다. GDAL 뿐만아니라 QGIS, ArcGIS 등등이 있습니다. 만약 적절한 데이터가 없다면 데이터(GeoTiff)를 만드는 수 밖에 없는데 고해상도 위성영상 사진을 구하고 이미지에 좌료값을 맵핑하는 Georeferencing이란 작업을 통해 이번에 사용하고자 하는 데이터를 만드는 과정이 필요합니다. 저도 이번에 진행해 보았는데 기초지식 없이는 따라하기가 수월하지 않았고, 결과물 또한 만족 스럽지 않았습니다. www.qgistutorials.com/ko/docs/advanced_georeferencing.html 항공사진 지오레퍼런싱 — QGIS Tutorials and Tips 항공사진 ..

원래의 목표는 PointCloud(X,Y,Z, R,G,B)에서 점과 색상을 이용하여 Mesh와 Texture까지 생성을 목표로 하였습니다만, 마땅한 데이터를 찾지 못하여 수정을 좀 하였습니다. 쉽게 구할 수 있는 PC(PointCloud)들이 보통 LiDar(LAS,LAZ) 관련된 파일이 많은데 이 포멧에서는 포인트 색상이 포함된 자료는 찾기가 쉽지 않았습니다. 제가 처음 테스트 진행했던 데이터는 드론으로 촬영한 이미지를 Pix4D Mapper를 사용하여 구축한 PC자료였기 때문인지 Text 파일에 X,Y,Z,R,G,B 값을 가진 데이터를 사용하였습니다. 그래서 처음 목표한 데이터 처리 흐름은 다음과 같았습니다. 하지만 원본 데이터가 변경 되면서 다음과 같이 진행 하려 합니다. OpenTopography..
I. PDAL, GDAL 환경 구축하기(WIndow 10, Anaconda) PDAL GDAL (powershell conda init) DockerDesktop PointCloud와 Raster Data를 다루는 좋은 오픈소스로 PDAL, GDAL이 있습니다. 두 라이브러리에 대해서는 각 홈페이지를 참고 하시기 바랍니다. 이번 작업에서 주로 사용하는 라이브러리로 설치가 필요한데 두개 모두 Python으로 포팅되어 있어 Python기반으로 설치하여 사용 할 것입니다. 각 설치가이드에 따라서는 소스코드를 다운로드 받아 컴파일하여 사용 할 수도 있지만 저는Python 설치 패키지 및 Python 가상환경 툴인 Conda(Anaconda)를 사용하여 환경을 구성하였습니다. Conda 역시 Anaconda라고하..

(출처 : developer.here.com/blog/visualizing-large-scale-terrain-with-open-source-tool-tin-terrain ) 대용량 PointCloud를 Web상에서 표현하는 것은 많은 기술들이 필요합니다. 이를 좀 더 쉽게 할 수 있는 방법을 소개하려 합니다. OpenSource인 CesiumJS를 활용할 것이나 CesiumJS에서 사용하는 3DTiles는 Cesium-ION을 이용하는 것이 가장 쉽고 현명한 방법이라고 생각합니다만, 이번에는 CesiumION을 사용하지 않는 방법이 있어 정리해 보았습니다. 3D Tile이라는 것과 이를 생성하는 방법은 여러개가 있겠지만, 여기서는 PointCloud 이용하여 3D Tile을 생성하고 Web 상에서 확인..
원본 글 : abelvm.github.io/sql/contour/ Fast contour lines using plain PostGIS There’s a bunch of different ways to generate contour lines [1] from scatter data, each of them based on different interpolation algorithms. Like KNN [2], IDW [3] or kriging-flavoured methods [4]. (image from Wikipedia) abelvm.github.io Input Dataset geomin: geometries array -> 좌표 포인트 colin: numeric values array -> z, he..

LineString의 양방으로 지정된 길이만큼 연장한 LineString을 구하는 예제 기울기(벡터)에 따른 양방향 연장 지점에 대한 LineString의 생성 SELECT ST_MakeLine( ST_TRANSLATE(st_pt, sin(az1) * len, cos(az1) * len) ,ST_TRANSLATE(en_pt ,sin(az2) * len, cos(az2) * len) ) FROM ( SELECT st_pt , en_pt , ST_Azimuth(st_pt,en_pt) AS az1, ST_Azimuth(en_pt, st_pt) AS az2 , ST_Distance(a,b) + 1 AS len FROM ( SELECT ST_StartPoint(the_geom) AS st_pt, ST_EndPoi..

Redis 스트림은 최근 실시간 다중 프로세스 애플리케이션을 구축 할 때 제가 가장 좋아하는 Redis 기능이었습니다. 데이터 보존 기능은 Redis PUBSUB보다 강력하며 여러 소비자 및 소비자 그룹을 사용하면 대기열에 비해 사용하기가 더 쉽습니다. Redis 스트림은 로그 데이터 구조로 작동합니다. 스트림에 더 많은 항목을 추가하면 메모리가 증가하고 일부 작업에 영향을 미칠 수 있습니다. 항목 수를 제한하려면 Redis에 제한된 항목 수로 스트림을 제한하도록 지시 할 수 있습니다. XADD mystream MAXLEN ~ 1000 * [