System and method for rendering geospatial data

WO2025196808A3PCT designated stage Publication Date: 2025-10-30JIO PLATFORMS LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/IN2025/050289
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-22
Filing Date
2025-02-28
Publication Date
2025-10-30

AI Technical Summary

Technical Problem

Conventional viewport-based approaches for rendering geospatial data result in substantial network payload, redundant processing, and limited scalability, leading to slow loading times and resource inefficiencies, especially with large or intricate datasets.

Method used

A method and system that determine whether a request is initial or subsequent based on viewport details, identify incremental areas, and retrieve only incremental geospatial data from a database for rendering, using map tile IDs to optimize data transfer and processing.

Benefits of technology

This approach reduces network load, enhances user interaction responsiveness, and improves server efficiency by minimizing unnecessary data transfer and processing, while handling large and complex datasets effectively.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IN2025050289_30102025_PF_FP_ABST
    Figure IN2025050289_30102025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure discloses a system (106) and method (400) for rendering geospatial data The method (400) includes receiving (402) requests for the geospatial data. The requests include viewport details. The method (400) further includes determining (404) whether each of the requests represents an initial request or a subsequent request. The method (400) further includes determining (406) changes in the viewport details when at least one of the requests are determined to be the subsequent request. The method (400) includes identifying (408) an incremental area based on the changes in the viewport details. The method (400) includes retrieving (410) incremental geospatial data corresponding to the identified incremental area from a database (124). The method (400) includes transmitting (412) the retrieved incremental geospatial data to a User Equipment (UE) (102) for rendering the incremental geospatial data with existing geospatial data on a User Interface (UI) (114).
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEM AND METHOD FOR RENDERING GEOSPATIAL DATA RESERVATION OF RIGHTS

[0001] A portion of the disclosure of this patent document contains material, which is subject to intellectual property rights such as, but are not limited to, copyright, design, trademark, integrated circuit (IC) layout design, and / or trade dress protection, belonging to Jio Platforms Limited (JPL) or its affiliates (herein after referred as owner). The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights whatsoever. All rights to such intellectual property are fully reserved by the owner.TECHNICAL FIELD

[0002] The present disclosure relates to geospatial analytics and data management, and specifically to a system and a method for rendering geospatial data.DEFINITION

[0003] As used in the present disclosure, the following terms are generally intended to have the meaning as set forth below, except to the extent that the context in which they are used to indicate otherwise.

[0004] The term “Geospatial data” as used herein, refers to data that is associated with a specific location or a geographic area on Earth’s surface. The geospatial data is used in various applications such as, but not limited to, navigation, mapping, environmental monitoring, and so forth.

[0005] The term “Viewport details” as used herein, refers to specific parameters that define a visible area of a map as displayed to the user. The parameters are geographical coordinates, dimensions, previous viewport details, amap center, a viewport offset, current viewport details, zoom levels, a geospatial layer, and so forth.

[0006] The term “Current viewport” as used herein, refers to a specific area of a map that is visible to a user on a screen at any given time.

[0007] The term “Previous viewport” as used herein, refers to a visible area of a map before user interaction that caused a change in a viewport.

[0008] The term “Geospatial layer” as used herein, refers to representation of geographic information that a user selects and submits for visualization and analysis on web-based platforms.

[0009] The term “Previous zoom level” as used herein, refers to a zoom level at which a previous viewport was viewed.

[0010] The term “Current zoom level” as used herein, refers to a zoom level at which the current viewport is being viewed.

[0011] The term “Incremental area” as used herein, refers to a newly visible portion of the map that appears as a result of the user interactions such as, panning or zooming.

[0012] The term “map tiles” as used herein, refers to small, pre-rendered or dynamically generated rectangular sections of a larger map, which are used to display geospatial data at different zoom levels. Each map tile represents a specific geographic area and is assigned a unique tile ID based on its position and zoom level.BACKGROUND

[0013] The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of thepresent disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of prior art.

[0014] A significant and growing segment of modern software applications utilizes geospatial data to present geographically relevant information to users. These applications, commonly referred to as map platforms, typically employ a concept known as a viewport to define a visible region of a map displayed on a user interface. Traditionally, when a user interacts with the map by performing actions such as panning or zooming, a system retrieves and renders all geospatial data associated with a current viewport. While this approach possesses a degree of simplicity, it suffers from several significant drawbacks that impede user experience and scalability.

[0015] Firstly, conventional viewport-based approaches result in a substantial network payload. This is particularly evident when dealing with large or intricate datasets, such as those incorporating crowdsourced information. Downloading and processing an entirety of the data within the viewport for every user interaction leads to increased data transfer, manifesting as slow loading times and an overall degraded user experience, especially for individuals with limited bandwidth. This inefficiency extends to server processing as well, since the system redundantly processes the data already displayed, straining resources and potentially causing bottlenecks.

[0016] Secondly, existing methods often retrieves and processes the data that is already displayed on the user interface, leading to redundant processing and resource inefficiency. This unnecessary consumption of server resources can create performance bottlenecks, hampering the overall responsiveness of the application.

[0017] Lastly, conventional approaches exhibit limited scalability. As the complexity and size of geospatial datasets continue to grow exponentially, the limitations of the viewport-based approaches become increasingly apparent. Thisultimately impacts both the performance and the user experience of such applications.

[0018] Thus, there is a need in the art to provide a system and a method to mitigate problems associated with the prior arts.OBJECTS OF THE PRESENT DISCLOSURE

[0019] Some of the objects of the present disclosure, which at least one embodiment herein satisfies are as listed herein below.

[0020] An object of the present disclosure is to reduce network pay load for faster web visualization.

[0021] An object of the present disclosure is to achieve faster loading times and smoother data rendering by eliminating unnecessary data transfer and processing, which in turn leads to a more responsive and enjoyable user interaction.

[0022] An object of the present disclosure is to enable efficient handling of large and complex geospatial datasets by utilizing a targeted data retrieval approach, ensuring smooth application performance even with growing data volumes.

[0023] An object of the present disclosure is to minimize redundant data processing and unnecessary resource consumption by focusing on incremental data required for updating user's view, resulting in improved server efficiency.

[0024] An object of the present disclosure is to offer a flexible approach that adapts to different user interactions (panning, zooming) and efficiently handles dynamic changes in displayed geospatial data.

[0025] Other objects and advantages of the present disclosure will be more apparent from the following description, which is not intended to limit the scope of the present disclosure.SUMMARY

[0026] In an exemplary embodiment, the present invention discloses a method for rendering geospatial data. The method includes a step of receiving, by a receiving unit, one or more requests for the geospatial data. Each of the one or more requests includes one or more viewport details. The method includes a step of determining, by a processing unit, whether each of the one or more received requests represents an initial request or a subsequent request based on the one or more viewport details. The method includes a step of determining, by the processing unit, one or more changes in the one or more received viewport details of the corresponding one or more requests when at least one of the requests are determined to be the subsequent request. The method includes a step of identifying, by the processing unit, an incremental area based on the one or more changes in the one or more viewport details. The method includes a step of retrieving, by the processing unit, incremental geospatial data corresponding to the identified incremental area from a database. The method includes a step of transmitting, by the processing unit, the retrieved incremental geospatial data to a User Equipment (UE) for rendering the incremental geospatial data with existing geospatial data on a User Interface (UI).

