안녕하세요, 이번 블로그에서는 h3 인덱스를 사용하여 래스터 분석을 쉽게 수행하는 방법에 대해 설명하겠습니다.
학습을 위해 ESRI 토지피복에 의해 결정된 거주 지역에 건물이 몇 개 있는지 계산해 보겠습니다. 벡터와 래스터 모두에 대한 국가 수준의 데이터를 목표로 삼겠습니다.
Esri Land Cover에서 정착지역을 다운로드했습니다.
약 362MB 크기의 2023년을 다운로드하세요
출처 : http://download.geofabrik.de/asia/nepal.html
실제 h3 셀 계산 전에 데이터에 일부 전처리를 적용해 보겠습니다
이 단계에서는 gdal 명령줄 프로그램을 사용합니다. 컴퓨터에 gdal을 설치하세요
코그에 대해 모르신다면 여기에서 확인하세요: https://www.cogeo.org/
사용 중인 gdal 버전을 인쇄해야 합니다
래스터의 소스 srs가 다를 수 있으므로 그에 맞게 변경하세요
재투영된 TIFF를 geotiff로 변환하는 데 약 1분이 걸렸습니다
우리는 osm2pgsql을 사용하여 osm 데이터를 테이블에 삽입하고 있습니다
osm2pgsql은 전체적으로 274초(4분 34초)가 걸렸습니다.
ogr2ogr을 사용하는 경우 geojson 파일도 사용할 수 있습니다
ogro2gr은 드라이버에 대한 광범위한 지원을 제공하므로 입력 내용에 대해 매우 유연합니다. 출력은 Postgresql 테이블입니다
설치
DB에 확장 프로그램 만들기
이제 건물 테이블을 만들어 보겠습니다
테이블에 데이터 삽입
로그 및 타이밍 :
이제 centroid를 사용하여 해당 건물의 h3 지수를 계산해 보겠습니다. 여기 8은 제가 작업 중인 h3 해상도입니다. 여기에서 해결 방법에 대해 자세히 알아보세요
설치
재투영된 톱니바퀴가 static/
에 있는지 확인하세요.
래스터에서 h3 셀을 생성하려면 저장소에 제공된 스크립트를 실행하세요. 모드 방식으로 리샘플링 중입니다. 이는 보유한 데이터 유형에 따라 다릅니다. 범주형 데이터의 경우 모드가 더 적합합니다. 여기에서 리샘플링 방법에 대해 자세히 알아보세요
로그 :
다각형에서 get_h3_indexes 함수를 만들어 보겠습니다
우리 관심 지역에서 건축 지역으로 식별된 모든 건물을 가져오세요
쿼리 계획 :
건물의 h3_ix 열에 인덱스를 추가하면 더욱 향상될 수 있습니다
촬영 횟수: 제가 사는 지역에는 ESRI로 분류된 건축 등급 건물이 24416개 있었습니다
출력이 true인지 확인하겠습니다. 건물을 geojson으로 가져오겠습니다
h3셀도 얻자
h3 해상도를 높이면 정확도가 높아질 수 있으며 입력 및 리샘플링 기술에 따라 달라집니다
필요하지 않은 테이블은 삭제하세요
타일을 시각화하려면 pg_tileserv를 사용하여 벡터 타일을 빠르게 만들 수 있습니다
소스 레포 : https://github.com/kshitijrajsharma/raster-analytic-using-h3
위 내용은 Uber hndexes 및 PostgreSQL을 사용한 래스터 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!