Create Polygon Limits

Use Create Polygon Limits to create no-coal polygons and an associated mapfile. You must have the grid model (for example, A.SF) and the associated structural mapfile for that surface loaded. This tells the option which drillholes contain the horizon.

Note:   Do not use Fixmap or quality mapfiles.


Instructions

On the Grid Calc menu, point to Contour and Limit Generation, and then click Create Polygon Limits to display the Polygon panel.

Save into layer

Enter the layer name to which the polygons will be saved. You will be asked for a design database if one is not already open.

Setup

Less than value

Select this option to create closed polygon(s) around all areas of the buffered grid less than the specified amount. Enter the less than value.

Greater than value

Select this option to create closed polygon(s) around all areas of the buffered grid greater than the specified amount. Enter the greater than value.

Total Depth Mapfile

Select this option to create polygons around each hole that pierces the surface, but is not contained in the original structural mapfile. Enter the name of the total depth mapfile. The DF (depth to floor) field is used to determine the length of the drillhole. It does not work for inclined holes.

Mapfile

The following options are only applicable iwhen using a total depth mapfile)

Format

This is the format of the DF column in a non-standard mapfile. Enter the Fortran format statement for the column.

Percent

The polygon is drawn at a specified distance between a hole that pierces the grid floor and one that does not. The Percent specifies where between the holes to draw the polygon. Fifty percent means half way, twenty five percent would create a smaller polygon at a quarter of the distance.

Tolerance

Enter the tolerance. This value specifies how close a hole must come to the surface before a polygon is generated. Zero means it must at least meet the surface. Three means that if it comes in 3 feet (or 3 metres) of the surface it will be considered to intersect the surface. Minus three means it must pass through the surface by at least 3 feet (or 3 metres) before a polygon is generated.

Hole spacing (in grid cell units)

Enter, in grid cell units, the hole spacing. This value specifies what tolerance to use for coincident holes. This is used to determine which holes are the same in the two mapfiles used (it does not rely on hole names), and can also be useful if you have cored holes and rotary holes that are close, where one may not be fully logged. For example, you may say that if a TD hole is in 1 grid cell of a modelled hole, ignore the TD hole.

Hole intersection mapfile ID

Enter an identifier for the mapfile that will be created. The (non-standard) mapfile contains information defining the intersection between the drillhole and the structure floor grid. If the drillhole pierces the floor of the horizon, a value of 1.000 is entered into the Status column. If the floor is not intersected by the drillhole, a 0.000 is computed. See below for an advanced macro and example mapfile that use this option to create limiting polygons for splitting seams.

Depth of weathering grid

Enter the name of a structure grid to ignore the seam where it goes above the DOW (Depth of Weathered) surface.

Ignore short holes

Select this check box to ignore those holes that are not deep enough to penetrate the seam. The option generates polygons half way between the holes that have the seam and those that do not. When a hole is not deep enough to penetrate the seam, there is no information and it is best to ignore it.

Ignore surface mask

Select this option to ignore the surface mask. When unticked holes falling in a masked area of the grid are disregarded.

Advanced

Display polygons

Select this check box to display the polygon(s) on the screen.

Don't save to layer

Select this check box if you do not want to save the polygons to a layer.

Mask grid

Select this check box to mask the buffered grid with the created polygons.

Click OK.