[0027] In some embodiments, the one or more viewport details comprises one or more previous viewport details, one or more current viewport details, a previous zoom level, a current zoom level, a geospatial layer, or a combination thereof.

[0028] In some embodiments, the one or more changes are determined by comparing the one or more previous viewport details with the one or more current viewport details.

[0029] In some embodiments, wherein retrieving the incremental geospatial data comprises retrieving geospatial objects tagged with map tile Identifiers (IDs)corresponding to the determined incremental area and a corresponding zoom level from the database.

[0030] In some embodiments, the incremental area is identified based on comparison of map tile IDs in a previous viewport and a current viewport.

[0031] In some embodiments, the method includes a step of calculating a first set of map tile IDs corresponding to a previous viewport at a previous zoom level and a second set of map tile IDs corresponding to a current viewport at a current zoom level.

[0032] In some embodiments, the method includes a step of comparing the previous zoom level with the current zoom level.

[0033] In some embodiments, the method includes a step of comparing the first set of map tile IDs corresponding to the previous viewport at the previous zoom level with the second set of map tile IDs corresponding to the current viewport at the current zoom level to obtain incremental set of map tile IDs when the previous zoom level is equal to the current zoom level.

[0034] In some embodiments, the method includes a step of calculating a third set of map tile IDs corresponding to the previous viewport at the current zoom level when the previous zoom level is different from the current zoom level.

[0035] In another exemplary embodiment, the present invention discloses a system for rendering geospatial data. The system includes a receiving unit configured to receive one or more requests for the geospatial data. Each of the one or more requests comprises one or more viewport details. The system further includes a processing unit communicatively coupled to the receiving unit. The processing unit is configured to: determine whether each of the one or more received requests represents an initial request or a subsequent request based on the one or more viewport details. The processing unit is configured to: determine one or more changes in the one or more received viewport details of the correspondingone or more requests when at least one of the requests are determined to be the subsequent request. The processing unit is further configured to identify an incremental area based on the one or more changes in the one or more viewport details. The processing unit is further configured to retrieve incremental geospatial data corresponding to the identified incremental area from a database. The processing unit is further configured to transmit the retrieved incremental geospatial data to a User Equipment (UE) for rendering the incremental geospatial data with existing geospatial data on a User Interface (UI).

[0036] In some embodiments, the one or more viewport details comprises one or more previous viewport details, one or more current viewport details, a previous zoom level, a current zoom level, a geospatial layer, or a combination thereof.

[0037] In some embodiments, the one or more changes are determined by comparing the one or more previous viewport details with the one or more current viewport details.

[0038] In some embodiments, the processing unit is configured to retrieve the incremental geospatial data by retrieving geospatial objects tagged with map tile Identifiers (IDs) corresponding to the determined incremental area and a corresponding zoom level from the database.

[0039] In some embodiments, the incremental area is identified based on comparison of map tile IDs in a previous viewport and a current viewport.

[0040] In some embodiments, the processing unit is configured to calculate a first set of map tile IDs corresponding to a previous viewport at a previous zoom level and a second set of map tile IDs corresponding to a current viewport at a current zoom level.

[0041] In some embodiments, the processing unit is configured to compare the previous zoom level with the current zoom level.

[0042] In some embodiments, the processing unit is configured to compare the first set of map tile IDs corresponding to the previous viewport at the previous zoom level with the second set of map tile IDs corresponding to the current viewport at the current zoom level to obtain incremental set of map tile IDs when the previous zoom level is equal to the current zoom level.

[0043] In some embodiments, the processing unit is configured to calculate a third set of map tile IDs corresponding to the previous viewport at the current zoom level when the previous zoom level is different from the current zoom level.

[0044] In an exemplary embodiment, the present invention discloses a User Equipment (UE) configured for interacting with a system for rendering geospatial data on a User Interface (UI). The UE includes: a main processor. The UE further includes a computer readable storage medium storing one or more instructions for execution by the main processor to: receive one or more user interactions on the UI; transmit a request for the geospatial data to the system based on the one or more user interactions; receive the geospatial data from the system such that the geospatial data is complete geospatial data or incremental geospatial data based on the user interactions; and render the received geospatial data on the UI.

[0045] In an exemplary embodiment, the present invention discloses a computer program product including a memory having instructions that, when executed by a processing unit, cause the processing unit to perform a method for rendering geospatial data. The method includes a step of receiving, by a receiving unit, one or more requests for the geospatial data. Each of the one or more requests includes one or more viewport details. The method includes a step of determining, by a processing unit, whether each of the one or more received requests represents an initial request or a subsequent request based on the one or more viewport details. The method includes a step of determining, by the processing unit, one or more changes in the one or more received viewport details of the corresponding one or more requests when at least one of the requests are determined to be the subsequentrequest. The method includes a step of identifying, by the processing unit, an incremental area based on the one or more changes in the one or more viewport details. The method includes a step of retrieving, by the processing unit, incremental geospatial data corresponding to the identified incremental area from a database. The method includes a step of transmitting, by the processing unit, the retrieved incremental geospatial data to a User Equipment (UE) for rendering the incremental geospatial data with existing geospatial data on a User Interface (UI).BRIEF DESCRIPTION OF THE DRAWINGS

[0046] In the figures, similar components and / or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label with a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.

[0047] The diagrams are for illustration only, which thus is not a limitation of the present disclosure, and wherein:

[0048] FIG. 1A illustrates an exemplary network architecture in which or with which embodiments of the present disclosure may be implemented.

[0049] FIG. IB illustrates an exemplary block diagram of a system depicting an interaction between components, in accordance with an embodiment of the disclosure.

[0050] FIG. 1C illustrates an exemplary block diagram depicting modules of the system, in accordance with an embodiment of the present disclosure.

[0051] FIG. 2 illustrates an exemplary flow diagram of a process of retrieving incremental geospatial data for map visualization, in accordance with an embodiment of the present disclosure.

[0052] FIG. 3 illustrates an exemplary computer system in which or with which embodiments of the present disclosure may be implemented.

[0053] FIG. 4 illustrates a flowchart of a method for rendering geospatial data, in accordance with an embodiment of present disclosure.LIST OF REFERENCE NUMERALS100 - Network architecture102-1, 102-2... 102-N - User Equipment104-1, 104-2...104-N - Users106 - System108 -Network110-1, 110-2... 110-N - Main Processors112-1, 112-2. . . 112-N - Computer Readable Storage Mediums114 - User Interface (UI)116 - Load Balancer118 - Web Server120 - Gateway122 - Microservice124 - Database126 - Receiving Unit128 - Memory130 - Interfacing Unit132 - Processing Unit134 - Request Determination Module136 - Data Retrieving Module138 - Display Module200 - Process300 - Computer system310 - External storage device320 - Bus330 - Main memory340 - Read only memory350 - Mass storage device360 - Communication port(s)370 - Processor400 - MethodDETAILED DESCRIPTION

[0054] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used individually of one another or with any combination of other features. An individual feature may not address all of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein.

[0055] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth.

[0056] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not toobscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.

[0057] Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.

