How to model multiple topology classes in one query with ArcGIS

How to model multiple topology classes in one query with ArcGIS

We have a lot of geographic data with different geometry type in our application, which are persisted in the Oracle 11g database with ST_Geometry supported by Arcgis SDE 10.

The features can be organized with a tree structure:

Geographic Data(shape,name,address) ImportantFeature(level,classcode… ) ImportFeaturePoint ImportFeatureLine ImportFeaturePolygon River RiverLine RiverPolygon Hotel: HotelPoint School SchoolPoint…

And the origin data are created by Esri FileGeotadabase(.gdb), one feature one table(in arcmap), and then these data are exported to Oracle 11g by SDE.

Now we have database tables:

BuildingPoint RiverLine RiverPolygon…

And we need to query these data by different criteria, for example, we need to query all the geographic data, all theImportantFeaturedata or all theRiverno matter the geometry type is point,polyline or polygon.

So I create view to make the features together like:

create view xxView as select shape,name,address from ImportFeaturePoint union all select shape,name,address from ImportFeatureLine…

However I got a very low performance for this solution, check my last post, so I wonder if there is an alternative way to implement my requirement?

About the authors

Remi Myers

Remi is the Product Manager for the ArcGIS Utility Network and spends his free time exploring the US Southwest desert and California beaches.

Utility Network Team

The utility network team blogs about utility industry topics and the functionality available with the ArcGIS Utility Network Management extension. #UtilityNetwork #EsriElectric #EsriGas #SmartGrid

Bus Topology

Bus topology uses a single cable which connects all the included nodes. The main cable acts as a spine for the entire network. One of the computers in the network acts as the computer server. When it has two endpoints, it is known as a linear bus topology.


  • Cost of the cable is very less as compared to other topology, so it is widely used to build small networks.
  • Famous for LAN network because they are inexpensive and easy to install.
  • It is widely used when a network installation is small, simple, or temporary.
  • It is one of the passive topologies. So computers on the bus only listen for data being sent, that are not responsible for moving the data from one computer to others.


  • In case if the common cable fails, then the entire system will crash down.
  • When network traffic is heavy, it develops collisions in the network.
  • Whenever network traffic is heavy, or nodes are too many, the performance time of the network significantly decreases.
  • Cables are always of a limited length.

Querying a building information model for construction-specific spatial information

The design and construction community has shown increasing interest in adopting building information models (BIMs). The richness of information provided by BIMs has the potential to streamline the design and construction processes by enabling enhanced communication, coordination, automation and analysis. However, there are many challenges in extracting construction-specific information out of BIMs. In most cases, construction practitioners have to manually identify the required information, which is inefficient and prone to error, particularly for complex, large-scale projects. This paper describes the process and methods we have formalized to partially automate the extraction and querying of construction-specific information from a BIM. We describe methods for analyzing a BIM to query for spatial information that is relevant for construction practitioners, and that is typically represented implicitly in a BIM. Our approach integrates ifcXML data and other spatial data to develop a richer model for construction users. We employ custom 2D topological XQuery predicates to answer a variety of spatial queries. The validation results demonstrate that this approach provides a richer representation of construction-specific information compared to existing BIM tools.

Graphical abstract


► An integrated framework to answer spatial queries on a BIM is proposed. ► We extract spatial data, not available in ifcXML, from the Autodesk Revit API. ► A GML application schema is used to represent the spatial and non-spatial BIM data in a common syntax and schema. ► Custom developed XQuery spatial query predicates are used to process queries. ► Our approach extracts construction-specific information which is otherwise implicit in a BIM.

Network Topology represents a network arrangement consisting of several nodes, i.e. sender and receiver nodes, and the lines connecting them.

Types of Network Topology

Let us look at the type of Network Topologies available.

Web development, programming languages, Software testing & others

1. Bus Topology

