0

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 the ImportantFeature data or all the River no 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?

  • 1
    It's not that you got poor performance that was the problem, but that using multiple topology classes with duplicate rowids in a single view is forbidden by ArcGIS. This question needs to be about a fundamental design change to your data model. – Vince Mar 23 '15 at 4:01
  • So which is more important? the multiple topology classes or the duplicate rowids? – giser Mar 23 '15 at 5:09
  • And I just tried to search on the concrete table instead of the view, it also take a long time – giser Mar 23 '15 at 5:12
  • 1
    It's not a matter of which is more important -- both are forbidden. Query time for a spatial search of a small subset of a 20k row table should be <10ms, but improper configuration has no bearing on this question. – Vince Mar 23 '15 at 11:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.