[0058] The word “exemplary” and / or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and / or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive — in a manner similar to the term “comprising” as an open transition word — without precluding any additional or other elements.

[0059] Reference throughout this specification to “one embodiment” or “an embodiment” or “an instance” or “one instance” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” or “in some embodiments” invarious places throughout this 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.

[0060] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and / or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items.

[0061] Various embodiments of the present disclosure will be explained in detail with reference to FIGs. 1 to 4.

[0062] FIG. 1A illustrates an exemplary network architecture (100) in which or with which embodiments of the present disclosure may be implemented.

[0063] Referring to the FIG. 1 A, the network architecture ( 100) may include one or more computing devices or one or more User Equipment (UEs) (102-1, 102- 2. . . 102-N) that may be associated with one or more users (104-1, 104-2. . . 104-N) and a system (106) in an environment. In an embodiment, the one or more UEs (102-1, 102-2... 102-N) may be communicated to the system (106) through a network (108). A person of ordinary skill in the art will understand that the one or more UEs (102-1, 102-2. . . 102-N) may be individually referred to as the UE (102) and collectively referred to as the UEs (102). A person of ordinary skill in the art will appreciate that the terms “computing device(s)” and “UE” may be used interchangeably throughout the disclosure. Although three UE (102) are depictedin the FIG. 1A, however any number of the UE (102) may be included without departing from the scope of the ongoing description. Similarly, a person of ordinary skill in the art will understand that the one or more users (104-1, 104-2... 104-N) may be individually referred to as the user (104) and collectively referred to as the users (104).

[0064] In an embodiment, the UE (102) may include smart devices operating in a smart environment, for example, an Internet of Things (loT) system. In such embodiment, the UE (102) may include, but not limited to, smart phones, smart watches, smart sensors (e.g., mechanical, thermal, electrical, magnetic, etc.), networked appliances, networked peripheral devices, networked lighting system, communication devices, networked vehicle accessories, networked vehicular devices, smart accessories, tablets, Smart Television (TV), computers, a smart security system, a smart home system, other devices for monitoring or interacting with or for the users (104) and / or entities, or any combination thereof. A person of ordinary skill in the art will appreciate that the UE (102) may include, but not limited to, an intelligent multi-sensing, network-connected devices, that can integrate seamlessly with each other and / or with a central server or a cloudcomputing system or any other device that is network-connected.

[0065] In an embodiment, the UE (102) may include, but not limited to, a handheld wireless communication device (e.g., a mobile phone, a smart phone, a phablet device, and so on), a wearable computer device (e.g., a head-mounted display computer device, a head-mounted camera device, a wristwatch computer device, and so on), a Global Positioning System (GPS) device, a laptop, a tablet computer, or another type of portable computer, a media playing device, a portable gaming system, and / or any other type of computer device with wireless communication capabilities, and the like.

[0066] In an embodiment, the UE (102) may include, but is not limited to, any electrical, electronic, electro-mechanical, or an equipment, or a combination ofone or more of the above devices such as Virtual Reality (VR) devices, Augmented Reality (AR) devices, a general-purpose computer, a desktop, a personal digital assistant, a mainframe computer, or any other computing device. In another embodiment, the UE (102) may include one or more in-built or externally coupled accessories including, but not limited to, a visual aid device such as a camera, an audio aid, a microphone, a keyboard, and input devices for receiving input from the user (104) or the entity such as a touch pad, a touch enabled screen, an electronic pen, and the like. A person of ordinary skill in the art will appreciate that the UE (102) may not be restricted to the mentioned devices and various other devices may be used.

[0067] Further, each of the UEs (102) may include main processors (110-1, 110-2...110-N) (hereinafter collectively referred to as the main processors (110) and individually referred to as the main processor (110)) that refers to any logic circuitry for processing instructions. The main processor (110) may be, but not limited to, a conventional processor, a Digital Signal Processor (DSP), a plurality of microprocessors, one or more microprocessors in association with the DSP, a controller, a microcontroller, Application Specific Integrated Circuits (ASIC), Field Gate Programmable Array (FGPA) circuits, any other type of integrated circuits, and so forth. More specifically, the main processor (110) is a hardware processor. The main processor (110) may perform a signal coding data processing, an input / output processing, and / or any other functionality that enables a working of the system (106), according to the present disclosure.

[0068] Further, each of the UEs (102) may include computer readable storage mediums (112-1, 112-2. . . 112-N) (hereinafter collectively referred to as the computer readable storage mediums (112) and individually referred to as the computer readable storage medium (112)) to store the instructions. As used herein, the term “instructions” may refer to a sequence of commands that are written in a programming language and may be executed by the main processor (110) to perform tasks associated with the UE (102). In an exemplary embodiment, the computer readable storage mediums (112) may be, but not limited to, Hard DiskDrives (HDDs), Solid State Drives (SSDs), a flash memory, a Random Access Memory (RAM), and so forth.

[0069] As portable electronic devices and wireless technologies continue to improve and grow in popularity, advancing wireless technologies for data transfer are also expected to evolve and replace older generations of technologies. In a field of wireless data communications, a dynamic advancement of various generations of a cellular technology are also seen. Development, in this respect, has been incremental in an order of a Second Generation (2G), a Third Generation (3G), a Fourth Generation (4G), and now Fifth Generation (5G), and more such generations are expected to continue in the forthcoming time.

[0070] In an embodiment, the UE (102) may utilize a Radio Access Technology (RAT) to connect to a cellular network. It refers to specific protocols and standards that govern the way devices communicate with base stations, which are responsible for providing a wireless connection. Further, each RAT has its own set of protocols and standards for communication, which define frequency bands, modulation techniques, and other parameters used for transmitting and receiving data. Examples of the RATs include a Global System for Mobile Communications (GSM), a Code Division Multiple Access (CDMA), a Universal Mobile Telecommunications System (UMTS), a Long-Term Evolution (LTE), and 5G. A choice of the RAT depends on a variety of factors, including a network infrastructure, available spectrum, and capabilities of the UE (102). The UEs (102) often support multiple RATs, allowing them to connect to different types of networks and provide optimal performance based on the available network resources.

[0071] Referring to the FIG. 1A, the UE (102) may communicate with the system (106) via a set of executable instructions residing on any operating system. The system (106) may be for example, the system (106) for processing and rendering geospatial data on web-based platforms. As used herein, the term “geospatial data” may refer to data that is associated with a specific location or ageographic area on Earth’s surface. The geospatial data may be used in various applications such as, but not limited to, navigation, mapping, environmental monitoring, and so forth. Further, as used herein, the term “web-based platforms” may refer to online services or applications that are accessible through a web browser and provides various map related functionalities to the users (104) over the internet. In an exemplary embodiment, the web-based platforms may be, but not limited to, Google Maps, Mapbox, GeoServer, and so forth.

