- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 fiona 1.5.0 上(我很困惑为什么各种文件(例如 .dbf 和 .gdb)不打印我的“不是 Shapefile!”(这是我想要的文件不是 . shp) 退出前警告。
import fiona
import sys
def process_file(self, in_file, repair_file):
with fiona.open(in_file, 'r', encoding='utf-8') as input:
# check that the file type is a shapefile
if input.driver == 'ESRI Shapefile':
print "in_file is a Shapefile!"
else:
print "NOT a Shapefile!"
exit()
with fiona.open(repair_file, 'r') as repair:
# check that the file type is a shapefile
if repair.driver == 'ESRI Shapefile':
print "Verified that repair_file is a Shapefile!"
else:
print "NOT a Shapefile!"
exit()
对于 gdb 我得到一个错误,fiona 不支持驱动程序(因为 ogr 确实让我感到惊讶)- 并且没有打印语句:
>> fiona.errors.DriverError: unsupported driver: u'OpenFileGDB'
对于 .dbf,我实际上得到了这个:
>> Verified that in_file is a Shapefile!
>> Verified that repair_file is a Shapefile!
最佳答案
有了 OGR,ESRI Shapefile驱动程序读取 DBF 文件。要检查数据源是否只有属性而没有几何(即只有 DBF 文件),请检查元数据中的几何类型以查看它是否为 'None'
。
import fiona
with fiona.open(file_name) as ds:
geom_type = ds.meta['schema']['geometry']
print('geometry type: ' + geom_type)
if geom_type == 'None':
print('no geometry column, so probably just a DBF file')
此外,最近向 fiona 添加了对 OpenFileGDB
的只读支持。更新您的包,看看它是否有效。
关于python - 使用 python 验证一个 shapefile 是一个 shapefile (fiona, ogr),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29832301/
我想为 H3 生成 shapefile特定地理区域的六边形。特别是,我对分辨率为 6、7 和 9 的湾区感兴趣。如何为覆盖该区域的六边形创建 shapefile? 我是 shapefile 或任何其他
我有一个形状文件 (Sample.shp) 以及其他两个文件(Sample.shx 和 Sample.dbf),其中为孟买的 15 个 pincode 定义了几何图形(多边形)。 我可以使用快速入门教
我已经在这方面工作了一段时间并且取得了一些成功,但是在重写文件时,我没有。 我正在使用的 shapefile 是都市和小都市地区的多边形形状文件,但我对小都市地区不感兴趣,所以我正在使用 R 中的 s
我下载了波士顿的 shapefile,并想使用下面的代码将其绘制出来。然而它给了我一个错误 ValueError: lat_0 必须在 -90.000000 和 90.000000 度之间 原来coo
我正在使用 {raster} 来根据不规则形状文件(亚马逊生物群落)剪辑(或裁剪)栅格,但输出始终具有矩形范围。但是,我需要形状文件的完全相同的几何形状的输出。有小费吗?干杯。 library(ras
在 fiona 1.5.0 上(我很困惑为什么各种文件(例如 .dbf 和 .gdb)不打印我的“不是 Shapefile!”(这是我想要的文件不是 . shp) 退出前警告。 import fion
我正在尝试使用 python 中的 matplotlib 在世界地图上绘制国家/地区的填充多边形。 我有一个包含每个国家/地区边界坐标的 shapefile。现在,我想使用 matplotlib 将这
我使用 postgresql 9.1,postgis 2.0.1。为了将 shapefile 导入我的数据库,我使用 shp2pgsql。我尝试了很多导入这些 shapefile 的方法(shp2pg
有没有办法读取具有特定字符编码的形状文件?我正在尝试读取在某些名称中包含特殊(法语)字符的加拿大 shapefile。我可以手动转换它们,但如果我对某处的设置一无所知,我宁愿不这样做。 # manua
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
library(raster) admin <- getData('GADM', country='FRA', level=2) set.seed(123) id <- data.frame(ID_2
我目前有一个英国的 shapefile,并绘制了英国不同地区的物种种群。到目前为止,我刚刚绘制了 3 个物种种群水平,并将它们着色为红色 = 高、橙色 = 中、绿色 = 低。但我想做的是有一个渐变图,
Facebook 构建了它所谓的 relative wealth index适用于全局 > 1900 万个微型区域(2.4 公里网格单元)。他们已经 shared the data ( zip ) 在
在阅读了大量帖子和网站后,我无法找到如何从我的经纬度数据表中创建多边形 shapefile。我想创建这样的 map 。 我的csv数据文件包含地中海1000个点的经度、纬度和属性。我想按属性创建 sh
你好我尝试实现传单插入,以显示本地托管的 shapefile。 shapefile 的显示有效,但我想添加一个图层控件(用于切换 shapefile 图层)。插件链接:https://github.c
使用下面的代码,我可以创建一条折线并将其写入形状文件。但我也想读取Polyline类型的形状文件并将Point转换为x:f64和y:f64。 use shapefile::{Point, Polyli
我有一个包含亚马逊大河的 shapefile。仅 shapefile 就有 37.9 MB,连同属性表高达 42.1 MB。我正在生成所有巴西亚马逊的 PNG 图像,每个 1260x940 像素,sh
我正在尝试导入这样的形状文件: fn <- "Proj1" my_shp <- readShapeSpatial(fn) 在 Windows 计算机(32 位)上它工作正常,但是当我在 Ubuntu
我有一个导出 ArcGIS map 点的应用程序。 Spring MVC Controller 中的接收点。 我的指针有一个可变的属性列表。属性是具有两个值(名称和值)的字符串列表。代码: publi
我正在编写一个 map 应用程序,用于导入人口普查和 USGS 信息并将其显示为 Google map 上的叠加层。我想导出这些项目的混搭并导出为 Shapefile . 我使用 geotools 库
我是一名优秀的程序员,十分优秀!