WO2022114302A1 - Server and method for determination of ship route - Google Patents

Server and method for determination of ship route Download PDF

Info

Publication number
WO2022114302A1
WO2022114302A1 PCT/KR2020/017171 KR2020017171W WO2022114302A1 WO 2022114302 A1 WO2022114302 A1 WO 2022114302A1 KR 2020017171 W KR2020017171 W KR 2020017171W WO 2022114302 A1 WO2022114302 A1 WO 2022114302A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
waypoints
network graph
route
network
Prior art date
Application number
PCT/KR2020/017171
Other languages
French (fr)
Korean (ko)
Inventor
김영도
Original Assignee
주식회사 웨더아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 웨더아이 filed Critical 주식회사 웨더아이
Publication of WO2022114302A1 publication Critical patent/WO2022114302A1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/203Specially adapted for sailing ships
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G3/00Traffic control systems for marine craft

Definitions

  • the present invention relates to a server and method for determining the course of a ship.
  • the ship routing problem is basically a route optimization problem, and various algorithms have been proposed to solve it.
  • a typical example is the TREAD (Traffic Route Extraction and Anomaly Detection) algorithm for marine route discovery.
  • AIS Automatic Identication System
  • This method is useful for searching for and recommending a safe route by analyzing the route that ships usually travel, but has a disadvantage in that it does not provide an optimal route and does not reflect changing weather and tide information.
  • the SPEA2 optimization algorithm is an algorithm designed to solve the multi-objective optimization problem. It is an algorithm that searches a path optimized for multiple goals by considering risk. Although the SPEA2 optimization algorithm is an algorithm that searches for optimal routes under various conditions in consideration of sea wind and current by reflecting weather information, it takes a considerable amount of time to calculate the first set of routes, so there is a limit to using it on an actual ship.
  • Dijkstra's algorithm can only calculate a short-distance ship route, and when weather or tide information is taken into account, the calculation becomes too complicated to be used in practice.
  • the A* algorithm which is an advanced version of Dijkstra's algorithm
  • an optimized route search method in consideration of ocean currents, maritime traffic, and anchoring has been proposed.
  • the efficiency of calculating the optimal route was achieved by using the A* algorithm
  • the optimized route search method using the A* algorithm is more efficient in minimizing risks such as collision risk, traffic, and anchoring in short-distance routes rather than route optimization considering complex sea conditions.
  • the viewpoint was considered, and the simulation was also performed only in a very short section, so the possibility of expansion for long-distance operation was low.
  • Patent Document 1 Korean Patent Publication No. 10-1556723 (published on September 23, 2015)
  • the present invention derives an improved A* algorithm by substituting weather, sea wind information, and current information in the route calculation using the existing A* algorithm to provide an artificial intelligence-based ship route optimization service using marine weather data, We want to provide an optimal ship route using the improved A* algorithm.
  • a plurality of network graphs are generated by connecting a plurality of different waypoints for each of a plurality of waypoints, and an optimal ship route can be recommended to the user terminal by using the plurality of generated network graphs.
  • the route determination server for determining the route of the ship includes a database for storing information about a plurality of waypoints; a network graph generator for generating a plurality of network graphs by connecting a plurality of different waypoints for each waypoint based on latitude data and longitude data included in the information on the plurality of waypoints; a port information receiver configured to receive information on a departure point and a destination from the user terminal; a network graph selection unit for selecting one of the plurality of network graphs based on the information on the origin and destination; and a route information transmitter configured to transmit information on a route corresponding to the selected network graph to the user terminal.
  • a method for determining a route of a ship performed by a route determination server comprises the steps of: storing information about a plurality of waypoints; generating a plurality of network graphs by connecting a plurality of different waypoints for each waypoint based on latitude data and longitude data included in the information on the plurality of waypoints; Receiving information on the origin and destination from the user terminal; selecting one of the plurality of network graphs based on the information on the origin and destination; The method may include transmitting information on a route corresponding to the selected network graph to the user terminal.
  • the present invention connects a plurality of different waypoints for each of a plurality of waypoints to generate a plurality of network graphs, and an optimal ship using the plurality of generated network graphs A route may be recommended to the user terminal.
  • the present invention can provide the search for the shortest route while minimizing the search in unnecessary parts by setting the direction from the starting point to the target location.
  • FIG. 1 is a block diagram of a route determination server according to an embodiment of the present invention.
  • 2A is a diagram illustrating information on a plurality of waypoints stored in a database according to an embodiment of the present invention.
  • 2B is a diagram illustrating information on a plurality of waypoints stored in a database according to an embodiment of the present invention.
  • 2C is a diagram illustrating information on a plurality of waypoints stored in a database according to an embodiment of the present invention.
  • FIG. 3 is a diagram for explaining a method of generating a plurality of network graphs according to an embodiment of the present invention.
  • 4A is a view for explaining a method for determining a route of a ship according to an embodiment of the present invention.
  • 4B is a view for explaining a method of determining a route of a ship according to an embodiment of the present invention.
  • FIG. 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.
  • FIG. 6 is a flowchart illustrating a method of determining a route of a ship according to an embodiment of the present invention.
  • a "part" includes a unit realized by hardware, a unit realized by software, and a unit realized using both.
  • one unit may be implemented using two or more hardware, and two or more units may be implemented by one hardware.
  • Some of the operations or functions described as being performed by the terminal or device in this specification may be instead performed by a server connected to the terminal or device. Similarly, 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 server.
  • FIG. 1 is a block diagram of a route determination server 10 according to an embodiment of the present invention.
  • the route determining server 10 includes a database 100 , a network graph generating unit 110 , a port information receiving unit 120 , a network graph selecting unit 130 , and a route information transmitting unit 140 . can do.
  • the route determination server 10 shown in FIG. 1 is only one implementation example of the present invention, and various modifications are possible based on the components shown in FIG.
  • FIG. 1 will be described with reference to FIGS. 2A to 4B together.
  • the database 100 may collect and store offshore meteorological information including ocean currents, depth and wave heights, wind speed, wind power, and the like, for each sea zone for the global sea provided by the public and private sectors.
  • the database 100 may store information about a plurality of waypoints.
  • the plurality of waypoints means a point at which a plurality of ships intersect in a plurality of navigable routes or a significant point on the route.
  • Such a plurality of waypoints may be changed due to, for example, a point through which a ship passes when sailing between sea zones, when a new port is built or a new route is opened, or an artifact is installed in the sea.
  • the database 100 may store latitude data and route data for each waypoint, and store a list of adjacent waypoints connected for each waypoint. For example, the database 100 stores latitude data and route data for waypoint No. 1, and waypoint No. 2, Waypoint No. 3, Waypoint No. 6 adjacent to Waypoint No. 1 with Waypoint No. 1 It can be mapped and saved.
  • the information processing unit may subdivide the list of adjacent waypoints connected for each waypoint stored in the database 100 into information about each connected waypoint through a melt technique, and process it for future data utilization. have.
  • the database 100 includes distance values between other waypoints connected for each waypoint, latitude data and route data for other connected waypoints, and connection line information (edge information) connected between waypoints. Information can be stored for each waypoint.
  • the distance value between the two waypoints may be calculated through a predefined distance calculation function based on latitude data and longitude data of each of the two waypoints.
  • the predefined distance calculation function may be defined as follows.
  • the database 100 may store a distance value between waypoint No. 1 and waypoint No. 2 connected to waypoint No. 1, edge information between waypoint No. 1 and waypoint No. 2, latitude data for waypoint No. 2, and Route data can be mapped to waypoint No. 1 and stored.
  • the database 100 stores a distance value between waypoint No. 1 and waypoint No. 3 connected to waypoint No. 1, edge information between waypoint No. 1 and waypoint No. 3, latitude data and route data for waypoint No. 3 can be mapped to waypoint No. 1 and stored.
  • a relationship matrix (or adjacency matrix) indicating whether each node is connected to or not connected to the other node is often used. Therefore, it is possible to express whether each node is connected to which node as a relationship matrix, and then express the relationship matrix as a network graph using, for example, a Python program.
  • the relation matrix information generating unit (not shown) generates relation matrix information indicating whether each waypoint is connected to another waypoint by using the relation information stored in the database 100 . can do.
  • a network graph in which each waypoint created through the relationship matrix information becomes a node and a connection line between each waypoint becomes an edge may be generated.
  • the network graph generator 110 may generate a plurality of network graphs by connecting a plurality of other waypoints connected to each waypoint by using the relationship information and the relationship matrix information stored in the database 100 .
  • the network graph generating unit 110 connects a plurality of different waypoints for each waypoint based on latitude data and longitude data included in information on a plurality of waypoints for each waypoint. You can create a network graph of
  • each of the plurality of waypoints constituting the network graph is a node, and a connection line connecting each node is an edge. That is, the network graph generating unit 110 may generate a network graph including nodes and edges.
  • the network graph generating unit 110 may calculate a distance between waypoints based on latitude data and longitude data of each waypoint connected to each waypoint, and generate a network graph based on the calculated distance between the waypoints.
  • the network graph generating unit 110 may store relationship information and relationship matrix information stored in the database 100 in the database 100 . is used to calculate distance values connecting waypoints 1, 2, 3 and 6, and based on the calculated distance values, waypoints 1, 2, 3 A first network graph connecting the waypoint and waypoint 6 may be generated.
  • the network graph generating unit 110 may generate a plurality of network graphs by connecting a plurality of other waypoints connected for each waypoint by using an optimization algorithm.
  • the network graph generating unit 110 generates a plurality of network graphs by connecting a plurality of other waypoints connected to each waypoint by utilizing weather information on ocean currents, depths, and meteorology of the world provided by the public and private sectors.
  • the network graph generator 110 may give weights to edges between waypoints based on the calculated distances between waypoints. For example, the network graph generating unit 110 may assign a first weight to the edge between the corresponding waypoints because the greater the distance between the calculated waypoints, the higher the fuel consumption and the required sailing time for the vessel to navigate. The network graph generating unit 110 may assign a second weight greater than the first weight to the edge between the waypoints because the fuel consumption and voyage required for the vessel to navigate decreases as the distance between the calculated waypoints decreases. have. As another example, the network graph generator 110 may assign different additional weights or adjust weights to edges between waypoints calculated based on maritime weather information.
  • the weight given to the edge between each waypoint may be utilized as a heuristic distance of the improved A* algorithm (optimized route derivation algorithm). That is, the weight given to the edge between each waypoint may mean a heuristic distance calculated using latitude data and longitude data of each waypoint.
  • the network graph generating unit 110 reflects the marine weather information (eg, sea wind, ocean current, information on the speed and direction of waves, etc.) on the sea to the existing A* algorithm, thereby improving the A* algorithm (optimized route derivation algorithm). ) can be derived.
  • marine weather information eg, sea wind, ocean current, information on the speed and direction of waves, etc.
  • the A* algorithm may be defined as follows.
  • the A* algorithm first selects the node with the smallest expected distance to the target point on the Openlist (ie, f(x), which is the sum of cost + heuristic function).
  • Openlist is a list to which all possible nodes on a path are added, and the expected distance function f(x) is the cost function g(x) corresponding to the sum of distance consumption values of the paths passed so far, and the current point and target.
  • h(x) which is the heruistic function of the estimated distance to the point, it means the estimated distance and fuel consumption for the entire route from the departure port to the arrival port. If the node is the destination node, it means that all path finding has been completed, so the algorithm is terminated.
  • the nodes not belonging to the Closelist are one of the possible paths, so they are added to the Openlist, and the estimated distance f(x) to the destination of the adjacent nodes is calculated. If the neighbor node was already in the Openlist, and the calculated f(x) value is smaller, it means that the current path is more optimal, so the f(x) value is updated, and the neighbor node and the node are set as Parent-Child relationship. connect If the above steps are repeated until the path finding is completed, an optimized path according to the A* algorithm is derived.
  • the network graph generating unit 110 may reflect the estimated sailing time and fuel consumption for each of a plurality of routes corresponding to the plurality of network graphs in the improved A* algorithm. Through this, an optimized route can be derived using the improved A* algorithm.
  • the database 100 stores a plurality of network graphs generated by the network graph generating unit 110, and for each network graph, relationship information related to each network graph, and distances and edges between a plurality of waypoints included in each network graph. Information can be mapped and stored.
  • the port information receiver 120 may receive information on the departure point and the destination of the ship from the user terminal.
  • the ship's departure point information includes a port name corresponding to the departure port from which the ship departs or latitude and longitude information where the departure port is located
  • the ship's destination information includes a port name or Latitude and longitude information where the destination port is located may be included.
  • the network graph selection unit 130 may select one of a plurality of network graphs based on information on the origin and destination.
  • the network graph selection unit 130 may search for information on a waypoint corresponding to the source information and the waypoint corresponding to the destination information using relationship information related to a plurality of network graphs stored in the database 100 .
  • the network graph selection unit 130 may select a plurality of network graphs including a waypoint corresponding to the searched source information and a waypoint corresponding to the destination information from among the plurality of network graphs stored in the database 100 .
  • the network graph selection unit 130 is configured in the database 100 ), a network graph with waypoint 11 as a starting point and waypoint 2374 as a destination among a plurality of network graphs stored in Latitude data and route data of each waypoint can be retrieved.
  • the network graph selection unit 130 may select 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 a departure point and a waypoint corresponding to a destination. For example, the network graph selection unit 130 may search a network graph having the shortest path using a shortest path search algorithm (eg, A* algorithm).
  • a shortest path search algorithm eg, A* algorithm
  • the network graph selection unit 130 may calculate the estimated sailing time and fuel usage information for each network graph with respect to a plurality of network graphs including a waypoint corresponding to a departure point and a waypoint corresponding to a destination.
  • the network graph selection unit 130 extracts a network graph having a distance value equal to or less than a preset threshold value from among a plurality of network graphs including a waypoint corresponding to a departure point and a waypoint corresponding to a destination, and at least one extracted network An optimal network graph may be selected based on the voyage required time and fuel usage information for the graph.
  • the network graph selection unit 130 extracts a network graph having a distance value that is less than or equal to a preset threshold value from among a plurality of network graphs including a waypoint corresponding to a departure point and a waypoint corresponding to a destination, and corresponds to the extracted network graph. It is possible to select an optimal network graph from among the network graphs extracted based on maritime weather information on the route.
  • the marine weather information may include, for example, at least one of wave height, wave direction, wind direction, surface pressure, swell height, swell direction, current, tropical typhoon, and ice cover. .
  • the network graph selection unit 130 extracts a network graph having a distance value that is less than or equal to a preset threshold value from among a plurality of network graphs including a waypoint corresponding to a departure point and a waypoint corresponding to a destination, and corresponds to the extracted network graph. It is possible to select an optimal network graph from among the extracted network graphs based on maritime traffic information on the route.
  • the route information transmitter 140 may transmit information on a route corresponding to a network graph having the selected shortest route to the user terminal. For example, referring to FIG. 4B , the route information transmitter 140 may display a route corresponding to the selected network graph on the map UI and transmit it to the user terminal.
  • the information on the route corresponding to the selected network graph may include, for example, information on the estimated sailing distance according to the route, information on the sailing time, the average sailing speed of the ship, fuel usage information for the operation of the ship, and the like.
  • the information on the route corresponding to the selected network graph may include expected maritime weather information for each flight date, current maritime weather information, maritime traffic information, depth information of the sea on the route, and the like.
  • the weather forecast information providing unit (not shown) reflects the weather forecast information selected by the user terminal among information included in the information on the route corresponding to the selected network graph on the sea of the map and provides it to the user terminal. have.
  • the weather forecast information providing unit (not shown) reflects the current wave height information by changing the color of the sea level on the route corresponding to the selected network graph. may be provided to the user terminal.
  • the weather forecast information providing unit (not shown) provides information on the direction in which waves travel on the sea of the map or wind direction information on the route corresponding to the selected network graph. 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 on the 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 the route from the user terminal.
  • detailed information of the weather forecast information may be provided to the user terminal.
  • the summary information of the weather forecast information for the route may include, for example, a map on which the location of a port corresponding to each departure and destination is displayed, and wind and wave strength information for each date on the route.
  • Detailed information of the weather forecast information for the route includes the port name, latitude and longitude, port country information, local time information, etc.
  • detailed information on the port including the direction and speed of the wind on the route by date. It may include wind weather information, wave weather information including the travel direction and height of waves by date, and visible weather information including current visibility distance information of ports corresponding to departures and destinations.
  • each of the database 100 , the network graph generating unit 110 , the port information receiving unit 120 , the network graph selecting unit 130 , and the route information transmitting unit 140 is implemented separately, or one of them It will be fully understood that the above may be integrated and implemented.
  • FIG. 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.
  • the route determining server 10 may store information on a plurality of waypoints in the database 100 .
  • the information on the plurality of waypoints may include latitude data and longitude data of the waypoints.
  • the route determination server 10 may generate a plurality of network graphs by connecting a plurality of different waypoints for each waypoint based on latitude data and longitude data included in the information on the plurality of waypoints.
  • a plurality of network graphs generated for each waypoint may be stored in the database 100 .
  • steps S501 to S503 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention.
  • some steps may be omitted if necessary, and the order between steps may be changed.
  • FIG. 6 is a flowchart illustrating a method of determining a route of a ship according to an embodiment of the present invention.
  • the route determination server 10 may receive information on a departure point and a destination from the user terminal.
  • the route determination server 10 may select one of a plurality of network graphs stored in the database 100 based on the information on the departure point and the destination.
  • the route determination server 10 may transmit information on a route corresponding to the selected network graph to the user terminal.
  • steps S601 to S607 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention.
  • some steps may be omitted if necessary, and the order between steps may be changed.
  • An embodiment of the present invention may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module 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.

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