[0072] In an embodiment, the system (106) may be configured to receive a request for the geospatial data from a User Interface (UI) (114) (as shown in FIG. IB). In an exemplary embodiment, the request may include viewport details. As used herein, the term “viewport details” may refer to specific parameters that define a visible area of a map as displayed to the user (104). In an exemplary embodiment, the viewport details may include, but not limited to, geographical coordinates, dimensions, previous viewport details, a map center, a viewport offset, current viewport details, zoom levels, a geospatial layer, and so forth. As used herein, the term “current viewport” may refer to a specific area of the map that is visible to the user (104) on a screen at any given time. A viewport may be defined by a current zoom level and geographic coordinates of map’s center and corners. As used herein, the “previous viewport” may refer to the visible area of the map before the user interaction that caused a change in the viewport. Also, as used herein, the term “geospatial layer” may refer to representation of geographic information that the user (104) selects and submits for visualization and analysis on the web-based platform.

[0073] In an exemplary embodiment, the previous viewport details may be, but not limited to, previous viewport boundaries, previous zoom level, previous tile Identifier (ID), and so forth. As used herein, the term “previous viewport boundaries” may refer to latitude and longitude of a top-left corner and a bottom right corner of the viewport. As used herein, the term “previous zoom level” may refer to a zoom level at which the previous viewport was viewed. Also, as usedherein, the term “previous tile ID” may refer to a set of map tile IDs corresponding to the previous viewport at the previous zoom level.

[0074] Similarly, in an exemplary embodiment, the current viewport details may be, but not limited to, current viewport boundaries, current zoom level, current tile Identifier (ID), and so forth. As used herein, the term “current viewport boundaries” may refer to the latitude and longitude of the top-left corner and the bottom right corner of the viewport. As used herein, the term “current zoom level” may refer to a zoom level at which the current viewport is being viewed. Also, as used herein, the term “current tile ID” may refer to the set of map tile IDs corresponding to the current viewport at the current zoom level.

[0075] In an embodiment, the request for the geospatial data may be an initial request. In such embodiment, the initial request may be triggered when the user (104) interacts with the map for a first time. In an exemplary embodiment, the user interaction may include actions such as, but not limited to, opening or loading the map, selecting the geospatial layer, and so forth. In an embodiment, the system (106) may be configured to receive the initial request from the UI (114) such that the initial request may include the current viewport details and a zoom level. Further, in an embodiment, the system (106) may be configured to process the initial request to identify the geospatial data for the selected geospatial layer and sends complete geospatial data for the current viewport and the corresponding zoom level to the UI (114), according to the geospatial layer.

[0076] In another embodiment, the request for the geospatial data may be a subsequent request. The subsequent request may be a request that may be triggered after the initial request when the user (104) changes the viewport by interacting with the map. The user interaction may include actions such as, but not limited to, panning, zooming, and so forth that alters a portion of the map displayed to the user (104). In an embodiment, the subsequent request may include updated current viewport details, updated zoom level, same zoom level, and so forth. In such embodiment, the system (106) may be configured to determine an incremental areaby comparing the updated current viewport details with the previous viewport details. Based on the determined incremental area, the system (106) may be configured to transmit incremental geospatial data back to the UI (114). As used herein, the term “incremental area” may refer to a newly visible portion of the map that appears as a result of the user interactions such as, panning or zooming. In other words, the incremental area represents geographic regions that were not previously displayed and thus require new data to be fetched and rendered.

[0077] In an embodiment, components and modules of the system (106) may be explained in detail in conjunction with FIG. IB and FIG. 1C respectively.

[0078] In an embodiment, the network (108) may include, at least one of a 4G network, a 5G network, or the like. The network (108) may enable the UE (102) to communicate with other devices in the network architecture (100) and / or with the system (106). The network (108) may include a wireless card or some other transceiver connection to facilitate this communication. In another embodiment, the network (108) may be implemented as, or include any of a variety of different communication technologies such as a Wide Area Network (WAN), a Local Area Network (LAN), a wireless network, a mobile network, a Virtual Private Network (VPN), the Internet, a Public Switched Telephone Network (PSTN), or the like.

[0079] Although the FIG. 1A shows exemplary components of the network architecture (100); however, in other embodiments, the network architecture (100) may include fewer components, different components, differently arranged components, or additional functional components than depicted in the FIG. 1A. Additionally, or alternatively, one or more components of the network architecture (100) may perform functions described as being performed by one or more other components of the network architecture (100).

[0080] FIG. IB illustrates an exemplary block diagram of the system (106) depicting an interaction between components, in accordance with an embodiment of the disclosure.

[0081] As shown in the FIG. IB, the components may be, the UI (114), a load balancer (116), a web server (118), a gateway (120), a microservice (122) and a database (124).

[0082] In an exemplary embodiment, the UI (114) may include a variety of interfaces, for example, the interfaces for data input and output devices, storage devices, and the like. In an embodiment, the UI (114) may allow the user (104) (as shown in the FIG. 1 A) to load the map and select different geospatial layers to view the geospatial data. In such embodiment, the UI (114) may allow the user (104) to select the different geospatial layers through one of a selection tool such as, but not limited to, checkboxes, dropdown menus, and so forth. In an embodiment, when the user (104) loads the map and selects the geospatial layer, the UI (114) may send the initial request to the load balancer (116) with the current viewport details, the previous viewport details, the zoom level and the selected geospatial layer. For example, the user (104) clicks on required geospatial layer through the UI (114) and on a first click in a particular session, an Application Programming Interface (API) request is sent with the previous viewport details, the current viewport details, the zoom level and the selected geospatial layer. Further, in an embodiment, the UI (114) may also render the geospatial data corresponding to the current viewport and the zoom level received from the load balancer (116).

[0083] In an exemplary embodiment, the UI (114) may also allow the user (104) to interact with the map by panning or zooming the map. Such actions may alter the viewport and trigger the subsequent request for updated geospatial data. Based on the user interaction with the map, the UI (114) may send the subsequent API request to the load balancer (116) with the updated viewport details to fetch the incremental geospatial data. Upon receiving the incremental geospatial data, the UI (114) may merge the incremental geospatial data with existing geospatial data to update a map display.

[0084] Further, in an embodiment, the load balancer (116) may be connected to the UI (114). In an embodiment, the load balancer (116) may receive the requests from the UI (114) and may distribute the requests to the available web server (118) to ensure efficient handling of the requests. In an exemplary embodiment, the load balancer (116) may determine which web server (118) is best suited to handle the corresponding requests based on a current load and availability. Further, the load balancer (116) may further transmit the requests to the suitable web server (118).

[0085] Further, in an embodiment, the web server (118) may receive the requests from the UI (114) via the load balancer (116). The requests may contain the viewport details. In an embodiment, the web server (118) may differentiate between the initial requests and the subsequent requests. In such embodiment, the initial requests may contain only the current viewport details and the subsequent requests may contain the previous viewport details and the current viewport details.

[0086] Further, in an embodiment, the web server (118) may format and parse the requests to extract information such as, the coordinates of the viewport, the zoom level, the selected geospatial layer and so forth. Further, the web server (118) may transmit the requests to the microservice (122) via the gateway (120).

[0087] In an embodiment, the web server (118) may also be configured to receive processed geospatial data from the microservice (122). The geospatial data may be the complete geospatial data for the initial requests and the incremental geospatial data for the subsequent requests. Further, the web server (118) may transmit back the processed geospatial data to the UI (114), ensuring that the geospatial data is appropriately formatted for rendering on the UI (114).

