How To: Determine what features are in a LIBRARIAN layer from ArcPlot
Instructions provided describe how to determine what features are in a Librarian layer from ArcPlot.
Use the [show location] AML function to determine the path to the library database directory and move the path to an AML variable:
Arcplot: &s library_location [show location cirlib]
Arcplot: &type %library_location%
The INFO directory, %library_location%/INFO, contains two files: LAYERS and INDEX.PAT. The LAYERS file has two items NAME and COVERAGE. NAME contains the layer's name and COVERAGE contains the map section name.
Use the ArcPlot RESELECT INFO command on the LAYERS file to reselect the layer. Then use the AML functions [EXTRACT] and [SHOW SELECT] to move the map section name into an AML variable.
Next determine the path to a tile containing a map section. Tiles lacking data for the layer, also lack a map section. The layer item in the INDEX.PAT is coded 'P' when a map section is present in the tile. The INDEX.PAT item LOCATION is coded with the path to each tile directory. The ArcPlot RESELECT command can be used to select tiles with data. [SHOW SELECT] can be used to reduce the reselected tiles to just one. Use the AML functions [EXTRACT] and [SHOW SELECT] to move the path of the one reselected tile into another AML variable. Next, do an AML &DESCRIBE on the map section.
Arcplot: &describe %path_to_tile%/%mapsection_name%
&DESCRIBE sets DSC$ variables with the number of features in the map section. Test to see if the feature is in the map section. To test for arcs:
&IF %DSC$ARCS% GT 0 &THEN &TYPE 'The map section has arcs.'
The LIBRARIAN command LAYERINFO determines what features are in a layer. In the following example, the library layer ROUNDS has polygons topology and arcs.
Librarian: layerinfo rounds
Layer Name: ROUNDS
Coverage Name: rounds
Your Access: Administrator
Polygons with attributes
Librarian: show layerinfo rounds
Librarian: &type [show layerinfo rounds]