Bus topology is the kind of network topology where every node, i.e. every device on the network, is connected to a solo main cable line. Data is transmitted in a single route, from one point to the other. We cannot transmit data in both ways. When this topology has precisely two endpoints, it is known as Linear Bus Topology. It is mostly used for small networks.

Benefits of Bus Topology

  • It is cost-effective.
  • The Cable length required is the least in comparison to other topologies.
  • The working of this topology is easy to understand.
  • Expansion can be done easily by linking the cables together.

Drawbacks of Bus Topology

  • If the main cable collapses, the complete network collapses.
  • The network performance is at stake and reduces if there are numerous nodes and heavy network traffic.
  • The main cable can only be so long. The length of the cable is limited.
  • Bus Topology is not as fast as Ring Topology.

2. Ring Topology

Ring Topology is a topology type in which every computer is connected to another computer on each side. The last computer is connected to the first, thus forming a ring shape. This topology allows for each computer to have exactly two neighbouring computers.

In this topology, the main computer is known as the monitor station, which is responsible for all the operations. Data transmission amongst devices is done with the help of tokens. For transmitting data, the computer station has to hold the token. The token is released only when the transmission is complete, following which other computer stations can use the token to transmit data.

Data transmission is done in a sequential method, i.e. bit by bit. Therefore, data has to route its way through each node in the network to reach the destination node. We use repeaters in a Ring topology to prevent loss of data during transmission. These repeaters are especially helpful when the topology has a vast number of nodes, and the data is to reach the very last node in the network.

The data transmission is unidirectional in a Ring topology, but it can be created to be bidirectional by connecting each node with another set of connecting lines. This is known as Dual Ring Topology. Here, two ring networks are created, with the data in each flowing in opposite directions.

Benefits of Ring Topology

  • The network is not affected by numerous nodes or heavy traffic, as only the nodes possessing tokens can transfer data.
  • Ring topology has cheap installation and expansion.

Drawbacks of Ring Topology

  • It is a tedious task to troubleshoot in Ring topology.
  • It is difficult to add or delete nodes, as it interrupts the network activity.
  • If one computer crashes, the entire network activity is disrupted.

3. Star Topology

Star Topology is the kind of network topology in which all the nodes are connected via cables to a single node called a hub, which is the central node. The hub can be active or passive in nature. Active hubs contain repeaters, while passive hubs are considered non-intelligent nodes. Each node contains a reserved connection to the central node, which the central node acting as a repeater during data transmission.

Benefits of Star Topology

  • Star topology boasts fast performance due to low network traffic.
  • It is easy to upgrade the Hub as and when required.
  • Setup can be done easily and can be easily modified as well.
  • Star Topology is easy to troubleshoot.
  • In case a node has failed, it can easily be replaced without affecting the working of the rest of the network.

Drawbacks of Star Topology

  • The installation cost is extreme, and it is costly to use.
  • All the nodes are dependent on the hub.

4. Mesh Topology

Mesh topology is the kind of topology in which all the nodes are connected with all the other nodes via a network channel. Mesh topology is a point-to-point connection. It has n(n-1)/2 network channels to connect n nodes.

Mesh topology has two techniques for transmission of data, i.e. routing and flooding. In the routing technique, the nodes possess a routing logic, like the logic for the shortest distance to the destination node or the logic to avoid routes with broken connections. In the flooding technique, all the network nodes receive the same data. This leaves us no need for routing logic. This technique makes the network robust but results in unwanted load on the network.

Benefits of Mesh Topology

  • Every connection has the ability to carry its particular data load.
  • Mesh Topology is very robust.
  • It is easy to diagnose faults.
  • Mesh Topology provides privacy and security.

Drawbacks of Mesh Topology

  • Mesh Topology is challenging to install and configure.
  • As all the nodes are connected with each other, cabling is costly.
  • Bulk wiring is essential.

5. Tree Topology

Tree topology is the topology in which the nodes are connected hierarchically, with all the nodes connected to the topmost node or root node. Hence, it is also known as hierarchical topology. Tree topology has at least three levels of hierarchy.

