UNPKG

@bravemobile/korea-administrative-area-geo-json-util

Version:
48 lines (47 loc) 1.78 kB
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; }