首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有对mySQL提供空间支持的python库?

有没有对mySQL提供空间支持的python库?
EN

Stack Overflow用户
提问于 2013-03-07 05:57:27
回答 1查看 1.4K关注 0票数 3

可以将sqlsoup或其他python MySql库与MySQL的几何、点、多边形等空间类型一起使用吗?如果是这样的话,谁能展示一下如何使用python库来执行选择并从多边形中提取点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-18 22:00:49

我不知道有哪一个包可以同时查询MySQL和处理空间数据,但是MySQL supports well-known-textwell-known-binary空间数据格式(这将允许您存储点、线、多边形等)。

您需要使用MySQLdb对MySQL进行查询,并使用SQL语句(examples here)获取数据。如果您想要的只是组成多边形的点,则可以执行一些简单的字符串操作来构造一个点数组:

代码语言:javascript
复制
input = "POLYGON ((30 10, 10 20, 20 40, 40 40, 30 10))"

def polygon_to_points(polygon):
  geometry = polygon[10:-2]
  coordinates = geometry.split(', ')
  coord_pairs = []
  for c in coordinates:
    pair = c.split(' ')
    pair_num = [float(pair[0]), float(pair[1])]
    coord_pairs.append(pair_num)
  return coord_pairs

这将按预期返回[[30.0,10.0],[10.0,20.0],[20.0,40.0],[40.0,40.0],[30.0,10.0]]。如果您想要执行一些更复杂的空间查询/分析,请看一下Shapely包。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15258892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档