Daha çox

ArcObjects istifadə edərək imleci azad edirsiniz?

ArcObjects istifadə edərək imleci azad edirsiniz?


ArcObjects, xüsusən ICursor Interface ilə işləyirəm. Kursor yaradıram və sorğunun nəticələr dəsti ilə tanış oluram. Problemim / narahatlığım, sorğunun nəticə dəsti ilə döngə bitirdikdən sonra imleci necə bağlamaq və ya silmək və ya buraxmaqdır. Sorğu bir Sql iş sahəsinə ötürülür (ISqlWorkspace interfeysi vasitəsilə). Kod aşağıdakı kimidir

ISqlWorkspace pSQL_WS = myWorkspace kimi ISqlWorkspace; ICursor pCursor = pSQL_WS.OpenQueryCursor (strQuery); string cursorResults = ""; IRow pRow; while ((pRow = pCursor.NextRow ())! = null) {int fc = pRow.Fields.FieldCount; for (int x = 0; x 

Mən həqiqətən sorğunun nəticələrini götürürəm və mətn elementinə yerləşdirirəm. Son sətirdən sonra kursorumu bağlamaq / silmək / buraxmaq istədiyimi düşünürəm, ancaq bunu necə edəcəyimə əmin deyiləm.


Bir imleci buraxmaq üçün ReleaseComObject istifadə etməlisiniz, Esri help (9.2) -dən hələ də qüvvədə olan bu məqaləyə baxın.

Kodunuza düzəliş edildi:

ISqlWorkspace pSQL_WS = myWorkspace kimi ISqlWorkspace; ICursor pCursor = pSQL_WS.OpenQueryCursor (strQuery); string cursorResults = ""; IRow pRow; while ((pRow = pCursor.NextRow ())! = null) {int fc = pRow.Fields.FieldCount; for (int x = 0; x 

Bu kilidlərin sərbəst buraxılması əks halda iş sahəsi / xüsusiyyət sinfi alətin ömrü üçün kilidlənir (və əgər ArcCatalog və ya ArcMap-da tətbiqat bağlanana qədər davam edərsə) və sahələrin silinməsinin / adının dəyişdirilməsinin / əlavə edilməsinin qarşısını alacaq ...

Bir xüsusiyyət sinifinin artıq kilidli olub olmadığını yoxlamaq üçün sahələr əlavə etmədən və ya xüsusiyyət sinifini dəyişdirməyə / silməyə çalışmadan əvvəl test edilməli olan ISchemaLock.GetCurrentSchemaLocks istifadə edin.


Məkan sorğuları edərkən yavaş cavab.

Visual Studio 2010 Professional - Version 10.0.40219.1 SP1Rel istifadə edirəm. Microsoft .NET Framework - Versiya 4.5.50938 SP1Rel. Masaüstü üçün ArcGIS 10.1 SP1 - Build 3143.

Bir poçt kodu sərhədindəki bütün ünvan nöqtələrini geri çəkmək üçün bir məkan sorğusu edirəm, buna görə bütün nöqtələr bir çoxbucaqlı içərisindədir.

ArcMap iclasında nöqtə qatını və çoxbucaqlı təbəqəni yükləmişəmsə və son nəticə çoxbucaqlı içəridə 15.000 baldırsa, 10-15 dəqiqə davam edə bilər, əgər serverdə etsəm yaddaşında bitmir.

Problemin Visual Studio-nun necə qurulmasında olduğuna inanıram, qurmadım, sadəcə maşınımda quraşdırıldı. Hədəf CPU-nu, qurulmuş AnyCPU ayarlarından x86-ya dəyişdirmək üçün Qabaqcıl Kompilyator Ayarlarında tapdığım bir qətnamə axtararkən. Bunu etdikdən sonra serverdə işləyəcək (çox yavaş) və təsadüfi yaddaşınız tükənəcək, çox yaxşı deyil, bir inkişaf.

Həm də görünür ki, poçt kodlarını daha yavaş və yavaş alıram. Sessiyanı bağlayıb yenidən başlasam, sürət (nə var) geri qalxır və yavaşlamağa başlayır.

Mən həmişə kiçik bir məkan sorğuları, bir nöqtə və ya bir məhəllədəki nöqtələri etdim, amma bu qədər böyük sorğu etmədim. Bəli, hər məkan sorğusundan sonra imleci buraxıram.

İstifadə etdiyim kodu yerləşdirəcəm, buna baxdığınız üçün təşəkkür edirəm.

Kodda poçt kodu sərhədindəki bütün nöqtələri tapıram və nöqtədəki poçt kodunun içindəki poçt kodu sərhədinə uyğun gəldiyini yoxlayıram.


ArcObjects istifadə edərək imleci azad edirsiniz? - Coğrafi İnformasiya Sistemləri

COM Sınıfı 'UniqueValueRenderer'. 19.03.2015 13:20:41 PM 'C: ArcGIS COM esriCarto.olb' dan yaradıldı.

Təsvir 'Simvolların unikal bir atribut dəyərlərinə əsaslanan xüsusiyyətlərə təyin olunduğu unikal dəyərlər göstəricisi. "Generator Options: PromptForTypeLibraries = False ClashPrefix = esri_ LowerCaseMemberNames = True IDispatchOnly = False RetryOnReject False AwtForOcxs = True ArraysAsObjects = False DontRenameSameMethods = False ImplementConflictingInterfaces = True ReuseMethods = True RenameConflictingInterfaceMethods = True GenBeanInfo = True GenerateJavadoc =

Sahə Xülasəsi
statik uzun serialVersionUID
Com.esri.arcgis.carto.IUniqueValueRenderer interfeysindən miras qalan sahələr
IID, IIDc3346d2a_b2bc_11d1_8817_080009ec732a, xxDummy
Com.esri.arcgis.carto.IUniqueValueRenderer2 interfeysindən miras qalan sahələr
IID, IID78b2e6fc_a027_4b63_a52d_3ad0ba2f2e81, xxDummy
Com.esri.arcgis.carto.IFeatureRendererUpdate interfeysindən miras qalan sahələr
IID, IID735c4d99_e28d_4ad4_b5b9_a12c1d8319fc, xxDummy
Com.esri.arcgis.carto.ILevelRenderer interfeysindən miras qalan sahələr
IID, IIDdc3d8097_c1ed_11d2_9f21_00c04f6bc709, xxDummy
Com.esri.arcgis.system.IPersistStream interfeysindən miras qalan sahələr
IID, IID00000109_0000_0000_c000_000000000046, xxDummy
Com.esri.arcgis.system.IPersist interfeysindən miras qalan sahələr
IID0000010c_0000_0000_c000_000000000046
Com.esri.arcgis.carto.IRendererClasses interfeysindən miras qalan sahələr
IID, IID3f25cc56_cc66_4930_a5fd_bc981601cea6, xxDummy
Com.esri.arcgis.carto.IRotationRenderer interfeysindən miras qalan sahələr
IID, IID2f2047a6_42bd_11d2_aafd_00c04fa334b3, xxDummy
Com.esri.arcgis.carto.IRotationRenderer2 interfeysindən miras qalan sahələr
IID, IIDd85e5b0c_68b3_48c8_b8d2_087806273b47, xxDummy
Com.esri.arcgis.carto.ISizeRenderer interfeysindən miras qalan sahələr
IID, IID5ba3418a_4ba5_431a_b879_f2539c7be5ff, xxDummy
Com.esri.arcgis.carto.ITransparencyRenderer interfeysindən miras qalan sahələr
IID, IIDfb20665d_db1c_11d2_9f2e_00c04f6bc709, xxDummy
Com.esri.arcgis.display.IDisplayAdmin interfeysindən miras qalan sahələr
IID, IID12e361f0_1907_11d3_80c7_0080c79f0371, xxDummy
Com.esri.arcgis.carto.ILookupSymbol interfeysindən miras qalan sahələr
IID, IID736a377d_a1eb_4ce4_84b9_90f9588374c2, xxDummy
Com.esri.arcgis.system.IXMLSerialize interfeysindən miras qalan sahələr
IID, IIDc8545045_6615_48e3_af27_52a0e5fc35e2, xxDummy
Com.esri.arcgis.system.IXMLVersionSupport interfeysindən miras qalan sahələr
IID, IID72ca65b9_13de_48b7_8443_717b69b72a99, xxDummy
Com.esri.arcgis.carto.IExportSupport interfeysindən miras qalan sahələr
IID, IIDf6448010_3cc8_435e_b042_540e9a328f3b, xxDummy
Com.esri.arcgis.carto.ILookupLegendClass interfeysindən miras qalan sahələr
IID, IIDbdb4bf86_8691_4f1c_b009_42e39035f40e, xxDummy
Konstruktorun xülasəsi
UniqueValueRenderer ()
ArcGIS Engine istifadə edərək UniqueValueRenderer qurur.
UniqueValueRenderer (java.lang.Object obj)
Ləğv edildi. ArcGIS 9.2-dən etibarən, normal Java atışları ilə əvəz edilmişdir.
UniqueValueRenderer theUniqueValueRenderer = (UniqueValueRenderer) obj
Metodun xülasəsi
boşluq addReferenceValue (java.lang.String dəyəri, java.lang.String refValue)
Yenidən göstəriciyə əlavə edilmiş refValue ilə qruplaşdırılacaq göstəriciyə bir dəyər əlavə edir.
boşluq addValue (java.lang.String dəyəri, java.lang.String başlığı, ISymbol simvolu)
Siyahıya bir dəyər və uyğun bir simvol əlavə edir.
boolean canRender (IFeatureClass featClass, IDisplay ekranı)
Göstərilən xüsusiyyət sinfinin verilmiş ekranda göstərilə biləcəyini göstərir.
boşluq deserialize (IXMLSerializeData məlumatları)
Bir obyekti XML-dən deserializasiya edir.
boşluq çəkmək (IFeatureCursor imleci, int drawPhase, IDisplay ekranı, ITrackCancel trackCancel)
Verilən ekranda göstərilən kursordan xüsusiyyətlər çəkir.
boolean bərabərdir (java.lang.Object o)
Bu obyekti başqa ilə müqayisə edin
java.lang.String esri_getClass (int indeksi)
Sinif adı.
int getClassCount ()
Siniflərin sayı.
boşluq getClassID (GUID [] pClassID)
getClassID
statik java.lang.String getClsid ()
getClsid.
IColorRamp getColorRamp ()
Rəng Ramp Obyekti.
java.lang.String getColorScheme ()
Rəng sxemi (yalnız istifadəçi interfeysi mülkiyyəti).
java.lang.String getDefaultLabel ()
Dəqiqləşdirilməmiş dəyərlər üçün istifadə olunan etiket.
ISymbol getDefaultSymbol ()
Hər hansı bir təyin olunmamış dəyər çəkmək üçün istifadə olunan simvol (NULL ola bilər).
java.lang.String getDescription (java.lang.String dəyəri)
Göstərilən etiket üçün seçim.
java.lang.String getField (int indeksi)
Xüsusiyyətləri kateqoriyalara ayırmaq üçün istifadə olunan göstərilən indeksdəki sahə.
int getFieldCount ()
Göstəricinin istifadə etdiyi sahələrin sayı (0-3).
java.lang.String getFieldDelimiter ()
Sahə dəyərlərini ayırmaq üçün ayırıcı istifadə olunur.
java.lang.String getHeading (java.lang.String dəyəri)
Göstərilən dəyəri ehtiva edən başlıq.
com.esri.arcgis.interop.Dispatch getJintegraDispatch ()
Ləğv edildi. Yalnız daxili istifadə.
java.lang.String getLabel (java.lang.String dəyəri)
Göstərilən dəyər üçün etiketləyin.
ILegendGroup getLegendGroup (int indeksi)
Göstərilən indeksdə əfsanə qrupu.
int getLegendGroupCount ()
Obyektdə olan əfsanə qruplarının sayı.
ILegendItem getLegendItem ()
İstəyə görə.
java.lang.Object getLevelArray ()
Simvolların istifadə etdiyi bütün səviyyələri özündə cəmləşdirən sıra (səviyyəsiz simvollar 0 səviyyəsini alır).
java.lang.String getLookupStyleset ()
Uyğunlaşdırma üçün istifadə olunan stil (yalnız istifadəçi interfeysi mülkiyyəti).
java.lang.String getMinNamespaceSupported ()
Sınıfın seriallaşdıra biləcəyi minimum ad sahəsi (məsələn, 90 ad sahəsi).
java.lang.String getReferenceValue (java.lang.String dəyəri)
Müəyyən edilmiş dəyər üçün istinad dəyəri.
java.lang.String getRotationField ()
Fırlanma sahəsi.
int getRotationType ()
Fırlanma növü.
boşluq getSizeMax (_ULARGE_INTEGER [] pcbSize)
getSizeMax
java.lang.String getSizeRendererExpression ()
Ölçü ifadəsini alır.
int getSizeRendererFlags ()
Enum esriSizeRendererFlags-dən ibarət ölçü bayraqlarını alır.
boşluq getSizeRendererRandomRange (ikiqat [] pMinSize, ikiqat [] pMaxSize)
Təsadüfi ölçü üçün ölçü aralığını alır.
ISymbol getSymbol (java.lang.String dəyəri)
Göstərilən dəyərlə əlaqəli simvol.
ISymbol getSymbolByFeature (IFeature xüsusiyyəti)
Göstərilən xüsusiyyəti çəkmək üçün istifadə olunan simvol.
boşluq getSymbolRotation3DExpressions (java.lang.String [] pExpressionX, java.lang.String [] pExpressionY, java.lang.String [] pExpressionZ)
Hər ox ətrafında fırlanma üçün ifadələr alır.
int getSymbolRotation3DFlags ()
Enum esriSymbolRotation3DFlags-dən ibarət fırlanma bayraqlarını alır.
boşluq getSymbolRotation3DFlags2 (int [] pFlagX, int [] pFlagY, int [] pFlagZ)
Hər ox üçün bir bayraq alır.
boşluq getSymbolRotation3DRandomRanges (ikiqat [] pMinRotationX, ikiqat [] pMinRotationY, ikiqat [] pMinRotationZ, ikiqat [] pMaxRotationX, ikiqat [] pMaxRotationY, ikiqat [] pMaxRotationZ)
Hər ox üçün fırlanma aralığını alır (təsadüfi fırlanma üçün).
int getSymbolRotation3DRotationTypeZ ()
Z oxu ətrafında fırlanma növünü (coğrafi və ya arifmetik) (digər oxlar haqqında sərt kodlu hesab) alır.
java.lang.String getTransparencyField ()
Şəffaflıq sahəsi.
java.lang.String getValue (int indeksi)
Göstərilən indeksdəki dəyər.
int getValueCount ()
Veriləri kateqoriyaya ayırmaq üçün istifadə olunan unikal dəyərlərin sayı.
java.lang.String getWhereClause (int indeksi, ITable cədvəli)
WhereClause.
int hashCode ()
bu obyekt üçün hashcode
boşluq isDirty ()
isDirty
boolean isFlipSymbols ()
Simvolların çevrildiyini göstərir.
boolean isRenderPhase (int drawPhase)
Göstəricinin göstərilən çəkiliş mərhələsindən istifadə edib-etmədiyini göstərir.
boolean isReverseUniqueValuesSorting ()
Bənzərsiz dəyərlərin çevrildiyini göstərir.
boolean isSymbolsAreGradrated ()
Simvolların bitirildiyini göstərir.
boolean isUseDefaultSymbol ()
DefaultSymbol-un təyin edilməmiş dəyərlərin çəkilməsi üçün istifadə edildiyini göstərir.
boolean isUsesFilter ()
Cari obyektin bir filtrdən istifadə edərək çəkiləcəyini göstərir.
boşluq yük (IStream pstm)
yük
int lookupLegendClass (IFeature xüsusiyyəti, int [] legendGroupIdx)
Giriş xüsusiyyəti üçün əfsanə qrupunu və əfsanə sinif indekslərini qaytarır.
ISymbol lookupSymbol (boolean firstPass, IFeature xüsusiyyət)
Giriş funksiyası üçün göstəricinin simvoluna istinad qaytarır.
boşluq readyFilter (IFeatureClass fc, IQueryFilter queryFilter)
Sorğu filtrini göstərmə prosesi üçün hazırlayır.
boşluq readExternal (java.io.ObjectInput daxilində)
boşluq buraxmaq ()
UniqueValueRenderer-i buraxın.
boşluq removeAllValues ​​()
Bütün dəyərləri göstəricidən silər.
boşluq removeValue (java.lang.String dəyəri)
Göstəricidən bir dəyəri silər.
boşluq resetLookupSymbol (ISymbol simvolu)
Simvoldakı müvəqqəti seçimləri sıfırlayır (məs.
boşluq saxla (IStream pstm, int fClearDirty)
yadda saxla
boşluq serialize (IXMLSerializeData data)
Bir obyekti XML-ə seriyalı edir.
boşluq setColorRampByRef (IColorRamp ppColorRamp)
Rəng Ramp Obyekti.
boşluq setColorScheme (java.lang.String adı)
Rəng sxemi (yalnız istifadəçi interfeysi mülkiyyəti).
boşluq setCurrentDrawLevel (int rhs1)
Cari çəkmə səviyyəsi, (bütün səviyyələri çəkmək üçün -1 olaraq təyin olundu)
boşluq setDefaultLabel (java.lang.String etiketi)
Dəqiqləşdirilməmiş dəyərlər üçün istifadə olunan etiket.
boşluq setDefaultSymbol (ISymbol simvolu)
Hər hansı bir təyin olunmamış dəyər çəkmək üçün istifadə olunan simvol (NULL ola bilər).
boşluq setDescription (java.lang.String dəyəri, java.lang.String mətni)
Göstərilən etiket üçün seçim.
boşluq setExclusionSetByRef (IFeatureIDSet rhs1)
Müvəqqəti rəsm istisna dəstinə bir obyekt istinad.
boşluq setExportInfoByRef (IFeatureExportInfoGenerator rhs1)
İxrac məlumatları yaratmaq üçün köməkçi oject.
boşluq setField (int indeksi, java.lang.String sahəsi)
Xüsusiyyətləri kateqoriyalara ayırmaq üçün istifadə olunan göstərilən indeksdəki sahə.
boşluq setFieldCount (int fieldCount)
Göstəricinin istifadə etdiyi sahələrin sayı (0-3).
boşluq setFieldDelimiter (java.lang.String ayırıcı)
Sahə dəyərlərini ayırmaq üçün ayırıcı istifadə olunur.
boşluq setFieldType (int indeksi, boolean rhs2)
Göstərilən indeksdəki sahənin bir simli olub olmadığını göstərir.
boşluq setFlipSymbols (boolean artan)
Simvolların çevrildiyini göstərir.
boşluq setHeading (java.lang.String dəyəri, java.lang.String başlığı)
Göstərilən dəyəri ehtiva edən başlıq.
boşluq setLabel (java.lang.String dəyəri, java.lang.String etiketi)
Göstərilən dəyər üçün etiketləyin.
boşluq setLookupStyleset (java.lang.String adı)
Uyğunlaşdırma üçün istifadə olunan stil (yalnız istifadəçi interfeysi mülkiyyəti).
boşluq setReverseUniqueValuesSorting (boolean artan)
Bənzərsiz dəyərlərin çevrildiyini göstərir.
boşluq setRotationField (java.lang.String fieldName)
Fırlanma sahəsi.
boşluq setRotationType (int növü)
Fırlanma növü.
boşluq setSizeRendererExpression (java.lang.String pExpression)
Ölçü ifadəsini alır.
boşluq setSizeRendererFlags (int pFlags)
Enum esriSizeRendererFlags-dən ibarət ölçü bayraqlarını alır.
boşluq setSizeRendererRandomRange (ikiqat minSize, ikiqat maxSize)
Təsadüfi ölçülər üçün ölçü aralığını təyin edir.
boşluq setSymbol (java.lang.String dəyəri, ISymbol simvolu)
Göstərilən dəyərlə əlaqəli simvol.
boşluq setSymbolRotation3DExpressions (java.lang.String expressX, java.lang.String expressY, java.lang.String expressZ)
Hər ox ətrafında fırlanma üçün ifadələr təyin edir.
boşluq setSymbolRotation3DFlags (int pFlags)
Enum esriSymbolRotation3DFlags-dən ibarət fırlanma bayraqlarını alır.
boşluq setSymbolRotation3DFlags2 (int flagX, int flagY, int flagZ)
Hər ox üçün bir bayraq təyin edir.
boşluq setSymbolRotation3DRandomRanges (ikiqat minRotationX, double minRotationY, double minRotationZ, double maxRotationX, double maxRotationY, double maxRotationZ)
Hər ox üçün fırlanma aralığını təyin edir (təsadüfi fırlanma üçün).
boşluq setSymbolRotation3DRotationTypeZ (int pType)
Z oxu ətrafında fırlanma növünü (coğrafi və ya arifmetik) (digər oxlar haqqında sərt kodlu hesab) alır.
boşluq setSymbolsAreGradrated (boole simvollarıAreGradrated)
Simvolların bitirildiyini göstərir.
boşluq setTransparencyField (java.lang.String fieldName)
Şəffaflıq sahəsi.
boşluq setUseDefaultSymbol (boolean bayraq)
DefaultSymbol-un təyin edilməmiş dəyərlərin çəkilməsi üçün istifadə edildiyini göstərir.
boşluq setValue (int indeksi, java.lang.String dəyəri)
Göstərilən indeksdəki dəyər.
boşluq yeniləmə (IFeatureLayer pFeatureLayer)
yeniləmə
boşluq writeExternal (java.io.ObjectOutput çıxdı)
Java.lang.Object sinifindən miras qalan metodlar
klonlaşdır, yekunlaşdır, getClass, bildir, bildir, hamısı, toString, gözlə, gözlə, gözlə

SerialVersionUID

UniqueValueRenderer

Atır: java.io.IOException - interop problemi varsa java.net.UnknownHostException - interop problemi varsa

UniqueValueRenderer

ArcGIS Engine və ya Serverdən qaytarılan belə bir obyektə istinad edərək UniqueValueRenderer qurun. Bu, semantik baxımdan UniqueValueRenderer-ə obj tökməyə bərabərdir.

Parametrlər: obj - ArcGIS Mühərriki və ya Server Atışından qaytarılan bir obyekt: java.io.IOException - qarşılıqlı problem varsa

Metod detalı

GetClsid

Bərabərdir

Yeniləyir: java.lang.Object sinifində bərabərdir

HashCode

Yeniləyir: java.lang.Object sinifindəki hashCode

GetJintegraDispatch

Müəyyən edilmişdir: com.esri.arcgis.interop.RemoteObjRef interfeysində getJintegraDispatch

Buraxın

Müəyyən edilmişdir: com.esri.arcgis.interop.RemoteObjRef interfeysində buraxılma

GetField

Müəyyən: getField interfeysində ILookupLegendClass Xüsusi: getField interfeysində IUniqueValueRenderer Parametrlər: index - index (in) Returns: The alan Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetField

Müəyyən edilmişdir: interfeysdə setField IUniqueValueRenderer Parametrlər: indeks - indeks (in) sahəsi - sahə (in) Atır: java.io.IOException - interop problemi varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetFieldType

Müəyyən edilmişdir: interfeysdə setFieldType IUniqueValueRenderer Parametrlər: indeks - indeks (in) rhs2 - rhs2 (in) atır: java.io.IOException - interop problemi varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetFieldDelimiter

Müəyyənləşdirən: interfeysdə getFieldDelimiter IUniqueValueRenderer Qaytarır: ayırıcı atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetFieldDelimiter

Müəyyən edilmişdir: interfeysdə setFieldDelimiter IUniqueValueRenderer Parametrlər: ayırıcı - ayırıcı (içəridə) Atır: java.io.IOException - Qarışıq problemlər varsa.AutomationException - ArcObject komponenti istisna verirsə.

GetFieldCount

Müəyyən: getFieldCount interfeysində ILookupLegendClass Müəyyən: getFieldCount interfeysində IUniqueValueRenderer Qaytarır: fieldCount Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetFieldCount

Müəyyən edilmişdir: interfeysdə setFieldCount IUniqueValueRenderer Parameters: fieldCount - the fieldCount (in) Atır: java.io.IOException - Birlikdə problem varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetDefaultSymbol

Müəyyənləşdirən: IUniqueValueRenderer interfeysində getDefaultSymbol Returns: com.esri.arcgis.display.ISymbol-a istinad: Atışlar: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetDefaultSymbol

Müəyyən edilmişdir: interfeysdə setDefaultSymbol IUniqueValueRenderer Parameters: symbol - com.esri.arcgis.display.ISymbol-a istinad (in) Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetDefaultLabel

Tərəfindən müəyyən edilmişdir: IUniqueValueRenderer interfeysində getDefaultLabel Returns: Etiket Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetDefaultLabel

Müəyyən edilmişdir: interfeysdə setDefaultLabel IUniqueValueRenderer Parametrlər: etiket - Etiket (in) Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

IsUseDefaultSymbol

IUniqueValueRenderer interfeysində isUseDefaultSymbol tərəfindən qaytarılır: Bayraq atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetUseDefaultSymbol

Tərəfindən müəyyən edilmişdir: setUseDefaultSymbol interfeysində IUniqueValueRenderer Parametrlər: bayraq - Bayraq (içəridə) Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetValueCount

Müəyyən edilmişdir: interfeysdə getValueCount IUniqueValueRenderer Returns: the valueCount Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetValue

Tərəfindən müəyyən edilmişdir: IUniqueValueRenderer interfeysində getValue Parametrlər: indeks - İndeks (in) Qaytarır: Dəyər Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetValue

Müəyyən edilmişdir: interfeysdə setValue IUniqueValueRenderer Parametrlər: indeks - indeks (daxil) dəyər - dəyər (daxil) atır: java.io.IOException - interop problemi varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetReferenceValue

Tərəfindən müəyyən edilmişdir: IUniqueValueRenderer interfeysində getReferenceValue Parametrlər: dəyər - Qiymət (in) Qaytarır: RefValue Atır: java.io.IOException - Bir-birinə qarışmaq problemi varsa. AutomationException - ArcObject komponenti istisna verirsə.

AddReferenceValue

Müəyyən edilmişdir: interfeysdə addReferenceValue IUniqueValueRenderer Parametrlər: dəyər - dəyər (in) refValue - refValue (in) Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetSymbol

Tərəfindən müəyyən edilmişdir: IUniqueValueRenderer interfeysində getSymbol Parametrlər: dəyər - Qiymət (in) Qaytarır: com.esri.arcgis.display.ISymbol-a istinad: Atış: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetSymbol

Müəyyən edilmişdir: interfeysdə setSymbol IUniqueValueRenderer Parametrlər: dəyər - dəyər (in) işarəsi - com.esri.arcgis.display.ISymbol-a istinad (in) Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetLabel

Müəyyən edilmişdir: interfeysdə getLabel IUniqueValueRenderer Parametrlər: dəyər - Qiymət (daxil) Qaytarır: Etiket Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetLabel

Müəyyən edilmişdir: interfeysdə setLabel IUniqueValueRenderer Parametrlər: dəyər - dəyər (daxilində) etiketi - etiket (içində) Atır: java.io.IOException - qarşılıqlı əlaqə problemləri varsa. AutomationException - ArcObject komponenti istisna verirsə.

Təsvir

Tərəfindən müəyyən edilmişdir: IUniqueValueRenderer interfeysində getDescription Parametrlər: dəyər - Qiymət (in) Qaytarır: Mətn Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetDescription

Müəyyən edilmişdir: interfeysdə setDescription IUniqueValueRenderer Parametrlər: dəyər - Mətn dəyəri (daxilində) - Mətn (içində) Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetHeading

Müəyyən edilmişdir: interfeysdə getHeading IUniqueValueRenderer Parametrlər: dəyər - Qiymət (in) Qaytarır: Başlıq Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetHeading

Müəyyən edilmişdir: interfeysdə setHeading IUniqueValueRenderer Parametrlər: dəyər - dəyər (daxilində) başlıq - başlıq (içində) Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

AddValue

Müəyyən edilmişdir: interfeysdə addValue IUniqueValueRenderer Parametrlər: dəyər - dəyər (in) başlığı - başlıq (in) işarəsi - com.esri.arcgis.display.ISymbol (in) istinad: Atış: java.io.IOException - If interop problemləri var. AutomationException - ArcObject komponenti istisna verirsə.

Sil dəyər

Müəyyən edilmişdir: interface IUniqueValueRenderer-də RemoveValue Parametrlər: dəyər - Dəyər (in) Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

RemoveAllValues

Müəyyən: IUniqueValueRenderer interfeysində removeAllValues ​​Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetColorScheme

Müəyyənləşdirən: interfeysdə getColorScheme IUniqueValueRenderer Qaytarır: Ad atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetColorScheme

Müəyyən edilmişdir: interfeysdə setColorScheme IUniqueValueRenderer Parametrlər: ad - Ad (in) Atır: java.io.IOException - Birlikdə problem varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetLookupStyleset

Müəyyənləşdirən: interfeysdə getLookupStyleset IUniqueValueRenderer Qaytarır: Ad atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetLookupStyleset

Müəyyən edilmişdir: interfeysdə setLookupStyleset IUniqueValueRenderer Parametrlər: ad - Ad (in) Atır: java.io.IOException - Birlikdə problem varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetColorRamp

Müəyyənləşdirən: interfeysdə getColorRamp IUniqueValueRenderer2 Dönüşlər: com.esri.arcgis.display.IColorRamp-a istinad: Atışlar: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetColorRampByRef

Müəyyən edilmişdir: interfeysdə setColorRampByRef IUniqueValueRenderer2 Parametrlər: ppColorRamp - com.esri.arcgis.display.IColorRamp-a istinad (in) Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

IsReverseUniqueValuesSorting

Müəyyənləşdirən: isReverseUniqueValuesSorting interface in IUniqueValueRenderer2 Dönüşlər: Artan Atışlar: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetReverseUniqueValuesSorting

Müəyyənləşdirən: setReverseUniqueValues ​​interfeysdə çeşidləmə IUniqueValueRenderer2 Parametrlər: artan - Artan (içində) Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

IsFlipSymbols

IUniqueValueRenderer2 interfeysində isFlipSymbols tərəfindən qaytarılır: Yüksələn Atışlar: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetFlipSymbols

Müəyyən edilmişdir: interfeysdə setFlipSymbols IUniqueValueRenderer2 Parametrlər: artan - Yüksələn (içində) Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

CanRender

Qeydlər

Əgər göstərici xüsusiyyət qatına aid deyilsə, CanRender metoduna cavab olaraq False qaytara bilər. Məsələn, nöqtə sıxlığı göstəricisi yalnız çoxbucaqlı xüsusiyyət qatlarına aiddir və digər xüsusiyyət qatlarına cavab olaraq False qaytarır.

Məhsulun mövcudluğu

Dəstəklənən Platformalar

Müəyyən edilmişdir: IFeatureRenderer interfeysində canRender Parametrləri: featClass - com.esri.arcgis.geodatabase.IFeatureClass (in) ekranına istinad - com.esri.arcgis.display.IDisplay (in) istinadı Dönüşlər: Nəticə atır : java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

Hazırlamaq üçün filtr

Qeydlər

Bu metod Draw üsulundan əvvəl adlanır və göstəriciyə əlavə məhdudiyyətlər daxil etmək üçün sorğu filtrini tənzimləmək imkanı verir. Məsələn, göstərici üçün müəyyən bir sahə tələb olunarsa, Draw metodu zamanı əlçatan olmasını təmin etmək üçün bu sahəni filtrə əlavə edərdi.

Məhsulun mövcudluğu

Dəstəklənən Platformalar

Müəyyənləşdirən: interfeysdə preparatFilter IFeatureRenderer Parameters: fc - com.esri.arcgis.geodatabase.IFeatureClass (in) queryFilter - com.esri.arcgis.geodatabase.IQueryFilter (in) atışları: java.io .IOException - Interop problemi varsa. AutomationException - ArcObject komponenti istisna verirsə.

Qeydlər

Bu metod, bir qayda olaraq, xüsusiyyətləri ekrana gətirmək üçün çərçivə tərəfindən çağırılır. Bu, xəritədəki yeniləməyə cavab ola bilər. Bu metod ümumiyyətlə bütün xüsusiyyətləri təkrarlayır və hər bir xüsusiyyəti uyğun bir simvolla göstərir.

Fərdi xüsusiyyət adətən göstəricinin yaratdığı simvolla IFeatureDraw xüsusiyyətindəki Draw metodunu çağıraraq çəkilir. Bununla birlikdə, xüsusi bir xüsusiyyət göstərici yazarkən bir sıra fərqli metodlardan istifadə edərək istədiyiniz hər şeyi çəkə bilərsiniz. Daha çox məlumat üçün ArcObjects-in genişləndirilməsində xüsusi bir xüsusiyyət göstəricisinin yazılması bölməsinə baxın.

Kompleks göstərmənin çəkilişin yarısında ləğv edilməsinə icazə vermək üçün, göstərici adətən TrackCancel obyektini hər xüsusiyyət və ya xüsusiyyət dəstindən sonra yoxlayır. Ləğv əməliyyatı baş vermişsə, göstərici çıxacaq.

Üç rəsm mərhələsi var: seçim, izahat və coğrafiya və bu metod üç dəfəyə qədər çərçivə ilə adlandırıla bilər. Seçim mərhələsi istisna olmaqla, bu metod yalnız müəyyən bir çəkiliş mərhələsi üçün çağırılacaq, əgər çərçivənin RenderPhase-ə çağırışı bu mərhələ üçün doğru qayıtsa.

Xüsusiyyət göstəriciləri, adətən, yalnız coğrafiya mərhələsində xüsusiyyətlər çəkirlər, halbuki bəzi hallarda xüsusiyyətlər izahat mərhələsində çəkilir. Məsələn çoxbucaqlı xüsusiyyətlər üçün mütənasib simvolların çəkildiyi bir işi götürək. ProportionalSymbolRenderer coğrafiya mərhələsində fon doldurma simvolunu və izahat mərhələsində mütənasib ölçülü marker simvolunu çəkir.

Məhsulun mövcudluğu

Dəstəklənən Platformalar

Müəyyən edilmişdir: IFeatureRenderer interfeysini çəkmək Parametrlər: imlec - com.esri.arcgis.geodatabase.IFeatureCursor (in) drawPhase - com.esri.arcgis.system.esriDrawPhase sabit (in) ekranına istinad - coma istinad .esri.arcgis.display.IDisplay (in) trackCancel - com.esri.arcgis.system.ITrackCancel (in) istinadı Atır: java.io.IOException - Qarışıqlıq problemi varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetSymbolByFeature

Məhsulun mövcudluğu

Müəyyən edilmişdir: interfeysdə getSymbolByFeature IFeatureRenderer Parameters: xüsusiyyət - com.esri.arcgis.geodatabase.IFeature (in) istinad: Bir com.esri.arcgis.display.ISymbol atışları: java.io.IOException - Interop problemi varsa. AutomationException - ArcObject komponenti istisna verirsə.

IsRenderPhase

Məhsulun mövcudluğu

Tərəfindən müəyyən edilmişdir: IFeatureRenderer interfeysində isRenderPhase Parametrləri: drawPhase - Bir com.esri.arcgis.system.esriDrawPhase sabit (in) Qaytarır: Nəticə Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetExclusionSetByRef

Təsvir

Rəsmdən xaric ediləcək xüsusiyyət kimliklərinin siyahısı.

Qeydlər

Bəzi xüsusiyyət təqdim edənlər xüsusiyyətləri xaric etmək üçün bir bənd yaratmağa imkan verən IDataExclusion-u dəstəkləyir.

İstisna xüsusiyyətlərin çəkilməsinə mane olur. Xüsusiyyətlərin cədvəllərdə və sorğu nəticələrində görünməməsi ilə yanaşı çəkilməsinin qarşısını almaq üçün IFeatureLayerDefinition istifadə edərək təbəqə tərifi sorğusunu təyin edin.

Məhsulun mövcudluğu

Dəstəklənən Platformalar

Müəyyən: setExclusionSetByRef interfeysində IFeatureRenderer Parameters: rhs1 - com.esri.arcgis.carto.IFeatureIDSet (in) atışları: java.io.IOException - Bir-birinə qarşı problem varsa. AutomationException - ArcObject komponenti istisna verirsə.

Yeniləmə

Müəyyən edilmişdir: IFeatureRendererUpdate Parametrlər interfeysində yeniləmə: pFeatureLayer - com.esri.arcgis.carto.IFeatureLayer-ə istinad (at) Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

SetCurrentDrawLevel

Müəyyən edilmişdir: interfeysdə setCurrentDrawLevel ILevelRenderer Parametrlər: rhs1 - rhs1 (in) Atır: java.io.IOException - Əgər qarşılıqlı əlaqə problemləri varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetLevelArray

Müəllif: getLevelArray interfeysdə ILevelRenderer Returns: Variant Throws: java.io.IOException - Qarışıqlıq problemi varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetLegendGroupCount

Qeydlər

Əfsanə qruplarının sayı göstəricinin tətbiqi ilə müəyyən edilir, nəticədə bu xüsusiyyət yalnız oxunur. Məsələn, SimpleRenderer-də bir qrup, BiUniqueValueRenderer-də istənilən sayda qrup var.

Məhsulun mövcudluğu

Dəstəklənən Platformalar

Müəyyənləşdirilmiş: interfeysdə getLegendGroupCount ILegendInfo Returns: The Count Atır: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetLegendGroup

Məhsulun mövcudluğu

Müəyyən edilmişdir: interfeysdə getLegendGroup ILegendInfo Parametrlər: index - İndeks (in) Returns: com.esri.arcgis.carto.ILegendGroup'a istinad: Atış: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

GetLegendItem

Qeydlər

Layer və ya renderer əfsanə məlumatları ArcMap əfsanələrində göstərilmək üçün daha da formatlaşdırılmışdır. Bir göstərici, bu xüsusiyyət üçün bir LegendItem qaytararaq bu formatlamanı ləğv edə bilər. ESRI göstəriciləri ümumiyyətlə bu mülk üçün heç bir şey qaytarmır. Bu konfiqurasiya ilə əfsanə formatlaşdırması əfsanə obyektində istifadəçi və ya inkişaf etdirici seçiminə çevrilir.

Məhsulun mövcudluğu

Dəstəklənən Platformalar

Müəyyən edilmişdir: interfeysdə getLegendItem ILegendInfo Returns: com.esri.arcgis.carto.ILegendItem atışı: java.io.IOException - Qarışıq problemlər varsa. AutomationException - ArcObject komponenti istisna verirsə.

IsSymbolsAreGraduation

Təsvir

Bir təbəqə və ya göstəricinin əfsanəsi üçün istifadə olunan simvolların ölçüyə görə dəyişdiyini göstərir.

Qeydlər

Məsələn, nisbi simvol göstəricisi bu xüsusiyyət üçün True qaytarır.

Bu xassədən, rəngin rəngi ilə simvolizə edilmiş təbəqəni və ya rəmzi simvolu növünün simbologiyasını ayırmaq üçün istifadə edə bilərsiniz. Bu simvollaşdırmaların hər ikisi bir ClassBreaksRenderer istifadə edir, ancaq bu xüsusiyyət üçün yalnız məzun bir simvol simvolu True olaraq dönəcəkdir.


ArcObjects istifadə edərək imleci azad edirsiniz? - Coğrafi İnformasiya Sistemləri

COM Sınıfı 'Raster'. 19.03.2015 13:20:42 PM 'C: ArcGIS COM esriDataSourcesRaster.olb' dan yaradıldı.

Təsvir 'Yenidənqurma və yenidən layihələşdirməyi həyata keçirə bilən dinamik bir rasterin yaddaş içi təsviri. "Generator Options: PromptForTypeLibraries = False ClashPrefix = esri_ LowerCaseMemberNames = True IDispatchOnly = False RetryOnReject False AwtForOcxs = True ArraysAsObjects = False DontRenameSameMethods = False ImplementConflictingInterfaces = True ReuseMethods = True RenameConflictingInterfaceMethods = True GenBeanInfo = True GenerateJavadoc =

Sahə Xülasəsi
Com.esri.arcgis.geodatabase.IRaster interfeysindən miras qalan sahələr
IID, IIDaeec7d31_1533_11d2_8d25_0000f8780535, xxDummy
Com.esri.arcgis.datasourcesraster.IRaster2 interfeysindən miras qalan sahələr
IID, IID0d668d08_92c1_4999_9a77_490790821969, xxDummy
Com.esri.arcgis.datasourcesraster.IRasterEdit interfeysindən miras qalan sahələr
IID, IID32656121_4df9_45f3_bdd1_507d481e9b49, xxDummy
Com.esri.arcgis.datasourcesraster.IRasterProps interfeysindən miras qalan sahələr
IID, IID4b7b1bd0_a705_11d2_8e30_00a0249480f0, xxDummy
Com.esri.arcgis.datasourcesraster.IRasterBandCollection interfeysindən miras qalan sahələr
IID, IID7aca3d10_0629_11d2_8d24_0000f8780535, xxDummy
Com.esri.arcgis.datasourcesraster.IRasterDefaultProps interfeysindən miras qalan sahələr
IID, IIDe3afbee0_2dad_11d3_a3f6_0004ac1b1d86, xxDummy
Com.esri.arcgis.datasourcesraster.IRasterAnalysisProps interfeysindən miras qalan sahələr
IID, IID31e5ff30_2dad_11d3_a3f6_0004ac1b1d86, xxDummy
Com.esri.arcgis.system.ISupportErrorInfo interfeysindən miras qalan sahələr
IID, IIDdf0b3d60_548f_101b_8e65_08002b2bd119, xxDummy
Com.esri.arcgis.geodatabase.ISaveAs2 interfeysindən miras qalan sahələr
IID, IIDba3968e7_a18b_416d_8140_e4a06068cf1b, xxDummy
Com.esri.arcgis.geodatabase.ISaveAs interfeysindən miras qalan sahələr
IIDc7a92e97_597e_4a69_a872_29cb60b5e0db
Com.esri.arcgis.system.IClone interfeysindən miras qalan sahələr
IID, IID9bff8aeb_e415_11d0_943c_080009eebecb, xxDummy
Com.esri.arcgis.datasourcesraster.IPixelOperation interfeysindən miras qalan sahələr
IID, IID467f7216_8ac1_4aac_98bb_e656c135567a, xxDummy
Com.esri.arcgis.datasourcesraster.IRawBlocks interfeysindən miras qalan sahələr
IID, IIDf20ff8ff_643a_4669_a465_e14a5095e7dd, xxDummy
Com.esri.arcgis.datasourcesraster.IRasterResamplingControl interfeysindən miras qalan sahələr
IID, IIDdfef659c_012d_41ae_965d_5e1ec4841add, xxDummy
Konstruktorun xülasəsi
Raster ()
ArcGIS Engine istifadə edərək bir Raster qurur.
Raster (java.lang.Object obj)
Ləğv edildi. ArcGIS 9.2-dən etibarən, normal Java atışları ilə əvəz edilmişdir.
Raster theRaster = (Raster) obj
Metodun xülasəsi
boşluq əlavə et (IRasterBand elementi, int indeksi)
Qrup kolleksiyasına bir RasterBand əlavə edir.
boşluq appendBand (IRasterBand elementi)
Qrup kolleksiyasına bir RasterBand əlavə edir.
boşluq appendBands (IRasterBandCollection lentləri)
RasterBands kolleksiyasını qrup kolleksiyasına əlavə edir.
boşluq təyin et (IClone src)
Src xüsusiyyətlərini alıcıya təyin edir.
boolean canEdit ()
Bu Rasterin düzəldilə biləcəyini yoxlayır.
boolean canSaveAs (java.lang.String formatı)
Verilən bir formatın yeni davamlı bir Dataset kimi qeyd edilə biləcəyini yoxlayır.
boşluq aydın ()
Kolleksiyadakı bütün elementləri silir.
IRasterCursor createCursor ()
Sürətli raster tarama üçün bir Raster Kursoru ayırır.
IRasterCursor createCursorEx (IPnt pBlockSize)
Verilmiş piksel blok ölçüsü və ya yerli blok ölçüsü ilə bir kursor yaradır.
IPixelBlock createPixelBlock ()
Uyğun bir piksel bloku yaradın.
IPixelBlock createPixelBlock (IPnt ölçüsü)
İstədiyiniz ölçüdə bir PixelBlock ayırır.
boolean bərabərdir (java.lang.Object o)
Bu obyekti başqa ilə müqayisə edin
boşluq silmək (IPnt pTlc, IPixelBlock pPixelBlock)
Verilmiş Üst-Sol küncdən başlayan PixelBlock'u silir.
IClone esri_clone ()
Alıcını klonlayır və nəticəni * klonlaşdırır.
boşluq qızarmaq ()
Tamponlanmış məlumatları təmizləyir.
Zərf getAnalysisExtent ()
Rasterin təhlil dərəcəsi.
Hazırdır getAttributeTable ()
Raster dəyəri atribut cədvəli.
IRasterBand getBandByName (java.lang.String adı)
Bir RasterBand adını verdi.
int getBandIndex (java.lang.String adı)
Adını verən bir RasterBand indeksi.
IEnumRasterBand getBands ()
Kolleksiyadakı bütün lentlər RasterBands sayğac obyektinə bir interfeys olaraq.
statik java.lang.String getClsid ()
getClsid.
IRasterColormap getColormap ()
Colormap.
int getCount ()
Kolleksiyadakı lentlərin sayı.
Zərf getDefaultIntersectExtent ()
Varsayılan kəsişmə dərəcəsi.
ikiqat getDefaultPixelHeight ()
Varsayılan piksel ölçüsü Y.
ikiqat getDefaultPixelWidth ()
X-dəki standart piksel ölçüsü.
ISpatialReference getDefaultSpatialReference ()
Mənim cari istinad.
Zərf getDefaultUnionExtent ()
Varsayılan birlik dərəcəsi.
Zərf getExtent ()
Rasterin dərəcəsi.
IGeodataXform getGeodataXform ()
Geodata çevrilir.
IGeoTransformationOperationSet getGeoTransformations ()
Tətbiq ediləcək coğrafi dəyişikliklər toplusu.
int getHeight ()
Piksel boyu.
com.esri.arcgis.interop.Dispatch getJintegraDispatch ()
Ləğv edildi. Yalnız daxili istifadə.
java.lang.Object getNoDataValue ()
Etibarsız və ya xaric edilmiş məlumatları göstərmək üçün istifadə olunan məlumat dəyəri.
IPixelFilter getPixelFilter ()
Piksel dəyərlərinin süzülməsi üçün piksel filtri.
ikiqat getPixelHeight ()
Yer qətnaməsində piksel hündürlüyü.
int getPixelType ()
Piksellərin məlumat növü.
java.lang.Object getPixelValue (int iBand, int iColumn, int iRow)
Verilmiş bir sütunda və sətirdə müəyyən bir bant üçün piksel dəyərini alır.
ikiqat getPixelWidth ()
Yer qətnaməsində piksel genişliyi.
IRasterDataset getRasterDataset ()
Ana raster verilənlər bazası.
IRasterInfo getRasterInfo ()
Raster məlumatı.
IRasterXformer getRasterXformer ()
Raster transformatoru.
int getResampleMethod ()
Piksel oxuduqda istifadə olunan interpolasiya metodu.
int getResamplingHint ()
Raster yenidən qurma işarə.
ISpatialReference getSpatialReference ()
Rastrın Məkan Referansı.
int getWidth ()
Piksel şəklində eni.
int hashCode ()
bu obyekt üçün hashcode
boşluq interfaceSupportsErrorInfo (GUID riid)
interfaceSupportsErrorInfo
boolean isEqual (IClone digər)
Alıcının və digərlərinin eyni xüsusiyyətlərə malik olub olmadığını göstərir.
boolean isIdical (IClone digər)
Alıcının və digərlərinin eyni obyekt olub olmadığını göstərir.
boolean isInteger ()
Verilərin tam olduğunu göstərir.
IRasterBand maddə (int bandIndex)
İndeksi verilmiş bir RasterBand qaytarır.
boşluq makePermanent ()
Müvəqqəti bir rasteri qalıcı bir raster məlumat dəsti halına gətirir.
boşluq mapToPixel (cüt x, ikiqat y, int [] pColumn, int [] pRow)
Xəritə məkanındakı yeri (x, y) piksel boşluğuna çevirir.
IPnt meanCellSize ()
Rastrın təxmini hüceyrə ölçüsünü qaytarır.
boşluq pixelToMap (int iColumn, int iRow, ikiqat [] pX, ikiqat [] pY)
Piksel boşluğundakı yeri (sütun, sətir) xəritə boşluğuna çevirir.
boşluq oxuyun (IPnt tlc, IPixelBlock bloku)
Sol üst küncdən başlayaraq bir piksel blokunu oxuyun.
boşluq readBlock (int tx, int ty, int səviyyəsi, IPixelBlock pPixelBlock)
Çiy piksel bloku oxuyur.
boşluq təzələmək ()
Əlaqədar RasterDataset yeniləyir.
boşluq buraxmaq ()
Bir Raster buraxın.
boşluq sil (int indeksi)
Bir elementi kolleksiyadan çıxarır.
boşluq resetToDefault ()
Rasteri standart vəziyyətə gətirir
IDataset saveAs (java.lang.String new_name, IWorkspace worksp, java.lang.String formatı)
Kolleksiyadakı lentlərlə yeni davamlı bir RasterDataset yaradır.
IRasterDataset saveAsRasterDataset (java.lang.String adı, IWorkspace iş sahəsi, java.lang.String formatı, IRasterStorageDef storageDef)
Verilmiş bir format və müəyyən edilmiş yaddaş tərifinin yeni davamlı bir Raster məlumat dəsti yaradır.
boşluq setAnalysisExtentByRef (IEnvelope ppExtent)
Rasterin təhlil dərəcəsi.
boşluq setAttributeTableByRef (ITable ppVAT)
Raster dəyəri atribut cədvəli.
boşluq setColormapByRef (IRasterColormap ppColormap)
Colormap.
boşluq setExtent (IEnvelope ppExtent)
Rasterin dərəcəsi.
boşluq setGeodataXform (IGeodataXform ppXform)
Geodata çevrilir.
boşluq setGeoTransformationsByRef (IGeoTransformationOperationSet ppGeoXforms)
Tətbiq ediləcək coğrafi dəyişikliklər toplusu.
boşluq setHeight (int pVal)
Piksel boyu.
boşluq setNoDataValue (java.lang.Object pVal)
Etibarsız və ya xaric edilmiş məlumatları göstərmək üçün istifadə olunan məlumat dəyəri.
boşluq setPixelFilterByRef (IPixelFilter ppFilter)
Piksel dəyərlərinin süzülməsi üçün piksel filtri.
boşluq setPixelHeight (ikiqat hündürlük)
Yer qətnaməsində piksel hündürlüyü.
boşluq setPixelType (int pVal)
Piksellərin məlumat növü.
boşluq setPixelWidth (ikiqat en)
Yer qətnaməsində piksel genişliyi.
boşluq setResampleMethod (int val)
Piksel oxuduqda istifadə olunan interpolasiya metodu.
boşluq setResamplingHint (int pHint)
Raster yenidən qurma işarə.
boşluq setSpatialReference (ISpatialReference ppSpref)
Rastrın Məkan Referansı.
boşluq setWidth (int pVal)
Piksel şəklində eni.
ikiqat toMapX (int iColumn)
Bir piksel sütunu xəritədəki x koordinatına xəritələr.
ikiqat toMapY (int iRow)
Bir xəritə nöqtəsində y koordinatına bir piksel sətri xəritələr.
int toPixelColumn (ikiqat x)
Xəritə boşluğunda bir x koordinatını piksel sütununa xəritələr.
int toPixelRow (ikiqat y)
Xəritədəki boşluqda bir y koordinatını piksel sırasına xəritələr.
boşluq yaz (IPnt pTlc, IPixelBlock pPixelBlock)
Verilmiş Üst Sol küncdən başlayaraq PixelBlock yazır.
boşluq writeBlock (int tx, int ty, int səviyyəsi, IPixelBlock pPixelBlock)
Çiy piksel bloku yazır.
Java.lang.Object sinifindən miras qalan metodlar
klonlaşdır, yekunlaşdır, getClass, bildir, bildir, hamısı, toString, gözlə, gözlə, gözlə

Raster

Atır: java.io.IOException - interop problemi varsa java.net.UnknownHostException - interop problemi varsa

Raster

ArcGIS Engine və ya Serverdən qaytarılmış belə bir obyektə istinad edərək bir Raster qurun. Bu, semantik baxımdan Raster-ə obj tökməyə bərabərdir.


Coğrafi İnformasiya Sistemləri Mühəndisliyi

3 & # 8211 Visual Studio'yu açın (məs. 2012) və yeni bir layihə yaradın:

4 & # 8211 & # 8220Digər Dillər & # 8221 sekmesinde CPython tərcüməçisini istifadə etdiyimiz üçün Python seçimini seçin və aşağıda göstərilən xüsusiyyətləri təyin edin (həll və layihə adını müvafiq olaraq dəyişdirin) və təsdiqləmək üçün ok düyməsini basın.

5 & ​​# 8211 Visual Studio, PythonExample.py faylı daxil olmaqla həll və layihə yaradacaq.

6 & # 8211 Solution Explorer pəncərəsində PythonExample layihəsini sağ vurun və yeni bir qovluq yaradın.


ArcObjects istifadə edərək imleci azad edirsiniz? - Coğrafi İnformasiya Sistemləri

COM Sınıfı 'SimpleRenderer'. 19.03.2015 13:20:41 PM 'C: ArcGIS COM esriCarto.olb' dan yaradıldı.

Təsvir 'Hər bir xüsusiyyət üçün eyni simvolun çəkildiyi sadə bir göstərici. "Generator Options: PromptForTypeLibraries = False ClashPrefix = esri_ LowerCaseMemberNames = True IDispatchOnly = False RetryOnReject False AwtForOcxs = True ArraysAsObjects = False DontRenameSameMethods = False ImplementConflictingInterfaces = True ReuseMethods = True RenameConflictingInterfaceMethods = True GenBeanInfo = True GenerateJavadoc =

Sahə Xülasəsi
statik uzun serialVersionUID
Com.esri.arcgis.carto.ISimpleRenderer interfeysindən miras qalan sahələr
IID, IIDf3435800_5779_11d0_98bf_00805f7ced21, xxDummy
Com.esri.arcgis.carto.ILevelRenderer interfeysindən miras qalan sahələr
IID, IIDdc3d8097_c1ed_11d2_9f21_00c04f6bc709, xxDummy
Com.esri.arcgis.system.IPropertySupport interfeysindən miras qalan sahələr
IID, IID8a11ad55_2f4f_11d3_9fa0_00c04f6bc6a5, xxDummy
Com.esri.arcgis.system.IPersistStream interfeysindən miras qalan sahələr
IID, IID00000109_0000_0000_c000_000000000046, xxDummy
Com.esri.arcgis.system.IPersist interfeysindən miras qalan sahələr
IID0000010c_0000_0000_c000_000000000046
Com.esri.arcgis.carto.IRotationRenderer interfeysindən miras qalan sahələr
IID, IID2f2047a6_42bd_11d2_aafd_00c04fa334b3, xxDummy
Com.esri.arcgis.carto.IRotationRenderer2 interfeysindən miras qalan sahələr
IID, IIDd85e5b0c_68b3_48c8_b8d2_087806273b47, xxDummy
Com.esri.arcgis.carto.ISizeRenderer interfeysindən miras qalan sahələr
IID, IID5ba3418a_4ba5_431a_b879_f2539c7be5ff, xxDummy
Com.esri.arcgis.carto.ITransparencyRenderer interfeysindən miras qalan sahələr
IID, IIDfb20665d_db1c_11d2_9f2e_00c04f6bc709, xxDummy
Com.esri.arcgis.display.IDisplayAdmin interfeysindən miras qalan sahələr
IID, IID12e361f0_1907_11d3_80c7_0080c79f0371, xxDummy
Com.esri.arcgis.carto.ILookupSymbol interfeysindən miras qalan sahələr
IID, IID736a377d_a1eb_4ce4_84b9_90f9588374c2, xxDummy
Com.esri.arcgis.system.IXMLSerialize interfeysindən miras qalan sahələr
IID, IIDc8545045_6615_48e3_af27_52a0e5fc35e2, xxDummy
Com.esri.arcgis.system.IXMLVersionSupport interfeysindən miras qalan sahələr
IID, IID72ca65b9_13de_48b7_8443_717b69b72a99, xxDummy
Com.esri.arcgis.carto.IExportSupport interfeysindən miras qalan sahələr
IID, IIDf6448010_3cc8_435e_b042_540e9a328f3b, xxDummy
Konstruktorun xülasəsi
SimpleRenderer ()
ArcGIS Engine istifadə edərək SimpleRenderer qurur.
SimpleRenderer (java.lang.Object obj)
Ləğv edildi. ArcGIS 9.2-dən etibarən, normal Java atışları ilə əvəz edilmişdir.
SimpleRenderer theSimpleRenderer = (SimpleRenderer) obj
Metodun xülasəsi
boolean tətbiq olunur (java.lang.Object pUnk)
Alıcının istənilən vaxt verilmiş obyekti tətbiq edə biləcəyini göstərir.
java.lang.Object tətbiq etmək (java.lang.Object newObject)
Verilən xassəni alıcıya tətbiq edir və köhnə obyekti qaytarır.
boolean canApply (java.lang.Object pUnk)
Alıcının həmin an verilmiş obyekti tətbiq edə biləcəyini göstərir.
boolean canRender (IFeatureClass featClass, IDisplay ekranı)
Göstərilən xüsusiyyət sinfinin verilmiş ekranda göstərilə biləcəyini göstərir.
boşluq deserialize (IXMLSerializeData məlumatları)
Bir obyekti XML-dən deserializasiya edir.
boşluq çəkmək (IFeatureCursor imleci, int drawPhase, IDisplay ekranı, ITrackCancel trackCancel)
Verilən ekranda göstərilən kursordan xüsusiyyətlər çəkir.
boolean bərabərdir (java.lang.Object o)
Bu obyekti başqa ilə müqayisə edin
boşluq getClassID (GUID [] pClassID)
getClassID
statik java.lang.String getClsid ()
getClsid.
java.lang.Object getCurrent (java.lang.Object pUnk)
Hazırda istifadə olunan obyekt.
java.lang.String getDescription ()
Render təsviri.
com.esri.arcgis.interop.Dispatch getJintegraDispatch ()
Ləğv edildi. Yalnız daxili istifadə.
java.lang.String getLabel ()
Renderer etiketi.
ILegendGroup getLegendGroup (int indeksi)
Göstərilən indeksdə əfsanə qrupu.
int getLegendGroupCount ()
Obyektdə olan əfsanə qruplarının sayı.
ILegendItem getLegendItem ()
İstəyə görə.
java.lang.Object getLevelArray ()
Simvolların istifadə etdiyi bütün səviyyələri özündə cəmləşdirən sıra (səviyyəsiz simvollar 0 səviyyəsini alır).
java.lang.String getMinNamespaceSupported ()
Sınıfın seriallaşdıra biləcəyi minimum ad sahəsi (məsələn, 90 ad sahəsi).
java.lang.String getRotationField ()
Fırlanma sahəsi.
int getRotationType ()
Fırlanma növü.
boşluq getSizeMax (_ULARGE_INTEGER [] pcbSize)
getSizeMax
java.lang.String getSizeRendererExpression ()
Ölçü ifadəsini alır.
int getSizeRendererFlags ()
Enum esriSizeRendererFlags-dən ibarət ölçü bayraqlarını alır.
boşluq getSizeRendererRandomRange (ikiqat [] pMinSize, ikiqat [] pMaxSize)
Təsadüfi ölçü üçün ölçü aralığını alır.
ISymbol getSymbol ()
Hər bir xüsusiyyəti çəkmək üçün istifadə olunan simvol.
ISymbol getSymbolByFeature (IFeature xüsusiyyəti)
Göstərilən xüsusiyyəti çəkmək üçün istifadə olunan simvol.
boşluq getSymbolRotation3DExpressions (java.lang.String [] pExpressionX, java.lang.String [] pExpressionY, java.lang.String [] pExpressionZ)
Hər ox ətrafında fırlanma üçün ifadələr alır.
int getSymbolRotation3DFlags ()
Enum esriSymbolRotation3DFlags-dən ibarət fırlanma bayraqlarını alır.
boşluq getSymbolRotation3DFlags2 (int [] pFlagX, int [] pFlagY, int [] pFlagZ)
Hər ox üçün bir bayraq alır.
boşluq getSymbolRotation3DRandomRanges (ikiqat [] pMinRotationX, ikiqat [] pMinRotationY, ikiqat [] pMinRotationZ, cüt [] pMaxRotationX, ikiqat [] pMaxRotationY, ikiqat [] pMaxRotationZ)
Hər ox üçün fırlanma aralığını alır (təsadüfi fırlanma üçün).
int getSymbolRotation3DRotationTypeZ ()
Z oxu ətrafında fırlanma növünü (coğrafi və ya arifmetik) (digər oxlar haqqında sərt kodlu hesab) alır.
java.lang.String getTransparencyField ()
Şəffaflıq sahəsi.
int hashCode ()
bu obyekt üçün hashcode
boşluq isDirty ()
isDirty
boolean isRenderPhase (int drawPhase)
Göstəricinin göstərilən çəkiliş mərhələsindən istifadə edib-etmədiyini göstərir.
boolean isSymbolsAreGradrated ()
Simvolların bitirildiyini göstərir.
boolean isUsesFilter ()
Cari obyektin bir filtrdən istifadə edərək çəkiləcəyini göstərir.
boşluq yük (IStream pstm)
yük
ISymbol lookupSymbol (boolean firstPass, IFeature xüsusiyyət)
Giriş funksiyası üçün göstəricinin simvoluna istinad qaytarır.
boşluq readyFilter (IFeatureClass fc, IQueryFilter queryFilter)
Sorğu filtrini göstərmə prosesi üçün hazırlayır.
boşluq readExternal (java.io.ObjectInput daxilində)
boşluq buraxmaq ()
SimpleRenderer buraxın.
boşluq resetLookupSymbol (ISymbol simvolu)
Simvoldakı müvəqqəti seçimləri sıfırlayır (məs.
boşluq saxla (IStream pstm, int fClearDirty)
yadda saxla
boşluq serialize (IXMLSerializeData data)
Bir obyekti XML-ə seriyalı edir.
boşluq setCurrentDrawLevel (int rhs1)
Cari çəkmə səviyyəsi, (bütün səviyyələri çəkmək üçün -1 olaraq təyin olundu).
boşluq setDescription (java.lang.String mətni)
Render təsviri.
boşluq setExclusionSetByRef (IFeatureIDSet rhs1)
Müvəqqəti rəsm istisna dəstinə bir obyekt istinad.
boşluq setExportInfoByRef (IFeatureExportInfoGenerator rhs1)
İxrac məlumatları yaratmaq üçün köməkçi oject.
boşluq setLabel (java.lang.String etiketi)
Renderer etiketi.
boşluq setRotationField (java.lang.String fieldName)
Fırlanma sahəsi.
boşluq setRotationType (int növü)
Fırlanma növü.
boşluq setSizeRendererExpression (java.lang.String pExpression)
Ölçü ifadəsini alır.
boşluq setSizeRendererFlags (int pFlags)
Enum esriSizeRendererFlags-dən ibarət ölçü bayraqlarını alır.
boşluq setSizeRendererRandomRange (ikiqat minSize, ikiqat maxSize)
Təsadüfi ölçülər üçün ölçü aralığını təyin edir.
boşluq setSymbolByRef (ISymbol simvolu)
Hər bir xüsusiyyəti çəkmək üçün istifadə olunan simvol.
boşluq setSymbolRotation3DExpressions (java.lang.String expressX, java.lang.String expressY, java.lang.String expressZ)
Hər ox ətrafında fırlanma üçün ifadələr təyin edir.
boşluq setSymbolRotation3DFlags (int pFlags)
Enum esriSymbolRotation3DFlags-dən ibarət fırlanma bayraqlarını alır.
boşluq setSymbolRotation3DFlags2 (int flagX, int flagY, int flagZ)
Hər ox üçün bir bayraq təyin edir.
boşluq setSymbolRotation3DRandomRanges (ikiqat minRotationX, double minRotationY, double minRotationZ, double maxRotationX, double maxRotationY, double maxRotationZ)
Hər ox üçün fırlanma aralığını təyin edir (təsadüfi fırlanma üçün).
boşluq setSymbolRotation3DRotationTypeZ (int pType)
Z oxu ətrafında fırlanma növünü (coğrafi və ya arifmetik) (digər oxlar haqqında sərt kodlu hesab) alır.
boşluq setSymbolsAreGradrated (boole simvollarıAreGradrated)
Simvolların bitirildiyini göstərir.
boşluq setTransparencyField (java.lang.String fieldName)
Şəffaflıq sahəsi.
boşluq writeExternal (java.io.ObjectOutput çıxdı)
Java.lang.Object sinifindən miras qalan metodlar
klonlaşdır, yekunlaşdır, getClass, bildir, bildir, hamısı, toString, gözlə, gözlə, gözlə

SerialVersionUID

SimpleRenderer

Atır: java.io.IOException - interop problemi varsa java.net.UnknownHostException - interop problemi varsa

SimpleRenderer

ArcGIS Engine və ya Serverdən qaytarılmış belə bir obyektə istinad edərək SimpleRenderer qurun. Bu, semantik baxımdan SimpleRenderer-a obj tökməyə bərabərdir.


Sandpit

ESRI məhsulları ArcGIS Explorer, ArcGIS Desktop və ArcGIS Engine, proyeksiya mühərriki Kitabxanası adlanan son dərəcə faydalı bir C DLL ilə göndərilir. Proyeksiya mühərriki bu məhsullar tərəfindən geodezik (və ya elipsoidal) hesablamalar aparmaq üçün istifadə olunur.

Proyeksiya mühərriki SDE C API-də tam sənədləşdirilmişdir və EDN veb saytında iki funksiya üçün nümunə VB6 bükücü var.

VB6 nümunəsi DLLImportAttribute istifadə edərək asanlıqla C # -ə köçürülə bilər. Lakin DLLImport istifadə etməyin iki mənfi cəhəti var.

    s hər bir funksiya çağırıldıqda yaddaşa yüklənir,
  1. DLL-yə fayl və yol adı dizayn zamanı çətin kodlaşdırılır.

Lakin .NET 2.0 ilə gec bağlamağa imkan vermək üçün Marshal sinfinə GetDelegateForFunctionPointer adlı yeni bir metod əlavə edildi. Bu o demək idi ki, xarici DLL-lər iş vaxtında aşkarlanıb yüklənə bilər.

Aşağıda ESRI Projeksiyon Mühərrikinin C # qablaşdırıcısı var. Qablaşdırıcı bir singleton olaraq hazırlanmışdır ki, DLL hər bir tətbiq nümunəsi üçün yalnız bir dəfə yüklənsin. Bundan əlavə, proyeksiya mühərriki kitabxanasının yeri reyestrdən iş vaxtında aşkar edilir.

London və Paris arasındakı geodeziya məsafəsini hesablamaq üçün ArcGIS Explorer üçün proyeksiya mühərriki singletonundan istifadə edərək bir nümunə. Geodeziya məsafəsi bir elipsoid səthindəki iki nöqtə arasındakı ən qısa məsafəsidir.

Budur, bağlayıcıların mənbə kodu.

Xahiş edirəm unutmayın ki, bu yazıda istifadə olunan kod və metodologiya ESRI tərəfindən təsdiqlənmir və ya dəstəklənmir. Bu kodu öz riskinizə görə istifadə edin.

ArcGIS Diagrammer - Bir Geodatabase-i diaqrama çevirmək

Bu yazı, dörd asan addımda coğrafi verilənlər bazanızın çapa hazır bir diaqramının necə yaradılacağını təsvir edəcəkdir.

Bu məşqdə ArcScripts-də mövcud olan ArcGIS Diagrammer (pulsuz) istifadə ediləcəkdir. ArcGIS Diagrammer üçün ön şərtlər ArcGIS Desktop 9.2 və Microsoft .NET Framework 2.0.

Addım 1: Mövcud bir coğrafi məlumat bazasını bir ESRI XML İş Sahəsi Sənədinə ixrac edin

Fərdi bir geodatabase, fayl geodatabase və ya bir SDE bağlantısını sağ vurun. Seçin & Gt XML İş Sahəsi Sənədini ixrac edin.

Seçin Yalnız sxem və bir çıxış faylı adını daxil edin. Misal üçün C: Temp Montgomery.xml. Basın Növbəti.

Basın Bitirin ixracata başlamaq.

Addım 2: XML İş Sahəsi Sənədini ArcGIS Diagrammer-a yükləyin

ArcGIS Diagrammer'ı tıklayaraq başlayın:
START & gt Bütün Proqramlar & gt ArcGIS & gt ArcGIS Diagrammer & gt ArcGIS Diagrammer

ArcCatalog tərəfindən yaradılan XML sənədini ArcGIS Diagrammer kətanına sürükləyin və buraxın.

ArcGIS Diagrammer bütün geodatabase obyektlərini və birliklərini göstərəcəkdir. Diaqram miqyasını dəyişdirmək istəyə bilərsiniz, məsələn, yaxınlaşdırma miqyasını 25% klikləmək View & gt Zoom & gt% 25.

Adım 3: Coğrafi verilənlər bazası obyektlərini düzəldin

Bütün geodatabase obyektləri ehtiyaclarınıza uyğun olaraq yenidən düzəldilə bilər. Ayrıca, alt tiplər, domenlər və xüsusiyyət sinifləri kimi bəzi obyektlər əlavə detalları aşkar etmək üçün genişləndirilə bilər.

Adım 4: Diaqramı çap edin

Diaqramı çap etmədən və ya çəkmədən əvvəl bir printer / plotter və kağız ölçüsü təyin etmək istəyə bilərsiniz. Basın File & gt Print Setup.

Printer Setup dialoqunda bir printer və kağız ölçüsü seçin.

Nəhayət, vurun Fayl & gt Çap et diaqramı çap / cizgi üçün göndərmək.

ADO.NET istifadə edərək ESRI Stil Dosyalarına giriş

ESRI məhsulları ArcGIS Engine, ArcGIS Desktop və ArcGIS Server simvol kolleksiyalarını saxlamaq və idarə etmək üçün stil sənədlərindən istifadə edir. Rəmz coğrafi xüsusiyyəti və ya xüsusiyyətlər sinfini təmsil etmək üçün istifadə olunan qrafikdir. Stillər, nöqtələr, xətlər və çoxbucaqlılar kimi müxtəlif coğrafi obyektlər üçün adlandırılmış və təsnif edilmiş simvolları ehtiva edir.

ArcGIS Engine və ArcGIS Desktop stil sənədləri a. İlə Microsoft Access verilənlər bazasıdır stil fayl uzantısı.

ArcGIS Server tərzi sənədləri xüsusi bir fayl növü istifadə edir və a server üslubu fayl uzantısı. Yaradıcılar bu fayla daxil olmaq üçün yalnız ArcObjects API istifadə edə bilərlər.

ArcGIS Engine inkişaf etdiriciləri SymbologyControl'u bir server üslubunda olan simvollara baxmaq üçün istifadə edə bilərlər. ArcGIS Desktop inkişaf etdiriciləri isə StyleManagerDialog, SymbolEditor və SymbolPickerDialog kimi masa üstü dialoqlarını yenidən istifadə edə bilər.

Bu yazıda ADO.NET istifadə edərək ESRI stil sənədlərinə necə daxil olacağını nümayiş etdirən bir nümunə təqdim edəcəyəm. Nümunədə ESRI simvolunun .NET bitmap-ə necə çevriləcəyi göstəriləcək. Bu nümunə aşağıdakıları etmək istəyənlər üçün faydalı ola bilər:
1) ArcObjects istifadə etmədən üslublara daxil olmaq və ya
2) xüsusi məlumatları bir ESRI stili sənədində saxlamaq və ya
3) ESRI simvollarını bitmaplərə və ya
4) xüsusi bir simvol brauzeri yaradın.

Xahiş edirəm unutmayın ki, bu yazıda istifadə olunan kod və metodologiya ESRI tərəfindən təsdiqlənmir və ya dəstəklənmir. Bu kodu öz riskinizə görə istifadə edin.

Bu nümunə Microsoft Visual Studio 2005 istifadə edərək C # -də hazırlanmışdır. Windows tətbiqi dörd nəzarət və bir komponentdən ibarətdir:
1) textBox1: stil sənədinə yol adı,
2) button1: Stil sənədini açır və ListView-a girişlər əlavə edir,
3) listView1: Ekran simvolu nişanı və təsvirləri,
4) axLicenseControl1: ArcGIS Mühərrikinin və ya ArcGIS Masaüstünün iş vaxtında yoxlanılması,
5) imageList1: ListView maddələri üçün bir şəkil kolleksiyasını saxlayın.

