Create minimum bounding rectangle arc for ARCDFAD DSnnnP coverage

Last Published: April 25, 2020


You can use GENERATE with the LINE subcommand to create the Minimum Bounding Rectangle (MBR) for a DSnnnP coverage in preparation for ARCDFAD conversion.


  1. Determine the lowest XMIN and YMIN between the L and P coverages, and the highest XMAX and YMAX between the coverages. You can automate this process with AML.

    /* USAGE: &RUN EXTENTS <cover_1,cover_2,...,cover_n>
    /* PURPOSE: This AML determines the lowest XMIN, the lowest YMIN,
    /* the highest XMAX, and the highest YMAX among a group of
    /* coverages.
    /* NOTES: The <cover_1,cover_2,...,cover_n> argument has a limit
    /* of 4096 characters.
    /* This is not an ESRI supported AML. Please use at your own risk.
    /* Also, please make a backup of your data before running this AML
    /* and carefully check the output. This is just a skeleton AML with
    /* no real error checking. It is meant only as a guide to developing an
    /* AML specific to your data inputs and desired outputs.
    /*Capture the comma delimited list of coverages from &RUN command ...
    &args covlist:REST

    /*Check proper usage ...
    &if [null %covlist%] &then
    &call usage
    &call analyze
    &routine analyze

    /*Get extents of first coverage ...
    &sv covlist = [unquote %covlist%]
    &describe [extract 1 %covlist%]
    &sv .xmin = %DSC$XMIN%
    &sv .ymin = %DSC$YMIN%
    &sv .xmax = %DSC$XMAX%
    &sv .ymax = %DSC$YMAX%

    /*Create a list omitting first coverage ...
    &sv covlist2 = [unquote [after [quote %covlist%] [extract 1 %covlist%]]]

    /*Compare each coverage to previous to determine the lowest extent
    /*minimums and highest maximums ...
    &do i &list %covlist2%
    &describe %i%
    &if %.xmin% > %DSC$XMIN% &then &sv .xmin = %DSC$XMIN%
    &if %.ymin% > %DSC$YMIN% &then &sv .ymin = %DSC$YMIN%
    &if %.xmax% < %DSC$XMAX% &then &sv .xmax = %DSC$XMAX%
    &if %.ymax% < %DSC$YMAX% &then &sv .ymax = %DSC$YMAX%
    &ty The extents for all input datasets are:
    &ty %.xmin% %.ymin% %.xmax% %.ymax%

    &routine usage
    &ty No input coverage(s) specified.
    &ty USAGE: &RUN EXTENTS <cover_1,cover_2,...,cover_n>

  2. Use GENERATE with the LINE subcommand. Create a temporary coverage with the MBR arc using the min and max extents of all data.

    GENERATE tempcov
    <xmin> <ymin>
    <xmin> <ymax>
    <xmax> <ymax>
    <xmax> <ymin>
    <xmin> <ymin>

  3. BUILD the temporary coverage for LINE. This will create the .AAT INFO file.
  4. If any arcs of the DSnnnP coverage have a cover-ID of 1, they will conflict with the MBR arc's ID. You can avoid this by doing the following before using GET:

    CALC the DSnnnP-ID = DSnnnP-ID + 1

  5. In ARCEDIT, make the temporary coverage the edit coverage with EDITFEATURE ARC and GET the DSnnnP coverage arcs. Save the edits and quit.
  6. Store a backup of the DSnnnP coverage outside the workspace to be converted with ARCDFAD. Then COPY the temporary coverage to the ARCDFAD workspace, using the original DSnnnP name.

    DFAD 1-C data has extents that encompass 1 whole decimal degree. For example, a DFAD data set could have an extent such as:

    xmin = 20
    ymin = 30
    xmax = 21
    ymax = 31

    However, the ARCDFAD converter does not check for such an extent. It will convert data even if it has an x and y extent that exceeds or is less than a full decimal degree. Appropriate data extents can be checked in the DFAD format specifications.

Article ID:000002406

  • ArcMap 8 x
  • Legacy Products

Receive notifications and find solutions for new or common issues

Get summarized answers and video solutions from our new AI chatbot.

Download the Esri Support App

Discover more on this topic

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options