输出一个shapefile文件中的前十条记录

来源:互联网 发布:java集合视频教程 编辑:程序博客网 时间:2024/06/16 08:44

在使用Python编译的时候出现如下错误:

SyntaxError: Non-ASCII character '\xe5' in file Test1.py on line 8, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

解决方法

python的默认编码文件是用的ASCII码,将文件存成了UTF-8,编译就可以通过。或在在py文件开头(必须是第一行)加入

#coding=utf-8  或者 # -*- coding:utf-8 -*-  
#coding=utf-8import sysfrom osgeo import ogr#-*- coding: cp936 -*-try:         from osgeo import gdal         from osgeo import ogrexcept ImportError:         import gdal         import ogr# 为了支持中文路径,请添加下面这句代码gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "NO")# 为了使属性表字段支持中文,请添加下面这句gdal.SetConfigOption("SHAPE_ENCODING", "")fn = r'F:\pythonGEO\ChinaShp\baishuijiang.shp'# 注册所有的驱动ogr.RegisterAll()ds = ogr.Open(fn, 0)if ds is None:    sys.exit('Could not open {0}'.format(fn))lyr = ds.GetLayer(0)i = 0for feat in lyr:    pt = feat.geometry()    x = pt.GetX()    y = pt.GetY()    objectID = feat.GetField('OBJECTID')    name=feat.GetField('编号')    person=feat.GetField('人类活')    print(objectID,name,person, x, y)    i += 1    if i == 100:        breakdel ds
原创粉丝点击