Forma yükləndikdə:
1) TextBox üslubuna standart yol adı əlavə olunur,
2) ListView-a dörd sütun əlavə olunur,
3) ListView görünüş stili təfərrüatlarına görə qurulub,
4) ImageList, ListView-in SmallImageList xassəsinə təyin edilmişdir.

Tətbiq yüklənəndə belə görünür.

Bu tətbiqi ayıklama rejimində çalıştırırsanız, Microsoft Visual Studio 2005 bir PInvokeStackImbalance istisnası ata bilər. Ərizəni normal olaraq çalıştırılabilir proqramdan işə salmaq və ya bu istisnanı aradan qaldırmaqla aradan qaldırıla bilər. Bu və digər ayıklama istisnaları İstisna pəncərəsindən istifadə edərək laqeyd edilə bilər (Hata Ayıklama & gt İstisnalar. ).

Nöqtə, sətir və çoxbucaqlı simvolları üslubdan ListView klikinə yükləmək üçün GET!

Nümunə üçün mənbə kodu:

ESRI Ümumi Vəzifə Aləti

ESRI-nin ArcGIS Desktop məhsulu ArcCatalog, ArcMap, ArcScene və ArcGlobe tətbiqetmələrini əhatə edir. Dörd tətbiqin hamısının istifadəçi interfeysləri inkişaf etdiricilər tərəfindən çox uyğunlaşdırıla bilər, məsələn, bir geliştirici xüsusi alət çubuqlarını və düymələri yerləşdirə bilər.

