User Tools

Site Tools


Table of Contents

TGIS_LayerVector.LocateEx(TGIS_Point; Double; TGIS_Uid; Double; Integer; TGIS_Point) method

DK11 for Delphi | GisLayerVector.TGIS_LayerVector.LocateEx | Overloads | Constructors | Fields | Methods | Properties | Events

Locates a shape (more precise).

Available also on: .NET | Java | ActiveX.


// Delphi
  function LocateEx(
    const _ptg : TGIS_Point;
    const _prec : Double;
    const _uid : TGIS_Uid;
    var _dist : Double;
    var _part : Integer;
    var _proj : TGIS_Point
  ) : TGIS_Shape; overload; virtual;
// C++ Builder
  virtual TGIS_Shape* LocateEx(
    TGIS_Point* const _ptg,
    const double _prec,
    TGIS_Uid* const _uid,
    double &_dist,
    int &_part,
    TGIS_Point* &_proj
  ) /* overload */;


Name Type Description
_ptg TGIS_Point reference point /searching point/ if the layer has been attached to the Viewer then expected _ptg units are in a Viewer coordinate space; otherwise expected _ptg units are in a Layer coordinate space
_prec Double precision /not a longer distance than/; point inside a polygon is always not greater than _dist; if _prec is less then 0, then being outside/inside polygon means the same _prec units are calculated same way as _ptg
_uid TGIS_Uid Uid of reference shape or -1; thanks to this, is possible to find nearest shape, excluding shape given by _uid.
_dist Double reached distance between _pt and shape in Result; for points inside the polygon (if _prec >= 0) the distance will be multiply by 0.95 (to prefer points inside the polygon) but will not be bigger then _prec; for point distance will be multiplied by 0.9 to prefer points over lines and polygons _dist units are calculated same way as _ptg
_part Integer number of the part closest to a given point
_proj TGIS_Point point projected to the nearest element of a shape


Type Description
TGIS_Shape Found shape or nil.


Use this method to locate a shape that is near _ptg but also on _prec distance. It finds a shape using FindFirst method in extent corrected by _prec and _ptg params.

See Locate for example.

If no shape is found on a layer, the searcher takes into account labels registered by the allocator (by extent). In order to disable this behavior, _visible must be set to False.

2020/05/07 01:09

Page Tools