[0088] Further, in an embodiment, the gateway (120) may serve as an intermediary that routes the requests from the web server (118) to the microservice (122). In an embodiment, the gateway (120) may receive the requests from the web server (118) and may analyze the requests to determine which microservice (122)is best suited to handle the requests. In a preferred embodiment, the microservice (122) may be an incremental data fetcher microservice. Upon determining the appropriate microservice (122), the gateway (120) may forward the requests to the corresponding microservice (122). Once the microservice (122) receives and processes the requests, the gateway (120) may be configured to receive a response containing the complete geospatial data for the initial requests and the incremental geospatial data for the subsequent requests. Further, the gateway (120) may send back the response to the web server (118).

[0089] Further, in an embodiment, the microservice (122) may be a key component of the system (106) for rendering the geospatial data on the web-based platforms. In an embodiment, the microservice (122) may be configured to process the complete geospatial data for the given viewport and the zoom level if the request is the initial request. In another embodiment, the microservice (122) may identify changes in the viewport and determines the incremental data that needs to be fetched if the request is the subsequent request. In such embodiment, the microservice (122) may compare the previous viewport details with the current viewport details to determine the incremental area that needs the geospatial data. Further, in an embodiment, the microservice (122) may identify map tiles corresponding to the incremental area based on the changes in the viewport and the zoom level.

[0090] In an embodiment, the microservice (122) may query the database (124) for the geospatial data within the current viewport and the zoom level for the initial requests. In another embodiment, the microservice (122) may query the database (124) for the geospatial data tagged with map tile IDs corresponding to the incremental area and the zoom level. Further, in an embodiment, the microservice (122) may transmit the geospatial data to the gateway (120).

[0091] Further, in an embodiment, the database (124) may be adapted to store detailed geospatial data including geographic coordinates, map features, and so forth. In an embodiment, each piece of the geospatial data may be pre-taggedwith the map tile IDs corresponding to different zoom levels, which facilitates quick retrieval of the geospatial data based on the viewport details and the zoom level. In an embodiment, the database (124) may be organized using indexes. In another embodiment, the database (124) may be organized in a hierarchical structure. As used herein, the map tile IDs may refer to as a unique identifier that may be assigned to each map tile.

[0092] FIG. 1C illustrates an exemplary block diagram depicting modules of the system (106), in accordance with an embodiment of the present disclosure. In an embodiment, the system (106) may include a receiving unit (126), a memory (128), an interfacing unit (130), a processing unit (132) and the database (124). In an embodiment, the processing unit (132) may include a request determination module (134), a data retrieving module (136) and a display module (138).

[0093] In an embodiment, the receiving unit (126) may be configured to receive the requests for the geospatial data from the UI (114) via a transmission method such as, but not limited to, Hyper Text Transfer Protocol (HTTP), Hyper Text Transfer Protocol Secure (HTTPS), and so forth. In an embodiment, the requests for the geospatial data may be, the initial requests or the subsequent requests. Further, in an embodiment, the receiving unit (126) may be configured to parse the requests for extracting the information such as, the viewport details, the zoom level and the selected geospatial layer. For example, the viewport details may be the coordinates of the viewport such as, xl, yl, x2, y2, the zoom level=10 and the selected geospatial layer is traffic. In an exemplary embodiment, the receiving unit (126) may be configured to parse the initial requests for extracting the information such as, the current viewport details, the zoom level and the selected geospatial layer. In another exemplary embodiment, the receiving unit (126) may be configured to parse the subsequent requests for extracting the information such as, the previous viewport details, the current viewport details, the zoom level and the selected geospatial layer. In an embodiment, the receiving unit (126) may beconfigured to transmit the requests for the geospatial data along with the extracted information to the processing unit (132).

[0094] The memory (128) may be a non-transitory computer readable storage medium configured to store the instructions or routines. As used herein, the term “instructions” may refer to the sequence of commands that are written in the programming language and may be executed by the processing unit (132) to perform the tasks associated with the system (106). The memory (128) may include any non-transitory storage device including, for example, but not limited to, a volatile memory such as the Random-Access Memory (RAM), or a non-volatile memory such as an Erasable Programmable Read Only Memory (EPROM), the flash memory, and the like. Embodiments of the present invention are intended to include or otherwise type of the memory (128) including known related art and / or later developed technologies.

[0095] In an embodiment, the interfacing unit (130) may comprise a variety of interfaces, for example, the interfaces for data input and output devices (RO), storage devices, and the like. The interfacing unit (130) may facilitate communication through the system (106). The interfacing unit (130) may also provide a communication pathway for various other units / modules of the system (106).

[0096] In an embodiment, the database (124) may offer functionality to manage, capture, storage, and retrieval of the geospatial data. In an embodiment, the database (124) may be configured for serving as a centralized repository for storing the map tiles and the viewport details of previous requests. The database (124) is designed to interact seamlessly with other modules of the system (106), such as the request determination module (134), the data retrieving module (136) and the display module (138), to support a functionality of the system (106) effectively. The database (124) may store the data that may be generated as a result of functionalities implemented by any of the modules of the processing unit (132). In an embodiment, the database (124) may be separate from the system (106).

[0097] The modules are controlled by the processing unit (132) which execute the instructions retrieved from the memory (128). The processing unit (132) further interacts with the interfacing unit (130) to facilitate a user interaction and to provide options for managing and configuring the system (106). The processing unit (132) may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and / or any devices that process data based on operational instructions.

[0098] In an embodiment, the request determination module (134) may be communicatively coupled to the receiving unit (126). The request determination module (134) may be configured to receive the requests for the geospatial data along with the information of the corresponding requests from the receiving unit (126). In an embodiment, the information may be the viewport details and the zoom level.

[0099] In an embodiment, the request determination module (134) may be configured to query the database (124) to check if the database (124) contains prestored viewport details from the previous requests. In such embodiment, the request determination module (134) may be configured to determine the received request as the initial request if the pre-stored viewport details from the previous requests are not available in the database (124). In an embodiment, the received viewport details may be considered as the previous viewport details and the current viewport details.

[0100] In another embodiment, the request determination module (134) may be configured to determine the received request as the subsequent request if the prestored viewport details from the previous requests are available in the database (124). In an embodiment, the received viewport details hereinafter may be referred as the current viewport details and the pre-stored viewport details hereinafter may be referred as the previous viewport details. In such embodiment, the request determination module (134) may be configured to compare the current viewportdetails with the previous viewport details to determine changes in the current viewport details.

[0101] In an embodiment, the request determination module (134) may be configured to enable the receiving unit (126) to continue receiving the requests for the geospatial data when the current viewport details are same as the previous viewport details, indicating no changes are determined.

[0102] In another embodiment, the request determination module (134) may be configured to calculate a first set of map tile IDs for the previous viewport at the previous zoom level and a second set of map tile IDs for the current viewport at the current zoom level, when the current viewport details are different from the previous viewport details. For example, the first set of map tile IDs may be represented as previous_tile_id_list = [tilel, tile 2]. Similarly, the second set of map tile IDs may be represented as current_tile_id_list = [tile3, tile4].

[0103] Further, in an embodiment, the request determination module (134) may be configured to identify the incremental area based on the determined changes. In an embodiment, the incremental area is identified based on comparison of the map tile IDs in the previous viewport and the current viewport.

