@bravemobile/korea-administrative-area-geo-json-util
Version:
```shell npm install @bravemobile/korea-administrative-area-geo-json-util ```
48 lines (47 loc) • 1.78 kB
TypeScript
import { FeatureCollection, MultiPolygon, Polygon } from "geojson";
import { AdministrativeAreaFeatureCollection } from "./AdministrativeAreaFeature";
/**
* 행정구역 GeoJSON 레포지토리
*/
export declare class KoreaAdministrativeAreaGeoJsonUtil {
private readonly admSdGeoJson;
private readonly admSggGeoJson;
private readonly admAllGeoJson;
private readonly unionAdministrativeAreaFeatureCache;
constructor(admSdGeoJson: AdministrativeAreaFeatureCollection, admSggGeoJson: AdministrativeAreaFeatureCollection, admAllGeoJson: AdministrativeAreaFeatureCollection, option?: {
cacheSize?: number;
});
/**
* 대한민국 전체 경계 GeoJSON 조회
*/
getKorea(): Promise<AdministrativeAreaFeatureCollection>;
/**
* 행정 구역 code 목록 => 행정구역 GeoJSON 목록 매핑
* @param administrativeAreaCodes
* @private
*/
private getFeaturesByAreaCodes;
/**
* Feature 배열 병합
* @param features
* @private
*/
private mergeFeatures;
/**
* 이어진 지역을 그룹화한 결과를 반환합니다.
* @param administrativeAreaCodes
*/
groupConnectedAreas(administrativeAreaCodes: string[]): Promise<{
areaCodes: string[];
centerFeature: import("@turf/helpers").Feature<import("@turf/helpers").Point, import("@turf/helpers").Properties>;
mergedFeature: import("geojson").Feature<Polygon | MultiPolygon, import("geojson").GeoJsonProperties> | null;
}[]>;
/**
* 주어진 행정구역 목록을 병합한 GeoJSON 조회
*/
mergeAreas(administrativeAreaCodes: string[]): Promise<FeatureCollection<Polygon | MultiPolygon> | null>;
/**
* 캐시 초기화
*/
clearCache(): void;
}