A sea route determination server for determining a ship route on the sea may comprise: a database which stores information on multiple waypoints; a network graph generator which, for each of the waypoints, connects the corresponding waypoint to multiple other waypoints on the basis of latitude data and longitude data included in the information on the multiple waypoints to generate multiple network graphs; a harbor information receiver which receives information on a departure and a destination from a user terminal; a network graph selector which selects one network graph from the multiple network graphs on the basis of the information on the departure and the destination; and a sea route information transmitter which transmits information on a sea route corresponding to the selected network graph to the user terminal.

Description

선박의 항로를 결정하는 서버 및 방법Server and method for determining the route of a vessel
본 발명은 선박의 항로를 결정하는 서버 및 방법에 관한 것이다. The present invention relates to a server and method for determining the course of a ship.
선박 항로 문제(Ship Routing Problem)는 기본적으로 경로 최적화 문제로써 이를 해결하기 위한 다양한 알고리즘들이 제시되어 왔다. 예를 들어, 대표적으로 해양 경로 탐색을 위해 TREAD(Traffic Route Extraction and Anomaly Detection) 알고리즘있다. The ship routing problem is basically a route optimization problem, and various algorithms have been proposed to solve it. For example, a typical example is the TREAD (Traffic Route Extraction and Anomaly Detection) algorithm for marine route discovery.
또한, AIS(Automatic Identication System) 기술을 활용하여 기록된 선박 위치 데이터를 비지도 학습하고 이를 통해 효과적인 선박 이동 경로를 예측하고 위험성이 높은 위치를 분류하는 방법이 있다. 이러한 방법은 통상적으로 선박들이 많이 다니는 경로를 분석함으로써 안전한 경로를 탐색하고 이를 추천하는데 유용하지만, 최적의 경로를 제공하지 않을 뿐만 아니라, 달라지는 날씨 및 조류 정보를 반영하지 못한다는 단점이 있다. In addition, there is a method of unsupervised learning of recorded ship location data using AIS (Automatic Identication System) technology, predicting an effective ship movement route through this, and classifying a high-risk location. This method is useful for searching for and recommending a safe route by analyzing the route that ships usually travel, but 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 was a way to approach the ship route optimization problem using the Strength Pareto Evolutionary Algorithm (SPEA2) optimization algorithm. The SPEA2 optimization algorithm is an algorithm designed to solve the multi-objective optimization problem. It is an algorithm that searches a path optimized for multiple goals by considering risk. Although the SPEA2 optimization algorithm is an algorithm that searches for optimal routes under various conditions in consideration of sea wind and current by reflecting weather information, it takes a considerable amount of time to calculate the first set of routes, so there is a limit to using it on an actual ship.
또한, 다익스트라(Dijkstra) 알고리즘을 활용하여 선박의 최단 경로 문제를 해결하려는 시도도 있다. 그러나, 다익스트라 알고리즘은 짧은 거리의 선박 항로만을 계산할 수 있고, 날씨나 조류 정보를 고려할 경우 계산이 너무 복잡해져서 실제로 사용하기 어려운 수준이다. Also, there is an attempt to solve the shortest path problem of a ship by using the Dijkstra algorithm. However, Dijkstra's algorithm can only calculate a short-distance ship route, and when weather or tide information is taken into account, the calculation becomes too complicated to be used in practice.
나아가, 최근에는 다익스트라 알고리즘이 발전된 버전인 A* 알고리즘을 개선하여 해류, 해상 트래픽, 정박 등을 고려한 최적화 경로 탐색 방법이 제안되었다. A* 알고리즘을 이용함으로써 최적의 경로 계산에 대한 효율성이 달성되었지만, A* 알고리즘을 이용한 최적화 경로 탐색 방법은 복잡한 해상 상황을 고려한 경로 최적화라기 보단 단거리 경로에서 충돌 위험, 트래픽, 정박 등의 리스크 최소화의 관점이 고려되었고, 시뮬레이션 역시 굉장히 짧은 구간에서만 이루어져 장거리 운항에 대한 확장 가능성이 낮다. Furthermore, recently, by improving the A* algorithm, which is an advanced version of Dijkstra's algorithm, an optimized route search method in consideration of ocean currents, maritime traffic, and anchoring has been proposed. Although the efficiency of calculating the optimal route was achieved by using the A* algorithm, the optimized route search method using the A* algorithm is more efficient in minimizing risks such as collision risk, traffic, and anchoring in short-distance routes rather than route optimization considering complex sea conditions. The viewpoint was considered, and the simulation was also performed only in a very short section, so the possibility of expansion for long-distance operation was low.
(특허문헌 1) 한국등록특허공보 제10-1556723호 (2015.09.23 공개)(Patent Document 1) Korean Patent Publication No. 10-1556723 (published on September 23, 2015)
본 발명은 해양 기상 데이터를 활용한 인공지능 기반의 선박항로 최적화 서비스를 제공하기 위해 기존의 A* 알고리즘을 이용한 경로 계산에 날씨 및 해풍 정보, 조류 정보를 대입하여 개선된 A* 알고리즘을 도출하고, 개선된 A* 알고리즘을 이용하여 최적의 선박 항로를 제공하고자 한다. The present invention derives an improved A* algorithm by substituting weather, sea wind information, and current information in the route calculation using the existing A* algorithm to provide an artificial intelligence-based ship route optimization service using marine weather data, We want to provide an optimal ship route using the improved A* algorithm.
구체적으로, 본 발명은 복수의 웨이포인트별로 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성하고, 생성된 복수의 네트워크 그래프를 이용하여 최적의 선박 항로를 사용자 단말에게 추천할 수 있다. Specifically, according to the present invention, a plurality of network graphs are generated by connecting a plurality of different waypoints for each of a plurality of waypoints, and an optimal ship route can be recommended to the user terminal by using the plurality of generated network graphs.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다. However, the technical problems to be achieved by the present embodiment are not limited to the technical problems described above, and other technical problems may exist.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 선박의 항로를 결정하는 항로 결정 서버는 복수의 웨이포인트(WayPoint)에 대한 정보를 저장하는 데이터베이스; 상기 복수의 웨이포인트에 대한 정보에 포함된 위도 데이터 및 경도 데이터에 기초하여 각 웨이포인트별로 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성하는 네트워크 그래프 생성부; 사용자 단말로부터 출발지 및 목적지에 대한 정보를 수신하는 항구 정보 수신부; 상기 출발지 및 목적지에 대한 정보에 기초하여 상기 복수의 네트워크 그래프 중 하나를 선택하는 네트워크 그래프 선택부; 및 상기 선택된 네트워크 그래프에 대응하는 항로에 대한 정보를 상기 사용자 단말로 전송하는 항로 정보 전송부를 포함할 수 있다. As a technical means for achieving the above-mentioned technical problem, the route determination server for determining the route of the ship according to the first aspect of the present invention includes a database for storing information about a plurality of waypoints; a network graph generator for generating a plurality of network graphs by connecting a plurality of different waypoints for each waypoint based on latitude data and longitude data included in the information on the plurality of waypoints; a port information receiver configured to receive information on a departure point and a destination from the user terminal; a network graph selection unit for selecting one of the plurality of network graphs based on the information on the origin and destination; and a route information transmitter configured to transmit information on a route corresponding to the selected network graph to the user terminal.
본 발명의 제 2 측면에 따른 항로 결정 서버에 의해 수행되는 선박의 항로를 결정하는 방법은 복수의 웨이포인트(WayPoint)에 대한 정보를 저장하는 단계; 상기 복수의 웨이포인트에 대한 정보에 포함된 위도 데이터 및 경도 데이터에 기초하여 각 웨이포인트별로 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성하는 단계; 사용자 단말로부터 출발지 및 목적지에 대한 정보를 수신하는 단계; 상기 출발지 및 목적지에 대한 정보에 기초하여 상기 복수의 네트워크 그래프 중 하나를 선택하는 단계; 상기 선택된 네트워크 그래프에 대응하는 항로에 대한 정보를 상기 사용자 단말로 전송하는 단계를 포함할 수 있다. A method for determining a route of a ship performed by a route determination server according to a second aspect of the present invention comprises the steps of: storing information about a plurality of waypoints; generating a plurality of network graphs by connecting a plurality of different waypoints for each waypoint based on latitude data and longitude data included in the information on the plurality of waypoints; Receiving information on the origin and destination from the user terminal; selecting one of the plurality of network graphs based on the information on the origin and destination; The method may include transmitting information on a route corresponding to the selected network graph to the user terminal.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary, 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 an optimal ship using the plurality of generated network graphs A route may be recommended to the user terminal. In addition, the present invention can provide the search for the shortest route while minimizing the search in unnecessary parts by setting the direction from the starting point to the target location.
도 1은 본 발명의 일 실시예에 따른, 항로 결정 서버의 블록도이다.1 is a block diagram of a route determination server according to an embodiment of the present invention.
도 2a는 본 발명의 일 실시예에 따른, 데이터베이스에 저장된 복수의 웨이포인트(WayPoint)에 대한 정보를 나타낸 도면이다.2A is a diagram illustrating information on a plurality of waypoints stored in a database according to an embodiment of the present invention.
도 2b는 본 발명의 일 실시예에 따른, 데이터베이스에 저장된 복수의 웨이포인트에 대한 정보를 나타낸 도면이다.2B is a diagram illustrating information on a plurality of waypoints stored in a database according to an embodiment of the present invention.
도 2c는 본 발명의 일 실시예에 따른, 데이터베이스에 저장된 복수의 웨이포인트에 대한 정보를 나타낸 도면이다. 2C is a diagram illustrating information on a plurality of waypoints stored in a database according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른, 복수의 네트워크 그래프를 생성하는 방법을 설명하기 위한 도면이다. 3 is a diagram for explaining a method of generating a plurality of network graphs according to an embodiment of the present invention.
도 4a는 본 발명의 일 실시예에 따른, 선박의 항로 결정 방법을 설명하기 위한 도면이다.4A is a view for explaining a method for determining a route of a ship according to an embodiment of the present invention.
도 4b는 본 발명의 일 실시예에 따른, 선박의 항로 결정 방법을 설명하기 위한 도면이다. 4B is a view for explaining a method of determining a route of a ship according to an embodiment of the present invention.
도 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.
도 6은 본 발명의 일 실시예에 따른, 선박의 항로를 결정하는 방법을 나타낸 흐름도이다. 6 is a flowchart illustrating a method of determining a route of a ship according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement them. However, the present invention may be embodied in several 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 "connected" with another part, this includes not only the case of being "directly connected" but also the case of being "electrically connected" with another element interposed therebetween. . Also, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. In this specification, a "part" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. In addition, one unit may be implemented using two or more hardware, and two or more units may be implemented by one hardware.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다. Some of the operations or functions described as being performed by the terminal or device in this specification may be instead performed by a server connected to the terminal or device. Similarly, 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 server.
이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다. Hereinafter, detailed contents for carrying out the present invention will be described with reference to the accompanying configuration diagram or process flow diagram.
도 1은 본 발명의 일 실시예에 따른, 항로 결정 서버(10)의 블록도이다.1 is a block diagram of a route determination server 10 according to an embodiment of the present invention.
도 1을 참조하면, 항로 결정 서버(10)는 데이터베이스(100), 네트워크 그래프 생성부(110), 항구 정보 수신부(120), 네트워크 그래프 선택부(130) 및 항로 정보 전송부(140)를 포함할 수 있다. 다만, 도 1에 도시된 항로 결정 서버(10)는 본 발명의 하나의 구현 예에 불과하며, 도 에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. Referring to FIG. 1 , the route determining server 10 includes a database 100 , a network graph generating unit 110 , a port information receiving unit 120 , a network graph selecting unit 130 , and a route information transmitting unit 140 . can do. However, the route determination server 10 shown in FIG. 1 is only one implementation example of the present invention, and various modifications are possible based on the components shown in FIG.
이하에서는 도 2a 내지 도 4b를 함께 참조하여 도 1을 설명하기로 한다. Hereinafter, FIG. 1 will be described with reference to FIGS. 2A to 4B together.
데이터베이스(100)는 공공 및 민간에서 제공되는 전 세계 해상에 대한 해상 구역별 해상의 해류, 깊이 및 파고, 풍속, 풍력 등을 포함하는 해상 기상 정보를 수집하여 저장할 수 있다. The database 100 may collect and store offshore meteorological information including ocean currents, depth and wave heights, wind speed, wind power, and the like, for each sea zone for the global sea provided by the public and private sectors.
데이터베이스(100)는 복수의 웨이포인트(WayPoint)에 대한 정보를 저장할 수 있다. 여기서, 복수의 웨이포인트는 복수의 선박이 운항 가능한 복수의 항로에서 교차하는 지점 또는 항로 상의 유의미한 지점을 의미한다. 이러한, 복수의 웨이포인트는 예를 들어, 해상 구역 간에 항해 시에 선박이 지나가는 지점으로서 신규 항구가 건설되거나 신규 항로가 개척되거나, 해상에 인공물 등의 설치로 인해 변경될 수 있다. The database 100 may store information about a plurality of waypoints. Here, the plurality of waypoints means a point at which a plurality of ships intersect in a plurality of navigable routes or a significant point on the route. Such a plurality of waypoints may be changed due to, for example, a point through which a ship passes when sailing between sea zones, when a new port is built or a new route is opened, or an artifact is installed in the sea.
예를 들어, 도 2a를 참조하면, 데이터베이스(100)는 각 웨이포인트 각각에 대한 위도 데이터 및 경로 데이터를 저장하고, 각 웨이포인트별 연결된 인접 웨이포인트 리스트를 저장할 수 있다. 예를 들어, 데이터베이스(100)는 1번 웨이포인트에 대한 위도 데이터 및 경로 데이터를 저장하고, 1번 웨이포인트와 인접한 2번 웨이포인트, 3번 웨이포인트, 6번 웨이포인트를 1번 웨이포인트와 매핑하여 저장할 수 있다. For example, referring to FIG. 2A , the database 100 may store latitude data and route data for each waypoint, and store a list of adjacent waypoints connected for each waypoint. For example, the database 100 stores latitude data and route data for waypoint No. 1, and waypoint No. 2, Waypoint No. 3, Waypoint No. 6 adjacent to Waypoint No. 1 with Waypoint No. 1 It can be mapped and saved.
정보 가공부(미도시)는 데이터베이스(100)에 저장된 각 웨이포인트별로 연결된 인접 웨이포인트 리스트를 멜트(melt) 기법을 통해 각 연결된 웨이포인트에 대한 정보로 세분화하고, 추후 데이터 활용을 위해 가공할 수 있다. The information processing unit (not shown) may subdivide the list of adjacent waypoints connected for each waypoint stored in the database 100 into information about each connected waypoint through a melt technique, and process it for future data utilization. have.
도 2b를 참조하면, 데이터베이스(100)는 각 웨이포인트별로 연결된 다른 웨이포인트 간의 거리값, 연결된 다른 웨이포인트에 대한 위도 데이터 및 경로 데이터, 웨이포인트들 간에 연결된 연결선 정보(엣지 정보)를 포함하는 관계 정보를 각 웨이포인트별로 저장할 수 있다. 여기서, 두 개의 웨이포인트 간의 거리값은 두 개의 웨이포인트 각각의 위도 데이터 및 경도 데이터에 기초하여 기정의된 거리 계산 함수를 통해 계산될 수 있다. 이 때, 기정의된 거리 계산 함수는 다음과 같이 정의될 수 있다. Referring to FIG. 2B , the database 100 includes distance values between other waypoints connected for each waypoint, latitude data and route data for other connected waypoints, and connection line information (edge information) connected between waypoints. Information can be stored for each waypoint. Here, the distance value between the two waypoints may be calculated through a predefined distance calculation function based on latitude data and longitude data of each of the two waypoints. In this case, the predefined distance calculation function may be defined as follows.
<기정의된 거리 계산 함수><Predefined distance calculation function>
Figure PCTKR2020017171-appb-I000001
Figure PCTKR2020017171-appb-I000001
예를 들어, 데이터베이스(100)는 1번 웨이포인트 및 1번 웨이포인트와 연결된 2번 웨이포인트 간의 거리값, 1번 웨이포인트 및 2번 웨이포인트 간의 엣지 정보, 2번 웨이포인트에 대한 위도 데이터 및 경로 데이터를 1번 웨이포인트에 매핑하여 저장할 수 있다. 또한, 데이터베이스(100)는 1번 웨이포인트 및 1번 웨이포인트와 연결된 3번 웨이포인트 간의 거리값, 1번 웨이포인트 및 3번 웨이포인트 간의 엣지 정보, 3번 웨이포인트에 대한 위도 데이터 및 경로 데이터를 1번 웨이포인트에 매핑하여 저장할 수 있다. For example, the database 100 may store a distance value between waypoint No. 1 and waypoint No. 2 connected to waypoint No. 1, edge information between waypoint No. 1 and waypoint No. 2, latitude data for waypoint No. 2, and Route data can be mapped to waypoint No. 1 and stored. In addition, the database 100 stores a distance value between waypoint No. 1 and waypoint No. 3 connected to waypoint No. 1, edge information between waypoint No. 1 and waypoint No. 3, latitude data and route data for waypoint No. 3 can be mapped to waypoint No. 1 and stored.
한편, 보통 소프트웨어 등에서 네트워크 그래프를 그릴 때에는 각 노드가 상대 노드와 연결되어 있는지, 아니면 연결되어 있지 않은지를 나타내는 관계 매트릭스(또는 인접(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 or not connected to the other node is often used. Therefore, it is possible to express whether each node is connected to which node as a relationship matrix, and then express the relationship matrix as a network graph using, for example, a Python program.
도 2c를 참조하면, 관계 매트릭스 정보 생성부(미도시)는 데이터베이스(100)에 저장된 관계 정보를 이용하여 각 웨이포인트별로 다른 웨이포인트와 연결되어 있는지 여부를 나타내는 관계 매트릭스(Relation Matrix) 정보를 생성할 수 있다. 이 때, 관계 매트릭스 정보를 통해 만들어진 각 웨이포인트가 노드가 되고, 각 웨이포인트 간의 연결선이 엣지가 되는 네트워크 그래프가 생성될 수 있다. Referring to FIG. 2C , the relation matrix information generating unit (not shown) generates relation matrix information indicating whether each waypoint is connected to another waypoint by using the relation information stored in the database 100 . can do. In this case, a network graph in which each waypoint created through the relationship matrix information becomes a node and a connection line between each waypoint becomes an edge may be generated.
네트워크 그래프 생성부(110)는 데이터베이스(100)에 저장된 관계 정보 및 관계 매트릭스 정보를 이용하여 각 웨이포인트별로 연결된 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성할 수 있다. The network graph generator 110 may generate a plurality of network graphs by connecting a plurality of other waypoints connected to each waypoint by using the relationship information and the relationship matrix information stored in the database 100 .
도 3를 함께 참조하면, 네트워크 그래프 생성부(110)는 각 웨이포인트별로 복수의 웨이포인트에 대한 정보에 포함된 위도 데이터 및 경도 데이터에 기초하여 각 웨이포인트별로 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성할 수 있다. Referring to FIG. 3 together, the network graph generating unit 110 connects a plurality of different waypoints for each waypoint based on latitude data and longitude data included in information on a plurality of waypoints for each waypoint. You can create a network graph of
여기서, 네트워크 그래프를 구성하는 복수의 웨이포인트 각각은 노드이고, 각 노드를 연결하는 연결선은 엣지이다. 즉, 네트워크 그래프 생성부(110)는 노드 및 엣지를 포함하는 네트워크 그래프를 생성할 수 있다. Here, each of the plurality of waypoints constituting the network graph is a node, and a connection line connecting each node is an edge. That is, the network graph generating unit 110 may generate a network graph including nodes and edges.
네트워크 그래프 생성부(110)는 각 웨이포인트별로 연결된 웨이포인트 각각의 위도 데이터 및 경도 데이터에 기초하여 웨이포인트 간의 거리를 계산하고, 계산된 웨이포인트 간의 거리에 기초하여 네트워크 그래프를 생성할 수 있다. The network graph generating unit 110 may calculate a distance between waypoints based on latitude data and longitude data of each waypoint connected to each waypoint, and generate a network graph based on the calculated distance between the waypoints.
예를 들어, 1번 웨이포인트와 연결된 웨이포인트가 2번 웨이포인트, 3번 웨이포인트, 6번 웨이포인트인 경우, 네트워크 그래프 생성부(110)는 데이터베이스(100)에 저장된 관계 정보 및 관계 매트릭스 정보를 이용하여 1번 웨이포인트, 2번 웨이포인트, 3번 웨이포인트 및 6번 웨이포인트를 연결하는 거리값을 계산하고, 계산된 거리값에 기초하여 1번 웨이포인트, 2번 웨이포인트, 3번 웨이포인트 및 6번 웨이포인트를 연결하는 제 1 네트워크 그래프를 생성할 수 있다. For example, when waypoints connected to waypoint No. 1 are waypoint 2, waypoint 3, and waypoint 6, the network graph generating unit 110 may store relationship information and relationship matrix information stored in the database 100 in the database 100 . is used to calculate distance values connecting waypoints 1, 2, 3 and 6, and based on the calculated distance values, waypoints 1, 2, 3 A first network graph connecting the waypoint and waypoint 6 may be generated.
네트워크 그래프 생성부(110)는 그래프 경로 최적화 문제로 항로 문제를 변경한 후, 최적화 알고리즘을 사용하여 각 웨이포인트별로 연결된 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성할 수 있다. After changing the route problem to the graph route optimization problem, the network graph generating unit 110 may generate a plurality of network graphs by connecting a plurality of other waypoints connected for each waypoint by using an optimization algorithm.
네트워크 그래프 생성부(110)는 공공 및 민간에서 제공되는 전 세계 해상의 해류, 깊이, 기상에 대한 기상 정보를 활용하여 각 웨이포인트별로 연결된 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성할 수 있다. The network graph generating unit 110 generates a plurality of network graphs by connecting a plurality of other waypoints connected to each waypoint by utilizing weather information on ocean currents, depths, and meteorology of the world provided by the public and private sectors. can
네트워크 그래프 생성부(110)는 계산된 웨이포인트 간의 거리에 기초하여 웨이포인트 간의 엣지에 가중치를 부여할 수 있다. 예를 들어, 네트워크 그래프 생성부(110)는 계산된 웨이포인트 간의 거리가 클수록 선박이 운항하는데 소비되는 연료 사용량 및 항해 소요 시간이 높으므로 해당 웨이포인트 간의 엣지에 제 1 가중치를 부여할 수 있다. 네트워크 그래프 생성부(110)는 계산된 웨이포인트 간의 거리가 작을수록 선박이 운항하는데 소비되는 연료 사용량 및 항해 소요 시간이 줄어들므로 해당 웨이포인트 간의 엣지에 제 1 가중치보다 큰 제 2 가중치를 부여할 수 있다. 다른 예로, 네트워크 그래프 생성부(110)는 해상 기상 정보에 기초하여 계산된 웨이포인트 간의 엣지에 서로 다른 추가 가중치를 부여하거나 가중치를 조정할 수도 있다. The network graph generator 110 may give weights to edges between waypoints based on the calculated distances between waypoints. For example, the network graph generating unit 110 may assign a first weight to the edge between the corresponding waypoints because the greater the distance between the calculated waypoints, the higher the fuel consumption and the required sailing time for the vessel to navigate. The network graph generating unit 110 may assign a second weight greater than the first weight to the edge between the waypoints because the fuel consumption and voyage required for the vessel to navigate decreases as the distance between the calculated waypoints decreases. have. As another example, the network graph generator 110 may assign different additional weights or adjust weights to edges between waypoints calculated based on maritime weather information.
여기서, 각 웨이포인트(노드) 간 엣지에 부여된 가중치는 개선된 A* 알고리즘(최적화된 항로 도출 알고리즘)의 휴리스틱(heuristic) 거리로 활용될 수 있다. 즉, 각 웨이포인트 간 엣지에 부여된 가중치는 각 웨이포인트 각각의 위도 데이터 및 경도 데이터를 이용하여 산출된 휴리스틱 거리를 의미할 수 있다. Here, the weight given to the edge between each waypoint (node) may be utilized as a heuristic distance of the improved A* algorithm (optimized route derivation algorithm). That is, the weight given 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 graph generating unit 110 reflects the marine weather information (eg, sea wind, ocean current, information on the speed and direction of waves, etc.) on the sea to the existing A* algorithm, thereby improving the A* algorithm (optimized route derivation algorithm). ) can be derived.
여기서, A* 알고리즘은 다음과 같이 정의될 수 있다. Here, the A* algorithm may be defined as follows.
< A* 알고리즘>< A* Algorithm >
Figure PCTKR2020017171-appb-I000002
Figure PCTKR2020017171-appb-I000002
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 (ie, f(x), which is the sum of cost + heuristic function). Here, Openlist is a list to which all possible nodes on a path are added, and the expected distance function f(x) is the cost function g(x) corresponding to the sum of distance consumption values of the paths passed so far, and the current point and target. As the sum of h(x), which is the heruistic function of the estimated distance to the point, it means the estimated distance and fuel consumption for the entire route from the departure port to the arrival port. If the node is the destination node, it means that all path finding has been completed, so the algorithm is terminated. Among the nodes adjacent to the corresponding node, the nodes not belonging to the Closelist are one of the possible paths, so they are added to the Openlist, and the estimated distance f(x) to the destination of the adjacent nodes is calculated. If the neighbor node was already in the Openlist, and the calculated f(x) value is smaller, it means that the current path is more optimal, so the f(x) value is updated, and the neighbor node and the node are set as Parent-Child relationship. connect If the above steps are repeated until the path finding is completed, an optimized path according to the A* algorithm is derived.
또한, 네트워크 그래프 생성부(110)는 복수의 네트워크 그래프에 대응되는 복수의 항로별로 예상되는 항해 소요 시간 및 연료 사용량을 개선된 A* 알고리즘에 반영할 수 있다. 이를 통해, 개선된 A* 알고리즘을 이용하여 최적화된 항로를 도출할 수 있다. In addition, the network graph generating unit 110 may reflect the estimated sailing time and fuel consumption for each of a plurality of routes corresponding to the plurality of network graphs in the improved A* algorithm. Through this, an optimized route can be derived using the improved A* algorithm.
데이터베이스(100)는 네트워크 그래프 생성부(110)에 의해 생성된 복수의 네트워크 그래프를 저장하고, 각 네트워크 그래프별로 각 네트워크 그래프와 관련된 관계 정보 및 각 네트워크 그래프에 포함된 복수의 웨이포인트 간의 거리 및 엣지 정보를 매핑하여 저장할 수 있다. The database 100 stores a plurality of network graphs generated by the network graph generating unit 110, and for each network graph, relationship information related to each network graph, and distances and edges between a plurality of waypoints included in each network graph. Information can be mapped and stored.
항구 정보 수신부(120)는 사용자 단말로부터 선박의 출발지 및 목적지에 대한 정보를 수신할 수 있다. 예를 들면, 선박의 출발지 정보에는 선박이 출발하는 출발지 항구에 해당하는 항구명 또는 출발지 항구가 위치하는 위경도 정보가 포함되고, 선박의 목적지 정보에는 선박이 도착하는 목적지 항구에 해당하는 항구명 또는 목적지 항구가 위치하는 위경도 정보가 포함될 수 있다.The port information receiver 120 may receive information on the departure point and the destination of the ship from the user terminal. For example, the ship's departure point information includes a port name corresponding to the departure port from which the ship departs or latitude and longitude information where the departure port is located, and the ship's destination information includes a port name or Latitude and longitude information where the destination port is located may be included.
네트워크 그래프 선택부(130)는 출발지 및 목적지에 대한 정보에 기초하여 복수의 네트워크 그래프 중 하나를 선택할 수 있다. The network graph selection unit 130 may select one of a plurality of network graphs based on information on the origin and destination.
예를 들어, 네트워크 그래프 선택부(130)는 데이터베이스(100)에 저장된 복수의 네트워크 그래프와 관련된 관계 정보를 이용하여 출발지 정보에 대응하는 웨이포인트 및 목적지 정보에 대응하는 웨이포인트에 대한 정보를 검색할 수 있다. 또한, 네트워크 그래프 선택부(130)는 데이터베이스(100)에 저장된 복수의 네트워크 그래프 중 검색된 출발지 정보에 대응하는 웨이포인트 및 목적지 정보에 대응하는 웨이포인트를 포함하는 복수의 네트워크 그래프를 선택할 수 있다. For example, the network graph selection unit 130 may search for information on a waypoint corresponding to the source information and the waypoint corresponding to the destination information using relationship information related to a plurality of network graphs stored in the database 100 . can Also, the network graph selection unit 130 may select a plurality of network graphs including a waypoint corresponding to the searched source information and a waypoint corresponding to the destination information from among the plurality of network graphs stored in the database 100 .
예를 들어, 도 4a를 참조하면, 출발지 정보에 대응하는 웨이포인트가 11번 웨이포인트이고, 목적지 정보에 대응하는 웨이포인트가 2374번 웨이포인트인 경우, 네트워크 그래프 선택부(130)는 데이터베이스(100)에 저장된 복수의 네트워크 그래프 중 11 번 웨이포인트를 출발지로하고 2374번 웨이포인트를 목적지로 하는 네트워크 그래프를 검색하고, 검색된 네트워크 그래프에 포함된 복수의 웨이포인트 간의 거리값과 함께 검색된 네트워크 그래프에 포함된 각 웨이포인트의 위도 데이터 및 경로 데이터를 검색할 수 있다. For example, referring to FIG. 4A , when the waypoint corresponding to the departure point information is the waypoint number 11 and the waypoint corresponding to the destination information is the waypoint number 2374, the network graph selection unit 130 is configured in the database 100 ), a network graph with waypoint 11 as a starting point and waypoint 2374 as a destination among a plurality of network graphs stored in Latitude data and route data of each waypoint can be retrieved.
네트워크 그래프 선택부(130)는 출발지에 대응하는 웨이포인트 및 목적지에 대응하는 웨이포인트를 포함하는 복수의 네트워크 그래프에 포함된 복수의 엣지의 가중치에 기초하여 최단 경로를 갖는 네트워크 그래프를 선택할 수 있다. 예를 들어, 네트워크 그래프 선택부(130)는 최단 경로 탐색 알고리즘(예컨대, A* 알고리즘)을 이용하여 최단 경로를 갖는 네트워크 그래프를 검색할 수 있다. The network graph selection unit 130 may select 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 a departure point and a waypoint corresponding to a destination. For example, the network graph selection unit 130 may search a network graph having the shortest path using a shortest path search algorithm (eg, A* algorithm).
네트워크 그래프 선택부(130)는 출발지에 대응하는 웨이포인트 및 목적지에 대응하는 웨이포인트를 포함하는 복수의 네트워크 그래프에 대하여 각 네트워크 그래프별로 예상되는 항해 소요 시간 및 연료 사용량 정보를 계산할 수 있다. The network graph selection unit 130 may calculate the estimated sailing time and fuel usage information for each network graph with respect to a plurality of network graphs including a waypoint corresponding to a departure point and a waypoint corresponding to a destination.
네트워크 그래프 선택부(130)는 출발지에 대응하는 웨이포인트 및 목적지에 대응하는 웨이포인트를 포함하는 복수의 네트워크 그래프 중 기설정된 임계값 이하인 거리값을 갖는 네트워크 그래프를 추출하고, 추출된 적어도 하나의 네트워크 그래프에 대한 항해 소요 시간 및 연료 사용량 정보에 기초하여 최적의 네트워크 그래프를 선택할 수 있다. The network graph selection unit 130 extracts a network graph having a distance value equal to or less than a preset threshold value from among a plurality of network graphs including a waypoint corresponding to a departure point and a waypoint corresponding to a destination, and at least one extracted network An optimal network graph may be selected based on the voyage required time and fuel usage information for the graph.
네트워크 그래프 선택부(130)는 출발지에 대응하는 웨이포인트 및 목적지에 대응하는 웨이포인트를 포함하는 복수의 네트워크 그래프 중 기설정된 임계값 이하인 거리값을 갖는 네트워크 그래프를 추출하고, 추출된 네트워크 그래프에 대응하는 항로 상의 해상 기상 정보에 기초하여 추출된 네트워크 그래프 중 최적의 네트워크 그래프를 선택할 수 있다. 여기서, 해상 기상 정보는 예를 들어, 파고, 파향, 풍향, 표면압, 너울(swell) 높이, 너울 방향, 커런트(current), 열대성 태풍 및 아이스 커버(ice cover) 중 적어도 하나를 포함할 수 있다.The network graph selection unit 130 extracts a network graph having a distance value that is less than or equal to a preset threshold value from among a plurality of network graphs including a waypoint corresponding to a departure point and a waypoint corresponding to a destination, and corresponds to the extracted network graph. It is possible to select an optimal network graph from among the network graphs extracted based on maritime weather information on the route. Here, the marine weather information may include, for example, at least one of wave height, wave direction, wind direction, surface pressure, swell height, swell direction, current, tropical typhoon, and ice cover. .
네트워크 그래프 선택부(130)는 출발지에 대응하는 웨이포인트 및 목적지에 대응하는 웨이포인트를 포함하는 복수의 네트워크 그래프 중 기설정된 임계값 이하인 거리값을 갖는 네트워크 그래프를 추출하고, 추출된 네트워크 그래프에 대응하는 항로 상의 해상 트래픽 정보에 기초하여 추출된 네트워크 그래프 중 최적의 네트워크 그래프를 선택할 수 있다.The network graph selection unit 130 extracts a network graph having a distance value that is less than or equal to a preset threshold value from among a plurality of network graphs including a waypoint corresponding to a departure point and a waypoint corresponding to a destination, and corresponds to the extracted network graph. It is possible to select an optimal network graph from among the extracted network graphs based on maritime traffic information on the route.
항로 정보 전송부(140)는 선택된 최단 경로를 갖는 네트워크 그래프에 대응하는 항로에 대한 정보를 사용자 단말로 전송할 수 있다. 예를 들어, 도 4b를 참조하면, 항로 정보 전송부(140)는 선택된 네트워크 그래프에 대응하는 항로를 지도 UI 상에 표시하여 사용자 단말에게 전송할 수 있다. The route information transmitter 140 may transmit information on a route corresponding to a network graph having the selected shortest route to the user terminal. For example, referring to FIG. 4B , the route information transmitter 140 may display a route corresponding to the selected network graph on the map UI and transmit it to the user terminal.
여기서, 선택된 네트워크 그래프에 대응하는 항로에 대한 정보에는 예를 들어, 항로에 따라 예상되는 항해 거리 정보, 항해 시간 정보, 선박의 평균 운항 속도, 선박의 운항에 대한 연료 사용량 정보 등이 포함될 수 있다. 또한, 선택된 네트워크 그래프에 대응하는 항로에 대한 정보에는 운항 날짜별 예상 해상 기상 정보, 현재 해상 기상 정보, 해상 트래픽 정보, 항로 상의 해상의 깊이 정보 등이 포함될 수 있다. Here, the information on the route corresponding to the selected network graph may include, for example, information on the estimated sailing distance according to the route, information on the sailing time, the average sailing speed of the ship, fuel usage information for the operation of the ship, and the like. In addition, the information on the route corresponding to the selected network graph may include expected maritime weather information for each flight date, current maritime weather information, maritime traffic information, depth information of the sea on the route, and the like.
예를 들면, 기상 예보 정보 제공부(미도시)는 선택된 네트워크 그래프에 대응하는 항로에 대한 정보에 포함된 정보 중 사용자 단말에 의해 선택된 기상 예보 정보를 지도의 해상에 반영하여 사용자 단말에게 제공할 수 있다. For example, the weather forecast information providing unit (not shown) reflects the weather forecast information selected by the user terminal among information included in the information on the route corresponding to the selected network graph on the sea of the map and provides it to the user terminal. have.
예를 들면, 사용자 단말에서 해상의 파고에 대한 정보를 요청한 경우, 기상 예보 정보 제공부(미도시)는 선택된 네트워크 그래프에 대응하는 항로 상에 대하여 해수면의 색상 변화로 현재 파도의 높이 정보를 반영한 지도를 사용자 단말에게 제공할 수 있다. 사용자 단말에서 해상의 파향 또는 풍향에 대한 정보를 요청한 경우, 기상 예보 정보 제공부(미도시)는 선택된 네트워크 그래프에 대응하는 항로 상에 대하여 지도의 해상에 파도가 진행하는 방향 또는 바람의 방향 정보를 표시하여 사용자 단말에게 제공할 수 있다. For example, when the user terminal requests information on the wave height of the sea, the weather forecast information providing unit (not shown) reflects the current wave height information by changing the color of the sea level on the route corresponding to the selected network graph. may be provided to the user terminal. When the user terminal requests information on the wave direction or the wind direction in the sea, the weather forecast information providing unit (not shown) provides information on the direction in which waves travel on the sea of the map or wind direction information on the route corresponding to the selected network graph. 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 on the 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 the route from the user terminal. Upon receiving a request for detailed information of the weather forecast information for , detailed information of the 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 on which the location of a port corresponding to each departure and destination is displayed, and wind and wave strength information for each date on the route. Detailed information of the weather forecast information for the route includes the port name, latitude and longitude, port country information, local time information, etc. corresponding to the departure point and destination, detailed information on the port including the direction and speed of the wind on the route by date. It may include wind weather information, wave weather information including the travel direction and height of waves by date, and visible weather information including current visibility distance information of ports corresponding to departures and destinations.
한편, 당업자라면, 데이터베이스(100), 네트워크 그래프 생성부(110), 항구 정보 수신부(120), 네트워크 그래프 선택부(130) 및 항로 정보 전송부(140) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다. Meanwhile, for those skilled in the art, each of the database 100 , the network graph generating unit 110 , the port information receiving unit 120 , the network graph selecting unit 130 , and the route information transmitting unit 140 is implemented separately, or one of them It will be fully understood that the above may be integrated and implemented.
도 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 route determining server 10 may store information on a plurality of waypoints in the database 100 . Here, the information on the plurality of waypoints may include latitude data and longitude data of the waypoints.
단계 S503에서 항로 결정 서버(10)는 복수의 웨이포인트에 대한 정보에 포함된 위도 데이터 및 경도 데이터에 기초하여 각 웨이포인트별로 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성할 수 있다. 이 때, 각 웨이포인트별로 생성된 복수의 네트워크 그래프는 데이터베이스(100)에 저장될 수 있다. In step S503, the route determination server 10 may generate a plurality of network graphs by connecting a plurality of different waypoints for each waypoint based on latitude data and longitude data included in the information on the plurality of waypoints. In this case, a plurality of network graphs generated for each waypoint may be stored in the database 100 .
상술한 설명에서, 단계 S501 내지 S503는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the above description, steps S501 to S503 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted if necessary, and the order between steps may be changed.
도 6은 본 발명의 일 실시예에 따른, 선박의 항로를 결정하는 방법을 나타낸 흐름도이다. 6 is a flowchart illustrating a method of determining a route of a ship according to an embodiment of the present invention.
도 6을 참조하면, 단계 S601에서 항로 결정 서버(10)는 사용자 단말로부터 출발지 및 목적지에 대한 정보를 수신할 수 있다. Referring to FIG. 6 , in step S601 , the route determination server 10 may receive information on a departure point and a destination from the user terminal.
단계 S603에서 항로 결정 서버(10)는 출발지 및 목적지에 대한 정보에 기초하여 데이터베이스(100)에 저장된 복수의 네트워크 그래프 중 하나를 선택할 수 있다. In step S603, the route determination server 10 may select one of a plurality of network graphs stored in the database 100 based on the information on the departure point and the destination.
단계 S605에서 항로 결정 서버(10)는 선택된 네트워크 그래프에 대응하는 항로에 대한 정보를 사용자 단말에게 전송할 수 있다. In step S605, the route determination server 10 may transmit information on a route corresponding to the selected network graph to the user terminal.
상술한 설명에서, 단계 S601 내지 S607은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the above description, steps S601 to S607 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted if necessary, and the order between steps may be changed.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. An embodiment of the present invention may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module 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 illustration, and those of ordinary skill in the art to which the present invention pertains 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, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a dispersed form, and likewise components described as distributed may be implemented in a combined form.
본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다. The scope of the present invention is indicated by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. .

