安装 gma:
pip install gma
gma打开各种矢量文件,返回一个矢量数据资源(DataSource)类。
打开的矢量数据资源(DataSource)类属性及示例如下表:
类属性 | 说明 | 示例返回值 | 返回值类型 |
---|---|---|---|
Driver | 驱动格式 | ESRI Shapefile | str |
LayerCount | 图层数量 | 1 | int |
LayerNames | 图层名 | [‘ne_50m_admin_0_countries’] | list |
Metadata | 元数据 | {} | dict |
(一)方法简介
(二)示例 (获取第一个图层)
矢量图层(Layer)包含的属性及示例结果如下表:
表 213 矢量图层(Layer)属性及示例
类属性 | 说明 | 示例返回值 | 返回值类型 |
---|---|---|---|
AttributeTable | 属性表 | DataFrame | |
Boundary | 四至边界范围 (左,下,右,上) | (-180.0, -89.99892578125002, 180.0, 83.599609375) | tuple |
FeatureCount | 要素数量 | 242 | int |
FieldsInfo | 字段信息 (数据类型、精度、宽度等) | DataFrame | |
GeomType | 几何类型 | Polygon | str |
Metadata | 元数据 | {‘DBF_DATE_LAST_UPDATE’: ‘2022-05-08’} | dict |
Name | 图层名 | ne_50m_admin_0_countries | str |
Projection | 坐标系/投影(WKT格式) | GEOGCS[“WGS 84”, DATUM[“WGS_1984”, SPHEROID [“WGS 84”, 6378137, 298.257223 563, AUTHORITY [“EPSG”, “7030”]], AUTHO RITY[“EPSG”, “6326”]], PRIMEM[“Green wich”, 0], UNIT[“degree”, 0.017453292 5199433, AUTHORITY[“EPSG”, “9122”]], AXIS ["Latitude ", NORTH], AXIS [“Longitude”, EAST], AUTHORITY [“EPSG”,“4326”]] | str |
(一)方法简介
(二)示例
(一)方法简介
(二)示例
(一)方法简介
(二)示例
(一)方法简介
(二)示例
(一)方法简介
(二)示例
(一)方法简介
(二)示例*(另存为GPKG文件)*
(一)方法简介
(二)示例*(获取第一个要素)*
矢量图层叠加分析为多个图层之间进行叠加处理,得到目标叠加方法处理后的结果。gma矢量图层叠加分析主要包括:
叠加分析方法 | 说明 | 参数 | 解释 | 返回 |
---|---|---|---|---|
Clip | 裁剪 | MLayer (另一个矢量图层) | 用第二个图层裁剪第一个图层 | 矢量图层 (Layer) |
Erase | 擦除 | MLayer (另一个矢量图层) | 用第二个图层裁剪第一个图层 | 矢量图层 (Layer) |
Intersection | 相交 | MLayer (另一个矢量图层) | 取两个图层的交集 | 矢量图层 (Layer) |
SymDifference | 交集取反 | MLayer (另一个矢量图层) | 取两个图层的反交集 | 矢量图层 (Layer) |
Union | 联合 | MLayer (另一个矢量图层) | 联合两个图层 | 矢量图层 (Layer) |
Update | 更新 | MLayer (另一个矢量图层) | 用第二个图层更新第一个图层 | 矢量图层 (Layer) |
(一)示例
(二)叠加分析结果示意图
示例绘图代码如下:
(一)方法简介
(二)示例
(一)方法简介
(二)示例
(一)方法简介
(二)示例
矢量要素(Feature)包含的属性及示例结果如下表:
类属性 | 说明 | 示例返回值 | 返回值类型 |
---|---|---|---|
Area | 几何多边形面积 | 33.38935214042659 | float |
Boundary | 四至边界范围 (左,下,右,上) | (25.224023437500023, -22.40205078125001, 33.00673828125002, -15.64306640625) | tuple |
FID | 要素序号 | 0 | int |
Fields | 字段数据 | {‘LABELRANK’: 3, ‘SOVEREIGNT’: ‘Zimbabwe’, …} | dict |
FieldsInfo | 字段信息 (数据类型、精度、宽度等) | DataFrame | |
GeomPoints | 几何坐标点 | [[[31.287890625000017, -22.40205078125001], [31.197265625, -22.34492187500001],…], …] | list |
GeometricCenter | 几何中心 | [29.640587660845583, -19.147785500919117] | list |
GeomType | 几何类型 | Polygon | str |
GeometryCount | 几何体数量 | 1 | int |
Length | 几何体边线长度 | 24.92604208613898 | float |
Points2D | 展开到2维的几何坐标点 | [[31.287890625000017, -22.40205078125001], [31.197265625, -22.34492187500001], …], …] | list |
Projection | 坐标系/投影(WKT格式) | GEOGCS[“WGS 84”, DATUM[“WGS_1984”, SPHEROID [“WGS 84”, 6378137, 298.257223 563, AUTHORITY [“EPSG”, “7030”]], AUTHO RITY[“EPSG”, “6326”]], PRIMEM[“Green wich”, 0], UNIT[“degree”, 0.017453292 5199433, AUTHORITY[“EPSG”, “9122”]], AXIS ["Latitude ", NORTH], AXIS [“Longitude”, EAST], AUTHORITY [“EPSG”,“4326”]] | str |
(一)方法简介
(二)示例
(一)方法简介
(二)示例
(一)方法简介
(二)示例
(一)方法简介
(二)示例
矢量要素(Feature)包含的几何测试方法如下表:
几何测试方法 | 说明 | 参数 | 示例 | 示例结果 | 返回值类型 |
---|---|---|---|---|---|
TestContains | 包含关系测试 | MFeature (另一个矢量要素) | Feature.TestContains(Feature2) | False | bool |
TestIntersection | 相交测试 | MFeature (另一个矢量要素) | bool Feature.TestIntersection(Feature2) | False | bool |
TestOverlaps | 重叠测过 | MFeature (另一个矢量要素) | Feature.TestOverlaps(Feature2) | False | bool |
TestTouches | 接触测试 | MFeature (另一个矢量要素) | Feature.TestTouches(Feature2) | False | bool |
TestRing | 环形测试 | / | Feature.TestRing() | True | bool |
TestValid | 有效性测试 | / | Feature.TestValid() | True | bool |
(一)方法简介
(二)示例
与矢量图层叠加分析类似,矢量要素空间叠加为多个要素之间进行叠加处理,得到目标叠加方法处理后的结果。gma矢量要素叠加分析主要包括:
叠加分析方法 | 说明 | 参数 | 解释 | 返回 |
---|---|---|---|---|
Distance | 差集 | MFeature (另一个矢量要素) | 用第二个要素裁剪第一个要素 | 矢量要素 (Feature) |
Intersection | 相交 | MFeature (另一个矢量要素) | 取两个要素的交集 | 矢量要素 (Feature) |
SymDifference | 交集取反 | MFeature (另一个矢量要素) | 取两个要素的反交集 | 矢量要素 (Feature) |
Union | 联合 | MFeature (另一个矢量要素) | 联合两个要素 | 矢量要素 (Feature) |
(一)示例
(二)叠加分析结果示意图