本文整理汇总了Python中rasterio.crs.CRS类的典型用法代码示例。如果您正苦于以下问题:Python CRS类的具体用法?Python CRS怎么用?Python CRS使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CRS类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_from_string
def test_from_string():
wgs84_crs = CRS.from_string('+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs')
assert wgs84_crs.to_dict() == {'init': 'epsg:4326'}
# Make sure this doesn't get handled using the from_epsg() even though 'epsg' is in the string
epsg_init_crs = CRS.from_string('+init=epsg:26911')
assert epsg_init_crs.to_dict() == {'init': 'epsg:26911'}
开发者ID:mapbox,项目名称:rasterio,代码行数:7,代码来源:test_crs.py
示例2: test_from_string
def test_from_string():
wgs84_crs = CRS.from_string('+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs')
assert wgs84_crs.to_dict() == {'no_defs': True, 'ellps': 'WGS84', 'datum': 'WGS84', 'proj': 'longlat'}
# Make sure this doesn't get handled using the from_epsg() even though 'epsg' is in the string
epsg_init_crs = CRS.from_string('+units=m +init=epsg:26911 +no_defs=True')
assert epsg_init_crs.to_dict() == {'units': 'm', 'init': 'epsg:26911', 'no_defs': True}
开发者ID:ceholden,项目名称:rasterio,代码行数:7,代码来源:test_crs.py
示例3: test_from_epsg_string
def test_from_epsg_string():
crs_dict = CRS.from_string('epsg:4326')
assert crs_dict['init'].lower() == 'epsg:4326'
# Test with invalid EPSG code
with pytest.raises(ValueError):
assert CRS.from_string('epsg:xyz')
开发者ID:ceholden,项目名称:rasterio,代码行数:7,代码来源:test_crs.py
示例4: test_is_projected
def test_is_projected():
assert CRS({'init': 'EPSG:3857'}).is_projected is True
lcc_crs = CRS.from_string('+lon_0=-95 +ellps=GRS80 +y_0=0 +no_defs=True +proj=lcc +x_0=0 +units=m +lat_2=77 +lat_1=49 +lat_0=0')
assert CRS(lcc_crs).is_projected is True
wgs84_crs = CRS.from_string('+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs')
assert CRS(wgs84_crs).is_projected is False
开发者ID:ceholden,项目名称:rasterio,代码行数:8,代码来源:test_crs.py
示例5: test_from_proj4_json
def test_from_proj4_json():
json_str = '{"proj": "longlat", "ellps": "WGS84", "datum": "WGS84"}'
crs_dict = CRS.from_string(json_str)
assert crs_dict == json.loads(json_str)
# Test with invalid JSON code
with pytest.raises(ValueError):
assert CRS.from_string('{foo: bar}')
开发者ID:ceholden,项目名称:rasterio,代码行数:8,代码来源:test_crs.py
示例6: test_issue_1446
def test_issue_1446():
"""Confirm resolution of #1446"""
g = transform_geom(
CRS.from_epsg(4326),
CRS.from_epsg(32610),
{"type": "Point", "coordinates": (-122.51403808499907, 38.06106733107932)},
)
assert round(g["coordinates"][0], 1) == 542630.9
assert round(g["coordinates"][1], 1) == 4212702.1
开发者ID:DanLipsitt,项目名称:rasterio,代码行数:9,代码来源:test_warp.py
示例7: test_is_geographic_from_string
def test_is_geographic_from_string():
wgs84_crs = CRS.from_string('+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs')
assert wgs84_crs.is_geographic is True
nad27_crs = CRS.from_string('+proj=longlat +ellps=clrk66 +datum=NAD27 +no_defs')
assert nad27_crs.is_geographic is True
lcc_crs = CRS.from_string('+lon_0=-95 +ellps=GRS80 +y_0=0 +no_defs=True +proj=lcc +x_0=0 +units=m +lat_2=77 +lat_1=49 +lat_0=0')
assert lcc_crs.is_geographic is False
开发者ID:mapbox,项目名称:rasterio,代码行数:9,代码来源:test_crs.py
示例8: test_bare_parameters
def test_bare_parameters():
""" Make sure that bare parameters (e.g., no_defs) are handled properly,
even if they come in with key=True. This covers interaction with pyproj,
which makes presents bare parameters as key=<bool>."""
# Example produced by pyproj
crs_dict = CRS.from_string('+lon_0=-95 +ellps=GRS80 +y_0=0 +no_defs=True +proj=lcc +x_0=0 +units=m +lat_2=77 +lat_1=49 +lat_0=0')
assert crs_dict.get('no_defs', False) is True
crs_dict = CRS.from_string('+lon_0=-95 +ellps=GRS80 +y_0=0 +no_defs=False +proj=lcc +x_0=0 +units=m +lat_2=77 +lat_1=49 +lat_0=0')
assert crs_dict.get('no_defs', True) is False
开发者ID:ceholden,项目名称:rasterio,代码行数:11,代码来源:test_crs.py
示例9: test_symmetric_proj4
def test_symmetric_proj4(tmpdir):
""" Test writing and reading proj4 string as attribute of variable """
ds = Dataset(str(tmpdir.join('test.nc')), 'w')
proj4 = '+proj=stere +units=m +datum=WGS84 +lat_ts=60 +lat_0=90 +lon_0=263 +lat_1=60 +x_0=3475000 +y_0=7475000'
ds.createVariable('data', 'S1')
set_crs(ds, 'data', Proj(proj4), set_proj4_att=True)
out_proj4 = get_crs(ds, 'data')
out_data = CRS.from_string(out_proj4).to_dict()
assert len(out_data) == 9 # There should be 9 parameters
assert CRS.from_string(proj4).to_dict() == out_data
开发者ID:consbio,项目名称:clover,代码行数:13,代码来源:test_crs.py
示例10: test_is_same_crs
def test_is_same_crs():
crs1 = CRS({'init': 'EPSG:4326'})
crs2 = CRS({'init': 'EPSG:3857'})
assert crs1 == crs1
assert crs1 != crs2
wgs84_crs = CRS.from_string('+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs')
assert crs1 == wgs84_crs
# Make sure that same projection with different parameter are not equal
lcc_crs1 = CRS.from_string('+lon_0=-95 +ellps=GRS80 +y_0=0 +no_defs=True +proj=lcc +x_0=0 +units=m +lat_2=77 +lat_1=49 +lat_0=0')
lcc_crs2 = CRS.from_string('+lon_0=-95 +ellps=GRS80 +y_0=0 +no_defs=True +proj=lcc +x_0=0 +units=m +lat_2=77 +lat_1=45 +lat_0=0')
assert lcc_crs1 != lcc_crs2
开发者ID:ceholden,项目名称:rasterio,代码行数:14,代码来源:test_crs.py
示例11: test_get_crs
def test_get_crs(tmpdir):
""" Test reading proj4 string from CF convention parameters """
ds = Dataset(str(tmpdir.join('test.nc')), 'w')
data_var = ds.createVariable('data', 'S1')
data_var.setncattr('grid_mapping', 'crs_Lambert')
crs_var = ds.createVariable('crs_Lambert', 'S1')
in_proj4 = '+proj=lcc +units=m +lat_1=30 +lat_2=60 +lat_0=47.5 +lon_0=-97 +x_0=3825000 +y_0=3200000'
# These parameters match the above proj4 string
ncatts = dict()
ncatts['grid_mapping_name'] = 'lambert_conformal_conic'
ncatts['latitude_of_projection_origin'] = 47.5
ncatts['longitude_of_central_meridian'] = -97
ncatts['standard_parallel'] = [30, 60]
ncatts['false_northing'] = 3200000
ncatts['false_easting'] = 3825000
set_ncattrs(crs_var, ncatts)
out_proj4 = get_crs(ds, 'data')
assert out_proj4 is not None
out_data = CRS.from_string(out_proj4).to_dict()
assert len(out_data) == 8 # There should be 8 parameters
assert CRS.from_string(in_proj4).to_dict() == out_data
# Test WGS84 lat/long
data_var = ds.createVariable('data2', 'S1')
data_var.setncattr('grid_mapping', 'crs_latlong')
crs_var = ds.createVariable('crs_latlong', 'S1')
in_proj4 = '+proj=latlong +a={0} +rf={1}'.format(pj_ellps['WGS84']['a'], pj_ellps['WGS84']['rf'])
# These parameters match the above proj4 string
ncatts = dict()
ncatts['grid_mapping_name'] = 'latitude_longitude'
ncatts['semi_major_axis'] = 6378137.0
ncatts['inverse_flattening'] = 298.257223563
set_ncattrs(crs_var, ncatts)
out_proj4 = get_crs(ds, 'data2')
assert out_proj4 is not None
out_data = CRS.from_string(out_proj4).to_dict()
assert len(out_data) == 4 # There should be 4 parameters
# Note: pyproj adds units=m even for latlong, which is incorrect but not our problem
assert CRS.from_string(in_proj4 + ' +units=m').to_dict() == out_data
开发者ID:consbio,项目名称:clover,代码行数:50,代码来源:test_crs.py
示例12: main
def main():
samplefile = r'bxk1-d-ck.idf'
tiffile = samplefile.replace('.idf', '.geotiff')
dtype = rasterio.float64
driver = 'AAIGrid'
crs = CRS.from_epsg(28992)
# read data from idf file
idffile = idfpy.IdfFile(filepath=samplefile, mode='rb')
geotransform = idffile.geotransform
height = idffile.header['nrow']
width = idffile.header['ncol']
nodata = idffile.header['nodata']
transform = Affine.from_gdal(*geotransform)
# write data from idf file to geotiff with rasterio
profile = {
'width': width,
'height': height,
'count': 1,
'dtype': dtype,
'driver': driver,
'crs': crs,
'transform': transform,
'nodata': nodata,
}
# the default profile would be sufficient for the example, however the profile dict shows how to make the export
# profile
idffile.to_raster(tiffile, **profile)
开发者ID:tomvansteijn,项目名称:idfpy,代码行数:30,代码来源:example_geotiff.py
示例13: index
def index(self, *args, **kwargs):
target_srs = self.crs
# Annotations are always in WGS84
source_srs = CRS.from_string("EPSG:4326")
args = transform_coordinates(source_srs, target_srs,
[args[0]], [args[1]])
return self.dataset.index(*args, **kwargs)
开发者ID:OpenGeoscience,项目名称:geonotebook,代码行数:8,代码来源:file_reader.py
示例14: __init__
def __init__(self, ul, crs, res, size, desc=None):
self.ul = ul
if isinstance(crs, six.string_types):
self.crs = CRS.from_string(crs)
elif isinstance(crs, int):
self.crs = CRS.from_epsg(crs)
else:
self.crs = crs
if not self.crs.is_valid:
raise ValueError('Could not parse coordinate reference system '
'string to a valid projection ({})'.format(crs))
self.crs_str = self.crs.to_string()
self.res = res
self.size = size
self.desc = desc or 'unnamed'
self._tiles = {}
开发者ID:ceholden,项目名称:tilezilla,代码行数:18,代码来源:tilespec.py
示例15: get_band_ix
def get_band_ix(self, indexes, x, y):
# Reproject to native data coordinates
target_srs = self.crs
# Annotations are always in WGS84
source_srs = CRS.from_string("EPSG:4326")
transformed_x, transformed_y = transform_coordinates(source_srs,
target_srs,
[x], [y])
return list(self.dataset.sample([(transformed_x, transformed_y)],
indexes=indexes))[0]
开发者ID:OpenGeoscience,项目名称:geonotebook,代码行数:11,代码来源:file_reader.py
示例16: test_warped_vrt
def test_warped_vrt(path_rgb_byte_tif):
"""A VirtualVRT has the expected VRT properties."""
with rasterio.open(path_rgb_byte_tif) as src:
vrt = WarpedVRT(src, crs=DST_CRS)
assert vrt.dst_crs == CRS.from_string(DST_CRS)
assert vrt.src_nodata == 0.0
assert vrt.dst_nodata == 0.0
assert vrt.tolerance == 0.125
assert vrt.resampling == Resampling.nearest
assert vrt.warp_extras == {"init_dest": "NO_DATA"}
assert vrt.mask_flag_enums == ([MaskFlags.nodata],) * 3
开发者ID:basaks,项目名称:rasterio,代码行数:11,代码来源:test_warpedvrt.py
示例17: test_reproject_init_dest_nodata
def test_reproject_init_dest_nodata():
"""No pixels should transfer over"""
crs = CRS.from_epsg(4326)
transform = Affine.identity()
source = np.zeros((1, 100, 100))
destination = np.ones((1, 100, 100))
reproject(
source, destination, src_crs=crs, src_transform=transform,
dst_crs=crs, dst_transform=transform,
src_nodata=0, init_dest_nodata=False
)
assert destination.all()
开发者ID:DanLipsitt,项目名称:rasterio,代码行数:12,代码来源:test_warp.py
示例18: test_empty_json
def test_empty_json():
with pytest.raises(CRSError):
CRS.from_string('{}')
with pytest.raises(CRSError):
CRS.from_string('[]')
with pytest.raises(CRSError):
CRS.from_string('')
开发者ID:ceholden,项目名称:rasterio,代码行数:7,代码来源:test_crs.py
示例19: retrieve_tilespecs
def retrieve_tilespecs():
""" Retrieve default tile specifications packaged within ``tilezilla``
Returns:
dict: default tilespecs packaged within ``tilezilla`` as TileSpec
objects
"""
tilespecs = json.loads(pkgutil.get_data('tilezilla',
'data/tile_specs.json').decode())
for key in tilespecs:
tilespecs[key]['crs'] = CRS.from_string(tilespecs[key]['crs'])
tilespecs[key] = TileSpec(desc=key, **tilespecs[key])
return tilespecs
开发者ID:ceholden,项目名称:tilezilla,代码行数:13,代码来源:tilespec.py
示例20: test_linear_units_factor
def test_linear_units_factor():
"""CRS linear units can be had"""
assert CRS.from_epsg(3857).linear_units_factor[0] == 'metre'
assert CRS.from_epsg(3857).linear_units_factor[1] == 1.0
assert CRS.from_epsg(2261).linear_units_factor[0] == 'US survey foot'
assert CRS.from_epsg(2261).linear_units_factor[1] == pytest.approx(0.3048006096012192)
with pytest.raises(CRSError):
CRS.from_epsg(4326).linear_units_factor
开发者ID:mapbox,项目名称:rasterio,代码行数:8,代码来源:test_crs.py
注:本文中的rasterio.crs.CRS类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论