Claims (12)

  1. 선박의 항로를 결정하는 항로 결정 서버에 있어서,In the route determination server for determining the route of the ship,
    복수의 웨이포인트(WayPoint)에 대한 정보를 저장하는 데이터베이스;a database for storing information about a plurality of waypoints;
    상기 복수의 웨이포인트에 대한 정보에 포함된 위도 데이터 및 경도 데이터에 기초하여 각 웨이포인트별로 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성하는 네트워크 그래프 생성부;a network graph generator for generating a plurality of network graphs by connecting a plurality of different waypoints for each waypoint based on latitude data and longitude data included in the information on the plurality of waypoints;
    사용자 단말로부터 출발지 및 목적지에 대한 정보를 수신하는 항구 정보 수신부; a port information receiver configured to receive information on a departure point and a destination from the user terminal;
    상기 출발지 및 목적지에 대한 정보에 기초하여 상기 복수의 네트워크 그래프 중 하나를 선택하는 네트워크 그래프 선택부; 및a network graph selection unit for selecting one of the plurality of network graphs based on the information on the origin and destination; and
    상기 선택된 네트워크 그래프에 대응하는 항로에 대한 정보를 상기 사용자 단말로 전송하는 항로 정보 전송부A route information transmitter for transmitting information on a route corresponding to the selected network graph to the user terminal
    를 포함하는 것인, 항로 결정 서버.That comprising a, route determination server.
  2. 제 1 항에 있어서, The method of claim 1,
    상기 복수의 웨이포인트 각각은 노드이고, 각 노드를 연결하는 연결선은 엣지이고, Each of the plurality of waypoints is a node, and a connecting line connecting each node is an edge,
    상기 네트워크 그래프 생성부는 상기 노드 및 엣지를 포함하는 네트워크 그래프를 생성하는 것인, 항로 결정 서버. The network graph generating unit will generate a network graph including the node and the edge, the route determination server.
  3. 제 2 항에 있어서, 3. The method of claim 2,
    상기 네트워크 그래프 생성부는 The network graph generating unit
    상기 복수의 웨이포인트 각각의 위도 데이터 및 경도 데이터에 기초하여 웨이포인트 간의 거리를 계산하고, 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.
  4. 제 3 항에 있어서, 4. The method of claim 3,
    상기 네트워크 그래프 생성부는 The network graph generating unit
    상기 웨이포인트 간의 거리에 기초하여 상기 엣지에 가중치를 부여하는 것인, 항로 결정 서버.The route determination server, wherein a weight is given to the edge based on the distance between the waypoints.
  5. 제 3 항에 있어서, 4. The method of claim 3,
    상기 데이터베이스는 각 네트워크 그래프별로 각 네트워크 그래프에 포함된 복수의 웨이포인트 간의 거리를 매핑하여 저장하는 것인, 항로 결정 서버. Wherein the database maps and stores the distances between a plurality of waypoints included in each network graph for each network graph.
  6. 제 4 항에 있어서, 5. The method of claim 4,
    상기 네트워크 그래프 선택부는 상기 출발지에 대응하는 웨이포인트 및 상기 목적지에 대응하는 웨이포인트를 포함하는 복수의 네트워크 그래프에 포함된 복수의 엣지의 가중치에 기초하여 최단 경로를 갖는 네트워크 그래프를 선택하는 것인, 항로 결정 서버. The network graph selection unit selects a network graph having a shortest path based on weights of a plurality of edges included in a plurality of network graphs including a waypoint corresponding to the source and a waypoint corresponding to the destination, routing server.
  7. 항로 결정 서버에 의해 수행되는 선박의 항로를 결정하는 방법에 있어서,In the method of determining the route of a ship performed by the route determination server,
    복수의 웨이포인트(WayPoint)에 대한 정보를 저장하는 단계;storing information about a plurality of waypoints;
    상기 복수의 웨이포인트에 대한 정보에 포함된 위도 데이터 및 경도 데이터에 기초하여 각 웨이포인트별로 복수의 다른 웨이포인트를 연결하여 복수의 네트워크 그래프를 생성하는 단계;generating a plurality of network graphs by connecting a plurality of different waypoints for each waypoint based on latitude data and longitude data included in the information on the plurality of waypoints;
    사용자 단말로부터 출발지 및 목적지에 대한 정보를 수신하는 단계; Receiving information on the origin and destination from the user terminal;
    상기 출발지 및 목적지에 대한 정보에 기초하여 상기 복수의 네트워크 그래프 중 하나를 선택하는 단계;selecting one of the plurality of network graphs based on the information on the origin and destination;
    상기 선택된 네트워크 그래프에 대응하는 항로에 대한 정보를 상기 사용자 단말로 전송하는 단계Transmitting information on a route corresponding to the selected network graph to the user terminal
    를 포함하는 것인, 항로 결정 방법. That comprising a, route determination method.
  8. 제 7 항에 있어서, 8. The method of claim 7,
    상기 복수의 웨이포인트 각각은 노드이고, 각 노드를 연결하는 연결선은 엣지이고, Each of the plurality of waypoints is a node, and a connecting line connecting each node is an edge,
    상기 복수의 네트워크 그래프를 생성하는 단계는 The step of generating the plurality of network graphs
    상기 노드 및 엣지를 포함하는 네트워크 그래프를 생성하는 단계를 포함하는 것인, 항로 결정 방법.A method for determining a route comprising generating a network graph including the node and the edge.
  9. 제 8 항에 있어서, 9. The method of claim 8,
    상기 복수의 네트워크 그래프를 생성하는 단계는The step of generating the plurality of network graphs
    상기 복수의 웨이포인트 각각의 위도 데이터 및 경도 데이터에 기초하여 웨이포인트 간의 거리를 계산하는 단계 및 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.
  10. 제 9 항에 있어서, 10. The method of claim 9,
    상기 복수의 네트워크 그래프를 생성하는 단계는The step of generating the plurality of network graphs
    상기 웨이포인트 간의 거리에 기초하여 상기 엣지에 가중치를 부여하는 단계를 포함하는 것인, 항로 결정 방법.and weighting the edge based on the distance between the waypoints.
  11. 제 9 항에 있어서, 10. The method of claim 9,
    각 네트워크 그래프별로 각 네트워크 그래프에 포함된 복수의 웨이포인트 간의 거리를 매핑하여 저장하는 단계를 더 포함하는 것인, 항로 결정 방법.The method further comprising the step of mapping and storing distances between a plurality of waypoints included in each network graph for each network graph for each network graph.
  12. 제 10 항에 있어서, 11. The method of claim 10,
    상기 선택하는 단계는 The selecting step
    상기 출발지에 대응하는 웨이포인트 및 상기 목적지에 대응하는 웨이포인트를 포함하는 복수의 네트워크 그래프에 포함된 복수의 엣지의 가중치에 기초하여 최단 경로를 갖는 네트워크 그래프를 선택하는 단계를 포함하는 것인, 항로 결정 방법.Selecting a network graph having a shortest path based on weights of a plurality of edges included in a plurality of network graphs including a waypoint corresponding to the departure point and a waypoint corresponding to the destination How to decide.
