Geographic spatial data platform, geographic spatial data utilization system, geographic spatial data providing method, and program
The geospatial data platform anticipates data needs by registering future conditions, addressing long response times and resource inefficiencies by preparing geospatial data in advance, thus enhancing system responsiveness and adaptability.
Patent Information
- Application Number
- JP2024134705
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-09
- Publication Date
- 2026-02-24
AI Technical Summary
Existing geospatial data systems experience long response times due to the time-consuming retrieval and processing of data, which is exacerbated by frequent data changes, requiring significant storage and computing resources, and are not adequately addressed by conventional caching methods.
A geospatial data platform that acquires data based on pre-registered conditions, including geographical and temporal parameters, to prepare and provide geospatial data in advance, accommodating dynamic changes and reducing the need for real-time processing.
This approach significantly shortens response times by preparing geospatial data in advance, ensuring quick access and reducing resource demands, while adapting to dynamic data changes without additional interaction.
Smart Images

Figure 2026031273000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a platform and method for realizing services that utilize geospatial data. [Background technology]
[0002] Various services using geospatial data, including information indicating specific locations on Earth and various pieces of information associated with the locations, have been known. Patent Document 1, for example, describes a technology for such geospatial data services. Patent Document 1 describes a computer system serving as a geospatial data platform, which is provided between a client browser providing a user interface and a database storing geospatial data. The computer system retrieves and processes geospatial data from the database in response to a user request, and provides the data to the user via the client browser. Using a geospatial data platform such as that described in Patent Document 1 makes it possible to easily and efficiently provide various services based on geospatial data to users. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] U.S. Patent No. 11,360,970 Summary of the Invention [Problem to be solved by the invention]
[0004] In the computer system described in Patent Document 1, depending on the content of the service provided, it may take a significant amount of time to retrieve and process the geospatial data required for the service from the database, resulting in a very long response time for the service. In applications that obtain daily insights from a large amount of geospatial data and provide them to users, such as applications for commodity trading, various risk predictions, and disaster response, shortening the response time is desirable.
[0005] One way to meet these demands is to download the necessary geospatial data to a computer system in advance and process it, but this would require a significant amount of storage and computing resources to accurately accommodate the diverse services provided to users. Furthermore, the geospatial data held in the database may change frequently and unexpectedly, for example, when a new customer asset is registered, when a portion of land is reused, or when an unexpected disaster occurs. Therefore, simply applying common technologies such as data caching leaves room for improvement in terms of storage and computing resources and / or data updates.
[0006] The present invention has been made in light of the above background, and aims to provide a technology that can shorten the response time in services that use geospatial data. [Means for solving the problem]
[0007] The geospatial data platform according to the present invention is a system having one or more processors and one or more communication interfaces, which acquires geospatial data according to pre-registered acquisition conditions and provides the acquired geospatial data to an application via the communication interface, wherein the acquisition conditions include an area condition regarding the geographical range of the geospatial data in the future and a time condition regarding the acquisition timing of the geospatial data, and the processor prepares the geospatial data that satisfies the area condition at each acquisition timing specified by the time condition before a request is made by the application. A geospatial data utilization system according to the present invention includes a geospatial data platform and one or more computers for processing at least one of a geospatial data provider, an application, a geocoding service, a LULC dataset, a news distribution service, and a customer database. A geospatial data provision method according to the present invention is a method of acquiring geospatial data according to pre-registered acquisition conditions and providing the data to an application, wherein the acquisition conditions include an area condition relating to the geographical range of the geospatial data in the future and a time condition relating to the acquisition timing of the geospatial data, and a computer prepares the geospatial data that satisfies the area condition at each acquisition timing specified by the time condition before a request from the application is made, and provides the prepared geospatial data from the computer to the application in response to the request from the application. The program according to the present invention causes the computer to execute a geospatial data providing method. [Effects of the Invention]
[0008] According to the present invention, it is possible to provide a technique that can shorten the response time in a service that uses geospatial data. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram showing a schematic configuration of a geospatial data utilization system including a geospatial data platform according to one embodiment of the present invention. [Figure 2] FIG. 2 is a diagram showing the functional configuration of a geospatial data platform according to an embodiment of the present invention. [Figure 3] FIG. 3 is a diagram illustrating an example of geospatial data. [Figure 4] FIG. 4 is a diagram showing an example of geocoding service data held by the geocoding service. [Figure 5] FIG. 5 is a diagram showing an example of LULC data included in the LULC dataset. [Figure 6] FIG. 6 is a diagram showing an example of news distribution data held by a news distribution service. [Figure 7] FIG. 7 is a diagram showing an example of customer data stored in the customer database. [Figure 8] FIG. 8 is a diagram illustrating an example of a dynamic area table. [Figure 9] FIG. 9 is a diagram illustrating an example of a registered scope table. [Figure 10] FIG. 10 is a flowchart showing the processing procedure of the scope registration program. [Figure 11] FIG. 11 is a flowchart showing the processing procedure of the data update program. [Figure 12] FIG. 12 is a flowchart showing the processing procedure of the data download program. [Figure 13] FIG. 13 is a flowchart showing the processing procedure of the data request program. [Figure 14] FIG. 14 is a flowchart showing the processing procedure of the dynamic area calculation process. [Figure 15] FIG. 15 is a flowchart showing the processing procedure of the dynamic area calculation process for LULC. [Figure 16] FIG. 16 is a flowchart showing the processing procedure of the dynamic area calculation process for customer data. [Figure 17] FIG. 17 is a flowchart showing the procedure of the dynamic area calculation process for news distribution. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0011] This invention discloses a technology for realizing a data platform that registers the range of future geospatial data requirements in advance, acquires geospatial data corresponding to the registered content and various external information sources such as land use maps, news distribution, and customer databases, and provides it to various applications. By using the geospatial data platform of this invention, it is possible to realize a system that can periodically prepare the geospatial data required by an application in advance and respond quickly to application requests.
[0012] The geospatial data handled by the geospatial data platform of the present invention can be various types of data associated with both time and location, including, for example, data measured by satellites, weather reports, weather forecasts, data measured by drones, data measured by airplanes, various IoT data, etc.
[0013] Applications that receive geospatial data from the geospatial data platform of the present invention analyze the provided geospatial data for use cases such as risk prevention, damage assessment, optimized agriculture, operational support, emergency response, etc. This provides users of the application with various insights using geospatial data.
[0014] An embodiment of the present invention will be described below, in which an example of determining the acquisition range of geospatial data is explained using a LULC (Land Use and Land Cover) dataset provided by an external information source, a customer database provided by an external information source, or a news and geocoding service provided by an external information source.
[0015] In this embodiment, a use case for using a LULC dataset is considered, for example, when weather forecast data is provided as geospatial data required for an application that uses daily weather forecast data to predict the risk of wildfires in forested areas. In this case, a request from the application is registered with the geospatial data platform to provide one week's worth of weather data for areas that the LULC dataset considers "forest" every day. This allows the geospatial data platform to check the areas that the LULC dataset considers "forest" every day and prepare the weather forecast data corresponding to those areas as geospatial data for the application. Furthermore, if the forest area expands or contracts, the geospatial data platform can immediately adjust the scope of the geospatial data provided without requiring interaction with the application.
[0016] Consider the following use case for a customer database. An organization that provides asset management services to its customers operates a customer database used to manage assets owned by each customer and an application used by each customer to check analytical information about vegetation near their asset. When a customer enters the location of one of their assets into the application, the application retrieves historical NDVI (Normalized Difference Vegetation Index) data for that location and analyzes the vegetation by comparing NDVI data from two previous points in time. The application then provides the resulting analysis results to the customer. In this case, the application requests, for example, that the information to be used in future analysis for the location where each customer's asset is registered in the customer database is registered in the geospatial data platform, including the NDVI data measured in the past two months and the NDVI data measured in the past six months. This allows the geospatial data platform to prepare NDVI data that meets the conditions as geospatial data for the application, so that the application can immediately obtain the NDVI data required for vegetation analysis as needed. Additionally, when a new customer is added to the organization, the geospatial data platform can locate the new asset in the customer database and prepare the NDVI data corresponding to that location as geospatial data for the application.
[0017] Furthermore, consider the following use case of using news and the geocoding service. When a wildfire is reported in the news, an application compares two photos, one taken before the fire and one taken after the fire, to provide the user with insights for damage assessment. In this case, the application requests the geospatial data platform to provide, for example, RGB data of the location of the wildfire taken the week before the news is distributed and RGB data of the same location taken the week after the news is distributed, for future wildfire reports. This allows the geospatial data platform to periodically search for wildfire reports in the distributed news, and when a wildfire occurs, it can use the geocoding service to prepare the RGB data of the location as geospatial data for the application.
[0018] (Figure 1: System configuration) Figure 1 is a diagram showing the schematic configuration of a geospatial data utilization system including a geospatial data platform according to one embodiment of the present invention. The geospatial data utilization system shown in Figure 1 includes a geospatial data platform 4000, which has one or more processors and one or more communication interfaces and acquires geospatial data according to pre-registered acquisition conditions and provides the acquired geospatial data to an application via the communication interface. It also includes one or more geospatial data providers 3000, one or more applications 5000, a geocoding service 6000, a LULC dataset 7000, a news distribution service 8000, and a customer database 9000, all of which are connected to the geospatial data platform 4000. While the following description will also discuss the hardware configuration of the geospatial data provider 3000, entities other than geospatial data providers may also have a similar hardware configuration.
[0019] The geospatial data platform 4000 is managed by one or more administrators 1000. The administrators 1000 are people who manage the geospatial data platform 4000. The administrator 1000 appropriately operates the geospatial data platform 4000, which is an information processing device, using input / output devices (e.g., a mouse, a keyboard, a display, etc.) not shown, to establish connections between the geospatial data platform 4000 and other system elements (geospatial data provider 3000, application 5000, geocoding service 6000, LULC dataset 7000, news distribution service 8000, and customer database 9000), thereby configuring a geospatial data utilization system such as that shown in FIG. 1 . Specifically, the administrator 1000 can establish connections between the geospatial data platform 4000 and each system element by registering connection information, such as the Internet address and digital certificate of each system element, in the geospatial data platform 4000.
[0020] The administrator 1000 can obtain connection information with each system element, for example, as publicly available connection information. Furthermore, if a system element belongs to the same organization as the geospatial data platform 4000 and is connected to the same network within the organization, the administrator 1000 can access the system element within the network without needing any special connection information. Alternatively, the administrator 1000 can request connection information with the system element from the organization that manages and operates the system element in accordance with a contract or partnership.
[0021] Each application 5000 is developed by one or more application developers 2000. The application developers 2000 are people who develop applications 5000 that provide various services to users using geospatial data provided by the geospatial data platform 4000.
[0022] The administrator 1000 and the application developer 2000 may not be human beings, but may be, for example, a program running on an information processing device or an artificial intelligence.
[0023] The geospatial data provider 3000 is a service that provides geospatial data to each application 5000 in response to the request of the application via the geospatial data platform 4000. The geospatial data platform 4000 requests the corresponding geospatial data from each geospatial data provider 3000 in accordance with the requirements of each application registered in advance. The geospatial data provider 3000 prepares the requested geospatial data, which may take several days. Once the requested geospatial data is ready, the geospatial data provider 3000 makes the geospatial data available for download by the geospatial data platform 4000. At this time, the geospatial data provider 3000 may send a predetermined notification to the geospatial data platform 4000, if necessary.
[0024] In this embodiment, the geospatial data provider 3000 can accept, for example, the following three types of requests from the geospatial data platform 4000, and cause the geospatial data platform 4000 to download geospatial data according to the requests. (1) Archive: Requesting geospatial data associated with a point in time in the past (2) Prediction: A request for spatial data associated with a future point in time determined by analyzing trends in past geospatial data. (3) Task: A request for spatial data associated with a scheduled future point in time.
[0025] The geospatial data platform 4000 provides each application 5000 with geospatial data downloaded from the geospatial data provider 3000 .
[0026] Each application 5000 is a program that provides a predetermined service to a user using geospatial data provided by the geospatial data platform 4000. To receive geospatial data, each application 5000 transmits information for registering the range of geospatial data provided to the geospatial data platform 4000 in advance. This information includes a value that defines the range of geospatial data that the application 5000 will receive from the geospatial data platform 4000 at a future point in time. The geospatial data platform 4000 transmits geospatial data to each application 5000 according to the range of geospatial data registered in advance.
[0027] The geocoding service 6000 includes geocoding service data 6100 for associating addresses with physical locations. In the geocoding service data 6100, the physical location corresponding to each address can be represented, for example, but not limited to, the coordinates (latitude, longitude) of the center of each location, or a list of vertex coordinates of a polygon that forms the boundary of each location.
[0028] The geospatial data platform 4000 requests information about a location corresponding to a specific address from the geocoding service 6000. This request includes information indicating the address of a certain location. In response to the request from the geospatial data platform 4000, the geocoding service 6000 searches the geocoding service data 6100 for a location corresponding to the specified address and returns the coordinate values of the location as a response.
[0029] The LULC dataset 7000 includes LULC data 7100 relating to land use types across an entire region. For example, the LULC dataset 7000 stores information showing land use status across Japan at a resolution of 1 x 1 kilometer as LULC data 7100. This LULC data 7100 is updated periodically as land use types change.
[0030] The geospatial data platform 4000 requests location information according to pre-registered conditions from the LULC dataset 7000. This request includes information on the type of land use. In response to the request from the geospatial data platform 4000, the LULC dataset 7000 searches the LULC data 7100 for locations that match the specified land use type, and returns a list of those locations as a response.
[0031] The news delivery service 8000 has news delivery data 8100 related to the latest news published by one or more news sources. This news delivery data 8100 is updated periodically. In response to a request from the geospatial data platform 4000, the news delivery service 8000 returns a list of news information represented by the news delivery data 8100.
[0032] The customer database 9000 is a database for managing customer asset information. For example, a certain organization has the customer database 9000 and the application 5000. Such an organization stores information about assets owned by customers in the customer database 9000 and provides services to customers through the application 5000. The customer database 9000 includes, for example, customer data 9100 that associates the types of assets owned by each customer with the physical locations where the assets are located. The physical locations of assets can be represented, for example, by the center coordinates (latitude, longitude) of the location, or by a list of coordinates that form a polygon or polyline that indicates the extent of the location, but are not limited to these.
[0033] The geospatial data platform 4000 requests location information corresponding to assets owned by the customer from the customer database 9000. This request includes information about the type of asset. In response to the request from the geospatial data platform 4000, the customer database 9000 searches the customer data 9100 for the location of the specified asset and returns information about that location as a response. At this time, it is possible to add conditions as necessary to narrow down the assets to be searched.
[0034] The geospatial data platform 4000 is realized using one or more general information processing devices such as PCs (Personal Computers) or servers. The geospatial data platform 4000 includes a communication unit 4100, a CPU 4200, a memory 4300, and an auxiliary storage device 4500.
[0035] The CPU 4200 controls each unit of the geospatial data platform 4000 and performs arithmetic processing related to various processes executed in the geospatial data platform 4000. The CPU 4200 executes programs stored in the memory 4300 to realize each functional block (see FIG. 2 described below) of the geospatial data platform 4000. The memory 4300 is, for example, a semiconductor storage device such as a RAM (Random Access Memory), and temporarily stores programs loaded from the auxiliary storage device 4500 and executed by the CPU 4200, as well as necessary work data.
[0036] The communication unit 4100 operates under the control of the CPU 4200 and performs interface processing to send and receive various information between the geospatial data platform 4000 and other system elements (geospatial data provider 3000, application 5000, geocoding service 6000, LULC dataset 7000, news distribution service 8000, and customer database 9000) via a communication network (not shown) and a communication interface (e.g., a network interface card (NIC) or wired and wireless communication circuits), which is a device for communicating with the communication network.
[0037] The auxiliary storage device 4500 is, for example, a large-capacity non-transitory magnetic storage device or semiconductor storage device such as a hard disk drive (HDD) or a solid state drive (SSD), and stores programs executed by the CPU 4200 and data used in processing by the CPU 4200. The auxiliary storage device 4500 temporarily stores geospatial data downloaded from the geospatial data provider 3000. In FIG. 1, the geospatial data downloaded from the geospatial data provider 3000 and temporarily stored in the auxiliary storage device 4500 is shown as geospatial data 4400. Details of this geospatial data 4400 will be described later.
[0038] (Figure 2: Functional configuration of the geospatial data platform) 2 is a diagram showing the functional configuration of a geospatial data platform according to one embodiment of the present invention. The geospatial data platform 4000 has the following functional blocks: a scope registration unit 4230, a data update unit 4240, a data download unit 4250, and a data request unit 4260. These functional blocks are implemented in the geospatial data platform 4000 by loading the dynamic area table 4310, the registered scope table 4320, and the scope registration program 4330, the data update program 4340, the data download program 4350, and the data request program 4360 from the auxiliary storage device 4500 into the memory 4300, and by executing the processing of each program in the CPU 4200 using the data stored in each table.
[0039] (Figure 3: Geospatial data) 3 is a diagram illustrating an example of geospatial data 4400 stored in the auxiliary storage device 4500. The geospatial data 4400 has, for example, multiple rows set for each data unit provided to each application 5000. In each of the multiple rows, data corresponding to each column of a related scope 4401, data 4402, area 4403, timestamp 4404, time slice 4405, predicted date and time 4406, status 4407, download information 4408, and related information 4409 is recorded, thereby configuring the geospatial data 4400 in FIG.
[0040] The geospatial data platform 4000 creates and updates geospatial data 4400 by having the data update unit 4240 and the data download unit 4250 perform the processes shown in FIGS. 11 and 12, which will be described later.
[0041] The related scope 4401 indicates the identifier of a registered scope associated with a row of the geospatial data 4400, among the registered scopes represented by each row of a registered scope table 4320 shown in Fig. 9, which will be described later. The related scope 4401 stores an ID number that is common to a scope ID 11001, which will be described later, in the registered scope table 4320, as the identifier of the associated registered scope.
[0042] Data 4402 indicates the content of the geospatial data represented by the row. In the example of Figure 3, the content of the geospatial data is expressed in a simplified manner. Note that, in order to more completely express the content of the geospatial data 4400, data 4402 may include metadata such as pixel size and coordinate reference system.
[0043] Area 4403 indicates the location and range of the location represented by the geospatial data of the row. Area 4403 stores, for example, a list of coordinates (latitude, longitude) of each vertex of a polygon that forms the boundary of the area of the geospatial data.
[0044] The timestamp 4404 indicates the date and time represented by the geospatial data of the row. For example, in the case of measured data, the date and time when the data was measured is stored in the area 4403. In addition, in the case of data relating to future prediction, the future date and time represented by the prediction result of the data is stored in the area 4403.
[0045] The time slice 4405 indicates the acquisition interval of the geospatial data of the row. The date and time indicated by the timestamp 4404 are within the period of the time slice 4405 stored in the same row in the geospatial data 4400.
[0046] The prediction date and time 4406 indicates the date and time when the prediction was calculated for the geospatial data of the row. The prediction date and time 4406 is applied only to the "prediction" of the three types of requests made from the geospatial data platform 4000 to the geospatial data provider 3000. The date and time values stored in the prediction date and time 4406 are useful for knowing to what extent the prediction has been performed in the geospatial data provider 3000.
[0047] The status 4407 indicates the stage in the acquisition process that the geospatial data of the row is at. The status 4407 stores keywords such as "waiting for download," "waiting for notification," "ready," and "expired" in order of the stage of the acquisition process.
[0048] The download information 4408 indicates information about the download destination of the geospatial data of the row. The download information 4408 stores, for example, an ID number of a request sent when requesting the geospatial data provider 3000 to download the geospatial data from the geospatial data platform 4000.
[0049] The related information 4409 indicates information associated with an area (dynamic area) corresponding to the geospatial data of the row in question when the area changes dynamically. Specifically, for example, the value of the asset ID 9101 of the data used to calculate the dynamic area in the customer data 9100 shown in FIG. 7 described later, or the value of the news publication date 8101 used to calculate the dynamic area in the news distribution data 8100 shown in FIG. 6 described later, is stored in the related information 4409. The value of the area 4403 of the same row is calculated using the information indicated in this related information 4409.
[0050] (Figure 4: Geocoding service data) 4 is a diagram showing an example of geocoding service data 6100 held by the geocoding service 6000. The geocoding service data 6100 has, for example, multiple rows set for each location where the geocoding service can be provided. In each of the multiple rows, data corresponding to each column of address 6101 and location 6102 is recorded, thereby configuring the geocoding service data 6100 in FIG. 4.
[0051] Address 6101 shows the text of an address notation that represents the location of the line. This address notation may represent an address assigned to a particular building or location, or it may represent an address range for a larger area, such as a particular neighborhood or city.
[0052] The position 6102 indicates the coordinate values that represent the location of the location of the row. This stores the coordinate values (latitude, longitude) of the point corresponding to the location of the row, and a list of the coordinate values of each vertex of the polygon that represents the range of the physical area that corresponds to the location of the row.
[0053] (Figure 5: LULC data) FIG. 5 is a diagram showing an example of LULC data 7100 included in the LULC dataset 7000. The LULC data 7100 is, for example, data representing a digital map of a physical area in a given region, and is composed of raster data combining multiple cells. The number of rows and columns in the LULC data 7100 is set according to the size of the physical area represented by the LULC data 7100, the pixel size and resolution of the digital map represented by the LULC data 7100, and the like. The LULC data 7100 is updated periodically in response to changes in the type of land use in each cell.
[0054] Each cell of the LULC data 7100 represents a pixel of the digital map, and includes attribute information T that represents the geographical characteristics of the cell, and coordinate information L that represents the location of the cell.
[0055] The coordinate information L indicates the coordinates (latitude, longitude) of the pixel position of the cell on the digital map.
[0056] The attribute information T indicates the LULC value of the cell. The LULC value is a value that classifies the type of land use at a specific time or time range, such as, but not limited to, "water body," "urban," "farmland," "forest," or "wasteland."
[0057] (Figure 6: News distribution data) Fig. 6 is a diagram showing an example of news distribution data 8100 held by news distribution service 8000. News distribution data 8100 has, for example, multiple rows set for each published news item. In each of these multiple rows, data corresponding to each column of publication date 8101 and news content 8102 is recorded, thereby configuring news distribution data 8100 in Fig. 6. News distribution data 8100 is updated periodically as new news is published.
[0058] The publication date 8101 indicates the date on which the news in the row was published.
[0059] The news content 8102 shows text that indicates the content of the news on the line.
[0060] (Figure 7: Customer data) Fig. 7 is a diagram showing an example of customer data 9100 held by customer database 9000. The customer data 9100 has, for example, multiple rows set for each customer asset managed by customer database 9000. In each of these multiple rows, data corresponding to the columns of asset ID 9101, asset type 9102, and asset location 9103 is recorded, thereby configuring the customer data 9100 in Fig. 7. When changes occur in the customer assets managed by customer database 9000, such as when old assets are discarded or new assets are added, the customer data 9100 is periodically updated accordingly.
[0061] The asset ID 9101 indicates an ID number that is an identifier of the asset represented by the row.
[0062] The asset type 9102 indicates a keyword according to the type of asset represented by the row.
[0063] The asset location 9103 indicates the coordinate values of the location where the asset represented by the row is located. This stores the coordinate values (latitude, longitude) of the point corresponding to the location of the asset of the row, and a list of the coordinate values of each vertex of the polygon or polyline that represents the range of the physical location occupied by the asset of the row.
[0064] (Figure 8: Dynamic Area Table) 8 is a diagram showing an example of the dynamic area table 4310. In the geospatial data utilization system of this embodiment, in order to accommodate the various use cases described above, the geospatial data platform 4000 can register area conditions for defining dynamic areas whose geographical ranges change dynamically over time as future requested ranges of geospatial data by each application 5000. The dynamic area table 4310 indicates the area conditions for defining the geographical range for each dynamic area whose geographical range changes dynamically in this way.
[0065] The dynamic area table 4310 has, for example, a plurality of rows set for each pre-registered area condition. In each of the plurality of rows, data corresponding to each column of the dynamic area ID 4311, the reference database 4312, the keyword 4313, the keyword search target 4314, the association date 4315, the association position 4316, the association ID 4317, the permitted application 4318, and the source 4319 is recorded, thereby configuring the dynamic area table 4310 of FIG. 8 .
[0066] The dynamic area table 4310 is updated in accordance with the connection status when a connection to the LULC dataset 7000, the news distribution service 8000, or the customer database 9000 is established or deleted in the geospatial data platform 4000. For example, when a new LULC dataset 7000 is connected to the geospatial data platform 4000, the dynamic area table 4310 is updated by inserting a new row into the dynamic area table 4310 in accordance with the land type described in the LULC data 7100 held by the LULC dataset 7000. The updating of the dynamic area table 4310 at this time is performed by, for example, the administrator 1000.
[0067] The dynamic area ID 4311 indicates an ID number that serves as an identifier for the dynamic area defined by the area condition represented by the row.
[0068] The reference database 4312 indicates the type of database to be referenced when determining the range of the dynamic area according to the area conditions of the row. To determine the range of the dynamic area, for example, the reference database 4312 stores the database type "LULC" when referring to the LULC dataset 7000, "news distribution" when referring to the news distribution service 8000, and "customer data" when referring to the customer database 9000.
[0069] The keyword 4313 indicates a word used as a keyword in a search of each database. The keyword search target 4314 indicates the location of data to be searched for using a keyword within each database. For example, if the reference database 4312 is "LULC" and the dynamic area is determined by referring to the LULC dataset 7000, a value indicating the attribute information T of the LULC data 7100 shown in FIG. 5 is stored in the keyword search target 4314. If the reference database 4312 is "news distribution" and the dynamic area is determined by referring to the news distribution service 8000, a value indicating the news content 8102 of the news distribution data 8100 shown in FIG. 6 is stored in the keyword search target 4314. If the reference database 4312 is "customer data" and the dynamic area is determined by referring to the customer database 9000, a value indicating the asset type 9102 of the customer data 9100 shown in FIG. 7 is stored in the keyword search target 4314. In addition to the above, a value indicating the storage location of any data within each database can be stored in the keyword search target 4314.
[0070] The associated date 4315 indicates a pointer to data indicating the date associated with a keyword when the keyword indicated in the keyword 4313 is searched for in the data storage location indicated in the keyword search target 4314. For example, when a keyword is searched for in the news content 8102 of the news distribution data 8100 shown in Fig. 6, the value indicating the publication date 8101 in the same row is stored in the associated date 4315 as a pointer to data indicating the date related to the keyword. Note that if no corresponding data exists, "N / A" indicating that the data is empty is stored in the associated date 4315.
[0071] When the keyword indicated by the keyword 4313 is searched for in the data storage location indicated by the keyword search target 4314, the associated position 4316 indicates a pointer to data representing a position associated with that keyword. For example, when a keyword is searched for in the attribute information T of the LULC data 7100 shown in FIG. 5, a value indicating the coordinate information L of the same cell is stored in the associated position 4316 as a pointer to data representing a position related to the keyword. Also, when a keyword is searched for in the asset type 9102 of the customer data 9100 shown in FIG. 7, a value indicating the asset location 9103 in the same row is stored in the associated position 4316 as a pointer to data representing a position related to the keyword. Note that if no corresponding data exists, "N / A" indicating that the data is empty is stored in the associated position 4316.
[0072] The association ID 4317 indicates a pointer to data representing an ID associated with a keyword when the keyword indicated in the keyword 4313 is searched for in the data storage location indicated in the keyword search target 4314. For example, when a keyword is searched for in the asset type 9102 of the customer data 9100 shown in Fig. 7, a value indicating the asset ID 9101 in the same row is stored in the association ID 4317 as a pointer to data representing an ID associated with the keyword. Note that if no corresponding data exists, "N / A" indicating that the data is empty is stored in the association ID 4317.
[0073] The permitted applications 4318 indicate the applications that are permitted to use the area condition represented by the row when each application 5000 registers a future requested range of geospatial data with the geospatial data platform 4000. For example, when referencing the customer database 9000, by storing a value indicating the relevant application in the permitted applications 4318, access by applications other than the relevant application can be prohibited, and unrelated applications can be prevented from accessing confidential asset information without permission. The permitted applications 4318 can also be used to limit the applications that can use the area condition depending on differences in contract conditions.
[0074] The source 4319 indicates an ID number corresponding to the identifier of a database to be referenced when determining the range of the dynamic area corresponding to the area condition expressed by the row, or a service used in combination at that time. For example, an ID number for identifying the geocoding service 6000, the LULC dataset 7000, the news distribution service 8000, or the customer database 9000 connected to the geospatial data platform 4000 is stored in the source 4319.
[0075] (Figure 9: Registered Scope Table) 9 is a diagram showing an example of the registered scope table 4320. In the geospatial data utilization system of this embodiment, in order to accommodate the various use cases described above, the geospatial data platform 4000 registers scopes that represent the conditions (type, location, time, etc.) of future geospatial data to be provided to each application 5000. The registered scope table 4320 represents the scope of future geospatial data registered in response to a request from each application 5000.
[0076] 9 is configured by recording data corresponding to each of the columns of a scope ID 11001, an application (App) 11002, a geospatial data type 11003, a request type 11004, an area type 11005, an area 11006, an area margin 11007, a reference date 11008, a time range 11009, a time resolution 11010, a condition 11011, and an application process 11012 in each of the rows.
[0077] The geospatial data platform 4000 creates and updates the registered scope table 4320 by performing the processing shown in FIG. 10, which will be described later, in the scope registration unit 4230.
[0078] The scope ID 11001 indicates the identifier of the scope of the row. The ID number common to the related scope 4401 of the geospatial data 4400 shown in FIG. 3 is stored here, thereby associating the geospatial data 4400 with the registered scope table 4320.
[0079] The application 11002 indicates an ID number that represents the identifier of the application 5000 corresponding to the scope of the row. The ID number stored in the application 11002 indicates which application has requested each scope shown in the registered scope table 4320.
[0080] The geospatial data type 11003 indicates the type of geospatial data handled by the application 5000. For example, the type of geospatial data supported by the geospatial data provider 3000 registered in the geospatial data platform 4000 is stored in the geospatial data type 11003 for each scope. This allows the administrator 1000 to define the type of geospatial data for each scope. Note that the ID number of the geospatial data provider 3000 may be stored in the geospatial data type 11003 as information indicating the type of geospatial data. The ID number of the geospatial data provider 3000 may be provided by the application 5000 when registering a scope, for example, or may be set by the administrator 1000. Alternatively, the geospatial data platform 4000 may automatically set the ID number based on criteria such as availability, cost, and waiting time.
[0081] The request type 11004 indicates the type of request that the application 5000 makes to the geospatial data provider 3000. A value indicating one of the three types of requests mentioned above, namely, "past (archive)," "future (prediction)," or "future (task)," is stored here.
[0082] "Past (archive)" means requesting geospatial data associated with a time in the past, i.e., geospatial data based on past measurements. "Future (prediction)" means requesting predicted results of future geospatial data calculated by analyzing trends in past geospatial data, i.e., geospatial data associated with a time in the future. "Future (task)" means requesting geospatial data associated with a time in the future, i.e., geospatial data based on measurements at a pre-scheduled time in the future.
[0083] The area type 11005 indicates the type of area for which the application 5000 requests geospatial data from the geospatial data provider 3000. A value indicating either "static" or "dynamic" is stored here.
[0084] "Static" indicates that the area of geospatial data acquired by the geospatial data platform 4000 in response to a request from the application 5000 will not change in the future. In other words, a scope whose area type 11005 is "static" means that geospatial data within the same area is acquired at any time.
[0085] "Dynamic" indicates that the area of the geospatial data acquired by the geospatial data platform 4000 in response to a request from the application 5000 may change in the future. In other words, in a scope in which the area type 11005 is "dynamic," this means that the application 5000 acquires geospatial data within an area that changes depending on the situation. For example, when the application 5000 uses geospatial data in response to a request from a customer whose asset information has been newly registered in the customer database 9000, it is necessary to acquire geospatial data regarding the location of the customer's assets, and therefore "dynamic" is recorded in the area type 11005 in the scope corresponding to the application 5000.
[0086] The area 11006 indicates the location and geographical range of the area for which the application 5000 requests geospatial data from the geospatial data provider 3000. If the value of the area type 11005 is "static," the area 11006 stores the center coordinates (latitude, longitude) of the area for which geospatial data is requested, a coordinate list of each vertex of the polygon that indicates the boundary of the area, a coordinate list of the polyline that forms the center line of the area, etc. On the other hand, if the value of the area type 11005 is "dynamic," the area 11006 stores a value indicating the dynamic area ID 4311 of the dynamic area table 4310 as information for determining the location and geographical range of the area for which geospatial data is requested.
[0087] The area margin 11007 indicates the range of the area for which the application 5000 obtains geospatial data from the geospatial data provider 3000. For example, if the area 11006 indicates a center coordinate and the application 5000 requires geospatial data within 10 km around the center coordinate, the value of the area margin 11007 is 10 km.
[0088] The reference date 11008 indicates the date referenced when the application 5000 acquires geospatial data from the geospatial data provider 3000. A specific future date may be stored here, or a value indicating either the "current date" or the "association date" may be stored. If the reference date 11008 is the "current date," the date on which the data update unit 4240 actually updates the geospatial data is set as the date referenced when acquiring the geospatial data. If the reference date 11008 is the "association date," the date identified by the value of the association date 4315 written in the row of the dynamic area table 4310 associated by the value of the dynamic area ID 4311 stored in field 11006 of the same row is set as the date referenced when acquiring the geospatial data. Note that the "association date" is set in the reference date 11008 only when the area type 11005 is "dynamic" and a pointer to any data is set in the association date 4315 in the area conditions specified by the value of the dynamic area ID 4311 stored in the area 11006.
[0089] The time range 11009 indicates the period during which the application 5000 obtains geospatial data from the geospatial data provider 3000. Stored here are the number of days based on the reference date 11008 of the same row, and a value indicating whether the period is before or after the reference date 11008. For example, if the time range 11009 is "7 days (before the reference date)," the application 5000 will request geospatial data for the period from 7 days before the reference date to the reference date specified in the reference date 11008 from the geospatial data provider 3000 via the geospatial data platform 4000.
[0090] The temporal resolution 11010 indicates how often the application 5000 acquires geospatial data from the geospatial data provider 3000. For example, if the value stored in the temporal resolution 11010 is "12 hours," this means that the application 5000 acquires data measured every 12 hours within the period defined by the reference date 11008 and the time range 11009. Also, if the value stored in the temporal resolution 11010 is "once," this means that the application 5000 acquires data measured once at any point in time within the period defined by the reference date 11008 and the time range 11009.
[0091] Conditions 11011 indicate a list of conditions for further filtering geospatial data that may be requested in the future by application 5000. Conditions 11011 may include, for example, but are not limited to, the day of the week on which the geospatial data is measured and the maximum cloud cover value as a measurement condition. Note that conditions 11011 are optional, and any value can be set as a default value.
[0092] The application process 11012 indicates the content of the process that the geospatial data platform 4000 applies to the geospatial data acquired from the geospatial data provider 3000 before providing the geospatial data to the application 5000. For example, if the value stored in the application process 11012 is "bilinear interpolation 10x10 pixels, NDVI", this indicates that an NDVI value needs to be calculated from the geospatial data acquired from the geospatial data provider 3000, and this calculation result needs to be included in the geospatial data and provided to the application 5000. The content of the process that can be set in the application process 11012 is defined by, for example, the administrator 1000. Note that the application process 11012 is optional, and any value can be set as the default value.
[0093] In the registered scope table 4320 described above, the area 11006 stores a list of coordinates representing the center coordinates, borders, or center lines of an arbitrary area as information defining the geographic range of static geospatial data that will not change in the future. Alternatively, it represents one of the rows in the dynamic area table 4310 as a condition for the geographic range of geospatial data that may change dynamically in the future. The area margin 11007 represents the range of the margin added to the geographic range indicated by the area 11006. In other words, the area 11006 and the area margin 11007 correspond to the area condition for the geographic range of the geospatial data 4400 in the future. The reference date 11008, the time range 11009, and the temporal resolution 11010 represent the reference date, period, and frequency, respectively, when the application 5000 acquires geospatial data from the geospatial data provider 3000. That is, the reference date 11008, the time range 11009, and the time resolution 11010 correspond to the time conditions regarding the acquisition timing of the geospatial data 4400.
[0094] (Figure 10: Scope Registration Program) Fig. 10 is a flowchart showing the processing steps of the scope registration program 4330. When the scope registration unit 4230 receives a scope registration request sent from the application 5000, it executes the processing of the scope registration program 4330 in accordance with the processing steps of Fig. 10. As a result, the new scope is registered in the registered scope table 4320, and the ID number of that scope is returned to the application 5000.
[0095] Step 10001 indicates the start point of the scope registration program 4330. The scope registration program 4330 is started when the scope registration unit 4230 receives a scope registration request sent by the application 5000 to the geospatial data platform 4000. This scope registration request includes values indicating the conditions for future geospatial data that the application 5000 requests from the geospatial data platform 4000, such as the values shown in each column of the registered scope table 4320 in FIG. 9 . These values are set by, for example, the application developer 2000.
[0096] 10, the scope registration program 4330 registers a new scope by entering the values included in the received scope registration request into new rows of the registered scope table 4320. If the received scope registration request contains an invalid value, the scope registration program 4330 returns an error to the application 5000 that sent the scope registration request and terminates the processing.
[0097] In step 10002, an application ID is obtained from the scope registration request. At this time, if necessary, the application ID may be verified using an authentication mechanism such as a digital certificate or digital token. Then, a new row is added to the registered scope table 4320, and the new ID number is stored in the scope ID 11001 of that row, and the obtained application ID is stored in the application 11002.
[0098] In step 10003, the type of geospatial data requested by application 5000 and the type of request are obtained from the scope registration request, and these values are stored in geospatial data type 11003 and request type 11004, respectively, in the row of registered scope table 4320 added in step 10002.
[0099] In addition, in step 10003, it may be verified whether at least one of the geospatial data providers 3000 registered with the geospatial data platform 4000 provides the type of geospatial data corresponding to the request of the application 5000. Furthermore, if the result of this verification is negative, an error message may be returned to the application 5000 or a notification may be sent to the administrator 1000.
[0100] Furthermore, prior to the processing of step 10003, the geospatial data platform 4000 may provide to the application 5000 a list describing the types of geospatial data that the geospatial data provider 3000 can provide and the types of geospatial data requests that the geospatial data provider 3000 can handle. By referring to this list, the application 5000 can determine the content of the scope registration request within the range that the geospatial data provider 3000 can handle.
[0101] In step 10004, the application 5000 acquires the type of area (static or dynamic) for which geospatial data is requested from the scope registration request and determines whether it is "static" or "dynamic." If the type of area is "static," the process proceeds to step 10005; if it is "dynamic," the process proceeds to step 10006.
[0102] In step 10005, the value of area type 11005 in the row of registered scope table 4320 added in step 10002 is set to "static," and one or more coordinate values representing the boundary of that area are obtained from the scope registration request, and the list is stored in area 11006. After executing the processing of step 10005, the process proceeds to step 10007.
[0103] In step 10006, the value of the area type 11005 in the row of the registered scope table 4320 added in step 10002 is set to "dynamic," and the dynamic area ID is obtained from the scope registration request and stored in the area 11006. At this time, the row in the dynamic area table 4310 in which the obtained dynamic area value is stored in the dynamic area ID 4311 is identified, and by referencing the permitted application 4318 in the same row, it is confirmed whether the application 5000 that sent the scope registration request is permitted to use the area condition. If the result shows that it is not permitted, an error message is returned to the application 5000 and the processing ends. Note that dynamic area information may be provided by the administrator 1000 to the application developer 2000 as necessary. After executing the processing of step 10006, the processing proceeds to step 10007.
[0104] In step 10007 , the size of the area margin is obtained from the scope registration request, and this value is stored in the area margin 11007 of the row of the registered scope table 4320 added in step 10002 .
[0105] In step 10008, the application 5000 obtains from the scope registration request the date to be referenced when obtaining geospatial data from the geospatial data provider 3000, and stores that value in the reference date 11008 of the row in the registered scope table 4320 added in step 10002. If the obtained reference date is the "association date," the application 5000 checks whether the area type obtained in step 10004 is "dynamic," and if it is not "dynamic," returns an error message to the application 5000 and terminates processing. Furthermore, the application 5000 checks whether a value is set in the association date 4315 in the row in the dynamic area table 4310 identified in step 10006, and if not, returns an error message to the application 5000 and terminates processing.
[0106] In step 10009 , the application 5000 obtains the period for obtaining geospatial data from the geospatial data provider 3000 from the scope registration request, and stores this value in the time range 11009 of the row in the registered scope table 4320 added in step 10002 .
[0107] In step 10010, the application 5000 obtains the frequency with which it obtains geospatial data from the geospatial data provider 3000 from the scope registration request, and stores this value in the time resolution 11010 of the row in the registered scope table 4320 added in step 10002.
[0108] In step 10011, the application 5000 obtains, from the scope registration request, the conditions for the filtering process to be performed when obtaining geospatial data from the geospatial data provider 3000, and stores the values in the conditions 11011 of the row in the registered scope table 4320 added in step 10002. At this time, the geospatial data platform 4000 can provide the application 5000 with a list of available conditions as needed.
[0109] In step 10012, the content of the processing to be applied to the geospatial data acquired from the geospatial data provider 3000 before providing it to the application 5000 is acquired from the scope registration request, and the value is stored in the application processing 11012 of the row of the registered scope table 4320 added in step 10002. At this time, the geospatial data platform 4000 can provide a list of applicable processing to the application 5000 as necessary.
[0110] In step 10013, the ID number stored in the scope ID 11001 of the row of the registered scope table 4320 added in step 10002 is returned to the application 5000. This notifies the application 5000 that a new scope has been registered in the registered scope table 4320.
[0111] After the processing of step 10013 is executed, the scope registration program 4330 is terminated. Step 10014 indicates the end point of the scope registration program 4330.
[0112] (Figure 11: Data update program) 11 is a flowchart showing the processing procedure of the data update program 4340. The data update unit 4240 executes the processing of the data update program 4340 at each predetermined processing cycle in accordance with the processing procedure of FIG. 11. This enables the geospatial data 4400 to be updated based on the contents of the registered scope table 4320.
[0113] Step 10101 indicates the start of the data update program 4340. The data update program 4340 is started periodically, for example, every hour. Alternatively, the data update program 4340 is started in response to an instruction from the administrator 1000. Alternatively, the data update program 4340 is started when a change is made to the registered scope table 4320. Alternatively, the data update program 4340 is started when an update notification is received from the LULC dataset 7000, the news distribution service 8000, or the customer database 9000.
[0114] Step 10102 begins an iterative process for each row in the registered scope table 4320 .
[0115] In step 10103, the values of area type 11005 and area 11006 are read from the row currently being processed in registered scope table 4320. If the value of area type 11005 that has been read is "static", the process proceeds to step 10105, and a list of coordinates represented by the value of area 11006 that has been read is provided to the process in step 10105. On the other hand, if the value of area type 11005 that has been read is "dynamic", the process proceeds to step 10104.
[0116] In step 10104, the geographical range of the dynamic area at the current time is calculated for the dynamic area represented by the row currently being processed in the registered scope table 4320. Here, for example, a row in the dynamic area table 4310 in which the same value as the value of area 11006 read in step 10103 is stored in the dynamic area ID 4311 is identified, and the geographical range of the dynamic area at the current time is calculated based on the content of the area condition described in that row. Specifically, by executing the dynamic area calculation process shown in the flowchart in Figure 14 (described later), it is possible to calculate the geographical range of the dynamic area at the current time for the scope represented by the row currently being processed in the registered scope table 4320 and obtain a list of coordinates corresponding to that geographical range. The flowchart in Figure 14 will be described in detail later.
[0117] In step 10105, the list of coordinates acquired in step 10103 or step 10104 is received. Then, the value stored in area margin 11007 is read from the row currently being processed in registered scope table 4320, and each coordinate value is adjusted based on that value. This makes it possible to adjust the geographical range of the area specified by the scope represented by the row currently being processed.
[0118] In step 10106, data outside the area is deleted from the geospatial data 4400 based on the coordinate values adjusted in step 10105. Here, for example, a row is found in the geospatial data 4400 where the value of the related scope 4401 matches the scope ID 11001 of the row currently being processed in the registered scope table 4320. When a matching row is found, the geographical range specified by the value of the area 4403 of that row is compared with the geographical range calculated in step 10105. As a result, if the result shows that part of the former geographical range is not included in the latter, the data corresponding to that part is deleted from the data 4402 of the same row, and that part is also deleted from the value of the area 4403. Furthermore, if the entire former geographical range is not included in the latter, the row is deleted from the geospatial data 4400.
[0119] In step 10107, a time range corresponding to the current time is calculated. Here, for example, the values stored in the reference date 11008 and the time range 11009 are read from the row currently being processed in the registered scope table 4320. If the value of the read reference date 11008 is the "current date," the current date on which the data update program 4340 is being executed is set as the base date of the time range at the current time. On the other hand, if the value of the read reference date 11008 is the "association date," the association date included in the area condition represented by the row of the dynamic area table 4310 referenced when calculating the geographical range of the dynamic area at the current time in step 10104 is set as the base date of the time range at the current time. Furthermore, if the read time range 11009 includes the "previous date," the time range is calculated by subtracting the number of days in the time range 11009 from the set base date as the start date of the time range, and the base date as the end date of the time range. On the other hand, if the read time range 11009 includes a "later date," the time range is calculated by setting the set base date as the start date of the time range and adding the number of days in the time range 11009 to the base date as the end date. This makes it possible to calculate a time range according to the current time.
[0120] Step 10108 begins an iterative process for each region whose geographic extent was calculated in step 10105 .
[0121] In step 10109, the value of the temporal resolution 11010 is read from the row currently being processed in the registered scope table 4320, and the time range calculated in step 10107 is divided by the read value to calculate a time slice. At this time, if the value of the temporal resolution 11010 is other than "once," the number of time slices corresponding to that value is calculated. Then, iterative processing is started for each calculated time slice.
[0122] In step 10110, the geospatial data platform 4000 determines whether the required geospatial data is stored locally. Here, for example, in the geospatial data 4400, a row is searched for in which the value of the related scope 4401 matches the scope ID 11001 of the currently processed row in the registered scope table 4320, the value of the area 4403 matches the geographic range of the currently processed area in the iterative processing of step 10108, and the value of the time slice 4405 matches the currently processed time slice in the iterative processing of step 10109. If no such row is found, it is determined that the geospatial data is not stored locally, and the process proceeds to step 10111. On the other hand, if a corresponding row is found, it is determined that the geospatial data is stored locally, and the process proceeds to step 10112. If necessary, even if a matching row is found, the value of predicted date and time 4406 may be compared with the current date, and if the difference is greater than a predetermined number of days, processing may proceed to step 10111 to obtain newer geospatial data from the geospatial data provider 3000.
[0123] In step 10111, a request is made to the geospatial data provider 3000 to download the missing geospatial data. Here, for example, the row currently being processed is read from the registered scope table 4320, and a request is made to the geospatial data provider 3000 identified by the values of the geospatial data type 11003 and request type 11004 of that row to provide geospatial data that meets the geographic range of the area currently being processed in the iterative process of step 10108, the time slice currently being processed in the iterative process of step 10109, and the condition 11011. At this time, if the geospatial data provider 3000 cannot be identified from the geospatial data type 11003 or the request type 11004, an appropriate geospatial data provider 3000 may be selected based on criteria such as availability, cost, or wait time. A new row is then added to the geospatial data 4400. The value of the scope ID 11001 listed in the row currently being processed in the registered scope table 4320 is stored in the related scope 4401, the coordinate values representing the geographical range of the area currently being processed in the iteration of step 10108 are stored in the area 4403, and the date and time representing the time slice currently being processed in the iteration of step 10109 are stored in the time slice 4405. Furthermore, "Waiting for download" is stored in the status 4407, the ID number of the geospatial data provider 3000 identified or selected as the destination of the geospatial data request is stored in the download information 4408, and information associated with the geographical range of the area currently being processed in the iteration of step 10108 is stored in the related information 4409. Note that items for which no value needs to be stored may be left empty without storing a value. Furthermore, if necessary, multiple rows with matching values for the related scope 4401 and area 4403 may be combined into one for efficiency.
[0124] In step 10111, by performing the above-described processing, it is possible to prepare in advance the acquisition of geospatial data 4400 that satisfies the area conditions at that time for each acquisition timing specified by the time conditions represented by the reference date 11008, the time range 11009, and the temporal resolution 11010 in the registered scope table 4320. In other words, the geospatial data requested for download here is downloaded when the data download program 4350 is subsequently executed. This makes it possible for the geospatial data platform 4000 to make preparations in advance so that, when a request is made from the application 5000, the necessary geospatial data can be immediately provided to the application 5000 in response to the request.
[0125] In step 10112, the iterative process of step 10109 is completed. When the iterative process has been completed for all time slices, the process proceeds to step 10113.
[0126] In step S10113, the iterative process of step S10108 ends. When the iterative process has been completed for all regions, the process proceeds to step S10114.
[0127] Step 10114 ends the iterative processing of step 10102. When the iterative processing has been completed for all rows in the registered scope table 4320, the data update program 4340 ends. Step 10115 indicates the end point of the data update program 4340.
[0128] (Figure 12: Data download program) 12 is a flowchart showing the processing steps of the data download program 4350. For rows in the geospatial data 4400 where the status 4407 is "waiting for download," the data download unit 4250 periodically checks whether the corresponding geospatial data is available for acquisition from the geospatial data provider 3000. If available geospatial data is available, the data download unit 4250 executes the processing of the data download program 4350 according to the processing steps in FIG. 12. This downloads available data from the geospatial data provider 3000 and updates the contents of the geospatial data 4400. Therefore, the geospatial data 4400 prepared in step 10111 in FIG. 11 can be acquired prior to a request from the application 5000.
[0129] Step 10201 indicates the start of the data download program 4350. The data download program 4350 is started periodically, for example, every hour. Alternatively, the data download program 4350 is started in response to an instruction from the administrator 1000. Alternatively, the data download program 4350 is started when the geospatial data 4400 is changed. Alternatively, the data download program 4350 is started when a notification that new data is available is received from the geospatial data provider 3000.
[0130] Step 10202 begins an iterative process for each row of geospatial data 4400 .
[0131] In step 10203, the value of the status 4407 is read from the row currently being processed in the geospatial data 4400. If the value of the read status 4407 is "waiting for download", the process proceeds to step 10204;
[0132] In step 10204, the provider ID and request ID stored in the download information 4408 are read from the row currently being processed in the geospatial data 4400. Then, the geospatial data provider 3000 corresponding to the read provider ID is queried as to whether processing of the read request ID has been completed and whether the geospatial data can be downloaded. If the result shows that the geospatial data can be downloaded, the process proceeds to step 10205; if not, the process proceeds to step 10209.
[0133] In step 10205, available geospatial data is downloaded from the geospatial data provider 3000 and stored in data 4402 in the row currently being processed in the geospatial data 4400. This allows the geospatial data requested for download in step 10111 in the data update program 4340 in FIG. 11 to be obtained before the request from the application 5000. In addition, the status 4407 in the same row is set to "in processing." If the downloaded geospatial data is a predicted value, the date and time represented by the predicted value is stored in the predicted date and time 4406 in the same row of the geospatial data 4400.
[0134] In step 10206, the value of the status 4407 is read from the row currently being processed in the geospatial data 4400. If the value of the read status 4407 is "waiting for processing", the process proceeds to step 10207; otherwise, the process proceeds to step 10209.
[0135] In step 10207, the process specified in the registered scope table 4320 is executed on the acquired geospatial data. Here, for example, the value of the related scope 4401 is read from the row currently being processed in the geospatial data 4400, and the registered scope table 4320 is searched for a row in which the same value as the read value is set in the scope ID 11001. Then, the value of the application process 11012 of the found row is read, and the process represented by this value is applied to the geospatial data stored in the data 4402 in the row currently being processed in the geospatial data 4400. When this process is complete, the status 4407 is set to "waiting for notification." Note that if the value of the application process 11012 is empty, no particular process is applied to the geospatial data stored in the data 4402, and the status 4407 is set to "waiting for notification."
[0136] In step 10207, by performing the processing described above, the geospatial data to be provided to the application 5000 can be prepared using the geospatial data downloaded in step 10205 before a request from the application 5000 is made.
[0137] In step 10208, a notification that the geospatial data is available is sent to the application 5000. Here, the value of the application 11002 of the row searched for in the registered scope table 4320 in step 10207 is read, and a notification is sent to the application 5000 represented by that value. When this processing is complete, the status 4407 is set to "ready." Note that the processing in step 10208 is optional and does not have to be performed.
[0138] In step 10209, expired data is deleted from the geospatial data 4400. For example, the value of the time slice 4405 is read from the currently processed row in the geospatial data 4400, and based on that value, it is determined whether the data in that row has expired. If it is determined that the data has expired, the row is deleted from the geospatial data 4400 for efficiency reasons. Specifically, for example, the read value of the time slice 4405 is compared with the current time, and if the difference is greater than a predetermined threshold, it is determined that the data has expired. This threshold can be set arbitrarily, for example, by the administrator 1000. If necessary, the threshold can also be set when the application 5000 sends a scope registration request. As a result of the processing in step 10209, the geospatial data 4400 may consider the data to have expired and delete it even before it is provided to the application 5000. As a result, if it takes too long for the data to become usable and it is no longer useful to the application 5000, the data is determined to be unnecessary and deleted, thereby improving efficiency.
[0139] Step 10210 ends the iterative process of step 10202. When the iterative process has been completed for all rows of the geospatial data 4400, the data download program 4350 ends. Step 10211 indicates the end point of the data download program 4350.
[0140] (Figure 13: Data request program) Fig. 13 is a flowchart showing the processing steps of the data request program 4360. When the data request unit 4260 receives a request for geospatial data from the application 5000, it executes the processing of the data request program 4360 in accordance with the processing steps of Fig. 13. This allows the geospatial data platform 4000 to provide the portion of the geospatial data 4400 prepared in advance that is requested by the application 5000 to the application 5000.
[0141] Step 10301 indicates the start of the data request program 4360. The data request program 4360 is initiated when the application 5000 sends a geospatial data request to the geospatial data platform 4000. This geospatial data request includes, for example, an application ID and information for identifying the requested geospatial data (scope ID, timestamp, area range, etc.). For example, in an application 5000 that requires analytical information about customer assets, these values can be set based on input from an end user. Alternatively, in an application 5000 that runs periodically or upon notification, these values can be set to values that allow analysis to be performed as soon as new geospatial data becomes available.
[0142] In step 10302, the application that sent the geospatial data request and the contents of the request are verified. Here, for example, the application ID and scope ID included in the received geospatial data request are obtained, and a search is made for a row in the registered scope table 4320 in which the obtained application ID and scope ID are set to application 11002 and scope ID 11001, respectively. Optionally, an authentication mechanism such as a digital certificate or digital token may be used to verify whether the obtained application ID is legitimate. If a corresponding row is not found in the registered scope table 4320, an error is returned to the application 5000, and the data request program 4360 is terminated.
[0143] In step 10303, available geospatial data is obtained from the geospatial data 4400. Here, for example, a scope ID included in the received geospatial data request is obtained, and a search is made for a row in the geospatial data 4400 in which the obtained scope ID is set in the related scope 4401 and the status 4407 is "ready." At this time, a list of available geospatial data may be provided to the application 5000.
[0144] In step 10304, temporal filtering is performed on the geospatial data acquired in step 10303. Here, temporal filtering is performed by searching for rows of the geospatial data 4400 found in step 10303, for which the value of the timestamp included in the received geospatial data request is within the time range indicated by the time slice 4405. If no matching row is found, an error is returned to the application 5000 and the data request program 4360 is terminated.
[0145] In step 10305, spatial filtering is further performed on the geospatial data that has been temporally filtered in step 10304. Here, spatial filtering is performed by searching for rows of the geospatial data 4400 found in step 10304, for example, rows whose area range included in the received geospatial data request is within the geographical range indicated by the area 4403. If no matching row is found, an error is returned to the application 5000 and the data request program 4360 is terminated.
[0146] In step 10306, the geospatial data subjected to spatial filtering in step 10305 is acquired and provided to the application 5000. Here, for example, data 4402 is read from the row of the geospatial data 4400 found in step 10305, and returned to the application 5000 that sent the geospatial data request. At this time, if the value of the area range included in the received geospatial data request is smaller than the geographical range indicated by the area 4403, only the data portion of the read data 4402 corresponding to the area range in the geospatial data request may be extracted and sent to the application 5000. Furthermore, at this time, values such as the timestamp 4404, the time slice 4405, the predicted date and time 4406, and the related information 4409 may also be returned. If necessary, information required for the application 5000 to later download the geospatial data, such as FTP connection information, may also be sent.
[0147] After the processing of step 10306 is executed, the data request program 4360 is terminated. Step 10307 indicates the end point of the data request program 4360.
[0148] (Figure 14: Dynamic area calculation process) Fig. 14 is a flowchart showing the processing procedure for dynamic area calculation processing. In step 10104 of Fig. 11, the data update unit 4240 performs dynamic area calculation processing according to the processing procedure of Fig. 14. Step 10401 indicates the start point of the dynamic area calculation processing.
[0149] In step 10402, the type of database to be referenced when determining the geographical range of the dynamic area is determined. Here, for example, the value of the reference database 4312 is read from the row of the dynamic area table 4310 identified in step 10104, and the type of database to be referenced is determined based on that value. As a result, if the value of the reference database 4312 is "LULC," it is determined that the database to be referenced is the LULC dataset 7000, and processing proceeds to step 10403. On the other hand, if the value of the reference database 4312 is "customer data," it is determined that the database to be referenced is the customer database 9000, and processing proceeds to step 10404. Furthermore, if the value of the reference database 4312 is "news distribution," it is determined that the database to be referenced is the news distribution service 8000, and processing proceeds to step 10405.
[0150] In step 10403, dynamic area calculation processing for LULC is executed. Here, the LULC dataset 7000 is referenced, and cells that satisfy the area conditions (keyword 4313, keyword search target 4314, association date 4315, association position 4316, association ID 41317) written in the row of the dynamic area table 4310 identified in step 10104 are identified in the LULC data 7100 contained in the LULC dataset 7000. The range of the identified cells is then set as the geographic range of the dynamic area at the current time. Details of the processing content of step 10403 will be described later with reference to the flowchart shown in FIG. 15.
[0151] In step 10404, dynamic area calculation processing for customer data is executed. Here, the customer database 9000 is referenced, and a row in the customer data 9100 held by the customer database 9000 that satisfies the area condition described in the row of the dynamic area table 4310 identified in step 10104 is identified. Then, based on the contents of the identified row, the geographic range of the dynamic area at the current time is calculated. Details of the processing content of step 10404 will be described later with reference to the flowchart shown in FIG. 16.
[0152] In step 10405, dynamic area calculation processing for news distribution is executed. Here, the news distribution service 8000 is referenced, and a row that satisfies the area condition described in the row of the dynamic area table 4310 identified in step 10104 is identified in the news distribution data 8100 held by the news distribution service 8000. Then, based on the contents of the identified row, the geographic range of the dynamic area at the current time is calculated. Details of the processing content of step 10405 will be described later with reference to the flowchart shown in FIG. 17.
[0153] The dynamic area calculation process ends after executing the process of any one of steps 10403, 10404, or 10405. Step 10406 indicates the end point of the dynamic area calculation process.
[0154] (Figure 15: Dynamic area calculation process for LULC) Fig. 15 is a flowchart showing the processing steps of the dynamic area calculation process for LULC. In step 10403 of Fig. 14, the data update unit 4240 performs the dynamic area calculation process according to the processing steps of Fig. 15. Step 10411 indicates the start point of the dynamic area calculation process for LULC.
[0155] In step 10412, a location corresponding to the keyword is searched for within the LULC data 7100. Here, for example, the values of the keyword 4313 and keyword search target 4314 are read from the row of the dynamic area table 4310 identified in step 10104. Then, by searching the LULC data 7100 for cells that contain text represented by the value of the read keyword 4313 in the attribute information T specified in the keyword search target 4314, it is possible to search for a location corresponding to the keyword.
[0156] In step 10413, the locations found in step 10412 are grouped. Here, the cells are grouped by classifying adjacent cells among the multiple cells found in step 10412 into the same cluster. At this time, a well-known clustering algorithm such as the K-means method may be used.
[0157] In step 10414, an iterative process begins for each cluster determined in step 10413.
[0158] In step 10415, the range of the cluster currently being processed is calculated. Here, for example, the cell located at the outermost periphery of the cluster is identified, and the position of that cell is obtained to calculate the cluster range. Note that at this time, as an option, a margin of a predetermined size, for example, equivalent to the size of each cell included in the LULC data 7100, may be added to the cluster range. The cluster range calculated here represents the geographical range of the dynamic area according to the current situation.
[0159] In step 10416, the iterative process of step 10414 is ended. When the iterative process has been completed for all clusters, the dynamic area calculation process for LULC is ended. Step 10417 indicates the end point of the dynamic area calculation process for LULC.
[0160] (Figure 16: Dynamic area calculation process for customer data) Fig. 16 is a flowchart showing the processing steps for dynamic area calculation processing for customer data. In step 10404 of Fig. 14, the data update unit 4240 performs dynamic area calculation processing according to the processing steps of Fig. 16. Step 10421 indicates the start point of dynamic area calculation processing for customer data.
[0161] In step 10422, a row corresponding to the keyword is searched for in the customer data 9100. Here, for example, the values of the keyword 4313 and the keyword search target 4314 are read from the row of the dynamic area table 4310 identified in step 10104. Then, the row corresponding to the keyword is searched for in the customer data 9100 by searching for rows that contain the text represented by the value of the read keyword 4313 in the column specified in the keyword search target 4314. As a result, rows that contain keywords such as "farmland," "power transmission line," and "power plant" in the asset type 9102 are searched for in the customer data 9100.
[0162] Step 10423 begins an iterative process for each row of customer data 9100 retrieved in step 10422 .
[0163] In step 10424, a location associated with the dynamic area is identified. Here, for example, the value of the associated location 4316 is read from the row of the dynamic area table 4310 identified in step 10104. Then, in the row currently being processed in the customer data 9100, the value of the column corresponding to the value read from the dynamic area table 4310 is read, and the location described there is identified as the location associated with the dynamic area according to the current situation. As a result, for example, each coordinate value stored in the asset location 9103 of the row in the customer data 9100 is obtained as information indicating the location associated with the dynamic area.
[0164] In step 10425, information associated with the dynamic area is identified. Here, for example, the value of the association ID 4317 is read from the row of the dynamic area table 4310 identified in step 10104. Then, in the row currently being processed in the customer data 9100, the value of the column corresponding to the value read from the dynamic area table 4310 is read, and the information written there is identified as information associated with the dynamic area according to the current situation. As a result, for example, the ID number stored in the asset ID 9101 of the row in the customer data 9100 is obtained as information associated with the dynamic area.
[0165] Step 10426 ends the iterative process of step 10423. When the iterative process has been completed for all rows of customer data 9100 retrieved in step 10422, the dynamic area calculation process for customer data ends. Step 10427 indicates the end point of the dynamic area calculation process for customer data.
[0166] (Figure 17: Dynamic area calculation process for news distribution) Fig. 17 is a flowchart showing the processing steps of dynamic area calculation processing for news distribution. In step 10405 of Fig. 14, the data update unit 4240 performs dynamic area calculation processing according to the processing steps of Fig. 17. Step 10431 indicates the start point of dynamic area calculation processing for news distribution.
[0167] In step 10432, a row corresponding to the keyword is searched for in news distribution data 8100. Here, for example, the values of keyword 4313 and keyword search target 4314 are read from the row of dynamic area table 4310 identified in step 10104. Then, in news distribution data 8100, a row that includes text represented by the value of keyword 4313 that has been read out in the column specified by keyword search target 4314 is searched for, thereby searching for a row corresponding to the keyword. As a result, for example, a row that includes a keyword such as "fire" in news content 8102 is searched for in news distribution data 8100.
[0168] Step 10433 begins an iterative process for each row of news feed data 8100 retrieved in step 10432 .
[0169] In step 10434, in the current row to be processed in news distribution data 8100, the part representing the address is identified from the text written in the column in which the keyword search was performed in step 10432.
[0170] In step 10435, coordinates corresponding to the address identified in step 10434 are obtained. Here, a request for the location corresponding to the address identified in step 10434 is sent to the geocoding service 6000, and information returned from the geocoding service 6000 is received, thereby obtaining the coordinates corresponding to the address.
[0171] In step 10436, the date associated with the dynamic area is identified. Here, for example, the value of the associated date 4315 is read from the row of the dynamic area table 4310 identified in step 10104. Then, in the row currently being processed in the news distribution data 8100, the value of the column corresponding to the value read from the dynamic area table 4310 is read, and the date written there is identified as the date associated with the dynamic area according to the current situation. As a result, for example, the date stored in the publication date 8101 of the row in the news distribution data 8100 is obtained as the date associated with the dynamic area.
[0172] In step 10437, the iterative process of step 10433 is ended. When the iterative process has been completed for all rows of the news delivery data 8100 searched in step 10432, the dynamic area calculation process for news delivery is ended. Step 10438 indicates the end point of the dynamic area calculation process for news delivery.
[0173] According to the embodiment of the present invention described above, the following advantageous effects can be obtained.
[0174] (1) The geospatial data platform 4000 is a system that acquires geospatial data 4400 according to acquisition conditions pre-registered in the dynamic area table 4310 and the registered scope table 4320, and provides the acquired data to the application 5000. The acquisition conditions include area conditions (area 11006, area margin 11007) related to the future geographic range of the geospatial data 4400, and time conditions (reference date 11008, time range 11009, temporal resolution 11010) related to the acquisition timing of the geospatial data 4400. For each acquisition timing specified by the time conditions, the geospatial data 4400 that satisfies the area conditions at the acquisition timing is prepared before a request from the application 5000 (steps 10111, 10205, 10207). This configuration enables the application 5000, which provides a service using geospatial data to a user, to shorten the response time of the service.
[0175] (2) The area condition represented by the area 11006 includes a condition for the geographic range of a dynamic area, which is an area that changes dynamically. The geospatial data platform 4000 also has a data update unit 4240 that uses information from external resources to calculate the geographic range of the dynamic area at the acquisition timing specified by the time condition. This makes it possible to reliably calculate the geographic range of a dynamic area whose geographic range changes dynamically depending on the situation.
[0176] (3) The information on external resources includes the LULC dataset 7000. The data update unit 4240 calculates the geographical range of the dynamic area at the acquisition timing specified by the time condition by searching for the range of an area that satisfies a predetermined condition in the LULC dataset 7000 at that acquisition timing ( FIG. 15 ). As a result, for example, for an application that uses daily weather forecast data to predict the risk of wildfires in forested areas in the country, it is possible to appropriately determine the geographical range for providing weather forecast data as geospatial data required for this service.
[0177] (4) The information on external resources also includes the customer database 9000 and the geocoding service 6000, which are databases containing geographic information. The data update unit 4240 calculates the geographic range of the dynamic area at the acquisition timing specified by the time condition by searching the range of the area that satisfies the predetermined conditions in the customer database 9000 and the geocoding service 6000 at the acquisition timing ( FIG. 16 ). As a result, for example, for an application that analyzes vegetation by comparing NDVI data at two past points in time for the location of assets owned by a customer and provides the analysis results to the customer, the geographic range for providing NDVI data as geospatial data required for this service can be appropriately determined.
[0178] (5) Furthermore, the information on external resources includes a news distribution service 8000, which is a database for news distribution. The data update unit 4240 searches for news containing the specified geographical keyword in the news distribution service 8000 at the acquisition timing specified by the time condition, and calculates the geographical range of the dynamic area at that acquisition timing by searching for the range of the area corresponding to the geographical keyword included in the searched news (FIG. 17). As a result, for example, when a forest fire is reported in the news, for an application that compares two photos before and after the forest fire to provide a user with insights for damage assessment, the geographical range for providing photographic data as geospatial data required for this service can be appropriately determined.
[0179] It goes without saying that the present invention is not limited to the above-described embodiments and can be modified in various ways without departing from the spirit of the present invention. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those having all of the described configurations. Furthermore, it is possible to add, delete, or replace part of the configuration of the above-described embodiments with other configurations.
[0180] Furthermore, the above-mentioned configurations, functional units, processing units, processing means, etc. may be realized in part or in whole by, for example, a GPU, or may be realized in hardware by designing an FPGA or integrated circuit. Furthermore, the above-mentioned configurations, functions, etc. may be realized in software by a processor (including at least a CPU and a GPU) interpreting and executing a program that realizes each function. Information such as the programs, tables, and files that realize each function can be stored in a memory, a hard disk, a recording device such as an SSD, an IC card, an SD card, a DVD, or other recording media.
[0181] In addition, in the above figures, the control lines and information lines shown are those that are considered necessary for explanation, and do not necessarily show all the control lines and information lines that are actually implemented. For example, it can be considered that almost all components are actually connected to each other. [Explanation of symbols]
[0182] 1000: Administrator 2000: Application Developer 3000: Geospatial Data Providers 4000: Geospatial Data Platform 4100: Communications Department 4200:CPU 4230: Scope registration section 4240: Data update section 4250: Data Download Department 4260: Data request section 4300:Memory 4310: Dynamic Area Table 4320: Registered scope table 4330: Scope Registration Program 4340: Data update program 4350: Data download program 4360: Data request program 4400: Geospatial data 4500: Auxiliary storage device 5000: Applications 6000: Geocoding service 6100: Geocoding service data 7000:LULC dataset 7100:LULC data 8000: News distribution service 8100: News distribution data 9000: Customer database 9100: Customer Data
Claims
1. A geospatial data platform is a system having one or more processors and one or more communication interfaces, acquiring geospatial data according to pre-registered acquisition conditions, and providing the acquired geospatial data to an application via the communication interfaces, the acquisition condition includes an area condition regarding a geographical range of the geospatial data in the future and a time condition regarding an acquisition timing of the geospatial data; the processor prepares, for each of the acquisition timings specified by the time condition, the geospatial data that satisfies the area condition at the acquisition timing before a request from the application; Geospatial data platform.
2. The geospatial data platform of claim 1 , The area condition includes a condition of a geographical range of a dynamic area, which is a dynamically changing area; the processor calculates the geographical extent of the dynamic area at the acquisition timing using information from an external resource; Geospatial data platform.
3. The geospatial data platform of claim 2, the information from the external resource includes a land use land cover dataset; the processor calculates the geographical extent of the dynamic area at the acquisition time by searching for an area that satisfies a predetermined condition in the land use / land cover dataset at the acquisition time; Geospatial data platform.
4. The geospatial data platform of claim 2, the information on the external resource includes a database containing geographic information; the processor calculates the geographical extent of the dynamic area at the acquisition time by searching the database at the acquisition time for an area that satisfies a predetermined condition; Geospatial data platform.
5. The geospatial data platform of claim 2, The information on the external resource includes a database for news distribution; the processor searches the database for news items containing the specified geographic keyword at the acquisition time, and calculates the geographic range of the dynamic area at the acquisition time by searching for the range of an area corresponding to the geographic keyword included in the searched news items; Geospatial data platform.
6. A geospatial data platform according to any one of claims 1 to 5; one or more computers for processing at least one of a geospatial data provider, an application, a geocoding service, a LULC dataset, a news distribution service, and a customer database; A geospatial data utilization system with
7. A method for acquiring geospatial data according to pre-registered acquisition conditions and providing the data to an application, comprising: the acquisition condition includes an area condition regarding a geographical range of the geospatial data in the future and a time condition regarding an acquisition timing of the geospatial data; a computer prepares, for each of the acquisition timings specified by the time condition, the geospatial data that satisfies the area condition at the acquisition timing before a request from the application; providing the prepared geospatial data from the computer to the application in response to a request from the application; Geospatial data provision methods.
8. The geospatial data providing method according to claim 7, The area condition includes a condition of a geographical range of a dynamic area, which is a dynamically changing area; calculating, by the computer, the geographical extent of the dynamic area at the acquisition timing using information from an external resource; Geospatial data provision methods.
9. 9. The geospatial data providing method according to claim 8, the information from the external resource includes a land use land cover dataset; calculating a geographical extent of the dynamic area at the acquisition time by searching, with the computer, for a range of an area that satisfies a predetermined condition in the land use / land cover dataset at the acquisition time; Geospatial data provision methods.
10. 9. The geospatial data providing method according to claim 8, the information on the external resource includes a database containing geographic information; The computer calculates the geographical range of the dynamic area at the acquisition time by searching the database at the acquisition time for a range of an area that satisfies a predetermined condition. Geospatial data provision methods.
11. 9. The geospatial data providing method according to claim 8, The information on the external resource includes a database for news distribution; The computer searches the database for news containing the specified geographic keyword at the time of acquisition, and calculates the geographic range of the dynamic area at the time of acquisition by searching the range of the region corresponding to the geographic keyword included in the searched news. Geospatial data provision methods.
12. A program that causes a computer to execute the geospatial data providing method according to any one of claims 7 to 11.
Citation Information
Patent Citations
US11,360,970