10

I am using ESRI based GIS software, Postgresql/PostGIS/ArcSDE DB and we have a Mincom Ellipse asset management system.

Currently our all our spatial information regarding asset sites have been recorded as points, this has been versatile for the fact that it accommodates mapping at various scales. Now that we are integrating our Asset Management System with our GIS database the asset management guys want the GIS features to reflect the structure e.g A building footprint as a polygon instead of a point.

My question in terms of the spatial data management. Should I be maintaining two sets of data? One for the asset representations and then one for various mapping tasks?

Thanks DB

0

4 Answers 4

2

I suggest you have one table that contains both the polygon and point data. This table would have (at minimum):

  • an id column that is a foreign key to the matching asset record,
  • a geometry column that contains that polygon geometry and
  • a geometry column that contains the point geometry.

Create a trigger that updates the point column based on inserts/changes in the polygon column using st_pointonsurface.

Create two views, one that has only the polygon columns and one that contains only the point column (include the id column and any others in the views, of course). These views are what you register with SDE.

This way you should be able to worry only about keeping the polygon data up-to-date. If there's no polygon, you can still put in a point. Remember to filter out records with null geometries from the views.

0
2

I feel like you might have a couple of questions in your question. For the question in your title, your don't provide enough information about your GIS or asset management system to answer.

However, I think this is a good question, but certainly not limited to asset management.

Do I now have to create a polygon layer for my dams to be used with the asset management system for viewing at 1:1,000 then a point layer for mapping purposes when producing a map of the same sites at 1:100,000?

Currently, we have both the building outlines and point features in our Esri geodatabases. We're just starting a Cityworks implementation, but it looks like the point features are what we are using to relate our tables to (since we maintain the point features but the building outlines are maintained by a different agency).

Having both the point and polygon geometries for the same feature isn't uncommon. For Esri geodatabases, these have to go into different featureclasses. You can't mix geometry types in Esri featureclasses (at least not in a way that is recognized by Esri software).


Update:
Since you are using an Esri geodatabase, you might be able to use cartographic representations. I haven't used them (until a minute ago), but it looks like it works. In my screen shot, I'm display 1 layer with the building cartographic representation and the 2nd layer with the actual feature geometry. If you apply the scale ranges, you can have buildings change from poly to point symbols as you zoom out. I will say that the user interface for cartographic reps feels less refined than the rest of ArcMap and ArcCatalog.

alt text

0
1

Do I now have to create a polygon layer for my dams to be used with the asset management system for viewing at 1:1,000 then a point layer for mapping purposes when producing a map of the same sites at 1:100,000?

One alternative might be to develop a custom renderer that displays points for dams when zoomed out beyond a certain scale.

0

Depending upon scale I would show features differently.

To save of storing multiple geometries for your feature you can use geometric centroids of buildings to compute a single point to represent the asset at much larger scales this will allow you to store single geometries for your assets.

But it does depend on your GIS software as to how this is implemented.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.