Method and system for creating site drawings

The method and system enable users to create telecommunications site drawings on mobile devices using camera-captured images and JSON storage, addressing the challenges of complexity and cost in existing CAD programs by providing a user-friendly and efficient solution for site plan creation and modification.

JP7820525B2Active Publication Date: 2026-02-25RAKUTEN SYMPHONY INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024539036
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-05-13
Publication Date
2026-02-25
Estimated Expiration
2042-05-13

AI Technical Summary

Technical Problem

Existing CAD programs for creating telecommunications site drawings are difficult for inexperienced users, require costly external tools, and lack telecommunication-specific shapes and symbols, making them inefficient for mobile computing environments.

Method used

A method and system for creating site drawings on mobile devices using pre-drawn, camera-captured, or satellite-view images, allowing users to easily add network elements and store them in JSON format, enabling easy creation and modification of elevation or floor plans without specialized training or tools.

Benefits of technology

Provides a user-friendly, cost-effective solution for creating and modifying site plans with reduced latency and faster execution times, using JSON to enhance the user experience and adapt to changing requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007820525000001
    Figure 0007820525000001
  • Figure 0007820525000002
    Figure 0007820525000002
  • Figure 0007820525000003
    Figure 0007820525000003
Patent Text Reader

Abstract

The present disclosure provides a method, apparatus, and computer-readable medium for creating or editing a site drawing. In one aspect, the method includes displaying, on a display of a device, a user interface configured for one or more of creating, accessing, and editing site details for a site, receiving a selection from a user for one of an elevation and a plan view, displaying a canvas and one or more components on the user interface, receiving one or more inputs from the user corresponding to adding one or more components to the canvas at one or more coordinates, and storing the one or more components and their coordinates in JavaScript Object Notation (JSON).
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a method and system for creating a site drawing. [Background technology]

[0002] Computer-aided design (CAD) technology has been implemented to replace manual drafting of architectural drawings with computerized processes. However, CAD programs are notoriously difficult for inexperienced users to operate and have not been efficiently deployed in mobile computing environments.

[0003] Furthermore, related art methods and systems for drawing layout plans of telecommunications sites (e.g., locations where telecommunications equipment will potentially be installed) require costly external tools and specific expertise to use, and furthermore, related art applications and tools do not provide access to telecommunications-related shapes, objects, and symbols. Summary of the Invention [Means for solving the problem]

[0004] The following presents a simplified summary of one or more embodiments of the present disclosure in order to provide a basic understanding of such embodiments. This summary is not an extensive overview of all possible embodiments, and is not intended to identify key or critical elements of all embodiments or to delineate the scope of any or all embodiments. Its sole purpose is to present some concepts of one or more embodiments of the present disclosure in a simplified form as a prelude to the more detailed description that is presented later.

[0005] SUMMARY Provided by the present disclosure are methods, apparatus, and non-transitory computer-readable media for image annotation in mobile applications.

[0006] Aspects of one or more embodiments enable a user to easily and conveniently create elevation or floor plans and represent different network elements and their positioning in the elevation or floor plan without using a third-party application.

[0007] Aspects of one or more embodiments allow a user to utilize pre-drawn, camera-captured, or satellite-view images to create an elevation or plan view and add representations of different network elements to it.

[0008] According to an embodiment, a method for providing a site drawing includes displaying on a display of a device a user interface configured for one or more of creating site details for a site, accessing the site details, and editing the site details; receiving a selection from a user of one of an elevation view and a floor plan view; displaying a canvas and one or more components on the user interface; receiving one or more inputs from the user corresponding to adding the one or more components to the canvas at one or more coordinates; and storing the one or more components and their coordinates in JavaScript Object Notation (JSON).

[0009] According to an embodiment, an apparatus for providing a site drawing includes a memory storage device that stores computer-executable instructions and a processor communicatively coupled to the memory storage device, the processor being configured to execute the computer-executable instructions to cause the apparatus to display a user interface configured for one or more of creating site details for a site, accessing the site details, and editing the site details, receive a selection from a user of one of an elevation view and a floor plan view, display a canvas and one or more components on the user interface, receive one or more inputs from the user corresponding to adding the one or more components to the canvas at one or more coordinates, and store the one or more components and their coordinates in JavaScript Object Notation (JSON).

[0010] According to an embodiment, a non-transitory computer-readable medium includes instructions that, when executed by one or more processors, cause the device to provide a user with a user interface configured for one or more of creating site details for a site, accessing the site details, and editing the site details; receive a selection from the user of one of an elevation and a floor plan; display a canvas and one or more components on the user interface; receive one or more inputs from the user corresponding to adding the one or more components to the canvas at one or more coordinates; and store the one or more components and their coordinates in JavaScript Object Notation (JSON).

[0011] Additional embodiments will be set forth in the description that follows, and in part will be obvious from the description, and / or may be learned by practice of presented embodiments of the present disclosure. [Brief explanation of the drawings]

[0012] These and other aspects, features, and aspects of embodiments of the present disclosure will become apparent from the following description taken in conjunction with the accompanying drawings.

[0013] [Figure 1] FIG. 1 is a diagram of an exemplary device useful for creating a site diagram, according to an embodiment of the present invention. [Figure 2] FIG. 10 is an exemplary flow diagram for creating a site drawing using JSON, according to an embodiment of the present invention. [Figure 3] FIG. 10 illustrates a user interface for displaying site details. [Figure 4] FIG. 10 is a diagram showing a user interface for requesting selection of an installation pattern. [Figure 5] FIG. 10 illustrates a user interface requesting selection of an elevation or floor plan. [Figure 6] FIG. 10 illustrates a user interface for applying texture to a surface of an elevation. [Figure 7A] FIG. 1 illustrates an exemplary user-created floor plan, according to an embodiment of the present invention. [Figure 7B] FIG. 10 illustrates an exemplary screen through which parameters of a telecommunications device selectable to be added to the canvas are entered. [Figure 8] FIG. 1 illustrates an exemplary device useful for performing image annotation, according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0014] The following detailed description of the exemplary embodiments refers to the accompanying drawings, in which the same reference numbers in different drawings may identify the same or similar elements.

