AddFeature
# AddFeature(GMAFeature, FaceColor = '#BED2FF', LineColor = '#B2B2B2', Hatch = None, LineStyle = None, LineWidth = 0.5, PointSize = 0.5, PointMarker = None, Label = None, FieldName = None, Connector = '', Zorder = None)1.1.5 +
功能: 【添加矢量要素】。在地图框中添加一个要素。
参数:
GMAFeature: Feature
。一个 gma.io.ReadVector().GetFeature() 获取的矢量要素。
可选参数:
FaceColor = str||tuplt||list||None
。多边形的填充颜色。只适用于 Polygon。如果为 None,则生成随机颜色。如果是一个列表,则为每个 Feature 指定不同的颜色。详见:matplotlib。
EdgeColor = str||tuplt||list||None
。多边形的边界颜色。只适用于 Polygon。其他说明同 FaceColor。
Hatch = str||list||None
。填充样式。只适用于 Polygon。如果是一个列表,则为每个 Feature 指定不同的样式,默认无样式(None)。详见:matplotlib。
填充样式
可为 '/', '\','|', '-','+','x','o','O','.','*' 或其组合(例如:Hatch = '/|-+++')。
LineStyle = str||tuplt||list||None
。线形。如果是一个列表,则为每个 Feature 指定不同的线形,默认实线(None)。详见:matplotlib。
线形
可为 '-','--','-.',':',(offset, on-off-seq),...。
LineWidth = float||list
。线宽。如果是一个列表,则为每个 Feature 指定不同的线宽。
LineColor = str||tuplt||list||None
。线颜色。只适用于 Line。其他说明同 FaceColor。
PointColor = str||tuplt||list||None
。点颜色。只适用于 Point。其他说明同 FaceColor。
PointSize = float||list||None
。点大小。只适用于 Point。如果是一个列表,则为每个 Feature 指定不同的大小。
PointMarker = str||list||None
。点标记。只适用于 Point。如果是一个列表,则为每个 Feature 指定不同的标记。详见:matplotlib。
标记
'.',',','o','v','^','<','>','1','2','3','4','8','s','p','P','*','h','H','+','x','X','D','d','|','_',0,1,2,3,4,5,6,7,8,9,10,11,'None', ' ','','$...$',Path,...。
Label = str||None
。为每个 Feature 添加一个标注。如果想从 矢量属性表 中添加标注,请忽略此参数,并配置 FieldName 参数。
FieldName = str||list||None
。字段名。从矢量字段提取标注信息,以便后续标注。
Connector = str
。多字段连接字符。如果 FieldName 定义了多个字段,那么字段之间用此字符连接。
Zorder = int
。图层顺序。如果添加了多个图层,为避免图层上下遮挡错误,请配置此参数。Zorder 越大,图层越靠上。
返回:gma.map.feature.PlotFeature
。
示例:
from gma.map import plot, inres
Points = [[112.5, 34.4], [30, 60], [2.3, 48.8], [47.5, -18.9], [112.5, 34.4]]
# 创建线 Feature
FPolygon = plot.CreatePlotFeature(Points, GeomType = 'Polygon')
# 1.初始化一个地图框,底图 0 定义的坐标系
MapF = plot.MapFrame(Axes = None, BaseMapProj = 4326, Extent = None)
MapL1 = MapF.AddLayer(inres.WorldLayer.Country, LineWidth = 0.1)
# 2.2 添加面
MapL1 = MapF.AddFeature(FPolygon, FaceColor = (0.2, 0.5, 0.8, 0.5), LineColor = 'gray', LineWidth = 0.5, Zorder = 2)
2
3
4
5
6
7
8
9
10
11
12