Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

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.

Any help or clarification would greatly appreciated.

share|improve this question
add comment

1 Answer 1

up vote 3 down vote accepted

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.

share|improve this answer
    
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
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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