[0015] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations. Furthermore, one or more features or components of one embodiment may be incorporated into or combined with another embodiment (or one or more features of another embodiment). Furthermore, in the flowcharts and descriptions of operations provided below, it is understood that one or more operations may be omitted, one or more operations may be added, one or more operations may be performed (at least partially) concurrently, and the order of one or more operations may be permuted.

[0016] It will be apparent that the systems and / or methods described herein may be implemented in various forms of hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods is not intended to limit the implementation. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code, and it will be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.

[0017] Although particular combinations of features are recited in the claims and / or disclosed herein, these combinations are not intended to limit the disclosure of possible implementations. Indeed, many of these features may be combined in ways not specifically recited in the claims and / or disclosed herein. Although each dependent claim listed below may depend directly on only one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim set.

[0018] No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Additionally, as used herein, the articles "a" and "an" are intended to include one or more items and may be used interchangeably with "one or more." Where only one item is intended, the term "one" or similar language is used. Additionally, as used herein, terms such as "has," "have," "having," "include," and "including" are intended to be open-ended terms. Furthermore, the phrase "based on" is intended to mean "based at least in part on," unless expressly stated otherwise. Furthermore, phrases such as "at least one of [A] and [B]" and "at least one of [A] or [B]" should be understood to include A only, B only, or both A and B.

[0019] Throughout this specification, references to "one embodiment," "one embodiment," or similar language mean that a particular feature, structure, or characteristic described in connection with the illustrated embodiment is included in at least one embodiment of the inventive solution. Thus, the phrases "in one embodiment," "in an embodiment," and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.

[0020] Furthermore, the described features, advantages, and characteristics of the present disclosure may be combined in any suitable manner in one or more embodiments. In light of the description herein, those skilled in the art will recognize that the present disclosure may be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the present disclosure.

[0021] In the related art, users who wish to create layout drawings with elevations (side views) and / or floor plans (top views) must use external, expensive tools that are not tailored to telecommunication sites. Specialized and difficult-to-obtain hardware is often required to run effectively. In contrast, exemplary embodiments of the present disclosure provide a user-friendly solution that can be implemented on a typical mobile device, such as a tablet or smartphone. No specific training is required to effectively operate a device implementing the exemplary embodiments.

[0022] The exemplary embodiments also introduce functionality not found in related art CAD programs. For example, a user can select textures to be applied to the surfaces of a three-dimensional representation in a mobile application from internet images associated with the representation's geographic area, images stored on the device, and images captured by an optical device at the user's command, and store the textures using JavaScript Object Notation (JSON). According to the method and system of the exemplary embodiments, site plans can be stored and saved in JSON format for later output as bitmaps. The use of JSON significantly improves the user experience during computer-aided design of site plans, with less latency and fewer technical glitches.

[0023] Advantageously, the embodiments described below provide for the use of JSON to accomplish one or more tasks. Additionally, the present disclosure can provide a user-friendly, easily operable experience for creating and modifying site plans. Furthermore, site plans can be evolved in a manner that can meet rapidly changing requirements and minimize latency, resulting in an improved user experience. Furthermore, using JSON to render site plans can result in execution times that can be faster compared to CAD methodologies of other related art.

[0024] 1 illustrates a device in which embodiments may be implemented. Device 100 includes a bus 102 or other communication mechanism for communicating information, and a microprocessor 104 coupled to bus 102 for processing information.

[0025] Computer system 100 also includes a main memory 106, such as random access memory (RAM) or other dynamic storage device, coupled to bus 102 for storing information and instructions to be executed by processor 104. Main memory 106 may also be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 104. Such instructions, when stored on a non-transitory storage medium accessible to processor 104, render computer system 100 a special-purpose machine customized to perform the operations specified in the instructions.

[0026] Computer system 100 further includes a read only memory (ROM) 108 or other static storage device coupled to bus 102 for storing static information and instructions for processor 104. A storage device 110, such as a magnetic or optical disk, is provided and coupled to bus 102 for storing information and instructions.

[0027] The computer system 100 may be coupled via a bus 102 to a display 112, such as a cathode ray tube (CRT), for displaying information to a computer user. An input device 114, which may include alphanumeric and other keys, is coupled to the bus 102 for communicating information and command selections to the processor 104. Another type of user input device is used for cursor control, such as a mouse, trackball, or cursor direction keys for communicating directional information and command selections. The processor 104 can receive signals from the input device 114 for controlling cursor movement and calculate the associated changes to the display 112. A cursor control input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), allowing the device to specify a position in a plane.

[0028] Computer system 100 may implement the techniques described herein using customized hardwired logic, one or more ASICs or FPGAs, firmware, and / or program logic in combination with a computer system to render or program computer system 100 a special-purpose machine. According to at least one embodiment, the techniques herein are performed by computer system 100 in response to processor 104 executing one or more sequences of one or more instructions contained in main memory 106. Such instructions may be read into main memory 106 from another storage medium, such as storage device 110. Execution of the sequences of instructions contained in main memory 106 causes processor 104 to perform the process operations described herein.

[0029] Computer system 100 also includes a communication interface 118 coupled to bus 102. The communication interface 118 provides a two-way data communication coupling to a network link 120 that is connected to a local network 122. For example, communication interface 118 may be an integrated services digital network (ISDN) card, a cable modem, a satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 118 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In at least one such implementation, communication interface 118 sends and receives one or more electrical, electromagnetic, and / or optical signals (as all uses of "one or more" herein implicitly include any combination of one or more of these) that carry digital data streams representing various types of information.

[0030] Network link 120 typically provides data communication through one or more networks to other data devices. For example, network link 120 may provide a connection through local network 122 to a host computer 124 or to data equipment operated by an Internet Service Provider (ISP) 126. ISP 126 then provides data communication services through the world-wide packet data communication network now commonly referred to as the "Internet" 128. Local network 122 and Internet 128 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 120 and through communication interface 118, which carry the digital data to and from computer system 100, are exemplary forms of transmission media.

