Abstract: ABSTRACT A SYSTEM FOR DATA PROCESSING AND A METHOD THEREOF A system architecture (1000), for enabling data processing comprises a Cloud Computing Infrastructure (CCI) which comprises, one or more Application Programming interface (API) load balancers (101), one or more User interface (UI) balancers (102), one or more UI clusters (103), one or more master service clusters (104), one or more batch data archivers (105), one or more data extractors (106), one or more batch processing nodes (107), one or more Relational Database system (RDS) (108) and a data storage (200). Further, one or more processors of the CCI are coupled with a memory and execute instruction for: receiving an input data from one or more data sources and one or more parameters related to the data sources and processing received input data to generate any one of point cloud or ortho or digital surface model or combination thereof. (To be published with Fig. 1)
DESC:FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See Section 10 and Rule 13)
Title of Invention:
A SYSTEM FOR DATA PROCESSING AND A METHOD THEREOF
APPLICANT:
AARAV UNMANNED SYSTEMS PVT. LTD.
An Indian entity having address as:
No.3, 80 Feet Main Road,
MCHS Layout, Jakkuru Layout
Jakkur, Bengaluru,
Karnataka (IN) - 560064
The following specification describes the invention and the manner in which it is to be performed.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims priority from the Indian patent application, having application number 202341024475, filed on 31st March 2023, incorporated herein by a reference.
TECHNICAL FIELD
[0002] The present disclosure relates to the field of data processing. More specifically, the present specification relates to geospatial data processing. More specifically, the present specification relates to a system architecture for digital geospatial data processing that may be used in the context of drones and other unmanned aerial vehicle applications.
BACKGROUND
[0003] This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present disclosure that are described or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it should be understood that these statements in this background section are to be read in this light, and not as admissions of prior art. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also correspond to implementations of the claimed technology.
[0004] Structural and geospatial data are valuable in areas such as, for example but not limited to, real estate transaction, planning, or insurance. Non-limiting examples of the structural and geospatial data include the following: the area of real property including land and/or buildings; the square footage of a building; the roof size and/or type; the presence of a pool and its size and/or location; and the presence of trees and its type, size, and/or location. Traditionally, the structural and geospatial information can be obtained by (1) manually checking real estate records from relevant agencies; or (2) manually surveying the underlying real properties. These traditional methods suffer from a number of drawbacks and deficiencies such as outdated records, missing records, or destroyed records, labour intensive manual checking and surveying and costly processes.
[0005] In recent developments, the structural and geospatial data are being obtained by using imaging techniques. Generally, the imaging is being captured through drones or through remote satellites. The market for image processing has also historically been limited by the high cost of obtaining images to process. Starting in the 1970s with the Landsat satellite, this began to change as low resolution satellite images became publicly available. A series of new satellites has opened up progressively more applications as the resolution, spectral coverage, geographic coverage, and cost per image have all continuously improved; accordingly, a significant market in commercial remote sensing imagery has emerged. But even this market has been limited from achieving its full potential because of the still-present requirement for expensive, scarce image processing talent. Some progress has been made in automated image processing technologies, but for a vast range of current and potential applications, large scale image analysis (such as would be needed when analyzing satellite images of a large region) along with real time processing remains too expensive and too supply-constrained to use.
[0006] Currently, geospatial data at scale are generally being obtained from sources such as satellite imagery. Further, aerial images at scale are obtained from drones or aircrafts. The aerial and satellite imagery generates an orthomosaic and digital surface model, which is raster data. Further, vector data is generated through automated and manual digitization on the raster data. Further, terrain data are generally obtained through fields surveying through Global Positioning System (GPS) receivers. Conventional, an individual system has been used for processing raster, terrain, and vector geospatial or aerial data. These conventional systems are facing various limitations with respect to integration of data, format incompatibility, low scalability, low throughput of data processing, isolated data visualization for different types of data.
[0007] As known in the conventional art, there may be technologies available which provide web-based integration of agriculture geographic data with the agriculture equipment. Further, there may be technologies cloud computing based thermal anomaly-based ignition event detection from a set of satellite imagery data. But none of the conventional arts are able to provide an integrated system for processing the raw data received from the drone to create point clouds, ORI imagery and Digital Surface Model for analysis of data.
[0008] Thus, there is this long-standing need of a system architecture and a method for processing the raw data received from the drone to create point clouds, Orthorectified Radar Image (ORI) imagery and Digital Surface Model (DSM) used for further analysis of the data.
SUMMARY
[0009] This summary is provided to introduce concepts related to the field of data processing, and more particularly, to a system architecture for digital geospatial data processing and a method thereof. This summary is not intended to identify the essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
[0010] In an exemplary embodiment, a system architecture for enabling data processing is disclosed. The system architecture comprises a Cloud Computing Infrastructure (CCI) which further comprises one or more Application Programming interface (API) load balancers, one or more User interface (UI) balancers, one or more UI clusters, one or more master service clusters, one or more batch data archivers, one or more data extractors, one or more batch processing nodes, one or more Relational Database system (RDS), and a data storage.
[0011] In one embodiment, the data storage comprises, one or more output data storages, one or more source image storages, one or more license storages.
[0012] In another embodiment, one or more processors of the CCI are coupled with a memory and execute instructions stored in the memory. The the one or more processors may execute instructions for receiving an input data from one or more data sources. In one embodiment, the input data comprises a plurality of images, a plurality of geotags, a plurality of Ground Control Points (GCP) and one or more parameters related to data sources. Further, one or more processors may be configured to execute instructions for processing received input data to generate point cloud or ortho and digital surface model.
[0013] In another exemplary embodiment, a method for the data processing platform is disclosed. The method may comprise steps for checking, prerequisite of the image data via one or more processors. Further, the method may comprise step for processing, the images for generating tie points via the one or more processors. Furthermore, the method may comprise step for generating, a dense point cloud for the image data via the one or more processors. Furthermore, the method may comprise a step forfinally creating, an ortho and digital surface model (DSM) file for the image data via the one or more processors.
[0014] The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the following detailed description.
BRIEF DESCRIPTION OF DRAWINGS
[0015] Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
[0016] Fig. 1 illustrates a system architecture (1000) for enabling data processing, in accordance with various embodiment of the present subject matter;
[0017] Fig. 2 illustrates an exemplary embodiment (2000) of the system architecture (1000) for enabling data processing in accordance with various embodiment of the present subject matter;
[0018] Fig. 3 illustrates a method (3000) for enabling the data processing , in accordance with various embodiment of the present subject matter;
[0019] Fig. 4 illustrates a stepwise method (500) for checking prerequisite of the image data, in accordance with various embodiment of the present subject matter;
[0020] Fig. 5 illustrates a stepwise method (600) for processing of the images for generating tie points, in accordance with various embodiment of the present subject matter;
[0021] Fig. 6 illustrates a stepwise method (700) for generating a dense cloud for the image data, in accordance with various embodiment of the present subject matter;
[0022] Fig. 7 illustrates a stepwise method (800) for creating the ortho and digital surface model (DSM) file for the image data, in accordance with various embodiments of the present subject matter.
[0023] It should be noted that the accompanying figures are intended to present illustrations of exemplary embodiments of the present disclosure. These figures are not intended to limit the scope of the present disclosure.
DETAILED DESCRIPTION
[0024] Reference throughout the specification to “various embodiments,” “some embodiments,” “one embodiment,” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, appearances of the phrases “in various embodiments,” “in some embodiments,” “in one embodiment,” or “in an embodiment” in places throughout the specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0025] In an implementation of present disclosure, a system architecture (1000) for enabling a data processing platform is disclosed.
[0026] Now, referring to fig. 1, the system architecture (1000) for enabling data processing may comprise one or more API load balancers (101), one or more user interface (UI) load balancers (102), one or more Master service clusters (104), one or more UI clusters (103), one or more data storage (200), one or more batch data archiver (105), one or more data extractors (106), one or more batch processing node, a one or more relational database system (RDS) storages (108). In one embodiment, the system architecture (1000) may be configured to be hosted on a cloud computing infrastructure (here onwards CCI). In one embodiment, the system architecture (1000) may be hosted on the CCI to ingest, process, host and deliver digital data. In another embodiment, the system architecture (1000) may be hosted on the CCI to ingest, process, host and deliver geospatial data.
[0027] In one embodiment, the CCI may be a service provided by, well-known cloud service providers include, by way of example and not limited in any way to many others, Amazon Web Services (AWS) by Amazon Inc., Google Cloud Platform or GCE/GCS, by Google, Inc., Microsoft cloud or Azure, by Microsoft Inc., OpenStack, VMware, IBM etc.
[0028] In another embodiment, the CCI may comprise at least one of, a virtual private cloud (VPC), a public cloud, a hybrid cloud, and a combination thereof, wherein the virtual private cloud may be configured to create a logically isolated network to work on.
[0029] In one embodiment, the system architecture (1000) for enabling data processing may comprise a Cloud Computing Infrastructure (CCI). The CCI further comprises the one or more Application Programming interface (API) load balancers (101), the one or more User interface (UI) balancers (102), the one or more UI clusters (103), the one or more master service clusters (104), the one or more batch data archivers (105), the one or more data extractors (106), the one or more batch processing nodes (107), the one or more Relational Database system (RDS) (108), and a data storage (200). Further, the data storage (200) may comprise, one or more output data storages (201), one or more source image storages (202), one or more license storages (203).
[0030] Further, the CCI may comprise one or more processors. The one or more processors of the CCI are coupled with a memory and execute instruction for: receiving an input data from one or more data sources. The input data may comprise a plurality of images, a plurality of geotags, a plurality of Ground Control Points (GCP) and one or more parameters related to the one or more data sources.
[0031] Furthermore, the one or more processors may be configured to processing received input data to generate any one of point cloud or ortho or digital surface model or combination thereof.
[0032] In one embodiment of the system architecture (1000), the one or more data sources may comprise drones, Unmanned Aerial Vehicles (UAVs), remote satellites, remote sensing devices, aircrafts, or combination thereof. Further, the input data may comprise geospatial data, aerial data, raster data, vector data, terrain data, or combination thereof.
[0033] Now, referring to fig. 2, an exemplary embodiment (2000) of the system architecture (1000) for enabling data processing is disclosed. In the embodiment (2000), one or more client user devices (300) may be connected to the system architecture (1000) for providing a processing request. In one exemplary embodiment, the processing request may comprise processing request of one or more image data. In one embodiment, the one or more image data may be captured by data sources. The examples data sources include, but not limited to, drone, remote satellites, aircraft, unmanned aerial vehicle (UAV), remote sensing devices or a combination thereof. In one embodiment, the one or more client user devices (300) may be connected to the system architecture (1000) through a communication network.
[0034] In an exemplary embodiment, the communication network may be a wireless network, a wired network or a combination thereof. The communication network may comprising any one of the following: a cable network, a wireless network, a telephone network (e.g., Analog, Digital, POTS, PSTN, ISDN, xDSL), a cellular communication network, a mobile telephone network (e.g., CDMA, GSM, NDAC, TDMA, E-TDMA, NAMPS, WCDMA, CDMA-2000, UMTS, 3G, 4G, 5G, 6G), a radio network, a television network, an Internet, an intranet, a local area network (LAN), a wide area network (WAN), an electronic positioning network, an X.25 network, an optical network (e.g., PON), a satellite network (e.g., VSAT), a packet-switched network, a circuit-switched network, a public network, a private network, and/or other wired or wireless communications network configured to carry data. The aforementioned network 104 may support wireless local area network (WLAN) and/or wireless metropolitan area network (WMAN) data communications functionality in accordance with Institute of Electrical and Electronics Engineers (IEEE) standards, protocols, and variants such as IEEE 802.11 (“WiFi”), IEEE 802.16 (“WiMAX”), IEEE 802.20x (“Mobile-Fi”), and others.
[0035] In one embodiment, the data storage (200) may comprise an output data storage (201), a source image storage (202) and a license storage (203). In one embodiment, the output data storage (201) may comprise an output data storage service, hosted on the CCI for storing an output processed by the system architecture (1000). In another embodiment, the source image storage (202) may comprise an image storage service, hosted on the CCI, for storing the one or more image data. In another embodiment, the license storage (203) may comprise a licensing storage service, hosted on the cloud platform, for storing data related to license of one or more third party services, wherein the one or more third party services may be external to the system architecture (1000).
[0036] In one embodiment, the one or more API load balancers (101) may comprise one or more API load balancing services, hosted on the CCI, for balancing one or more client API requests receiving from the one or more client devices (300). In one embodiment, the one or more client API requests may comprise the one or more processing requests of the image data. In one embodiment, the one or more API load balancers (101) may transmit the one or more client API requests to the one or more master service clusters (104).
[0037] In one embodiment, the one or more UI load balancers (102) may comprise one or more UI load balancing services, hosted on the CCI, for balancing one or more client UI requests receiving from the one or more client devices (300). In one embodiment, the one or more client UI requests may comprise the one or more visualization requests of the image data. In one embodiment, the one or more UI load balancers (102) may transmit the one or more client UI requests to the one or more UI clusters (103). In one embodiment, the one or more client devices (300) may be communicatively coupled with the one or more API load balancers (101) and the one or more UI load balancers (102). In another embodiment, the one or more client devices (300) may be further connected to the output data storage (201) and the source image storage (202).
[0038] In one embodiment, the one or more master service clusters (104) may comprise one or more raster services (104-b), one or more image services (104-c), one or more master services (104-a) and one or more log services (104-d). In one embodiment, the one or more raster services (104-b) may be hosted on the (CCI). In one embodiment, the one or raster services (104-b) may be configured to determine which one or more tiles needs to be fetched from the data stored on the output data storage (201), through byte range request, wherein the data stored on the output data storage (201) may be a cloud optimized GeoTIFF data.
[0039] In one embodiment, the one or more image services (104-c) may comprise one or more imaging service, hosted on the CCI. In one embodiment, the one or more image services (104-c) may be configured to stream images from a zip file. In one embodiment, the one or more image services (104-c) may be communicatively coupled to the source image storage (202). In one embodiment, the one or more log services (104-d) may comprise one or more logging services, hosted on the CCI, used for streaming the log of tasks under processing by the system. In one embodiment a master service (104-a) may be hosted on the CCI.
[0040] In one embodiment, the system architecture (1000) may comprise a plurality of servers to embed different services. For example, the master services (104-a) may be embedded in a master server. The one or more raster services (104-b) may be embedded on one or more raster servers. The one or more image services (104-c) may be embedded on one or more image servers. The one or more log services (104-d) may be embedded on one or more log servers.
[0041] The plurality of servers may be configured to communicably connect with each other. Further, the plurality of servers may be configured to communicate with the one or more API load balancers (101), one or more UI load balancers (102), one or more master service clusters (104), one or more UI clusters (103), one or more data storage (200), the one or more batch data archiver (105), the one or more data extractors (106), one or more batch processing nodes, the one or more relational database system (RDS) storages (108).
[0042] In one embodiment, the one or more master services (104-a) may be configured to manage, for example but not limited to, the one or more raster services (104-b), the one or more image services (104-c), the one or more log services (104-d), the one or more third party services and more. In one embodiment, the one or more API load balancers (101) may be communicatively coupled to all services of the one or more master service clusters (104). In one embodiment, the one or more UI clusters (103) may comprise a UI pipeline service, hosted on the CCI. In one embodiment, the UI clusters (103) may be configured to manage the one or more client UI requests. In one embodiment, the one or more UI clusters (103) may be communicatively coupled to the one or more UI load balancers (102) for balancing the one or more client UI requests.
[0043] In one embodiment, the one or more batch data archiver (105) may comprise a batch data archiving service, hosted on the CCI, for archiving the data. In one embodiment, the batch data archiver (105) may be communicatively coupled to the one or more output data storage (201), the one or more source image storage (202), and the master service (104-a).
[0044] In one embodiment, the one or more batch processing nodes (107) may comprise a batch processing service, hosted on the CCI, for processing the data in batch jobs. In one embodiment, the one or more batch processing nodes (107) may be configured to photogrammetric processing of imagery data sets. In one embodiment, the one or more batch processing nodes (107) may be communicatively coupled to the output data storage (201), the source image storage (202), the licence storage, the master service, one or more cloud monitoring service, one or more in-memory data store or caching service.
[0045] In one embodiment, the system architecture (1000) comprises one or more monitoring services (109). The one or more monitoring services (109) may be communicably connected to one or more log services (104-d).
[0046] Further, the system architecture (1000) comprises one or more Elastic Container Registry (ECR) (400). The ECR (400) may comprise one or more registries of master server images (401), UI pipeline images (402), raster server images (403), or node processing library (404). Further, the ECR (400) may be communicably connected to the master service (104-a).
[0047] In yet another embodiment, the system architecture (1000) comprises one or more cache storage services (110). The one or more cache storage services (110) may be configured to store temporary files. Further, one or more cache storage services (110) are communicably connected to the one or more batch processing nodes (107) and one or more log services (104-d).
[0048] In one embodiment, the one or more data extractors (106) may comprise one or more data extraction service, hosted on the CCI. In one embodiment, the one or more data extractors (106) may be configured to extract Exchangeable Image File (EXIF) data from the image data set. In one embodiment, the EXIF data may comprise data related to, for example but not limited to, Latitude, Longitude and Altitude. In one embodiment, the one or more relational database system (RDS) storage (108) may comprise one or more RDS service, hosted on the CCI, used to store application and user related information. In one embodiment, the application related information may comprise at least, for example but not limited to geotag data, image information, Ground Control Points (GCPs), task status information, instance information and a combination thereof.
[0049] In one embodiment, the one or more master service clusters (104) may be connected to the one or more API load balancers (101), the one or more batch data archiver (105), the one or more output data storage (201), the one or more source image storage (202), the one or more license storage (203), the one or more data extractors (106), the one or more batch processing nodes (107), and the one or more RDS storages (108). Further, the one or more batch data archivers (105), the one or more data extractors (106) and the one or more batch processing node (107) may be connected to the output data storage (201). In one embodiment, the client device (300) may be a user device (300) configured to send one or more requests and receive one or more responses corresponding to one or more requests to the master service (104-a). The user device (300) may be configured to upload the data captured by the one or more data sources to the source image bucket. The data may comprise the plurality of images, geotags, Ground Control Points (GCP) and other drone parameters. The system architecture (1000) may be configured to process the data received from the drone or any other unmanned aerial vehicles to create point clouds, an Ortho and digital surface model.
[0050] The above mentioned system architecture (1000) can be optimized as per user requirement and change in the size of data sources. Further, based on user requirements, number of servers may be increased to solve optimize the load on the system architecture.
[0051] Now, referring to fig. 3, a method (3000) for data processing is disclosed.
[0052] At step 500, the method comprises a step for checking, via one or more processors, prerequisite of the image data.
[0053] At step 600, the method comprises a step for processing, via the one or more processors, the images for generating tie points.
[0054] At step 700, the method comprises a step for generating, via the one or more processors, a dense point cloud for the image data.
[0055] At step 800, the method comprises a step for creating, via the one or more processors, an ortho and digital surface model (DSM) file for the image data.
[0056] All the above steps are discussed in detail in following paragraphs.
[0057] Now, referring to figure 4, a stepwise method step (500) for checking, via one or more processors, prerequisite of the image data is illustrated, in accordance with an embodiment of the present disclosure.
[0058] The checking (500) of the image data may comprise following steps:
[0059] At step (501), the one or more master services (104-a) may be configured to receive at least one request of one or more requests from a client device (300), wherein the one or more requests may comprise prerequisite checking of the image data. In one embodiment, the client device (300) may be operated by a user.
[0060] Further, at step (502), the one or more master service (104-a) may be configured to read one image from the source image storage (202).
[0061] Further, at step (503), the one or more master services (104-a) may be configured to check whether the images, read from the source image storage (202), are tagged with the location data or not, wherein the location data may comprise latitude data, longitude data or altitude data.
[0062] In one embodiment, at step (504), the one or more master services (104-a) may be configured to send a command to the one or more data extractors (106) to extract EXIF data from the images, if the images are tagged with the location data, wherein the EXIF data may comprise geo tags.
[0063] In another embodiment, at step (505), the one or more master service (104-a) may be configured to indicate the user or client to upload a geotag file associated with the image if the images are not tagged with the location data. Further, at step (506), the geotag data may be extracted for these images.
[0064] In one embodiment, at step (507), the one or more master services (104-a) may be configured to store the geotag data, associated with the images, to the one or more RDS storages (108).
[0065] Now, referring to fig. 5, the stepwise method (600) for processing of the images for generating tie points is disclosed, in accordance with an embodiment of the present disclosure.
[0066] In the method (600), in one embodiment, at step (601), the one or more master services (104-a) may be configured to receive one or more requests from the user of the client device (300), wherein the one or more requests correspond to the tie point generation request.
[0067] At step (602), the one or more master services (104-a) may be configured to trigger command to one or more batch processing nodes (107), on receiving the tie point generation request.
[0068] Further, at step (603), the one or more batch processing nodes (107) may be configured to extract license data of a third-party service, from the one or more license storage (203), for validation.
[0069] Further, at step (604), after validation of the license data, the one or more batch processing nodes (107) may be configured to extract the one or more images from the one or more source image storage (202)
[0070] Further at step (605), the one or more batch processing nodes may send the extracted images to the third-party service for tie-point generation.
[0071] At step (606), the third-party service may be configured for generating the tie-point. The tie-point may comprise matching images, aligning images, stitching multiple images, and finally generating tie points.
[0072] At step (607), the one or more master service (104-a) may be configured to receive the generated tie-points from the third-party service and may store the tie-points data in the one or more output data storage (201).
[0073] At step (608), the one or more master services (104-a) may be configured to store a project file into the one or more output data storage (201), wherein the project file may comprise the tie-point data.
[0074] Now, referring to fig. 6, the stepwise method (700) for generating a dense point cloud for the image data is disclosed, in accordance with an embodiment of the present disclosure.
[0075] In one embodiment, at step (701), the one or more master services (104-a) may be configured to receive one or more requests from the user of the client device (300), wherein the one or more requests correspond to the dense point cloud generation request.
[0076] Further, at step (702), the one or more master services (104-a) may extract image data from the one or more source image storage (202) on receiving the dense point cloud generation request. Further, the one or more master services (104-a) may be configured to extract the project file from the one or more output data storage (201) and extract geotags from the one or more RDS storage (108).
[0077] At step (703), the one or more master services (104-a) may be configured to store the dense point cloud data to the one or more output data storage (201) on generation of dense point cloud.
[0078] Further, at step (704), the one or more master services (104-a) may be configured to store a dense point project file into the one or more output data storage (201), wherein the dense point project file may comprise the dense point cloud data.
[0079] Further, referring to fig. 7, the stepwise method (800) for creating an ortho and digital surface model (DSM) file for the image data is disclosed, in accordance with an embodiment of the present disclosure.
[0080] At stage (801), the one or more master services (104-a) may be configured to receive one or more requests from the user of the client device (300), wherein the one or more requests correspond to the ortho and DSM file creation request.
[0081] Further, at step (802), on receiving the ortho and DSM file creation request, the one or more master service (104-a) may be configured to extract image data from the one or more source image storage (202), extract the dense point project file from the one or more output data storage (201) and extract geotags from the one or more RDS storage (108).
[0082] Further, at step (803), on creation of the ortho and DSM file, the one or more master service (104-a) may be configured to store the ortho and DSM file to the one or more output data storage (201). In one embodiment, the ortho and DSM file, from the one or more output data storage (201), may be used for analysis of the data by the client.
[0083] In one embodiment, the method (3000) may enable the user of the client device (300) to conduct quality check (QC) at each stage of operation from the at least one of the methods, such as method (500), the method (600), the method (700), the method (800) and a combination thereof, wherein the user may be able to generate a QC report for each stage.
[0084] In one embodiment, the method may enable the user of the client device (300) to execute each stage of operation from the at least one of the methods such as the method (500), the method (600), the method (700), the method (800) and a combination thereof, individually based on the user request on each stage. In another embodiment, the method may enable the user to automatically execute all stages of operations through a single user request.
[0085] The presently disclosed system architecture (1000) for digital geospatial data processing, may have the following advantageous functionalities over the conventional art:
• Providing an integrated system for processing data obtained from different sources, rather than individual handling.
• Enabling a stage wise quality check on the processing data, which helps in sorting out any error before the data is used by subsequent stages.
• Providing a scalable mechanism to process geospatial imaging data.
• Enabling delivery of high throughput of processed data.
• Enable easy ingestion of large amount of input data.
• Providing an integrated user interface for processing different types of data.
• Enabling easy backup of the large amount of data.
• Enabling the visualization of complex data easily to the client on the client supporting device.
• Easy access of the complex data over the Internet.
• Providing real time updates to the client related to recently processed data.
[0086] The foregoing description shall be interpreted as illustrative and not in any limiting sense. A person of ordinary skill in the art would understand that certain modifications could come within the scope of this disclosure.
[0087] The embodiments, examples, and alternatives of the preceding paragraphs or the description, including any of their various aspects or respective individual feature(s), may be taken independently or in any combination. Features described in connection with one embodiment are applicable to all embodiments unless such features are incompatible.
,CLAIMS:WE CLAIM:
1. A system architecture (1000), for enabling data processing comprising:
A Cloud Computing Infrastructure (CCI) comprising, one or more Application Programming interface (API) load balancers (101), one or more User interface (UI) balancers (102), one or more UI clusters (103), one or more master service clusters (104), one or more batch data archivers (105), one or more data extractors (106), one or more batch processing nodes (107), one or more Relational Database system (RDS) (108), and a data storage (200), wherein the data storage (200) comprises, one or more output data storages (201), one or more source image storages (202), one or more license storages (203),
wherein one or more processors of the CCI are coupled with a memory and execute instruction for:
receiving an input data from one or more data sources, wherein the input data comprises a plurality of images, a plurality of geotags, a plurality of Ground Control Points (GCP) and one or more parameters related to the one or more data sources;
processing received input data to generate any one of point cloud or ortho or digital surface model or combination thereof.
2. The system architecture (1000) as claimed in claim 1, wherein the one or more data sources comprises drones, Unmanned Aerial Vehicles (UAVs), remote satellites, remote sensing devices, aircrafts, or combination thereof;
wherein the input data comprises geospatial data, aerial data, raster data, vector data, terrain data, or combination thereof.
3. The system architecture (1000) as claimed in claim 1, wherein the one or more master service clusters (104) comprises, one or more master services (104-a), one or more raster services (104-b) and one or more image services (104-c), one or more log services (104-d).
4. The system architecture (1000) as claimed in claim 1, wherein the one or more UI clusters (103) comprises a UI pipeline service (103-a).
5. The system architecture (1000) as claimed in claim 1, wherein the one or more API load balancers (101) are communicatively coupled to the one or more master services (104-a), the one or more raster services (104-b), the one or more image services (104-c) and the one or more log services (104-d).
6. The system architecture (1000) as claimed in claim 1, wherein the one or more UI load balancers (102) are communicatively coupled to the one or more UI clusters (103).
7. The system architecture (1000) as claimed in claim 1, wherein the one or more master services(104-a) is communicatively coupled to the one or more batch data archivers (105), the one or more batch processing nodes (107), the one or more data extractors (106), and the one or more RDS (108).
8. The system architecture (1000) as claimed in claim 1, wherein the one or more batch data archivers (105) are communicatively coupled to the output data storage (201) and the source image storage (202).
9. The system architecture (1000) as claimed in claim 1, wherein the one or more raster services (104-b) are further connected to the output data storage (201), wherein the one or more image services (104-c) are communicatively coupled to the source image storage (202).
10. The system architecture (1000) as claimed in claim 1, wherein the one or more batch processing nodes (107) are communicatively coupled to the master services(104-a), the one or more data extractors (106), the output storage (201), the source image storage (202) and the license storage (203).
11. The system architecture (1000) as claimed in claim 1, wherein the one or more data extractors (106) are communicatively coupled with the source image storage (202).
12. The system architecture (1000) as claimed in claim 1, wherein the system architecture (1000) is configured to be hosted on the CCI to ingest, process, host and deliver digital data, wherein the CCI is a service provided by cloud service providers.
13. The system architecture (1000) as claimed in claim 1, wherein the system architecture (1000) is configured to be hosted on the CCI to ingest, process, host and deliver geospatial data, wherein the CCI is a service provided by cloud service providers.
14. The system architecture (1000) as claimed in claim 1, wherein the CCI comprises at least one of, a virtual private cloud (VPC), a public cloud, a hybrid cloud, and a combination thereof, wherein the virtual private cloud is configured to create a logically isolated network.
15. The system architecture (1000) as claimed in claim 1, wherein the system architecture (1000) is configured to receive one or more processing requests from one or more client user devices (300), wherein the one or more processing requests comprises processing of one or more image data.
16. The system architecture (1000) as claimed in claim 1, wherein the one or more output data storages (201) comprises an output data storage service, for storing an output processed by the system architecture (1000).
17. The system architecture (1000) as claimed in claim 1, wherein the source image storage (202) comprises an image storage service, for storing the one or more image data.
18. The system architecture (1000) as claimed in claim 1, wherein the one or more license storages (203) comprises a licensing storage service, hosted on the cloud platform, for storing data related to license of one or more third party services.
19. The system architecture (1000) as claimed in claim 1, wherein the one or more API load balancers (101) comprises one or more API load balancing services, for balancing one or more client API requests receiving from the one or more client user devices (300), wherein the one or more client API requests comprises the one or more processing requests of the image data, wherein the one or more API load balancers (101) transmit the one or more client API requests to the one or more master service clusters (104).
20. The system architecture (1000) as claimed in claim 1, wherein the one or more UI load balancers (102) comprises one or more UI load balancing services, for balancing one or more client UI requests receiving from the one or more client devices (300), wherein the one or more client UI requests comprises the one or more visualization requests of the image data, wherein the one or more UI load balancers (102) transmit the one or more client UI requests to the one or more UI clusters (103), wherein the one or more client devices (300) are communicatively coupled with the one or more API load balancers (101) and the one or more UI load balancers (102), wherein the one or more client devices (300) are further connected to the one or more output data storage (201) and the source image storage (202).
21. The system architecture (1000) as claimed in claim 1, wherein the one or more master service clusters (104) comprises a master service (104-a), one or more raster services (104-b), one or more image services (104-c), and one or more log services (104-d).
22. The system architecture (1000) as claimed in claim 1, wherein the one or more raster services (104-b) comprise one or more raster service, wherein the one or raster services (104-b) are configured to determine which one or more tiles needs to be fetched from the data stored on the one or more output data storage (201), through byte range request, wherein the data stored on the one or more output data storage (201) is a cloud optimized GeoTIFF data.
23. The system architecture (1000) as claimed in claim 1, wherein the one or more image services (104-c) comprise one or more imaging service, wherein the one or more image services (104-c) are configured to stream images from a zip file, wherein the one or more image services (104-c) are communicatively coupled to the source image storage (202).
24. The system architecture (1000) as claimed in claim 1, wherein the one or more log services (104-d) comprise one or more logging services, used for streaming the log of tasks under processing by the system.
25. The system architecture (1000) as claimed in claim 1, wherein the one or more master service clusters (104) comprise a master service (104-a), wherein the master services (104-a) are configured to manage the one or more raster services (104-b), the one or more image services (104-c), the one or more log services (104-d), the one or more third party services and more.
26. The system architecture (1000) as claimed in claim 1, wherein the one or more API load balancers (101) are communicatively coupled to all services of the one or more master service clusters (104).
27. The system architecture (1000) as claimed in claim 1, wherein the one or more UI clusters (103) comprise a UI pipeline service (103-a), wherein the one or more UI clusters (103) are configured to manage the one or more client UI requests, wherein the one or more UI clusters (103) are communicatively coupled to the one or more UI load balancers (102) for balancing the one or more client UI requests.
28. The system architecture (1000) as claimed in claim 1, wherein the one or more batch data archivers (105) comprise a batch data archiving service, for archiving the data, wherein the one or more batch data archivers (105) are communicatively coupled to the one or more output data storage (201), the one or more source image storage (202), and the master service (104-a).
29. The system architecture (1000) as claimed in claim 1, wherein the one or more batch processing node (107) comprise a batch processing service, for processing the data in batch jobs, wherein the one or more batch processing node (107) are configured to photogrammetric processing of imagery data sets, wherein the one or more batch processing node (107) are communicatively coupled to the output data storage (201), the source image storage (202), the licence storage (203), the master server, one or more cloud monitoring service (109), one or more in-memory data store or caching service (110).
30. The system architecture (1000) as claimed in claim 1, wherein the one or more data extractors (106) comprise one or more data extraction service, wherein the one or more data extractors (106) are configured to extract Exchangeable Image File (EXIF) data from the image data set, wherein the EXIF data comprise data related to Latitude, Longitude and Altitude.
31. The system architecture (1000) as claimed in claim 1, wherein the one or more relational database system (RDS) (108) comprise one or more RDS service, used to store application and user related information, wherein the application related information comprise at least one of the geotag data, image information, Ground Control Points (GCPs), task status information, instance information and a combination thereof.
32. The system architecture (1000) as claimed in claim 1, wherein the one or more master service clusters (104) are connected to the one or more API load balancers (101), the one or more batch data archivers (105), the one or more output data storage (201), the one or more source image storage (202), the one or more license storages (203), the one or more data extractors (106), the one or more batch processing nodes (107), and the one or more RDS (108).
33. The system architecture (1000) as claimed in claim 1, wherein the one or more data archivers (105), the one or more data extractors (106) and the one or more batch processing node (107) are connected to the output data storage (201).
34. The system architecture (1000) as claimed in claim 1, wherein the client device (300) is a user device (300) configured to send one or more requests and receive one or more responses corresponding to one or more requests to the master server.
35. The system architecture (1000) as claimed in claim 1, wherein the user device (300) is configured to upload the data captured by the UAVs or any other unmanned aerial vehicle to the one or more source image storages (203), wherein data comprise the plurality of images, geotags, Ground Control Points (GCP) and other drone parameters.
36. The system architecture (1000) as claimed in claim 1, wherein the system architecture is configured to process the data received from the drone or any other unmanned aerial vehicles to create point clouds, an Ortho and digital surface model.
37. The system architecture (1000) as claimed in claim 1, wherein one or more monitoring services (109), wherein the one or more monitoring services (109) are communicably connected to one or more log services (104-d).
38. The system architecture (1000) as claimed in claim 1, wherein the system architecture (1000) comprises one or more cache storage services (110), wherein one or more cache storage services (110) are configured to store temporary files, wherein one or more cache storage services (110) are communicably connected to the one or more batch processing nodes (107) and one or more log services (104-d).
39. The system architecture (1000) as claimed in claim 1, wherein the system architecture (1000) comprises one or more Elastic Container Registry (ECR) (400), the ECR (400) comprises one or more registries of master server images (401), UI pipeline images (402), raster server images (403), or node processing library (404).
40. A method (3000) for the data processing comprising:
Checking (500), via one or more processors, prerequisite of the image data;
Processing (600), via the one or more processors, the images for generating tie points;
Generating (700), via the one or more processors, a dense point cloud for the image data;
Creating (800), via the one or more processors, an ortho and digital surface model (DSM) file for the image data.
41. The method (3000) as claimed in claim 40, wherein the checking (500) prerequisite of the image data comprises steps of:
receiving (501), by the one or more master services (104-a), at least one request of one or more requests from a client device (300), wherein the one or more requests comprise prerequisite checking of the image data, wherein the client device (300) is operated by a user;
reading (502), by the one or more master services (104-a), one image from the source image storage (202);
checking (503), by the one or more master services (104-a), whether the images, read from the source image storage (202), are tagged with the location data or not;
sending (504), by the one or more master services (104-a), a command to the one or more data extractors (106) to extract EXIF data from the images, if the images are tagged with the location data;
indicating (505), by the one or more master services (104-a), the user or client to upload a geotag file associated with the image, if the images are not tagged with the location data;
extracting (506), by the one or more master services (104-a), the geotag data form the geotag file by the user;
storing (507), by the one or more master services (104-a), the geotag data associated with the images, to the one or more RDS (108).
42. The method (3000) as claimed in claim 40, wherein the processing (600) comprises step of:
receiving (601), by the one or more master services (104-a), one or more requests from the user of the client device (300), wherein the one or more requests correspond to the tie point generation request.
43. The method (3000) as claimed in claim 40, wherein the processing (600) comprises step of:
triggering (602), by the one or more master services (104-a), command to one or more batch processing node (107), based on received the tie point generation request.
44. The method (3000) as claimed in claim 40, wherein the processing (600) comprises step of:
extracting (603), by the one or more batch processing node (107), license data of a third-party service, from the one or more license storages (203), for validation.
45. The method (3000) as claimed in claim 40, wherein the processing (600) comprises step of:
extracting (604), by the one or more batch processing node (107), the one or more images from the one or more source image storage (202), after validation of the license data.
46. The method (3000) as claimed in claim 40, wherein the Processing (600) comprises step of:
sending (605), by the one or more batch processing node (107), the extracted images to the third-party service for tie-point generation.
47. The method (3000) as claimed in claim 40, wherein the Processing (600) comprises step of:
generating (606), by the third-party service, the tie-points wherein the tie points comprise matching images, aligning images, stitching multiple images, and finally generating tie points.
48. The method (3000) as claimed in claim 40, wherein the processing (600) comprises step of:
receiving (607), by the one or more master services (104-a), the generated tie-points from the third-party service.
49. The method (3000) as claimed in claim 40, wherein the processing (600) comprises step of:
storing (608), by the one or more master services (104-a), a project file into the one or more output data storage (201), wherein the project file comprises the tie-point data.
50. The method (3000) as claimed in claim 40, wherein the generating (700) a dense cloud for the image data comprises step of:
receiving (701), by the one or more master services (104-a), one or more requests from the user of the client device (300), wherein the one or more requests correspond to the dense point cloud generation request;
extracting (702), by the one or more master services (104-a), image data from the one or more source image storage (202) on receiving the dense point cloud generation request and extracting the project file from the one or more output data storage (201) and extracting geotags from the one or more RDS storage (108);
storing (703), by the one or more master services (104-a), the dense point cloud data to the one or more output data storage (201), on generation of dense point cloud;
storing (704), by the one or more master services (104-a), a dense point project file into the one or more output data storage (201), wherein the dense point project file comprises the dense point cloud data.
51. The method (3000) as claimed in claim 40, wherein creating (800) the ortho and digital surface model (DSM) file for the image data comprises stage of:
receiving (801), by the one or more master services (104-a), one or more requests from the user of the client device (300), wherein the one or more requests correspond to the ortho and DSM file creation request;
extracting (802), by the one or more master services (104-a), image data from the one or more source image storage (202), the dense point project file from the one or more output data storage (201) and geotags from the one or more RDS storages (108) on receiving the ortho and DSM file creation request;
storing (803), by the one or more master services (104-a), the ortho and DSM file to the one or more output data storage (201), on creation of the ortho and DSM file, wherein the ortho and DSM file, from the one or more output data storage is used for analysis of the data by the client.
52. The method (3000) as claimed in claim 40, wherein the method (3000) is configured to enable the user of the client device (300) to conduct quality check (QC) at each stage of operation and a combination thereof, wherein the user is able to generate a QC report for each stage.
Dated this 31st day of March 2023
Deepak Pawar
Agent for the Applicant
IN/PA-2052
| # | Name | Date |
|---|---|---|
| 1 | 202341024475-STATEMENT OF UNDERTAKING (FORM 3) [31-03-2023(online)].pdf | 2023-03-31 |
| 2 | 202341024475-PROVISIONAL SPECIFICATION [31-03-2023(online)].pdf | 2023-03-31 |
| 3 | 202341024475-POWER OF AUTHORITY [31-03-2023(online)].pdf | 2023-03-31 |
| 4 | 202341024475-OTHERS [31-03-2023(online)].pdf | 2023-03-31 |
| 5 | 202341024475-FORM FOR STARTUP [31-03-2023(online)].pdf | 2023-03-31 |
| 6 | 202341024475-FORM FOR SMALL ENTITY(FORM-28) [31-03-2023(online)].pdf | 2023-03-31 |
| 7 | 202341024475-FORM 1 [31-03-2023(online)].pdf | 2023-03-31 |
| 8 | 202341024475-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [31-03-2023(online)].pdf | 2023-03-31 |
| 9 | 202341024475-Proof of Right [14-06-2023(online)].pdf | 2023-06-14 |
| 10 | 202341024475-FORM FOR SMALL ENTITY [08-09-2023(online)].pdf | 2023-09-08 |
| 11 | 202341024475-EVIDENCE FOR REGISTRATION UNDER SSI [08-09-2023(online)].pdf | 2023-09-08 |
| 12 | 202341024475-ENDORSEMENT BY INVENTORS [30-03-2024(online)].pdf | 2024-03-30 |
| 13 | 202341024475-DRAWING [30-03-2024(online)].pdf | 2024-03-30 |
| 14 | 202341024475-CORRESPONDENCE-OTHERS [30-03-2024(online)].pdf | 2024-03-30 |
| 15 | 202341024475-COMPLETE SPECIFICATION [30-03-2024(online)].pdf | 2024-03-30 |
| 16 | 202341024475-MSME CERTIFICATE [01-04-2024(online)].pdf | 2024-04-01 |
| 17 | 202341024475-FORM28 [01-04-2024(online)].pdf | 2024-04-01 |
| 18 | 202341024475-FORM-9 [01-04-2024(online)].pdf | 2024-04-01 |
| 19 | 202341024475-FORM-8 [01-04-2024(online)].pdf | 2024-04-01 |
| 20 | 202341024475-FORM 18A [01-04-2024(online)].pdf | 2024-04-01 |
| 21 | 202341024475-FORM 3 [15-05-2024(online)].pdf | 2024-05-15 |
| 22 | 202341024475-FER.pdf | 2024-05-31 |
| 23 | 202341024475-FORM28 [08-06-2024(online)].pdf | 2024-06-08 |
| 24 | 202341024475-Covering Letter [08-06-2024(online)].pdf | 2024-06-08 |
| 25 | 202341024475-FORM 3 [24-07-2024(online)].pdf | 2024-07-24 |
| 26 | 202341024475-Proof of Right [03-09-2024(online)].pdf | 2024-09-03 |
| 27 | 202341024475-FORM-26 [03-09-2024(online)].pdf | 2024-09-03 |
| 28 | 202341024475-FER_SER_REPLY [07-10-2024(online)].pdf | 2024-10-07 |
| 29 | 202341024475-DRAWING [07-10-2024(online)].pdf | 2024-10-07 |
| 30 | 202341024475-CLAIMS [07-10-2024(online)].pdf | 2024-10-07 |
| 1 | 202341024475E_29-05-2024.pdf |