首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用OpenTripPlanner生成的空多边形用.is_empty指令生成错误。

用OpenTripPlanner生成的空多边形用.is_empty指令生成错误。
EN

Stack Overflow用户
提问于 2017-04-14 09:08:31
回答 1查看 213关注 0票数 0

我有一个用OpenTripPlanner生成的等时多边形:

代码语言:javascript
复制
{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[]},"properties":{"time":-47},"id":"fid--576b228b_15b66d32d71_-7cbd"}]}

这个多边形被翻译成一个形状匀称的对象,并有以下指令:

代码语言:javascript
复制
isochrone = shapely.geometry.asShape(isochroneJSON['features'][0]['geometry'])

在Spyder中是这样的:

代码语言:javascript
复制
{u'type': u'FeatureCollection', u'features': [{u'geometry': {u'type': u'MultiPolygon', u'coordinates': []}, u'type': u'Feature', u'properties': {u'time': -47}, u'id': u'fid--576b228b_15b66d32d71_-7a54'}]}

在我看来它真的像一个空多边形。我的问题是,我想将它排除在我的其余治疗之外,并检查它是否有效和/或空。和下列指示:

代码语言:javascript
复制
if not isochrone.is_empty:

使用.is_empty shapely指令生成一个错误:

代码语言:javascript
复制
return (self._geom is None) or bool(self.impl['is_empty'](self))
self.__geom__, n = self.factory(self.context)

我完全迷路了,因为the only similar question似乎没有我自己的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-18 10:17:32

空的几何图形有点棘手,在您的特殊情况下(MultiPolygons),您可以使用shape而不是asShape部分修复它:

代码语言:javascript
复制
import json
from shapely.geometry import MultiPolygon, shape, mapping, asShape

Q = shape({'type': 'MultiPolygon', 'coordinates': []})
print(Q.is_empty)
print(Q.geom_type)
print(json.dumps(mapping(Q)))

这个输出(在空多多边形的情况下,geom_type实际上不等于MultiPolygon):

代码语言:javascript
复制
True
GeometryCollection
{"type": "MultiPolygon", "coordinates": []}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43408546

复制
相关文章

相似问题

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