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
11 months ago
|
|
||
|
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;
|
||
|
},
|
||
|
|
||
|
}
|