M.App Enterprise Discussions

Discuss topics with other M.App Enterprise Product pioneers and experts to get the most out of it.
Showing results for 
Search instead for 
Do you mean 
Reply
Highlighted
Frequent Contributor
Posts: 131
Registered: ‎11-25-2015

more geometry columns data

Hi, I have data (oracle table) with two geometric columns. GEOMETRY (areas) and CENTROID. There are offered 2 items for the vector layer name in content - Vector - new. When I set Cache for this layers it is marked as invalid. Also it is not possible ti use it in Vector Cache.

Is the data like this supported? (I have not find any information in documentation about any restriction to only one geometry column data)

Many thanks

Jan

Staff
Posts: 1,131
Registered: ‎10-18-2015

Re: more geometry columns data

Hi Jan,

 

I'm able to use a table with 2 different geometry fields, in my case one is point and second one is line. Please make sure you have the correct metadata and indexes for both geometries.

 

Regards,

Stefano

Stefano Turcato
Presale Engineer
Hexagon Geospatial
Frequent Contributor
Posts: 131
Registered: ‎11-25-2015

Re: more geometry columns data

Hi Stefano, I was able to "valid" (not marked as invalid in the layer list) the vector layer by manuall fill lower and upper corner. I created the vector set and want to cache. There I got another error. In the security - log I found this error:

 

Oracle.DataAccess.Client.OracleException: ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at "MDSYS.SDO_TUNE", line 573
ORA-06512: at line 1

   at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck, Int32 isRecoverable)

   at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)

   at Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)

   at Oracle.DataAccess.Client.OracleCommand.ExecuteDbDataReader(CommandBehavior behavior)

   at MApp.Data.Database.ExecuteReader(String sql, Action`1 readCallback, IEnumerable`1 parameters, DbConnection connection, DbTransaction transaction)

   at MApp.Data.Database.Select[T](String sql, IEnumerable`1 parameters, DbConnection connection, DbTransaction transaction)

   at MApp.Data.Database.Select[T](String sqlCommand, IEnumerable`1 parameters)

   at MApp.Spatial.VectorInfo.GetVectorInfo(String entity, String geometryField, OpenGisGeometryType geometryType, String connectionString, DbProviderType dataSource, Nullable`1 srid, Nullable`1 targetSrid)

   at MApp.Maps.MapLayerExtensions.GetVectorInfo(MapLayer layer, Int32 srid)

   at MApp.TileService.TileCreator.GetBoundsAndExcludePointLayers(List`1 layers, Int32 srid, IDictionary`2& pointLayersPointCounts)

   at MApp.TileService.TileCreator.CreateVectorSetZoomLevels(VectorSet vectorSet, IEnumerable`1 layers, Int32 srid, List`1& tileInfoZoomLevels)

   at MApp.TileService.TileCreator.CreateTiles(VectorSet vectorSet, IEnumerable`1 layers, Int32 srid)

 The layer - metadata and indexes should be fine, since it works correclty in the GM desktop and also spatial filter work well.

 

Jan