本文整理汇总了Python中osgeo.ogr.wkbPoint方法的典型用法代码示例。如果您正苦于以下问题:Python ogr.wkbPoint方法的具体用法?Python ogr.wkbPoint怎么用?Python ogr.wkbPoint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类osgeo.ogr
的用法示例。
在下文中一共展示了ogr.wkbPoint方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_idx_as_shp
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import wkbPoint [as 别名]
def get_idx_as_shp(self, path, gt, wkt):
'''
Exports a Shapefile containing the locations of the extracted
endmembers. Assumes the coordinates are in decimal degrees.
'''
coords = pixel_to_xy(self.get_idx(), gt=gt, wkt=wkt, dd=True)
driver = ogr.GetDriverByName('ESRI Shapefile')
ds = driver.CreateDataSource(path)
srs = osr.SpatialReference()
srs.ImportFromEPSG(4326)
layer = ds.CreateLayer(path.split('.')[0], srs, ogr.wkbPoint)
for pair in coords:
feature = ogr.Feature(layer.GetLayerDefn())
# Create the point from the Well Known Text
point = ogr.CreateGeometryFromWkt('POINT(%f %f)' % pair)
feature.SetGeometry(point) # Set the feature geometry
layer.CreateFeature(feature) # Create the feature in the layer
feature.Destroy() # Destroy the feature to free resources
# Destroy the data source to free resources
ds.Destroy()
示例2: saveToShape
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import wkbPoint [as 别名]
def saveToShape(array, srs, outShapeFile):
# Parse a delimited text file of volcano data and create a shapefile
# use a dictionary reader so we can access by field name
# set up the shapefile driver
import ogr
outDriver = ogr.GetDriverByName('ESRI Shapefile')
# create the data source
if os.path.exists(outShapeFile):
outDriver.DeleteDataSource(outShapeFile)
# Remove output shapefile if it already exists
# options = ['SPATIALITE=YES'])
ds = outDriver.CreateDataSource(outShapeFile)
# create the spatial reference, WGS84
lyrout = ds.CreateLayer('randomSubset', srs, ogr.wkbPoint)
fields = [array[1].GetFieldDefnRef(i).GetName()
for i in range(array[1].GetFieldCount())]
for i, f in enumerate(fields):
field_name = ogr.FieldDefn(f, array[1].GetFieldDefnRef(i).GetType())
field_name.SetWidth(array[1].GetFieldDefnRef(i).GetWidth())
lyrout.CreateField(field_name)
for k in array:
lyrout.CreateFeature(k)
# Save and close the data source
ds = None
示例3: plot_layer
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import wkbPoint [as 别名]
def plot_layer(filename, symbol, layer_index=0, **kwargs):
"""Plots an OGR layer using the given symbol."""
ds = ogr.Open(filename)
for row in ds.GetLayer(layer_index):
geom = row.geometry()
geom_type = geom.GetGeometryType()
# Polygons
if geom_type == ogr.wkbPolygon:
plot_polygon(geom, symbol, **kwargs)
# Multipolygons
elif geom_type == ogr.wkbMultiPolygon:
for i in range(geom.GetGeometryCount()):
subgeom = geom.GetGeometryRef(i)
plot_polygon(subgeom, symbol, **kwargs)
# Lines
elif geom_type == ogr.wkbLineString:
plot_line(geom, symbol, **kwargs)
# Multilines
elif geom_type == ogr.wkbMultiLineString:
for i in range(geom.GetGeometryCount()):
subgeom = geom.GetGeometryRef(i)
plot_line(subgeom, symbol, **kwargs)
# Points
elif geom_type == ogr.wkbPoint:
plot_point(geom, symbol, **kwargs)
# Multipoints
elif geom_type == ogr.wkbMultiPoint:
for i in range(geom.GetGeometryCount()):
subgeom = geom.GetGeometryRef(i)
plot_point(subgeom, symbol, **kwargs)
# Now plot countries, rivers, and cities.
示例4: _check_src
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import wkbPoint [as 别名]
def _check_src(self, src):
"""Basic check of source elements (sequence of points or polygons).
- array cast of source elements
- create ogr_src datasource/layer holding src points/polygons
- transforming source grid points/polygons to ogr.geometries
on ogr.layer
"""
tmpfile = tempfile.NamedTemporaryFile(mode="w+b").name
ogr_src = io.gdal.gdal_create_dataset(
"ESRI Shapefile", os.path.join("/vsimem", tmpfile), gdal_type=gdal.OF_VECTOR
)
src = np.array(src)
# create memory datasource, layer and create features
if src.ndim == 2:
geom_type = ogr.wkbPoint
# no Polygons, just Points
else:
geom_type = ogr.wkbPolygon
fields = [("index", ogr.OFTInteger)]
georef.vector.ogr_create_layer(
ogr_src, self._name, srs=self._srs, geom_type=geom_type, fields=fields
)
georef.vector.ogr_add_feature(ogr_src, src, name=self._name)
return ogr_src
示例5: test_ogr_create_layer
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import wkbPoint [as 别名]
def test_ogr_create_layer(self):
ds = wradlib.io.gdal_create_dataset("Memory", "test", gdal_type=gdal.OF_VECTOR)
with pytest.raises(TypeError):
georef.ogr_create_layer(ds, "test")
lyr = georef.ogr_create_layer(
ds, "test", geom_type=ogr.wkbPoint, fields=[("test", ogr.OFTReal)]
)
assert isinstance(lyr, ogr.Layer)
示例6: test_ogr_add_feature
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import wkbPoint [as 别名]
def test_ogr_add_feature(self):
ds = wradlib.io.gdal_create_dataset("Memory", "test", gdal_type=gdal.OF_VECTOR)
georef.ogr_create_layer(
ds, "test", geom_type=ogr.wkbPoint, fields=[("index", ogr.OFTReal)]
)
point = np.array([1198054.34, 648493.09])
parr = np.array([point, point, point])
georef.ogr_add_feature(ds, parr)
georef.ogr_add_feature(ds, parr, name="test")
示例7: test_ogr_add_geometry
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import wkbPoint [as 别名]
def test_ogr_add_geometry(self):
ds = wradlib.io.gdal_create_dataset("Memory", "test", gdal_type=gdal.OF_VECTOR)
lyr = georef.ogr_create_layer(
ds, "test", geom_type=ogr.wkbPoint, fields=[("test", ogr.OFTReal)]
)
point = ogr.Geometry(ogr.wkbPoint)
point.AddPoint(1198054.34, 648493.09)
georef.ogr_add_geometry(lyr, point, [42.42])
示例8: create_shapedir
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import wkbPoint [as 别名]
def create_shapedir(self):
drv = ogr.GetDriverByName("ESRI Shapefile")
shp = drv.CreateDataSource(self.path)
lyr = shp.CreateLayer("nodes", None, ogr.wkbPoint)
feature = ogr.Feature(lyr.GetLayerDefn())
feature.SetGeometry(None)
lyr.CreateFeature(feature)
feature.Destroy()
示例9: test_geocol_to_numpy
# 需要导入模块: from osgeo import ogr [as 别名]
# 或者: from osgeo.ogr import wkbPoint [as 别名]
def test_geocol_to_numpy(self):
# Create a geometry collection
geomcol = ogr.Geometry(ogr.wkbGeometryCollection)
# Create polygon
ring = ogr.Geometry(ogr.wkbLinearRing)
ring.AddPoint(1179091.1646903288, 712782.8838459781)
ring.AddPoint(1161053.0218226474, 667456.2684348812)
ring.AddPoint(1214704.933941905, 641092.8288590391)
ring.AddPoint(1228580.428455506, 682719.3123998424)
ring.AddPoint(1218405.0658121984, 721108.1805541387)
ring.AddPoint(1179091.1646903288, 712782.8838459781)
poly = ogr.Geometry(ogr.wkbPolygon)
poly.AddGeometry(ring)
geomcol.AddGeometry(poly)
# Add a point
point = ogr.Geometry(ogr.wkbPoint)
point.AddPoint(-122.23, 47.09)
geomcol.AddGeometry(point)
# Add a line
line = ogr.Geometry(ogr.wkbLineString)
line.AddPoint(-122.60, 47.14)
line.AddPoint(-122.48, 47.23)
geomcol.AddGeometry(line)
arr = georef.ogr_geocol_to_numpy(geomcol)[..., 0:2]
res = np.array(
[
[1179091.1646903288, 712782.8838459781],
[1161053.0218226474, 667456.2684348812],
[1214704.933941905, 641092.8288590391],
[1228580.428455506, 682719.3123998424],
[1218405.0658121984, 721108.1805541387],
[1179091.1646903288, 712782.8838459781],
]
)
np.testing.assert_allclose(arr, res)