[Qgis-user] Design vector from point shape and azimut on features
Marco Grisolia
marco.grisolia5 at gmail.com
Thu Feb 16 01:44:11 PST 2017
Hi Alessandro,
you may use an edited version of the code that I posted for answering to a
GIS StackExchange question (linked here
<http://gis.stackexchange.com/questions/228419/connecting-points-to-polygon-edges-using-angular-bearing>
).
I slightly edited it for you, but refers to the answer from GIS SE for a
better understanding (remember to adapt the field names in the code to your
specifi case):
####### CODE STARTS HERE ###########
##Points=vector point
from qgis.core import *
from qgis.PyQt.QtCore import QVariant
import math
p_layer = processing.getObject(Points)
crs = p_layer.crs().toWkt()
# Create the output layer
outLayer = QgsVectorLayer('Linestring?crs='+ crs, 'land' , 'memory')
prov = outLayer.dataProvider()
fields = p_layer.pendingFields()
prov.addAttributes(fields)
outLayer.updateFields()
for feat in p_layer.getFeatures():
attrs = feat.attributes()
point = feat.geometry().asPoint()
points = [feat.geometry().asPoint()]
angle = math.radians(90-(feat["azimuth"]))
tmp_len = (feat["length"])
dist_x, dist_y = (tmp_len * math.cos(angle), tmp_len * math.sin(angle))
point2 = QgsPoint(point[0] + dist_x, point[1] + dist_y)
points.append(point2)
outFeat = QgsFeature()
outFeat.setAttributes(attrs)
outFeat.setGeometry(QgsGeometry.fromPolyline(points))
prov.addFeatures([outFeat])
# Add the layer to the Layers panel
QgsMapLayerRegistry.instance().addMapLayer(outLayer)
####### CODE ENDS HERE ###########
Marco Grisolia
2017-02-15 10:41 GMT+01:00 <alessandro.conforti at cnr.it>:
>
> Hi to all Qgis user,
> I've a question for you guys:
> I've a point shape file, in the features table 'i've a field with the
> azimut value in degree and another field with a lenth in meters.
> i would like to produce a new line shape file with a vector tha has origin
> on the point azimut from the azimut field table and length from lenght
> value in metres.
> Sonbody can help me?
> thanks in advance
> Ale
>
> _______________________________________________
> Qgis-user mailing list
> Qgis-user at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20170216/38ec42a6/attachment.html>
More information about the Qgis-user
mailing list