[0031] Computer system 100 can send messages and receive data, including program code, through the network(s), network link 120 and communication interface 118. In at least one implementation of the Internet example, a server 130 can transmit a requested code for an application program through Internet 128, ISP 126, local network 122 and communication interface 118.

[0032] In an embodiment, the received code may be one or more of executed by processor 104 as it is received, and / or stored in storage device 110 or other non-volatile storage for later execution.

[0033] FIG. 2 is an exemplary flow diagram for image annotation using JSON, according to an embodiment of the present invention.

[0034] In block 200 of FIG. 2, a user launches a smartphone with a site drawing application. These drawings are provided as exemplary embodiments for illustrative purposes only; the present disclosure is not limited to smartphones; any type of device can be used to implement the embodiments. In some embodiments, the application can run on a laptop, tablet, or desktop computer. Applications such as those found in the exemplary embodiments can be loaded onto a device such as a smartphone in several ways. Using local network 122 and Internet 128 of FIG. 1, electrical, electromagnetic, or optical signals can carry digital data streams encoding applications for use in the embodiments. If input device 114 is, for example, a CD-ROM or DVD-ROM drive, input device 114 of FIG. 1 can be used to read non-transitory computer-readable media containing instructions for applications useful in the exemplary embodiments.

[0035] In block 202 of FIG. 2, site details are created or accessed. The site details include relevant information about a particular structure, such as an identifier assigned by the organization for ease of reference and the street address of the site. An application configured for an embodiment allows a user to enter data including the site details (i.e., if the input device 114 is a keyboard, the user can type text into a field). The site details may also be stored in an external database or storage component 110 accessible via the Internet 128. Through various programming techniques, the site details can be retrieved from the external database. Thus, in some embodiments, a user can access pre-stored site details rather than having to enter the site details.

[0036] In block 204 of FIG. 2, the user decides to create an elevation (alternatively, the user may choose to create a floor plan). As described with reference to FIG. 4, the user can choose between a floor plan and an elevation. An elevation is a side view of a site and can be used to convey three-dimensional information. A schematic elevation is an orthographic projection, which is a two-dimensional representation of a three-dimensional space. A two-dimensional representation of a three-dimensional object may have a surface known as a texture. A texture is simply an image used to skin a 3D object. Any image, such as one found in a JPEG file, can serve as a texture. For example, a photo of a brick wall can be used for the two-dimensional appearance of a brick wall. Textures can be created computationally according to supplied parameters or by an artist in a program like GIMP or Photoshop.

[0037] The elevation view is shown on a canvas element rendered on a user interface (UI) (e.g., display 114 of example device 100 of FIG. 1 ). Rendering a UI view may be divided into one or more pages, and each page may be divided into one or more sections. In such examples, layout information may indicate which resources correspond to each page and / or section of the UI view. In some embodiments, when or as the UI view is rendered (e.g., when or as it is executed), the UI view may display one page at a time and may provide navigation buttons for navigating between pages. In other embodiments, when or as the UI view is rendered, the UI view may display two or more pages simultaneously. Alternatively or additionally, sections of the UI view may be arranged horizontally, vertically, and / or overlapping. In other optional or additional embodiments, one or more sections of the UI view may be conditionally displayed. That is, sections of the UI view may be shown and / or hidden based on a condition being met (e.g., a particular field and / or parameter being set to a particular value). Alternatively or additionally, sections of the UI may be enabled (e.g., input may be allowed) and / or disabled (e.g., input may not be allowed) based on conditions being met. This disclosure is not limited in this respect.

[0038] As the elevation view appears on the canvas of the UI, the positioning and / or vertical positioning information of elements (i.e., text and graphics) within the UI varies between embodiments. The positioning information can be relative to a predetermined point of the UI view (e.g., the origin), such as, but not limited to, the upper left corner, the center point, or the lower right corner of a section of the UI view and / or a page of the UI view. Alternatively or additionally, the layout information may include layering information (e.g., z-order). In other embodiments, the horizontal and / or vertical positioning may be determined based on an automated script that is dynamically updated. For example, one element may be displayed at the top of the UI and a second element may be displayed at the bottom of the UI. In another example, a first element may be displayed on the right side of the UI view and a second element may be displayed on the left side.

[0039] Blocks 206-210 provide the user with the ability to select images to be used in the elevations created in block 204. For two-dimensional representations in the three-dimensional site elevation, the user can select textures to be applied to each section of each two-dimensional representation. Images to be used in the two-dimensional displays can be selected using at least three protocols described in blocks 206-210, although these methods are not exclusive. Images can also be selected in any number of other ways, such as via signals received from the Internet of Things (IoT), augmented reality (AR—an interactive experience of a real-world environment in which objects present in the real world are integrated into a computerized environment), artificial intelligence (AI), or virtual reality (VR).

[0040] In block 206 of FIG. 2 , in one embodiment, a camera application is opened by the user to capture an image for editing for use in the elevation drawing. The camera application may be, for example, a stock camera application pre-installed on the user's phone, or the user may select from a variety of camera applications provided by third-party providers or created by the user or the user's organization. Using an existing camera application or building a camera application may both be options for the user when capturing an image for editing, in embodiments. Developers may provide a camera user interface that is customized to the application's appearance or provides specialized functionality. Writing code for a custom-built photography application may provide a more engaging experience for the user.

[0041] In block 208 of Figure 2, a user may choose to perform a Google search for an image. Other search engines or web-based cloud services may also be used to search for images. Parameters for the Google search may be received via an input device, such as input device 114 of the example device of Figure 1. After receiving several results of the Google search, the user may select an image from one of the Google search results to use in one embodiment. The user may also find that all results are not satisfactory and instead proceed to the steps for obtaining an image, as described in block 206 and / or block 210.

