在pandas或GeoPandas中,可以使用以下方法过滤包含无效几何的WKT字符串:
import pandas as pd
from shapely import wkt
data = {'geometry': ['POINT (0 0)', 'LINESTRING (0 0, 1 1)', 'POLYGON ((0 0, 0 1, 1 1, 1 0, 0 0))', 'INVALID GEOMETRY']}
df = pd.DataFrame(data)
df['geometry'] = df['geometry'].apply(wkt.loads)
is_valid
方法检查几何对象是否有效:df['is_valid'] = df['geometry'].apply(lambda x: x.is_valid)
valid_df = df[df['is_valid']]
这样,valid_df
将只包含有效几何的行。
在这个过程中,我们使用了shapely
库来处理几何对象,并使用is_valid
方法检查几何对象的有效性。如果几何对象无效,它将被标记为False。最后,我们使用布尔索引来过滤出有效的几何对象。
对于GeoPandas,可以直接使用GeoDataFrame来处理空间数据,而不需要将WKT字符串转换为几何对象。其他步骤保持不变。
推荐的腾讯云相关产品:腾讯云地理信息服务(Tencent Cloud Spatial-Temporal Database,TCSTDB),它提供了地理信息数据的存储、查询和分析功能,适用于空间数据的处理和分析场景。您可以通过以下链接了解更多信息: https://cloud.tencent.com/product/tcstdb
领取专属 10元无门槛券
手把手带您无忧上云