安装 gma 2.0.2
pip install gma==2.0.2
新增
0.1、矢量提取(重要更新) (见简单示例)
现在,你可以像 numpy 或 pandas 一样直接对 Layer 进行切片提取。
0.2、修改属性表(重要更新) (见简单示例)
现在,你可以像 numpy 或 pandas 一样直接对 Layer 属性表进行切片赋值。
0.3、属性表查看(重要更新) (见简单示例)
现在,你可以像 pandas 一样,在 Jupyter NoteBook 中直接显示 Layer 的属性表。
1、DataSet-Resolution
添加 Resolution 属性,方便直接提取 X, Y 分辨率。
2、DataSet-Clip
矢量图层裁剪栅格数据集(比rasp.Basic.Clip更具适用性)。
3、Layer-CalculateGeometry
计算所有要素的几何属性。包括长度(当前坐标系)、面积(当前坐标系)、折点数量、几何体数量、几何中心或重心。
4、Layer-ToDataFrame
将矢量属性表、几何属性或几何体转换为 DataFrame。目前,转换的几何体只支持WKT字符串。
5、Layer-ToDataFrame
将 矢量图层(属性表、几何体和几何属性等)转换为DataFrame。
6、io-ReadDataFrameAsLayer
将 DataFrame 转换为矢量图层Layer,其中WKT列将被识别为几何体(若存在),其他列则为属性表字段。
优化
1、Layer-AttributeTable & 性能优化
更改属性表读取逻辑,优化含有巨量要素的矢量数据的属性表读取速度。
2、Layer-空间叠加分析 & vesp-Geometry几何处理
优化 空间叠加方法分析的计算过程。
3、Layer-SaveAs
现在可以正确的保存中文的字段名,而不是直接移除。
4、Layer-GroupBy ==> Dissolve
按字段融合要素名称修改。将内建的Python方法修改为SQL语句实现。
5、UpdateAttributeTable
实际功能已移除。
6、plot.DataFrame-AddLayer
部分参数调整;添加 AutoSimplify 自动简化图层(默认自动简化,如果不需要可以关闭)(与绘制栅格数据集ForcedZoom强制缩放参数类似),以大幅提高超大矢量数据的绘图速率(小概率会自动简化失败,可按需处理)。
简单示例
gma 2 及 示例数据下载:
链接:https://pan.baidu.com/s/1v9flUXmsgYPZUbzR88SIOA?pwd=h9b8
提取码:h9b8
from gma import io
LY = io.Open("ne_50m_admin_0_countries.gpkg").GetLayer()
属性表查看(而不需要将属性表转换到 DataFrame )
切片提取(每隔 2 个要素(行)提取一个要素,提取属性表 ‘SOVEREIGNT’,‘SOV_A3’ 列)
LY2 = LY[::2, ['SOVEREIGNT', 'SOV_A3']]
LY2
创建和修改属性表(创建一个ID列,并修改 ‘SOVEREIGNT’ 前三行为 ‘Test’)
LY2[:, ['ID']] = range(len(LY2))
LY2[:2, ['SOVEREIGNT']] = 'Test'
绘制修改后的图层并按照 ‘SOVEREIGNT’ 列添加标注
from gma.map import plot
MapF = plot.MapFrame(BaseMapProj = 'WGS84', Extent = None)
MapL1 = MapF.AddLayer(LY2, FaceColor = None, EdgeColor = 'gray', LineWidth = 0.1)
Label = MapL1.AddLabel(FieldName = 'SOVEREIGNT', FontSize = 3)