[0042] 2, a user can open a gallery application to select an image stored at a previous time. Similar to the camera application described in block 206, the gallery application can be a stock gallery application, a third-party application, or a program built specifically for use in an embodiment. The gallery application can include only images stored in the local memory of the device being used in the embodiment, or the gallery application can include images accessible to members of a particular organization via a network storage drive or other means.

[0043] In block 212 of Figure 2, a site drawing is created or updated, including the elevations and 2D textures selected in blocks 206-210. The user can save the created or updated site drawing, or the application for use in this exemplary embodiment can be programmed to save it automatically. Saving is writing data to a storage medium such as a floppy disk, CD-R, USB flash drive, or hard drive. The save option is commonly found in almost all programs under a "File" drop-down menu or via an icon resembling a floppy diskette. Clicking the save option saves the file under its previous name. However, if the file is new, the program prompts the user to name the file and where to save it. If the file is not saved, it will be lost unless the program the user is using automatically saves it while the user is working. For example, if the computer loses power or must be restarted, work will be lost. While the user is working, data is stored in RAM, a fast, volatile memory device. RAM is called "volatile" because it loses its data if its power is lost or turned off. In contrast, a storage medium or disk is "non-volatile" storage because it retains its data even when power is turned off. Thus, prior to the user's action in block 212 of FIG. 2, the created or updated site plan is stored in RAM, but is not permanently stored for future retrieval. Also in block 212 of FIG. 2, the updated image, including the elevation and two-dimensional texture, is shown on the user interface as selected and positioned by the user. After this action, the user can return to block 200 and continue performing the actions described in FIG. 2 using additional site plans, or continue working with the existing elevation plans, e.g., selecting additional images as in blocks 206-210.The user can also proceed to create a bitmap file that encodes the updated image shown on the user interface (e.g., in file formats including, but not limited to, .jpg, .tiff, .gif, .svg, .svgz, bmp, .png, and .tif) and can print it on paper or send the bitmap over the Internet.

[0044] 3 shows a user interface displaying site details, which is shown to a user upon initializing an application useful for implementing this exemplary embodiment.

[0045] Site Details 300 is the text that is displayed as the title of this user interface view. This text cannot be modified by the user, clicked on, or otherwise used to trigger the execution of a command. Other embodiments use different titles, and in embodiments, the user may be able to change the title, or the title can change dynamically based on pre-set parameters.

[0046] Back button 301 allows a user to trigger a command to exit the user interface and return to a previously displayed and / or default user interface view. In various embodiments, back button 301 may return to the user interface view of the application being used for the site drawing, or may return to the user interface view of the operating system of the device on which the embodiment is implemented.

[0047] The reload button 302 allows the user to update other data fields based on the user's input in one data field. For example, if the user enters a SARF ID and then clicks the reload button, the site name, reference ID, etc. can be retrieved from the database.

[0048] Site name title 304 is the text that is displayed as the title of this user interface view. This text cannot be modified by the user, clicked on, or otherwise used to trigger the execution of a command. Other embodiments use different titles, and in embodiments, the user may be able to change the title, or the title can change dynamically based on pre-set parameters.

[0049] SARF ID title 305 is the text that is displayed as the title of this user interface view. This text cannot be modified by the user, clicked on, or otherwise used to trigger the execution of a command. Other embodiments use different titles, and in embodiments, the user may be able to change the title, or the title can change dynamically based on pre-set parameters.

[0050] Site name data 306 is a data field that contains the name of the site. A user may enter, i.e., type, the name into the data field, or the name may be retrieved from a database.

[0051] SARF ID data 307 is a data field that contains an alphanumeric identifier for the site. A user may be able to input, i.e., type, the SARF ID into the data field, or the SARF ID may be obtained from a database.

[0052] Reference ID title 308 is the text that is displayed as the title of this user interface view. This text cannot be modified by the user, clicked on, or otherwise used to trigger the execution of a command. Other embodiments use different titles, and in embodiments, the user may be able to change the title, or the title can change dynamically based on pre-set parameters.

[0053] Region title 309 is text that is displayed as the title of this user interface view. This text cannot be modified by the user, clicked, or otherwise used to trigger the execution of a command. Other embodiments use different titles, and in embodiments, the user may be able to change the title, or the title can change dynamically based on pre-set parameters.

[0054] Reference ID data 310 is a data field that contains an alphanumeric identifier for the site. A user may enter, i.e., type, the reference ID into the data field, or the reference ID may be retrieved from a database.

[0055] The domain data 312 is a data field designed to contain a domain. A domain may be defined, for example, by an organization. A user may be able to input, i.e., type, a name into the data field, or the name may be retrieved from a database.

[0056] Zip Code Title 314 is text that is displayed as the title of this user interface view. This text cannot be modified by the user, clicked on, or otherwise used to trigger the execution of a command. Other embodiments use different titles, and in embodiments, the user may be able to change the title, or the title can change dynamically based on pre-set parameters.

[0057] Prefecture title 316 is text that is displayed as the title of this user interface view. This text cannot be modified by the user, clicked on, or otherwise used to trigger the execution of a command. Other embodiments use different titles, and in embodiments, the user may be able to change the title, or the title can change dynamically based on pre-set parameters.

[0058] Zip code data 318 is a data field designed to contain a zip code. Zip codes may be defined, for example, by a national postal carrier. A user may be able to input, i.e., type, the zip code into the data field, or the zip code may be obtained from a database or via the Internet, for example, via the national postal carrier's website.

[0059] The prefecture data 320 is a data field designed to contain the name of a prefecture. A prefecture may be, for example, a subdivision of a local government. A user may be able to input, i.e., type, the prefecture into the data field, or the prefecture may be obtained from a database or via the Internet, for example, a website.

[0060] Installation pattern title 322 is text that is displayed as the title of this user interface view. This text cannot be modified by the user, clicked on, or otherwise used to trigger the execution of a command. Other embodiments use different titles, and in embodiments, the user may be able to change the title, or the title can change dynamically based on pre-set parameters.