Tree topology is applied in Wide Area Network. It is an extension of Bus topology and Star topology. It is best if the workstations are situated in groups, for easy working and managing.

Benefits of Tree Topology

  • It is easy to expand the network with more nodes.
  • It is easy to maintain and manage.
  • It is easy to detect an error in the network.

Drawbacks of Tree Topology

  • It is profoundly cabled.
  • It is expensive when compared to other topologies.
  • If the root node collapses, the network will also collapse.

6. Hybrid Topology

Hybrid Topology is basically a network topology comprising of two or more different types of topologies. It is a reliable and scalable topology, but simultaneously, it is a costly one. It receives the merits and demerits of the topologies used to build it.

Benefits of Hybrid Topology

  • It is easy to troubleshoot and provides simple error-detecting techniques.
  • It is a flexible network topology, making it quite effective.
  • It is scalable since the size can be made greater easily.

Drawbacks of Hybrid Topology


We have seen the various network topologies available to us, along with their benefits and drawbacks. According to our requirements, it will now be easy for us to choose which network topology can be used.

Recommended Articles

This has been a guide to Types of Network Topology. Here we discuss 8 network types of topology with their respective benefits and drawbacks. You can also go through our other suggested articles to learn more –

The Knockout framework allows you to declaratively link DOM elements to JavaScript variables so changing them in the DOM immediately changes them in the JavaScript. Also, you are able to grab the change events which allows you to reprocess the data when needed. In this example, you may want to query the database every time your field changes. Here's how to do it:

In Knockout, you use 'data-bind="value: var"' to select the variable to bind to the DOM element. In the JavaScript, you have:

Though this is obviously a little more complicated than the jQuery model, it is a powerful tool since it allows you to reactively process the data as it is updated in the DOM.

How to Draw a Deployment Diagram?

A Deployment model can be developed by following the steps below.

  1. Firstly, identify the nodes that represent your system's client and server processors and then highlight those devices that are relevant to the behavior of your system.
    For example, you'll want to model special devices, such as credit card readers, badge readers, and display devices other than monitors, because their placement in the system's hardware topology are likely to be architecturally significant.
  2. Provide visual cues for these processors and devices via stereotyping.
  3. Model the topology of these nodes in a deployment diagram.
  4. Similarly, specify the relationship between the components in your system's implementation view and the nodes in your system's deployment view.

5 Answers 5

It is possible to generate classes (via cglib, asm, javassist, bcel), but you shouldn't do it that way. Why?

  • the code that's using the library should expect type Object and get all the fields using reflection - not a good idea
  • java is statically typed language, and you want to introduce dynamic typing - it's not the place.

If you simply want the data in an undefined format, then you can return it in an array, like Object[] , or Map<String, Object> if you want them named, and get it from there - it will save you much trouble with unneeded class generation for the only purpose of containing some data that will be obtained by reflection.

What you can do instead is have predefined classes that will hold the data, and pass them as arguments to querying methods. For example:

Thus you can use reflection on the passed expectedResultClass to create a new object of that type and populate it with the result of the query.

That said, I think you could use something existing, like an ORM framework (Hibernate, EclipseLink), spring's JdbcTemplate , etc.

It's actually very similar to jQuery:

AND (both classes)

OR (at least one class)

XOR (one class but not the other)

NAND (not both classes)

NOR (not any of the two classes)

querySelectorAll with standard class selectors also works for this.

As @filoxo said, you can use document.querySelectorAll .

If you know that there is only one element with the class you are looking for, or you are interested only in the first one, you can use:

BTW, while .class1.class2 indicates an element with both classes, .class1 .class2 (notice the whitespace) indicates an hierarchy - and element with class class2 which is inside en element with class class1 :

And if you want to force retrieving a direct child, use > sign ( .class1 > .class2 ):

Watch the video: Arcgis: Merge the raster datasets fusionner raster arcgis Mosaic raster dataset ArcGIS