• gma 2.0.2 (2023.10.15) 更新日志


    安装 gma 2.0.2

    pip install gma==2.0.2
    
    • 1

    新增


     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()
    
    • 1
    • 2
    • 3

    属性表查看(而不需要将属性表转换到 DataFrame )

    切片提取(每隔 2 个要素(行)提取一个要素,提取属性表 ‘SOVEREIGNT’,‘SOV_A3’ 列)

    LY2 = LY[::2, ['SOVEREIGNT', 'SOV_A3']]
    LY2
    
    • 1
    • 2

    创建和修改属性表(创建一个ID列,并修改 ‘SOVEREIGNT’ 前三行为 ‘Test’)

    LY2[:, ['ID']] = range(len(LY2))
    LY2[:2, ['SOVEREIGNT']] = 'Test'
    
    • 1
    • 2

    绘制修改后的图层并按照 ‘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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

  • 相关阅读:
    docker安装mysql(单体)
    DL/ML/RL/TL/FL机器学习框架总结
    前端面试官:你能实现js数组原型上的方法吗?
    【Ant Design Table + React】表格列伸缩实现
    Flink学习4 - 富函数 + 数据重分区操作 + sink 操作(kafka、redis、jdbc)
    js 继承内置类型 之 洗牌算法
    linux查看dns命令
    两台Linux机器scp不输密码
    nvm 一个nodejs版本管理工具
    疫情可视化part3
  • 原文地址:https://blog.csdn.net/weixin_42155937/article/details/133849475