[0104] In an embodiment, the request determination module (134) may also be configured to compare the previous zoom level of the previous viewport with the current zoom level of the current viewport to determine the incremental map tile IDs. In an embodiment, if the previous zoom level is same as the current zoom level, then the request determination module (134) may be configured to compare the first set of map tile IDs of the previous viewport with the second set of map tile IDs of the current viewport to determine a change in the map tile IDs. In an exemplary embodiment, the request determination module (134) may be configured to calculate a difference between the first set of map tile IDs of the previous viewport and the second set of map tile IDs of the current viewport to determine incremental map tile IDs.

[0105] In another embodiment, the request determination module (134) may be configured to calculate a third set of map tile IDs for the previous viewport at the current zoom level if the previous zoom level is different from the current zoom level. In an embodiment, the third set of map tile IDs may be represented as new_previous_tile_id_list = [tile 5, tile 6]. In an embodiment, the request determination module (134) may be configured to calculate a difference between the third set of map tile IDs of the previous viewport at the current zoom level and the second set of map tile IDs of the current viewport at the current zoom level to determine the incremental map tile IDs. In an embodiment, the incremental map tile IDs that are in the current viewport but not in the previous viewport may represent the incremental area. In an embodiment, the request determination module (134) may be configured to transmit the identified incremental area to the data retrieving module (136).

[0106] The data retrieving module (136) may be configured to query the database (124) for retrieval of the complete geospatial data corresponding to the current viewport details if the request for the geospatial data is the initial request. In another embodiment, the data retrieving module (136) may be configured to query the database (124) for retrieving the incremental geospatial data corresponding to the identified incremental area when the request for the geospatial data is the subsequent request. In such embodiment, the data retrieving module (136) may be configured to retrieve geospatial objects that may be tagged with the map tile IDs corresponding to the incremental area and the corresponding zoom level. As used herein, the term “geospatial objects” may refer to individual elements that make up map layers being rendered on the UI (114).

[0107] In an alternative embodiment, the geospatial objects may refer to spatially referenced entities that represent various network elements, network infrastructure, coverage areas, and performance metrics. The geospatial objects are mapped to geographic coordinates, and are essential for network planning, optimization, and monitoring. The geospatial objects include cell towers, antennas,fiber optic cables, and micro wave links, mapped to the geographic coordinates with attributes like Cell ID, azimuth, tilt, and frequency bands. In addition, the geospatial objects include outage zones, interference regions, and handover event visualizations, enabling proactive fault detection and network adjustments. The geospatial objects may be linked to incremental data-fetching mechanisms, ensuring efficient data retrieval based on viewport changes, reducing network payload, and enhancing user experience.

[0108] The data retrieving module (136) may be configured to transmit the retrieved complete geospatial data or the incremental geospatial data to the display module (138).

[0109] In an exemplary embodiment, the display module (138) may be configured to render the complete geospatial data on the map displayed on the UI (114) based on the current viewport of the map, when the request is the initial request. In another embodiment, the display module (138) may be configured to merge the received incremental geospatial data with the existing geospatial data to render on the UI (114). In other words, new data points may be added to a current dataset displayed on the map, ensuring no duplication. In an exemplary embodiment, the incremental geospatial data may be iterated to determine if any geospatial object in the incremental geospatial data overlaps with existing geospatial objects of the existing geospatial data. In an embodiment, the existing geospatial objects may be updated or replaced if any geospatial object in the incremental geospatial data overlapped with the existing geospatial objects. In another embodiment, new geospatial objects may be added to a list of the geospatial objects if no overlapping is detected. Further, in an embodiment, the display module (138) may be configured to update a state of the UI (114) to include the merged geospatial data. The UI (114) may further render the map using the merged geospatial data to reflect updated viewport.

[0110] Although the FIG. 1C shows an exemplary block diagram of the system (106); however, in other embodiments, the system (106) may include fewercomponents, different components, differently arranged components, or additional functional components than depicted in the FIG. 1C. Additionally, or alternatively, one or more components of the system (106) may perform functions described as being performed by one or more other components of the system (106).

[0111] FIG. 2 illustrates an exemplary flow diagram of a process (200) of retrieving the incremental geospatial data for map visualization, in accordance with an embodiment of the present disclosure.

[0112] At step (202), the process (200) includes receiving input parameters such as, the previous viewport details, the previous zoom level, the current viewport details, the current zoom level and a geospatial layer ID.

[0113] At step (204), the process (200) includes calculating the first set of map tile IDs covering an area of the previous viewport at the previous zoom level. Further, the process (200) involves a step of storing the first set of map tile IDs as TilelD previous list. The process (200) also includes a step of calculating the second set of map tile IDs covering an area of the current viewport at the current zoom level. Further, the process (200) includes a step of storing the second set of map tile IDs as TilelD current list.

[0114] At step (206), the process (200) includes comparing the previous zoom level with the current zoom level. The process (200) may proceed to a step (208) if the previous zoom level is not equal to the current zoom level. Otherwise, the process (200) may proceed to a step (212).

[0115] At the step (208), the process (200) includes calculating the third set of map tile IDs corresponding to the previous viewport and the current zoom level, which in turn gives a new list of map tile IDs for the previous viewport at the current zoom level. Further, the process (200) involves a step of calculating the second set of map tile IDs corresponding to the current viewport and the current zoom level.

[0116] At step (210), the process (200) includes comparing the third set of map tile IDs corresponding to the previous viewport and the current zoom level with the second set of map tile IDs corresponding to the current viewport and the current zoom level to generate the incremental list of map tile IDs. The incremental list of map tile IDs may contain the map tile IDs that are in the current viewport at the current zoom level but not available in the previous viewport at the current zoom level.

[0117] At the step (212), the process (200) includes comparing the tilelD previous list with the tilelD current list to get the incremental list of map tile IDs. The incremental list of map tile IDs may contain the map tile IDs that are in current viewport but not available in the previous viewport.

[0118] At step (214), the process (200) includes querying the database (124) for the incremental list of map tile IDs to generate the incremental geospatial data.

[0119] FIG. 3 illustrates an exemplary computer system (300) in which or with which embodiments of the present disclosure may be implemented. As shown in the FIG. 3, the computer system (300) may include an external storage device (310), a bus (320), a main memory (330), a read only memory (340), a mass storage device (350), a communication port (360), and a processor (370). A person skilled in the art will appreciate that the computer system (300) may include more than one processor (370) and the communication ports (360). The processor (370) may include various modules associated with embodiments of the present disclosure.

[0120] In an embodiment, the external storage device (310) may be any device that is commonly known in the art such as, but not limited to, a memory card, a memory stick, a solid-state drive, a hard disk drive (HDD), and so forth.

[0121] In an embodiment, the bus (320) may be communicatively coupled with the processor(s) (370) with the other memory, storage, and communication blocks. The bus (320) may be, e.g., a Peripheral Component Interconnect (PCI) / PCI Extended (PCI-X) bus, a Small Computer System Interface (SCSI), a UniversalSerial Bus (USB) or the like, for connecting expansion cards, drives and other subsystems as well as other buses, such a front side bus (FSB), which connects the processor (370) to the computer system (300).

