Exemplo n.º 1
0
 def createdistancearea(self):
     distancearea = QgsDistanceArea()
     dest = self.canvas.mapSettings().destinationCrs()
     distancearea.setSourceCrs(dest, QgsProject.instance().transformContext())
     ellispoid = QgsProject.instance().readEntry("Measure", "/Ellipsoid", GEO_NONE)
     distancearea.setEllipsoid(ellispoid[0])
     return distancearea
def get_distance(pnt1, pnt2, epsg_code):
    """
    :param pnt1: QgsPoint object
    :param pnt2: QgsPoint object

    :returns the distance between pnt1 and pnt2
    """
    # Create a measure object
    distance = QgsDistanceArea()
    crs = QgsCoordinateReferenceSystem()
    # Sets this CRS by lookup of the given PostGIS SRID in the CRS database.
    crs.createFromSrid(epsg_code)
    context = QgsProject.instance().transformContext()
    distance.setSourceCrs(crs, context)
    if epsg_code == constants.EPSG_WGS84:
        distance.setEllipsoid("WGS84")
    return distance.measureLine(pnt1, pnt2)