PCT/KR2020/017171 2020-11-27 2020-11-27 Server and method for determination of ship route WO2022114302A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0162953 2020-11-27
KR1020200162953A KR102514765B1 (en) 2020-11-27 2020-11-27 Method and server for providing course information of vessel

Publications (1)

Publication Number Publication Date
WO2022114302A1 true WO2022114302A1 (en) 2022-06-02

Family

ID=81755761

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/017171 WO2022114302A1 (en) 2020-11-27 2020-11-27 Server and method for determination of ship route

Country Status (2)

Country Link
KR (1) KR102514765B1 (en)
WO (1) WO2022114302A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013104690A (en) * 2011-11-10 2013-05-30 Mitsui Eng & Shipbuild Co Ltd Optimum ship route calculation system for vessels, operation supporting system for vessels, optimum ship route calculation method for vessels, and operation supporting method for vessels
JP2014206452A (en) * 2013-04-12 2014-10-30 古野電気株式会社 Route display device and route display method
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
KR20190020518A (en) * 2017-08-21 2019-03-04 주식회사 웨더아이 Server, user device and method for providing vessel route determination service
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101556723B1 (en) 2013-12-20 2015-10-02 삼성중공업 주식회사 Optimal route determination device for ship
KR20160022990A (en) * 2014-08-20 2016-03-03 현대중공업 주식회사 Method of providing ship navigation information, apparatus performing the same and storage media storing the same
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013104690A (en) * 2011-11-10 2013-05-30 Mitsui Eng & Shipbuild Co Ltd Optimum ship route calculation system for vessels, operation supporting system for vessels, optimum ship route calculation method for vessels, and operation supporting method for vessels
JP2014206452A (en) * 2013-04-12 2014-10-30 古野電気株式会社 Route display device and route display method
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
KR20190020518A (en) * 2017-08-21 2019-03-04 주식회사 웨더아이 Server, user device and method for providing vessel route determination service
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
KR102514765B1 (en) 2023-03-29
KR20220074439A (en) 2022-06-03