[0122] In an embodiment, the main memory (330) may be a Random- Access Memory (RAM), or any other dynamic storage device commonly known in the art. The Read-only memory (340) may be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chips for storing static information e.g., start-up or Basic Input / Output System (BIOS) instructions for the processor (370).

[0123] In an embodiment, the mass storage device (350) may be any current or future mass storage solution, which may be used to store information and / or instructions. Exemplary mass storage solutions include, but are not limited to, a Parallel Advanced Technology Attachment (PATA) or a Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and / or Firewire interfaces), one or more optical discs, Redundant Array of Independent Disks (RAID) storage, e.g., an array of disks (e.g., SATA arrays).

[0124] Further, the communication port (360) may be any of an RS-232 port for use with a modem-based dialup connection, a 10 / 100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports. The communication port (360) may be chosen depending on the network (108), such a Focal Area Network (LAN), Wide Area Network (WAN), or any network to which the computer system (300) connects.

[0125] Optionally, operator and administrative interfaces, e.g., a display, a keyboard, a joystick, and a cursor control device, may also be coupled to the bus (320) to support a direct operator interaction with the computer system (300). Other operator and administrative interfaces may be provided through network connections connected through the communication port (360). Componentsdescribed above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system (300) limit the scope of the present disclosure.

[0126] FIG. 4 illustrates a flowchart of a method (400) for rendering the geospatial data, in accordance with an embodiment of present disclosure.

[0127] At step (402), the method (400) includes a step of receiving requests for the geospatial data from the UI (114). In an embodiment, each of the requests includes viewport details such as, previous viewport details, current viewport details, a previous zoom level, a current zoom level, a geospatial layer, and so forth. The requests for the geospatial data may be API requests that may be received via one of a transmission method such as, but not limited to, HTTP, HTTPs and so forth.

[0128] At step (404), the method (400) includes a step of determining whether each of the received requests represents an initial request or a subsequent request based on the viewport details. In an embodiment, the database (124) may be queried to check if the database (124) contains pre-stored viewport details from previous requests. The method (400) determines the received request as the initial request if the pre-stored viewport details from the previous requests are not available in the database (124). In another embodiment, the method (400) determines the received request as the subsequent request if the pre-stored viewport details from the previous requests are available in the database (124). In such embodiment, the pre-stored viewport details may be considered as the previous viewport details and the received viewport details may be considered as the current viewport details.

[0129] At step (406), the method (400) includes a step of determining changes in the received viewport details of the corresponding requests when at least one of the requests are determined to be the subsequent request. The method (400) includes a step of comparing the current viewport details with the previous viewportdetails to determine the changes in the received viewport details. Based on the comparison, if the current viewport details are different from the previous viewport details, then the method (400) calculates a first set of map tile IDs for a previous viewport at a corresponding previous zoom level and a second set of map tile IDs for a current viewport at a corresponding current zoom level. Further, the method (400) compares the previous zoom level of the previous viewport with the current zoom level of the current viewport. If the previous zoom level is same as the current zoom level, then the method (400) compares the first set of map tile IDs of the previous viewport with the second set of map tile IDs of the current viewport to determine a change in the map tile IDs. In another case, if the previous zoom level is different from the current zoom level, then the method (400) calculates a third set of map tile IDs for the previous viewport at the current zoom level and compares the third set of map tile IDs of the previous viewport at the current zoom level with the second set of map tile IDs of the current viewport at the current zoom level to determine any change in the map tile IDs.

[0130] At step (408), the method (400) includes a step of identifying an incremental area based on the changes in the viewport details. The incremental area is identified based on the comparison of the map tile IDs in the previous viewport and the current viewport. The method (400) calculates a difference between the first set of map tile IDs of the previous viewport and the second set of map tile IDs of the current viewport to identify incremental map tile IDs when the previous zoom level is same as the current zoom level. In another aspect, where the previous zoom level is different from the current zoom level, the method (400) calculates a difference between the third set of map tile IDs of the previous viewport at the current zoom level and the second set of map tile IDs of the current viewport at the current zoom level to identify the incremental map tile IDs. In an embodiment, the incremental map tile IDs that are in the current viewport but not in the previous viewport may represent the incremental area.

[0131] At step (410), the method (400) includes a step of retrieving incremental geospatial data corresponding to the identified incremental area from the database (124). In an embodiment, the method (400) includes a step of retrieving complete geospatial data from the database (124) when at least one of the requests is identified as the initial request. In an embodiment, the method (400) may include a step of querying the database (124) for retrieval of the complete geospatial data or the incremental geospatial data corresponding to the received viewport details. Upon receiving the query, the database (124) may search for the incremental geospatial data that may be tagged with the map tile IDs corresponding to the incremental area and the current zoom level.

[0132] At step (412), the method (400) includes a step of transmitting the retrieved incremental geospatial data to the UE (102) for rendering the retrieved incremental geospatial data with existing geospatial data on the UI (114). In an embodiment, the method (400) may include a step of iterating through the incremental geospatial data to determine if any geospatial object in the incremental geospatial data overlaps with existing geospatial objects of the existing geospatial data. The method (400) may update or replace the existing geospatial objects if any geospatial object in the incremental geospatial data overlapped with the existing geospatial objects. In another case, new geospatial objects may be added to a list of geospatial objects if no overlapping is detected. Further, the method (400) may update a state of the UI (114) to include the merged geospatial data. The UI (114) may further render the map using the merged geospatial data to reflect updated viewport.

[0133] In an embodiment, the present disclosure discloses a User Equipment (UE) (102) configured for interacting with a system (106) for rendering geospatial data on a UI (114). The UE (102) includes: a main processor (110). The UE (102) further includes a computer readable storage medium (112) storing one or more instructions for execution by the main processor (110) to receive one or more user interactions on the UI (114); transmit a request for the geospatial data to the system (106) based on the one or more user interactions; receive the geospatialdata from the system (106) such that the geospatial data is complete geospatial data or incremental geospatial data based on the user interactions; render the received geospatial data on the UI (114).

[0134] The present disclosure provides a technical advancement related to the field of geospatial data rendering on web-based platforms. This advancement addresses limitations of existing solutions by optimizing data fetching process to minimize network payload. The disclosure provides inventive aspects such as determining whether a viewport has changed and fetching only incremental data based on this change. This approach offers significant improvements in performance by reducing data transfer and rendering times, and potentially lowering operational costs associated with bandwidth usage. By implementing this invention, the disclosed system enhances efficiency and responsiveness of geospatial data visualization, resulting in a smoother and more responsive user experience.

[0135] While the foregoing describes various embodiments of the present disclosure, other and further embodiments of the present disclosure may be devised without departing from the basic scope thereof. The scope of the present disclosure is determined by the claims that follow. The present disclosure is not limited to the described embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to make and use the present disclosure when combined with information and knowledge available to the person having ordinary skill in the art.

[0136] While considerable emphasis has been placed herein on the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferred embodiments of the disclosure will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoingdescriptive matter is to be implemented merely as illustrative of the disclosure and not as a limitation.ADVANTAGES OF THE PRESENT DISCLOSURE

[0137] The present disclosure provides a system and a method for storing classified grid data for efficient web rendering and spatial analytics.

