@bravemobile/korea-administrative-area-geo-json-util
Version:
```shell npm install @bravemobile/korea-administrative-area-geo-json-util ```
73 lines (64 loc) • 1.94 kB
Markdown
### 설치
```shell
npm install @bravemobile/korea-administrative-area-geo-json-util
```
### 인스턴스 생성
```typescript
const koreaAdministrativeAreaGeoJsonUtil = new KoreaAdministrativeAreaGeoJsonUtil(
admSdGeoJson,
admSggGeoJson,
admAllGeoJson
);
```
#### Parameters
- admSdGeoJson (`FeatureCollection<Polygon | MultiPolygon, AdministrativeAreaProperties >`) 시도 GeoJSON 데이터
- admSggGeoJson (`FeatureCollection<Polygon | MultiPolygon, AdministrativeAreaProperties >`) 시군구 GeoJSON 데이터
- admAllGeoJson (`FeatureCollection<Polygon | MultiPolygon, AdministrativeAreaProperties >`) 전국 GeoJSON 데이터
- options (`{
cacheSize?: number;
}`
) 옵션
- `cacheSize`: GeoJSON 병합 결과 캐시 최대 크기
## mergeAreas
특정 지역구만 병합된 GeoJSON 조회
```typescript
geoJsonUtil.mergeAreas(['1', '2', '3']);
```
#### Parameters
- administrativeAreaCodes (`string[]`) 병합할 행정구역 코드 배열
#### Returns
병합된 GeoJSON
```typescript
Promise<FeatureCollection<Polygon | MultiPolygon> | null>
```
## groupConnectedAreas
인접한 행정구역들을 그룹화합니다.
```typescript
geoJsonUtil.groupConnectedAreas(['1', '2', '3']);
```
#### Parameters
- administrativeAreaCodes (`string[]`) 병합할 행정구역 코드 배열
#### Returns
인접한 행정구역별로 묶인 그룹의 배열
```typescript
import {
MultiPolygon,
Point,
Polygon,
} from 'geojson';
Promise<{
areaCodes: string[]; // 그룹에 포함된 행정구역 코드 배열
mergedFeature: Feature<Polygon | MultiPolygon> | null; // 그룹의 행정구역 GeoJSON 병합 결과
centerFeature: Feature<Point>; // 그룹의 행정구역 GeoJSON 병합 결과의 중심 위치
}[]>
```
## clearCache
캐시 초기화
```typescript
koreaAdministrativeAreaGeoJsonUtil.clearCache();
```
## getKorea
전국 GeoJSON 조회
```typescript
geoJsonUtil.getKorea();
```