Apparatus, system and method for aided generation of tag sets from geospatial data and map context for layout
By combining manual and automatic processes and using the user interface to define label characteristics and priorities, the efficiency and accuracy issues of map label generation in geospatial information systems are solved, efficient and accurate map label generation and printing are achieved, and the efficiency and quality of utility network design are improved.
Patent Information
- Application Number
- CN202480012410.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-02-14
- Filing Date
- 2024-02-13
- Publication Date
- 2025-09-12
AI Technical Summary
When existing geospatial information systems generate utility network map labels, the manual process is time-consuming, labor-intensive, and error-prone. The automated process can result in excessive labels, missing details, and poor placement, leading to information dissemination errors and affecting design efficiency and accuracy.
Combining manual and automatic processes, label characteristics and priorities are defined through the user interface, and the system automatically or manually places labels to ensure that labels match symbols, data, and map context. It provides real-time updates and vector-based printing technology to improve the consistency and stability of label placement.
It achieves efficient and accurate generation of map labels, reduces human errors, improves design efficiency, ensures the matching and readability of labels with map information, and supports rapid construction printing and flexible adjustment.
Smart Images

Figure CN120641903A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of and priority to U.S. Provisional Patent Application Serial No. 63 / 445,409, filed on February 14, 2023, entitled “APPARATUSES, SYSTEMS, AND METHODS FOR ASSISTED GENERATION OF LABEL SETS FROM GEOSPATIAL DATA AND MAP CONTEXT FOR LAYOUTS,” the entire contents of which are incorporated herein by reference. Technical Field
[0003] The present disclosure is directed to providing assisted generation of tag sets for geospatial data and map context for layout. Background Art
[0004] Utility networks such as electricity, gas, water, telecommunications, etc. can be designed and presented in a geospatial information system, where multiple information sources can be aggregated into a spatial representation on a map. This aggregated information can be used to assist in the design of the utility network. One challenge of using a geospatial information system to design a utility network is effectively presenting the information in artifacts such as constructed prints outside the system. Existing systems have difficulty with label generation and related content for information systems such as geospatial information systems. These existing systems may allow for the generation of map labels as part of their respective utility design software systems. However, the process for labeling typically falls into either manual or automated processes.
[0005] A geospatial information system may be able to aggregate data from multiple sources onto a spatial map representation. This capability may be valuable during the design of utility networks, such as electricity, gas, water, and communication (e.g., telecommunications) systems, where an optimal design may require analysis and consideration of many different aspects of information from the surrounding geographic area. The resulting network design is typically communicated to other parties via one or more visual representations (digitally or via paper printouts) outside of the geospatial information system. The network designer must pay attention to the layout of these visuals to provide the consumer with the appropriate level of information and detail from the vast amount of underlying data in the system. This manual process may suffer from the drawbacks of time and cost associated with the user labeling each element, and naturally leads to human error.
[0006] One aspect of conveying information in geospatial visual representations is through labels placed in conjunction with symbols on the map. Complex network designs may require multiple map views with varying levels of detail and information exposed to effectively communicate with consumers. Furthermore, complex designs may include crowded areas that require careful label placement and spacing to ensure readability and clarity. Existing methods for labeling these scenarios can consume a significant portion of the effort required to construct a map layout.
[0007] Manual creation of map labels can be tedious, error-prone, and can result in information becoming stale or requiring rework when the data or map context changes. Automated label generation can address some of these limitations but can produce excessive labels, missing details, and poor placement, often leading to additional cleanup work. This cleanup can be extensive and occasionally require more time than a manual process. Consequently, automated processes can have problems obtaining appropriate information and lack accuracy because no corrections are made to the chaotic automated labeling information. For example, one or more errors associated with a label or element can propagate multiple times across an area or entirety of the geospatial data. This can lead to costly miscalculations caused by the error. Summary of the Invention
[0008] One or more embodiments disclosed herein may overcome the aforementioned deficiencies and other shortcomings associated with existing information systems. One or more embodiments described herein may provide better balance and efficiency by integrating the advantages of both manual and automated processes into a new and novel process that is better suited for the complex map designs common to information systems, such as utility networks.
[0009] The present application includes examples of apparatus, systems, and methods for providing assisted real-time generation of geographic map labels based on data classification and analysis of relevant symbology, map characteristics, and user-driven label set options for effective map layout in congested and multi-view scenarios common in utility network layouts.
[0010] In various example embodiments, a user may define zero, one, or more label definitions (e.g., font characteristics, decoration, size, alignment, orientation, and / or content of a label) for a classification of map data through a user interface. Some characteristics may optionally be defined to be driven by related data, symbols, and / or map state. The selection of symbols within a map design may be used to assist in creating label definitions by exposing available contextual information to the user. The user may be enabled to select a subset of label definitions into one or more scene marker sets. In some scenes, preferred locations for labels may be defined based on the label definitions. In some scenes, label priorities may be defined to determine the order in which each label definition may be placed. During the design process, the user may be enabled to select a set of label scenes for a map view. The user may be allowed to select that the system automatically determine the initial location of the labels and / or that labels may be manually placed through interaction within the map.
[0011] Various operations for automatic placement can be provided, such as when a user selects a user interface button to automatically place a label from a selected subset of scene label definitions. For each visible symbol on the map, associated data can be used to determine the classification of the data. If the classification contains an applicable label definition in the active label definition set, then that definition can be used to construct the label. Using the current state of the map, the size of the resulting label can be determined. The shape and orientation of the associated symbol can be used to determine the orientation of the label. The system can determine whether the current layout contains enough open space to place the label at the desired location relative to the symbol. For example, if the space is not open, one or more nearby locations can be searched until a location for label placement is found. The labels in the set (e.g., all labels or a subset thereof) can be placed by priority of the labels.
[0012] Additionally or alternatively, various operations for manual placement can be provided. This can include a user moving a pointer icon (e.g., a mouse pointer) near a map symbol to present the highest priority label for the associated map data in a scene set (e.g., a label class), if a label has already been defined in that set. If more than one label definition is defined for the associated map data class, the user can be enabled to switch to another label definition associated with the symbol. If a label definition for the associated symbol does not exist in the current scene set, in some embodiments, no label will be presented. The label can be placed at a preferred position defined by the associated label definition. Optionally, a mode can be toggled that allows the label to be offset from the associated symbol to a user-defined position. Placing labels by automatic or manual means can create a relationship between the label and its associated symbol, data, and map to propagate changes. A placed label can be moved using the manual placement process flow. A placed label can be removed from the map by selecting it and deleting the label element. In various embodiments, updating the map scale or orientation can automatically update the orientation, size, and placement of map labels, as defined by their respective label definitions. Some characteristics can optionally be defined to be driven by associated data, symbology, or map state. The choice of symbols within a map design can be used to assist in creating label definitions by exposing available contextual information to the user.
[0013] Additionally or alternatively, various operations for automatic placement may be provided. A user may be enabled to select (e.g., click) a user interface button or element to automatically place a label from a selected subset of scene label definitions. For each visible symbol on the map, at least a portion of the associated data may be used to determine the classification of the data. If the classification contains an applicable label definition in the active label definition set, that definition may be used to construct the label. Using the current state of the map, the size of the resulting label may be determined. The shape and orientation of the associated symbol may be used to determine the orientation of the label. The system may determine whether the current layout contains enough open space to place the label at the desired location relative to the symbol. If the space is not open, nearby locations may be searched until a location is found for label placement. In some embodiments, all labels in the set may be placed by priority of the label.
[0014] Implementations consistent with the present disclosure may enable map data to be categorized into group classifications. A user interface may be provided for creating multiple label definitions per group classification of a map. A user interface may be provided for grouping label definitions into one or more scene-based sets. Real-time feedback of labeling may be based on the current scene-based set and map context. Implementations consistent with the present disclosure may provide the ability to select an active label scene set for each map. A user may be provided with the ability to switch between categorized label definitions within a scene set. According to aspects of the present disclosure, assisted or automatic placement and orientation of label elements may be provided. Automatic label content and styling based on established relationships between active label definitions and labels, symbols, data, and / or maps may be provided. Implementations consistent with the present disclosure may enable the determination and maintenance of relationships between map data, symbology, and map context and label elements. Automatic determination and updating of label characteristics based on established relationships may be provided to reflect changes in symbols, data, or map context. According to aspects of the present disclosure, the ability to move and adjust generated labels after initial placement without disrupting automatic update behavior may also be provided.
[0015] Embodiments consistent with the present disclosure may implement vector-based printing. Constructed prints may be generated according to one or more layouts described herein in the manner disclosed. Existing printing problems associated with constructed prints may be improved according to the aspects described herein, such as related to increased speed, increased stability, reduced file size, and providing increased label placement consistency, compared to existing constructed prints. This may be achieved in whole or in part using vector-based printing. Vector-based printing provides better control over label placement, better stability, introduction of vector-based graphics across applications, simplification of the number of symbol / label configurations required, provides a smaller footprint for generated files (e.g., faster generated Adobe PDF, such as in seconds), provides the ability to monitor memory usage, and allows for undo / redo capabilities for layouts.
[0016] According to aspects of the present disclosure, a method for providing assisted generation of a tag set and providing information is provided, comprising: obtaining tag definition information, selecting a subset of the tag definition information, associating the subset of the tag definition information with at least one scene tag set, providing a map view to a user, obtaining a selection of a selected scene tag set from the at least one scene tag set, determining placement of at least one tag of the selected scene tag set on a map view provided to the user, associating at least one tag with at least one attribute, and updating the map view in response to associating at least one tag with the at least one attribute. The at least one attribute may include one or more of symbol information, data, or mapping information. The method may include selectively enabling at least one tag to be moved or deleted on the map view. The method may include updating the orientation, size, or placement of at least one label defined by the corresponding tag definition information when the scale or orientation of the map view changes. The method may include generating a construction print corresponding to the updated map view.
[0017] According to other aspects of the present disclosure, a device for providing assisted generation of a tag set is provided, the system comprising a processor, a memory, a communication portion communicatively coupled to a network, and an interface configured to use the processor and the memory to implement one or more operations, the operations comprising: obtaining tag definition information, selecting a subset of the tag definition information, associating the subset of the tag definition information with at least one scene tag set, providing a map view to a user, obtaining a selection of a selected scene tag set from at least one scene tag set, determining placement of at least one tag from the selected scene tag set on a map view provided to the user, associating at least one tag with at least one attribute, and updating the map view in response to associating at least one tag with at least one attribute. The at least one attribute may include one or more of symbol information, data, or mapping information. The interface may enable at least one tag to be moved or deleted on the map view. The interface may also enable updating the orientation, size, or placement of at least one tag defined by the corresponding tag definition information when the scale or orientation of the map view changes.
[0018] According to another aspect of the present disclosure, a non-transitory computer-readable medium storing an information system program including instructions is provided, which, when executed by a processor of a device, causes the device to perform the following operations: obtain tag definition information, select a subset of the tag definition information, associate the subset of the tag definition information with at least one scene tag set, provide a map view to a user, obtain a selection of a selected scene tag set from the at least one scene tag set, determine the placement of at least one tag from the selected scene tag set on a map view provided to the user, associate at least one tag with at least one attribute, and update the map view in response to associating at least one tag with the at least one attribute. The at least one attribute includes one or more of symbol information, data, or mapping information. The non-transitory computer-readable medium may include one or more operations for selectively enabling the movement or deletion of at least one tag on the map view. When the scale or orientation of the map view changes, the orientation, size, or placement of at least one tag defined by the corresponding tag definition information may be updated. A construction print corresponding to the updated map view may be generated.
[0019] Many other objects, features and advantages of the present invention will be readily apparent to those skilled in the art by reading the following disclosure in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] A more detailed description of the disclosure, briefly summarized above, can be obtained by reference to various embodiments, some of which are illustrated in the accompanying drawings. Although the drawings illustrate selected embodiments of the disclosure, these drawings are not to be considered limiting of the scope of the disclosure, as the disclosure may admit to other equally effective embodiments.
[0021] Figure 1 A partial block diagram is shown illustrating an example environment that may be used in accordance with aspects of the present disclosure.
[0022] Figure 2 A block diagram of an embodiment of a client device according to aspects of the present disclosure is shown.
[0023] Figure 3 A partial block diagram of an embodiment of a server according to aspects of the present disclosure is shown.
[0024] Figure 4 A partial block diagram of an embodiment of an interface according to aspects of the present disclosure is shown.
[0025] Figure 5 A simplified block diagram illustrating an embodiment of propagation of status updates in accordance with aspects of the present disclosure is shown.
[0026] Figure 6 A simplified example of an embodiment using a manual process to select objects and provide label information is shown according to aspects of the present disclosure.
[0027] Figure 7 A simplified example of an embodiment of manually adjusting label positions according to aspects of the present disclosure is shown.
[0028] Figure 8 A block diagram illustrating an embodiment of data, taxonomies, tag definitions, and entity relationships between tag sets according to aspects of the present disclosure is shown.
[0029] Figure 9 Shown are some examples of a map interface and work location information according to aspects of the present disclosure.
[0030] Figure 10 An example of a multi-view output of a system according to aspects of the present disclosure is shown.
[0031] Figure 11 Examples of interfaces that may be used with the systems described herein are shown in accordance with aspects of the present disclosure.
[0032] Figure 12 An example of a configuration interface according to aspects of the present disclosure is shown.
[0033] Figure 13 A partial layout providing tag information for multiple objects according to aspects of the present disclosure is shown.
[0034] Figure 14 A partial view of an example of an interface that may be used in accordance with aspects of the present disclosure is shown.
[0035] Figure 15 A partial view of an example of an interface for customizing one or more layouts according to aspects of the present disclosure is shown.
[0036] Figure 16 A partial view of an example of an interface for customizing one or more layouts according to aspects of the present disclosure is shown.
[0037] Figure 17 Examples of annotations related to tag information according to aspects of the present disclosure are shown.
[0038] Figure 18 An example of a partial multiple layout view of a work location according to aspects of the present disclosure is shown.
[0039] Figure 19 An example of a first interface view for manipulating object information according to aspects of the present disclosure is shown.
[0040] Figure 20 The corresponding aspects of the present disclosure are shown. Figure 19 Example of the second interface view, whereby the structure name has been changed.
[0041] Wherever possible, identical reference numerals have been used to designate identical elements that are common to the figures. However, elements disclosed in one embodiment may be beneficially utilized on other embodiments without specific recitation. DETAILED DESCRIPTION
[0042] This application describes the assisted generation of tag sets that provide geospatial data and map context for layout.
[0043] Figure 1 A partial block diagram is shown, which illustrates an example environment that can be used according to various aspects of the present disclosure. As shown, environment 100 includes one or more client devices 110A, 110B (hereinafter referred to as client device 110 or device 110), network 120 and one or more GIS databases 130A, 130B, 130N (hereinafter referred to as GIS database 130 or database 130). Client device 110 can be any hardware device that can establish a connection with another device or server directly or via a communication network (e.g., network 120). Examples of client device 110 include, but are not limited to, desktop computers, thin client devices, mobile computing devices (such as notebooks, laptop computers, handheld computers, mobile phones, smart phones, tablet computers, tablet phones, etc.). Client device 110 typically includes one or more input / output devices to facilitate user interaction (e.g., to display a map or portion thereof, to enable a user to select an area or element on the map, to enable a user to select one or more elements or sub-elements, etc.).
[0044] In some embodiments, aspects of the disclosed system may be embodied in at least one implementation application / system 111 (hereinafter referred to as "interface 110"), which is installed or installable at a client device and / or accessible on client device 110 (e.g., via network 120). Interface 110 may be downloaded from a server (e.g., server 140, an application store, and / or a repository) and may be installed or executable on client device 110 in whole or in part. In some embodiments, interface 110 may be and / or access a web-based application or portal that may be accessed by one or more client devices 110 via a web browser. Additionally or alternatively, interface 10 may be a web browser capable of accessing remote websites or data locations, e.g., via network 120. In some embodiments, interface 10 may operate by utilizing data stored in the browser's local memory (e.g., network model data, utility information, component information, element information, and / or cached map data may remain on client device 110, but the data may be periodically backed up on a host server or in the cloud—e.g., via network 120). Interface 10 may be a GIS software application usable according to aspects of the present disclosure.
[0045] GIS database 130 (e.g., "database 130") can be a database or file structure configured to store one or more objects (e.g., components) defined in a geometric space. One example of a GIS database is a geographic database. Typically, each utility maintains its own GIS database, although one or more GIS databases 130, or portions thereof, may be physically and / or logically separate from a particular utility. Examples of utilities maintaining their own GIS databases include a gas company with its own GIS database storing characteristic data for its gas distribution network. Similarly, an electric utility or telecommunications provider may have its own GIS database storing characteristic data for its electricity distribution or telecommunications network. GIS database 130 typically supports query execution and operations on the stored data. Examples of data stored in a GIS database include, but are not limited to, geometric or shape data and object attributes, typically grouped into distinct feature classes. Additionally or alternatively, database 130 can be any repository configured to store one or more datasets, not specifically limited to GIS data. GIS database 130, or portions thereof, can be implemented in Microsoft SQL Server, PostgreSQL relational database management systems, Microsoft Access, Oracle, IBM DB2, IBM Informix, and the like. Additionally or alternatively, GIS database 130 or a portion thereof may be implemented by one or more storage systems, such as a cloud computing platform or environment, or any distributed storage system, including Microsoft Azure.
[0046] In some embodiments, the environment 100 includes a server 140 (e.g., a computing device). The server 140 may include a GIS database 130 (e.g., a GIS database 130A), a GIS operation portion 300, and / or a communication portion 310. Figure 3 Depicted are a GIS operations portion 300 and a communications portion 310. The server 140 may be communicatively coupled to one or more devices 110 and / or one or more GIS databases 130B, 130N, for example, via a network 120.
[0047] The network 120 through which client devices 110, one or more GIS databases 130, and server 140 can communicate can be a telephone network, an open network (e.g., the Internet), or a private network (e.g., an intranet and / or an extranet). Network 120 can be any collection of different communication networks operating in whole or in part to provide connectivity to client devices 110 and GIS databases 130, and can appear as one or more communication networks to service systems and devices. In some embodiments, communication can be achieved through a secure communication protocol, such as Secure Sockets Layer (SSL) or Transport Layer Security (TLS).
[0048] In addition, communication can be achieved via one or more wireless networks, such as, but not limited to, one or more of the following: local area network (LAN), wireless local area network (WLAN), personal area network (PAN), campus area network (CAN), metropolitan area network (MAN), wide area network (WAN), wireless wide area network (WWAN), global system for mobile communications (GSM), personal communications service (PCS), digital advanced mobile phone service (D-Amps), Bluetooth, Wi-Fi, fixed wireless data, 2G, 2.5G, 3G, 4G, 4G-LTE networks, enhanced data rates for GSM evolution (EDGE), general packet radio service (GPRS), enhanced GPRS, messaging protocols (such as TCP / IP, SMS, MMS), extensible messaging and presence protocol (XMPP), real-time messaging protocol (RTMP), instant messaging and presence protocol (IMPP), instant messaging, USSD, IRC, or any other wireless data network or messaging protocol.
[0049] One or more client devices 110 may be coupled to a network 120 (e.g., the Internet) via a dial-up connection, a digital subscriber loop (e.g., DSL, ADSL), a cable modem, fiber optics, and / or other types of connections. Thus, client devices 110 may communicate with remote servers (e.g., one or more of server 140, GIS database 130, a mail server, an instant messaging server, etc.), some of which may provide access to a user interface of the World Wide Web, for example, via a web browser.
[0050] The client device 110 may, in various embodiments, function as a thin client device that obtains at least a portion of the data (e.g., GIS data) for operation from the server 140. The client device 110 may be operable to cache / store at least a portion of the data from the server 140 for presentation to a user of the client device 110, such as for viewing via a mapping interface that may be displayed to the user and enable the user to view and / or perform one or more actions associated therewith. The client device 110 may be configured to obtain at least a portion of the data from the server 140, display at least a portion of the data from the server 140 to the user of the client device 110, receive at least one input command or operation from the user related to the at least a portion of the data, and send a representation of the at least one input command or operation to the server 140.
[0051] A user of device 110 may be enabled to create, modify, and / or remove one or more tag definitions or components thereof. Device 110 may be configured to store one or more tag definitions or representations thereof in memory 114 and / or storage 118. Additionally or alternatively, one or more tag definitions or representations thereof may be selectively transmitted from device 110, for example, via network 120 through communication portion 116 to one or more other components, such as server 140 and / or GIS database 130. One or more tag definitions may be viewed and / or used via an interface associated with device 110 (e.g., interface 110). Tag definitions may be accessed and / or edited by a user of device 110. In various embodiments, an administrator may be enabled to create, modify, and / or remove one or more tag definitions or subsets thereof, and access to one or more operations and / or data sets may be restricted, for example, to the administrator. In various embodiments described herein, a tag definition may be a user-specified grouping of one or more tag styles and one or more content definitions. As previously described, tag definitions or subsets thereof may be stored, in whole or in part, on device 110, server 140, and / or GIS database 130, or a combination thereof.
[0052] As described herein, during operation, a user of device 110 can define zero, one, or more label definitions (font characteristics, decoration, size, alignment, orientation, and content of labels) for classifications of map data via interface 110 of device 110 through a user interface. Some characteristics can optionally be defined as driven by related data, symbology, or map state. The selection of symbols within the map design can be used to assist in creating label definitions by exposing available contextual information to the user. The user of device 110 can select subsets of label definitions into one or more contextual tag sets (e.g., label classes / categories).
[0053] Preferred locations for labels can be defined based on label definitions in the scene. Label priorities can be defined to determine the order in which each label definition is placed in the scene. Label definitions can be stored, for example, in whole or in part, at the device 110, at the server 140, and / or at the GIS database 130, or a combination thereof. During the design process, a user of the device 110 selects a set of label scenes for the map view provided by the interface 10. The user of the device 110 can select the system to automatically determine the initial location of the labels, or can manually place labels through interaction within the map using the interface 10.
[0054] In order for a user of the device to select automatic placement, the user can select (e.g., via a mouse click) a user interface button at interface 10 to automatically place a label from a selected subset of scene label definitions (e.g., including one or more previously created label definitions). For each visible symbol on the map, associated data is used to determine the classification of the data. If the classification contains an applicable label definition in the active label definition set, the definition is used to construct the label of the symbol. The current state of the map can be used to determine one or more properties of the resulting label, such as label or text size. The shape and orientation of the associated symbol can be used to determine the orientation of the label and / or text. The system can determine whether the current layout contains enough open space to place the label at the desired position relative to the symbol. If the space is not open, nearby locations can be searched until a location is found for label placement. The system can ensure that all labels in the set are placed according to the corresponding priority of the labels.
[0055] A user of device 110 may be enabled to provide manual placement of a label. This may include the user of device 110 moving a selector, such as a mouse pointer, near a map symbol, which will cause interface 10 to present the highest priority label for the relevant map data in the scene set (if a label has been defined in the set). If more than one label definition is defined for the relevant map data classification, the user of device 110 may switch to another label definition associated with the symbol. If no label definition exists for the relevant symbol in the current scene set, interface 10 will not present the label to the user of device 110. The label may be placed at a preferred position defined by the relevant label definition. Optionally, a mode is switched that allows the label to be offset from the relevant symbol to a user-defined position. This may include allowing the user to indicate a preferred placement of the label, for example, by dragging the label on a map, by clicking on a preferred position, or by other means of indicating a preferred label position (e.g., using I / O portion 124).
[0056] Placing a label by automatic or manual means creates a relationship between the label and its associated symbol, data, and map to propagate changes. This relationship between the label and its associated symbol, data, and map may optionally be stored in whole or in part on the device 110, server 140, and / or GIS database 130, or a combination thereof. Additionally or alternatively, the association may be propagated across the system. Once a label has been placed by an automatic or manual placement process, it may be moved using the process described in the manual placement process. A placed label may be removed from the map by the user of the device 110 selecting it and deleting the label element. Updating the map scale or orientation may cause the system to automatically update the orientation, size, and placement of map labels as defined by their respective label definitions (e.g., at interface 10). The system may update the underlying map data or symbology using the automatically updated characteristics, content, and placement of labels as defined by their respective label definitions.
[0057] Figure 2 A block diagram of an embodiment of a client device 110 according to aspects of the present disclosure is shown. The client device 110 (e.g., device 110) may include one or more of a processor 112, a memory 114, a communication portion 116, a storage device 118, an input / output (I / O) portion 124, a GIS module 200, and / or an interface 110. One or more of the processor 112, memory 114, communication portion 116, storage device 118, I / O portion 124, GIS module 200, and / or interface 110 may be communicatively coupled or couplable to one another via a conductive bus 122. Although shown as part of the device 110, it should be understood that one or more of the processor 112, memory 114, communication portion 116, storage device 118, I / O portion 124, GIS module 200, and / or interface 110 may be physically and / or logically separate from the device 110. For example, one or more of processor 112 , memory 114 , communication portion 116 , storage 118 , I / O portion 124 , GIS module 200 , and / or interface 110 may be fully or partially accessible by device 110 via a communication medium such as network 120 .
[0058] Processor 112 can be any hardware and / or software processor, for example, one or more hardware processors such as an Intel® Pentium processor, a Motorola® PowerPC, a Sun® UltraSPARC®, a Hewlett-Packard® PA-RISC processor, or any other type of hardware processor. Additionally or alternatively, processor 112 can be or include one or more virtual or software processors configured to perform at least one operation described herein. Memory 114 can be volatile random access memory, such as dynamic random access memory (DRAM) or static random access memory (SRAM), and / or can be or include at least one non-volatile memory. Communication portion 116 can be any wired and / or wireless communication element configured to allow device 110 to communicate, for example, via network 120. Storage device 118 can be configured to store one or more sets of information usable by or related to device 110. For example, storage device 118 can be configured to store one or more sets of instructions executable by processor 112 to perform one or more operations. Additionally or alternatively, memory 118 may be configured to store one or more datasets used by and / or usable in connection with GIS module 200 and / or interface 10 .
[0059] I / O portion 124 can be any input and / or output element that can be used by or in conjunction with device 110. For example, I / O portion 124 can include one or more display units or controllers configured to allow output to a user. The output can include any visual, audio, audiovisual, tactile, or any other form of perceptible information to a user or group of users. Additionally or alternatively, I / O portion 124 can include one or more input units, such as a keyboard, mouse, trackpad, trackball, or any other element capable of receiving input from a user or group of users associated with device 110.
[0060] Device 110 may include a GIS module 200. GIS module 200 may include one or more applications, data sets, interfaces, modules, and / or components configured to provide or facilitate providing one or more GIS operations or services through or in conjunction with device 110. In various embodiments, GIS module 200 may include or be associated with interface 10 and / or components thereof. For example, GIS module 200 may include an application or portal configured to perform one or more operations described herein with reference to interface 10, alone or in conjunction with communicatively coupled components such as servers, data stores, or other information and / or metadata sources.
[0061] Figure 3A partial block diagram of an embodiment of a server according to aspects of the present disclosure is shown. Server 140 may include one or more of a GIS operations portion 300, a communications portion 310, a processing portion 320, storage 330, memory 340, and / or a GIS database 130A. One or more of GIS operations portion 300, communications portion 310, processing portion 320, memory 330, memory 340, and / or GIS database 130A may be communicatively coupled or couplable to one another via a conductive bus 350. GIS operations portion 300 may include one or more modules, executable programs, code portions, interfaces, and / or other hardware or software elements configured to perform one or more GIS operations or enable such operations to be performed by or in conjunction with server 140. GIS operations portion 300 may be configured to transmit at least a portion of data associated with GIS database 130A to device 110 via network 120. This may allow device 110 to view and / or manipulate at least a portion of the data and provide one or more commands or operations using interface 10 of device 10. The GIS operations portion 300 may be configured to receive one or more commands or operations and coordinate one or more corresponding operations.
[0062] Processing portion 320 can be any hardware and / or software processor, for example, one or more hardware processors such as an Intel® Pentium processor, a Motorola® PowerPC, a Sun® UltraSPARC®, a Hewlett-Packard® PA-RISC processor, or any other type of hardware processor. Additionally or alternatively, processing portion 320 can be or include one or more virtual or software processors configured to perform at least one operation described herein. Memory 340 can be volatile random access memory, such as dynamic random access memory (DRAM) or static random access memory (SRAM), and / or can be or include at least one non-volatile memory. Communication portion 310 can be any wired and / or wireless communication element configured to allow server 140 to communicate, for example, via network 120. Storage device 330 can be configured to store one or more sets of information that can be used by or related to server 140. For example, storage device 330 can be configured to store one or more sets of instructions that can be executed by processing portion 320 to perform one or more operations. Additionally or alternatively, memory 330 may be configured to store one or more data sets used by and / or usable in connection with GIS operating portion 300, GIS module 200, and / or interface 10. In various embodiments, memory 330 may be configured to store at least a portion of GIS data usable by GIS operating portion 300 and / or GIS database 130A.
[0063] Figure 4A partial block diagram illustrates an embodiment of an interface according to aspects of the present disclosure. In various embodiments, interface 110 may be a GIS software application that may be installed on one or more devices 110 or otherwise accessible by one or more devices 110 (e.g., via network 120 using a web browser). Interface 10 may include one or more of a front-end portion 400, a mapping portion 410, a configuration portion 420, a display portion 430, a storage device 440, and / or a communication portion 450. Front-end portion 400 may be any executable file, dataset, metadata, module, code portion, instruction, or information locally accessible at a device that operates or assists in operating interface 10. Mapping portion 410 may implement one or more mapping operations, such as corresponding to at least one geographic map or a subset thereof and one or more objects (e.g., components) or elements associated therewith. For example, mapping portion 410 may be configured to provide or facilitate the provision of object data associated with geographic location information, which may be viewed, accessed, modified, added, changed, updated, and / or deleted, for example, using display portion 430. Display portion 430 may include one or more hardware and / or software elements capable of displaying or facilitating the display of one or more data or information sets associated with interface 10. This may include, for example, one or more hardware devices or software elements, such as drivers, to allow a user of a device associated with interface 10 to view GIS data and, optionally, to perform one or more operations associated with the GIS data, such as using a graphical user interface associated with interface 10 via device 110. Although described with reference to a display, it should be understood that display portion 430 may provide one or more hardware and / or software elements for obtaining or facilitating obtaining input from a user associated with interface 10. In various embodiments, combinations of mapping portion 410 and display portion 430 may be combined to form aspects of a mapping interface as described herein.
[0064] Storage 440 may be provided to store or facilitate storage of one or more GIS datasets and / or one or more datasets usable by interface 10 to perform one or more operations described herein (e.g., in embodiments where interface 10 is fully or partially separate from device 110). In various embodiments, storage 440 may include a memory configured to cache / store at least a portion of data received from server 140, such as at least a portion of GIS data viewable and / or usable by device 110, for presentation to a user via a display portion, and to allow a user of device 110 to view and / or provide at least one input command or operation related to one or more elements of the at least portion of the data.
[0065] Configuration portion 420 may provide one or more hardware and / or software elements configured to enable interface 10 to perform at least one operation described herein. Additionally or alternatively, configuration portion 420 may include one or more configuration data sets, for example, to facilitate operation of interface 10. This may include one or more configuration data sets to enable interface 10 to transmit one or more input commands or operations from device 110 to server 140. In various embodiments, this may be achieved by, for example, maintaining or obtaining communication information related to one or more servers 140 or communication elements, or maintaining or obtaining one or more locations (e.g., network address information, remote broadcast locations, server information, etc.) or object information or metadata related thereto for obtaining communication information for issuing commands and / or operations. Communication portion 450 may be any wired and / or wireless communication element configured to allow interface 10 to communicate, for example, via network 120.
[0066] Figure 5 1 shows a simplified block diagram of an embodiment of the propagation of status updates according to aspects of the present disclosure. Figure 5 As shown, each of the map information, symbol information, and data may be provided as tag information or in combination with tag information. The map information may include geographic and / or geospatial information as described herein. The symbol information may include one or more map symbols associated with the map information. In various embodiments, Figure 5 The data shown may include underlying network or building information. Additionally or alternatively, Figure 5 The data may optionally include cost information and / or one or more operating parameters or attributes. The tag information may include information related to one or more elements or components, such as information related to materials, identification of feeders, tri-base conductors, or any other physical or virtual element associated with a map and / or symbol information in conjunction with the map information. At least a portion of the map information, symbol information, data, and / or tag information may be stored in whole or in part at one or more of, for example, a server 140, a device 110, and / or one or more databases 130. In various embodiments, the tag information may be configured to be stored locally at the device 110. Additionally or alternatively, at least one set of tag information may be configured at the device 110 and transmitted to the one or more servers 140 and / or databases 130 in real time or subsequently. As Figure 5 Reflecting this, map information can be used to propagate state information for both symbol information and label information. Similarly, data can be used to propagate state updates for both symbol information and label information. Each of map information, symbol information, and data state updates can be propagated to label information that can be used according to various aspects described herein.
[0067] Figure 6A simplified example of an embodiment using a manual process to select an object (e.g., a component) and provide label information according to aspects of the present disclosure is shown. A selector such as a mouse pointer (in Figure 6 The reticle (shown as a crosshair in FIG) can be positioned by the user over an object (e.g., a symbol). This can be done by a user of device 110, for example, using I / O portion 124. Figure 6 The upper portion of the _depicts the selector away from the upper right of the circular object, while Figure 6 The bottom portion of shows that the selector has selected an object, for example by a user clicking a mouse button over or near the object on a visual interface (such as a map interface). Label information POLE123 can then be generated and displayed on the map interface, for example by an arrow. The content of the label data can be selectively modified and / or configured in real time before and / or during or after the object is selected (for example by initially presenting preferred data and allowing the user of the device 110 to modify what label information to be presented). This can be done by the user of the device 110 described herein. The label information provided when the object is selected can be or include a subset of the map information, symbol information, data and / or label information described herein or be related thereto. The subset of the map information, symbol information, data and / or label information can be related to at least one label definition. At least one parameter related to the label information and / or object can be provided and / or modified by the user and saved as part of the label information and / or separately from the label information. At least one parameter can be used to selectively update existing label information, to preconfigure future label information locally in database 130, and / or to preconfigure future label information in association with one or more map information, symbol information, data, and / or label information sets described herein. In response to updating existing label information, one or more corresponding label definitions can be selectively saved or modified.
[0068] Figure 7 A simplified example of an embodiment of manually adjusting label positions according to aspects of the present disclosure is shown. Figure 7 The diagram shows a cable and labels associated with the cable before and after a user manipulates the placement of labels, for example, using interface 10 of device 110. The label information "1 / 0 Aluminum" associated with the cable object can be selected by the user of device 110, for example, using a mouse pointer, and the placement of the label information can be moved, for example, by clicking and dragging. As or after the label information is moved, an indicator element, such as an arrow, can be automatically generated to clearly identify the relationship between the label information and the object. Preferably, the label placement can be propagated by the system and can be selectively stored, in whole or in part, by device 110, server 140, and / or GIS database 130, or a combination thereof.
[0069] Figure 8A block diagram illustrating an embodiment of data, classifications, tag definitions, and entity relationships between tag sets according to aspects of the present disclosure is shown. Figure 8 As shown, multiple map data may relate to one or more categories. Multiple tag sets may be associated with one or more tag definitions. One or more tag definitions may be associated with one or more categories.
[0070] Figure 9 A partial example of a map interface and work location information according to aspects of the present disclosure is shown. Interface 900 may correspond to at least a portion of interface 10 and may include existing infrastructure 910, work infrastructure 920, a first object 930, a second object 940, and / or a third object 950. Existing infrastructure 910 may include one or more current or existing objects or elements that are visually conveyed or conveyable on a visual display associated with interface 10 (e.g., at device 110). Work infrastructure 920 may include one or more objects or elements that are configured to be installed, modified, or removed. This may include, for example, extending from existing infrastructure 910 and selectively interfacing with one or more objects (e.g., Figure 9 In some embodiments, at least a portion of the work infrastructure 920, such as one or more objects (e.g., symbols representing one or more objects), can be manually and / or automatically placed by the GIS system and can correspond to a work location. As shown in menu 970, the work location can include one or more operations, such as an install operation and a remove operation, but additional or alternative operations can be associated with the work location without departing from the spirit and scope of the present disclosure. As shown in menu 970, the work location can include multiple objects and can be optionally mapped to one or more operations, such as an install operation or a remove operation.
[0071] One or more objects shown on interface 900 (e.g., as one or more symbols representing them) can be visually distinguishable based on an attribute or property of the object or group of objects. The type or format of visual distinction can be predetermined or customized by the user. Symbols can be color-coded based on attributes of the object, operations associated with the object, parameters associated with the object, attributes or operations associated with the work location, and the like. For example, second object 940 can be a utility pole to be removed at the work location and can have different visually distinguishing attributes from its representative symbol on interface 10, such as a magenta color to indicate a removal operation. Conversely, first object 930 and third object 950 can be bases coupled to a conductor to be installed, which extends from existing infrastructure 910 to support fourth object 960, which can be a new utility pole to be installed. The symbol for each of fourth objects 960 can be visually distinguishable from second object 940, such as by being displayed in interface 10 using the color green. Although described with reference to color, it should be understood that other visual distinctions, such as dashed lines, line thickness, etc., can be used without departing from the spirit and scope of the present disclosure. In various embodiments, one or more visually distinguishable attributes and / or information sets can be selected and / or modified via a label definition associated with an object / symbol. For example, a magenta color can be specified in a label definition for a remove option, and the magenta color can be applied to the label of the object / symbol associated with the remove operation (e.g., as a text color).
[0072] Figure 10 An example of a multi-view output of a system according to aspects of the present disclosure is shown. Output 1000 may include multiple map views (e.g., layouts / perspectives), such as Figure 10 Two map views are shown, but any number of views may be used without departing from the spirit and scope of the present disclosure. In various embodiments, output 1000 may be or may represent a construction printout that may be provided to a worker to perform one or more operations illustrated by output 1000. Each view (e.g., a layout) of output 1000 may include the same map and / or label data, or a subset thereof, and may enable different views, attributes, properties, appearance, and / or labeling information for one or more objects or elements that convey at least a portion of the map information. This may include different view orientations, zoom levels, visualization objects, and the like. Although described with reference to map information, it should be understood that the one or more views provided by output 1000 may relate to any two-dimensional, three-dimensional, or other representation of any object, group of objects, or visual representation, and should not be considered to be limited to only map information.
[0073] Figure 11Examples of interfaces that may be used with the systems described herein are shown in accordance with aspects of the present disclosure. Interfaces 1100 and 1110 are examples of user interfaces that may be used in accordance with various embodiments, such as provided by interface 10. Interface 1100 reflects a menu of user-selectable tag sets (e.g., scene tag sets) that include one or more tag definitions or subsets of tag definitions in accordance with aspects of the present disclosure. In various embodiments, each tag set may correspond to a component class and / or one or more tag definitions. One or more tag sets, or elements thereof, may be created, modified, and / or deleted, such as by an administrator via interface 10. An edit button or section may be provided for a user to access tag set information and create / modify / delete one or more information sets associated therewith. Although in Figure 11 11. Two tab sets are shown, namely, Conductor Info and Facility ID, but it should be understood that a menu or alternative selection element can be used to identify and select any number of user-defined and / or system-defined tab sets. Using the selected tab set, the user can interact with interface 1110 to select one or more objects, such as object 1130, to display tab information 1140.
[0074] The user of device 110 may be enabled to select label information, label attributes, or characteristics that may be displayed in conjunction with label information 1140. The selected label set may provide a default map view, size, font size, shape, or color, and / or any other options that may contribute to the visual appearance and information associated with a layout or layout group. In various embodiments, a user of interface 1110 may be provided with a visual indication of which options are available for placement and information associated with the object, symbol, or component when they select an object, symbol, or component. The user may select an object (e.g., by clicking a symbol representing the object via interface 10) to present label information corresponding to the selected object. The user may be allowed to select which information to include or omit on the layout, as well as determine the placement and / or orientation of label information for the corresponding layout. In various embodiments, user determinations of information content, placement, orientation, or other attributes may be saved and optionally used for propagation across existing data or as default settings for future instances of objects / symbols or label information sets. Implementations consistent with the present disclosure may provide for the visual orientation of at least a portion of the label information to be configured to maintain a specific configuration relative to the orientation of map information presented via interface 10. This may include adjusting the orientation of the label information so that the text of the label information maintains a vertical orientation relative to the particular layout / view, where possible.
[0075] Figure 12An example of a configuration interface according to various aspects of the present disclosure is shown. Configuration interface 1200 includes one or more of the following: a dialog box 1210, a component section 1220, a menu 1230, a symbol manipulation section 1240, and / or a parameter section 1250. Dialog box 1210 can be used to configure label settings. Switching between symbol and label configurations can be accomplished by changing the view in the menu (e.g., as a drop-down menu). Component section 1220 enables configuration based on data classification. In an electrical network, this classification can be by component type, such as conductor, fuse, transformer, etc. The same classification can be used in one or more label configurations. Menu 1230 can be configured to display symbol and / or label management configurations. Although the solid model illustrates symbol representation configurations, label workflows can be implemented in a similar manner. A drop-down in the upper right corner can allow switching between different named configurations. Symbol manipulation section 1240 can provide non-administrators with the option to control certain features of the configuration at runtime, as determined by an administrator. This view shows options for changing the symbol representation, but in various embodiments, options for selecting a label set and switching between automatic and assisted label generation may be similarly accomplished. The parameters section 1250 may provide one or more options for symbol and / or label configuration, which may be accomplished in a similar manner, where information from various data sources in a geospatial information system may be assigned to variables, which may then be used to form characteristics or content of the symbol and / or label.
[0076] Figure 13 A partial layout (e.g., a view) providing label information for multiple objects according to aspects of the present disclosure is shown. Interface 1300 depicts a portion of a layout of a work location. Interface 1300 includes an example of three objects indicated as three corresponding symbols via interface 10 that have been selected to have label information visually displayed on the layout. This includes a first object 1310 (e.g., a utility pole designated for removal) that has been selected to visualize label information 1320, a second object 1330 (e.g., a base designated for installation) that has been selected to visualize label information 1340, and a third object 1350 (e.g., a utility pole designated for installation) that has been selected to visualize label information 1360. As previously described, each layout can have its own corresponding label information to be displayed, so in an output 1000 having multiple layouts, one or more of label information 1320, 1340, and / or 1360 may not be displayed on a separate layout, or may be included without departing from the spirit and scope of the present disclosure.
[0077] Figure 14 A partial view of an example of an interface that may be used in accordance with aspects of the present disclosure is shown. Interface 1400 includes a first tab set selected at menu 1410. Figure 14 In the embodiment shown, the user has selected the conductor information label set. The user can use the selector 1420 (e.g., mouse click) to select the placement of the label information, which provides the object on the interface (in Figure 14 In the case of a conductor), label information 1430 related to the conductor.
[0078] Figure 15 A partial view of an example of an interface for customizing one or more layouts according to aspects of the present disclosure is shown. Interface 1500 includes two layouts. The right layout 1510 includes a map view rotated relative to the other layout, and its rotation angle can be specified by the user at the map rotation section 1520. The user can use a selector 1530 (e.g., a mouse pointer) to select where the label information 1540 will be placed. In various embodiments, the orientation of the label information 1540 can be determined and / or modified to be vertically oriented relative to the viewer of the layout.
[0079] Figure 16 A partial view of an example of an interface for customizing one or more layouts according to aspects of the present disclosure is shown. Figure 15 In the illustrated embodiment, a user of interface 1600 can use selector 1610 (e.g., a mouse pointer) to select a placement location for label information 1620. In various embodiments, the orientation of label information 1620 can be determined and / or modified to be vertically oriented relative to a viewer of the layout.
[0080] Figure 17 An example of annotations associated with label information according to aspects of the present disclosure is shown. Portion of interface 1700 reflects a rotated map view in which a user can use a selector 1710 (e.g., a mouse pointer) that allows the user to visually place the label information to place label information 1720 away from the object associated with the label information (in this case, a conductor). The label information can be visually indicated as being associated with the object using one or more visual elements 1730 (e.g., a callout, an arrow, etc.).
[0081] Figure 18An example of a partial multi-layout view of a work location according to aspects of the present disclosure is shown. Multi-layout view 1800 includes a first layout 1810 and a second layout 1820. Although the same work location is shown, each layout can have a different perspective, orientation, identified objects, and different label information displayed therein, as selected by a user. For example, first layout 1810 includes a zoomed-in view of a portion of work location WL2 and shows label information corresponding to conductors to be installed at the work location. In contrast, second layout 1820 includes a more zoomed-out view of the work location reflecting multiple objects and includes different label information for conductors identified in first layout 1810, as well as additional label information not identified in first layout 1810.
[0082] Figure 19 An example of a first interface view for manipulating object information according to aspects of the present disclosure is shown. Interface 1900 includes one or more of structure attribute sections 1910 including a structure name section 1920. A layout is provided that includes label information associated with an object 1930 associated with structure name section 1920. A user of device 110 can use structure attribute section 1910 to add, delete, and / or modify at least a portion of information and / or metadata associated with the object. This includes changing label information associated with an object to be displayed on the layout.
[0083] Figure 20 The corresponding aspects of the present disclosure are shown. Figure 19 Example of the second interface view, whereby the structure name has been changed. Figure 19 In the embodiment of Figure 20 , the user modifies the structure name portion 1920 of the structure attributes portion 1910. This change in turn modifies the corresponding object tag information, and it is propagated to the layout and reflected by the updated object tag information on the layout.
[0084] Embodiments consistent with the present disclosure may implement vector-based printing. Constructed prints may be generated according to one or more layouts described herein in the manner disclosed. Existing printing problems associated with constructed prints may be improved according to the aspects described herein, such as related to increased speed, increased stability, reduced file size, and providing increased label placement consistency, compared to existing constructed prints. This may be achieved in whole or in part using vector-based printing. Vector-based printing provides better control over label placement, better stability, introduction of vector-based graphics across applications, simplification of the number of symbol / label configurations required, provides a smaller footprint for generated files (e.g., faster generated Adobe PDF, such as in seconds), provides the ability to monitor memory usage, and allows for undo / redo capabilities for layouts.
[0085] According to aspects of the present disclosure, a method for providing assisted generation of a tag set and providing information is provided, comprising: obtaining tag definition information, selecting a subset of the tag definition information, associating the subset of the tag definition information with at least one scene tag set, providing a map view to a user, obtaining a selection of a selected scene tag set from the at least one scene tag set, determining placement of at least one tag of the selected scene tag set on a map view provided to the user, associating at least one tag with at least one attribute, and updating the map view in response to associating at least one tag with the at least one attribute. The at least one attribute may include one or more of symbol information, data, or mapping information. The method may include selectively enabling at least one tag to be moved or deleted on the map view. The method may include updating the orientation, size, or placement of at least one label defined by the corresponding tag definition information when the scale or orientation of the map view changes. The method may include generating a construction print corresponding to the updated map view.
[0086] According to other aspects of the present disclosure, a device for providing assisted generation of a tag set is provided, the system comprising a processor, a memory, a communication portion communicatively coupled to a network, and an interface configured to use the processor and the memory to implement one or more operations, the operations comprising: obtaining tag definition information, selecting a subset of the tag definition information, associating the subset of the tag definition information with at least one scene tag set, providing a map view to a user, obtaining a selection of a selected scene tag set from at least one scene tag set, determining placement of at least one tag from the selected scene tag set on a map view provided to the user, associating at least one tag with at least one attribute, and updating the map view in response to associating at least one tag with at least one attribute. The at least one attribute may include one or more of symbol information, data, or mapping information. The interface may enable at least one tag to be moved or deleted on the map view. The interface may also enable updating the orientation, size, or placement of at least one tag defined by the corresponding tag definition information when the scale or orientation of the map view changes.
[0087] According to another aspect of the present disclosure, a non-transitory computer-readable medium storing an information system program including instructions is provided, which, when executed by a processor of a device, causes the device to perform the following operations: obtain tag definition information, select a subset of the tag definition information, associate the subset of the tag definition information with at least one scene tag set, provide a map view to a user, obtain a selection of a selected scene tag set from the at least one scene tag set, determine the placement of at least one tag from the selected scene tag set on a map view provided to the user, associate at least one tag with at least one attribute, and update the map view in response to associating at least one tag with the at least one attribute. The at least one attribute includes one or more of symbol information, data, or mapping information. The non-transitory computer-readable medium may include one or more operations for selectively enabling the movement or deletion of at least one tag on the map view. When the scale or orientation of the map view changes, the orientation, size, or placement of at least one tag defined by the corresponding tag definition information may be updated. A construction print corresponding to the updated map view may be generated.
[0088] The following describes details of an exemplary computing system that can be used to implement various embodiments of the present disclosure. Generally, any general-purpose computer system used in various embodiments of the present disclosure can be, for example, a general-purpose computer, such as those based on an Intel® Pentium processor, a Motorola® PowerPC, a Sun® UltraSPARC®, a Hewlett-Packard® PA-RISC processor, or any other type of processor. Such a computer system can be physical or virtual.
[0089] For example, various embodiments of the present disclosure can be implemented as special-purpose software executed in a general-purpose computer system. A computer system may include a processor connected to one or more memory devices (such as a disk drive, memory, or other device for storing data). Memory is typically used to store programs and data during the operation of the computer system. A computer system may also include a storage system that provides additional storage capacity. The components of a computer system can be coupled by an interconnection mechanism that may include one or more buses (e.g., between components integrated within the same machine) and / or networks (e.g., between components residing on separate discrete machines). The interconnection mechanism enables communication (e.g., data, instructions) to be exchanged between system components of the system.
[0090] The computer system also includes one or more input devices, such as a keyboard, a mouse, a trackball, a microphone, a touch screen, and one or more output devices, such as a printing device, a display screen, and speakers. In addition, the computer system may include one or more interfaces (not shown) for connecting the computer system to a communication network (in addition to or as an alternative to the interconnection mechanism).
[0091] The storage system typically includes a computer-readable and writable non-volatile recording medium in which a signal is stored that defines a program to be executed by a processor or information stored on or in the medium, which is to be processed by the program to perform one or more functions associated with the embodiments described herein. The medium can be, for example, a disk or flash memory. Typically, in operation, the processor reads data from the non-volatile recording medium into the storage system memory, which allows the processor to access information faster than the medium. The storage system memory is typically a volatile random access memory, such as a dynamic random access memory (DRAM) or a static random access memory (SRAM). The storage system memory can be located in the storage system, as shown, or in the system memory. The processor typically manipulates the data within the memory system and then copies the data to the medium after the processing is completed. Various mechanisms for managing data movement between media and integrated circuit memory elements are known, and the present disclosure is not limited thereto. The present disclosure is not limited to a specific memory, memory type, or storage system.
[0092] The computer system may include specially programmed, dedicated hardware, such as an application specific integrated circuit (ASIC). Various aspects of the present disclosure may be implemented in software, hardware, or firmware, or any combination thereof. In addition, such methods, actions, systems, system elements, and components thereof may be implemented as part of the above-described computer system or as independent components.
[0093] Although a computer system is shown as an example of a type of computer system on which various aspects of the present disclosure can be practiced, it should be understood that various aspects of the present disclosure are not limited to being implemented on a computer system. Various aspects of the present disclosure can be practiced on one or more computers with different architectures or components. In addition, where functions or processes of embodiments of the present disclosure are described herein (or in the claims) as being executed on a processor or controller, such description is intended to include systems that use more than one processor or controller to perform the functions.
[0094] The computer system can be a general-purpose computer system that can be programmed using a high-level computer programming language. The computer system can also be implemented using specialized hardware that is specially programmed. In a computer system, a processor is typically a commercially available processor, such as the well-known Pentium-class processor available from Intel. Many other processors are available. Such processors typically execute an operating system, which can be, for example, Windows 95, Windows 98, Windows NT, Windows 2000, Windows ME, Windows XP, Vista, Windows 7, Windows 10, or a future generation operating system available from Microsoft, MAC OS System X, or a future generation operating system available from Apple computers, the Solaris operating system available from Sun Microsystems, UNIX, Linux (any distribution), or a future generation operating system available from various sources. Many other operating systems can be used.
[0095] The processor and operating system together define a computer platform for which applications written in high-level programming languages are written. It should be understood that the embodiments of the present disclosure are not limited to a particular computer system platform, processor, operating system, or network. Furthermore, it will be apparent to those skilled in the art that the present disclosure is not limited to a particular programming language or computer system. Furthermore, it should be understood that other appropriate programming languages and other appropriate computer systems may also be used.
[0096] In the foregoing, reference has been made to various embodiments. However, the scope of the present disclosure is not limited to the specifically described embodiments. Rather, any combination of the described features and elements, whether or not related to different embodiments, is contemplated to implement and practice the contemplated embodiments. Furthermore, although embodiments may achieve advantages over other possible solutions or over the prior art, whether or not a particular advantage is achieved by a given embodiment does not limit the scope of the present disclosure. Therefore, the foregoing aspects, features, embodiments, and advantages are merely illustrative and are not to be considered elements or limitations of the appended claims unless expressly recited in a claim.
[0097] It should be understood that the development of actual commercial applications incorporating aspects of the disclosed embodiments will require many implementation-specific decisions to realize the commercial embodiments. Such implementation-specific decisions may include, but may not be limited to, compliance with system-related, business-related, government-related, and other constraints, which may vary depending on the specific implementation, location, and from time to time. While a developer's effort may be considered complex and time-consuming, such effort will be a routine task for those skilled in the art having the benefit of this disclosure.
[0098] It should also be understood that the embodiments disclosed and taught herein are susceptible to many and various modifications and alternative forms. Therefore, the use of singular terms, such as but not limited to "one," is not intended to limit the number of items. Similarly, any relative terms used in the written description, such as but not limited to "top," "bottom," "left," "right," "upper," "lower," "downward," "upward," "side," etc., are for clarity and specific reference to the drawings and are not intended to limit the scope of the present invention.
[0099] The present disclosure is not limited in its application to the details of the construction and arrangement of the components set forth in the following description or illustrated in the accompanying drawings. The present disclosure can have other embodiments and can be practiced or implemented in various ways. In addition, the words and terms used herein are for descriptive purposes and should not be considered restrictive. The use of "including," "comprising," "having," "containing," "involving," and variations thereof herein is meant to be open ended, i.e., "including but not limited to."
[0100] The various embodiments disclosed herein may be implemented as systems, methods, or computer program products. Thus, various aspects may take the form of entirely hardware embodiments, entirely software embodiments (including firmware, resident software, microcode, etc.), or embodiments combining software and hardware aspects, all of which may generally be referred to herein as "circuits," "modules," or "systems." Furthermore, various aspects may take the form of computer program products embodied in one or more computer-readable media having computer-readable program code embodied thereon.
[0101] Any combination of one or more computer-readable media may be utilized. The computer-readable medium may be a non-transitory computer-readable medium. The non-transitory computer-readable medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (non-exhaustive list) of non-transitory computer-readable media may include the following: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. The program code embodied on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
[0102] The computer program code for performing the operation of various aspects of the present disclosure can be written in any combination of one or more programming languages. In addition, such computer program code can be performed using a single computer system or by multiple computer systems (such as using a local area network (LAN), a wide area network (WAN), the Internet, etc.) that communicate with each other. Although the various features above are described with reference to flow charts and / or block diagrams, it will be understood by those of ordinary skill in the art that each frame of flow charts and / or block diagrams and the combination of the frames in flow charts and / or block diagrams can be realized by computer logic (such as computer program instructions, hardware logic, a combination of the two, etc.). Typically, computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus. In addition, a processor is used to perform such computer program instructions to produce a machine that can perform the function or action specified in one or more frames of a flow chart and / or block diagram.
[0103] One or more portions of the computer system may be distributed across one or more computer systems coupled to a communications network. For example, as described above, the computer system that determines the available power capacity may be located remotely from the system manager. These computer systems may also be general-purpose computer systems. For example, various aspects of the present disclosure may be distributed across one or more computer systems configured to provide services (e.g., servers) to one or more client computers, or to perform overall tasks as part of a distributed system. For example, various aspects of the present disclosure may be executed on a client-server or multi-tier system that includes components distributed across one or more server systems that perform various functions according to various embodiments of the present disclosure. These components may be executable intermediate (e.g., IL) or interpreted (e.g., Java) code that communicates over a communications network (e.g., the Internet) using a communications protocol (e.g., TCP / IP). For example, one or more database servers may be used to store device data, such as expected power draw, used when designing a layout associated with an embodiment of the present disclosure.
[0104] It should be understood that the present disclosure is not limited to executing on any particular system or group of systems.In addition, it should be understood that the present disclosure is not limited to any particular distributed architecture, network or communication protocol.
[0105] The various embodiments of the present disclosure can be programmed using an object-oriented programming language such as SmallTalk, Java, C++, Ada, or C# (C-Sharp). Other object-oriented programming languages can also be used. Alternatively, functions, scripts, and / or logic programming languages such as BASIC, Fortran, Cobol, TCL, or Lua can be used. Various aspects of the present disclosure can be implemented in a non-programming environment (e.g., an analysis platform, or a document created in HTML, XML, or other formats that, when viewed in a window of a browser program, renders various aspects of a graphical user interface (GUI) or performs other functions). Various aspects of the present disclosure can be implemented as programming or non-programming elements or any combination thereof.
[0106] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions and / or operations of various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, fragment or portion of a code, which includes one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative embodiments, the functions marked in the box may not occur in the order marked in the figure. For example, two boxes shown in succession can actually be executed substantially simultaneously, or the boxes can sometimes be executed in the opposite order, depending on the functions involved. It will also be noted that each box in the block diagram and / or flowchart illustration and the combination of boxes in the block diagram and / or flowchart illustration can be implemented by a system based on dedicated hardware that performs a specified function or action or a combination of dedicated hardware and computer instructions.
[0107] It should be understood that the above description is intended to be illustrative, not restrictive. After reading and understanding the above description, many other implementation examples will be apparent. Although the present disclosure describes specific examples, it should be appreciated that the systems and methods of the present disclosure are not limited to the examples described herein, but may be modified and implemented within the scope of the appended claims. Therefore, the description and drawings should be considered illustrative, not restrictive. Therefore, the scope of the present disclosure should be determined with reference to the appended claims and the full scope of equivalents to such claims.
Claims
1. A method for assisting the generation of a tag set and providing information, comprising: Get tag definition information; Select a subset of the tag definition information; associating a subset of the tag definition information with at least one scene tag set; Provide a map view to the user; obtaining a selection of a selected scene marker set from at least one scene marker set; determining placement of at least one label of the selected scene label set on a map view provided to a user; associating at least one tag with at least one attribute; as well as The map view is updated in response to associating the at least one label with the at least one attribute.
2. The method according to claim 1, wherein The at least one attribute includes one or more of symbol information, data, or mapping information.
3. The method according to claim 1, further comprising: The at least one label is enabled to be moved or deleted on the map view.
4. The method according to claim 1, further comprising: When the scale or orientation of the map view changes, the orientation, size, or placement of the at least one label defined by the corresponding label definition information is updated. The method of claim 1 , further comprising generating a construction print corresponding to the updated map view.
6. A device for providing assisted generation of a tag set, the device comprising: processor; Memory; a communication portion communicatively coupled to a communication network; An interface is provided at a device, and the interface is configured to use a processor and a memory to perform one or more operations, the operations including: Get tag definition information; Select a subset of the tag definition information; associating a subset of the tag definition information with at least one scene tag set; Provide a map view to the user; obtaining a selection of a selected scene marker set from at least one scene marker set; determining placement of at least one label of the selected scene label set on a map view provided to a user; Associating at least one tag with at least one attribute; and The map view is updated in response to associating the at least one label with the at least one attribute.
7. The apparatus according to claim 6, wherein The at least one attribute includes one or more of symbol information, data, or mapping information.
8. The apparatus according to claim 6, wherein The interface is further configured to enable moving or deleting the at least one label on the map view.
9. The apparatus according to claim 6, further comprising: When the scale or orientation of the map view changes, the orientation, size, or placement of the at least one label defined by the corresponding label definition information is updated.
10. A non-transitory computer-readable medium storing an information system program, the information system program comprising instructions that, when executed by a processor of a device, cause the device to: Get tag definition information; Select a subset of the tag definition information; associating a subset of the tag definition information with at least one scene tag set; Provide a map view to the user; obtaining a selection of a selected scene marker set from at least one scene marker set; determining placement of at least one label of the selected scene label set on a map view provided to a user; associating at least one tag with at least one attribute; as well as The map view is updated in response to associating the at least one label with the at least one attribute.
11. The non-transitory computer-readable medium of claim 10, wherein: The at least one attribute includes one or more of symbol information, data, or mapping information.
12. The non-transitory computer-readable medium of claim 10 , further comprising: The at least one label is selectively enabled to be moved or deleted on the map view.
13. The non-transitory computer-readable medium of claim 10 , further comprising: When the scale or orientation of the map view changes, the orientation, size, or placement of the at least one label defined by the corresponding label definition information is updated.
14. The non-transitory computer-readable medium of claim 10, further comprising generating a construction print corresponding to the updated map view, Also included is generating a construction print corresponding to the updated map view.