본문 바로가기
PHP

[PHP]shapefile 데이터 읽기

by teamnova 2024. 6. 24.
728x90

오늘은 gasparesganga/php-shapefile 라이브러리를 활용하여 shapefile의 정보를 WKT 형식으로 읽어보겠습니다.

 

shapefile format 파일들 준비

읽을 shapefile format 관련 파일들을 준비합니다

 

 

라이브러리 추가

Composer를 활용해 터미널에서 아래와 같은 명령어를 입력해 php-shapefile를 추가합니다

 

 

 

PHP 코드

<?php
require_once '../vendor/autoload.php';
use Shapefile\ShapefileException;
use Shapefile\ShapefileReader;

try {

    // Shapefile 열기
    $Shapefile = new ShapefileReader('.shp 파일 경로');
    // 파일에 기록된 데이터를 순회하며 읽기
    while ($Geometry = $Shapefile->fetchRecord()) {
        // 삭제된 기록은 건너뛰기
        if ($Geometry->isDeleted()) {
            continue;
        }

        // Geometry 데이터를 WKT 형식으로 반환 및 출력
        print_r($Geometry->getWKT());
        //파일에 기록된 Geometry 데이터 하나만 출력하고 while문 멈추기위해 break; 사용
        break;

    }

} catch (ShapefileException $e) {
    // 에러났을시 내용 출력
    echo "에러유형: " . $e->getErrorType()
    . "\n에러메세지: " . $e->getMessage()
    . "\n상세정보: " . $e->getDetails();
}

 

 

실행 결과

출력 결과 화면 일부

 

 

 

아래 이미지 처럼  WKT 외 다른 형식으로 반환 받아 활용하는 것도 가능합니다