[0061] The installation pattern selection 324 provides the user with instructions that the user can click on. When the user clicks on the designated location, an area is presented where the user can select from several installation pattern options, as shown in FIG.

[0062] Address title 326 is the text that is displayed as the title of this user interface view. This text cannot be modified by the user, clicked on, or otherwise used to trigger the execution of a command. Other embodiments use different titles, and in embodiments, the user may be able to change the title, or the title can change dynamically based on pre-set parameters.

[0063] Address data 328 is a data field designed to contain an address. The address may be defined, for example, by a national postal carrier. A user may be able to input, i.e., type, the address into the data field, or the address may be retrieved from a database.

[0064] A cancel button 330 allows a user to exit the user interface view shown in Figure 3, for example, without necessarily entering an installation pattern. When a user instantiates the cancel button 330, the user is returned to a user interface view of an introductory screen of an application for use in an embodiment, or to a user interface view of, for example, a home screen of a mobile device.

[0065] The next button 332 allows the user to advance to the next user interface view in the sequence, i.e., Figure 5. It can be programmed so that input must be made by the user, i.e., an installation pattern must be selected, before the next button 332 can trigger a command to advance the user interface view, as shown in Figure 4. Depending on the programming of the embodiment, the user may also be required to enter data in some or all of the other fields (e.g., site address) before the next button is activated.

[0066] FIG. 4 shows a user interface that requests selection of an installation pattern.

[0067] In this exemplary embodiment, site details 300, back button 301, reload button 302, site name title 304, SARF ID title 305, site name data 306, SARF ID data 307, reference ID title 308, area title 309, address title 326, address data 328, cancel button 330, and next button 332 are each visible in the user interface view of Figure 4. While visible, they do not have the functionality described in Figure 3 and do not allow the user to interact with them in any way until an installation pattern is selected and a different user interface view is instantiated.

[0068] Selection prompt 400 is designed to solicit user input for an installation pattern for telecommunications equipment. If the user clicks on the selection prompt itself, the user may be returned to the user interface view of Figure 3 without recording an installation pattern selection.

[0069] Wall mount 402 represents one option for an installation pattern that can be selected by a user. Applications according to embodiments can trigger other commands and user interface changes to be displayed based on the selected installation pattern. For example, in floor plans and elevation views that can be created according to the present disclosure, certain elements, such as wall mount symbols, can be displayed and added if a user selects wall mount 402 for the installation pattern.

[0070] Freestanding pole 404 represents a second option of installation patterns that may be selected by a user. Freestanding pole may indicate, for example, that the telecommunications equipment is mounted on a pole provided by a service provider.

[0071] The FRP foundation 406 represents a third option for installation patterns that may be selected by the user. FRP refers to fiber reinforced plastic, a material useful in the telecommunications industry.

[0072] Other embodiments may provide additional and / or different installation patterns available for selection by the user. Installation patterns may be further subdivided and described in terms of materials used, shapes, and sizes. There are many possible installation and service patterns that can be deployed, and the user may be provided with a scroll bar to view the range when the number of installation pattern options exceeds the space in a given window.

[0073] 5 shows a user interface requesting the selection of an elevation or floor plan. The selection can be made via an input device, such as input device 114 of FIG. 1, with input from a user.

[0074] 5, site details 300, back button 301, reload button 302, site name title 304, SARF ID title 305, site name data 306, SARF ID data 307, reference ID title 308, area title 309, address title 326, address data 328, cancel button 330, and next button 332 are each visible in the user interface view. While visible, they do not have the functionality described in FIG. 3 and do not allow the user to interact with them in any way until an elevation or floor plan is selected and a different user interface view is instantiated.

[0075] Selection option title 500 is the text that is displayed as the title of this user interface view. This text cannot be modified by the user, clicked on, or otherwise used to trigger the execution of a command. Other embodiments use different titles, and in embodiments, the user may be able to change the title, or the title can change dynamically based on pre-set parameters.

[0076] The cancel button 506 is illustrated as an X in the user interface view of Figure 5 and allows the user to exit the user interface view shown in Figure 5 without necessarily making a selection. When the user instantiates the cancel button 506, the user is returned to the previous user interface view (i.e., Figure 3), to a user interface view of an introductory screen of the application for use in an embodiment, or to a user interface view of a home screen of a mobile device, for example.

[0077] Elevation text and icon 504 triggers the creation of an elevation, i.e., the user interface view of Figure 6. Elevation text and icon 504 is designed to give the user a visual representation of a three-dimensional model of the building to aid the user's understanding of the user interface that will be triggered by clicking on elevation text and icon 504. As will be described in more detail below, the user interface view of Figure 6 is customized for the purpose of creating an elevation and enables various functions for that purpose.

[0078] Floor Plan 506 triggers the creation of a floor plan, i.e., the user interface view of Figure 7A. Elevation text and icon 504 is designed to give the user a visual representation of a three-dimensional model of the building to aid the user's understanding of the user interface that will be triggered by clicking on Elevation text and icon 504. As will be described in more detail below, the user interface view of Figure 6 is customized for the purpose of creating elevations and enables various functions for that purpose.

[0079] FIG. 6 shows a user interface for applying texture to surfaces in an elevation view.

[0080] The left status indicator bar 600 displays parameters related to the operational state of the device. The right status indicator bar 601 displays parameters related to the operational state of the device and its communication network services. At other times or in other embodiments, more and / or different indicators may be displayed.

[0081] Command buttons 602 trigger one or more pre-set options to be presented to the user, which, when selected by the user, causes further actions to be performed on the user interface.

[0082] A done button 604 allows the user to save the elevation and exit the user interface view. The elevation is saved in JSON and can be output in bitmap format if the user desires.

[0083] Elevation creation title 606 is text that is displayed as the title of this user interface view. This text cannot be modified by the user, clicked on, or otherwise used to trigger the execution of a command. Other embodiments use different titles, and in embodiments, the user may be able to change the title, or the title can change dynamically based on pre-set parameters.