Bir düymə (və ya) əmr ESRI terminologiyasında) ICommand interfeysini həyata keçirən bir COM sinifidir. Bəzi əmrlər coğrafi qarşılıqlı əlaqəni tələb edir, məsələn, dünya xəritəsindəki bir ölkəni tıklayaraq. Bu əmrlər ITool interfeysini tətbiq etməlidir.

Normalda, inkişaf etdiricilər hər bir layihəyə xas olan əmrlər dəsti yaradırlar. Bu yazıda, xəritə / dünya qarşılıqlı əlaqəsi üçün istifadə edilə bilən Generic Get Point Tool adlı qutudan kənar bir əmri müzakirə edəcəyəm. Gələcək layihələrdə bu əmrdən istifadə inkişaf müddətinizi azalda bilər.

Bu əmri nümayiş etdirmək üçün Microsoft .Net Framework 2.0 istifadə edərək ArcGIS Engine əsaslı bir windows tətbiqetmə nümunəsi yaratdım. Tətbiq bir xəritə, görünməz bir alət çubuğu və Generic Get Point Tool'u aktivləşdirəcək bir düymədən ibarətdir. Xəritə tıklandıqdan sonra bir mesaj qutusu tıklanan yerin xəritə koordinatlarını göstərəcək və sonra aləti deaktiv edəcəkdir.

