Amazon Athena를 사용한 Amazon S3 데이터의 공간 검색 및 QGIS에서 시각화

13416 단어 athenas3awsqgis


Amazon Athena로 Amazon S3 데이터의 공간 검색을 시도하고 QGIS로 시각화했습니다 🎉



다음은 자세한 설명입니다.
  • 사전 준비
  • 쿼리 대상 설정
  • 테이블 생성
  • 공간 검색


  • 사전 준비



    Amazon Athena에서 사용할 GIS 데이터를 준비합니다. 이번에는 QGIS에 4가지 유형의 샘플 데이터를 미리 생성했습니다.

    점, 선, 다각형에 대한 GIS 데이터를 CSV(TSV 형식)로 준비했습니다.


    추가로 100만 포인트의 GIS 데이터를 CSV(TSV 형식)로 준비했습니다.


    4가지 유형의 CSV(TSV 형식)는 임의의 이름으로 S3에 저장되었습니다.


    이 샘플 데이터는 GitHub에 등록해 두었으니 마음껏 사용해주세요.
    https://github.com/dayjournal/data/tree/main/try-089

    이제 예비 GIS 데이터로 모든 설정이 완료되었습니다!

    S3 버킷 이름에 "geojson"이라는 이름이 포함되어 있지만 이번에는 CSV(TSV 형식)를 사용하겠습니다. 처음에는 GeoJSON 형식을 사용하려고 했으나 현재 GeoJSON 형식이 지원되지 않아(Hive JSON SerDe 형식 가능) 이번에는 "WKT"를 CSV(TSV 형식)로 정의했습니다.

    쿼리 대상 설정



    Amazon Athena에서 쿼리 대상을 설정하는 방법입니다.

    쿼리 대상에 대한 임의의 이름을 가진 S3 버킷을 미리 준비하십시오.


    AWS 관리 콘솔 → Athena를 클릭합니다.


    "자세한 내용은 쿼리 편집기 확인"을 클릭하십시오.


    "보기 설정"을 클릭합니다.


    "관리"를 클릭합니다.


    쿼리를 저장할 S3 버킷 지정 → "저장"을 클릭합니다.


    쿼리 대상이 설정됩니다.


    이제 쿼리 대상이 설정되었습니다!

    테이블 생성



    Amazon Athena에서 테이블을 생성하는 방법입니다.

    Athena 편집기 → 테이블 및 보기 생성 → "S3 버킷 데이터"를 클릭합니다.


    테이블 이름, 데이터베이스 선택, 대상 S3 버킷 사양, 데이터 형식 및 열 설정을 설정합니다. 미리보기 확인 → "테이블 생성"을 클릭합니다.


    이번에는 4개의 임의 테이블을 만들었습니다. 대상 테이블 → "미리보기 테이블"을 클릭합니다.


    검색된 레코드가 표시됩니다.


    이제 테이블 생성이 완료되었습니다!

    공간 검색



    마지막으로 Amazon Athena에서 spatial search을 수행하는 방법은 다음과 같습니다.

    다각형에서 무게 중심점을 검색해 봅시다. 결과 데이터를 다운로드합니다.

    SELECT "geojson-database"."geojson-polygon-table"."name", 
    ST_Centroid("geojson-database"."geojson-polygon-table"."wkt") 
    FROM "geojson-database"."geojson-polygon-table";
    



    QGIS에서 다운로드한 데이터를 시각화하여 처리된 데이터를 확인합니다.


    선에서 시작점을 검색해 보십시오. 결과 데이터를 다운로드합니다.

    SELECT "geojson-database"."geojson-line-table"."name", 
    ST_StartPoint(ST_GeometryFromText("geojson-database"."geojson-line-table"."wkt")) 
    FROM "geojson-database"."geojson-line-table";
    



    QGIS에서 다운로드한 데이터를 시각화하여 처리된 데이터를 확인합니다.


    다각형에 포함된 점만 가져오십시오. 결과 데이터를 다운로드합니다.

    SELECT "geojson-database"."geojson-point-table"."name", "geojson-database"."geojson-point-table"."wkt" 
    FROM "geojson-database"."geojson-point-table", "geojson-database"."geojson-polygon-table" 
    WHERE ST_Within("geojson-database"."geojson-point-table"."wkt", "geojson-database"."geojson-polygon-table"."wkt");
    



    QGIS에서 다운로드한 데이터를 시각화하여 처리된 데이터를 확인합니다.


    100만 개의 폴리곤에 포함된 포인트만 검색해 보십시오. 대용량 GIS 데이터 복구 시에도 응답시간이 빠릅니다. 결과 데이터를 다운로드합니다.

    SELECT "geojson-database"."geojson-randompoint-table"."name", "geojson-database"."geojson-randompoint-table"."wkt" 
    FROM "geojson-database"."geojson-randompoint-table", "geojson-database"."geojson-polygon-table" 
    WHERE ST_Within("geojson-database"."geojson-randompoint-table"."wkt", "geojson-database"."geojson-polygon-table"."wkt");
    



    QGIS에서 다운로드한 데이터를 시각화하여 처리된 데이터를 확인합니다.



    Amazon Athena를 사용하면 S3에 등록된 데이터의 공간 검색이 가능해집니다!

    관련 기사











    참조
    Amazon Athena
    Amazon S3
    QGIS

    좋은 웹페이지 즐겨찾기