[0084] The camera icon and text 608, in one embodiment, opens a camera application to capture an image for editing for use in the elevation drawing. A user can take a photo of an area of ​​a wall of a building, for example, and an example embodiment of the present disclosure allows the user to use the photo as a texture on the surface of a three-dimensional model of the building displayed on the user interface.

[0085] The image icon and text 610 allows the user to open a gallery application to select an image stored at a previous time. Using the drawing tools found in embodiments, the user can draw a structural element with a particular image captured at a previous time in mind and then use that image, or a portion of it, for the texture of the surface of the structural element.

[0086] The Google Earth icon and text 612 allow a user to perform a Google search for the image. In an exemplary embodiment, a user can look at a portion of a building and visually select the corresponding image in Google Earth or a similar application. The URL of the Google Earth image or its file path can be stored in JSON and used as a texture on the three-dimensional model of the building displayed in the Google Earth image.

[0087] The cancel button 614 allows the user to exit the user interface view shown in Figure 6 without creating an image. When the user instantiates the cancel button 614, the user is returned to the user interface view to the introductory screen of the application or to the home screen of the mobile device for use in an embodiment.

[0088] The OK button 616 returns the user to a user interface view like that of Figure 6, but without elements 606-616. If the user wants to draw an elevation rather than add an image, the OK button 616 provides the user with a quick way to do so.

[0089] The canvas element 618 consists of a drawable area defined in code with height and width attributes. JavaScript code can access the canvas and perform drawing functions (other 2D and 3D APIs may also be utilized). Images are added to the canvas element 618 as textures in the elevation view shown in Figure 6.

[0090] The compass 622 allows the user to orient the elevation according to the direction measured by the compass 622 .

[0091] The circle drawing element 624 allows the user to conveniently draw circles of various sizes. The user can drag the circle drawing element 624 to change the radius of the circle to suit the user's desire.

[0092] The draw square element 626 allows the user to draw squares of various sizes. The draw square element 626 provides a way for the user to select the size of the square to suit the user's desires.

[0093] The octagon drawing element 628 allows the user to draw octagons of various sizes. The user can use the octagon drawing element 628 to change the size and position of the octagon that will be added to the canvas to suit the user's wishes.

[0094] The triangle drawing element 630 allows the user to draw triangles of various sizes. The polygon drawing element 628 allows the user to change the size and position of the triangle that will be added to the canvas to suit the user's wishes.

[0095] The Delete Image button 632 initiates the removal of the texture from the canvas per the user's instructions.

[0096] The add image button 634 initiates the addition of a texture to the canvas per the user's command.

[0097] The expand device menu button 636 allows the user to expand a menu of device parameters that the user can select, such as display brightness.

[0098] FIG. 7A illustrates an exemplary user-created floor plan, according to an embodiment of the present invention.

[0099] JavaScript can be used to draw the graphical elements added by the user in Figures 6 and 7A. For example, a 20 pixel by 40 pixel black rectangle can be drawn.

[0100] var example=document.getElementById('example');

[0101] var context=example.getContext('2d');

[0102] context.fillStyle='black';

[0103] context.fillRect(20,20,40,40);

[0104] More complex shapes can similarly be constructed by combining simpler shapes. The above shape metadata is used to draw the shape along a defined path, i.e., contour. This can be done using the JSON "path" property, where a path is an array of path segments. A path segment is a cross-section of the overall shape. For example, it can be a straight line or curved segment. To define the type of segment, a "degree," specified as a number, can be defined. A degree of 1 corresponds to a linear segment, while higher degrees can be used to introduce, for example, cubic and quadratic curves. Once the user specifies the type of path segment they desire, an array of points to be used to draw the segment must be defined. User-added simple shapes and file paths for images can be stored in JavaScript Object Notation (JSON). Images can be encoded directly in JSON, but this requires a large amount of data.

[0105] As a user navigates the UIs shown in FIGS. 6 and 7A, a collection of shapes, text, and images is stored in JSON and represented on a screen or printer by coloring pixels according to the layer in the image. In embodiments, layers are different levels at which objects or image files can be arranged. Layers can represent portions of an image, either as pixels or as modification instructions. Layers can be stacked on top of each other, and depending on their order, can determine the appearance of the final image. Layers can be stacked, merged, or defined when creating a digital image. Layers can be partially obscured, allowing portions of an image in a layer to be semi-transparently hidden or revealed within another image. Layers can also be used to combine two or more images into a single digital image.

[0106] The JSON object format is often used in embodiments to store site drawings. The JSON object format can be conveniently used to store site drawings in a database or to transmit data on a server. Many programming languages ​​provide implementations for JSON. Popular languages ​​such as PHP, Python, C#, C++, and Java provide excellent support for the JSON data exchange format. Popular programming languages ​​commonly used in the technical field rely on JSON and its implementations for data transfer and therefore provide excellent support for JSON. Thus, the present disclosure enables a variety of different web applications to easily process and utilize site drawings within and across organizational (i.e., enterprise) networks.

[0107] Drawing 701 is a floor plan constructed using the functionality described above. A shape can, for example, completely cover text as represented on a UI depicting drawing 701, as a shape can be positioned in front of the text to obscure the text from view in the UI. While the JSON format can store all layers in an image, the per-pixel values ​​do not take into account invisible layers. This is another advantage of implementing the present invention, as the techniques provided by this disclosure allow users to persistently store and save information represented in invisible layers.

[0108] The line tool 700 allows the user to draw along a straight line path, with the pixels to be colored being limited to those that have a linear relationship originating from an origin selected by the user.

[0109] The freehand tool 702 allows the user to color any pixel on the canvas. The freehand tool 702 offers the most flexibility, but is more difficult to operate, especially for inexperienced users.

[0110] The information tool 704 allows the user to add information to the floor plan, such as operation and service instructions. The information can be stored locally on the user's device or retrieved from an external database.

[0111] The opening menu 706 provides the user with a variety of possible openings to depict that are useful for telecommunications lines to pass through. A variety of shapes and sizes can be made available to best depict conditions within a particular building.

