Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I have two vector layers: one point and one polygon and I want to calculate the minimum distance of each point from the polygons (ie the distance from the closest point of the closest polygon). Is there any available plugin in QGIS for doing this? Thanks!

share|improve this question
you mean polygon vertices, the centroid or something else? –  lynxlynxlynx Jun 22 '12 at 20:35
This task would be better handled by postgis. –  Pablo Jun 23 '12 at 0:03
I mean the distance from the borders of the polygon (actually it's the distance of observed seabirds in the sea from the coastline that I want to calulate) –  Sylvia Jun 23 '12 at 10:49
Pablo, unfortunately I don't know how to use PostGIS and I can't write code... –  Sylvia Jun 23 '12 at 11:05

3 Answers 3

Try Hub Distance in the mmqgis plugin.


Lets know how you go with it!

share|improve this answer
Hub distance did the job, but for the record, I first converted the polygon into a point layer and calculated the minimum point-to-point distances. With the polygons it was calculating the minimum distance from the centroids or the middle of the coastal boundary –  Sylvia Jun 23 '12 at 13:58

First convert the polygon to points:

Vector -> Geometry Tools -> Extract Nodes

Add this new layer, then calculate a distance matrix between your points layer and the new polygon-points layer you just created

Vector -> Analysis Tools -> Distance Matrix

Be sure to choose "Use only the nearest (k) target points" as 1

share|improve this answer

If you want to use QGIS, the GRASS v.distance function in the GRASS plugin should do the job. The NNJoin plugin should work for small datasets, and is less cumbersome to use.

The NNJoin plugin uses the QgsGeometry.distance() function (which uses the GEOSdistance) to calculate the distances.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.