Daugiau

Kas yra C# Arcobject, kurį turiu naudoti, norėdamas programiškai nustatyti LYR failo SQL užklausą?


Norėčiau programiškai pakeisti LYR failo SQL užklausą. Aš kuriu C# naudodamas „ArcObject“.

Tiesą sakant, aš galiu gauti „IWorkspaceFactory“ egzempliorių iš atidaryto sluoksnio su šiuo kodu:

IDataLayer dataLayer = (IDataLayer) lyrFile.Layer; IDatasetName datasetName = (IDatasetName) dataLayer.DataSourceName; IWorkspaceFactory wsFactory = datasetName.WorkspaceName.WorkspaceFactory;

Bet nuo čia aš įstrigęs. Nežinau, kaip pasiekti SQL užklausą. Aš perskaičiau, kad su „ISQLWorkspace“ galbūt galėčiau ką nors padaryti. Bet, tiesą sakant, nesu visiškai tikras.

Tikslas yra sukurti kelias sluoksnio failo (lyr) kopijas, šiek tiek pakeičiant tik SQL užklausą. Turiu tai padaryti, nes skirtuke „Apibrėžimo užklausa“ neturiu pakankamai funkcijų, kad galėčiau įgyvendinti įvairius mano SQL užklausos variantus.


„Arcobjects“ turi dvi sąsajas, skirtas prisijungti prie kelių „FeatureClasses“ ir (arba) lentelių:

  1. Užklausų lentelės („IQueryDef“)
  2. RelQueryTable

Prisijungimo rezultatas gali būti pridėtas prie žemėlapio kaip sluoksnis, jei rezultatas turi geometrijos stulpelį.

Būtinai perskaitykite tai Puslapis patikrinti dviejų skirtumus ir pasirinkti tą, kuris atitinka jūsų poreikius


Žiūrėti video įrašą: Урок 2. C# в ArcGIS. ArcObjects SDK. Изменение цвета слоя. (Spalio Mėn 2021).