Nümunə windows tətbiqi (C #) Microsoft Visual Studio 2005 istifadə edilərək hazırlanmışdır. Bir xəritə nəzarəti, alət çubuğu nəzarəti, lisenziya nəzarəti və bir düymədən ibarətdir. Xəritə nəzarəti alət çubuğu nəzarətinin dost xüsusiyyətinə və xəritə nəzarətinə iş vaxtında yükləmək üçün bir xəritə sənədi verilir.

Forma yükləndikdə Ümumi Alma Nöqtəsi Aləti alətlər çubuğuna əlavə olunur və sonra əmr IToolPositionInitializer-a tökülərək forma geri çağırış kimi təyin edilir (çünki IToolPositionCallback-i dəstəkləyir).

Düymə vurulduqda Generic Get Point Tool alət çubuğunda yerləşir və sonra cari alət olaraq təyin edilir. Bu, aləti mahiyyətcə aktivləşdirir və əvvəllər aktiv olan vasitəni (varsa) deaktiv edir.

İstifadəçi Generic Get Point Tool-ı aktivləşdirərək xəritə ekranını vurduqda, əmr IToolPositionCallback interfeysində MouseClicked metodunu çağıracaq. Nümunədə forma bu interfeysi tətbiq edir və xəritə koordinatlarını göstərən bir mesaj qutusunu göstərir. Aləti aktiv buraxmaqdansa, aləti effektiv şəkildə söndürmək üçün IToolbarControl :: CurrentTool (və ya IMapControl :: CurrentTool) ayarlayın.

ArcGIS Tablet Redaktoru

Bu yaxınlarda ESRI-nin ArcScripts veb saytında yerləşdirilən bir Tablet PC-nin imkanlarını hədəf alan ArcMap üçün bir sıra əmrlərdir. Xüsusi olaraq rəqəmsal mürəkkəb, mətn tanıma, mətndən danışığa (TTS) və nitqin tanınması.

ArcGIS Tablet Redaktorunu buradan yükləyə bilərsiniz:
http://arcscripts.esri.com/details.asp?dbid=14921 (tam mənbə kodu verilir)

İlkin şərtlər:

Quraşdırma qaydası:

ZIP sənədini ArcScripts-dən yükləyin
Endirməni açın
"Msi" faylını cüt vurun. Qurma sihirbazının təlimatlarına əməl edin.

Necə başlamaq lazımdır?

ArcMap'ı başladın (Windows: Start & gt ArcGIS & gt ArcMap)
Tablet Redaktor alətlər panelini göstərin (ArcMap: View & gt Toolbar & gt Tablet Editor)
Xəritə sənədini yükləyin. Bəzi inkişaf etmiş imkanları göstərmək üçün bənzərsiz bir göstərici ilə bir və ya daha çox qat əlavə edin.

Nümayiş ekran görüntüləri:

Xüsusiyyət Seçici Aləti
Mürəkkəbdən istifadə edərək xüsusiyyətləri seçmək üçün əvvəlcə ArcMap cədvəlindəki bir təbəqəni vurun və sonra Tablet Redaktor alətlər panelindəki Xüsusiyyət Seçim alətini aktivləşdirin. İşarə cihazınızı istifadə edərək siçanınızı ekranın üzərinə sürükləyin. Siçanı / qələmi qaldıran kimi seçilmiş təbəqədən xüsusiyyətlər seçiləcək (mürəkkəbin içərisindədirsə).

Şifahi Ölçü Aləti
Tablet Redaktor Toolbar-da Şifahi Ölçmə Alətini (soldan üçüncü) vurun. Ekranda düz mürəkkəb xəttini sürükləyin. Kompüter, məsələn, mövcud xəritə vahidlərindəki uzunluğu danışacaqdır. "Səksən dörd Metr". Uzunluqlar ən yaxın xəritə vahidinə qədər yuvarlaqlaşdırılacaqdır.

Xüsusiyyətlər əlavə et
İndi bir redaktə sessiyasına başlayın (Redaktor Toolbarından Editor & gt Redaktə Et düyməsini vurun). ArcMap məzmun cədvəlində xüsusiyyət əlavə etmək istədiyiniz qatı seçin. Yuxarıdakı ekran görüntüsündə istifadəçi daha çox işıq dirəyi əlavə etmək istəyir. Xüsusiyyətlər əlavə et alətini (Tablet Redaktor alətlər panelindəki ilk düyməni) vurun və yuxarıda göstərildiyi kimi ekranda kiçik işarələr çəkin. Tamamlandıqda, işarə cihazınızla yuxarıya doğru bir hərəkət edin. Bu, kiçik mürəkkəb tirelərinin yeni işıq dirəklərinə çevrilməsinə səbəb olacaqdır.

Xüsusiyyət ötürmə vasitəsi
Əvvəlki addımda Xüsusiyyət əlavə et alətindən istifadə edərək dörd yeni İşıq dirəyi əlavə edildi. Yeni işıq dirəkləri, ana xüsusiyyət sinifi (və / və ya alt növü) ilə əlaqəli olan varsayılan dəyərləri qəbul etdi. ArcMap məzmunu cədvəlində hələ də seçilmiş İşıq Qütbləri təbəqəsi ilə Atribut ötürmə alətini (Tablet Redaktor Toolbarındakı ikinci düyməni) vurun. Hər biri işıq dirəyinin ətrafında iki mürəkkəb üzük çəkin. Sağ yuxarı hərəkətlər istifadə edildikdə, ilk mürəkkəb vuruşu ilə seçilmiş dirəkdən atributlar ikinci mürəkkəb vuruşu ilə seçilmiş dirəyə (lərə) köçürüləcəkdir.

Mürəkkəb yeniləyici
Yenə də, bir tənzimləmə sessiyasında və ArcMap içindəkilər cədvəlində seçilmiş İşıq Qütblər qatında, Xüsusiyyət Seçici Aracı ilə (əvvəl göstərildiyi kimi) bir neçə dirək seçin. İndi Ink Updater alətini (Tablet Redaktor alətlər panelindəki beşinci düyməni) vurun. Seçilmiş təbəqə bənzərsiz bir işləyicidən istifadə etdiyinə görə istifadəçi seçilmiş dirəkləri "f" yazaraq yuxarıya doğru bir hərəkət edərək yenidən təsnif edə bilər. Tablet Redaktoru qatdakı ilk uyğun təsviri tapmaq üçün mürəkkəb mətnindən istifadə edir (varsa) və atributları müvafiq olaraq yeniləyir. Əgər təbəqənin bənzərsiz bir göstəricisi yoxdursa və ya açıq şəkildə yeniləmək üçün bir sahə seçmək istəyirsinizsə, düzəliş etmək üçün bir sahə seçmək üçün Alan Açılan menyusunu klikləyə bilərsiniz. Mürəkkəb Updater mürəkkəbi müvafiq məlumat formatına çevirmək üçün kifayət qədər ağıllıdır, məsələn, bir tarix sahəsi seçildiyi təqdirdə mürəkkəb bir tarixə çevriləcəkdir.

Danışıq yeniləyici
Bu, ehtimal ki, Tablet Redaktor alətlər panelindəki ən yaxşı vasitədir. İstifadəçi hələ də düzəliş sessiyasındadır, xəritədə üç işıq dirəyi və ArcMap məzmunu içərisində İşıq Qütbləri qatı seçilmişdir. Speech Updater düyməsini vurun (Tablet Redaktor alətlər çubuğundakı altıncı düymə). İndi "Yaxşı" deyin. Tablet Redaktoru avtomatik olaraq dirəkləri "Yaxşı" olaraq təsnif edəcəkdir. Bu alət oxunaqlı ingilis dilində təsvirlərlə göstərilən bənzərsiz bir dəyəri olan HƏR qat ilə işləyəcəkdir.


Yağış koordinatlarını hazırlamaq: ArcGIS Silverlight Viewer Tətbiqi üçün Sürüklə və Bırak tətbiqetmə

Masa üstü və Veb tətbiqetmələri arasındakı xətt daim bulanıklaşır. Getdikcə daha çox istifadəçilər veb tətbiqetmələrlə yerli masaüstündə işləyən hər hansı bir tətbiqetmə qaydasında qarşılıqlı əlaqə qurmağı gözləyirlər. Nöqtədəki vəziyyət, sürükləyin və buraxın. “Web 2.0” -dan əvvəl yerli bir fayl sistemindən bir veb tətbiqetməyə bir fayl atma fikri praktik olaraq elmi fantastika idi. ArcGIS Online-ın bir çox istifadəçisinin kəşf etdiyi kimi, bu cür funksionallıq artıq təbii qəbul edilə bilər. Bu yazıda, ArcGIS Silverlight xəritə nəzarətində mətn sənədlərini sürüklə və buraxmağı təmin edən xüsusi bir davranış yaratmağı təsvir edəcəyəm.

ArcGIS Silverlight Viewer tanış olmayanlar üçün kod yazmadan və konfiqurasiya parametrlərini dəyişdirmədən tez bir zamanda xüsusi və tam işləyən Xəritəçəkmə proqramları yaratmaq üçün bir çərçivə təmin edir. Çərçivə ayrıca genişləndirilə bilər və bir inkişaf etdiricinin, bir Xəritəçəkmə tətbiqində istifadə üçün ArcGIS Silverlight Viewer-a qoşula bilən fərdi şəkildə paketlənmiş xüsusi alətlər, tərtibatlar və davranışlar yaratmasına imkan verir.

Burada təsvir olunan proses bir ArcGIS Silverlight xəritəsində nöqtələrin çəkilməsinə xas olsa da, bir ArcGIS Silverlight görüntüləyici tətbiqi üçün başqa davranış növləri yaratmaq və ya digər Silverlight nəzarət növləri üçün sürüşdürmə və buraxmağı təmin etmək üçün faydalı ola bilər (hətta, & ltgulp & gt non -GIS olanlar!). Təfərrüatları yazmaq üçün deyilsinizsə, tamamlanmış kodu yükləmək və sınamaqdan çəkinməyin. Əks təqdirdə oxuyun!

Xüsusi bir alətdən və tərtibdən fərqli olaraq, xüsusi bir davranış tətbiqetmədə istifadəçi interfeysi (UI) elementləri ilə mütləq təmsil olunmur. Bunun əvəzinə bir davranışın tətbiq iş axınının bir hissəsi olaraq baş verən istifadəçi hadisələrinə cavab vermə ehtimalı yüksəkdir. Davranışların hadisəyə cavabı istifadəçinin qarşılıqlı əlaqəsi üçün istifadəçi interfeysi elementlərinin göstərilməsini əhatə edə bilər və ya sadəcə cavab olaraq kodu yerinə yetirə bilər. Məsələn, Silverlight Viewer-də mövcud olan qutudan kənar bir davranış, istifadəçi xəritədə hərəkət edərkən siçan imlecinin x / y yerini göstərməkdir. Adından da göründüyü kimi, davranış, tətbiq yüklənən anda aktiv olan tətbiqin daxili hissəsidir. Növbəti addımlarda koordinatların bir mətn sənədini xəritə nəzarətinə sürükləmək və fayldakı yerləri xəritədə nöqtələr (qrafika) şəklində göstərmək qabiliyyətini həyata keçirmə prosesini təsvir edəcəyəm. Davranış əvvəlcə istifadəçidən əlavə bir cavab tələb olunmadan yaradılacaqdır: koordinatlar atıldıqda, uyğun format üçün yoxlanılacaq və dərhal xəritədə çəkiləcəkdir. Silverlight Viewer Layihəsi Yaradın ArcGIS Silverlight Viewer üçün əlavələr hazırlamaq üçün ArcGIS Extensibility SDK-nı Silverlight üçün quraşdırmalısınız (ArcGIS Resurs mərkəzində yükləmək mümkündür). ESRI.ArcGIS.Client.Extensibility məclisində bir əlavə yaratmaq üçün lazım olan hər şeyi təmin etməklə yanaşı, SDK, işə başlamağınıza kömək edəcək bir Visual Studio layihə şablonunu da ehtiva edir.

  • Başlamaq üçün yeni bir Visual Studio layihəsi yaradaq. ArcGIS Extensibility SDK for Silverlight quraşdırmısınızsa, Yeni Layihə informasiya qutusunda aşağıda göstərildiyi kimi (Silverlight / ESRI Viewer altında) “Silverlight üçün ESRI Viewer” layihəsi görəcəksiniz. Çözümdə, izləyicinin fərqli tərəflərini (alətlər, davranışlar, yerleşim elementləri) fərdiləşdirməklə bağlı bir neçə layihə yer alacağı üçün, ona daha ümumi bir ad verməyi seçdim "ViewerCustomizations" ("DragDropCoords" dan fərqli olaraq, məsələn).

Əlavəmi C # istifadə edərək yaratmağı seçdiyimə görə ekran görüntüləri və kod təsvirləri VB.NET üçün yaradılan bir layihədən fərqli olacaq. Çözüm açıldıqda, bunun üç fərqli layihədən ibarət olduğunu görəcəksiniz:

  • ViewerÖzəlləşdirmələr: Bu, xüsusi eklentilərinizi qəbul edəcək Silverlight tətbiqetməsidir. Bunu xüsusi davranışınızı yoxlamaq üçün istifadə edəcəksiniz.
  • ViewerCustomizations.AddIns: Bu layihə, ArcGIS Silverlight Viewer üçün fərdiləşdirmələr ehtiva edir, bizim vəziyyətimizdə koordinat sənədləri üçün xüsusi sürükləmə və buraxma davranışı. Xüsusi alətlərin hazırlanacağı yer də budur. Məqsədlərimiz üçün kod yazmalı olduğumuz yeganə layihədir (əsas görüntüləmə tətbiqetməsində konfiqurasiya parametrlərini dəyişdirmək xaricində).
  • ViewerCustomizations.Layouts: Bu layihə, Silverlight Viewer tərəfindən istifadə edilən qutudan kənar düzəltmə şablonlarının hamısının nüsxələrini ehtiva edir. Mövcud birinin surətindən başlayaraq izləyici üçün öz XAML tərtibatını hazırlayacaqsan.

Bu üç layihəni yaratmaqla yanaşı, Visual Studio şablonu, izləyici eklentiləri üçün xüsusi bir alət, davranış və konfiqurasiya dialoqlarına başlamağınız üçün kod modulları da təmin edir. Xüsusi bir davranış yaratmaq üçün təqdim olunan modulu təmizləməyə başlayacağıq (MyBehavior.cs).

  • Solution Explorer pəncərəsində, ViewerCustomizations.AddIns layihəsi altında MyBehavior.cs sinfini tapın və açın.

Xüsusi davranış Sistem.Windows.Interaktivlik.Behavior əsas sinif. Bu sinif bir vəziyyətə və əmrləri bir obyektə bağlamaq üçün bir mexanizm təmin edir. Ümumi parametr (bizim vəziyyətimizdə) Xəritə), davranışın bağlana biləcəyi obyekt növünü göstərir. Əlavə olaraq Davranış təməl sinif, üzvlərinə xüsusi bir davranış da tətbiq edə bilər ISupportsConfiguration davranış üçün tələb olunan konfiqurasiya parametrlərini saxlamaq və yükləmək üçün. Bu nümunədə konfiqurasiya ilə işləməyimizə ehtiyac olmayacaq.

