-
BufDist: Influence areas (buffers) and distance maps generation
Access this help text as a web page: BufDist
Presentation and options
The application allows the creation of both continuous distance maps (raster result) and influence maps (buffers) at a specified distance from the target entities (raster and vector result).
Influence areas (buffers):
Generates influence areas (buffers) at a certain distance around predefined entities in a raster or vector file. The entities that are used to calculate distances, and hence to generate the influence areas are called "target entities". The program generates influence areas and not a distance map due to the presence of "LowBufferLim" in the syntax.
Distance maps:
Generates continuous distance maps (raster result) at a specified distance from the target entities. The entities that are used to calculate distances are called "target entities".
The target entities can be raster or vector. If they are raster then any
cell with a value different from NoData is taken as a target cell. For the
vector case, any entity (point, line or polygon) is taken as a target
entity (in raster treatment in influence areas of vector files it is also possible
to choose only those vector entities with a certain attribute). For rasters,
in order to use only certain elements as the target entities it is necessary
to first either carry out an attribute query from MiraMon and to save the
result in a new file or to use CalcImg. Similarly if
a lot of processing is required with many files then the target entity
selection process can be performed automatically either from CalcImg or from
VecSelec.
The result of an influence area can be either in raster
or vector format; When the result is a vector file, it is possible to perform a
full vector treatment or a raster treatment where the result is the
vectorization of rasters, therefore, the parameters that define the
temporary raster extent are needed. Whenever an influence area is requested
and the input file is a raster, the application starts by generating a distance
map and then selects the areas within the specified distances. It is also possible to run subsequently the GenVPol application in order to smooth the edges of the obtained influence areas.
In the rasters model, distances are calculated by the SHORTEST
ROUTE from the center of each cell to the center of the nearest target cell. When necessary this requires
calculations of geodesic curvature.
The distances are expressed in the units of the reference system (see
however the section IMPORTANT NOTES, below).
Unlike other GIS programs, that calculate with single precision numbers
and so loose accuracy with small cells or very large coordinate values,
BufDist uses double precision numbers and optimized processing of numerical
values so that the distances calculated are correct even in very large files
(with many rows and columns). We have found that even in files with 341 rows
x 341 columns and a cell size of 50 m in UTM projection, our results differ
from other programs by up to 10 cells; other programs detected the wrong
cells as the closest and gave erroneous distance values of up to 3.3 m.
If a continuous distance map is requested:
- The output file is raster (IMG) and "real".
- The title of the output file is converted into "Distances derived
from FILE " (where FILE is the name of the file containing the target
entities).
If an influence area is requested:
- The output file is either raster "byte-RLE" or vector of
topologically-structured polygons.
- The title of the output file is converted into "Areas at a
distance between [N,M] UNITS from the entities FILE" (where N and M
are the minimum and maximum distances considered, respectively, UNITS are
the units of the reference system and FILE is the name of the file
containing the target entities). N and M define a closed interval.
- The legend of the output layer contains the following values:
- 1: "Original target entities"
- 2: "Areas at distances [M,N] UNITS"
- 3: "Excluded areas"
or, when M=0:
- 1: "Original target entities"
- 2: "Areas at distances <= N UNITS"
- 3: "Areas at distances > N UNITS"
- The result of a vector treatment is a polygon file that inherits point
or arc attributes. If an interval of an influence area [M,N] (where M is different from
0) has been requested, an additional attribute (BUFFER field) is added
containing one of the following values:
- i: Inner zones to the influence area, it means, with distance lower that
M.
- b: Influence areas, it means, with distance between M and N.
In this case, areas at distances > N are grouped to the polygon
0 and they have no attributes.
IMPORTANT NOTES: In cartographic projections like UTM, Gauss,
Lambert Conic or any other projection that is reasonably equidistant in all
directions, the distances are expressed in the reference system units, which
normally results in straightforward decisions about the distances in the
calculation.
However, in some map projections with a marked asymmetry in the projected
distances -Mercator, Equirectangular "lat/long", etc-, the
calculations could have significant errors if the distances are calculated
as Cartesian (rectangular), due to the characteristics of the projection
itself. For this reason BufDist makes appropriate corrections when it
detects "Mercator", "Equirectangular"
(latitude/longitude in degrees), etc so that the results are more
realistic.
If for cases of approximately equidistant projections (eg UTM)
centimetric precision is required, then it is possible to force the application
to calculate distances with high precision by selecting the parameter
/DIST_GEOD=1. With this procedure the results are practically identical, in
the case of UTM, to applying the linear deformation factor (K) to the
distance calculations (see for example, Estruch 1996, page. 93, for a
numerical example).
- Estruch, M. (1996) "Cartografía minera" Ediciones UPC.
Barcelona. 238 p. ISBN: 84-89636-0208
Bear in mind, however, that the calculation of distances is MUCH SLOWER
when /DIST_GEOD=1 is selected.
As already stated, for projections of the type "Mercator" and
"Equirectangular" the distances are always calculated as though
/DIST_GEOD=1 was chosen, since otherwise the results would be unrealistic.
If however the user wishes to force the application to use Cartesian and not
geodesic distances then select /DIST_GEOD=0.
Unless explicitly indicated, BufDist does not consider circularities in
the calculations (i.e. when maps represent the whole Earth it does not consider that the extreme left and right (west and east) are
close together, and it calculates on a flat map). If distances are to be
calculated over the whole globe then it must be used the /MAPAMUNDI parameter in order to consider circularities when using BufDist. Before using /MAPAMUNDI, it must be considered:
- The application will run MUCH SLOWER, so it may be worth obtaining a quick
tentative result first without this parameter.
- The /MAPAMUNDI parameter has no effect if the /DIST_GEOD is not
activated (/DIST_GEOD=0) (eg, in Cartesian distances it is of no
use).
In summary, and to highlight the main points, remember that BufDist
calculates Cartesian coordinates over the reference system and it carries
out rigorous geodesic calculations for the cases on "Mercator" or
"Equirectangular" projections (in these special cases a message is
shown on the screen indicating that the appropriate corrections are being
performed). It also carries out rigorous geodesic calculations when this is
explicitly requested using /DIST_GEOD=1.
If using a projection that is neither UTM nor Mercator nor
Equirectangular, check that the projection allows cartesian distances to be
calculated without significant errors. If necessary, consult suport@miramon.uab.cat.
More information can be consulted at the following reference:
Pesquer L, Pons X, Masó J (2005) Necesidad de cálculos geodésicos para las herramientas SIG de análisis de distancias y superficies. 6th Geomatic Week proceedings (ISSN 1699-3489). Barcelona.
Finally, it should be noted that in other popular software, the vector result can be wrong with regard to the attributes of the polygons generated in the influence areas mode. Indeed, when the influence areas of two or more target entities with different attributes overlap, these softwares do not allow to know of which target entity the influence area comes from and end up generating erroneous results as they are awarded wrong attributes in the influence areas - those attributes are further away than indicated as an influence area.
Dialog box of the application
|
Principal Component Analysis dialog box |
Syntax
Syntax:
- BufDist TargetEntitiesFile BufferFile LowBufferLim UpBufferLim [/DIST_GEOD] [/MAPAMUNDI] [/TRACT_RASTER] [/TAULA] [/CAMP] [/REPE] [/OPER_DIANA] [/ATR_DIANA] [/XMIN] [/XMAX] [/YMIN] [/YMAX] [/COSTAT] [/TOLERANCIA] [/ALGORISME]
- BufDist TargetEntitiesFile DistanceFile [/DIST_GEOD] [/MAPAMUNDI] [/TRACT_RASTER] [/TAULA] [/CAMP] [/REPE] [/OPER_DIANA] [/ATR_DIANA] [/XMIN] [/XMAX] [/YMIN] [/YMAX] [/COSTAT] [/TOLERANCIA]
Parameters:
- TargetEntitiesFile
(Raster or vector file containing the entities from which the distances are to be calculated -
Input parameter): The target entities can be raster or vector. If they are raster then any cell with a value different from NoData is taken as a target cell. For the vector case, any entity (point, line or polygon) is taken as a target entity, (in raster treatment in influence areas of vector files it is also possible to choose only those vector entities with a certain attribute). For rasters, in order to use only certain elements as the target entities it is necessary to first either perform an attribute query from MiraMon and to save the result in a new file or use CalcImg. Similarly, if a lot of processing is required with many files, then the target entity selection process can be performed automatically either from CalcImg or from VecSelec.
- BufferFile
(Areas at a distance between [N,M] UNITS from the entities FILE -
Output parameter): The output file is either raster "byte-RLE" or vector of topologically-structured polygons. The result of influence areas can be either in raster or vector format; When the result is a vector file, it is possible to perform a full vector treatment or a raster treatment where the result is the vectorization of rasters, therefore, the parameters that define the temporary raster extents are needed.
- LowBufferLim
(Lower limit of the influence area -
Input parameter): Lower distance limit used to perform the influence area. The program generates an influence area and not a distance map due to the presence of "LowBufferLim" in the syntax.
- UpBufferLim
(Upper limit of the influence area -
Input parameter): Upper distance limit used to perform the influence area.
- DistanceFile
(Distances derived from FILE -
Output parameter): The output file is raster (IMG) and "real".
Modifiers:
/ALGORISME=
(Algorithm)
This parameter is used to determine the type of internal algorithm that the application will use to generate the influence areas. - ESCOMBRATGE: Based on the intersection of segments Bentley-Ottmann.
- DIRECTE: Based on the exploration of all segments against all segments to determine the intersections between vectors in the topological structuration.
- AUTOMATIC: MiraMon automatically decides which of the two algorithms will be used.
(Input parameter) /DIST_GEOD= (Cartesian or geodesic calculation) For Cartesian calculation of distances set to 0, for geodesic distances set to 1. If not set (automatic mode) the program will decide based on the type of map projection of the file. (Input parameter) /MAPAMUNDI (Circularity consideration) Indicates whether to consider circularity. Necessary for calculating distances over the whole globe. The parameter /DIST_GEOD=1 must be set for this to work. (Input parameter) /TRACT_RASTER (Raster treatment) Forces a raster treatment for point or arc files and vector result. By default a full vector treatment is made. (Input parameter) /TAULA= (Indicate the table) Indicate the table of the selected database. In REL1 it is mandatory for structured files. For more information on the values of these parameters refer to the document general syntax. (Input parameter) /CAMP= (Indicate the field) Indicate the field of the selected database. It is mandatory for structured files. For more information on the values of these parameters refer to the document general syntax. (Input parameter) /REPE= (Indicates the record in multirecord case) Indicates which record is used when there is more than one record for a graphic identifier (multiple record). For more information on the values of this parameter refer to the document general syntax. (Input parameter) /OPER_DIANA= (Limit the target entities) May be EQ or NO_EQ in order to limit the target entities to just those that have attributes equal to, or not equal to, the /ATR_DIANA= attribute. /ATR_DIANA= is the attribute that defines the logical condition used to limit the values of the candidates for the target entities. (Input parameter) /ATR_DIANA= (Attribute) Is the attribute that defines the logical condition used to limit the values of the candidates for the target entities. (Input parameter) /XMIN= (Coordinate X minimum) Coordinate X minimum of the extent of the output raster, or of the temporary raster which will give the resulting vector file, when TargetEntitiesFile is a vector layer. (Input parameter) /XMAX= (Coordinate X maximum) Coordinate X maximum of the extent of the output raster, or of the temporary raster which will give the resulting vector file, when TargetEntitiesFile is a vector layer. (Input parameter) /YMIN= (Coordinate Y minimum) Coordinate Y minimum of the extent of the output raster, or of the temporary raster which will give the resulting vector file, when TargetEntitiesFile is a vector layer. (Input parameter) /YMAX= (Coordinate Y maximum) Coordinate Y maximum of the extent of the output raster, or of the temporary raster which will give the resulting vector file, when TargetEntitiesFile is a vector layer. (Input parameter) /COSTAT= (Cell Sizes) Defines the cell size for the output or temporary raster when TargetEntitiesFile is a vector layer. (Input parameter) /TOLERANCIA= (Tolerance) Is the maximum error when a arc of circle is translated to a vertices sequence, in the vector treatment for influence areas. Only applies if TargetEntitiesFile is a vectorial layer and the treatment is also vectorial. (Input parameter)
How to know what type of algorithm use in advanced options? (optional modifier /ALGORITME=)
Go to general syntax for more information.