! Filename: doco_seam2exist.gdc_cmnd ! ! @seamexists2 <split1> vsplit2> <merge> <distance> ! !                                                ZU($1) ! Single Seam (Z) Split Environment;  that is,, Z($3)< !                                                ZL($2) ! Description: ! ! This macro generates THREE complete and complimentary sets of polygonal  ! SEAM LIMITS.  The polygons for each seam are saved as EX_<seam> layers  ! in the database TOTAL.DGD. ! ! An EXTRAPOLATION distance ($4) is also factored into the seam limit  ! generation progress.  This distance is the FARTHEST ALLOWABLE SEAM  ! EXISTENCE from a drill hole intercept (as found in the seam mapfile). ! ! This macro also produces a GRID to be used soley as a MASKING grid for  ! the entire GEOLOGICAL model. A SEAM LIMIT polygon is generated, by  ! contouring the 0.5 MASK VALUE (half way between 0(masked) and 1(unmasked) ! from the SEAM EXIST grid).  The "masking" grids are saved using the MK  ! variable, that is,, <seam>.mk, and the mask polygons are named ex_<seam>. ! STEP I - Create a temporary seam split grid for the upper split - zeros on  ! the merged side, ones everywhere else. ! 1) Load the full seam ($3) mapfile data for the SF. Load ONLY the XY data.  !    This causes the Z value to be set to zero.  ! 2) APPEND the upper split ($1) mapfile data for the SF. Load the XYZ data.  !    This loads the unaltered floor values. ! 3) APPEND the lower split ($2) mapfile data for the SF. Load the XYZ data.  !    This loads the unaltered floor values. ! 4) Edit ANY grid to define the graphics area. ! 5) Transform the 2 data sets with the TRUE/FALSE equation. This alters the  !    loaded mapfile data to contain only zero and one values. "p gt 0" changes !    all points with values greater than zero to "1" and leaves all other !    points set to zero. ! 6) The user defined method(EXIST)should utilize the inverse distance modelling !    method, use only one point, have zero trend, smooth, and use model the  !    boundary polygon as the mask. ! 7) Temporarily save the grid as: temp.sp. LOAD_MAPFILE/FILE=$3/VARIABLE=sf/XY LOAD_MAPFILE/FILE=$1/VARIABLE=sf/XYZ/APPEND LOAD_MAPFILE/FILE=$2/VARIABLE=sf/XYZ/APPEND EDIT/EQUATION=topo.tp TRANSFORM_DATA/EQUATION='p gt 0' MODEL/USER_DEFINED/METHOD=EXIST/GRID_SIZE=50 save temp.sp !------------------------------------------------------------------------------ ! STEP II - Generate an    IN/OUT mapfile   "<proj><seam>x.map" for the upper  ! split ($1), representing where the seam DOES and DOES NOT exist. ! 1) Load the structure floor grid for the upper split. ! 2) Load the upper split ($1) mapfile data for the SF. Load the XYZ data.  !    This loads the unaltered floor values. ! 3) APPEND the full seam ($3) mapfile data for the SF. Load the XYZ data.  !    This loads the unaltered floor values. ! 4) Utilize the Graphics/Polygon option to create an IN/OUT mapfile.  !    The new IN/OUT option searches outwardly from each grid node until it  !    finds it's closest DRILLHOLE neighbor. The option then assigns a zero or !    a one the node, depending on whether or not the closest drillhole  !    has the designated seam or not. Name the mapfile: <proj><seam>x.map. EDIT/EQUATION=$1.sf LOAD_MAPFILE/FILE=$1/VARIABLE=sf/XYZ LOAD_MAPFILE/FILE=$3/VARIABLE=sf/XYZ/APPEND POLYGON/TD_FILE=td/NOSAVE/PLOT/IN_OUT_MAPFILE_ID=$1x !------------------------------------------------------------------------------ ! STEP III - Use the "X" mapfile generated above to create a SEAM EXIST grid. ! 1) Load the upper split($1x) IN/OUT mapfile data for the SF. Load the XYZ  !    data.  ! 2) Use the "EXIST" method to model the mapfile data. The "EXIST" method  !    will automatically smooth the grid. ! 3) Mask the new SEAM EXIST GRID with the SPLIT LINE GRID: "temp.sp". This !    shows where the horizon does not exist and where the horizons split. ! 4) Load the upper split ($1) XYZ mapfile data for the SF and mask the GRID  !    from above with the Extrapolation Distance ($4) from each drillhole. ! 5) Save resultant grid as <seam>.mk for later GEOMODEL masking. LOAD_MAPFILE/FILE=$1x/VARIABLE=sf/XYZ MODEL/USER_DEFINED/METHOD=EXIST/GRID_SIZE=50 MASK/AREA_MASK/EQUATION='z gt 0.5 and temp.sp gt 0.5' LOAD_MAPFILE/FILE=$1/VARIABLE=sf/XYZ MASK/DISTANCE=$4 save $1.mk !------------------------------------------------------------------------------ STEP IV - Generate and save a seam EXIST polygon from the <seam>.mk grid. ! 1) Open an existing design database for saving the polygons. ! 2) Delete any pre-existing layer named: ex_<seam>. ! 3) Use the Graphics/Contour option to generate a grid mask and a closed !    contour(polygon) which is half the distance between zero(masked) and !    one(unmasked). Layer name is: ex_<seam>. ! 4) Close the design database. DESIGN_DB_ACCESS/OPEN_DATABASE/AREA=TOTAL DESIGN_DB_ACCESS/DELETE_LAYER/LAYER_AND_OBJECT=(ex_$1) CONTOUR/LEVEL=(0.5)/MASK/POLYGON/PLOT/GREATER/SAVE=(ex_$1,cn0.5) DESIGN_DB_ACCESS/CLOSE_DATABASE !------------------------------------------------------------------------------ ! STEP V -- model the lower split, $2 ! Generate an IN/OUT mapfile "<proj><seam>x.map". (See STEP II above) EDIT/EQUATION=$2.sf LOAD_MAPFILE/FILE=$2/VARIABLE=sf/XYZ LOAD_MAPFILE/FILE=$3/VARIABLE=sf/XYZ/APPEND POLYGON/TD_FILE=td/NOSAVE/PLOT/IN_OUT_MAPFILE_ID=$2x ! Use the "$2x" mapfile to create a "SEAM EXIST" grid. (See STEP III above) LOAD_MAPFILE/FILE=$2x/VARIABLE=sf/XYZ MODEL/USER_DEFINED/METHOD=EXIST/GRID_SIZE=50 ! Mask with the pre-existing Split Line Grid: "temp.sp" (See STEPS I & III) MASK/AREA_MASK/EQUATION='z gt 0.5 and temp.sp gt 0.5' ! Mask with $4 Extrapolation Distance. LOAD_MAPFILE/FILE=$2/VARIABLE=sf/XYZ MASK/DISTANCE=$4 ! Save resultant grid as <seam>.mk for later GEOMODEL masking. save $2.mk ! Generate a seam EXIST polygon (See STEP IV above) DESIGN_DB_ACCESS/OPEN_DATABASE/AREA=TOTAL DESIGN_DB_ACCESS/DELETE_LAYER/LAYER_AND_OBJECT=(ex_$2) CONTOUR/LEVEL=(0.5)/MASK/POLYGON/PLOT/GREATER/SAVE=(ex_$2,cn0.5) DESIGN_DB_ACCESS/CLOSE_DATABASE !------------------------------------------------------------------------------ ! STEP VI -- model the full merged portion of the seam ($3). ! Generate an IN/OUT mapfile "sm98<seam>x.map" EDIT/EQUATION=$3.sf LOAD_MAPFILE/FILE=$3/VARIABLE=sf/XYZ LOAD_MAPFILE/FILE=$1/VARIABLE=sf/XYZ/APPEND LOAD_MAPFILE/FILE=$2/VARIABLE=sf/XYZ/APPEND POLYGON/TD_FILE=td/NOSAVE/PLOT/IN_OUT_MAPFILE_ID=$3x ! Use the "3x" mapfile data to create a seam EXIST grid. LOAD_MAPFILE/FILE=$3x/VARIABLE=sf/XYZ MODEL/USER_DEFINED/METHOD=EXIST/GRID_SIZE=50 ! Mask with Split Line Grid: "temp.sp" MASK/AREA_MASK/EQUATION='z gt 0.5 and temp.sp le 0.5' ! Mask with Extrapolation Distance. LOAD_MAPFILE/FILE=$3/VARIABLE=sf/XYZ MASK/DISTANCE=$4 ! Save resultant grid as <seam>.mk for later GEOMODEL masking. save $3.mk ! Generate a seam EXIST polygon DESIGN_DB_ACCESS/OPEN_DATABASE/AREA=TOTAL DESIGN_DB_ACCESS/DELETE_LAYER/LAYER_AND_OBJECT=(ex_$3) CONTOUR/LEVEL=(0.5)/MASK/POLYGON/PLOT/GREATER/SAVE=(ex_$3,cn0.5) DESIGN_DB_ACCESS/CLOSE_DATABASE CLOSEGRIDS

