当前位置: 首页>>代码示例>>Python>>正文


Python shapefile.Writer方法代码示例

本文整理汇总了Python中shapefile.Writer方法的典型用法代码示例。如果您正苦于以下问题:Python shapefile.Writer方法的具体用法?Python shapefile.Writer怎么用?Python shapefile.Writer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在shapefile的用法示例。


在下文中一共展示了shapefile.Writer方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: import shapefile [as 别名]
# 或者: from shapefile import Writer [as 别名]
def __init__(self, filename=None, shapeType=1, hasShx=True):
    self.filename = filename
    self.hasShx = hasShx
    # Count records for metadata
    self.count = 0
    # Maximum number of records before disk flush
    self.max = 1000
    self.started = False
    self.minx = 0
    self.miny = 0
    self.maxx = 0
    self.maxy = 0
    self.numRecs = 0
    self.tmpShp = cStringIO.StringIO()
    if self.hasShx:
      self.tmpShx = cStringIO.StringIO()
    self.tmpDbf = cStringIO.StringIO()
    self.shp = open("%s.shp" % self.filename, "wb")
    if self.hasShx:
      self.shx = open("%s.shx" % self.filename, "wb")
    self.dbf = open("%s.dbf" % self.filename, "wb")
    self.dbfHdrLen = 0
    self.w = shapefile.Writer(shapeType) 
开发者ID:GeospatialPython,项目名称:Learn,代码行数:25,代码来源:pyshpLargeWriter.py

示例2: _point_file

# 需要导入模块: import shapefile [as 别名]
# 或者: from shapefile import Writer [as 别名]
def _point_file(test_file):
    with shapefile.Writer(test_file, shapefile.POINT) as shp:
        shp.field('name', 'C')

        shp.point(0, 0)
        shp.record('point1')

        shp.point(0, 1)
        shp.record('point2')

        shp.point(1, 1)
        shp.record('point3')

        shp.point(1, 0)
        shp.record('point4') 
开发者ID:has2k1,项目名称:plotnine,代码行数:17,代码来源:test_geom_map.py

示例3: _polygon_file

# 需要导入模块: import shapefile [as 别名]
# 或者: from shapefile import Writer [as 别名]
def _polygon_file(test_file):
    with shapefile.Writer(test_file, shapefile.POLYGON) as shp:
        shp.field('name', 'C')

        shp.poly([
            [[.25, -.25], [.25, .25], [.75, .25], [.75, -.25]],
        ])
        shp.record('polygon1')

        shp.poly([
            [[.25, .75], [.75, .75], [.5, 1.25]]
        ])
        shp.record('polygon2') 
开发者ID:has2k1,项目名称:plotnine,代码行数:15,代码来源:test_geom_map.py

示例4: _polyline_file

# 需要导入模块: import shapefile [as 别名]
# 或者: from shapefile import Writer [as 别名]
def _polyline_file(test_file):
    with shapefile.Writer(test_file, shapefile.POLYLINE) as shp:
        shp.field('name', 'C')

        n = 5
        x = np.repeat(np.linspace(0, 1, n), 2)
        y = np.tile([0.375, 0.625], n)
        shp.line([list(zip(x, y))])
        shp.record('line1') 
开发者ID:has2k1,项目名称:plotnine,代码行数:11,代码来源:test_geom_map.py

示例5: test_bad_points

# 需要导入模块: import shapefile [as 别名]
# 或者: from shapefile import Writer [as 别名]
def test_bad_points():
    shp = BytesIO()
    shx = BytesIO()
    dbf = BytesIO()
    w = shapefile.Writer(shp=shp, shx=shx, dbf=dbf)
    w.shapeType = 3
    w.field("spam", "N")
    w.line([[[5, 5], [10, 10]]])
    w.record(37)
    w.line([[[5, 0], [5, 5]]])
    w.record(100)
    w.line([[[5, 5], [0, 10]]])
    w.record(239)
    w.close()

    # pass a line shapefile here insted.
    p_shp = BytesIO()
    p_shx = BytesIO()
    p_dbf = BytesIO()
    p_w = shapefile.Writer(shp=p_shp, shx=p_shx, dbf=p_dbf)
    w.shapeType = 3
    p_w.field("spam", "N")
    p_w.line([[[5, 5], [10, 10]]])
    p_w.record(37)
    p_w.line([[[5, 0], [5, 5]]])
    p_w.record(100)
    p_w.line([[[5, 5], [0, 10]]])
    p_w.record(239)
    p_w.close()

    with raises(ValueError):
        read_shapefile(shp, dbf=dbf, points_shapefile=p_shp, points_dbf=p_dbf) 
开发者ID:landlab,项目名称:landlab,代码行数:34,代码来源:test_read_shapefile.py

示例6: test_points_but_too_far

