سلام دوستان.
من به تازگی کلاسی برای کار با داده های GIS پیدا کردم اما یه مشکل کوچیک دارم. قبل از اینکه بگم مشکلم رو باید عرض کنم که بنده آشنایی خیلی کمی با python دارم . مشکل اینه که توی داکیومنت این کلاس توضیح داده که برای استفادهش باید از قسمت Run ، گزینه python Shell رو بزنیم و انجا این دستورات رو مثلا فراخوانی کنیم:
import shapefile
w = shapefile.Writer(shapefile.POLYGON)
w.poly(parts=[[[1,5],[5,5],[5,1],[3,3],[1,1]]])
w.field('FIRST_FLD','C','40')
w.field('SECOND_FLD','C','40')
w.record('First','Polygon')
w.save('shapefiles/test/polygon')
خب تا اینجای ماجرا همه چیز درسته ، ولی من برای صرفه جویی در وقتم میخوام یه تابع بنویسم که دیگه این همه کد رو توی قسمت Shell ننویسم و مثلا بجای این چند خط کد فقط اینو بنویسم که :
import shapefile
shapefile.CreatePolygon
من برای اینکار یه تابع نوشم و به کلاس اصلی اضافه کردم ولی کار نمیکنه و پیغام میده : <function CreatShp at 0x0297F4B0>
def CreatePolygon():
import self as shapefile
w = shapefile.Writer(shapefile.POLYGON)
w.poly(parts=[[[1,5],[5,5],[5,1],[3,3],[1,1]]])
w.field('FIRST_FLD','C','40')
w.field('SECOND_FLD','C','40')
w.record('First','Polygon')
w.save('I:/B4J/Library/python/Objects/scripts')
دوستان اگه کمکم کنید خیلی بهم لطف کردین .ممنونم