[0112] The label menu 708 provides the user with pre-populated text fields for quick and convenient positioning on the display rather than having to type labels individually, for example, a user can find the label for the name of a particular piece of telecommunications equipment.

[0113] The component menu 710 provides the user with various possible telecommunications equipment for depicting in the drawing 701. When the user clicks on the component menu 710, different telecommunications equipment options become selectable for depiction. For example, a drop-down menu containing a list of selected equipment may be displayed. Examples of telecommunications equipment that may be listed include antennas, switches, communication towers, fiber optic cables, antennas, and routers. Quantitative and qualitative displays may be provided. Selecting the component menu 710 may also provide a screen (e.g., a pop-up window as shown in FIG. 7B) through which parameters and properties of the selected communications equipment may be displayed and / or entered. The size and orientation of the telecommunications equipment may be changed based on user-input parameters. For example, changing the height or orientation of an antenna in FIG. 7B reflects the change in the depicted antenna. The user may create a scale model in which the length and size of a component, such as a cable, are specified by the user and displayed on the user interface of FIG. 7A.

[0114] Some aspects of the user interface of FIG. 6 are also shown in FIG. 7A. Left status indicator bar 600 displays parameters related to the operational status of the device. Right status indicator bar 601 displays parameters related to the operational status of the device and its communication network services. At other times or in other embodiments, more and / or different indicators may be displayed. Command button 602 triggers one or more pre-set options to be presented to the user. Done button 604 allows the user to save the elevation and exit the user interface view.

[0115] FIG. 8 illustrates arithmetic and logic units within a device, such as device 100 shown in FIG. 1, including processor 104, configured for one exemplary embodiment.

[0116] The 3D model polygon rendering component 800 uses polygon modeling to depict 3D objects on a user interface using smaller component polygons. Each polygon is a flat shape defined by the locations of its vertices (or points) and its connecting edges. The surfaces of polygons can be covered with textures, and complex models of arbitrary shapes can be constructed entirely from polygons. If a user requires smoother looking surfaces and more detail, etc., the user can increase the number of polygons used to represent the 3D object. This increases the computing power required by the 3D model polygon rendering component 800.

[0117] User or other input component 802 receives input from a user to select a texture to be applied to polygons of the 3D model. User or other input component 802 may include one or more components that enable a device (e.g., device 100) to receive information via user input, etc. (e.g., a touchscreen, keyboard, keypad, mouse, stylus, buttons, switches, microphone, camera, etc.), and thus may receive input, for example, with a keyboard or cursor control device. User or other input component 802 may include a camera for capturing images, or a non-transitory computer-readable storage medium containing stored images.

[0118] The image to be used as the texture can be obtained from an internet source via a transmitting component 804 and a receiving component 806. The transmitting component 804 is configured to transmit a communication (e.g., wired, wireless) to another device. The transmitting component 804 can perform signal processing on the generated communication and can transmit the processed signal. In some embodiments, the transmitting component 804 can include one or more antennas, a transmit processor, a controller / processor, a memory, or a combination thereof. In some embodiments, the transmitting component 804 may be co-located with the receiving component 806, such as in a transceiver and / or transceiver component. The receiving component 806 is configured to receive a communication (e.g., wired, wireless) from another device. The receiving component 806 can receive a communication, such as control information, a data communication, or a combination thereof, from another device. The receiving component 806 can provide the received communication to one or more other components, such as a storage component 808 and / or a texture rendering component 810. In some aspects, the receiving component 806 can perform signal processing on the received communication and can provide the processed signal to one or more other components. In some embodiments, the receiving component 806 may include one or more antennas, a receiving processor, a controller / processor, a memory, or a combination thereof.

[0119] The storage component 808 may be configured to or may comprise means for storing textures to be used by the texture rendering component 810. For example, the textures may be stored in a database according to pre-set parameters. The storage component 808 may store the textures in working memory, in a storage location local to the device, or storage may occur in some external database, external server, or web application.

[0120] The texture rendering component 810 may be configured to or may comprise means for rendering a model of a building with textures applied to surfaces in the model. The number of dimensions shown in the model is variable. In a two-dimensional context, the texture rendering component 810 may render an elevation depicting surfaces such as walls with textures applied to the walls from images stored in the storage component 808. If a three-dimensional model is desired, the texture rendering component 810 may apply textures to the surfaces of polygons generated by the 3D model polygon rendering component 800.

[0121] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementation to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.

[0122] It is understood that the specific order or hierarchy of blocks in the processes / flowcharts disclosed herein represents example approaches. It is understood that the specific order or hierarchy of blocks within a process / flowchart may be rearranged based on design preferences. Additionally, some blocks may be combined or omitted. The accompanying method claims present elements of the various blocks in a sample order and are not meant to be limited to the specific order or hierarchy presented.

[0123] Some embodiments may relate to systems, methods, and / or computer-readable media at any possible level of technical detail of integration. Furthermore, one or more of the above components described above may be implemented as instructions stored on a computer-readable medium and executable by at least one processor (and / or may include at least one processor). The computer-readable medium may include one or more computer-readable non-transitory storage media having computer-readable program instructions for causing a processor to perform operations.

[0124] A computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer-readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge structures in grooves on which instructions are recorded, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as being, per se, transitory signals such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted through wires.

[0125] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing / processing device.

[0126] The computer-readable program code / instructions for carrying out operations may be either source code or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or object-oriented programming languages ​​such as Smalltalk and C++, and procedural programming languages ​​such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry to perform aspects or operations.

[0127] These computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute on the processor of the computer or other programmable data processing apparatus, create means for performing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored on a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, such that the computer-readable storage medium on which the instructions are stored comprises a product containing instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0128] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause the computer, other programmable apparatus, or other device to execute a series of operational steps to create a computer-implemented process, such that the instructions executing on the computer, other programmable apparatus, or other device perform the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0129] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer-readable media according to various embodiments. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing the specified logical function(s). The methods, computer systems, and computer-readable media may include additional, fewer, different, or differently arranged blocks than those shown in the figures. In some alternative implementations, the functions noted in the blocks may occur in a different order than noted in the figures. For example, two blocks shown in succession may actually be executed concurrently or substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, can be implemented by a dedicated hardware-based system that performs the specified functions or operations or executes a combination of dedicated hardware and computer instructions.

