def create_memory_layer(geometry_type, crs, name, custom_properties=None):
assert geometry_type in (QGis.Point, QGis.Line, QGis.Polygon)
layer = QgsVectorLayer(
"{}?crs={}&index=yes".format(
{
QGis.Point: "Point",
QGis.Line: "LineString",
QGis.Polygon: "Polygon"
}[geometry_type],
crs.authid()
), name, "memory")
layer.setCrs(crs)
if custom_properties:
for key in custom_properties:
layer.setCustomProperty(key, custom_properties[key])
return layer
评论列表
文章目录