KR102514765B1 - Method and server for providing course information of vessel - Google Patents
Method and server for providing course information of vessel Download PDFInfo
- Publication number
- KR102514765B1 KR102514765B1 KR1020200162953A KR20200162953A KR102514765B1 KR 102514765 B1 KR102514765 B1 KR 102514765B1 KR 1020200162953 A KR1020200162953 A KR 1020200162953A KR 20200162953 A KR20200162953 A KR 20200162953A KR 102514765 B1 KR102514765 B1 KR 102514765B1
- Authority
- KR
- South Korea
- Prior art keywords
- waypoints
- information
- network
- route
- network graph
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 20
- 238000004422 calculation algorithm Methods 0.000 claims description 38
- 239000000446 fuel Substances 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 9
- 238000005457 optimization Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004873 anchoring Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000000155 melt Substances 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/203—Specially adapted for sailing ships
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G06Q50/30—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G3/00—Traffic control systems for marine craft
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Ocean & Marine Engineering (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Navigation (AREA)
- Operations Research (AREA)
Abstract
선박의 항로를 결정하는 항로 결정 서버는 복수의 웨이포인트(WayPoint)에 대한 정보를 저장하는 데이터베이스, 복수의 웨이포인트에 대한 정보에 포함된 위도 데이터 및 경도 데이터에 기초하여 각 웨이포인트별로 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성하는 네트워크 그래프 생성부, 사용자 단말로부터 출발지 및 목적지에 대한 정보를 수신하는 항구 정보 수신부, 출발지 및 목적지에 대한 정보에 기초하여 복수의 네트워크 그래프 중 하나를 선택하는 네트워크 그래프 선택부 및 선택된 네트워크 그래프에 대응하는 항로에 대한 정보를 상기 사용자 단말로 전송하는 항로 정보 전송부를 포함할 수 있다. The route determination server for determining the ship's route includes a database for storing information on a plurality of waypoints, and a plurality of different points for each waypoint based on latitude data and longitude data included in the information on the plurality of waypoints. A network graph generation unit that creates a plurality of network graphs by connecting waypoints, a port information receiver that receives information on a departure point and a destination from a user terminal, and selects one of a plurality of network graphs based on the information on the departure point and destination. and a route information transmitter for transmitting information on a route corresponding to the selected network graph to the user terminal.
Description
본 발명은 선박의 항로를 결정하는 서버 및 방법에 관한 것이다. The present invention relates to a server and method for determining a ship's route.
선박 항로 문제(Ship Routing Problem)는 기본적으로 경로 최적화 문제로써 이를 해결하기 위한 다양한 알고리즘들이 제시되어 왔다. 예를 들어, 대표적으로 해양 경로 탐색을 위해 TREAD(Traffic Route Extraction and Anomaly Detection) 알고리즘있다. The ship routing problem is basically a path optimization problem, and various algorithms have been proposed to solve it. For example, there is TREAD (Traffic Route Extraction and Anomaly Detection) algorithm for marine route search.
또한, AIS(Automatic Identication System) 기술을 활용하여 기록된 선박 위치 데이터를 비지도 학습하고 이를 통해 효과적인 선박 이동 경로를 예측하고 위험성이 높은 위치를 분류하는 방법이 있다. 이러한 방법은 통상적으로 선박들이 많이 다니는 경로를 분석함으로써 안전한 경로를 탐색하고 이를 추천하는데 유용하지만, 최적의 경로를 제공하지 않을 뿐만 아니라, 달라지는 날씨 및 조류 정보를 반영하지 못한다는 단점이 있다. In addition, there is a method of unsupervised learning of recorded vessel position data using AIS (Automatic Identification System) technology, predicting an effective vessel movement path through this, and classifying a high-risk position. Although this method is useful for searching for and recommending a safe route by analyzing a route commonly traveled by ships, it has a disadvantage in that it does not provide an optimal route and does not reflect changing weather and tide information.
한편, SPEA2(Strength Pareto Evolutionary Algorithm) 최적화 알고리즘을 사용하여 선박 항로 최적화 문제를 접근하는 방법이 있었는데 SPEA2 최적화 알고리즘은 다중 목표 최적화 문제를 해결하기 위해 고안된 알고리즘으로 최단 시간이 걸리는 경로뿐만 아니라 연료 소모 및 난파 위험도까지 고려하여 다중목표에 최적화된 경로를 탐색하는 알고리즘이다. 이러한, SPEA2 최적화 알고리즘은 날씨 정보를 반영해서 해풍과 조류를 고려한 여러 조건 하에서 최적의 경로들을 탐색하는 알고리즘이지만, 첫 경로들 집합을 계산하는데 상당한 시간이 소요되어 실제 선상에서 사용하기에는 한계가 있다. On the other hand, there is a way to approach the ship route optimization problem using the SPEA2 (Strength Pareto Evolutionary Algorithm) optimization algorithm. It is an algorithm that searches for a route optimized for multiple goals by considering the degree of risk. This SPEA2 optimization algorithm is an algorithm that searches for optimal routes under various conditions considering sea wind and current by reflecting weather information, but it takes a considerable amount of time to calculate the first set of routes, so there is a limit to actual use on board.
또한, 다익스트라(Dijkstra) 알고리즘을 활용하여 선박의 최단 경로 문제를 해결하려는 시도도 있다. 그러나, 다익스트라 알고리즘은 짧은 거리의 선박 항로만을 계산할 수 있고, 날씨나 조류 정보를 고려할 경우 계산이 너무 복잡해져서 실제로 사용하기 어려운 수준이다. In addition, there is an attempt to solve the shortest path problem of a ship by utilizing the Dijkstra algorithm. However, Dijkstra's algorithm can only calculate short-distance ship routes, and when considering weather or tide information, the calculation becomes too complex, making it difficult to actually use it.
나아가, 최근에는 다익스트라 알고리즘이 발전된 버전인 A* 알고리즘을 개선하여 해류, 해상 트래픽, 정박 등을 고려한 최적화 경로 탐색 방법이 제안되었다. A* 알고리즘을 이용함으로써 최적의 경로 계산에 대한 효율성이 달성되었지만, A* 알고리즘을 이용한 최적화 경로 탐색 방법은 복잡한 해상 상황을 고려한 경로 최적화라기 보단 단거리 경로에서 충돌 위험, 트래픽, 정박 등의 리스크 최소화의 관점이 고려되었고, 시뮬레이션 역시 굉장히 짧은 구간에서만 이루어져 장거리 운항에 대한 확장 가능성이 낮다. Furthermore, recently, an optimized route search method considering ocean current, sea traffic, anchorage, etc. has been proposed by improving the A* algorithm, which is an advanced version of Dijkstra's algorithm. Although the efficiency of optimal route calculation was achieved by using the A* algorithm, the optimization route search method using the A* algorithm is more about minimizing risks such as collision risk, traffic, and anchoring in a short-distance route than route optimization considering complex maritime conditions. The point of view was considered, and the simulation was also made only in a very short section, so the possibility of expansion to long-distance operation is low.
본 발명은 해양 기상 데이터를 활용한 인공지능 기반의 선박항로 최적화 서비스를 제공하기 위해 기존의 A* 알고리즘을 이용한 경로 계산에 날씨 및 해풍 정보, 조류 정보를 대입하여 개선된 A* 알고리즘을 도출하고, 개선된 A* 알고리즘을 이용하여 최적의 선박 항로를 제공하고자 한다. The present invention derives an improved A* algorithm by substituting weather, sea wind information, and tidal information into route calculation using the existing A* algorithm to provide an artificial intelligence-based ship route optimization service using marine meteorological data, It is intended to provide an optimal ship route using the improved A* algorithm.
구체적으로, 본 발명은 복수의 웨이포인트별로 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성하고, 생성된 복수의 네트워크 그래프를 이용하여 최적의 선박 항로를 사용자 단말에게 추천할 수 있다. Specifically, the present invention may generate a plurality of network graphs by connecting a plurality of different waypoints for each of a plurality of waypoints, and recommend an optimal ship route to the user terminal using the generated plurality of network graphs.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다. However, the technical problem to be achieved by the present embodiment is not limited to the technical problems described above, and other technical problems may exist.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 선박의 항로를 결정하는 항로 결정 서버는 복수의 웨이포인트(WayPoint)에 대한 정보를 저장하는 데이터베이스; 상기 복수의 웨이포인트에 대한 정보에 포함된 위도 데이터 및 경도 데이터에 기초하여 각 웨이포인트별로 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성하는 네트워크 그래프 생성부; 사용자 단말로부터 출발지 및 목적지에 대한 정보를 수신하는 항구 정보 수신부; 상기 출발지 및 목적지에 대한 정보에 기초하여 상기 복수의 네트워크 그래프 중 하나를 선택하는 네트워크 그래프 선택부; 및 상기 선택된 네트워크 그래프에 대응하는 항로에 대한 정보를 상기 사용자 단말로 전송하는 항로 정보 전송부를 포함할 수 있다. As a technical means for achieving the above-described technical problem, a route determination server for determining a route of a ship according to a first aspect of the present invention includes a database for storing information on a plurality of waypoints; a network graph generator for generating a plurality of network graphs by connecting a plurality of other waypoints for each waypoint based on latitude data and longitude data included in the information on the plurality of waypoints; a port information receiving unit for receiving information on a departure point and a destination from a user terminal; a network graph selector selecting one of the plurality of network graphs based on the information on the source and destination; and a route information transmitter for transmitting information on a route corresponding to the selected network graph to the user terminal.
본 발명의 제 2 측면에 따른 항로 결정 서버에 의해 수행되는 선박의 항로를 결정하는 방법은 복수의 웨이포인트(WayPoint)에 대한 정보를 저장하는 단계; 상기 복수의 웨이포인트에 대한 정보에 포함된 위도 데이터 및 경도 데이터에 기초하여 각 웨이포인트별로 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성하는 단계; 사용자 단말로부터 출발지 및 목적지에 대한 정보를 수신하는 단계; 상기 출발지 및 목적지에 대한 정보에 기초하여 상기 복수의 네트워크 그래프 중 하나를 선택하는 단계; 상기 선택된 네트워크 그래프에 대응하는 항로에 대한 정보를 상기 사용자 단말로 전송하는 단계를 포함할 수 있다. According to a second aspect of the present invention, a method for determining a ship's route, performed by a route determination server, includes storing information about a plurality of waypoints; generating a plurality of network graphs by connecting a plurality of other waypoints for each waypoint based on latitude data and longitude data included in the information on the plurality of waypoints; Receiving information about a departure point and a destination from a user terminal; selecting one of the plurality of network graphs based on the information on the source and destination; and transmitting information on a route corresponding to the selected network graph to the user terminal.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described means for solving the problems is only illustrative and should not be construed as limiting the present invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and detailed description.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명은 복수의 웨이포인트별로 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성하고, 생성된 복수의 네트워크 그래프를 이용하여 최적의 선박 항로를 사용자 단말에게 추천할 수 있다. 또한, 본 발명은 출발지에서 목표지까지의 방향을 설정해 불필요한 부분에서의 탐색을 최소화하면서 최단 경로의 탐색을 제공할 수 있다. According to any one of the above-described problem solving means of the present invention, the present invention connects a plurality of different waypoints for each of a plurality of waypoints to generate a plurality of network graphs, and uses the generated plurality of network graphs to optimize the ship. Routes may be recommended to user terminals. In addition, the present invention can provide a shortest path search while minimizing a search in an unnecessary part by setting a direction from a starting point to a destination.
도 1은 본 발명의 일 실시예에 따른, 항로 결정 서버의 블록도이다.
도 2a 내지 2c는 본 발명의 일 실시예에 따른, 데이터베이스에 저장된 복수의 웨이포인트(WayPoint)에 대한 정보를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른, 복수의 네트워크 그래프를 생성하는 방법을 설명하기 위한 도면이다.
도 4a 내지 4b는 본 발명의 일 실시예에 따른, 선박의 항로 결정 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른, 항로 결정을 위한 복수의 네트워크 그래프를 생성하는 방법을 나타낸 흐름도이다.
도 6은 본 발명의 일 실시예에 따른, 선박의 항로를 결정하는 방법을 나타낸 흐름도이다. 1 is a block diagram of a route determination server according to an embodiment of the present invention.
2A to 2C are diagrams illustrating information on a plurality of waypoints stored in a database according to an embodiment of the present invention.
3 is a diagram for explaining a method of generating a plurality of network graphs according to an embodiment of the present invention.
4A to 4B are views for explaining a method for determining a ship's route according to an embodiment of the present invention.
5 is a flowchart illustrating a method of generating a plurality of network graphs for route determination according to an embodiment of the present invention.
6 is a flowchart illustrating a method of determining a ship route according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail so that those skilled in the art can easily practice the present invention with reference to the accompanying drawings. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is said to be "connected" to another part, this includes not only the case where it is "directly connected" but also the case where it is "electrically connected" with another element interposed therebetween. . In addition, when a certain component is said to "include", this means that it may further include other components without excluding other components unless otherwise stated.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. In this specification, a "unit" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Further, one unit may be realized using two or more hardware, and two or more units may be realized by one hardware.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다. In this specification, some of the operations or functions described as being performed by a terminal or device may be performed instead by a server connected to the terminal or device. Likewise, some of the operations or functions described as being performed by the server may also be performed in a terminal or device connected to the corresponding server.
이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다. Hereinafter, specific details for the implementation of the present invention will be described with reference to the accompanying configuration diagram or process flow chart.
도 1은 본 발명의 일 실시예에 따른, 항로 결정 서버(10)의 블록도이다.1 is a block diagram of a
도 1을 참조하면, 항로 결정 서버(10)는 데이터베이스(100), 네트워크 그래프 생성부(110), 항구 정보 수신부(120), 네트워크 그래프 선택부(130) 및 항로 정보 전송부(140)를 포함할 수 있다. 다만, 도 1에 도시된 항로 결정 서버(10)는 본 발명의 하나의 구현 예에 불과하며, 도 에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. Referring to FIG. 1, the
이하에서는 도 2a 내지 도 4b를 함께 참조하여 도 1을 설명하기로 한다. Hereinafter, FIG. 1 will be described with reference to FIGS. 2A to 4B.
데이터베이스(100)는 공공 및 민간에서 제공되는 전 세계 해상에 대한 해상 구역별 해상의 해류, 깊이 및 파고, 풍속, 풍력 등을 포함하는 해상 기상 정보를 수집하여 저장할 수 있다. The
데이터베이스(100)는 복수의 웨이포인트(WayPoint)에 대한 정보를 저장할 수 있다. 여기서, 복수의 웨이포인트는 복수의 선박이 운항 가능한 복수의 항로에서 교차하는 지점 또는 항로 상의 유의미한 지점을 의미한다. 이러한, 복수의 웨이포인트는 예를 들어, 해상 구역 간에 항해 시에 선박이 지나가는 지점으로서 신규 항구가 건설되거나 신규 항로가 개척되거나, 해상에 인공물 등의 설치로 인해 변경될 수 있다. The
예를 들어, 도 2a를 참조하면, 데이터베이스(100)는 각 웨이포인트 각각에 대한 위도 데이터 및 경로 데이터를 저장하고, 각 웨이포인트별 연결된 인접 웨이포인트 리스트를 저장할 수 있다. 예를 들어, 데이터베이스(100)는 1번 웨이포인트에 대한 위도 데이터 및 경로 데이터를 저장하고, 1번 웨이포인트와 인접한 2번 웨이포인트, 3번 웨이포인트, 6번 웨이포인트를 1번 웨이포인트와 매핑하여 저장할 수 있다. For example, referring to FIG. 2A , the
정보 가공부(미도시)는 데이터베이스(100)에 저장된 각 웨이포인트별로 연결된 인접 웨이포인트 리스트를 멜트(melt) 기법을 통해 각 연결된 웨이포인트에 대한 정보로 세분화하고, 추후 데이터 활용을 위해 가공할 수 있다. The information processing unit (not shown) subdivides the list of adjacent waypoints connected to each waypoint stored in the
도 2b를 참조하면, 데이터베이스(100)는 각 웨이포인트별로 연결된 다른 웨이포인트 간의 거리값, 연결된 다른 웨이포인트에 대한 위도 데이터 및 경로 데이터, 웨이포인트들 간에 연결된 연결선 정보(엣지 정보)를 포함하는 관계 정보를 각 웨이포인트별로 저장할 수 있다. 여기서, 두 개의 웨이포인트 간의 거리값은 두 개의 웨이포인트 각각의 위도 데이터 및 경도 데이터에 기초하여 기정의된 거리 계산 함수를 통해 계산될 수 있다. 이 때, 기정의된 거리 계산 함수는 다음과 같이 정의될 수 있다. Referring to FIG. 2B, the
<기정의된 거리 계산 함수><predefined distance calculation function>
예를 들어, 데이터베이스(100)는 1번 웨이포인트 및 1번 웨이포인트와 연결된 2번 웨이포인트 간의 거리값, 1번 웨이포인트 및 2번 웨이포인트 간의 엣지 정보, 2번 웨이포인트에 대한 위도 데이터 및 경로 데이터를 1번 웨이포인트에 매핑하여 저장할 수 있다. 또한, 데이터베이스(100)는 1번 웨이포인트 및 1번 웨이포인트와 연결된 3번 웨이포인트 간의 거리값, 1번 웨이포인트 및 3번 웨이포인트 간의 엣지 정보, 3번 웨이포인트에 대한 위도 데이터 및 경로 데이터를 1번 웨이포인트에 매핑하여 저장할 수 있다. For example, the
한편, 보통 소프트웨어 등에서 네트워크 그래프를 그릴 때에는 각 노드가 상대 노드와 연결되어 있는지, 아니면 연결되어 있지 않은지를 나타내는 관계 매트릭스(또는 인접(Adjacency) 매트릭스)를 사용하는 경우가 많다. 따라서, 각 노드가 어떤 노드와 연결되어 있는지 여부를 관계 매트릭스로 표현해준 다음 예를 들어, 파이썬 프로그램을 활용하여 관계 매트릭스를 네트워크 그래프로 표현할 수 있다. On the other hand, when drawing a network graph in software or the like, a relationship matrix (or adjacency matrix) indicating whether each node is connected to another node or not is often used. Therefore, after expressing whether or not each node is connected to a node as a relationship matrix, the relationship matrix can be expressed as a network graph using a Python program, for example.
도 2c를 참조하면, 관계 매트릭스 정보 생성부(미도시)는 데이터베이스(100)에 저장된 관계 정보를 이용하여 각 웨이포인트별로 다른 웨이포인트와 연결되어 있는지 여부를 나타내는 관계 매트릭스(Relation Matrix) 정보를 생성할 수 있다. 이 때, 관계 매트릭스 정보를 통해 만들어진 각 웨이포인트가 노드가 되고, 각 웨이포인트 간의 연결선이 엣지가 되는 네트워크 그래프가 생성될 수 있다. Referring to FIG. 2C , a relation matrix information generation unit (not shown) generates relation matrix information indicating whether each waypoint is connected to another waypoint by using the relation information stored in the
네트워크 그래프 생성부(110)는 데이터베이스(100)에 저장된 관계 정보 및 관계 매트릭스 정보를 이용하여 각 웨이포인트별로 연결된 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성할 수 있다. The
도 3를 함께 참조하면, 네트워크 그래프 생성부(110)는 각 웨이포인트별로 복수의 웨이포인트에 대한 정보에 포함된 위도 데이터 및 경도 데이터에 기초하여 각 웨이포인트별로 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성할 수 있다. Referring to FIG. 3 together, the
여기서, 네트워크 그래프를 구성하는 복수의 웨이포인트 각각은 노드이고, 각 노드를 연결하는 연결선은 엣지이다. 즉, 네트워크 그래프 생성부(110)는 노드 및 엣지를 포함하는 네트워크 그래프를 생성할 수 있다. Here, each of a plurality of waypoints constituting the network graph is a node, and a connection line connecting each node is an edge. That is, the
네트워크 그래프 생성부(110)는 각 웨이포인트별로 연결된 웨이포인트 각각의 위도 데이터 및 경도 데이터에 기초하여 웨이포인트 간의 거리를 계산하고, 계산된 웨이포인트 간의 거리에 기초하여 네트워크 그래프를 생성할 수 있다. The
예를 들어, 1번 웨이포인트와 연결된 웨이포인트가 2번 웨이포인트, 3번 웨이포인트, 6번 웨이포인트인 경우, 네트워크 그래프 생성부(110)는 데이터베이스(100)에 저장된 관계 정보 및 관계 매트릭스 정보를 이용하여 1번 웨이포인트, 2번 웨이포인트, 3번 웨이포인트 및 6번 웨이포인트를 연결하는 거리값을 계산하고, 계산된 거리값에 기초하여 1번 웨이포인트, 2번 웨이포인트, 3번 웨이포인트 및 6번 웨이포인트를 연결하는 제 1 네트워크 그래프를 생성할 수 있다. For example, when waypoints connected to
네트워크 그래프 생성부(110)는 그래프 경로 최적화 문제로 항로 문제를 변경한 후, 최적화 알고리즘을 사용하여 각 웨이포인트별로 연결된 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성할 수 있다. After changing the route problem to the graph path optimization problem, the
네트워크 그래프 생성부(110)는 공공 및 민간에서 제공되는 전 세계 해상의 해류, 깊이, 기상에 대한 기상 정보를 활용하여 각 웨이포인트별로 연결된 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성할 수 있다. The network
네트워크 그래프 생성부(110)는 계산된 웨이포인트 간의 거리에 기초하여 웨이포인트 간의 엣지에 가중치를 부여할 수 있다. 예를 들어, 네트워크 그래프 생성부(110)는 계산된 웨이포인트 간의 거리가 클수록 선박이 운항하는데 소비되는 연료 사용량 및 항해 소요 시간이 높으므로 해당 웨이포인트 간의 엣지에 제 1 가중치를 부여할 수 있다. 네트워크 그래프 생성부(110)는 계산된 웨이포인트 간의 거리가 작을수록 선박이 운항하는데 소비되는 연료 사용량 및 항해 소요 시간이 줄어들므로 해당 웨이포인트 간의 엣지에 제 1 가중치보다 큰 제 2 가중치를 부여할 수 있다. 다른 예로, 네트워크 그래프 생성부(110)는 해상 기상 정보에 기초하여 계산된 웨이포인트 간의 엣지에 서로 다른 추가 가중치를 부여하거나 가중치를 조정할 수도 있다. The
여기서, 각 웨이포인트(노드) 간 엣지에 부여된 가중치는 개선된 A* 알고리즘(최적화된 항로 도출 알고리즘)의 휴리스틱(heuristic) 거리로 활용될 수 있다. 즉, 각 웨이포인트 간 엣지에 부여된 가중치는 각 웨이포인트 각각의 위도 데이터 및 경도 데이터를 이용하여 산출된 휴리스틱 거리를 의미할 수 있다. Here, the weight given to the edge between each waypoint (node) can be used as a heuristic distance of the improved A* algorithm (optimized route derivation algorithm). That is, the weight assigned to the edge between each waypoint may mean a heuristic distance calculated using latitude data and longitude data of each waypoint.
네트워크 그래프 생성부(110)는 해상에 대한 해상 기상 정보(예컨대, 해풍, 해류, 파도의 속도 및 방향에 대한 정보 등)를 기존 A* 알고리즘에 반영함으로써 개선된 A* 알고리즘(최적화된 항로 도출 알고리즘)을 도출할 수 있다.The network
여기서, A* 알고리즘은 다음과 같이 정의될 수 있다. Here, the A* algorithm can be defined as follows.
< A* 알고리즘>< A* Algorithm>
A* 알고리즘은 먼저 Openlist 상에서 목표 지점까지 예상 거리(즉, cost + heuristic function이 합쳐진 f(x))가 가장 최소인 노드를 고른다. 여기서, Openlist는 경로 상에서 가능한 모든 노드들을 추가해놓은 리스트이고, 예상 거리 함수 f(x)는 현재까지 거쳐온 경로들의 거리 소모값들의 합에 해당되는 cost function인 g(x)와, 현재 지점과 목표 지점까지의 예상 거리에 대한 heruistic function인 h(x)의 합으로써, 출발 항구로부터 도착 항구까지의 전체 경로에 대한 예상 거리 및 연료 소모값을 의미한다. 만약 그 노드가 도착지점 노드이면 경로 찾기가 모두 완료되었다는 의미이므로 해당 알고리즘은 종료되고, 도착지점이 아니라면 경로 중간이라는 의미이므로 해당 노드를 경로 찾기를 시도한 노드들의 리스트인 Closelist에 추가된다. 해당 노드에 인접한 노드들 중, Closelist에 소속되지 않은 노드들은 가능한 경로 중 하나이므로, Openlist에 추가하고, 해당 인접 노드들의 도착지점까지의 예상거리 f(x)를 계산한다. 만약 인접 노드가 이미 Openlist에 있었는데, 계산된 f(x) 값이 더 작다면, 지금의 경로가 더욱 최적이라는 뜻이므로 f(x) 값을 업데이트하고, 인접 노드와 해당 노드를 Parent-Child 관계로 연결한다. 위와 같은 단계로 경로 찾기가 완료될 때까지 반복하면 A* 알고리즘에 따른 최적화 경로가 도출된다. The A* algorithm first selects the node with the smallest expected distance to the target point on the Openlist (i.e. f(x) combined with cost + heuristic function). Here, Openlist is a list in which all possible nodes on the path are added, and the expected distance function f(x) is the cost function g(x) corresponding to the sum of the distance consumption values of the paths traveled so far, and the current point and the target As the sum of h(x), which is a heruistic function for the expected distance to a point, it means the expected distance and fuel consumption value for the entire route from the departure port to the arrival port. If the node is the destination node, it means that the route search is complete, so the algorithm is terminated. Among the nodes adjacent to the corresponding node, nodes that do not belong to the Closelist are one of the possible paths, so they are added to the Openlist, and the expected distance f(x) to the destination of the corresponding adjacent nodes is calculated. If the adjacent node is already in the Openlist and the calculated f(x) value is smaller, it means that the current path is more optimal, so update the f(x) value and make the adjacent node and the corresponding node a parent-child relationship. connect If the above steps are repeated until path finding is completed, an optimized path according to the A* algorithm is derived.
또한, 네트워크 그래프 생성부(110)는 복수의 네트워크 그래프에 대응되는 복수의 항로별로 예상되는 항해 소요 시간 및 연료 사용량을 개선된 A* 알고리즘에 반영할 수 있다. 이를 통해, 개선된 A* 알고리즘을 이용하여 최적화된 항로를 도출할 수 있다. In addition, the
데이터베이스(100)는 네트워크 그래프 생성부(110)에 의해 생성된 복수의 네트워크 그래프를 저장하고, 각 네트워크 그래프별로 각 네트워크 그래프와 관련된 관계 정보 및 각 네트워크 그래프에 포함된 복수의 웨이포인트 간의 거리 및 엣지 정보를 매핑하여 저장할 수 있다. The
항구 정보 수신부(120)는 사용자 단말로부터 선박의 출발지 및 목적지에 대한 정보를 수신할 수 있다. 예를 들면, 선박의 출발지 정보에는 선박이 출발하는 출발지 항구에 해당하는 항구명 또는 출발지 항구가 위치하는 위경도 정보가 포함되고, 선박의 목적지 정보에는 선박이 도착하는 목적지 항구에 해당하는 항구명 또는 목적지 항구가 위치하는 위경도 정보가 포함될 수 있다.The port
네트워크 그래프 선택부(130)는 출발지 및 목적지에 대한 정보에 기초하여 복수의 네트워크 그래프 중 하나를 선택할 수 있다. The network
예를 들어, 네트워크 그래프 선택부(130)는 데이터베이스(100)에 저장된 복수의 네트워크 그래프와 관련된 관계 정보를 이용하여 출발지 정보에 대응하는 웨이포인트 및 목적지 정보에 대응하는 웨이포인트에 대한 정보를 검색할 수 있다. 또한, 네트워크 그래프 선택부(130)는 데이터베이스(100)에 저장된 복수의 네트워크 그래프 중 검색된 출발지 정보에 대응하는 웨이포인트 및 목적지 정보에 대응하는 웨이포인트를 포함하는 복수의 네트워크 그래프를 선택할 수 있다. For example, the network
예를 들어, 도 4a를 참조하면, 출발지 정보에 대응하는 웨이포인트가 11번 웨이포인트이고, 목적지 정보에 대응하는 웨이포인트가 2374번 웨이포인트인 경우, 네트워크 그래프 선택부(130)는 데이터베이스(100)에 저장된 복수의 네트워크 그래프 중 11 번 웨이포인트를 출발지로하고 2374번 웨이포인트를 목적지로 하는 네트워크 그래프를 검색하고, 검색된 네트워크 그래프에 포함된 복수의 웨이포인트 간의 거리값과 함께 검색된 네트워크 그래프에 포함된 각 웨이포인트의 위도 데이터 및 경로 데이터를 검색할 수 있다. For example, referring to FIG. 4A , when the waypoint corresponding to the source information is waypoint 11 and the waypoint corresponding to the destination information is waypoint 2374, the
네트워크 그래프 선택부(130)는 출발지에 대응하는 웨이포인트 및 목적지에 대응하는 웨이포인트를 포함하는 복수의 네트워크 그래프에 포함된 복수의 엣지의 가중치에 기초하여 최단 경로를 갖는 네트워크 그래프를 선택할 수 있다. 예를 들어, 네트워크 그래프 선택부(130)는 최단 경로 탐색 알고리즘(예컨대, A* 알고리즘)을 이용하여 최단 경로를 갖는 네트워크 그래프를 검색할 수 있다. The
네트워크 그래프 선택부(130)는 출발지에 대응하는 웨이포인트 및 목적지에 대응하는 웨이포인트를 포함하는 복수의 네트워크 그래프에 대하여 각 네트워크 그래프별로 예상되는 항해 소요 시간 및 연료 사용량 정보를 계산할 수 있다. The
네트워크 그래프 선택부(130)는 출발지에 대응하는 웨이포인트 및 목적지에 대응하는 웨이포인트를 포함하는 복수의 네트워크 그래프 중 기설정된 임계값 이하인 거리값을 갖는 네트워크 그래프를 추출하고, 추출된 적어도 하나의 네트워크 그래프에 대한 항해 소요 시간 및 연료 사용량 정보에 기초하여 최적의 네트워크 그래프를 선택할 수 있다. The
네트워크 그래프 선택부(130)는 출발지에 대응하는 웨이포인트 및 목적지에 대응하는 웨이포인트를 포함하는 복수의 네트워크 그래프 중 기설정된 임계값 이하인 거리값을 갖는 네트워크 그래프를 추출하고, 추출된 네트워크 그래프에 대응하는 항로 상의 해상 기상 정보에 기초하여 추출된 네트워크 그래프 중 최적의 네트워크 그래프를 선택할 수 있다. 여기서, 해상 기상 정보는 예를 들어, 파고, 파향, 풍향, 표면압, 너울(swell) 높이, 너울 방향, 커런트(current), 열대성 태풍 및 아이스 커버(ice cover) 중 적어도 하나를 포함할 수 있다.The
네트워크 그래프 선택부(130)는 출발지에 대응하는 웨이포인트 및 목적지에 대응하는 웨이포인트를 포함하는 복수의 네트워크 그래프 중 기설정된 임계값 이하인 거리값을 갖는 네트워크 그래프를 추출하고, 추출된 네트워크 그래프에 대응하는 항로 상의 해상 트래픽 정보에 기초하여 추출된 네트워크 그래프 중 최적의 네트워크 그래프를 선택할 수 있다.The
항로 정보 전송부(140)는 선택된 최단 경로를 갖는 네트워크 그래프에 대응하는 항로에 대한 정보를 사용자 단말로 전송할 수 있다. 예를 들어, 도 4b를 참조하면, 항로 정보 전송부(140)는 선택된 네트워크 그래프에 대응하는 항로를 지도 UI 상에 표시하여 사용자 단말에게 전송할 수 있다. The
여기서, 선택된 네트워크 그래프에 대응하는 항로에 대한 정보에는 예를 들어, 항로에 따라 예상되는 항해 거리 정보, 항해 시간 정보, 선박의 평균 운항 속도, 선박의 운항에 대한 연료 사용량 정보 등이 포함될 수 있다. 또한, 선택된 네트워크 그래프에 대응하는 항로에 대한 정보에는 운항 날짜별 예상 해상 기상 정보, 현재 해상 기상 정보, 해상 트래픽 정보, 항로 상의 해상의 깊이 정보 등이 포함될 수 있다. Here, the information on the route corresponding to the selected network graph may include, for example, voyage distance information expected according to the route, voyage time information, average sailing speed of the ship, fuel consumption information for the ship's operation, and the like. In addition, the information on the route corresponding to the selected network graph may include expected maritime weather information by operating date, current maritime weather information, maritime traffic information, sea depth information on the route, and the like.
예를 들면, 기상 예보 정보 제공부(미도시)는 선택된 네트워크 그래프에 대응하는 항로에 대한 정보에 포함된 정보 중 사용자 단말에 의해 선택된 기상 예보 정보를 지도의 해상에 반영하여 사용자 단말에게 제공할 수 있다. For example, the weather forecast information provider (not shown) may reflect weather forecast information selected by the user terminal among information included in information on a route corresponding to the selected network graph to the sea of the map and provide the user terminal with the weather forecast information. there is.
예를 들면, 사용자 단말에서 해상의 파고에 대한 정보를 요청한 경우, 기상 예보 정보 제공부(미도시)는 선택된 네트워크 그래프에 대응하는 항로 상에 대하여 해수면의 색상 변화로 현재 파도의 높이 정보를 반영한 지도를 사용자 단말에게 제공할 수 있다. 사용자 단말에서 해상의 파향 또는 풍향에 대한 정보를 요청한 경우, 기상 예보 정보 제공부(미도시)는 선택된 네트워크 그래프에 대응하는 항로 상에 대하여 지도의 해상에 파도가 진행하는 방향 또는 바람의 방향 정보를 표시하여 사용자 단말에게 제공할 수 있다. For example, when the user terminal requests information on sea wave height, the weather forecast information providing unit (not shown) maps a map reflecting current wave height information as a color change of the sea level on a route corresponding to the selected network graph. may be provided to the user terminal. When the user terminal requests information on the direction of waves or wind on the sea, the weather forecast information providing unit (not shown) provides information on the direction of waves or wind on the sea of the map on the route corresponding to the selected network graph. It can be displayed and provided to the user terminal.
기상 예보 정보 제공부(미도시)는 사용자 단말에 의해 선택된 네트워크 그래프에 대응하는 항로에 대한 정보에 기초하여 항로에 대한 적어도 하나의 기상 예보 정보의 요약 정보를 사용자 단말에게 제공하고, 사용자 단말로부터 항로에 대한 기상 예보 정보의 상세 정보 요청을 수신하면, 사용자 단말에게 기상 예보 정보의 상세 정보를 제공할 수 있다. 여기서, 항로에 대한 기상 예보 정보의 요약 정보는 예를 들어, 출발지 및 목적지 각각에 대응하는 항구의 위치가 표시된 지도와 항로 상의 날짜별 바람 및 파도 세기 정보를 포함할 수 있다. 항로에 대한 기상 예보 정보의 상세 정보는 출발지 및 목적지에 대응하는 항구명, 위경도, 항구의 국가 정보, 로컬 시간 정보 등을 포함하는 항구 상세 정보, 날짜별 항로 상의 바람의 방향 및 속도를 포함하는 바람 기상 정보, 날짜별 파도의 진행 방향 및 파도의 높이를 포함하는 파도 기상 정보 및 출발지 및 목적지에 대응하는 항구의 현재 가시 거리 정보를 포함하는 가시 기상 정보를 포함할 수 있다. The weather forecast information providing unit (not shown) provides summary information of at least one weather forecast information for a route to the user terminal based on the information on the route corresponding to the network graph selected by the user terminal, and provides the user terminal with information about the route corresponding to the network graph selected by the user terminal. Upon receiving a detailed information request of weather forecast information for , detailed information of weather forecast information may be provided to the user terminal. Here, the summary information of the weather forecast information for the route may include, for example, a map indicating the location of a port corresponding to each departure point and destination, and wind and wave strength information for each date on the route. Detailed information of the weather forecast information for the route includes port name corresponding to the departure point and destination, latitude and longitude, port country information, local time information, etc., and wind direction and speed on the route by date. It may include wind weather information, wave weather information including wave direction and wave height by date, and visible weather information including current visible distance information of ports corresponding to departure and destination points.
한편, 당업자라면, 데이터베이스(100), 네트워크 그래프 생성부(110), 항구 정보 수신부(120), 네트워크 그래프 선택부(130) 및 항로 정보 전송부(140) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다. Meanwhile, for those skilled in the art, each of the
도 5는 본 발명의 일 실시예에 따른, 항로 결정을 위한 복수의 네트워크 그래프를 생성하는 방법을 나타낸 흐름도이다. 5 is a flowchart illustrating a method of generating a plurality of network graphs for route determination according to an embodiment of the present invention.
도 5를 참조하면, 단계 S501에서 항로 결정 서버(10)는 복수의 웨이포인트에 대한 정보를 데이터베이스(100)에 저장할 수 있다. 여기서, 복수의 웨이포인트에 대한 정보는 웨이포인트의 위도 데이터 및 경도 데이터를 포함할 수 있다. Referring to FIG. 5 , in step S501 , the
단계 S503에서 항로 결정 서버(10)는 복수의 웨이포인트에 대한 정보에 포함된 위도 데이터 및 경도 데이터에 기초하여 각 웨이포인트별로 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성할 수 있다. 이 때, 각 웨이포인트별로 생성된 복수의 네트워크 그래프는 데이터베이스(100)에 저장될 수 있다. In step S503, the
상술한 설명에서, 단계 S501 내지 S503는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the above description, steps S501 to S503 may be further divided into additional steps or combined into fewer steps, depending on the implementation of the present invention. Also, some steps may be omitted if necessary, and the order of steps may be changed.
도 6은 본 발명의 일 실시예에 따른, 선박의 항로를 결정하는 방법을 나타낸 흐름도이다. 6 is a flowchart illustrating a method of determining a ship route according to an embodiment of the present invention.
도 6을 참조하면, 단계 S601에서 항로 결정 서버(10)는 사용자 단말로부터 출발지 및 목적지에 대한 정보를 수신할 수 있다. Referring to FIG. 6 , in step S601, the
단계 S603에서 항로 결정 서버(10)는 출발지 및 목적지에 대한 정보에 기초하여 데이터베이스(100)에 저장된 복수의 네트워크 그래프 중 하나를 선택할 수 있다. In step S603, the
단계 S605에서 항로 결정 서버(10)는 선택된 네트워크 그래프에 대응하는 항로에 대한 정보를 사용자 단말에게 전송할 수 있다. In step S605, the
상술한 설명에서, 단계 S601 내지 S607은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the foregoing description, steps S601 to S607 may be further divided into additional steps or combined into fewer steps, depending on an embodiment of the present invention. Also, some steps may be omitted if necessary, and the order of steps may be changed.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. An embodiment of the present invention may be implemented in the form of a recording medium including instructions executable by a computer, such as program modules executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, computer readable media may include all computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The above description of the present invention is for illustrative purposes, and those skilled in the art can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.
본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다. The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and equivalent concepts thereof should be construed as being included in the scope of the present invention. .
10: 항로 결정 서버
100: 데이터베이스
110: 네트워크 그래프 생성부
120: 항구 정보 수신부
130: 네트워크 그래프 선택부
140: 항로 정보 전송부10: route determination server
100: database
110: network graph generation unit
120: port information receiver
130: network graph selection unit
140: route information transmission unit
Claims (12)
복수의 선박이 운항 가능한 복수의 항로에서 교차하는 지점 또는 항로 상의 유의미한 지점을 포함하는 복수의 웨이포인트(WayPoint)에 대한 정보를 저장하는 데이터베이스;
상기 복수의 웨이포인트에 대한 정보에 포함된 위도 데이터 및 경도 데이터에 기초하여 각 웨이포인트별로 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성하는 네트워크 그래프 생성부;
사용자 단말로부터 출발지 및 목적지에 대한 정보를 수신하는 항구 정보 수신부;
상기 출발지 및 목적지에 대한 정보에 기초하여 상기 복수의 네트워크 그래프 중 하나를 선택하는 네트워크 그래프 선택부; 및
상기 선택된 네트워크 그래프에 대응하는 항로에 대한 정보를 상기 사용자 단말로 전송하는 항로 정보 전송부
를 포함하되,
상기 데이터베이스는 상기 각 웨이포인트별로 연결된 상기 복수의 다른 웨이포인트 간의 거리값, 연결선 정보, 상기 연결된 복수의 다른 웨이포인트에 대한 위도 데이터 및 경로 데이터를 포함하는 관계 정보를 더 저장하고,
상기 네트워크 그래프 생성부는 상기 데이터베이스에 저장된 상기 관계 정보를 이용하여 상기 복수의 네트워크 그래프를 생성하고,
상기 네트워크 그래프 생성부는 해상의 해상 기상 정보를 A* 알고리즘에 반영하여 개선된 A* 알고리즘을 도출하고,
상기 네트워크 그래프 생성부는 상기 복수의 네트워크 그래프에 대응하는 복수의 항로별로 예상되는 항해 소요 시간 및 연료 사용량을 상기 개선된 A* 알고리즘에 반영하고,
상기 네트워크 그래프 선택부는 상기 개선된 A* 알고리즘을 이용하여 상기 복수의 네트워크 그래프 중 하나를 선택하는 것인, 항로 결정 서버.
In the route determination server for determining the route of the ship,
A database for storing information on a plurality of waypoints including points crossing a plurality of routes on which a plurality of ships can navigate or meaningful points on a route;
a network graph generator for generating a plurality of network graphs by connecting a plurality of other waypoints for each waypoint based on latitude data and longitude data included in the information on the plurality of waypoints;
a port information receiving unit for receiving information on a departure point and a destination from a user terminal;
a network graph selector selecting one of the plurality of network graphs based on the information on the source and destination; and
A route information transmitter for transmitting information on a route corresponding to the selected network graph to the user terminal.
Including,
The database further stores relationship information including distance values between the plurality of other waypoints connected to each waypoint, connection line information, and latitude data and route data for the plurality of other connected waypoints,
The network graph generator generates the plurality of network graphs using the relation information stored in the database;
The network graph generating unit derives an improved A* algorithm by reflecting marine weather information of the sea to the A* algorithm,
The network graph generation unit reflects the estimated voyage time and fuel consumption for each of a plurality of routes corresponding to the plurality of network graphs in the improved A* algorithm,
Wherein the network graph selector selects one of the plurality of network graphs using the improved A* algorithm.
상기 복수의 웨이포인트 각각은 노드이고, 각 노드를 연결하는 연결선은 엣지이고,
상기 네트워크 그래프 생성부는 상기 노드 및 엣지를 포함하는 네트워크 그래프를 생성하는 것인, 항로 결정 서버.
According to claim 1,
Each of the plurality of waypoints is a node, and a connection line connecting each node is an edge;
The network graph generating unit generates a network graph including the node and the edge, the route determination server.
상기 네트워크 그래프 생성부는
상기 복수의 웨이포인트 각각의 위도 데이터 및 경도 데이터에 기초하여 웨이포인트 간의 거리를 계산하고,
상기 계산된 웨이포인트 간 거리에 기초하여 상기 네트워크 그래프를 생성하는 것인, 항로 결정 서버.
According to claim 2,
The network graph generator
calculating a distance between waypoints based on latitude data and longitude data of each of the plurality of waypoints;
And generating the network graph based on the calculated distance between waypoints.
상기 네트워크 그래프 생성부는
상기 웨이포인트 간의 거리에 기초하여 상기 엣지에 가중치를 부여하는 것인, 항로 결정 서버.
According to claim 3,
The network graph generator
and assigning a weight to the edge based on the distance between the waypoints.
상기 데이터베이스는 각 네트워크 그래프별로 각 네트워크 그래프에 포함된 복수의 웨이포인트 간의 거리를 매핑하여 저장하는 것인, 항로 결정 서버.
According to claim 3,
Wherein the database maps and stores distances between a plurality of waypoints included in each network graph for each network graph.
상기 네트워크 그래프 선택부는 상기 출발지에 대응하는 웨이포인트 및 상기 목적지에 대응하는 웨이포인트를 포함하는 복수의 네트워크 그래프에 포함된 복수의 엣지의 가중치에 기초하여 최단 경로를 갖는 네트워크 그래프를 선택하는 것인, 항로 결정 서버.
According to claim 4,
The network graph selector selects a network graph having the shortest path based on weights of a plurality of edges included in a plurality of network graphs including waypoints corresponding to the starting point and waypoints corresponding to the destination. Route decision server.
복수의 선박이 운항 가능한 복수의 항로에서 교차하는 지점 또는 항로 상의 유의미한 지점을 포함하는 복수의 웨이포인트(WayPoint)에 대한 정보를 데이터베이스에 저장하는 단계;
상기 복수의 웨이포인트에 대한 정보에 포함된 위도 데이터 및 경도 데이터에 기초하여 각 웨이포인트별로 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성하는 단계;
사용자 단말로부터 출발지 및 목적지에 대한 정보를 수신하는 단계;
상기 출발지 및 목적지에 대한 정보에 기초하여 상기 복수의 네트워크 그래프 중 하나를 선택하는 단계;
상기 선택된 네트워크 그래프에 대응하는 항로에 대한 정보를 상기 사용자 단말로 전송하는 단계
를 포함하되,
상기 데이터베이스에 저장하는 단계는
상기 각 웨이포인트별로 연결된 상기 복수의 다른 웨이포인트 간의 거리값, 연결선 정보, 상기 연결된 복수의 다른 웨이포인트에 대한 위도 데이터 및 경로 데이터를 포함하는 관계 정보를 더 저장하는 단계를 포함하고,
상기 복수의 네트워크 그래프를 생성하는 단계는
상기 데이터베이스에 저장된 상기 관계 정보를 이용하여 상기 복수의 네트워크 그래프를 생성하는 단계;
해상의 해상 기상 정보를 A* 알고리즘에 반영하여 개선된 A* 알고리즘을 도출하는 단계; 및
상기 복수의 네트워크 그래프에 대응하는 복수의 항로별로 예상되는 항해 소요 시간 및 연료 사용량을 상기 개선된 A* 알고리즘에 반영하는 단계를 더 포함하고,
상기 선택하는 단계는
상기 개선된 A* 알고리즘을 이용하여 상기 복수의 네트워크 그래프 중 하나를 선택하는 단계인 것인, 항로 결정 방법.
A method for determining a ship's route performed by a route determination server,
Storing information on a plurality of waypoints including points intersecting in a plurality of routes on which a plurality of ships can navigate or meaningful points on a route in a database;
generating a plurality of network graphs by connecting a plurality of other waypoints for each waypoint based on latitude data and longitude data included in the information on the plurality of waypoints;
Receiving information about a departure point and a destination from a user terminal;
selecting one of the plurality of network graphs based on the information on the source and destination;
Transmitting information on a route corresponding to the selected network graph to the user terminal
Including,
Storing in the database
further storing relationship information including distance values between the plurality of other waypoints connected to each waypoint, connection line information, and latitude data and route data for the plurality of other connected waypoints;
The step of generating the plurality of network graphs is
generating the plurality of network graphs using the relationship information stored in the database;
Deriving an improved A* algorithm by reflecting marine weather information of the sea to the A* algorithm; and
Further comprising reflecting the expected voyage time and fuel consumption for each of the plurality of routes corresponding to the plurality of network graphs to the improved A* algorithm,
The selection step is
The step of selecting one of the plurality of network graphs using the improved A* algorithm.
상기 복수의 웨이포인트 각각은 노드이고, 각 노드를 연결하는 연결선은 엣지이고,
상기 복수의 네트워크 그래프를 생성하는 단계는
상기 노드 및 엣지를 포함하는 네트워크 그래프를 생성하는 단계를 포함하는 것인, 항로 결정 방법.
According to claim 7,
Each of the plurality of waypoints is a node, and a connection line connecting each node is an edge;
The step of generating the plurality of network graphs is
The route determination method comprising generating a network graph including the nodes and edges.
상기 복수의 네트워크 그래프를 생성하는 단계는
상기 복수의 웨이포인트 각각의 위도 데이터 및 경도 데이터에 기초하여 웨이포인트 간의 거리를 계산하는 단계 및
상기 계산된 웨이포인트 간 거리에 기초하여 상기 네트워크 그래프를 생성하는 단계를 포함하는 것인, 항로 결정 방법.
According to claim 8,
The step of generating the plurality of network graphs is
calculating a distance between waypoints based on latitude data and longitude data of each of the plurality of waypoints; and
And generating the network graph based on the calculated distance between waypoints.
상기 복수의 네트워크 그래프를 생성하는 단계는
상기 웨이포인트 간의 거리에 기초하여 상기 엣지에 가중치를 부여하는 단계를 포함하는 것인, 항로 결정 방법.
According to claim 9,
The step of generating the plurality of network graphs is
and assigning a weight to the edge based on the distance between the waypoints.
각 네트워크 그래프별로 각 네트워크 그래프에 포함된 복수의 웨이포인트 간의 거리를 매핑하여 저장하는 단계를 더 포함하는 것인, 항로 결정 방법.
According to claim 9,
The route determination method further comprising mapping and storing distances between a plurality of waypoints included in each network graph for each network graph.
상기 선택하는 단계는
상기 출발지에 대응하는 웨이포인트 및 상기 목적지에 대응하는 웨이포인트를 포함하는 복수의 네트워크 그래프에 포함된 복수의 엣지의 가중치에 기초하여 최단 경로를 갖는 네트워크 그래프를 선택하는 단계를 포함하는 것인, 항로 결정 방법.
According to claim 10,
The selection step is
Selecting a network graph having the shortest path based on weights of a plurality of edges included in a plurality of network graphs including a waypoint corresponding to the starting point and a waypoint corresponding to the destination, How to decide.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200162953A KR102514765B1 (en) | 2020-11-27 | 2020-11-27 | Method and server for providing course information of vessel |
PCT/KR2020/017171 WO2022114302A1 (en) | 2020-11-27 | 2020-11-27 | Server and method for determination of ship route |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200162953A KR102514765B1 (en) | 2020-11-27 | 2020-11-27 | Method and server for providing course information of vessel |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220074439A KR20220074439A (en) | 2022-06-03 |
KR102514765B1 true KR102514765B1 (en) | 2023-03-29 |
Family
ID=81755761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200162953A KR102514765B1 (en) | 2020-11-27 | 2020-11-27 | Method and server for providing course information of vessel |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102514765B1 (en) |
WO (1) | WO2022114302A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020070312A1 (en) * | 2018-10-05 | 2020-04-09 | Offshore Navigation Limited | An apparatus for determining an optimal route of a maritime ship |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4934756B1 (en) * | 2011-11-10 | 2012-05-16 | 三井造船株式会社 | Ship optimum route calculation system, vessel operation support system, vessel optimum route calculation method, and vessel operation support method |
JP6288933B2 (en) * | 2013-04-12 | 2018-03-07 | 古野電気株式会社 | Route display device and route display method |
KR101556723B1 (en) | 2013-12-20 | 2015-10-02 | 삼성중공업 주식회사 | Optimal route determination device for ship |
KR20160005818A (en) * | 2014-07-07 | 2016-01-18 | 이마린 주식회사 | System and Method of creation and exchange of ship's route information based on ship's identical feature and environmental characteristics |
KR20160022990A (en) * | 2014-08-20 | 2016-03-03 | 현대중공업 주식회사 | Method of providing ship navigation information, apparatus performing the same and storage media storing the same |
KR101991101B1 (en) * | 2017-08-21 | 2019-06-20 | 주식회사 웨더아이 | Server, user device and method for providing vessel route determination service |
KR102094525B1 (en) * | 2018-07-04 | 2020-03-27 | 대우조선해양 주식회사 | System and method for providing optimized vessel seaway and computer-readable recording medium thereof |
EP3644014A1 (en) * | 2018-10-23 | 2020-04-29 | Offshore Navigation Limited | An apparatus for determining an optimal route of a maritime ship |
-
2020
- 2020-11-27 WO PCT/KR2020/017171 patent/WO2022114302A1/en unknown
- 2020-11-27 KR KR1020200162953A patent/KR102514765B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020070312A1 (en) * | 2018-10-05 | 2020-04-09 | Offshore Navigation Limited | An apparatus for determining an optimal route of a maritime ship |
Also Published As
Publication number | Publication date |
---|---|
WO2022114302A1 (en) | 2022-06-02 |
KR20220074439A (en) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102673743B1 (en) | Device for determining the optimal route of a maritime vessel | |
KR102215520B1 (en) | Method and server for providing course information of vessel including coast weather information | |
KR101850866B1 (en) | See path calculation method of vessel | |
EP2145155B1 (en) | Method and apparatus for routing ocean going vessels to avoid treacherous environments | |
US9157746B2 (en) | Vessel routing system | |
CN107289947A (en) | A kind of boat-carrying intelligent gas is as navigation system | |
KR101713160B1 (en) | Method for supplying safe-voyage in Northic sea | |
US20140222332A1 (en) | Mobile terminal, electronic navigational chart server, and method for updating electronic navigational chart based on crowdsourcing thereof | |
JP6959416B2 (en) | Submarine cable route planning tool | |
JP6867898B2 (en) | Optimal route search method and equipment | |
KR20090035589A (en) | Method for determining a route for an underwater vehicle | |
KR102109571B1 (en) | System and method for providing optimized vessel seaway and computer-readable recording medium thereof | |
KR102514765B1 (en) | Method and server for providing course information of vessel | |
KR101991101B1 (en) | Server, user device and method for providing vessel route determination service | |
KR102094525B1 (en) | System and method for providing optimized vessel seaway and computer-readable recording medium thereof | |
WO2022173934A1 (en) | Rule-based environmental condition impact assessments | |
Loeches et al. | METOC-driven Vessel Interdiction System (MVIS): Supporting decision making in Command and Control (C2) systems | |
KR20230140944A (en) | Server and method for providing vessel navigation service | |
KR102143322B1 (en) | Method for supplying safe-voyage in Northic sea | |
WO2018115569A1 (en) | Method for analyzing fleet operations | |
Tran et al. | Pathfinding and optimization for vessels in ice: A literature review | |
KR20240044041A (en) | Server and method for providing fleet navigation service | |
CN117928533A (en) | North-pole ship route planning method based on space-based sea ice product | |
KR20220036593A (en) | System and method for recommending ship routes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |