You can use refFunctions (http://plugins.qgis.org/plugins/refFunctions/) plugin that extends Field Calculator with a new Reference group. Within this group you will find a geomnearest and a geomdistance function that can help you.
copy and paste from helper screen: geomnearest function Retrieve target field value from the nearest target feature in target layer Syntax geomnearest(targetLayer,targetField) Arguments targetLayer → the name of a currently loaded layer, for example 'myLayer'. targetField → a field in target layer we want as result when source feature is within target feature, for example 'myField'. If targetField is equal to '$geometry' The WKT geometry of targetFeature willbe retrieved. If otherwise is equal to '$distance' the calculated distance between source and target features will be returned Number of feature tested is limited to 100000 to avoid time wasting loops Example geomnearest('targetLayer','TargetField') geomnearest('targetLayer','$geometry') geomnearest('targetLayer','$distance') 2015-01-15 11:19 GMT+01:00 Junior Delaz <del...@gmail.com>: > Hi all, > > I have two shapefiles : a line one (called "section") and a point one > (called "station") shapefiles. > The line shapefiles has fields like ID_section, ID_first, ID_last > The point file has an ID_station. > All these define a kind of network where a section begins on a station and > ends up at another station. > What I need to do is to fill : > - section ID_first field with the ID_station of the station that is the > closest to the beginning of the section > - and section ID_last field with the ID_station of the closest station to > the end of the line. > > I can obtain this result while combining many analysis tools and plugins > (QChainage, Spatial_Join...). I know how I can do it. There might be a way > with processing tools and if somebody has an idea, I'll be glad to know it > however. > > But what I'm really wondering is if it isn't directly possible to fill > these fields in the Field calculator using all the nice functions we have. > Indeed, QGIS 2.6 and RefFunctions plugin give relational fonctions to > retrieve values on a specific layer according to its fields, features > values or localisation. > I tried many combinations with db_query, geomnearest, geomRedef, xat/yat, > buffer, geometry, within , attribute (not all at the same time :) ).... I'm > pretty sure it's possible but I can't find. And I don't want to lose all my > hair... > > Does anybody know how I can retrieve in a line shapefile's field the value > of the point feature that is the closest to the first vertex of this line, > within the field calculator? > > Thanks ... >
_______________________________________________ Qgis-user mailing list Qgis-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-user