You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
3.2 KiB
122 lines
3.2 KiB
|
|
function validation(length){ |
|
if(!(length == 2) && !(length == 5) && !(length == 8) && !(length == 10)){ |
|
console.log('매개변수를 확인해주세요'); |
|
|
|
return false; |
|
} |
|
|
|
return true; |
|
} |
|
|
|
module.exports = { |
|
/** |
|
* length : 코드길이, coordnate : 좌표리스트 |
|
* 좌표리스트 안에서 코드 글자수에 맞춘 데이터만 배열로 SELECT함, 법정동 코드만 가져옴 |
|
* @param {*} length |
|
* @param {*} coordinate |
|
* @returns |
|
*/ |
|
allCodeServcie : (length, coordinate) => { |
|
let castNumLength = Number(length); |
|
|
|
if(!validation(castNumLength)){ |
|
return; |
|
} |
|
|
|
let result = []; |
|
|
|
for(let i = 0; i < coordinate.length; i++){ |
|
|
|
if(coordinate[i].properties.CD.length == length){ |
|
result.push(coordinate[i].properties.CD); |
|
} |
|
} |
|
|
|
return result; |
|
}, |
|
/** |
|
* locationCode가 앞에 있고, 코드 글자수[length]도 맞는 코드 SELECT함 |
|
* EX => locationCode = 43110과 length = 10 이면, 4311000011, 4311000211 등등을 가져옴 |
|
* @param {*} locationCode |
|
* @param {*} length |
|
* @param {*} coordinate |
|
* @returns |
|
*/ |
|
codeService: (locationCode, length, coordinate) => { |
|
let castNumLength = Number(length); |
|
|
|
if(!validation(castNumLength)){ |
|
return; |
|
} |
|
|
|
let result = []; |
|
|
|
for(let i = 0; i < coordinate.length; i++){ |
|
|
|
if(coordinate[i].properties.CD.length == length){ |
|
result.push(coordinate[i].properties.CD); |
|
} |
|
} |
|
|
|
result = result.filter(str => str.startsWith(locationCode)) |
|
|
|
return result; |
|
}, |
|
/** |
|
* locationCode : 법정동 코드, length : 코드길이, coordnate : 좌표리스트 |
|
* 좌표리스트 안에서 코드 글자수와 법정동코드가 포함된 데이터만 배열로 SELECT함 |
|
* EX => locationCode = 43 이면 43이 포함되고 코드길이에 맞는 데이터를 구함 |
|
* @param {*} locationCode |
|
* @param {*} length |
|
* @param {*} coordinate |
|
* @returns |
|
*/ |
|
locationCodeMathingService: (locationCode, length, coordinate) => { |
|
let castNumLength = Number(length); |
|
|
|
if(!validation(castNumLength)){ |
|
return; |
|
} |
|
|
|
let result = []; |
|
|
|
for(let i = 0; i < coordinate.length; i++){ |
|
|
|
if(coordinate[i].properties.CD.length == length){ |
|
result.push(coordinate[i]); |
|
} |
|
} |
|
|
|
// console.log(result); |
|
|
|
result = result.filter(str => str.properties.CD.startsWith(locationCode)) |
|
|
|
return result; |
|
}, |
|
/** |
|
* 길이에 관한 모든 데이터를 뽑아옴 |
|
* @param {*} length |
|
* @param {*} coordinate |
|
* @returns |
|
*/ |
|
allLocationCodeMathingService: (length, coordinate) => { |
|
let castNumLength = Number(length); |
|
|
|
if(!validation(castNumLength)){ |
|
return; |
|
} |
|
|
|
let result = []; |
|
|
|
for(let i = 0; i < coordinate.length; i++){ |
|
|
|
if(coordinate[i].properties.CD.length == length){ |
|
result.push(coordinate[i]); |
|
} |
|
} |
|
|
|
return result; |
|
}, |
|
|
|
} |