fiona package¶
子包¶
- fiona.fio包
- 子模块
- fiona.fio.bounds 模块
- fiona.fio.calc 模块
- fiona.fio.cat 模块
- fiona.fio.collect 模块
- fiona.fio.distrib 模块
- fiona.fio.dump 模块
- fiona.fio.env 模块
- fiona.fio.filter 模块
- fiona.fio.helpers 模块
- fiona.fio.info 模块
- fiona.fio.insp 模块
- fiona.fio.load 模块
- fiona.fio.ls 模块
- fiona.fio.main 模块
- fiona.fio.options 模块
- fiona.fio.rm 模块
- 模块内容
子模块¶
fiona.collection 模块¶
-
class
fiona.collection.
BytesCollection
(bytesbuf, **kwds)¶ 基类:
fiona.collection.Collection
BytesCollection采用字节缓冲区并将其映射到虚拟文件,然后由fiona打开。
-
close
()¶ 删除与类关联的虚拟文件。
-
-
class
fiona.collection.
Collection
(path, mode='r', driver=None, schema=None, crs=None, encoding=None, layer=None, vsi=None, archive=None, enabled_drivers=None, crs_wkt=None, ignore_fields=None, ignore_geometry=False, **kwargs)¶ 基类:
object
一个类似文件的矢量数据集特性接口
Python文本文件对象是文件行上的迭代器。Fiona Collections 是类似的迭代器(不是列表!)覆盖以类似 GeoJSON的映射表示的特性。
-
property
bounds
¶ 返回 (minx, miny, maxx, maxy).
-
close
()¶ 在追加或写入模式下,将数据刷新到磁盘,然后结束访问。
-
property
closed
¶ 如果可以访问数据就显示``False``,否则就显示``True`` .
-
property
crs
¶ 返回Proj4字符串。
-
property
crs_wkt
¶ 返回WKT字符串。
-
property
driver
¶ 返回正确的OGR驱动程序的名称。
-
filter
(*args, **kwds)¶ 返回对记录的迭代器,但由与提供的
bbox
, a (minx, miny, maxx, maxy) tuple or a geometrymask
. An attribute filter can be set using an SQLwhere
clause, which uses the OGR SQL dialect .位置参数
stop
或start, stop[, step]
允许迭代跳过项或停在特定项。
-
flush
()¶ 刷新缓冲区。
-
get
(item)¶
-
guard_driver_mode
()¶
-
items
(*args, **kwds)¶ 返回通过fid、记录对的迭代器,可以选择通过与提供的
bbox
, a (minx, miny, maxx, maxy) tuple or a geometrymask
. An attribute filter can be set using an SQLwhere
clause, which uses the OGR SQL dialect .位置参数
stop
或start, stop[, step]
允许迭代跳过项或停在特定项。
-
keys
(*args, **kwds)¶ 返回FIDS上的迭代器,也可以通过与提供的
bbox
, a (minx, miny, maxx, maxy) tuple or a geometrymask
. An attribute filter can be set using an SQLwhere
clause, which uses the OGR SQL dialect .位置参数
stop
或start, stop[, step]
允许迭代跳过项或停在特定项。
-
property
meta
¶ 返回带有驱动程序、架构、crs和其他属性的映射。
-
next
()¶ 从迭代器返回下一条记录。
-
property
profile
¶ 返回带有驱动程序、架构、crs和其他属性的映射。
-
property
schema
¶ 返回描述数据架构的映射。
映射包含“geometry”和“properties”项。前者是一个字符串,如“point”,后者是一个按数据文件中字段顺序排列的有序映射。
-
validate_record
(record)¶ 将记录与集合的架构进行比较。
如果记录匹配就返回
True
,否则就返回``False`` .
-
validate_record_geometry
(record)¶ 将记录的几何图形与集合的架构进行比较。
如果记录匹配就返回
True
,否则就返回``False`` .
-
values
(*args, **kwds)¶ 返回对记录的迭代器,但由与提供的
bbox
, a (minx, miny, maxx, maxy) tuple or a geometrymask
. An attribute filter can be set using an SQLwhere
clause, which uses the OGR SQL dialect .位置参数
stop
或start, stop[, step]
允许迭代跳过项或停在特定项。
-
write
(record)¶ 准备一个写入磁盘的记录。
注意:此方法的每次调用都将启动并提交一个与数据源唯一的事务。
-
writerecords
(records)¶ 准备多个写入磁盘的记录。
-
property
-
fiona.collection.
get_filetype
(bytesbuf)¶ 检测bytesbuf的压缩类型。
仅限ZIP.TODO: 添加其他与GDAL/OGR相关的内容。
fiona.crs 模块¶
参考坐标系和功能
PROJ.4是这片土地的法律:http://proj.osgeo.org/。但是, PROJ.4坐标参考系是由参数字符串描述的,例如
+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs
这里我们使用映射:
{'proj': 'longlat', 'ellps': 'WGS84', 'datum': 'WGS84', 'no_defs': True}
-
fiona.crs.
from_epsg
(code)¶ 给定一个整数代码,返回一个类似EPSG的映射。
注意:输入代码未针对EPSG数据库进行验证。
-
fiona.crs.
from_string
(prjs)¶ 将PROJ.4字符串转换为参数映射。
像“+no-defs”这样的裸参数的值为
True
. 根据``all_proj_keys``列表检查所有密钥。
-
fiona.crs.
to_string
(crs)¶ 将参数映射转换为更传统的PROJ.4 字符串。
映射密钥是针对``all_proj_keys``列表进行测试的。省略了
True
的值,保留了密钥{'no_defs': True} -> "+no_defs",并且省略值不是str、int或float的项。
fiona.drvsupport 模块¶
fiona.env 模块¶
Fiona的GDAL/AWS环境
-
class
fiona.env.
Env
(session=None, **options)¶ 基类:
object
GDAL和AWS配置的抽象
GDAL库是有状态的:它有一个格式驱动程序注册表、一个错误堆栈和几十个配置选项。
Fiona与GDAL合作的方法是使用一个python上下文管理器来包装所有状态(参见pep 343,https://www.python.org/dev/pep s/pep-0343/)。当输入上下文时,注册GDAL驱动程序,配置错误处理程序,并设置配置选项。退出上下文后,将从注册表中删除驱动程序,并删除其他配置。
例子:
- 使用fiona.env(gdal_cachemax=512)作为env:
# 所有驱动程序都已注册,GDAL的栅格块缓存 # 大小设置为512MB。# 开始处理…… # 处理结束。
# 此时,配置选项被设置为其 # 先前(可能未设置)的值。
一个boto3 session或boto3 session构造函数参数 aws_access_key_id, aws_secret_access_key, aws_session_token 可以传递给Env的构造函数。在后一种情况下,将在需要时立即创建session。根据需要为GDAL配置AWS凭证。
-
credentialize
()¶ 获取凭据并配置GDAL
注意:如果GDAL环境已经有凭证,那么这个方法是一个no-op,除非session不是none。
没有
-
classmethod
default_options
()¶ 默认配置选项
没有
dict
-
drivers
()¶ 返回已注册驱动程序的映射。
-
classmethod
from_defaults
(session=None, **options)¶ 使用默认配置选项创建环境
- session可选择的
一个Session对象.
- **选项可选择的
GDAL配置选项的映射,例如, CPL_DEBUG=True, CHECK_WITH_INVERT_PROJ=False.
Env
Kwargs中的项目将覆盖在默认值上。
-
property
is_credentialized
¶ 测试是否存在云凭据
布尔
-
class
fiona.env.
GDALVersion
(major=0, minor=0)¶ 基类:
object
获取GDAL 版本和次版本组件以及版本之间比较的便捷类。这是高度简单化的,且假定版本的编号方案非常正常,且忽略除主要和次要组件之外的所有内容。
-
at_least
(other)¶
-
major
¶
-
minor
¶
-
classmethod
parse
(input)¶ 将输入的元组或字符串解析为GDALVersion。如果输入是GDALVersion实例,则返回该实例。
输入:GDALVersion的(主要,次要),字符串或实例的元组
GDALVersion 实例
-
classmethod
runtime
()¶ 返回当前GDAL运行时的GDALVersion
-
-
class
fiona.env.
NullContextManager
¶ 基类:
object
-
class
fiona.env.
ThreadEnv
¶ 基类:
_thread._local
-
fiona.env.
defenv
(**options)¶ 必要时创建默认环境。
-
fiona.env.
delenv
()¶ 删除现有环境中的选项。
-
fiona.env.
ensure_env
(f)¶ 在函数调用任何GDAL C函数之前确保存在env的装饰器。
- f函数
函数。
函数包装器。
如果已经存在一个环境,包装器将不做任何事情,并立即使用给定的参数调用f。
-
fiona.env.
ensure_env_with_credentials
(f)¶ 确保配置环境存在并具有证书。
- f函数
函数。
函数包装器。
函数包装器检查f的第一个参数,如果第一个参数是带有方案“s3”的URI,则对环境进行认证。
如果已经存在一个环境,包装器将不做任何事情,并立即使用给定的参数调用f。
-
fiona.env.
env_ctx_if_needed
()¶ 如果不存在,则返回Env
Env或无操作上下文管理器
-
fiona.env.
getenv
()¶ 获取当前选项的映射。
-
fiona.env.
hascreds
()¶
-
fiona.env.
hasenv
()¶
-
fiona.env.
require_gdal_version
(version, param=None, values=None, is_max_version=False, reason='')¶ 确保被调用函数或参数受运行时版本GDAL支持的装饰器。如果不满足条件,则发生GDALVersionError。
实例:
@require_gdal_version('2.2') def some_func():
使用小于2.2的运行时版本的GDAL调用`some_func`时,会引发GDALVersionErorr。
- γ
@require_gdal_version('2.2', param='foo') def some_func(foo='bar'):
使用GDAL <2.2上任何值的参数`foo`调用`some_func`时,会引发GDALVersionError。
- γ
@require_gdal_version('2.2', param='foo', values=('bar',)) def some_func(foo=None):
使用参数`foo`调用`some_func`并在GDAL <2.2上调用值'bar`会引发GDALVersionError。
version: tuple, string, or GDALVersion param: string (optional, default: None)
如果不存在 values ,那么将此参数与默认值以外的值一起使用,则至少需要 GDAL version.
- values: tuple, list, or set (optional, default: None)
包含至少需要GDAL version`的值. `param 需要 values.
- is_max_version: bool (optional, default: False)
如果 True 是表示提供的版本是允许的最大版本,而不是至少需要该版本。
- reason: string (optional: default: '')
除了有关GDAL version的消息外,还向用户显示自定义错误消息。使用此选项可以解释在必要时对用户上下文所做的更改。
包装函数
-
fiona.env.
setenv
(**options)¶ 在现有环境中设置选项。
fiona.errors 模块¶
-
exception
fiona.errors.
AttributeFilterError
¶ 基类:
fiona.errors.FionaValueError
使用数据集处理SQL WHERE子句时出错。
-
exception
fiona.errors.
CRSError
¶ 基类:
fiona.errors.FionaValueError
当crs映射既没有init项也没有proj项时。
-
exception
fiona.errors.
DataIOError
¶ 基类:
OSError
涉及驱动程序注册或可用性的IO错误。
-
exception
fiona.errors.
DatasetDeleteError
¶ 基类:
OSError
删除数据集失败
-
exception
fiona.errors.
DriverError
¶ 基类:
fiona.errors.FionaValueError
封装不支持的驱动程序和驱动程序模式错误。
-
exception
fiona.errors.
DriverIOError
¶ 基类:
OSError
特定于格式的驱动程序错误。
-
exception
fiona.errors.
DriverSupportError
¶ -
驱动程序不支持架构
-
exception
fiona.errors.
EnvError
¶ -
环境错误
-
exception
fiona.errors.
FieldNameEncodeError
¶ 基类:
UnicodeEncodeError
无法对字段名进行编码。
-
exception
fiona.errors.
FionaDeprecationWarning
¶ 基类:
UserWarning
关于Fiona功能降级的警告
-
exception
fiona.errors.
FionaError
¶ 基类:
Exception
Base Fiona error
-
exception
fiona.errors.
FionaValueError
¶ 基类:
ValueError
Fiona-特定值错误
-
exception
fiona.errors.
GDALVersionError
¶ -
如果GDAL的运行时版本不满足所需的GDAL版本时就会发生。
-
exception
fiona.errors.
GeometryTypeValidationError
¶ 基类:
fiona.errors.FionaValueError
试图写入架构中的未指定的几何体类型
-
exception
fiona.errors.
SchemaError
¶ 基类:
fiona.errors.FionaValueError
当模式映射没有属性或没有几何图形时。
-
exception
fiona.errors.
TransactionError
¶ 基类:
RuntimeError
与GDAL transactions有关的失败
-
exception
fiona.errors.
UnsupportedGeometryTypeError
¶ 基类:
KeyError
当Fiona不支持OGR几何类型时。
fiona.io 模块¶
能够读写集合的类
-
class
fiona.io.
MemoryFile
(file_or_bytes=None, filename=None, ext='')¶ 基类:
fiona.ogrext.MemoryFileBase
一个由内存文件支持的类似字节的对象。
在没有I/O的情况下允许进行读写格式化文件。
用初始字节创建的内存文件变为不可变的。不使用初始字节创建的内存文件可以使用类似文件的接口或数据集接口写入。
-
open
(driver=None, schema=None, crs=None, encoding=None, layer=None, vfs=None, enabled_drivers=None, crs_wkt=None, **kwargs)¶ 打开文件并返回Fiona collection集合对象。
如果数据已被写入,文件将以“r”模式打开。否则,文件将以“w”模式打开。
注意,没有 path 参数: MemoryFile 包含单个数据集,不需要指定路径。
其他参数是可选的且语义与 fiona.open() 的参数相同。
-
fiona.logutils 模块¶
记录帮助程序类。
-
class
fiona.logutils.
FieldSkipLogFilter
(name='')¶ 基类:
logging.Filter
筛选字段跳过日志消息。
最多每个字段传递一条消息,每个循环跳过一条消息。
-
filter
(record)¶ 如果看不到就通过记录。
-
-
class
fiona.logutils.
LogFiltering
(logger, filter)¶ 基类:
object
fiona.ogext 模块¶
-
class
fiona.ogrext.
FeatureBuilder
¶ 基类:
object
从OGR功能指针构建Fiona特性。
此函数未分配任何OGR对象,特性参数未被破坏。
-
class
fiona.ogrext.
ItemsIterator
¶
-
class
fiona.ogrext.
Iterator
¶ 基类:
object
提供对特征数据的迭代访问。
-
class
fiona.ogrext.
KeysIterator
¶
-
class
fiona.ogrext.
MemoryFileBase
¶ 基类:
object
由内存文件支持的类似BytesIO class 的Base。
-
close
()¶ 关闭内存文件并释放分配的内存。
-
exists
()¶ 测试内存文件是否存在。
- 布尔
如果内存文件存在,则为true。
-
read
()¶ 从内存文件读取大小字节。
-
seek
()¶ 寻找记忆文件中的位置。
-
tell
()¶ 告诉存储器文件中的当前位置。
-
write
()¶ 将数据字节写入内存文件
-
-
class
fiona.ogrext.
OGRFeatureBuilder
¶ 基类:
object
从Fiona特征映射构建OGR特征.
分配一个应被调用方销毁的OGR功能.从集合中借用层定义。
-
class
fiona.ogrext.
Session
¶ 基类:
object
-
get
()¶ 通过FID提供对特征数据的访问。
支持收藏.__contains__().
-
get_crs
()¶ 获取层的CRS
CRS
-
get_crs_wkt
()¶
-
get_driver
()¶
-
get_extent
()¶
-
get_feature
()¶ 通过FID提供对特征数据的访问。
支持收藏.__contains__().
-
get_fileencoding
()¶ DEPRECATED
-
get_length
()¶
-
get_schema
()¶
-
has_feature
()¶ 通过FID提供对特征数据的访问。
支持收藏.__contains__().
-
isactive
()¶
-
start
()¶
-
stop
()¶
-
-
fiona.ogrext.
buffer_to_virtual_file
()¶ 将字节缓冲区映射到虚拟文件。
ext 为空或以句点开头,最多包含一个句点。
-
fiona.ogrext.
featureRT
()¶
-
fiona.ogrext.
remove_virtual_file
()¶
fiona.ogext 模块¶
-
class
fiona.ogrext.
FeatureBuilder
¶ 基类:
object
从OGR功能指针构建Fiona特性。
此函数未分配任何OGR对象,特性参数未被破坏。
-
class
fiona.ogrext.
ItemsIterator
¶
-
class
fiona.ogrext.
Iterator
¶ 基类:
object
提供对特征数据的迭代访问。
-
class
fiona.ogrext.
KeysIterator
¶
-
class
fiona.ogrext.
MemoryFileBase
¶ 基类:
object
由内存文件支持的类似BytesIO class 的Base。
-
close
()¶ 关闭内存文件并释放分配的内存。
-
exists
()¶ 测试内存文件是否存在。
- 布尔
如果内存文件存在,则为true。
-
read
()¶ 从内存文件读取大小字节。
-
seek
()¶ 寻找记忆文件中的位置。
-
tell
()¶ 告诉存储器文件中的当前位置。
-
write
()¶ 将数据字节写入内存文件
-
-
class
fiona.ogrext.
OGRFeatureBuilder
¶ 基类:
object
从Fiona特征映射构建OGR特征.
分配一个应被调用方销毁的OGR功能.从集合中借用层定义。
-
class
fiona.ogrext.
Session
¶ 基类:
object
-
get
()¶ 通过FID提供对特征数据的访问。
支持收藏.__contains__().
-
get_crs
()¶ 获取层的CRS
CRS
-
get_crs_wkt
()¶
-
get_driver
()¶
-
get_extent
()¶
-
get_feature
()¶ 通过FID提供对特征数据的访问。
支持收藏.__contains__().
-
get_fileencoding
()¶ DEPRECATED
-
get_length
()¶
-
get_schema
()¶
-
has_feature
()¶ 通过FID提供对特征数据的访问。
支持收藏.__contains__().
-
isactive
()¶
-
start
()¶
-
stop
()¶
-
-
fiona.ogrext.
buffer_to_virtual_file
()¶ 将字节缓冲区映射到虚拟文件。
ext 为空或以句点开头,最多包含一个句点。
-
fiona.ogrext.
featureRT
()¶
-
fiona.ogrext.
remove_virtual_file
()¶
fiona.path 模块¶
数据集路径、标识符和文件名
-
class
fiona.path.
ParsedPath
(path, archive, scheme)¶ -
分析数据集URI/路径的结果
- 路径str
解析路径。在URI的情况下包括主机名和查询字符串。
- 档案文件str
解析的存档路径。
- 方案str
“https”或“zip+s3”等URI方案。
-
archive
¶
-
classmethod
from_uri
(uri)¶
-
property
is_local
¶ 测试路径是否为本地URI
-
property
is_remote
¶ 测试路径是否为远程网络URI
-
property
name
¶ 解析的路径的原始URI
-
path
¶
-
scheme
¶
-
class
fiona.path.
Path
¶ 基类:
object
数据集路径的基类
-
fiona.path.
parse_path
(path)¶ 将数据集的标识符或路径解析为其各个部分
- 路径str或类似路径的对象
要分析的路径。
ParsedPath或UnparsedPath
当遇到旧的GDAL 文件名时,它们将以未分析的路径返回。
-
fiona.path.
vsi_path
(path)¶ 将解析的路径转换为GDAL VSI 路径
- 路径路径
ParsedPath或UnparsedPath对象。
str
fiona.rfc3339 模块¶
-
class
fiona.rfc3339.
FionaDateTimeType
¶ 基类:
str
日期和时间。
-
class
fiona.rfc3339.
FionaDateType
¶ 基类:
str
没有时间的日期。
-
class
fiona.rfc3339.
FionaTimeType
¶ 基类:
str
没有日期的时间。
-
fiona.rfc3339.
parse_date
(text)¶ 给定一个RFC3339日期,返回一个tz-naive datetime元组
-
fiona.rfc3339.
parse_datetime
(text)¶ 给定rfc 3339 datetime,返回tz-naive datetime元组
-
fiona.rfc3339.
parse_time
(text)¶ 给定一个RFC3339时间,返回一个tz-naive datetime元组
fiona.schema 模块¶
-
fiona.schema.
normalize_field_type
()¶ 将自由格式字段类型规范化为字段类型的元素
- 文件类型str
类型:宽度格式,如“int:9”或“str:255”
- str
FIELD_TYPES中的元素
fiona.schema 模块¶
-
fiona.schema.
normalize_field_type
()¶ 将自由格式字段类型规范化为字段类型的元素
- 文件类型str
类型:宽度格式,如“int:9”或“str:255”
- str
FIELD_TYPES中的元素
fiona.session 模块¶
各种云中sessions的抽象。
-
class
fiona.session.
AWSSession
(session=None, aws_unsigned=False, aws_access_key_id=None, aws_secret_access_key=None, aws_session_token=None, region_name=None, profile_name=None, requester_pays=False)¶ -
配置对存储在AWS S3中的安全资源的访问。
-
property
credentials
¶ 会话凭据作为dict
-
get_credential_options
()¶ 获取作为GDAL配置选项的凭据
dict
-
property
-
class
fiona.session.
DummySession
(*args, **kwargs)¶ -
虚拟会话。
- 资格证书dict
会话凭据。
-
get_credential_options
()¶ 获取作为GDAL配置选项的凭据
dict
-
class
fiona.session.
GSSession
(google_application_credentials=None)¶ -
配置对存储在Google云存储中的安全资源的访问
-
property
credentials
¶ 会话凭据作为dict
-
get_credential_options
()¶ 获取作为GDAL配置选项的凭据
dict
-
classmethod
hascreds
(config)¶ 确定给定配置是否具有正确的凭据
- cls类
一节课。
- 配置dict
GDAL配置为dict。
布尔
-
property
-
class
fiona.session.
Session
¶ 基类:
object
配置对安全资源的访问的类的基础。
- 资格证书dict
会话凭据的密钥和值。
此类不打算实例化。
-
static
from_foreign_session
(session, cls=None)¶ 创建与外部对象匹配的会话对象 session.
- sessionobj
外部会话对象。
- cls会话类,可选
要返回的类。
Session
-
static
from_path
(path, *args, **kwargs)¶ 在以下位置创建适合数据的会话对象 path.
- 路径str
数据集路径或标识符。
- args序列
外部会话构造函数的位置参数。
- 关键字参数dict
外部会话构造函数的关键字参数。
Session
-
get_credential_options
()¶ 获取作为GDAL配置选项的凭据
dict
fiona.transform 模块¶
坐标和几何扭曲和重投影
-
fiona.transform.
transform
(src_crs, dst_crs, xs, ys)¶ 将坐标从一个参考系转换为另一个参考系。
- src_crs:str或dict
“epsg:4326”这样的字符串或proj4参数的dict,如{'proj': 'lcc', 'lat_0': 18.0, 'lat_1': 18.0, 'lon_0': -77.0} 表示转换 "source"或 "from"的坐标参考系。
- dst_crs:str或dict
在转换的“目的地”或“到”端代表参考系坐标的字符串或dict。
- xs: sequence of float
一个x坐标值的列表或元组。必须与
ys
参数具有相同的长度。- ys: sequence of float
Y坐标值的列表或元组。必须与
xs
参数具有相同的长度。
- xp,yp:浮点数列表
一对变换后的坐标序列。元素
xp
和yp
完全对应于xs
和ys
输入参数。
>>> transform('EPSG:4326', 'EPSG:26953', [-105.0], [40.0]) ([957097.0952383667], [378940.8419189212])
-
fiona.transform.
transform_geom
(src_crs, dst_crs, geom, antimeridian_cutting=False, antimeridian_offset=10.0, precision=- 1)¶ 将几何对象从一个参考系统转换为另一个参考系统。
- src_crs:str或dict
“epsg:4326”这样的字符串或proj4参数的dict,如{'proj': 'lcc', 'lat_0': 18.0, 'lat_1': 18.0, 'lon_0': -77.0} 表示转换 "source"或 "from"的坐标参考系。
- dst_crs:str或dict
在转换的“目的地”或“到”端代表参考系坐标的字符串或dict。
- geom: obj
具有“type”和“coordinates”成员的类似geojson的几何对象。
- antimeridian_cutting: bool, optional
True
要在反经线处将输出几何图形分为两个,默认值为“假”。- antimeridian_offset: float, optional
以十进制度数表示的与反子午线的距离,在反子午线外几何图形不会被切割。
- precision: int, optional
输出坐标的可选舍入精度,以小数位数表示。
- obj
一种新的具有转换坐标的类似geojson的几何体。注意,如果输出在反子午线,它可能被切割,并且具有不同的几何结构。
type
而不是输入,例如,多边形输入可能导致多多边形输出。
>>> transform_geom( ... 'EPSG:4326', 'EPSG:26953', ... {'type': 'Point', 'coordinates': [-105.0, 40.0]}) {'type': 'Point', 'coordinates': (957097.0952383667, 378940.8419189212)}
fiona.vfs 模块¶
实现ApacheVFS方案和URL。
-
fiona.vfs.
is_remote
(scheme)¶
-
fiona.vfs.
parse_paths
(uri, vfs=None)¶ 将uri或apache vfs url解析为其部分
- 返回:元组
(路径、方案、存档)
-
fiona.vfs.
valid_vsi
(vsi)¶ 确保VSI路径的所有部分都是有效的方案。
-
fiona.vfs.
vsi_path
(path, vsi=None, archive=None)¶
模块内容¶
菲奥娜是OGR整洁、敏捷的API。
Fiona为开放源码地理信息系统社区最受信任的地理数据访问库提供了一个最小、简单的python接口,并与pyproj、rtree和shapely等其他python地理信息系统包轻松集成。
多小?Fiona可以从shapefiles或其他GIS矢量格式中读取特征作为映射,并使用相同的格式将特征作为映射写入文件。这就是全部。没有任何要素或几何类。特征及其几何图形只是数据。
Fiona 特性是一个受geojson格式启发的Python映射。它有 id, 'geometry`, 以及 properties 密钥。 id 的值是功能的父集合中唯一的字符串标识符。 geometry 是另一个带有`type` 和 coordinates 密钥的映射 。一个特性的`properties` 是对应于它的属性表的另一个映射。例如:
- {'id': '1',
'geometry':{'type':'点','coordinates':(0.0,0.0)},'属性':{'label':'空岛'}}
是具有点几何图形和一个属性的FIONA功能。
使用返回的对象读取和写入功能 collection
功能。这些 Collection
对象很像python file
物体。一 Collection
在读取模式下打开可以作为功能的迭代器。以写入模式打开的一个提供 write
方法。
使用¶
下面是一个例子,从一个形状文件中读取一些选定的多边形特征,并为每个特征提取多边形外环的第一个顶点, 并将其用作写入 "points.shp" 文件的新特征的点几何图形。
>>> import fiona
>>> with fiona.open('docs/data/test_uk.shp', 'r') as inp:
... output_schema = inp.schema.copy()
... output_schema['geometry'] = 'Point'
... with collection(
... "points.shp", "w",
... crs=inp.crs,
... driver="ESRI Shapefile",
... schema=output_schema
... ) as out:
... for f in inp.filter(
... bbox=(-5.0, 55.0, 0.0, 60.0)
... ):
... value = f['geometry']['coordinates'][0][0]
... f['geometry'] = {
... 'type': 'Point', 'coordinates': value}
... out.write(f)
因为fiona集合是上下文管理器,所以当它们的 with
块结束。
-
fiona.
bounds
(ob)¶ 返回(minx、miny、maxx、maxy)边界框。
这个
ob
可能是特征记录或几何图形。
-
fiona.
listlayers
(fp, vfs=None)¶ 按索引顺序列出图层名
- fpURI (str或pathlib.path)或类似文件的对象
数据集资源标识符或文件对象。
- vfsstr
此参数已弃用。应改用“zip://”之类的URI方案。
- 列表
图层名称字符串的列表。
-
fiona.
open
(fp, mode='r', driver=None, schema=None, crs=None, encoding=None, layer=None, vfs=None, enabled_drivers=None, crs_wkt=None, **kwargs)¶ 打开集合进行读取、追加或写入
在写模式下,驱动程序名,如“esri shapefile”或“gpx”(参见ogr docs或
ogr2ogr --help
在命令行)和模式映射,例如:- {'geometry': 'Point',
- 'properties': [('class', 'int'), ('label', 'str'),
('value', 'float')]}
必须提供。如果需要在书面文件中对属性进行特定排序(“GIS术语中的字段”),则需要上面的(键、值)对列表或按顺序的dict。如果不需要排序,标准的dict就足够了。
在写入模式下,集合的坐标参考系可以由
crs
参数。它采用proj4样式的映射,比如- {'proj': 'longlat', 'ellps': 'WGS84', 'datum': 'WGS84',
'no_defs': True}
像速记字符串
EPSG:4326
或参考坐标系的WKT表示。
Fiona使用的驱动程序将尝试检测数据文件的编码。如果失败了,你可以提供适当的
encoding
例如用于自然地球数据集的“windows-1252”.当提供的路径指向包含多个已命名数据层的文件时,可以通过
layer
.用于打开数据集的驱动程序可能仅限于
enabled_drivers
参数。这个和driver
参数提供了对打开文件的很大控制。#当打开阅读时只尝试GeoJSON驱动程序,以下内容将引发
DataIOError
: fiona.open('example.shp', driver='GeoJSON')#首先尝试GeoJSON驱动程序,然后尝试Shapefile驱动程序, #以下操作成功:fiona.open(
'example.shp',enabled_drivers=['geojson','esri shapefile'])
- fpURI (str或pathlib.path)或类似文件的对象
数据集资源标识符或文件对象。
- 模式str
“r”中的一个读(默认);“a”中的一个附加;或“w”中的一个写。
- 驱动str
在“w”模式下,格式驱动程序名称是必需的。在“r”或“a”模式下,此参数无效。
- 模式dict
在“w”模式下是必需的,在“r”或“a”模式下无效。
- crsstr 或 dict
在“w”模式下是必需的,在“r”或“a”模式下无效。
- 编码str
用于对数据集进行编码或解码的编码的名称。
- 图层整型或者字符型
多层数据集中某一层的整数索引或名称。
- vfsstr
此参数已弃用。应改用“zip://”之类的URI方案。
- enabled_drivers列表
打开集合时要使用的驱动程序名称的可选列表。
- crs_wktstr
坐标参考系的可选WKT表示法。
- 关键字参数映射
其他特定于驱动程序的参数,将由OGR库解释为图层创建或打开选项。
Collection
-
fiona.
prop_type
(text)¶ 返回架构属性的正确python类型。
例子:
>>> prop_type('int') <class 'int'> >>> prop_type('str:25') <class 'str'>
-
fiona.
prop_width
(val)¶ 返回str类型属性的宽度。
未定义非str属性。如:
>>> prop_width('str:25') 25 >>> prop_width('str') 80