PHP
[PHP]shapefile 데이터 읽기
teamnova
2024. 6. 24. 12:00
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 외 다른 형식으로 반환 받아 활용하는 것도 가능합니다