api:dk11:delphi:gislayervector.tgis_layervector.locateex_tgis_point_double_tgis_uid_double_integer_tgis_point

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

Locate a shape (more precise).

// Delphi public 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 public: 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.

2018/02/17 00:09