# 需要导入模块: import shapefile [as 别名]
# 或者: from shapefile import Writer [as 别名]
def test_points_but_too_far():
    shp = BytesIO()
    shx = BytesIO()
    dbf = BytesIO()
    w = shapefile.Writer(shp=shp, shx=shx, dbf=dbf)
    w.shapeType = 3
    w.field("spam", "N")
    w.line([[[5, 5], [10, 10]]])
    w.record(37)
    w.line([[[5, 0], [5, 5]]])
    w.record(100)
    w.line([[[5, 5], [0, 10]]])
    w.record(239)
    w.close()

    # make a
    p_shp = BytesIO()
    p_shx = BytesIO()
    p_dbf = BytesIO()
    p_w = shapefile.Writer(shp=p_shp, shx=p_shx, dbf=p_dbf)
    p_w.shapeType = 1
    p_w.field("eggs", "N")
    p_w.point(5, 0)
    p_w.record(2)
    p_w.point(5, 5)
    p_w.record(4)
    p_w.point(0, 10)
    p_w.record(8)
    p_w.point(12, 10)
    p_w.record(6)
    p_w.close()

    with raises(ValueError):
        read_shapefile(shp, dbf=dbf, points_shapefile=p_shp, points_dbf=p_dbf) 
开发者ID:landlab,项目名称:landlab,代码行数:36,代码来源:test_read_shapefile.py

示例7: test_points_but_not_one_one

# 需要导入模块: import shapefile [as 别名]
# 或者: from shapefile import Writer [as 别名]
def test_points_but_not_one_one():
    shp = BytesIO()
    shx = BytesIO()
    dbf = BytesIO()
    w = shapefile.Writer(shp=shp, shx=shx, dbf=dbf)
    w.shapeType = 3
    w.field("spam", "N")
    w.line([[[5, 5], [10, 10]]])
    w.record(37)
    w.line([[[5, 0], [5, 5]]])
    w.record(100)
    w.line([[[5, 5], [0, 10]]])
    w.record(239)
    w.close()

    # make a
    p_shp = BytesIO()
    p_shx = BytesIO()
    p_dbf = BytesIO()
    p_w = shapefile.Writer(shp=p_shp, shx=p_shx, dbf=p_dbf)
    p_w.shapeType = 1
    p_w.field("eggs", "N")
    p_w.point(5, 0)
    p_w.record(2)
    p_w.point(5, 5)
    p_w.record(4)
    p_w.point(0, 10)
    p_w.record(8)
    p_w.point(10, 10)
    p_w.record(6)
    p_w.point(10, 10)
    p_w.record(7)
    p_w.close()

    with raises(ValueError):
        read_shapefile(shp, dbf=dbf, points_shapefile=p_shp, points_dbf=p_dbf) 
开发者ID:landlab,项目名称:landlab,代码行数:38,代码来源:test_read_shapefile.py

示例8: test_points_but_one_missing

# 需要导入模块: import shapefile [as 别名]
# 或者: from shapefile import Writer [as 别名]
def test_points_but_one_missing():
    shp = BytesIO()
    shx = BytesIO()
    dbf = BytesIO()
    w = shapefile.Writer(shp=shp, shx=shx, dbf=dbf)
    w.shapeType = 3
    w.field("spam", "N")
    w.line([[[5, 5], [10, 10]]])
    w.record(37)
    w.line([[[5, 0], [5, 5]]])
    w.record(100)
    w.line([[[5, 5], [0, 10]]])
    w.record(239)
    w.close()

    # make a
    p_shp = BytesIO()
    p_shx = BytesIO()
    p_dbf = BytesIO()
    p_w = shapefile.Writer(shp=p_shp, shx=p_shx, dbf=p_dbf)
    p_w.shapeType = 1
    p_w.field("eggs", "N")
    p_w.point(5, 0)
    p_w.record(2)
    p_w.point(5, 5)
    p_w.record(4)
    p_w.point(0, 10)
    p_w.record(8)
    p_w.close()

    with raises(ValueError):
        read_shapefile(shp, dbf=dbf, points_shapefile=p_shp, points_dbf=p_dbf) 
开发者ID:landlab,项目名称:landlab,代码行数:34,代码来源:test_read_shapefile.py

示例9: write_shapefile

# 需要导入模块: import shapefile [as 别名]
# 或者: from shapefile import Writer [as 别名]
def write_shapefile(df, filename, geomtype='line', prj=None):
    """
    create a shapefile given a pandas Dataframe that has coordinate data in a
    column called 'coords'.
    """

    import shapefile
    df['Name'] = df.index

    # create a shp file writer object of geom type 'point'
    if geomtype == 'point':
        w = shapefile.Writer(shapefile.POINT)
    elif geomtype == 'line':
        w = shapefile.Writer(shapefile.POLYLINE)
    elif geomtype == 'polygon':
        w = shapefile.Writer(shapefile.POLYGON)

    # use the helper mode to ensure the # of records equals the # of shapes
    # (shapefile are made up of shapes and records, and need both to be valid)
    w.autoBalance = 1

    # add the fields
    for fieldname in df.columns:
        w.field(fieldname, "C")

    for k, row in df.iterrows():
        w.record(*row.tolist())
        w.line(parts=[row.coords])

    w.save(filename)

    # add projection data to the shapefile,
    if prj is None:
        # if not sepcified, the default, projection is used (PA StatePlane)
        prj = os.path.join(ROOT_DIR, 'swmmio/defs/default.prj')
    prj_filepath = os.path.splitext(filename)[0] + '.prj'
    shutil.copy(prj, prj_filepath) 
开发者ID:aerispaha,项目名称:swmmio,代码行数:39,代码来源:spatial.py


注:本文中的shapefile.Writer方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。