智慧海洋task1

地理数据分析常用工具shapelyPointLineStringsLineRingsPolygongeopandasFoliumKepler.glGeoHashshapelyshapely是python中开源的空间几何对象库,支持Point(点),LineString(线), Polygon(面)等几何对象及相关空间操作。特性几何对象可以和numpy.array互相转换。可以轻松求线的长度(length),面的面积(area),对象之间的距离(dista
摘要由CSDN通过智能技术生成
地理数据分析常用工具
  • shapely
    • Point
    • LineStrings
    • LineRings
    • Polygon
  • geopandas
  • Folium
  • Kepler.gl
  • GeoHash
shapely

shapely是python中开源的空间几何对象库,支持Point(点),LineString(线), Polygon(面)等几何对象及相关空间操作。

特性
几何对象可以和numpy.array互相转换。
可以轻松求线的长度(length),面的面积(area),对象之间的距离(distance),最小最大距离(hausdorff_distance)。
可以轻松求几何对象之间的关系:相交(intersect),包含(contain),求相交区域(intersection)等。
可以轻松对几何对象求几何中心(centroid),缓冲区(buffer),最小旋转外接矩形(minimum_rotated_rectangle)等。
可以求线的插值点(interpolate),可以求点投影到线的距离(project),可以求几何对象之间对应的最近点(nearestPoint)
可以轻松对几何对象进行旋转(rotate)和缩放(scale)。

#安装shapely
!pip install shapely 
from shapely import geometry as geo
from shapely import wkt 
from shapely import ops
import numpy as np 
# 创建Point对象
pt1 = geo.Point([0,0])
print(pt1) 
coord = np.array([0,1])
pt2 = geo.Point(coord)
print(pt2)
pt3 = wkt.loads("POINT(1 1)")
print(pt3)

#批量可视化
geo.GeometryCollection([pt1,pt2,pt3])
LineString
# 创建LineString对象
line1 = geo.LineString([(0,0),(1,-0.1),(2,0.1),(3,-0.1),(5,0.1),(7,0)])
line1 
arr = np.array([(2,2),(3,2),(4,3)])
line2 = geo.LineString(arr)
line2 
print(line2.length) 
print(list(line2.coords)) 
print(np.array(line2))  #可以和np.array互转
print(line2.bounds) #坐标范围
几何对象关系

一个几何对象特征分别有interior、boundary和exterior。下面的叙述直接用内部、边界和外部等名词概述

1.object.contains(other)
如果object的外部没有其他点,或者至少有一个点在该object的内部,则返回True
a.contains(b)与 b.within(a)的表达是等价的

geopandas¶

GeoPandas提供了地理空间数据的高级接口,它让使用python处理地理空间数据变得更容易。GeoPandas扩展了pandas。)使用的数据类型,允许对几何类型进行空间操作。几何运算由shapely执行。Geopandas进一步依赖fiona进行文件访问,依赖matplotlib进行绘图。


import pandas as pd
import geopandas
import matplotlib.pyplot as plt
world = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))#read_file方法可以读取shape文件,转化为GeoSeries和GeoDataFrame数据类型。
world.plot()#将GeoDataFrame变成图形展示出来,得到世界地图
plt.show()
  • 安装
  • conda install -c conda-forge geopandas
    GeoPandas的核心数据结构是geopandas.GeoDataFrame,pandas.DataFrame能够存储几何列和执行空间操作的子类。几何由geopandas.GeoSeries的子类处理pandas.Series。因此,您GeoDataFrame是Series您的数据(数字,布尔值,文本等)和GeoSeries几何形状(点,多边形等)的组合。您可以根据需要拥有任意数量的具有几何形状的列,台式GIS软件通常没有限制。

读写文件

import geopandas

path_to_data = geopandas.datasets.get_path("nybb")
gdf = geopandas.read_file(path_to_data)

gdf
gdf.to_file("my_file.geojson", driver="GeoJSON")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值