Xüsusi davranışlarınızı ArcGIS Application Builder'da istifadəçilər üçün açıq etmək istəyirsinizsə, sinifiniz üçün göstərilən aşağıdakı xüsusiyyətlərə sahib olmalısınız. İxrac: Microsoft tərəfindən idarə olunan genişlənmə çərçivəsinin bir hissəsi, bu sadəcə davranışın çərçivə daxilində təmin edilməli olduğunu göstərir. ArcGIS Silverlight Viewer-da xüsusi bir xəritə davranışı üçün dəyər həmişə olacaqdır typeof (Davranış & ltMap & gt). DisplayName: Application Builderdakı davranış üçün görünəcək bir ad. Kateqoriya: komponentləri (davranışlar və alətlər) təşkil etmək üçün isteğe bağlı bir kateqoriya. Təsvir: davranışın təmin etdiyi qısa bir xülasə.

İndi xüsusi davranış sinfi üçün santexnika mövcud olduğundan, xəritə nəzarəti üçün bir düşmə hadisəsini idarə etmək üçün bir funksiya yaradaq. İşləyici xəritəyə atılmış obyekt (fayl, məsələn) haqqında məlumat ehtiva edən bir DragEventArgs obyektini qəbul edəcəkdir. Hələlik tədbirin qaldırıldığını yoxlamaq üçün sadəcə bir mesaj göstərəcəyik.

