{"openapi":"3.0.3","info":{"title":"APICK 좌표 거리·면적 측량","version":"1.0.0","description":"좌표 목록의 구간 거리·방위·총길이와 폐합 면적·둘레·중심점·경계 상자를 계산합니다. 지도에서 그린 경로나 구역의 길이·면적을 서버에서 확정할 때 씁니다."},"servers":[{"url":"https://apick.app"}],"paths":{"/rest/geo_measure":{"post":{"summary":"좌표 거리·면적 측량","description":"좌표 목록의 구간 거리·방위·총길이와 폐합 면적·둘레·중심점·경계 상자를 계산합니다. 지도에서 그린 경로나 구역의 길이·면적을 서버에서 확정할 때 씁니다.","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"서비스별 성공·처리 상태 응답","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"mode":{"type":"string"},"unit":{"type":"string"},"count":{"type":"integer","description":"받은 좌표 수입니다."},"totalDistance":{"type":"number","description":"경로 총길이(요청한 단위)입니다."},"totalDistanceM":{"type":"number","description":"경로 총길이(m)입니다."},"segments":{"type":"array","items":{"type":"object","properties":{"from":{"type":"integer","description":"구간 시작 좌표의 위치(0부터)입니다."},"to":{"type":"integer","description":"구간 끝 좌표의 위치입니다."},"distance":{"type":"number","description":"구간 거리(요청한 단위)입니다."},"distanceM":{"type":"number"},"bearing":{"type":"number","description":"구간 방위(도, 북쪽 0·동쪽 90)입니다."}}}},"perimeterM":{"type":"number","description":"다각형 둘레(m)입니다. polygon 일 때만 있습니다."},"area":{"type":"object","properties":{"m2":{"type":"number","description":"면적(m²)입니다. polygon 일 때만 있습니다."},"pyeong":{"type":"number","description":"면적(평)입니다."},"km2":{"type":"number","description":"면적(km²)입니다."}}},"centroid":{"type":"object","properties":{"x":{"type":"number","description":"면적 중심의 경도입니다."},"y":{"type":"number","description":"면적 중심의 위도입니다."}}},"bbox":{"type":"array","items":{"type":"number"},"description":"경계 상자 [최소 경도, 최소 위도, 최대 경도, 최대 위도] 입니다."},"matrix[]":{"type":"array","description":"matrix=true 일 때의 거리 행렬입니다. matrix[i][j] 는 i번째와 j번째 좌표 사이 거리입니다.","items":{}},"error":{"type":"string","description":"실패 사유입니다. 이 필드가 있으면 과금되지 않습니다."}}},"api":{"type":"object","properties":{"cost":{"type":"integer","description":"차감된 포인트입니다. 실패한 응답은 0입니다."},"success":{"type":"boolean"},"ms":{"type":"integer","description":"처리 시간(밀리초)입니다."}}}}}}}},"default":{"description":"HTTP 상태 및 서비스 오류코드 확인","content":{"application/json":{"schema":{"type":"object"}}}}},"requestBody":{"required":false,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"path 길이(기본), polygon 면적·둘레·중심점 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다. 가능한 값은 2가지입니다. path = path 값을 뜻하며, 같은 응답의 다른 필드와 함께 해석하세요. polygon = polygon 값을 뜻하며, 같은 응답의 다른 필드와 함께 해석하세요. (string)","enum":["path","polygon"],"example":"polygon"},"unit":{"type":"string","description":"거리 단위 (기본 m) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다. 가능한 값은 2가지입니다. m = m 값을 뜻하며, 같은 응답의 다른 필드와 함께 해석하세요. km = km 값을 뜻하며, 같은 응답의 다른 필드와 함께 해석하세요. (string)","enum":["m","km"],"example":"m"},"matrix":{"type":"string","description":"지점 간 거리 행렬 포함 여부 true/false로 보내며, 생략하면 서버 기본값이 적용됩니다. true = 이 필드가 나타내는 조건이 성립한 경우, false = 성립하지 않은 경우입니다. 두 값 모두 정상 응답에 올 수 있으며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. (boolean)"}}}}}}}}},"x-code-tables":[{"title":"오류 코드","columns":["상황","data.error 예","대처"],"rows":[["입력 누락·형식 오류","검색어가 필요합니다. / 주소 유형이 잘못됐습니다. / 좌표가 올바르지 않습니다. …","문구가 가리키는 입력을 고쳐 다시 요청합니다. 조회 전에 끝나며 과금되지 않습니다."],["개수·길이 초과","주소가 너무 깁니다. / 한 요청에 주소를 50개까지 보낼 수 있습니다. …","표의 최대값 안으로 줄이거나 나눠서 요청합니다."],["위치를 찾지 못함","입력한 위치를 찾지 못했습니다.","주소 표기(시도·시군구 포함 여부, 오탈자)를 확인합니다. 과금되지 않습니다."],["처리 시간 초과","처리 시간이 초과됐습니다. 범위를 줄여 다시 시도해 주세요.","목록 건수·반경·분류 수를 줄여 다시 요청합니다. 과금되지 않습니다."],["일시적 실패","공간정보를 일시적으로 가져오지 못했습니다. 잠시 후 다시 시도해 주세요.","잠시 뒤 같은 요청을 다시 보냅니다. 과금되지 않습니다."]]}],"x-service-errors":[],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}}}