আমি পাইথনে আরকোবজেক্টটি ব্যবহার করার চেষ্টা করছি। জ্যামিতি ডেটা সহ আমার অবজেক্টে একটি ইন্টারফেস (অর্থাত্ IZ.InterplateZsBetween) নির্ধারণে আমার সমস্যা আছে, কোডটি হ'ল:
from Comtypes.client import CreateObject, GetModule
import arcgisscripting
gp = arcgisscripting.create(9.3)
gp.setproduct("ArcInfo")
esriSystem = GetModule("C:/Program Files (x86)/ArcGIS/com/esriSystem.olb")
esriGeometry = GetModule("C:/Program Files (x86)/ArcGIS/com/esriGeometry.olb")
esriDataSourcesGDB = GetModule("C:/Program Files (x86)/ArcGIS/com/esriDataSourcesGDB.olb")
esriGeoDatabase = GetModule("C:/Program Files (x86)/ArcGIS/com/esriGeoDatabase.olb")
sPath ="c:/temp/test.gdb"
pWSF = CreateObject(esriDataSourcesGDB.FileGDBWorkspaceFactory,\
interface=esriGeoDatabase.IWorkspaceFactory)
pWS = pWSF.OpenFromFile(sPath, 0)
pFWS = pWS.QueryInterface(esriGeoDatabase.IFeatureWorkspace)
pFClass = pFWS.OpenFeatureClass("test_z")
pFCursor = pFClass.Search(None, True)
pFeat = pFCursor.NextFeature()
pIZ = pFeat.QueryInferface(esriGeometry.IZ2)
কেন এটি কাজ করছে না? আউটপুটটি হ'ল:
Traceback (most recent call last):
File "<pyshell#175>", line 1, in <module>
pIZ = pFeat.QueryInterface(esriGeometry.IZ2)
File "C:\Python25\lib\site-packages\comtypes\__init__.py", line 1078, in QueryInterface
self.__com_QueryInterface(byref(iid), byref(p))
COMError: (-2147467262, 'Taki interfejs nie jest obs\xb3ugiwany.', (None, None, None, 0,
None))
সুতরাং আমি চেষ্টা করেছি:
pShape = pFeat.ShapeCopy
pIZ = pShape.QueryInterface(esriGeometry.IZ2)
pShape.InterpolateZsBetween(0, 0, 0, 4)
এবং এই কাজ করছে। তবে কীভাবে এটিকে পিছনে রেখে আমার বৈশিষ্ট্যে সংরক্ষণ করতে হবে? আমি পাইথন এবং আরকোবজেক্টস শিখছি, সুতরাং দয়া করে বোধগম্য হন। যে কোন ধরণের সাহায্য গ্রহন করা হবে.