I have a simple win form app with a map control on it. The map has a layer (MADtedLayer) that was initialized from a catalog in a personal database (Access). The files displayed are DTED. I need to be able somehow to detect the file names of the currently visible files (that is, the files that intersect with the current extent of the map)

Opening the database with MSAccess, I see that for the catalog, there are 2 tables, "MyCatalog" and "MyCatalog_Shape_Index". In table "MyCatalog_Shape_Index" there are 5 fields, "IndexedObj","MinGX",MinGY","MaxGX","MaxGY". I suppose that maybe I could make use of them but I cannot understand what those fields represent or how their values are calculated.

For example, for a file with LowerLeft=19.00'00" - 34.00'00" and UpperRight=20.00'00" - 35.00'00" I get MinGX = 51001618, MinGY=91266936, MaxGX=53688209 and MaxGY=93953528.


It's been a while since I've worked with this, but I think you should be able to cast this layer to an IFeatureLayer. This is essentially a polygon featurelayer whose polygons represent extents of each raster in the catalog. I think there are fields on the featurelayer (or the featurelayer's featureclass) that have the path to each file, along with scale thresholds. That means you should be able to use an ISpatialFilter to query the featurelayer using the current extent as a query geometry, and scale thresholds in a where clause to find all features intersecting the current extent that are visible. Each feature should have an IField for the dataset path.

I'd avoid doing anything in Access. Also, if you have desktop (arcmap) it sure would be easier to examine this data.

  • Cast the layer to IFeatureLayer and perform a spatial query with current extent as criteria. That was the solution I was looking for. Thanx alot good man, take some reputation as reward! – Exile79 Aug 31 '11 at 15:24

Your Answer

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

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