ورود

View Full Version : کلاسی برای GIS



MahmoodGH
چهارشنبه 16 دی 1394, 02:17 صبح
سلام دوستان.
من به تازگی کلاسی برای کار با داده های 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')


دوستان اگه کمکم کنید خیلی بهم لطف کردین .ممنونم:لبخندساده:

n.nowroozi
چهارشنبه 16 دی 1394, 12:36 عصر
سلام دوستان.
من به تازگی کلاسی برای کار با داده های 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')


دوستان اگه کمکم کنید خیلی بهم لطف کردین .ممنونم:لبخندساده:
تابعت رو اجرا نکردی

CreatePolygon()

MahmoodGH
چهارشنبه 16 دی 1394, 13:32 عصر
تابعت رو اجرا نکردی

CreatePolygon()

ممنون که جواب دادی ، الان کاری که گفتی رو انجام دادم ولی هنوز درست عمل نمیکنه ، اگه میشه یه تستی کن ، ماژول رو توی پست اول ضمیمه کردم. شاید مشکل از تابعی باشه که نوشتم :CreatePolygon()