İndi düşmə hadisəmizin idarə olunmasını təmin etmək üçün xüsusi davranışı sınayacağıq.

  • Həll həll edin.
  • Bir faylı (hər hansı bir fayl növü) xəritəyə sürükləmək üçün Windows Explorer istifadə edin, sonra siçanı buraxaraq buraxın.

Fayl atıldıqdan sonra mesaj qutusunun görünməsini gözləmisiniz. Wha ’happa ?! Üzr istəyirəm ki, sizə sataşaq ... davranışımız kifayət qədər qurulmamışdan əvvəl tamamlamaq üçün hələ bir neçə addım var. Çox vaxt çəkməyəcək, söz verin.

Davranış baza sinfində tətbiq edilməsi lazım olan yeganə ləğv etmə olduğuna diqqət yetirin Əlavə edildi funksiya.Xüsusi davranış əvvəlcə əlaqəli obyektə qoşulduqda yerinə yetirilən koddur, bizim vəziyyətimizdə Xəritədir.

  • MyBehavior.cs kod modulunuzdakı OnAttached funksiyasına gedin.
  • Əsas obyektdə OnAttached funksiyasını çağıran (başlanğıc) sətri istisna olmaqla, bütün qazan plitəsi kodunu OnAttached funksiyasından çıxarın:
  • Mövcud kodun altındakı OnAttached ləğvində aşağıdakı kodu aşağıdakı kimi təmin edin ...
  1. Xəritə elementini bir açılan hədəf olaraq qurun (sürüklə və buraxmağı aktivləşdir)
  2. Düşmə hadisəsini hansı funksiyanın idarə edəcəyini göstərin (yuxarıda yaradılan MapDrop funksiyası)
  • Həll edin və həll edin.
  • Silverlight Viewer tətbiqini yenidən işə salın və bir faylı Windows Explorer-dən xəritəyə sürükləyin.