[0130] It will be apparent that the systems and / or methods described herein may be implemented in various forms of hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods is not intended to limit the implementation. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code, and it will be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.

Claims

1. displaying, on a display of the device, a user interface configured for one or more of creating site details for a site, accessing the site details, and editing the site details; receiving a selection from a user for one of an elevation view and a floor plan view; Displaying a canvas on the user interface; receiving one or more inputs from the user corresponding to one or more components of a telecommunications device, the one or more inputs enabling addition of one or more components to the canvas at one or more coordinates, and the one or more inputs including one or more parameters associated with at least one of the one or more components; storing the one or more components and their coordinates in JavaScript Object Notation (JSON); generating a layout plan of a telecommunications site associated with the telecommunications equipment based on the one or more inputs; displaying the layout plan on the device; A method comprising:

2. The one or more inputs corresponding to the addition of one or more components at one or more coordinates are: establishing a network communication linkage with a server; sending an indicator of a geographic location; receiving an image corresponding to the geographic location; The method of claim 1 , wherein the signal is received by:

3. Receiving the one or more inputs includes: receiving a first input for selecting a component type from among a plurality of predetermined telecommunications equipment components; displaying a window through which parameters of a component corresponding to the selected component type are provided based on the received first input; receiving a second input for adjusting at least one parameter displayed in the window; and drawing the component on the canvas based on the adjusted at least one parameter; The method of claim 1 , comprising:

4. The method of claim 1 , wherein the one or more inputs corresponding to the addition of one or more components at one or more coordinates create a three-dimensional representation.

5. receiving a selection of a surface in the three-dimensional representation from the user; applying a texture to the selected surface according to input received from the user; displaying the texture on the selected surface of the three-dimensional representation on the user interface; and The method of claim 4 further comprising:

6. The method of claim 1 , further comprising transmitting the one or more components and their coordinates to a server over a communications network in JavaScript Object Notation (JSON).

7. The method of claim 1 , further comprising transmitting the bitmap of the one or more components to a server over a communications network.

8. receiving, at a second device, the one or more components and their coordinates in JavaScript Object Notation (JSON); Parsing the received JSON; calculating a rendering scaling factor based on parameters of the second device; displaying the one or more components on a user interface of the second device according to the rendering scaling factor; and The method of claim 1 further comprising:

9. a memory storage device that stores computer-executable instructions; a processor communicatively coupled to the memory storage device; wherein the processor executes the computer-executable instructions, causing the device to: displaying a user interface configured for one or more of creating site details for a site, accessing the site details, and editing the site details; receiving a selection from a user for one of an elevation view and a floor plan view; Displaying a canvas on the user interface; receiving one or more inputs from the user corresponding to one or more components of a telecommunications device, the one or more inputs enabling addition of one or more components to the canvas at one or more coordinates, and the one or more inputs including one or more parameters associated with at least one of the one or more components; storing the one or more components and their coordinates in JavaScript Object Notation (JSON); generating a layout plan of a telecommunications site associated with the telecommunications equipment based on the one or more inputs; displaying the layout plan on a device; 10. An apparatus configured to cause a

10. 10. The apparatus of claim 9, further comprising a network connection interface configured to transmit data to a server over a computer communications network.

11. receiving the one or more components and their coordinates in JavaScript Object Notation (JSON); Parsing the received JSON; Calculating a rendering scaling factor based on parameters of the second device; displaying the one or more components on a user interface of the second device according to the rendering scaling factor; and The apparatus of claim 9 , further comprising the second device configured to:

12. The apparatus of claim 9 further comprising an optical device for capturing an image.

13. A non-transitory computer-readable medium containing instructions that, when executed by one or more processors, cause an apparatus to: providing a user with a user interface configured for one or more of creating site details for a site, accessing the site details, and editing the site details; receiving a selection from a user for one of an elevation view and a floor plan view; Displaying a canvas on the user interface; receiving one or more inputs from the user corresponding to one or more components of a telecommunications device, the one or more inputs enabling addition of one or more components to the canvas at one or more coordinates, and the one or more inputs including one or more parameters associated with at least one of the one or more components; storing the one or more components and their coordinates in JavaScript Object Notation (JSON); generating a layout plan of a telecommunications site associated with the telecommunications equipment based on the one or more inputs; displaying the layout plan on a device; A non-transitory computer-readable medium for causing

14. The instructions further cause the device to: receiving a selection of a surface in the three-dimensional representation from the user; applying a texture to the selected surface according to input received from the user; displaying the texture on the selected surface of the three-dimensional representation on the user interface; and The non-transitory computer-readable medium of claim 13 .

15. The instructions further cause the device to: establishing a network communication connection with a server; sending an indicator of a geographic location; receiving an image corresponding to the geographic location; The non-transitory computer-readable medium of claim 13 .

16. The non-transitory computer-readable medium of claim 13 , wherein the instructions cause the device to create a three-dimensional representation of the one or more components at one or more coordinates.

17. 14. The non-transitory computer-readable medium of claim 13, wherein the instructions cause the device to transmit the one or more components and their coordinates stored in JavaScript Object Notation (JSON) to a server over a computer communications network.

18. 14. The non-transitory computer-readable medium of claim 13, wherein the instructions cause the device to transmit output image bitmaps of the one or more components to a server over a computer communications network.

Citation Information

Patent Citations

  • Method for simulating furniture layout

    JP2006163721A

  • Methods, apparatus and systems for facilitating generation and assessment of engineering plans

    US20120065944A1

  • Computer-implemented apparatus, system, and method for three dimensional modeling software

    US20130141428A1

  • Floor plan based planning of building systems

    US20180121571A1

  • Three-dimensional modeling from optical capture

    US20190026938A1