! Filename: docostartseam2exist.gdc_cmnd ! ! DSR:11/11/98 ! ! This macro starts the "doco_seam2exist.gdc_cmnd" macro. ! $4 is equal to 100 metres. @doco_seam2exist.gdc_cmnd hw 100 @doco_seam2exist.gdc_cmnd ht 100 @doco_seam2exist.gdc_cmnd hl 100

Below is the resultant in/out mapfile. Column 6 indicates the depth from collar to intersection of drillhole and SF. Column 7 indicates how far it is from the intersection to TD. Column 8 indicates the structural depth at intersection. Column 9 shows if a seam is present (1= present, 0 = absent).

*  ID   |     LX    |    LY     |   HZ  |   LC  |  C2   |  C3   |  SR   |  SF   | * Hole  | Easting   | Northing  |  Seam | Collar|DIntsct| Miss  | Intsct| Status| DH001     564253.000 3748074.000         236.430   3.069  54.461 233.361   0.000 DH002     564436.000 3748074.000         254.230  14.115  61.185 240.115   1.000 DH003     564070.000 3748074.000         220.800  -6.694  60.944 227.494   1.000 DH004     564985.000 3747891.000         240.550  37.793  54.867 202.757   0.000 DH005     563887.000 3747891.000         216.160   1.785  57.195 214.375   0.000 DH006     564070.000 3747891.000         218.720  -6.312  52.033 225.033   1.000 DH007     564438.000 3747891.000         228.300 -19.942  50.902 248.242   1.000 DH008     564619.000 3747891.000         224.760  -8.574  48.804 233.334   1.000 DH009     563887.000 3747708.000         210.920  -4.931  53.391 215.851   1.000 DH010     564619.000 3747708.000         230.400   9.855  49.885 220.545   1.000 DH011     564802.000 3747708.000         238.510  28.138  55.072 210.372   1.000 DH012     564070.000 3747708.000         214.820 -26.623  47.193 241.443   1.000 DH013     564436.000 3747708.000         223.020 -15.056  48.356 238.076   1.000 DH014     564070.000 3747526.000         220.830 -13.4  46.792 234.222   1.000 DH015     564802.000 3747526.000         240.490  31.150  50.970 209.340   1.000 DH016     564802.000 3747343.000         247.680  29.416  64.014 218.264   1.000 DH017     564253.000 3747708.000         224.490 -14.631  50.341 239.121   1.000 DH018     564619.000 3747343.000         243.810  24.224  50.296 219.586   1.000 DH019     564436.000 3747526.000         234.540   6.584  48.446 227.956   0.000 DH020     564436.000 3747343.000         232.140   4.900  51.790 227.240   0.000 DH021     564253.000 3747526.000         230.310 -12.685  49.235 242.995   1.000 DH022     564253.000 3747343.000         224.490  -9.458  47.258 233.948   1.000 DH023     564070.000 3747343.000         222.230 -16.965  45.315 239.195   1.000 DH024     563796.000 3747343.000         214.880   2.037  45.103 212.843   0.000 DH025     563979.000 3748257.000         235.670  35.241  53.429 200.429   1.000 DH026     563796.000 3747526.000         213.000   9.511  51.909 203.489   1.000 DH027     563887.000 3748074.000         230.900  47.621  32.949 183.279   1.000 DH028     564162.000 3747160.000         218.470 -12.449  48.489 230.919   1.000 DH029     564527.000 3747160.000         241.510  22.881  47.829 218.629   1.000 DH030     564345.000 3746794.000         232.250  -6.427  49.097 238.677   1.000 DH031     564345.000 3746977.000         235.900  16.992  35.588 218.908   0.000 DH032     564162.000 3746428.000         217.530  -9.166  52.446 226.696   1.000 DH033     563979.000 3746794.000         214.140  -5.522  47.732 219.662   1.000 DH034     564162.000 3748257.000         229.450   6.268  57.912 223.182   0.000 DH035     564527.000 3748257.000         258.070  20.370  60.300 237.700   0.000 DH036     564527.000 3748074.000         261.270  14.592  48.198 246.678   0.000 DH037     564756.000 3747882.000         229.210   8.652  47.348 220.558   0.000 DH038     564992.000 3747688.000         248.500  48.389  58.741 200.111   0.000 DH039     564223.875 3747859.250         230.200 -21.724  50.324 251.924   1.000 DH040     563922.500 3746648.250         203.900  -6.727  52.727 210.627   1.000 DH041     564965.812 3747499.250         250.000  54.519  55.671 195.481   0.000 DH042     565064.000 3747602.000         258.200  76.840  54.260 181.360   0.000 DH043     563896.000 3747160.000         199.400 -25.178  47.178 224.578   1.000 DH044     563896.000 3746977.000         208.100 -12.061  49.811 220.161   1.000 DH045     564790.000 3747186.000         258.500  48.394  45.696 210.106   0.000 DH046     564096.000 3746977.000         218.700  -5.659  46.459 224.359   1.000 DH047     563707.312 3747162.000         212.800   2.595  48.755 210.205   0.000 DH048     564096.125 3746794.000         221.900  -4.817  52.417 226.717   1.000 DH049     563996.000 3746428.000         214.700  -1.684  53.684 216.383   1.000 DH050     563679.875 3746977.250         196.600 -12.394  50.894 208.994   1.000 DH051     563796.000 3746428.000         216.300   5.189  55.451 211.111   0.000 DH052     563696.000 3746794.000         197.700  -8.170  51.170 205.870   1.000 DH053     563379.125 3746428.000         200.600  -5.683  54.093 206.283   1.000 DH054     563496.000 3746611.000         196.500  -0.886  50.126 197.386   1.000 DH055     564319.375 3746611.000         223.900  -8.062  48.262 231.962   1.000 DH056     563696.000 3746611.000         203.500  -2.830  48.580 206.330   1.000 LMW36C    564575.000 3747500.000         230.400   9.992  49.748 220.408   1.000 ONE       564250.000 3747250.000         218.470 -13.024  43.954 231.494   1.000