Similar Documents

Publication Publication Date Title
KR102031151B1 (en) Method for providing route of vessel
CN107289947A (en) A kind of boat-carrying intelligent gas is as navigation system
KR101850866B1 (en) See path calculation method of vessel
KR102215520B1 (en) Method and server for providing course information of vessel including coast weather information
CN107798185A (en) A kind of course line automated design system and its construction method based on ECDIS
US20140222332A1 (en) Mobile terminal, electronic navigational chart server, and method for updating electronic navigational chart based on crowdsourcing thereof
KR101982582B1 (en) System for evaluation of vessel based by automatic identification system data and marine environment data connected big data
JP6959416B2 (en) Submarine cable route planning tool
KR101789808B1 (en) Ship operation index forecasting apparatus and the method thereof
CN111928855A (en) Automatic shortest route planning method based on AIS data
CN109857117B (en) Unmanned ship cluster formation method based on distributed pattern matching
WO2022114302A1 (en) Server and method for determination of ship route
WO2019103169A1 (en) Method for controlling safety speed of ice-breaking vessel and vessel employing same
WO2011021776A2 (en) Apparatus for estimating energy consumption
KR101978065B1 (en) Apparatus and method for providing maritime communication service based on multi communication mode
WO2022139021A1 (en) System for managing safe operation of ship by using augmented reality
KR102412419B1 (en) A Method for Providing a Safety Supervising Service Based on a Next Generation Electronic Chart System
CN110247850B (en) Ship networking protocol implementation method based on dynamic routing table
CN110766187B (en) Path planning method, device, server and storage medium
Loeches et al. METOC-driven Vessel Interdiction System (MVIS): Supporting decision making in Command and Control (C2) systems
CN108413980B (en) Traffic itinerant path planning method for reducing path branches
KR101991101B1 (en) Server, user device and method for providing vessel route determination service
WO2015194912A1 (en) Submarine cable management system using magnetic marker and method therefor
KR20230140944A (en) Server and method for providing vessel navigation service
KR101179987B1 (en) Pilotage system using automatic identification system and method of pilotage

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20963697

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 07/11/2023)