本文整理汇总了Python中qgis.core.QgsPoint.setY方法的典型用法代码示例。如果您正苦于以下问题:Python QgsPoint.setY方法的具体用法?Python QgsPoint.setY怎么用?Python QgsPoint.setY使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsPoint
的用法示例。
在下文中一共展示了QgsPoint.setY方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: processAlgorithm
# 需要导入模块: from qgis.core import QgsPoint [as 别名]
# 或者: from qgis.core.QgsPoint import setY [as 别名]
def processAlgorithm(self, progress):
layer = dataobjects.getObjectFromUri(self.getParameterValue(self.INPUT_VECTOR))
rasterPath = unicode(self.getParameterValue(self.INPUT_RASTER))
rasterDS = gdal.Open(rasterPath, gdal.GA_ReadOnly)
geoTransform = rasterDS.GetGeoTransform()
rasterDS = None
fields = QgsFields()
fields.append(QgsField('id', QVariant.Int, '', 10, 0))
fields.append(QgsField('poly_id', QVariant.Int, '', 10, 0))
fields.append(QgsField('point_id', QVariant.Int, '', 10, 0))
writer = self.getOutputFromName(self.OUTPUT_LAYER).getVectorWriter(
fields.toList(), QGis.WKBPoint, layer.crs())
outFeature = QgsFeature()
outFeature.setFields(fields)
point = QgsPoint()
fid = 0
polyId = 0
pointId = 0
current = 0
features = vector.features(layer)
total = 100.0 / len(features)
for f in features:
geom = f.geometry()
bbox = geom.boundingBox()
xMin = bbox.xMinimum()
xMax = bbox.xMaximum()
yMin = bbox.yMinimum()
yMax = bbox.yMaximum()
(startRow, startColumn) = raster.mapToPixel(xMin, yMax, geoTransform)
(endRow, endColumn) = raster.mapToPixel(xMax, yMin, geoTransform)
for row in xrange(startRow, endRow + 1):
for col in xrange(startColumn, endColumn + 1):
(x, y) = raster.pixelToMap(row, col, geoTransform)
point.setX(x)
point.setY(y)
if geom.contains(point):
outFeature.setGeometry(QgsGeometry.fromPoint(point))
outFeature['id'] = fid
outFeature['poly_id'] = polyId
outFeature['point_id'] = pointId
fid += 1
pointId += 1
writer.addFeature(outFeature)
pointId = 0
polyId += 1
current += 1
progress.setPercentage(int(current * total))
del writer
示例2: CoordinatesWidget
# 需要导入模块: from qgis.core import QgsPoint [as 别名]
# 或者: from qgis.core.QgsPoint import setY [as 别名]
class CoordinatesWidget(QWidget):
"""
Custom widget for entering an X,Y coordinate pair.
"""
def __init__(self,parent = None,x=0,y=0):
QWidget.__init__(self,parent)
self.resize(270, 130)
self._gridLayout = QGridLayout(self)
self._sbYCoord = QDoubleSpinBox(self)
self._sbYCoord.setMinimumSize(QSize(0, 30))
self._sbYCoord.setDecimals(5)
self._sbYCoord.setMinimum(-180.0)
self._sbYCoord.setMaximum(180.0)
self._gridLayout.addWidget(self._sbYCoord, 2, 1, 1, 1)
self._label_2 = QLabel(self)
self._label_2.setText(QApplication.translate("CoordinatesWidget","Y-Coordinate"))
self._gridLayout.addWidget(self._label_2, 2, 0, 1, 1)
self._label = QLabel(self)
self._label.setMaximumSize(QSize(80, 16777215))
self._label.setText(QApplication.translate("CoordinatesWidget","X-Coordinate"))
self._gridLayout.addWidget(self._label, 1, 0, 1, 1)
self._sbXCoord = QDoubleSpinBox(self)
self._sbXCoord.setMinimumSize(QSize(0, 30))
self._sbXCoord.setDecimals(5)
self._sbXCoord.setMinimum(-180.0)
self._sbXCoord.setMaximum(180.0)
self._gridLayout.addWidget(self._sbXCoord, 1, 1, 1, 1)
self.vlNotification = QVBoxLayout()
self._gridLayout.addLayout(self.vlNotification, 0, 0, 1, 2)
#Set X and Y values
self._sbXCoord.setValue(float(x))
self._sbYCoord.setValue(float(y))
self._geomPoint = QgsPoint(x,y)
#Use default SRID
self._srid = 4326
#Connect signals
self._sbXCoord.valueChanged.connect(self.onXCoordValueChanged)
self._sbYCoord.valueChanged.connect(self.onYCoordValueChanged)
def onXCoordValueChanged(self,value):
"""
Slot raised when the value of the X-Coordinate spinbox changes
"""
self._geomPoint.setX(value)
def onYCoordValueChanged(self,value):
"""
Slot raised when the value of the Y-Coordinate spinbox changes
"""
self._geomPoint.setY(value)
def xCoord(self):
return self._geomPoint.x()
def yCoord(self):
return self._geomPoint.y()
def XY(self):
return (self.xCoord(),self.yCoord())
def setX(self,xCoord):
self._sbXCoord.setValue(xCoord)
def setY(self,yCoord):
self._sbYCoord.setValue(yCoord)
def setXY(self,x,y):
"""
Set both X and Y coordinate values.
"""
self.setX(x)
self.setY(y)
def geomPoint(self):
"""
Returns the coordinate representation as a QgsPoint.
"""
return self._geomPoint
def setSRID(self,geoModel):
"""
Set the SRID using the SRID by using that one specified in the geometry column of
an sqlalchemy object.
"""
if hasattr(geoModel,"SRID"):
self._srid = geoModel.SRID()
def toEWKT(self):
"""
Returns the specified X,Y point as an extended well-known text representation.
PostGIS 2.0 requires geometry to be in EWKT specification.
"""
return "SRID={0};{1}".format(str(self._srid),self._geomPoint.wellKnownText())
#.........这里部分代码省略.........