diff --git a/uniro_frontend/package.json b/uniro_frontend/package.json index d51f7e8..ee106ac 100644 --- a/uniro_frontend/package.json +++ b/uniro_frontend/package.json @@ -5,7 +5,7 @@ "type": "module", "scripts": { "dev": "vite", - "build": "tsc -b && vite build", + "build": "vite build", "lint": "eslint . && prettier --write .", "preview": "vite preview" }, diff --git a/uniro_frontend/src/data/converter/Converter.ts b/uniro_frontend/src/data/converter/Converter.ts new file mode 100644 index 0000000..3d019fe --- /dev/null +++ b/uniro_frontend/src/data/converter/Converter.ts @@ -0,0 +1,40 @@ +import type { CustomNode } from "../types/node"; +import type { Path } from "../types/path"; + +export const convertToCoreNode = (data: { id: string; lat: number; lng: number }): CustomNode => { + return { + id: data.id, + lat: data.lat, + lng: data.lng, + isCore: true, + }; +}; + +export const convertToSubNode = (data: { id: string; lat: number; lng: number }): CustomNode => { + return { + id: data.id, + lat: data.lat, + lng: data.lng, + isCore: false, + }; +}; + +export const convertToPath = (pathKey: string, nodesData: { id: string; lat: number; lng: number }[]): Path => { + const nodeList = nodesData.map((node) => convertToSubNode(node)); + const startNode = convertToCoreNode(nodesData[0]); + const endNode = convertToCoreNode(nodesData[nodesData.length - 1]); + + nodeList[0] = startNode; + nodeList[nodeList.length - 1] = endNode; + + return { + id: pathKey, + startNode, + endNode, + nodeList, + }; +}; + +export const convertToPaths = (pathData: { [key: string]: { id: string; lat: number; lng: number }[] }): Path[] => { + return Object.keys(pathData).map((pathKey) => convertToPath(pathKey, pathData[pathKey])); +}; diff --git a/uniro_frontend/src/data/factory/edgeFactory.ts b/uniro_frontend/src/data/factory/edgeFactory.ts new file mode 100644 index 0000000..445d21f --- /dev/null +++ b/uniro_frontend/src/data/factory/edgeFactory.ts @@ -0,0 +1,17 @@ +import { HazardEdge } from "../types/edge"; +import { CautionFactor, DangerFactor } from "../types/factor"; +import { CustomNode } from "../types/node"; + +export const createHazardEdge = ( + id: string, + startNode: CustomNode, + endNode: CustomNode, + cautionFactors?: CautionFactor[], + dangerFactors?: DangerFactor[], +): HazardEdge => ({ + id, + startNode, + endNode, + cautionFactors, + dangerFactors, +}); diff --git a/uniro_frontend/src/data/factory/navigationFactory.ts b/uniro_frontend/src/data/factory/navigationFactory.ts new file mode 100644 index 0000000..900ae92 --- /dev/null +++ b/uniro_frontend/src/data/factory/navigationFactory.ts @@ -0,0 +1,11 @@ +import { HazardEdge } from "../types/edge"; +import { NavigationRoute } from "../types/route"; + +export const createNavigationRoute = (edges: HazardEdge[]): NavigationRoute => { + return { + route: edges, + hasCaution: edges.some((edge) => edge.cautionFactors !== undefined), + totalDistance: 1.5, + totalCost: 10, + }; +}; diff --git a/uniro_frontend/src/data/factory/nodeFactory.ts b/uniro_frontend/src/data/factory/nodeFactory.ts new file mode 100644 index 0000000..22f8b57 --- /dev/null +++ b/uniro_frontend/src/data/factory/nodeFactory.ts @@ -0,0 +1,8 @@ +import type { CustomNode } from "../types/node"; + +export const createNode = (id: string, lat: number, lng: number, isCore: boolean = false): CustomNode => ({ + id, + lat, + lng, + isCore, +}); diff --git a/uniro_frontend/src/data/mock/hanyangBuildings.ts b/uniro_frontend/src/data/mock/hanyangBuildings.ts new file mode 100644 index 0000000..a75dcd5 --- /dev/null +++ b/uniro_frontend/src/data/mock/hanyangBuildings.ts @@ -0,0 +1,54 @@ +import { Building } from "../types/node"; + +export const buildings: Building[] = [ + { + id: "101", + lng: 127.044755, + lat: 37.555994, + isCore: true, + buildingName: "역사관", + buildingImageUrl: "https://upload.wikimedia.org/wikipedia/commons/6/69/Hanyang_University_008.JPG", + phoneNumber: "02-2220-0114", + address: "서울특별시 성동구 왕십리로 222", + }, + { + id: "102", + lng: 127.0455, + lat: 37.5565, + isCore: true, + buildingName: "본관", + buildingImageUrl: "https://upload.wikimedia.org/wikipedia/commons/6/69/Hanyang_University_008.JPG", + phoneNumber: "02-2220-0114", + address: "서울특별시 성동구 왕십리로 222", + }, + { + id: "108", + lng: 127.0458, + lat: 37.557, + isCore: false, + buildingName: "국제관", + buildingImageUrl: "https://upload.wikimedia.org/wikipedia/commons/6/69/Hanyang_University_008.JPG", + phoneNumber: "02-2220-0114", + address: "서울특별시 성동구 왕십리로 222", + }, + { + id: "701", + lng: 127.0452, + lat: 37.5548, + isCore: false, + buildingName: "백남학술정보관", + buildingImageUrl: "https://upload.wikimedia.org/wikipedia/commons/6/69/Hanyang_University_008.JPG", + phoneNumber: "02-2220-1363", + address: "서울특별시 성동구 왕십리로 222", + }, + { + id: "201", + lng: 127.046, + lat: 37.5562, + isCore: false, + buildingName: "제1공학관", + buildingImageUrl: "https://upload.wikimedia.org/wikipedia/commons/6/69/Hanyang_University_008.JPG", + phoneNumber: "02-2220-0114", + address: "서울특별시 성동구 왕십리로 222", + }, +]; diff --git a/uniro_frontend/src/data/mock/hanyangHazardEdge.ts b/uniro_frontend/src/data/mock/hanyangHazardEdge.ts new file mode 100644 index 0000000..e9652bd --- /dev/null +++ b/uniro_frontend/src/data/mock/hanyangHazardEdge.ts @@ -0,0 +1,27 @@ +import { createHazardEdge } from "../factory/edgeFactory"; +import { createNode } from "../factory/nodeFactory"; +import { HazardEdge } from "../types/edge"; +import { CustomNode } from "../types/node"; + +const nodes: CustomNode[] = [ + createNode("4", 37.557669, 127.042007), + createNode("5", 37.557695, 127.042002), + createNode("9", 37.557956, 127.04228), + createNode("10", 37.557956, 127.042314), + createNode("14", 37.557659, 127.042548), + createNode("15", 37.557637, 127.04253), + createNode("20", 37.559317, 127.045131), + createNode("21", 37.559296, 127.045152), + createNode("30", 37.559275, 127.043711), + createNode("31", 37.559301, 127.043705), +]; + +const edges: HazardEdge[] = [ + createHazardEdge("path0", nodes[0], nodes[1], ["도로에 균열이 있어요"], []), + createHazardEdge("path1", nodes[2], nodes[3], [], ["계단이 있어요"]), + createHazardEdge("path2", nodes[4], nodes[5], ["낮은 턱이 있어요"], []), + createHazardEdge("path3", nodes[6], nodes[7], [], ["경사가 높아요"]), + createHazardEdge("path4", nodes[8], nodes[9], ["낮은 비탈길이 있어요"], []), +]; + +export const mockHazardEdges = edges; diff --git a/uniro_frontend/src/data/mock/hanyangPath.json b/uniro_frontend/src/data/mock/hanyangPath.json new file mode 100644 index 0000000..9c4d75f --- /dev/null +++ b/uniro_frontend/src/data/mock/hanyangPath.json @@ -0,0 +1,2721 @@ +{ + "path0": [ + { + "id": "0", + "lat": 37.557564, + "lng": 127.042027 + }, + { + "id": "1", + "lat": 37.55759, + "lng": 127.042023 + }, + { + "id": "2", + "lat": 37.557617, + "lng": 127.042018 + }, + { + "id": "3", + "lat": 37.557643, + "lng": 127.042012 + }, + { + "id": "4", + "lat": 37.557669, + "lng": 127.042007 + }, + { + "id": "5", + "lat": 37.557695, + "lng": 127.042002 + }, + { + "id": "6", + "lat": 37.557721, + "lng": 127.041997 + }, + { + "id": "7", + "lat": 37.557747, + "lng": 127.041992 + }, + { + "id": "8", + "lat": 37.557774, + "lng": 127.041986 + }, + { + "id": "9", + "lat": 37.5578, + "lng": 127.041981 + }, + { + "id": "10", + "lat": 37.557826, + "lng": 127.041976 + }, + { + "id": "11", + "lat": 37.557852, + "lng": 127.041971 + }, + { + "id": "12", + "lat": 37.557878, + "lng": 127.041966 + }, + { + "id": "13", + "lat": 37.557904, + "lng": 127.041961 + }, + { + "id": "14", + "lat": 37.55793, + "lng": 127.041955 + }, + { + "id": "15", + "lat": 37.557947, + "lng": 127.041952 + } + ], + "path1": [ + { + "id": "0", + "lat": 37.557947, + "lng": 127.041952 + }, + { + "id": "1", + "lat": 37.557949, + "lng": 127.041986 + }, + { + "id": "2", + "lat": 37.55795, + "lng": 127.04202 + }, + { + "id": "3", + "lat": 37.55795, + "lng": 127.042052 + }, + { + "id": "4", + "lat": 37.557951, + "lng": 127.042086 + }, + { + "id": "5", + "lat": 37.557952, + "lng": 127.042118 + }, + { + "id": "6", + "lat": 37.557953, + "lng": 127.04215 + }, + { + "id": "7", + "lat": 37.557953, + "lng": 127.042183 + }, + { + "id": "8", + "lat": 37.557954, + "lng": 127.042216 + }, + { + "id": "9", + "lat": 37.557955, + "lng": 127.042247 + }, + { + "id": "10", + "lat": 37.557956, + "lng": 127.04228 + }, + { + "id": "11", + "lat": 37.557956, + "lng": 127.042314 + }, + { + "id": "12", + "lat": 37.557957, + "lng": 127.042345 + }, + { + "id": "13", + "lat": 37.557958, + "lng": 127.042377 + }, + { + "id": "14", + "lat": 37.557959, + "lng": 127.04241 + }, + { + "id": "15", + "lat": 37.557959, + "lng": 127.042443 + }, + { + "id": "16", + "lat": 37.55796, + "lng": 127.042475 + }, + { + "id": "17", + "lat": 37.557961, + "lng": 127.042507 + }, + { + "id": "18", + "lat": 37.557962, + "lng": 127.042539 + }, + { + "id": "19", + "lat": 37.557962, + "lng": 127.042573 + }, + { + "id": "20", + "lat": 37.557963, + "lng": 127.042607 + }, + { + "id": "21", + "lat": 37.557964, + "lng": 127.04264 + }, + { + "id": "22", + "lat": 37.557965, + "lng": 127.042673 + }, + { + "id": "23", + "lat": 37.557965, + "lng": 127.042706 + }, + { + "id": "24", + "lat": 37.557966, + "lng": 127.04274 + }, + { + "id": "25", + "lat": 37.557967, + "lng": 127.042774 + }, + { + "id": "26", + "lat": 37.557967, + "lng": 127.042795 + } + ], + "path2": [ + { + "id": "0", + "lat": 37.557967, + "lng": 127.042795 + }, + { + "id": "1", + "lat": 37.557945, + "lng": 127.042778 + }, + { + "id": "2", + "lat": 37.557923, + "lng": 127.04276 + }, + { + "id": "3", + "lat": 37.5579, + "lng": 127.042742 + }, + { + "id": "4", + "lat": 37.557878, + "lng": 127.042724 + }, + { + "id": "5", + "lat": 37.557855, + "lng": 127.042706 + }, + { + "id": "6", + "lat": 37.557833, + "lng": 127.042688 + }, + { + "id": "7", + "lat": 37.557811, + "lng": 127.042671 + }, + { + "id": "8", + "lat": 37.55779, + "lng": 127.042653 + }, + { + "id": "9", + "lat": 37.557767, + "lng": 127.042635 + }, + { + "id": "10", + "lat": 37.557745, + "lng": 127.042617 + }, + { + "id": "11", + "lat": 37.557724, + "lng": 127.0426 + }, + { + "id": "12", + "lat": 37.557703, + "lng": 127.042583 + }, + { + "id": "13", + "lat": 37.557681, + "lng": 127.042566 + }, + { + "id": "14", + "lat": 37.557659, + "lng": 127.042548 + }, + { + "id": "15", + "lat": 37.557637, + "lng": 127.04253 + }, + { + "id": "16", + "lat": 37.557615, + "lng": 127.042513 + }, + { + "id": "17", + "lat": 37.557592, + "lng": 127.042495 + }, + { + "id": "18", + "lat": 37.55757, + "lng": 127.042477 + }, + { + "id": "19", + "lat": 37.557548, + "lng": 127.042459 + }, + { + "id": "20", + "lat": 37.557527, + "lng": 127.042442 + } + ], + "path3": [ + { + "id": "0", + "lat": 37.557527, + "lng": 127.042442 + }, + { + "id": "1", + "lat": 37.557992, + "lng": 127.042813 + }, + { + "id": "2", + "lat": 37.558017, + "lng": 127.042824 + }, + { + "id": "3", + "lat": 37.558042, + "lng": 127.042836 + }, + { + "id": "4", + "lat": 37.558067, + "lng": 127.042847 + }, + { + "id": "5", + "lat": 37.558093, + "lng": 127.042859 + }, + { + "id": "6", + "lat": 37.558118, + "lng": 127.042867 + }, + { + "id": "7", + "lat": 37.558141, + "lng": 127.042851 + }, + { + "id": "8", + "lat": 37.558164, + "lng": 127.042837 + }, + { + "id": "9", + "lat": 37.558188, + "lng": 127.042823 + }, + { + "id": "10", + "lat": 37.558212, + "lng": 127.042808 + }, + { + "id": "11", + "lat": 37.558236, + "lng": 127.042794 + }, + { + "id": "12", + "lat": 37.558259, + "lng": 127.042776 + }, + { + "id": "13", + "lat": 37.558281, + "lng": 127.042756 + }, + { + "id": "14", + "lat": 37.558301, + "lng": 127.042735 + }, + { + "id": "15", + "lat": 37.558312, + "lng": 127.042705 + }, + { + "id": "16", + "lat": 37.558321, + "lng": 127.042674 + }, + { + "id": "17", + "lat": 37.558331, + "lng": 127.042645 + }, + { + "id": "18", + "lat": 37.558339, + "lng": 127.042614 + }, + { + "id": "19", + "lat": 37.558343, + "lng": 127.042582 + }, + { + "id": "20", + "lat": 37.558346, + "lng": 127.042549 + }, + { + "id": "21", + "lat": 37.558348, + "lng": 127.042516 + }, + { + "id": "22", + "lat": 37.558354, + "lng": 127.042484 + }, + { + "id": "23", + "lat": 37.558367, + "lng": 127.042459 + }, + { + "id": "24", + "lat": 37.558392, + "lng": 127.042448 + }, + { + "id": "25", + "lat": 37.558419, + "lng": 127.042442 + }, + { + "id": "26", + "lat": 37.558445, + "lng": 127.04244 + }, + { + "id": "27", + "lat": 37.558471, + "lng": 127.042438 + }, + { + "id": "28", + "lat": 37.558497, + "lng": 127.042436 + }, + { + "id": "29", + "lat": 37.558524, + "lng": 127.042434 + }, + { + "id": "30", + "lat": 37.55855, + "lng": 127.042433 + }, + { + "id": "31", + "lat": 37.558577, + "lng": 127.042431 + }, + { + "id": "32", + "lat": 37.558603, + "lng": 127.042429 + }, + { + "id": "33", + "lat": 37.558629, + "lng": 127.042427 + }, + { + "id": "34", + "lat": 37.558655, + "lng": 127.042425 + }, + { + "id": "35", + "lat": 37.558682, + "lng": 127.042423 + }, + { + "id": "36", + "lat": 37.558708, + "lng": 127.042421 + }, + { + "id": "37", + "lat": 37.558735, + "lng": 127.04242 + }, + { + "id": "38", + "lat": 37.558756, + "lng": 127.042418 + } + ], + "path4": [ + { + "id": "0", + "lat": 37.557947, + "lng": 127.041952 + }, + { + "id": "1", + "lat": 37.557973, + "lng": 127.041956 + }, + { + "id": "2", + "lat": 37.557998, + "lng": 127.041953 + }, + { + "id": "3", + "lat": 37.558024, + "lng": 127.04195 + }, + { + "id": "4", + "lat": 37.558048, + "lng": 127.041947 + }, + { + "id": "5", + "lat": 37.558075, + "lng": 127.041944 + }, + { + "id": "6", + "lat": 37.5581, + "lng": 127.041942 + }, + { + "id": "7", + "lat": 37.558125, + "lng": 127.041939 + }, + { + "id": "8", + "lat": 37.558149, + "lng": 127.041936 + }, + { + "id": "9", + "lat": 37.558174, + "lng": 127.041933 + }, + { + "id": "10", + "lat": 37.558199, + "lng": 127.04193 + }, + { + "id": "11", + "lat": 37.558223, + "lng": 127.041928 + }, + { + "id": "12", + "lat": 37.558248, + "lng": 127.041925 + }, + { + "id": "13", + "lat": 37.558272, + "lng": 127.041922 + }, + { + "id": "14", + "lat": 37.558296, + "lng": 127.041919 + }, + { + "id": "15", + "lat": 37.558321, + "lng": 127.041916 + }, + { + "id": "16", + "lat": 37.558344, + "lng": 127.041914 + }, + { + "id": "17", + "lat": 37.558369, + "lng": 127.041911 + }, + { + "id": "18", + "lat": 37.558394, + "lng": 127.041908 + }, + { + "id": "19", + "lat": 37.558419, + "lng": 127.041905 + }, + { + "id": "20", + "lat": 37.558444, + "lng": 127.041903 + }, + { + "id": "21", + "lat": 37.55847, + "lng": 127.0419 + }, + { + "id": "22", + "lat": 37.558496, + "lng": 127.041897 + }, + { + "id": "23", + "lat": 37.55852, + "lng": 127.041894 + }, + { + "id": "24", + "lat": 37.558546, + "lng": 127.041891 + }, + { + "id": "25", + "lat": 37.558573, + "lng": 127.041888 + }, + { + "id": "26", + "lat": 37.558598, + "lng": 127.041885 + }, + { + "id": "27", + "lat": 37.558623, + "lng": 127.041882 + }, + { + "id": "28", + "lat": 37.558649, + "lng": 127.041879 + }, + { + "id": "29", + "lat": 37.558673, + "lng": 127.041877 + }, + { + "id": "30", + "lat": 37.558698, + "lng": 127.041874 + }, + { + "id": "31", + "lat": 37.558723, + "lng": 127.041871 + }, + { + "id": "32", + "lat": 37.558748, + "lng": 127.041868 + }, + { + "id": "33", + "lat": 37.558775, + "lng": 127.041865 + }, + { + "id": "34", + "lat": 37.558801, + "lng": 127.041862 + }, + { + "id": "35", + "lat": 37.558825, + "lng": 127.041859 + }, + { + "id": "36", + "lat": 37.558848, + "lng": 127.041857 + }, + { + "id": "37", + "lat": 37.558874, + "lng": 127.041854 + }, + { + "id": "38", + "lat": 37.558898, + "lng": 127.041851 + }, + { + "id": "39", + "lat": 37.558922, + "lng": 127.041848 + }, + { + "id": "40", + "lat": 37.558949, + "lng": 127.041845 + }, + { + "id": "41", + "lat": 37.558975, + "lng": 127.041842 + }, + { + "id": "42", + "lat": 37.559001, + "lng": 127.04184 + }, + { + "id": "43", + "lat": 37.559026, + "lng": 127.041837 + }, + { + "id": "44", + "lat": 37.559052, + "lng": 127.041834 + }, + { + "id": "45", + "lat": 37.559078, + "lng": 127.041831 + }, + { + "id": "46", + "lat": 37.559104, + "lng": 127.041828 + }, + { + "id": "47", + "lat": 37.559131, + "lng": 127.041834 + }, + { + "id": "48", + "lat": 37.559157, + "lng": 127.041841 + }, + { + "id": "49", + "lat": 37.559183, + "lng": 127.041849 + }, + { + "id": "50", + "lat": 37.559209, + "lng": 127.041859 + }, + { + "id": "51", + "lat": 37.559232, + "lng": 127.041874 + }, + { + "id": "52", + "lat": 37.559256, + "lng": 127.04189 + }, + { + "id": "53", + "lat": 37.55928, + "lng": 127.041906 + }, + { + "id": "54", + "lat": 37.5593, + "lng": 127.041925 + }, + { + "id": "55", + "lat": 37.559316, + "lng": 127.041953 + }, + { + "id": "56", + "lat": 37.559331, + "lng": 127.04198 + }, + { + "id": "57", + "lat": 37.559347, + "lng": 127.042007 + }, + { + "id": "58", + "lat": 37.559362, + "lng": 127.042035 + }, + { + "id": "59", + "lat": 37.559378, + "lng": 127.042062 + }, + { + "id": "60", + "lat": 37.559393, + "lng": 127.04209 + }, + { + "id": "61", + "lat": 37.559411, + "lng": 127.042115 + }, + { + "id": "62", + "lat": 37.559423, + "lng": 127.04213 + } + ], + "path5": [ + { + "id": "0", + "lat": 37.559423, + "lng": 127.04213 + }, + { + "id": "1", + "lat": 37.55945, + "lng": 127.042126 + }, + { + "id": "2", + "lat": 37.559476, + "lng": 127.042123 + }, + { + "id": "3", + "lat": 37.559502, + "lng": 127.042121 + }, + { + "id": "4", + "lat": 37.559529, + "lng": 127.042118 + }, + { + "id": "5", + "lat": 37.559556, + "lng": 127.042115 + }, + { + "id": "6", + "lat": 37.559582, + "lng": 127.042112 + }, + { + "id": "7", + "lat": 37.559608, + "lng": 127.042109 + }, + { + "id": "8", + "lat": 37.559635, + "lng": 127.042106 + }, + { + "id": "9", + "lat": 37.559649, + "lng": 127.042105 + } + ], + "path6": [ + { + "id": "0", + "lat": 37.559649, + "lng": 127.042105 + }, + { + "id": "1", + "lat": 37.559651, + "lng": 127.042143 + }, + { + "id": "2", + "lat": 37.559652, + "lng": 127.042177 + }, + { + "id": "3", + "lat": 37.559652, + "lng": 127.04221 + }, + { + "id": "4", + "lat": 37.559652, + "lng": 127.042244 + }, + { + "id": "5", + "lat": 37.559652, + "lng": 127.042277 + }, + { + "id": "6", + "lat": 37.559653, + "lng": 127.042309 + }, + { + "id": "7", + "lat": 37.559653, + "lng": 127.042341 + }, + { + "id": "8", + "lat": 37.559653, + "lng": 127.042373 + }, + { + "id": "9", + "lat": 37.559654, + "lng": 127.042406 + }, + { + "id": "10", + "lat": 37.559654, + "lng": 127.04244 + }, + { + "id": "11", + "lat": 37.559654, + "lng": 127.042472 + }, + { + "id": "12", + "lat": 37.559654, + "lng": 127.042506 + }, + { + "id": "13", + "lat": 37.559655, + "lng": 127.04254 + }, + { + "id": "14", + "lat": 37.559655, + "lng": 127.04257 + }, + { + "id": "15", + "lat": 37.559655, + "lng": 127.042603 + }, + { + "id": "16", + "lat": 37.559656, + "lng": 127.042635 + }, + { + "id": "17", + "lat": 37.559656, + "lng": 127.042667 + }, + { + "id": "18", + "lat": 37.559656, + "lng": 127.042699 + }, + { + "id": "19", + "lat": 37.559656, + "lng": 127.04273 + }, + { + "id": "20", + "lat": 37.559657, + "lng": 127.042761 + }, + { + "id": "21", + "lat": 37.559657, + "lng": 127.042794 + }, + { + "id": "22", + "lat": 37.559657, + "lng": 127.042827 + }, + { + "id": "23", + "lat": 37.559658, + "lng": 127.042859 + }, + { + "id": "24", + "lat": 37.559658, + "lng": 127.042891 + }, + { + "id": "25", + "lat": 37.559658, + "lng": 127.042923 + }, + { + "id": "26", + "lat": 37.559658, + "lng": 127.042956 + }, + { + "id": "27", + "lat": 37.559659, + "lng": 127.042989 + }, + { + "id": "28", + "lat": 37.559659, + "lng": 127.043022 + }, + { + "id": "29", + "lat": 37.559659, + "lng": 127.043056 + }, + { + "id": "30", + "lat": 37.559659, + "lng": 127.043084 + } + ], + "path7": [ + { + "id": "0", + "lat": 37.559423, + "lng": 127.04213 + }, + { + "id": "1", + "lat": 37.559405, + "lng": 127.04216 + }, + { + "id": "2", + "lat": 37.559391, + "lng": 127.042188 + }, + { + "id": "3", + "lat": 37.559385, + "lng": 127.042221 + }, + { + "id": "4", + "lat": 37.55938, + "lng": 127.042254 + }, + { + "id": "5", + "lat": 37.559375, + "lng": 127.042288 + }, + { + "id": "6", + "lat": 37.559371, + "lng": 127.042321 + }, + { + "id": "7", + "lat": 37.559368, + "lng": 127.042354 + }, + { + "id": "8", + "lat": 37.559365, + "lng": 127.042388 + }, + { + "id": "9", + "lat": 37.559362, + "lng": 127.042421 + }, + { + "id": "10", + "lat": 37.559358, + "lng": 127.042455 + }, + { + "id": "11", + "lat": 37.559355, + "lng": 127.042489 + }, + { + "id": "12", + "lat": 37.559352, + "lng": 127.042522 + }, + { + "id": "13", + "lat": 37.559348, + "lng": 127.042555 + }, + { + "id": "14", + "lat": 37.559344, + "lng": 127.042589 + }, + { + "id": "15", + "lat": 37.55934, + "lng": 127.042622 + }, + { + "id": "16", + "lat": 37.559336, + "lng": 127.042655 + }, + { + "id": "17", + "lat": 37.559332, + "lng": 127.042689 + }, + { + "id": "18", + "lat": 37.559328, + "lng": 127.042722 + }, + { + "id": "19", + "lat": 37.559324, + "lng": 127.042755 + }, + { + "id": "20", + "lat": 37.55932, + "lng": 127.042788 + }, + { + "id": "21", + "lat": 37.559316, + "lng": 127.042821 + }, + { + "id": "22", + "lat": 37.559311, + "lng": 127.042854 + }, + { + "id": "23", + "lat": 37.559305, + "lng": 127.042887 + }, + { + "id": "24", + "lat": 37.559299, + "lng": 127.04292 + }, + { + "id": "25", + "lat": 37.559292, + "lng": 127.042952 + }, + { + "id": "26", + "lat": 37.559286, + "lng": 127.042985 + }, + { + "id": "27", + "lat": 37.559279, + "lng": 127.043017 + }, + { + "id": "28", + "lat": 37.559273, + "lng": 127.04305 + }, + { + "id": "29", + "lat": 37.559263, + "lng": 127.043082 + }, + { + "id": "30", + "lat": 37.559252, + "lng": 127.043113 + }, + { + "id": "31", + "lat": 37.559242, + "lng": 127.043144 + }, + { + "id": "32", + "lat": 37.559232, + "lng": 127.043175 + }, + { + "id": "33", + "lat": 37.559223, + "lng": 127.043207 + }, + { + "id": "34", + "lat": 37.559213, + "lng": 127.043239 + }, + { + "id": "35", + "lat": 37.559205, + "lng": 127.043271 + }, + { + "id": "36", + "lat": 37.559201, + "lng": 127.043304 + }, + { + "id": "37", + "lat": 37.559196, + "lng": 127.043338 + }, + { + "id": "38", + "lat": 37.559191, + "lng": 127.043371 + }, + { + "id": "39", + "lat": 37.559186, + "lng": 127.043404 + }, + { + "id": "40", + "lat": 37.559185, + "lng": 127.043438 + }, + { + "id": "41", + "lat": 37.559184, + "lng": 127.043471 + }, + { + "id": "42", + "lat": 37.559183, + "lng": 127.043505 + }, + { + "id": "43", + "lat": 37.559182, + "lng": 127.043539 + }, + { + "id": "44", + "lat": 37.559182, + "lng": 127.043572 + }, + { + "id": "45", + "lat": 37.55919, + "lng": 127.043605 + }, + { + "id": "46", + "lat": 37.559197, + "lng": 127.043637 + }, + { + "id": "47", + "lat": 37.559207, + "lng": 127.043668 + }, + { + "id": "48", + "lat": 37.559224, + "lng": 127.043695 + }, + { + "id": "49", + "lat": 37.559248, + "lng": 127.043706 + }, + { + "id": "50", + "lat": 37.559275, + "lng": 127.043711 + }, + { + "id": "51", + "lat": 37.559301, + "lng": 127.043705 + }, + { + "id": "52", + "lat": 37.559327, + "lng": 127.043698 + }, + { + "id": "53", + "lat": 37.559353, + "lng": 127.043691 + }, + { + "id": "54", + "lat": 37.559379, + "lng": 127.043684 + }, + { + "id": "55", + "lat": 37.559406, + "lng": 127.043677 + }, + { + "id": "56", + "lat": 37.559432, + "lng": 127.043671 + }, + { + "id": "57", + "lat": 37.559459, + "lng": 127.043666 + }, + { + "id": "58", + "lat": 37.559485, + "lng": 127.04366 + }, + { + "id": "59", + "lat": 37.559511, + "lng": 127.043654 + }, + { + "id": "60", + "lat": 37.559538, + "lng": 127.043648 + }, + { + "id": "61", + "lat": 37.559564, + "lng": 127.043643 + }, + { + "id": "62", + "lat": 37.55959, + "lng": 127.043639 + }, + { + "id": "63", + "lat": 37.559617, + "lng": 127.043636 + }, + { + "id": "64", + "lat": 37.559644, + "lng": 127.043633 + }, + { + "id": "65", + "lat": 37.55967, + "lng": 127.04363 + }, + { + "id": "66", + "lat": 37.559696, + "lng": 127.043627 + }, + { + "id": "67", + "lat": 37.559723, + "lng": 127.043624 + }, + { + "id": "68", + "lat": 37.55975, + "lng": 127.04362 + }, + { + "id": "69", + "lat": 37.559776, + "lng": 127.043617 + }, + { + "id": "70", + "lat": 37.559803, + "lng": 127.043614 + }, + { + "id": "71", + "lat": 37.55983, + "lng": 127.04361 + }, + { + "id": "72", + "lat": 37.559856, + "lng": 127.043606 + }, + { + "id": "73", + "lat": 37.559883, + "lng": 127.043603 + }, + { + "id": "74", + "lat": 37.55989, + "lng": 127.043602 + } + ], + "path8": [ + { + "id": "0", + "lat": 37.559224, + "lng": 127.043695 + }, + { + "id": "1", + "lat": 37.559195, + "lng": 127.043215 + }, + { + "id": "2", + "lat": 37.559169, + "lng": 127.043221 + }, + { + "id": "3", + "lat": 37.559143, + "lng": 127.043228 + }, + { + "id": "4", + "lat": 37.559126, + "lng": 127.043252 + }, + { + "id": "5", + "lat": 37.559113, + "lng": 127.043281 + }, + { + "id": "6", + "lat": 37.5591, + "lng": 127.043311 + }, + { + "id": "7", + "lat": 37.559094, + "lng": 127.043344 + }, + { + "id": "8", + "lat": 37.559087, + "lng": 127.043377 + }, + { + "id": "9", + "lat": 37.559082, + "lng": 127.04341 + }, + { + "id": "10", + "lat": 37.559079, + "lng": 127.043444 + }, + { + "id": "11", + "lat": 37.559075, + "lng": 127.043477 + }, + { + "id": "12", + "lat": 37.559071, + "lng": 127.04351 + }, + { + "id": "13", + "lat": 37.559068, + "lng": 127.043544 + }, + { + "id": "14", + "lat": 37.559068, + "lng": 127.043578 + }, + { + "id": "15", + "lat": 37.559071, + "lng": 127.043611 + }, + { + "id": "16", + "lat": 37.559073, + "lng": 127.043645 + }, + { + "id": "17", + "lat": 37.559075, + "lng": 127.043678 + }, + { + "id": "18", + "lat": 37.559082, + "lng": 127.043711 + }, + { + "id": "19", + "lat": 37.559092, + "lng": 127.043742 + }, + { + "id": "20", + "lat": 37.559103, + "lng": 127.043773 + }, + { + "id": "21", + "lat": 37.559111, + "lng": 127.043805 + }, + { + "id": "22", + "lat": 37.55912, + "lng": 127.043837 + }, + { + "id": "23", + "lat": 37.559128, + "lng": 127.043869 + }, + { + "id": "24", + "lat": 37.559136, + "lng": 127.0439 + }, + { + "id": "25", + "lat": 37.559144, + "lng": 127.043931 + }, + { + "id": "26", + "lat": 37.559153, + "lng": 127.043964 + }, + { + "id": "27", + "lat": 37.559161, + "lng": 127.043995 + }, + { + "id": "28", + "lat": 37.559169, + "lng": 127.044027 + }, + { + "id": "29", + "lat": 37.559177, + "lng": 127.044058 + }, + { + "id": "30", + "lat": 37.559186, + "lng": 127.044091 + }, + { + "id": "31", + "lat": 37.559192, + "lng": 127.044123 + }, + { + "id": "32", + "lat": 37.559197, + "lng": 127.044157 + }, + { + "id": "33", + "lat": 37.559202, + "lng": 127.04419 + }, + { + "id": "34", + "lat": 37.559208, + "lng": 127.044223 + }, + { + "id": "35", + "lat": 37.559213, + "lng": 127.044256 + }, + { + "id": "36", + "lat": 37.559218, + "lng": 127.044289 + }, + { + "id": "37", + "lat": 37.559224, + "lng": 127.044322 + }, + { + "id": "38", + "lat": 37.55923, + "lng": 127.044354 + }, + { + "id": "39", + "lat": 37.559236, + "lng": 127.044387 + }, + { + "id": "40", + "lat": 37.559242, + "lng": 127.044419 + }, + { + "id": "41", + "lat": 37.559248, + "lng": 127.044452 + }, + { + "id": "42", + "lat": 37.559254, + "lng": 127.044485 + }, + { + "id": "43", + "lat": 37.55926, + "lng": 127.044518 + }, + { + "id": "44", + "lat": 37.559269, + "lng": 127.04455 + }, + { + "id": "45", + "lat": 37.559281, + "lng": 127.044579 + }, + { + "id": "46", + "lat": 37.559303, + "lng": 127.044595 + } + ], + "path9": [ + { + "id": "0", + "lat": 37.559303, + "lng": 127.044595 + }, + { + "id": "1", + "lat": 37.559278, + "lng": 127.044607 + }, + { + "id": "2", + "lat": 37.559251, + "lng": 127.044611 + }, + { + "id": "3", + "lat": 37.559225, + "lng": 127.044617 + }, + { + "id": "4", + "lat": 37.559201, + "lng": 127.044628 + }, + { + "id": "5", + "lat": 37.559178, + "lng": 127.044642 + }, + { + "id": "6", + "lat": 37.559156, + "lng": 127.044661 + }, + { + "id": "7", + "lat": 37.559134, + "lng": 127.04468 + }, + { + "id": "8", + "lat": 37.559111, + "lng": 127.044699 + }, + { + "id": "9", + "lat": 37.559089, + "lng": 127.044718 + }, + { + "id": "10", + "lat": 37.559068, + "lng": 127.044737 + }, + { + "id": "11", + "lat": 37.559045, + "lng": 127.044756 + }, + { + "id": "12", + "lat": 37.559024, + "lng": 127.044775 + }, + { + "id": "13", + "lat": 37.559002, + "lng": 127.044793 + }, + { + "id": "14", + "lat": 37.55898, + "lng": 127.044812 + }, + { + "id": "15", + "lat": 37.558959, + "lng": 127.044831 + }, + { + "id": "16", + "lat": 37.558938, + "lng": 127.044849 + }, + { + "id": "17", + "lat": 37.558916, + "lng": 127.044868 + }, + { + "id": "18", + "lat": 37.558894, + "lng": 127.044887 + }, + { + "id": "19", + "lat": 37.558872, + "lng": 127.044906 + }, + { + "id": "20", + "lat": 37.55885, + "lng": 127.044924 + }, + { + "id": "21", + "lat": 37.558828, + "lng": 127.044943 + }, + { + "id": "22", + "lat": 37.558806, + "lng": 127.044963 + }, + { + "id": "23", + "lat": 37.558784, + "lng": 127.044982 + }, + { + "id": "24", + "lat": 37.558762, + "lng": 127.045001 + }, + { + "id": "25", + "lat": 37.55874, + "lng": 127.04502 + }, + { + "id": "26", + "lat": 37.558719, + "lng": 127.045039 + }, + { + "id": "27", + "lat": 37.558698, + "lng": 127.045059 + }, + { + "id": "28", + "lat": 37.558676, + "lng": 127.045078 + }, + { + "id": "29", + "lat": 37.558655, + "lng": 127.045097 + }, + { + "id": "30", + "lat": 37.558633, + "lng": 127.045117 + }, + { + "id": "31", + "lat": 37.558611, + "lng": 127.045136 + }, + { + "id": "32", + "lat": 37.55859, + "lng": 127.045156 + }, + { + "id": "33", + "lat": 37.558568, + "lng": 127.045175 + }, + { + "id": "34", + "lat": 37.558547, + "lng": 127.045195 + }, + { + "id": "35", + "lat": 37.558525, + "lng": 127.045214 + }, + { + "id": "36", + "lat": 37.558507, + "lng": 127.04523 + } + ], + "path10": [ + { + "id": "0", + "lat": 37.558507, + "lng": 127.04523 + }, + { + "id": "1", + "lat": 37.558526, + "lng": 127.045256 + }, + { + "id": "2", + "lat": 37.558545, + "lng": 127.04528 + }, + { + "id": "3", + "lat": 37.558563, + "lng": 127.045304 + }, + { + "id": "4", + "lat": 37.558582, + "lng": 127.045328 + }, + { + "id": "5", + "lat": 37.5586, + "lng": 127.045352 + }, + { + "id": "6", + "lat": 37.558619, + "lng": 127.045376 + }, + { + "id": "7", + "lat": 37.558638, + "lng": 127.0454 + }, + { + "id": "8", + "lat": 37.558657, + "lng": 127.045425 + }, + { + "id": "9", + "lat": 37.558668, + "lng": 127.045438 + } + ], + "path11": [ + { + "id": "0", + "lat": 37.558668, + "lng": 127.045438 + }, + { + "id": "1", + "lat": 37.558486, + "lng": 127.045255 + }, + { + "id": "2", + "lat": 37.558464, + "lng": 127.045275 + }, + { + "id": "3", + "lat": 37.558443, + "lng": 127.045294 + }, + { + "id": "4", + "lat": 37.558421, + "lng": 127.045313 + }, + { + "id": "5", + "lat": 37.5584, + "lng": 127.045332 + }, + { + "id": "6", + "lat": 37.558378, + "lng": 127.045352 + }, + { + "id": "7", + "lat": 37.558357, + "lng": 127.045371 + }, + { + "id": "8", + "lat": 37.558336, + "lng": 127.04539 + }, + { + "id": "9", + "lat": 37.558315, + "lng": 127.045409 + }, + { + "id": "10", + "lat": 37.558293, + "lng": 127.045428 + }, + { + "id": "11", + "lat": 37.558273, + "lng": 127.045446 + }, + { + "id": "12", + "lat": 37.558251, + "lng": 127.045466 + }, + { + "id": "13", + "lat": 37.55823, + "lng": 127.045485 + }, + { + "id": "14", + "lat": 37.558209, + "lng": 127.045503 + }, + { + "id": "15", + "lat": 37.558188, + "lng": 127.045522 + }, + { + "id": "16", + "lat": 37.558167, + "lng": 127.045542 + }, + { + "id": "17", + "lat": 37.558146, + "lng": 127.04556 + }, + { + "id": "18", + "lat": 37.558125, + "lng": 127.045579 + }, + { + "id": "19", + "lat": 37.558103, + "lng": 127.045599 + }, + { + "id": "20", + "lat": 37.558082, + "lng": 127.045618 + }, + { + "id": "21", + "lat": 37.55806, + "lng": 127.045637 + }, + { + "id": "22", + "lat": 37.558038, + "lng": 127.045657 + }, + { + "id": "23", + "lat": 37.558017, + "lng": 127.045675 + }, + { + "id": "24", + "lat": 37.558008, + "lng": 127.045683 + } + ], + "path12": [ + { + "id": "0", + "lat": 37.558507, + "lng": 127.04523 + }, + { + "id": "1", + "lat": 37.559332, + "lng": 127.044605 + }, + { + "id": "2", + "lat": 37.559359, + "lng": 127.044609 + }, + { + "id": "3", + "lat": 37.559386, + "lng": 127.044612 + }, + { + "id": "4", + "lat": 37.559412, + "lng": 127.044616 + }, + { + "id": "5", + "lat": 37.559439, + "lng": 127.044619 + }, + { + "id": "6", + "lat": 37.559465, + "lng": 127.044622 + }, + { + "id": "7", + "lat": 37.559492, + "lng": 127.044626 + }, + { + "id": "8", + "lat": 37.559517, + "lng": 127.044629 + } + ], + "path13": [ + { + "id": "0", + "lat": 37.559517, + "lng": 127.044629 + }, + { + "id": "1", + "lat": 37.559518, + "lng": 127.044593 + }, + { + "id": "2", + "lat": 37.559516, + "lng": 127.044559 + }, + { + "id": "3", + "lat": 37.559514, + "lng": 127.044526 + }, + { + "id": "4", + "lat": 37.559513, + "lng": 127.044492 + }, + { + "id": "5", + "lat": 37.559511, + "lng": 127.044459 + }, + { + "id": "6", + "lat": 37.559509, + "lng": 127.044425 + }, + { + "id": "7", + "lat": 37.559507, + "lng": 127.044391 + } + ], + "path14": [ + { + "id": "0", + "lat": 37.559517, + "lng": 127.044629 + }, + { + "id": "1", + "lat": 37.559513, + "lng": 127.044665 + }, + { + "id": "2", + "lat": 37.559509, + "lng": 127.044698 + }, + { + "id": "3", + "lat": 37.559505, + "lng": 127.044732 + }, + { + "id": "4", + "lat": 37.559501, + "lng": 127.044765 + }, + { + "id": "5", + "lat": 37.559498, + "lng": 127.044797 + }, + { + "id": "6", + "lat": 37.559494, + "lng": 127.044831 + }, + { + "id": "7", + "lat": 37.55949, + "lng": 127.044864 + }, + { + "id": "8", + "lat": 37.559486, + "lng": 127.044897 + }, + { + "id": "9", + "lat": 37.559483, + "lng": 127.04493 + }, + { + "id": "10", + "lat": 37.559479, + "lng": 127.044964 + }, + { + "id": "11", + "lat": 37.55946, + "lng": 127.044986 + }, + { + "id": "12", + "lat": 37.559439, + "lng": 127.045007 + }, + { + "id": "13", + "lat": 37.559418, + "lng": 127.045028 + }, + { + "id": "14", + "lat": 37.559397, + "lng": 127.045049 + }, + { + "id": "15", + "lat": 37.559377, + "lng": 127.045069 + }, + { + "id": "16", + "lat": 37.559357, + "lng": 127.045089 + }, + { + "id": "17", + "lat": 37.559337, + "lng": 127.04511 + }, + { + "id": "18", + "lat": 37.559317, + "lng": 127.045131 + }, + { + "id": "19", + "lat": 37.559296, + "lng": 127.045152 + }, + { + "id": "20", + "lat": 37.559276, + "lng": 127.045172 + }, + { + "id": "21", + "lat": 37.559255, + "lng": 127.045193 + }, + { + "id": "22", + "lat": 37.559234, + "lng": 127.045214 + }, + { + "id": "23", + "lat": 37.559214, + "lng": 127.045235 + }, + { + "id": "24", + "lat": 37.559193, + "lng": 127.045256 + }, + { + "id": "25", + "lat": 37.559173, + "lng": 127.045276 + }, + { + "id": "26", + "lat": 37.559153, + "lng": 127.045296 + }, + { + "id": "27", + "lat": 37.559133, + "lng": 127.045316 + }, + { + "id": "28", + "lat": 37.559112, + "lng": 127.045337 + }, + { + "id": "29", + "lat": 37.559092, + "lng": 127.045358 + }, + { + "id": "30", + "lat": 37.559072, + "lng": 127.045378 + }, + { + "id": "31", + "lat": 37.559051, + "lng": 127.045399 + }, + { + "id": "32", + "lat": 37.559031, + "lng": 127.045419 + }, + { + "id": "33", + "lat": 37.559011, + "lng": 127.045439 + }, + { + "id": "34", + "lat": 37.558991, + "lng": 127.04546 + }, + { + "id": "35", + "lat": 37.558971, + "lng": 127.04548 + }, + { + "id": "36", + "lat": 37.55895, + "lng": 127.045501 + }, + { + "id": "37", + "lat": 37.558931, + "lng": 127.045521 + }, + { + "id": "38", + "lat": 37.55891, + "lng": 127.045542 + }, + { + "id": "39", + "lat": 37.558891, + "lng": 127.045563 + }, + { + "id": "40", + "lat": 37.558872, + "lng": 127.045586 + }, + { + "id": "41", + "lat": 37.558853, + "lng": 127.045609 + }, + { + "id": "42", + "lat": 37.558834, + "lng": 127.045633 + }, + { + "id": "43", + "lat": 37.558816, + "lng": 127.045655 + }, + { + "id": "44", + "lat": 37.558797, + "lng": 127.045678 + }, + { + "id": "45", + "lat": 37.558778, + "lng": 127.045701 + }, + { + "id": "46", + "lat": 37.55876, + "lng": 127.045723 + }, + { + "id": "47", + "lat": 37.558741, + "lng": 127.045747 + }, + { + "id": "48", + "lat": 37.558723, + "lng": 127.045769 + }, + { + "id": "49", + "lat": 37.558704, + "lng": 127.045792 + }, + { + "id": "50", + "lat": 37.558686, + "lng": 127.045814 + }, + { + "id": "51", + "lat": 37.558668, + "lng": 127.045836 + }, + { + "id": "52", + "lat": 37.558649, + "lng": 127.04586 + }, + { + "id": "53", + "lat": 37.558629, + "lng": 127.045883 + }, + { + "id": "54", + "lat": 37.558612, + "lng": 127.045904 + }, + { + "id": "55", + "lat": 37.558594, + "lng": 127.045927 + }, + { + "id": "56", + "lat": 37.558576, + "lng": 127.045949 + }, + { + "id": "57", + "lat": 37.558557, + "lng": 127.045972 + }, + { + "id": "58", + "lat": 37.558539, + "lng": 127.045994 + }, + { + "id": "59", + "lat": 37.558521, + "lng": 127.046017 + }, + { + "id": "60", + "lat": 37.558503, + "lng": 127.046038 + }, + { + "id": "61", + "lat": 37.558485, + "lng": 127.04606 + }, + { + "id": "62", + "lat": 37.558466, + "lng": 127.046084 + }, + { + "id": "63", + "lat": 37.558448, + "lng": 127.046105 + }, + { + "id": "64", + "lat": 37.55843, + "lng": 127.046128 + }, + { + "id": "65", + "lat": 37.558412, + "lng": 127.04615 + }, + { + "id": "66", + "lat": 37.558393, + "lng": 127.046173 + }, + { + "id": "67", + "lat": 37.558374, + "lng": 127.046196 + }, + { + "id": "68", + "lat": 37.558356, + "lng": 127.046218 + }, + { + "id": "69", + "lat": 37.558338, + "lng": 127.046241 + }, + { + "id": "70", + "lat": 37.558319, + "lng": 127.046264 + }, + { + "id": "71", + "lat": 37.5583, + "lng": 127.046288 + }, + { + "id": "72", + "lat": 37.558281, + "lng": 127.046311 + } + ], + "path15": [ + { + "id": "0", + "lat": 37.558018, + "lng": 127.045677 + }, + { + "id": "1", + "lat": 37.558025, + "lng": 127.045709 + }, + { + "id": "2", + "lat": 37.558032, + "lng": 127.045742 + }, + { + "id": "3", + "lat": 37.558039, + "lng": 127.045774 + }, + { + "id": "4", + "lat": 37.558046, + "lng": 127.045807 + }, + { + "id": "5", + "lat": 37.558053, + "lng": 127.04584 + }, + { + "id": "6", + "lat": 37.558059, + "lng": 127.045872 + }, + { + "id": "7", + "lat": 37.558066, + "lng": 127.045905 + }, + { + "id": "8", + "lat": 37.558073, + "lng": 127.045938 + }, + { + "id": "9", + "lat": 37.55808, + "lng": 127.04597 + }, + { + "id": "10", + "lat": 37.558092, + "lng": 127.046 + }, + { + "id": "11", + "lat": 37.558105, + "lng": 127.04603 + }, + { + "id": "12", + "lat": 37.558119, + "lng": 127.046059 + }, + { + "id": "13", + "lat": 37.558132, + "lng": 127.046088 + }, + { + "id": "14", + "lat": 37.558145, + "lng": 127.046117 + }, + { + "id": "15", + "lat": 37.558158, + "lng": 127.046146 + }, + { + "id": "16", + "lat": 37.558171, + "lng": 127.046175 + }, + { + "id": "17", + "lat": 37.558184, + "lng": 127.046204 + }, + { + "id": "18", + "lat": 37.558198, + "lng": 127.046234 + }, + { + "id": "19", + "lat": 37.558216, + "lng": 127.046258 + }, + { + "id": "20", + "lat": 37.558237, + "lng": 127.046279 + }, + { + "id": "21", + "lat": 37.558257, + "lng": 127.046301 + }, + { + "id": "22", + "lat": 37.558275, + "lng": 127.04632 + } + ], + "path16": [ + { + "id": "0", + "lat": 37.558008, + "lng": 127.045683 + }, + { + "id": "1", + "lat": 37.558025, + "lng": 127.045709 + }, + { + "id": "2", + "lat": 37.558032, + "lng": 127.045742 + }, + { + "id": "3", + "lat": 37.558039, + "lng": 127.045774 + }, + { + "id": "4", + "lat": 37.558046, + "lng": 127.045807 + }, + { + "id": "5", + "lat": 37.558053, + "lng": 127.04584 + }, + { + "id": "6", + "lat": 37.558059, + "lng": 127.045872 + }, + { + "id": "7", + "lat": 37.558066, + "lng": 127.045905 + }, + { + "id": "8", + "lat": 37.558073, + "lng": 127.045938 + }, + { + "id": "9", + "lat": 37.55808, + "lng": 127.04597 + }, + { + "id": "10", + "lat": 37.558092, + "lng": 127.046 + }, + { + "id": "11", + "lat": 37.558105, + "lng": 127.04603 + }, + { + "id": "12", + "lat": 37.558119, + "lng": 127.046059 + }, + { + "id": "13", + "lat": 37.558132, + "lng": 127.046088 + }, + { + "id": "14", + "lat": 37.558145, + "lng": 127.046117 + }, + { + "id": "15", + "lat": 37.558158, + "lng": 127.046146 + }, + { + "id": "16", + "lat": 37.558171, + "lng": 127.046175 + }, + { + "id": "17", + "lat": 37.558184, + "lng": 127.046204 + }, + { + "id": "18", + "lat": 37.558198, + "lng": 127.046234 + }, + { + "id": "19", + "lat": 37.558216, + "lng": 127.046258 + }, + { + "id": "20", + "lat": 37.558237, + "lng": 127.046279 + }, + { + "id": "21", + "lat": 37.558257, + "lng": 127.046301 + }, + { + "id": "22", + "lat": 37.558275, + "lng": 127.04632 + } + ] + } \ No newline at end of file diff --git a/uniro_frontend/src/data/mock/hanyangRoute.ts b/uniro_frontend/src/data/mock/hanyangRoute.ts new file mode 100644 index 0000000..544b166 --- /dev/null +++ b/uniro_frontend/src/data/mock/hanyangRoute.ts @@ -0,0 +1,22 @@ +import { createHazardEdge } from "../factory/edgeFactory"; +import { createNavigationRoute } from "../factory/navigationFactory"; +import { createNode } from "../factory/nodeFactory"; +import { HazardEdge } from "../types/edge"; +import { CustomNode } from "../types/node"; + +const nodes: CustomNode[] = [ + createNode("0", 37.557564, 127.042027), + createNode("15", 37.557947, 127.041952), + createNode("26", 37.557967, 127.042795), + createNode("20", 37.557527, 127.042442), + createNode("38", 37.558756, 127.042418), +]; + +const edges: HazardEdge[] = [ + createHazardEdge("route1", nodes[0], nodes[1]), + createHazardEdge("route2", nodes[1], nodes[2], ["도로에 균열이 있어요"]), + createHazardEdge("route3", nodes[2], nodes[3]), + createHazardEdge("route4", nodes[3], nodes[4]), +]; + +export const mockNavigationRoute = createNavigationRoute(edges); diff --git a/uniro_frontend/src/data/types/edge.d.ts b/uniro_frontend/src/data/types/edge.d.ts new file mode 100644 index 0000000..585186e --- /dev/null +++ b/uniro_frontend/src/data/types/edge.d.ts @@ -0,0 +1,15 @@ +import { CautionFactor, DangerFactor } from "./factor"; +import { CustomNode } from "./node"; + +export interface Edge { + id: string; + startNode: CustomNode; + endNode: CustomNode; +} + +// 위험 요소 & 주의 요소 +// 마커를 표시하거나, 길 찾기 결과의 경로를 그릴 때 사용 +export interface HazardEdge extends Edge { + dangerFactors?: DangerFactor[]; + cautionFactors?: CautionFactor[]; +} diff --git a/uniro_frontend/src/data/types/factor.d.ts b/uniro_frontend/src/data/types/factor.d.ts new file mode 100644 index 0000000..cc871d9 --- /dev/null +++ b/uniro_frontend/src/data/types/factor.d.ts @@ -0,0 +1,2 @@ +export type DangerFactor = "높은 턱이 있어요" | "계단이 있어요" | "경사가 높아요" | "그 외 요소"; +export type CautionFactor = "낮은 턱이 있어요" | "도로에 균열이 있어요" | "낮은 비탈길이 있어요" | "그 외 요소"; diff --git a/uniro_frontend/src/data/types/node.d.ts b/uniro_frontend/src/data/types/node.d.ts new file mode 100644 index 0000000..52d7ec5 --- /dev/null +++ b/uniro_frontend/src/data/types/node.d.ts @@ -0,0 +1,14 @@ +export interface CustomNode { + id?: string; + lng: number; + lat: number; + isCore?: boolean; +} + +// 건물 노드의 정보를 담고 있음 +export interface Building extends CustomNode { + buildingName: string; + buildingImageUrl?: string; + phoneNumber: string; + address: string; +} diff --git a/uniro_frontend/src/data/types/path.d.ts b/uniro_frontend/src/data/types/path.d.ts new file mode 100644 index 0000000..8fc4087 --- /dev/null +++ b/uniro_frontend/src/data/types/path.d.ts @@ -0,0 +1,9 @@ +import { CustomNode } from "./node"; + +// 지도 전체 표시할 때 사용 +export interface Path { + id?: string; + startNode: CustomNode; + endNode: CustomNode; + nodeList: CustomNode[]; +} diff --git a/uniro_frontend/src/data/types/route.d.ts b/uniro_frontend/src/data/types/route.d.ts new file mode 100644 index 0000000..a335dc5 --- /dev/null +++ b/uniro_frontend/src/data/types/route.d.ts @@ -0,0 +1,11 @@ +import { HazardEdge } from "./edge"; + +export interface Route { + route: HazardEdge[]; +} + +export interface NavigationRoute extends Route { + hasCaution: boolean; + totalDistance: number; + totalCost: number; +}