Fayl xəritəyə atıldıqdan sonra mesaj qutusunun göründüyünü görməlisiniz. Yox? Tamam, bu demək idi ... keçən dəfə and içirəm. Bağlamaq üçün bir şey daha var.

ArcGIS Silverlight Viewer tətbiqetməsinə yeni bir vasitə və ya davranış əlavə etmək üçün sayt üçün uyğun konfiqurasiya parametrlərini düzəltməlisiniz. Hər bir izləyici tətbiqinin kök qovluğunun altında bir neçə xml formatında konfiqurasiya sənədləri olan “Config” qovluğu var. Xüsusi davranışınızı daxil etmək üçün Behaviors.xml parametrlərini düzəltməlisiniz.

  • Solution Explorer pəncərəsində, ViewerCustomizations layihəsinin altındakı Config qovluğunda Behaviors.xml faylını tapın və açın.

İzləyici tətbiqi, davranış sinifimizin orijinal adı olan “MyBehavior” adlı bir davranışdan istifadə etmək üçün konfiqurasiya edilmişdir. Adı DropCoordinatesBehavior olaraq dəyişdirdiyimizdən, dəyişikliyi əks etdirmək üçün konfiqurasiya parametrlərini yeniləməyimiz lazımdır.

  • Aşağıda göstərildiyi kimi sinifin yeni adını DropCoordinatesBehavior istifadə etmək üçün davranış konfiqurasiyasını dəyişdirin.
  • Behaviors.xml konfiqurasiya sənədini qeyd edin və layihəni işə salın.
  • Yenə də ... Windows Explorer-dən bir faylı sürükləyin və xəritəyə atın.

İnanın, bu dəfə mesaj qutusu görünməli idi. Əgər etməmisənsə, bir yerdə səhv etdin. Yuxarıdakı addımları yoxlayın və əmin olun: 1) OnAttached funksiyası açılan hədəfi və açılan hadisə işləyicisini bağlayır və 2) Behaviors.xml faylı düzgün sinif adı ilə konfiqurasiya edilmişdir. Onu düzəltdikdə, aşağıdakı bölmədə mənimlə görüş. Gözləyəcəm.

  • Mesaj qutusunu ləğv edin və tətbiqi işləməyi dayandırın. Növbəti addımlarda atılmış sənədin məzmunu ilə tanış olacağıq.

Bir F-Bomba atın ("Əlbəttə" Dosyası)

İndi xəritəyə düşmüş fayla daha yaxından baxacaq bir kod əlavə edəcəyik. İstifadəçinin yalnız bir faylı atdığına və uyğun tipdə olduğuna (koordinat cütləri ilə vergüllə ayrılmış mətn) əmin olacağıq. DragEventArgs obyekti MapDrop funksiyamıza ötürülür. Bu obyekt, düşmüş obyektlə əlaqəli məlumatları (Data xassəsi vasitəsilə), həmçinin shift, cntrl və alt düymələrinin vəziyyətini ifşa edir. Düşmüş fayl haqqında məlumat almaq üçün bu obyektdən istifadə edəcəyik.

System.IO məclisi, istifadəçinin atdığı məlumatlarla işləməkdə bizə kömək edəcək FileInfo sinifini təqdim edir. Xəritəyə atılmış məlumatları bir sıra FileInfo obyektlərinə ötürəcəyik. Bundan sonra atılan obyektin boş olmadığına və tərkibində tək bir sənədin olmasına əmin olacağıq.

  • MyBehavior.cs-dəki MapDrop funksiyasında, istifadəçinin tam olaraq bir fayl atdığından əmin olmaq üçün aşağıdakı kodu əlavə edin.

Qeyd: IDataObject: GetData metodu, birdən çoxu təqdim edilmişsə, məlumatları müəyyən bir formatda əldə etməyə imkan verir. Hələlik atılmış mətn sənədindəki məlumatların strukturu ilə bağlı bəzi fərziyyələr irəli sürməliyik. Aşağıdakıları götürək: 1) faylın birinci sətirində sahə adları, 2) koordinatlar həmişə onluq dərəcə formatında olacaq, 3) dəyərlər həmişə vergüllə ayrılır və 4) ilk iki sahə boylamı ehtiva edir. (x) və enlik (y) dəyərləri.

  • Aşağıdakıları əlavə edin istifadə etmək ifadələr MyBehavior.cs modulunun üstünə. Bu məclislər koordinat girişinin işlənməsi və xəritədə təsvir nöqtələrinin işlənməsi üçün lazım olan dərsləri ehtiva edir.
  • MapDrop funksiyasındakı mövcud kodun altındakı bir StreamReader dəyişənini elan edin və try / catch / sonunda bloku başlayın. İçində tutmaq blokun bir hissəsi, bir səhv mesajı göstərin və nəhayət blokun bir hissəsi, aşağıda göstərildiyi kimi faylı bağladığınızdan əmin olun.
  • Blokun sınanmış hissəsinə, faylı oxumaq və məqamları göstərmək üçün lazım olan bəzi dəyişənləri elan etmək üçün aşağıdakı kodu əlavə edin.
  • Oxumaq üçün faylı açın.
  • Əlavə edin isə endirilmiş faylın bütün sətirlərini oxumaq üçün blok.

StreamReader :: ReadLine fayldan cari sətri oxumaq üçün istifadə olunur (yuxarıdan aşağıya başlayaraq). StreamReader :: EndOfStream xassəsi qayıdır yalan faylın sonuna qədər. Faylın içərisindəki xətt mövqeyini xətt nömrəsi dəyişən. Bu, koordinat dəyərlərini təhlil edərkən bir səhvlə qarşılaşdıqda, sənədin dəqiq sətir nömrəsini bildirməyimizə imkan verəcəkdir.

  • Sizdən və məndən eşşək çıxarmaq riski ilə, faylın ilk sətirində sahə adlarını təsvir edəcəyini düşünürük. Aşağıdakı kodu əlavə edin (içərisinə isə artıran sətirdən sonra loop xətt nömrəsi dəyişən) sənədin ilk sətrini atlamaq üçün.
  • Koordinat dəyərlərinin vergüllə ayrıldığını və bir sətirdəki ilk iki dəyərin x və y koordinatlarını olduğunu da düşünürük. Bu fərziyyələrə əsasən, cari xətt üçün koordinatları oxumaq üçün aşağıdakı kodu əlavə edə bilərik.

Yuxarıdakı dəyişənlər x və y koordinatlarını sətir dəyərləri kimi saxlayır. Mətn sənədinin quruluşu ilə bağlı artıq bir çox fərziyyələr irəli sürsək də, istifadəçinin bizə zibil vermədiyini düşünə bilmərik! Dəyərləri ikiqat dəyişənlərə ayırmaq üçün bəzi kod əlavə edək. Kod uğursuz olarsa, problemlərin baş verdiyi sətir nömrəsini bildirin.

Mənimlə döz, evdəyik! İndi etməyimiz lazım olan yalnız koordinat cütündən bir nöqtə yaratmaq və qrafik qatına əlavə etməkdir. Oh, qrafik qatını xəritəyə əlavə etməliyik. Bəli, nöqtələri Web Mercator-a yönləndirdiyimizə əmin olmalıyıq. Hər halda ... biz az qalmışıq!

  • Fayldan təhlil edilmiş koordinat cütündən bir MapPoint yaratmaq üçün kod əlavə edin. Koordinatların ondalık dərəcə olduğu qəbul edildiyi üçün nöqtəyə WGS 1984 məkan istinadını verəcəyik.
  • İstifadə edin VebMercator Coğrafi nöqtəni Web Mercator-a proyeksiya etmək üçün obyekt.
  • Nöqtəni göstərmək üçün yeni bir Qrafik obyekt yaradın, əvvəllər yaradılmış GraphicsLayer-a əlavə edin.
  • Nəhayət, xəritəyə GraphicsLayer əlavə edin.

İndi sınamağa hazırıq!

  • Test etmək üçün koordinatların mətn faylı yaradın (faylın quruluşu ilə bağlı fərziyyələrimizi xatırlayın!). Tənbəlsinizsə və / və ya yazmaqdan bezmisinizsə, sadəcə aşağıdakı nümunəni mətn sənədinə kopyalaya bilərsiniz.
  • Tətbiqi başladın və koordinat sənədinizi xəritəyə sürükləyin. Xallarınızın standart itələmə işarəsi işarəsi ilə göründüyünü görməlisiniz (nöqtələri daha yaxşı görmək üçün əsas xəritəmi “Açıq Boz Kətan” etdim).

Vaxtınız varsa, aşağıdakı davranışlardan bəzilərini əsas davranışımıza tətbiq etməyə cəhd edə bilərsiniz.


CİS proqram tətbiqetmələrinin dizaynı və inkişafı

Kursun məqsədi Python-da arxitektura və OO (Obyekt Odaklı) proqramlaşdırmanı təqdim etməkdir, əsas prinsiplərin hərtərəfli təhlilini təmin etmişdir. OOCOM (COMpiksel əsaslı) proqram inkişaf modelləri. Kurs, xüsusi olaraq GC platforması ArcGIS & trade 9.x e 10 kontekstində coğrafi tətbiqetmələrin dizaynı və tətbiqi və geosessil avtomatlaşdırma tapşırıqlarına xüsusi toxunacaqdır.

ArcGIS, Visual C ++ və ticarət və Java və ticarət kimi standart və inkişaf etmiş dillərdə proqramlaşdırıla bilər və ArcObjects & trade komponentləri kitabxanası vasitəsilə yerli platform funksiyalarına tam giriş təmin edir. Digər tərəfdən, Python, ArcGIS 10 buraxılışına tam inteqrasiya edilmişdir. ArcPy, coğrafi idarəetmə və analiz tapşırıqlarını həll etmək üçün sürətli prototip və ssenarilər inkişaf etdirmək üçün sadə, effektiv və platformalararası bir seçimdir. Model Builder-dəki məkan vasitələri, ArcGIS xaricindən də Python tətbiqetmələrinə asanlıqla inteqrasiya edilə bilər, Model Builder məkan məlumat modelləri Python-a da ixrac edilə bilər və daha mürəkkəb coğrafi tətbiqetmələr çərçivəsində inteqrasiya olunur.

Kurs daha geniş bir GIScience öyrənmə layihəsinin bir hissəsidir, Coğrafi İnformasiya Sistemlərinin dizaynı və tətbiqi ilə bağlı həm giriş, həm də inkişaf etmiş mövzulara toxunur, ətraf mühit elmləri, şəhərsalma, torpaq istifadəsi, İT kimi sahələrin tələblərinə cavab verir, bunlardan bir neçəsini xatırlayır. .
Bu çərçivədə Python həm ArcGIS ssenarisi, həm də kompleks coğrafi tətbiqetmələrin inkişafı üçün dəyərli bir mənbəyidir.

Proqram

Nəzəri / praktik yanaşmanı qəbul edən kurs aşağıdakı mövzuları əhatə edəcəkdir:

  • Obyekt Odaklı (OO) proqramlaşdırma paradiqması: funksional parçalanma və əlaqəli problemlər, ənənəvi proqramlaşdırma modellərindəki modulluq, birləşmə və birləşmə, OO modelinə qədər.
  • Əsas OO anlayışlarına giriş və onların tətbiqi: sinif, polimorfizm, konstruktorlar və dağıdıcılar, vəziyyət və davranış (xassələr və funksiyalar), obyekt (sinif instantasiyası), kolleksiyalar və obyektlər arasında qarşılıqlı əlaqə.
  • Sadə proqramların tətbiqi ilə OO konsepsiyalarının araşdırılmasına yönəlmiş praktik iclaslar.
  • OO tətbiqetmələri üçün proqram dizaynı: proqram mühəndisliyi və UML (Birləşdirilmiş Modelləşdirmə Dili), prinsiplər, əsas diaqramlar (Case, Class, State e Fəaliyyət) və siniflər və əlaqələrin identifikasiyası üçün texnikalar (CRC, Class-Responsibility-Collaborator).
  • Proqram mühəndisliyi və OO tətbiqetmələrinin dizaynındakı roluna həsr olunmuş praktik iclaslar.
  • Python-a giriş: IDLE redaktoru və dilin əsasları, dəyişənlər, riyazi operatorlar və prioritetlər, şərhlər, girinti, şərti - əgər, elif, else - və iterativ - while, for - üçün quruluşlar, funksiyalar, parametrlər və qaytarma dəyərləri, topllar, siyahılar və lüğətlər, siniflər (yaradılış, obyektlərin hazırlanması, miras), modullar, fayl giriş / çıxış, səhvlər və istisnalarla işləmə, icra və ayıklama (çap, sınayın .. istisna olmaqla)
  • Python proqramlaşdırma dilinin təməllərinə və OO tətbiqetmələrinin inkişafına həsr olunmuş praktik iclaslar
  • ArcGIS-də geoprosessinq. Təriflər, coğrafi modellər və jeoprosessinq kontekstində ssenari, memarlıq, Model Builder, skriptlərin tətbiqi. Proqramlaşdırma modeli, jeoprosessor obyekti və tarixi.
  • ArcGIS-də Python'dan istifadə qaydaları: ArcPy, ətraf mühit parametrləri, geokimyəvi alətlər və alət qutuları, əsas tapşırıqları yerinə yetirmək (təbəqələrlə qarşılıqlı əlaqə, xəritələrin qurulması və ixracı, istinad sistemləri qəbulu). CİS məlumat siyahıları, həm xüsusiyyət, həm də obyekt siniflərinə yeni qeydlər seçmək, redaktə etmək və əlavə etmək üçün imleclərdən istifadə, ArcToolbox-a inteqrasiya etmək üçün xüsusi alətlərin yaradılması.
  • ArcGIS-də coğrafi məlumatların idarəedilməsi və geo-işlənmə üçün Python tətbiqetmələrinin dizaynı və inkişaf etdirilməsinə dair praktik sessiyalar.

GIScience layihəsi

