Mostrado en

Permite a los usuarios realizar análisis y detección capa por capa mediante la visualización de imágenes dentro de imágenes, es decir, refinamiento capa por capa. Si el mapa contiene capas de refinamiento, los usuarios pueden obtener información más detallada sobre un área del mapa señalando y haciendo clic con el mouse. Profundizar en capas proporciona una interfaz intuitiva y fácil de usar que permite a los usuarios explorar datos especificando y haciendo clic.

Refinar una aplicación capa por capa requiere una buena cantidad de configuración y preparación cuidadosa. Los principales pasos de desarrollo se resumen a continuación:

1) Obtener varias tablas utilizadas para establecer capas de refinamiento multinivel y capa por capa. Las tablas se pueden crear utilizando MapInfo Professional o comprarse a MapInfo Corporation o a un proveedor externo (Raman et al., 2003).

2) Cree una nueva tabla granular vacía capa por capa (archivo de pestañas) con columnas especiales y metadatos especiales. Los metadatos asignan un nombre jerárquico a cada tabla miembro e identifican columnas importantes en la tabla miembro: la columna ID y la columna título.

3) Agregue la tabla de refinamiento capa por capa al mapa (por ejemplo, agregue la tabla de refinamiento capa por capa a los Geoset(s) utilizados, o agregue la tabla de refinamiento capa por capa tabla de refinamiento a través de un método como Layers.Add table se agrega al mapa).

4) Agregue elementos de la interfaz de usuario (como botones de la barra de herramientas) a la aplicación para que los usuarios puedan seleccionar la herramienta de refinamiento capa por capa y hacer clic en el mapa para refinar.

Agregue código a la aplicación para responder al uso de la herramienta capa por capa por parte de los usuarios (es decir, escriba un administrador de jerarquía). Este código necesita detectar la primitiva seleccionada por el usuario; determinar la subprimitiva de la primitiva de reemplazo y llamar a algunos métodos (DrilldownRemoveFeatures, DrilldownAddFeatures) para expandir o contraer la primitiva del mapa.

Para crear una capa de desglose, proporcione una colección de tablas que consta de dos o más tablas MapInfo. Requerido específicamente: cada nivel de información detallada requerida para refinar la capa capa por capa requiere una tabla MapInfo, estas se denominan tablas miembro; habrá tablas vacías adicionales que contienen metadatos especiales para describir las tablas miembro, que se denominan Refinar la capa de la tabla por; capa.

Por ejemplo, el "Ejemplo de tabla de refinamiento nivel por nivel" contiene jerarquías de palabras clave como "\DDMap\ComponentMaps\One\LevelID" y "\DDMap\ComponentMaps\Twox\LevelID". Tenga en cuenta que DDMap, ComponentMaps y LevelID son partes estándar y obligatorias de la jerarquía de palabras clave, mientras que One y Twox son personalizables. Puede utilizar cualquier nombre de palabra clave que desee en lugar de One, Twox, Twoxx, etc.; esos nombres de palabras clave son solo el conjunto de palabras clave utilizadas para distinguir cada tabla de miembros. La Figura 6.21 es la visualización de imagen en imagen.

Figura 6. 21 Ventana Imagen en imagen

Para una implementación específica, consulte el código detallado a continuación:

Atenuar m_Layer como capa

Atenuar m_Fea como MapXLib. Feature

Sub form_Load( )

Establecer m_Layer = Map2. Sub

Sub Map1_MapViewChanged( )

Atenuar tempFea como característica MapXLib.

Atenuar tempPnts como puntos MapXLib

Atenuar tempStyle como MapXLib. . Estilo

Si m_Layer.AllFeatures. Count = 0 Entonces

Establezca tempStyle = Nuevo estilo MapXLib

tempStyle = miPatternNoFill. >tempStyle. RegionBorderColor = 255

tempStyle. RegionBorderWidth = 2

Establecer tempFea = Map2 CreateRegion( Map1. Bounds, tempStyle)

Establecer m_Fea. m_Layer( tempFea)

De lo contrario

Con m_Fea. Item( 1)

Eliminar todo

. Límites. YMin

. Agregar límites XY. Agregar límites XY1. p>

Atenuar MapX como doble

Atenuar MapY como doble

Map2 ConvertCoord X, Y, MapX, MapY, miScreenToMap

Map1. MapaX

Mapa1 CentroY = MapaY

Fin Sub