我在佛罗里达有很多干洗设施。我正在用Python读取文件形状文件.py. 我的问题是,虽然文件中的第一个形状看起来是正确的,但之后只有每5个形状是正确的。提取一行中的四个形状时使用的类型代码无效(应介于0和31之间),并且没有点信息。以下是部分结果:
Site Name (.record[1]) .shapeType .points
------------------------------------ ----------- --------------------
Granda Dry Cleaners 21 [[783897.335, 215901.765]]
Scotch Dry Cleaners 1093131927 []
J C Cleaners -1191051264 []
Royal Palm Cleaners -1606317767 []
Moorings Plaza Dry Cleaners 1091081765 []
Classic Touch Cleaners 21 [[778662.429, 221265.968]]
The Drycleaner 1093095627 []
Randolphs Alterations & Dry Cleaner -1140719616 []
Pelican French Cleaners 1580547967 []
Town & Country Cleaners 1091080779 []
Discount Dryclean Outlet 21 [[768035.181, 188652.929]]
The Drycleaner Cleaners 1093104359 []
Sample Cleaners -1090387968 []
Parisian Cleaners -1468878813 []
Roberts Cleaners & Tailors 1091022843 []
(注:我把点的精度降低了一点,使它们适合一条直线)。在
在我看来,这个模式是常规的——一个“有效”记录,后面是四个具有无效shapeType常量且没有点数的记录。在
我是形状文件处理的新手。这些结果是否表明我可能做得不正确?在
更新
下面的代码演示了问题(它打印了上面描述的shapeType和points列):
^{pr2}$
首先,您需要确定问题是否出在shapefile上。尝试使用一个真正的GIS工具(如QuantumGIS)加载文件。一旦您确定您的SHP文件是正确的,张贴您的代码,以便我们可以看到您是如何使用形状文件.py. 我的猜测是SHP文件在某种程度上是不正确的,而Quantum GIS要么修复它,要么告诉你出了什么问题。作为一个插件,python有一个嵌入的插件:QuantumGIS。在
编辑: 我从佛罗里达州的DEP下载了dryclean_apr12.shp文件,根据dbf的数据,有1423条记录。当我使用你的代码片段时,我得到1423个shapetype=1的形状,这表示每个形状都是一个点。在
因此您的代码是正确的,问题必须与文件有关。在
我在您的示例数据中注意到shapetype是21或PointM,定义为
位置字段值类型编号顺序
点定义为
^{pr2}$形状文件已损坏或中存在错误形状文件.py. 在
具有PointM的Shapefile的布局为
如果Shapefile将此作为点读取(IDD)
然后将文件读为
相关问题 更多 >
编程相关推荐