[0138] The present disclosure reduces network payload for faster web visualization.

[0139] The present disclosure achieves faster loading times and smoother data rendering by eliminating unnecessary data transfer and processing, leading to a more responsive and enjoyable user interaction.

[0140] The present disclosure enables efficient handling of large and complex geospatial datasets by utilizing a targeted data retrieval approach, ensuring smooth application performance even with growing data volumes.

[0141] The present disclosure minimizes redundant data processing and unnecessary resource consumption by focusing on the incremental data required for updating the user's view, resulting in improved server efficiency.

[0142] The present disclosure offers a flexible approach that adapts to different user interactions (panning, zooming) and efficiently handles dynamic changes in the displayed geo-spatial data.

Claims

We Claim:

1. A method (400) for rendering geospatial data, the method (400) comprising: receiving (402), by a receiving unit (126), one or more requests for the geospatial data, wherein each of the one or more requests comprises one or more viewport details; determining (404), by a processing unit (132), whether each of the one or more received requests represents an initial request or a subsequent request based on the one or more viewport details; determining (406), by the processing unit (132), one or more changes in the one or more received viewport details of the corresponding one or more requests when at least one of the requests are determined to be the subsequent request; identifying (408), by the processing unit (132), an incremental area based on the one or more changes in the one or more viewport details; retrieving (410), by the processing unit (132), incremental geospatial data corresponding to the identified incremental area from a database (124); and transmitting, by the processing unit (132), the retrieved incremental geospatial data to a User Equipment (UE) (102) for rendering the incremental geospatial data with existing geospatial data on a User Interface (UI) (114).

2. The method (400) as claimed in claim 1, wherein the one or more viewport details comprises one or more previous viewport details, one or more current viewport details, a previous zoom level, a current zoom level, a geospatial layer, or a combination thereof.

3. The method (400) as claimed in claim 2, wherein the one or more changes are determined by comparing the one or more previous viewport details with the one or more current viewport details.

4. The method (400) as claimed in claim 1, wherein retrieving the incremental geospatial data comprises retrieving geospatial objects tagged with map tile Identifiers (IDs) corresponding to the incremental area and a corresponding zoom level from the database (124).

5. The method (400) as claimed in claim 1, wherein the incremental area is identified based on comparison of map tile IDs in a previous viewport and a current viewport.

6. The method (400) as claimed in claim 1 , comprising a step of calculating a first set of map tile IDs corresponding to a previous viewport at a previous zoom level and a second set of map tile IDs corresponding to a current viewport at a current zoom level.

7. The method (400) as claimed in claim 6, comprising a step of comparing the previous zoom level with the current zoom level.

8. The method (400) as claimed in claim 7, comprising a step of comparing the first set of map tile IDs corresponding to the previous viewport at the previous zoom level with the second set of map tile IDs corresponding to the current viewport at the current zoom level to obtain incremental set of map tile IDs when the previous zoom level is equal to the current zoom level.

9. The method (400) as claimed in claim 7, comprising a step of calculating a third set of map tile IDs corresponding to the previous viewport at the current zoom level when the previous zoom level is different from the current zoom level.

10. A system (106) for rendering geospatial data, wherein the system (106) comprising:a receiving unit (126) configured to receive one or more requests for the geospatial data, wherein each of the one or more requests comprises one or more viewport details; and a processing unit (132) communicatively coupled to the receiving unit (126), wherein the processing unit (132) is configured to: determine whether each of the one or more received requests represents an initial request or a subsequent request; determine one or more changes in the one or more received viewport details of the corresponding one or more requests when at least one of the requests are determined to be the subsequent request based on the one or more viewport details; identify an incremental area based on the one or more changes in the one or more viewport details; retrieve incremental geospatial data corresponding to the identified incremental area from a database (124); and transmit the retrieved incremental geospatial data to a User Equipment (UE) (102) for rendering the incremental geospatial data with existing geospatial data on a User Interface (UI) (114).

11. The system (106) as claimed in claim 10, wherein the one or more viewport details comprises one or more previous viewport details, one or more current viewport details, a previous zoom level, a current zoom level, a geospatial layer, or a combination thereof.

12. The system (106) as claimed in claim 11, wherein the one or more changes are determined by comparing the one or more previous viewport details with the one or more current viewport details.

13. The system (106) as claimed in claim 10, wherein the processing unit (132) is configured to retrieve the incremental geospatial data by retrieving geospatial objects tagged with map tile Identifiers (IDs) corresponding to incremental area and a corresponding zoom level from the database (124).

14. The system (106) as claimed in claim 10, wherein the incremental area is identified based on comparison of map tile IDs in a previous viewport and a current viewport.

15. The system (106) as claimed in claim 10, wherein the processing unit (132) is configured to calculate a first set of map tile IDs corresponding to a previous viewport at a previous zoom level and a second set of map tile IDs corresponding to a current viewport at a current zoom level.

16. The system (106) as claimed in claim 15, wherein the processing unit (132) is configured to compare the previous zoom level with the current zoom level.

17. The system (106) as claimed in claim 16, wherein the processing unit (132) is configured to compare the first set of map tile IDs corresponding to the previous viewport at the previous zoom level with the second set of map tile IDs corresponding to the current viewport at the current zoom level to obtain incremental set of map tile IDs when the previous zoom level is equal to the current zoom level.

18. The system (106) as claimed in claim 16, wherein the processing unit (132) is configured to calculate a third set of map tile IDs corresponding to the previous viewport at the current zoom level when the previous zoom level is different from the current zoom level.

19. A User Equipment (UE) (102) for interacting with a system (106) for rendering geospatial data on a User Interface (UI) (114), the UE (102) comprising: a main processor (110); a computer readable storage medium (112) storing one or more instructions for execution by the main processor (110) to: receive one or more user interactions on the UI (114); transmit a request for the geospatial data to the system (106) based on the one or more user interactions;receive the geospatial data from the system (106), wherein the geospatial data is complete geospatial data or incremental geospatial data based on the user interactions; and render the received geospatial data on the UI (114).

20. A computer program product comprising a memory (128) having instructions that, when executed by a processing unit (132), cause the processing unit (132) to perform a method (400) for rendering geospatial data, the method (400) comprising steps of: receiving (402), by a receiving unit (126), one or more requests for the geospatial data, wherein each of the one or more requests comprises one or more viewport details; determining (404), by the processing unit (132), whether each of the one or more received requests represents an initial request or a subsequent request based on the one or more viewport details; determining (406), by the processing unit (132), one or more changes in the one or more received viewport details of the corresponding one or more requests when at least one of the requests are determined to be the subsequent request; identifying (408), by the processing unit (132), an incremental area based on the one or more changes in the one or more viewport details; retrieving (410), by the processing unit (132), incremental geospatial data corresponding to the identified incremental area from a database (124); and transmitting (412), by the processing unit (132), the retrieved incremental geospatial data to a User Equipment (UE) (102) for rendering the incremental geospatial data with existing geospatial data on a User Interface (UI) (114).

Citation Information

Patent Citations

  • Mobile communication device for retrieving geospatial data

    US20120157122A1

  • Method and equipment for progressive transmission of spatial data

    WO2011082647A1