Kurs, GIScience və CİS, tətbiqetmələr və coğrafi mashup inkişafı, ekoloji tətbiqetmələrdə daha geniş öyrənmə layihəsinin bir hissəsidir. Yüksək səviyyəli peşəkar və akademik profillər tərəfindən dəstəklənən layihə aşağıdakı kursları əhatə edir:

  • GIScience-ə giriş: tətbiqetmə, vizuallaşdırma və məkan təhlili üçün prinsip və texnika
  • CİS proqram tətbiqetmələrinin dizaynı və inkişafı: obyektyönümlü model, proqram mühəndisliyi, Python proqramlaşdırma və ArcGIS-də geoeoprosessinqdəki rolu
  • Dizaynı və inkişafıVeb Xəritəçəkmə tətbiqləri: Google Maps və OpenLayer veb xidmətləri və genişlik-müvəqqəti PostgreSQL / PostGIS verilənlər bazasını birləşdirərək GeoWeb 2.0 dizayn və inkişafında nəzəriyyə və təcrübə kursu.
  • CİS proqram tətbiqetmələrinin dizaynı və inkişafı: proqram mühəndisliyi, OO və komponent modelləri, ArcGIS 8.x / 9 üçün VBA / ArcObjects-də proqramlaşdırma
  • CBS tətbiqetmələrinin inkişafı üçün Obyekt Odaklı JAVA proqramlaşdırma: Bağımsız və Veb həllərinə açıq mənbə perspektivi
  • Verilənlər bazaları və geodatabases üçün praktik bir giriş: İlişkili (I) və Mekansal Verilənlər Bazalarının (II) dizaynı və inkişafı üçün MySql, PostgreSQL / PostGIS, Oracle XE və ArcGIS / MsAccess nümunələrindən ibarət iki modullu təməl kurs.
  • İş coğrafiyası və amp geodemoqrafiya
  • Google Xəritə Maşupları
  • Ətraf mühitin idarə olunması
  • Tətbiqi yeraltı su axını və tran idman modeli: su təchizatı siyasətinin qiymətləndirilməsi üçün regional miqyasda və çirklənmiş ərazilərin ətraf mühitin təmizlənməsi üçün yerli miqyasda yeraltı sularının idarə olunması

Proqram təminatı

Python, QuantumGIS, ESRI ArcGIS

Kimin üçün?

Kurs dövlət sektorunda işləyən peşəkarlara və Python istifadə edərək ArcGIS tapşırıqlarını fərdiləşdirmək istəyən gənc tədqiqatçılara yönəldilmişdir.

Yer və amp tarixləri

Kurs, Fano (PU) şəhərində yerləşən və əsas nəqliyyat əlaqələrindən asanlıqla əldə edilə bilən Ətraf Təhsili Mərkəzi Casa Archilei-də baş tutacaq. Kursun müddəti 48 saat, 8 saatlıq dərs olacaq 8-9-29-30 may və 12-13 iyun 2015


Python skriptlərinin geosessilat xidmətləri olaraq yayımlanması: ən yaxşı təcrübələr

Niyə modellər yerinə Python?

ModelBuilder modellərinizi geoprosessinq (əlavə GP) xidmətləri olaraq yayımlamısınızsa, ehtimal ki, olduqca çətin ola bilər. Python-a köçməmisinizsə, düşünürəm ki, həqiqətən olmalısınız. Python skriptlərinin müəllifliyi, GP xidmətlərinin nəşri kontekstində yazı modellərinə nisbətən ciddi üstünlüklərə malikdir. Bunun səbəbi, nəşr prosesi zamanı ArcGIS Serverın məlumatları və dəyişdirilə bilməsi üçün lazım ola biləcək hər hansı bir şeyi dəyişənlərə çevirməsi və GP xidmətlərinin hazırlanması qaydalarına riayət etməməyiniz modelin pozulmasına səbəb olmasıdır. Mənim üçün əsas qayda bu idi ki, modeldə 10-dan çox obyekt varsa, Python-a keçmək üçün yaxşı vaxtdır. Başqa bir şey budur ki, əksinə yenidən nəşr etmədən Python kodunda asanlıqla dəyişiklik edə bilərsiniz, GP xidmətinin yenilənmiş bir versiyasını hər buraxmaq istədiyiniz zaman modeli yenidən yayımlamalısınız. Nəhayət, Python faylını yeniləyərkən GP xidmətini yenidən başlamağınıza ehtiyac olmadığından (xidmətin yenidən başladılması tələb olunan modelin yenidən dərc edilməsindən fərqli olaraq), xidmət üçün boş vaxt yoxdur və istifadəçilər heç bir şey görməyəcəklər & # 8217.

Nəşr etdikdən sonra nə baş verir?

Gəlin başlıq altında nə baş verdiyinə nəzər salaq. ArcMap-da skript alətinizi işlədiniz və nəticəni xidmət olaraq dərc etdiniz. İndi xidmətinizi və içindəki bütün məlumatları tapa bilərsiniz arcgisserver disk sürücünüzün bir yerində qovluq. Yol olardı: C: arcgisserver directory arcgissystem arcgisinput \% GPServiceName% .GPServer

Qovluqda bir dəstə sənəd tapa bilərsiniz. Bəzilərini yoxlayaq:

  • serviceconfiguration.json & # 8211, icra növü, effektiv imkanları, çıxış qovluğu və digərləri daxil olmaqla xidmətin bütün xüsusiyyətlərinə ümumi bir baxış təqdim edir. Burada Xidmət Redaktoru pəncərəsində ümumiyyətlə gördüyünüz bütün parametrləri görəcəksiniz.
  • manifest.xmlmanifest.json & # 8211, xidməti dərc edərkən istifadə olunan sistem parametrlərinə ümumi bir baxış təqdim edir. Bunlar ümumiyyətlə yoxlamaq istədiyiniz sənədlər deyil.

Esriinfo / metadata qovluğunun içərisində metadata.xml adlı bir fayl var, bu, həqiqətən çox faydalıdır, çünki bir xidmətin hansı tarixdə yayımlandığını görə bilərsiniz. Baxmalı olduğunuz iki etiket bunlardır:

Bu məlumat ArcGIS Desktop və ya ArcGIS Server Manager-dəki GUI-dən təsirlənmədiyi üçün xidmətin nə vaxt yaradıldığını öyrənməyin yeganə yoludur. Çıxış versiyaları barədə əmin olmadığınız zaman bu məlumatlar çox lazımlı ola bilər.

İçəridə çıxarıldı / v101 qovluqda, nəticə sənədini və GP xidmətini dərc edərkən işlədiyiniz alət qutusunu tapa bilərsiniz. Burada, mənbəyiniz Python faylının saxlandığı və mənbə Python faylının olduğu qovluğun adını daşıyan bir qovluq da tapa bilərsiniz.

Python kodunu və sənədlərini təşkil etmək üçün ən yaxşı təcrübələr?

Python faylının içinə baxaq. Fərq etdiyiniz bəzi dəyişənləri dərc edərkən yenidən adlandırıldığını fərq edə bilərsiniz g_ESRI_variable_% id%. Bir baş barmağın qaydası budur ki, məlumat dəstlərinə və adlara gedən yolları dəyişənlərə çevirə biləcəyiniz simlərdən həqiqətən istifadə etməməlisiniz. Əlbətdə ki, bunu etmək məcburiyyətində deyilsən, çünki Esri həmin satır daxilindəki dəyişənləri yeniləyəcək, amma bu dəyişən adlarla yenidən işləmək daha çətindir, bu səbəbdən kodunuzu əvvəldən düzgün bir şəkildə düzəldin.

ArcGIS-də skript alətini işlədirsinizsə, danışıq geodatabase-də yerləşir C: Users \% user% AppData Local Temp scratch.gdb. Bununla birlikdə, aləti dərc etdikdən sonra xidmət yeni bir cızma geodatabase əldə edəcəkdir. Yaradılan aralıq məlumatları yoxlamağa ehtiyacınız varsa, sıfırdan geodatabana keçin (yolu ilə əldə edilə bilər arcpy.env.scratchGDB) aşağıdakı qeyd ilə GP xidmətinin hər bir işində yeni bir fayl geodatabase olacaq: c: arcgisserver directory arcgisjobs \% service% _gpserver \% jobid% scratch scratch.gdb.

Unutmayın ki, GP xidməti ara data yazmaq üçün həmişə yerli server işləri qovluğundan istifadə edəcək və bu davranış dəyişdirilə bilməz. Ancaq danışıq iş sahəsinə xidmət yazmaq, əslində diskdə təyin olunmuş yerə yazmaqdan daha təhlükəsizdir. Bunun səbəbi, eyni anda eyni yerə yazmağa çalışan çoxsaylı GP xidmət nümunələrinin, kilidləmə və paralellik məsələləri ilə nəticələnə bilməsi şansının olmamasıdır. Unutmayın ki, təqdim olunan hər bir həkim işi arcgisjobs qovluğundakı yeni bir cızma qovluğuna və geodatabana təyin ediləcəkdir.

İstifadə etmədiyinizə əmin olun arcpy.env.workspace kodunuzda hər zaman bir yol dəyişənini elan edin və onu qovluq və ya bir yer verilənlər bazası bağlantısı olaraq təyin edin. Məlumat dəsti yolu üçün birləşdirən sətirlər əvəzinə os.path.join () istifadə edin. Performans səbəbləri üçün istifadə edin yaddaşda aşağıdakı qeyd ilə ara məlumatlar üçün iş sahəsi:

İstifadədən istifadə edə bilərsiniz yaddaşda iş sahəsi, lakin problemi həll etmək üçün diskdə bir şey yazmaq daha sonra yoxlamaq üçün daha yaxşı ola bilər. Bu vəziyyətdə gpTempPlace kimi bir şey adlandırılan və ya olaraq dəyişdirə biləcəyiniz bir dəyişən yaratmaq lazım ola bilər & # 8220yaddaşda& # 8221 və ya istehsalda təmiz kod işləməyinizə və ya səhnələşdirmə mühitində xidmətdə problem həll etməyinizə bağlı olaraq yerli bir fayl geodatabase.

Dəyişən və xüsusiyyət sinfi / sahə adı üçün eyni addan istifadə etmədiyinizə əmin olun. Bu, bəzən xidməti işləyərkən gözlənilməz nəticələrə səbəb olur. “Əlavə etmək faydalı ola bilər_fcSonunda xüsusiyyət sinfi dəyişən üçün və "_ sahə”Alan dəyişən üçün. Beləliklə, onları çox asanlıqla ayırd edə biləcəksiniz. Eyni xüsusiyyət sinif və xüsusiyyət qat (Feature Layer GP aləti ilə yaradılmışdır) adları üçün də tətbiq olunur.

ArcGIS Server-in (Manger-də) və ya GP xidmətinin Gündəlik səviyyəsini (Service Editor pəncərəsində görülən) problemi həll etmək üçün düzəldə biləcəyinizi unutmayın. GP xidmətini istehsalda dərc etməzdən əvvəl Mesaj Səviyyə ayarını Məlumat səviyyəsinə qoymaq çox vaxt faydalıdır, çünki bu, GP xidmətini çalıştırarkən nəyin səhv olduğunu ətraflı məlumat verəcəkdir. Bu məlumatlara ArcMapdakı Nəticələr pəncərəsindən və ya Manager-dəki ArcGIS Server qeydlərindən daxil ola bilərsiniz.

Nəşr olunmuş xidməti necə yeniləyirəm?

Kodda dəyişiklik edərkən tez-tez GP xidmətlərini dərc etməsi lazım olan istifadəçilər üçün xüsusi bir söz olmalıdır. GP xidmətini yayımladıqdan sonra kopyalanan Python kod sənədinin və alət qutusunun mənbə Python faylına və müəllif olduğunuz mənbə alət qutusuna heç bir əlaqəsi olmadığını başa düşmək vacibdir. Bu, skript alətində düzəlişlər etdikdən sonra bu dəyişiklikləri serverdə nəşr olunan xidmətə keçirtməyiniz lazım olduğunu nəzərdə tutur.

Mənbə layihənizdə iki növ dəyişiklik edə bilərsiniz: skript alət xüsusiyyətlərindəki alət parametrləri və Python kodu. Nəşr olunmuş alətlər qutusunu düzəldə bilməyəcəyinizi unutmayın, belə ki, yeni bir parametr əlavə etsəniz və ya mövcud parametr məlumat növünü dəyişdirsəniz, xidməti yenidən dərc etməlisiniz. Bununla birlikdə, yalnız Python skript qaynaq kodunu dəyişdirmiş olsanız, yalnız Python faylı içindəki məzmunu dəyişdirməyiniz lazım olduğu üçün bütün xidməti yenidən dərc etməyə ehtiyac yoxdur.

Python ilə xidmət yayımlama işini avtomatlaşdıra bilsəniz də, alət qutusunu və Python kod sənədlərini köçürmək üçün vaxt lazımdır. Buna görə, yayımlanan Python kod sənədindəki Python kodunu dəyişdirmək üçün bir yol taparaq çox vaxt qazana bilərsiniz. Python kod sənədini yeniləmək üçün, həqiqətən, yalnız iki seçiminiz var və ya nəşr olunmuş dosyanı yenilənmiş mənbə faylı ilə kopyalayıb əvəzləyin və ya mənbə kodunu kopyalayıb yapışdırın. Kiçik bir Python skriptiniz varsa və maşınınızdakı və serverdəki məlumatların hamısı eyni olsa bu yanaşma işləyə bilər. Eyni maşın üzərində Masa üstü və Server olduqda bu ağlabatan bir həll ola bilər. Python mənbə kodu sənədinin bütün yolları və verilənlər bazası adlarını aldığı bir konfiqurasiya sənədiniz varsa, dərc edilmiş Python faylını da etibarlı bir şəkildə əvəz edə bilərsiniz. Lakin, bu hələ əlavə bir şeydir.

GP xidmətləri üzərində iki il işləyərkən gəldiyim ən yaxşı təcrübə kod sənədlərini və alətin özünü bölməkdir. İcazə ver izah edim.

Alət qutusu məntiqini və Python kodunu necə ayırmaq olar?

Bütün bunları ehtiva edən bir Python faylı (zəng edən bir skript) yaradın idxal Python modulları və sənədləriniz üçün ifadələr. Python sənədlərinizə yol əlavə edərək, üzərində işlədiyiniz Python sənədlərini idxal edə biləcəksiniz, əgər GP xidmətiniz yalnız bir çox moduldan ibarət bir fayldan ibarət deyilsə.

Bu fayl, skript alətinə məruz qalan bütün parametrləri də əhatə etməlidir.

Sonra GP xidmətini işə salarkən yerinə yetiriləcək bir əsas funksiyanı təyin edirsiniz. İdxal etdiyiniz fayllarda müəyyən edilmiş funksiyaları çağırırsınız.

ArcMap-da skript alətini çalıştırdığınızda bəzi parametr işləmə məntiqi əlavə etmək də əlverişlidir, alət üçün istifadəçilər ArcMap-dan və ya hər hansı digər xüsusi interfeysdən GP xidmətini icra edərkən görünən standart dəyərlərə çevriləcək alət üçün bəzi dəyərlər təmin edirsiniz. Bunun qarşısını almaq üçün yalnız GP skript alətinin yayımlanması üçün bu parametrləri boş buraxa və sonra boş nəticəni qaytara bilərsiniz.

Bu zəng edən Python faylından parametrləri və onların məlumat növlərini təyin edən bir skript aləti yaradın. Alət bir GP xidməti olaraq yayımlandıqdan sonra yalnız işi yerinə yetirən kodu ehtiva edən Python faylları ilə işləyə bilərsiniz.

Koddakı dəyişiklikləri yerinə yetirdikdən və saxladıqdan sonra birbaşa GP xidmətini işə salmaqdan çəkinməyin və zəng edən Python faylı (bir GP xidməti olaraq nəşr olunmuşdur) codefile1'i göstərdiyiniz qovluğa gətirəcək və kodu çalıştırın. GP xidmətini yenidən başlamağa və ya yeniləmə modulunu yenidən idxal etməyə ehtiyac yoxdur.


Videoya baxın: Rainbow İmleci Harketsiz Yapma!