在PostGIS中,将大于世界一半的多边形视为相反的多边形

|| 我将GeoDjango与PostGIS结合使用,并尝试使用多边形从其中的数据库中获取记录。 如果我定义的多边形大于地球面积的一半,则假定多边形的“内部”是我打算作为“外部”的较小区域,并且仅返回其外部的结果。 我可以使用这个较小的错误区域来排除结果。 Polygon.area似乎知道我的意图,因此我可以使用它来确定何时进行包含性或排他性的搜索。我觉得这个问题可能很常见,是否有更好的解决方法? 更新:如果我的多边形内的经度为180度,则根本不起作用。这次似乎要怪GEOS。此图显示了我认为的原因。绿色是我定义的多边形,红色是它的解释方式。再次,这似乎是一个经常出现的问题,像GEOS这样的库也要处理。有办法吗?     
已邀请:
好吧,没有答案。这是我所做的。 因为GEOS不喜欢穿越180号子午线的事物: 首先检查多边形是否穿过第180个子午线-如果是,则将其沿该线分成2个多边形。 因为PostGIS假设多边形尽可能小,所以您制作的封面不能超过世界的一半,因此: 检查该多边形或每个拆分的多边形是否覆盖了一半或更多的世界-如果是,请将其切成两半。 根据结果​​构造一个MultiPolygon。     

要回复问题请先登录注册