Veel

Vigane SQL-avalduse viga faili-geoandmebaasi tabeli kuupäevavälja pärimisel arkoobjektidega

Vigane SQL-avalduse viga faili-geoandmebaasi tabeli kuupäevavälja pärimisel arkoobjektidega


Soovin pärida kuupäeva- ja ajavälja väljalt geoandmebaasi tabelis ja saan jätkuvalt vea „kehtetu SQL -lause” (veakood: -2147220985), samas kui see SQL -lause ei anna mulle viga tühjal tabelil sama konfiguratsioon sde -l (kuigi selles tabelis pole andmeid, arvan, et kui SQL -i avaldus oli vale, peaks see sama vea tekitama).

Ma kasutan ArcObjects .Net SDK 10. Konstrueerin oma lauset niimoodi, edastades argumendina kaks DateTime objekti. Olen proovinud erinevaid viise nende vormistamiseks.

string kusClause = string.Format ("dat> = '{0}' AND dat <= '{1}'", fromDate.ToShortDateString (), toDate.ToShortDateString ());

Seejärel loon faili-geoandmebaasi tööruumi IQueryDef ja seadistan eelmise koha. Seejärel kutsun IQueryDefi meetodit Evaluate () ja see jookseb kokku. Mul õnnestus samal töölaual samal tabelil edukalt käivitada muid kus-klausleid, kuid kuupäevavälja arvesse võtmata. Hetkel ma ei näe, kus probleem on. Kas failide geoandmebaasis olevate kuupäevaveergude ja SDE-ga, millel on ArcObjectsist väljapääs, on erinevus? Või on midagi viga selles, kuidas ma siin SQL -i kasutan?


Kuupäevaväljade ArcSDE ja File GDB SQL päringu süntaksi vahel on erinevusi:

SQL -viide ArcGIS -is kasutatavatele päringuavaldistele (10.2) (kuupäevad ja kellaaeg)

http://resources.arcgis.com/en/help/main/10.2/index.html#//00s500000033000000

Näib, et peate oma veergude nimed topelt jutumärkidesse kapseldama ja oma väärtustele kuupäeva ette panema. Usun, et ka File GDB tööruum on tõstutundlik:

See on faili GDB SQL süntaks:

"Kuupäevaväli" = kuupäev "yyyy-mm-dd"

Nii et teie oma võib välja näha umbes selline:

string kusClause = string.Format ("" dat "> = date '{0}' AND" dat "<= date '{1}'", fromDate.ToShortDateString (), toDate.ToShortDateString ());

ISQLSyntaxi liidese abil saate kontrollida, kas see on õige:

ISQLSyntaxi liides

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#/ISQLSyntax_Interface/002500000850000000/

Viitasin ka sellele lehele viitamiseks:

IQueryDef.WhereClause atribuut

http://resources.arcgis.com/en/help/arcobjects-net/componenthelp/index.html#//0025000006m1000000


Sobimatu SQL-avalduse tõrge faili-geoandmebaasi tabeli kuupäevavälja pärimisel arkoobjektidega-geograafilised infosüsteemid

Märkus. IMapServer2 asendas IMapServeri liidese

Toote kättesaadavus

Meetodi kokkuvõte
kahekordne computeDistance (String mapName, IPoint fromPoint, IPoint toPoint, int ühikud)
Arvutab määratud kaardi kahe punkti vahelise kauguse.
kahekordne computeScale (IMapDescription mapDesc, IImageDisplay mapDisplay)
Arvutab määratud kaardi skaala antud kaardi ulatuses antud suurusega pildi jaoks.
IMapImage exportMapImage (IMapDescription mapDesc, IImageDescription imageDesc)
Loob etteantud kaardi kirjelduse põhjal kaardi pildi ja kirjutab pildi kettale määratud faili.
IMapServerFindResults leid (IMapKirjelduse kaartDesc, IImageKuva kaart
Tagastab kaardiserveri otsingutulemite objektide kogumi, mis sisaldab antud otsingustringi.
tühine fromMapPoints (IMapDescription mapDescription, IImageDisplay mapDisplay, IPointCollection mapPoints, ILongArray [] ekraanXValues, ILongArray [] ekraanYValues)
Teisendab kaardi koordinaadi ekraani asukohaks.
String getDefaultMapName ()
Dokumendi aktiivse kaardi nimi (andmeraam).
IPropertySet getDocumentInfo ()
Kaardidokumendi jaoks määratud omaduste nime-väärtuse paaride komplekt (ainult mxd).
IMapServerLegendInfos getLegendInfo (String mapName, ILongArray layerIds, IMapServerLegendPatch patch, IImageType imgType)
Tagastab määratud kihtide jaoks kaardiserveri legenditeabe objektide kogumi.
int getMapCount ()
Kaartide (andmekaadrite) arv dokumendis.
String getMapName (int indeks)
Indeksiga näidatud kaardi nimi (andmeraam).
IMapServerInfo getServerInfo (String mapName)
Tagastab teabe kaardi (andmeraami) kohta.
ISQLSyntaxInfo getSQLSyntaxInfo (String mapName, int layerID)
Tagastab määratud kihi SQL -i süntaksiteabe.
int getSupportedImageReturnTypes ()
Kaardiserveri toetatud pilditagastuse tüübid.
IMapServerIdentifyResults tuvastama (IMapKirjelduse kaartDesc, IImageDisplay mapImage, IGeometry searchShape, int tolerance, int option, ILongArray layerIds)
Tagastab antud kohas kaardiserveri tuvastamise tulemite objektide kogumi.
int queryFeatureCount (String mapName, int layerID, IQueryFilter filter)
Tagastab funktsioonide arvu, mis vastavad määratud kihi päringufiltri valikukriteeriumidele.
IRecordSet queryFeatureData (String mapName, int layerID, IQueryFilter filter)
Tagastab kirje funktsioonide komplekti, mis vastavad määratud kihi päringufiltri valiku kriteeriumidele.
IFIDSet queryFeatureIDs (String mapName, int layerID, IQueryFilter filter)
Tagastab nende kihtide päringufiltri valikukriteeriumidele vastavate funktsioonide ID -d.
IMapServerHüperlingid päringHüperlingid (IMapKirjelduse kaartDesc, IImageDisplay mapImage, ILongArray layerIds)
Tagastab määratud kihtide kaardiserveri hüperlingiobjektide kogumi.
IPointCollection toMapPoints (IMapDescription mapDescription, IImageDisplay mapDisplay, ILongArray screenXValues, ILongArray screenYValues)
Teisendab ekraani asukoha kaardi koordinaadiks.

GetDocumentInfo

Märkused

Optimeeritud MapServer tagastab ka kaks täiendavat atribuuti - AntialiasingMode ja TextAntialiasingMode. AntialiasingMode'i tagastamisväärtused on kiireim, kiire, normaalne, parim või puudub, TextAntialiasingMode tagastab väärtuse None, Normal või Force.

Toote kättesaadavus

Toetatud platvormid

Tagastab: viide veebisaidile com.esri.arcgis.system.IPropertySet Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

GetMapCount

Toote kättesaadavus

Toetatud platvormid

Tagastab: loendamine Viskab: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

GetMapName

Toote kättesaadavus

Parameetrid: indeks - Indeks (in) Tagastab: mapName Viskab: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

GetDefaultMapName

Toote kättesaadavus

Toetatud platvormid

Tagastab: kaart AutomationException - kui ArcObject komponent loob erandi.

GetServerInfo

Märkused

See meetod tagastab MapServerInfo objekti. IMapServerInfo2 abil saate hankida teavet MapServeri objekti praeguse oleku kohta. Kui kahel (või enamal) andmekaadril on sama nimi, lisab kaardiserver teise nime lõppu eristava numbri. Nt. Kihid ja kihid2.

Toote kättesaadavus

Toetatud platvormid

Parameetrid: mapName - The mapName (in) Tagastab: viide saidile com.esri.arcgis.carto.IMapServerInfo Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

ExportMapImage

Märkused

Kasutamine ExportMapImage kaardi faili (pildi või vektorvormingu) allalaadimiseks.

Sisendparameeter MapDescription sisaldab atribuute, mis kirjeldavad kaarti (tuntud ka kui andmeraam). Nende hulka kuuluvad kaardid Nimi, MapArea, SpatialReference , samuti LayerDescription objektide kogusid. Suuruse, eraldusvõime ja failivormingu määravad ImageDescription, mis sisaldab ImageDisplay ja ImageType objektid.

ExportMapImage tagastab a MapImage objekti. MapExtent, MapScale ja massiivi VisibleLayers saab alla laadida MapImage'ist.

Kaardi saate eksportida kas vektorisse või pilditüüpi. Seda täpsustab ReturnType vara IImageType.

Väljundi suuruse ja eraldusvõime seadistamine

Suurus ja eraldusvõime on seadistatud ImageDisplay'is. Mõlemad Kõrgus ja Laius on nõutavad. Kõrguse ja laiuse omadused IImageResult on kirjutuskaitstud ja neid ei kasutata muudatuste tegemiseks. Eksporditud pildi suuruse kontrollimiseks IMapServerInit2 sisaldab kahte omadust: MaxImageHeight ja MaxImageWidth. Nende omaduste vaikeväärtus on 1024 pikslit.

Täpsustades peaksite olema ettevaatlik DeviceResolution ImageDisplay juurde. Kaarditeenus kasutab seda ainult serveris kaardiskaala määramiseks, see ei määratle kaardipildi eraldusvõimet. DeviceResolutioni muutmine võib kaasa tuua soovimatuid muudatusi kaardi skaalal. Näiteks ekspordite kaardipildi JPG -vormingusse. Saate määrata 400 x 600 piksli suuruse pildi, kui DeviceResolution on seadistatud 96. Suhteline MapScale saadud pildist on umbes 54 000 000. Järgmisena suurendate DeviceResolutioni 300 -ni, hoides suurust konstantsena. Selle tulemuse MapScale on umbes 205 000 000. Tulemus ei pruugi olla soovitud, kui kaart sisaldab kihte või silte, mis sõltuvad skaalast. MapScale'i väärtuse 1: 54 000 000 säilitamiseks peate eksportima suurema pildi.

Kui eksportite PDF -faili, peate meeles pidama, et PDF väljub leheruumist. Kõrguse ja laiuse määramine määrab PDF -lehe mõõtmed. Näiteks ekspordite kaardipildi PDF -i, kus ImageDisplay kõrgus on 400 ja laius 500. DeviceResolution on 100. Saadud PDF on 4 tolli ja 5 tolli. Kui hoiate seadme kõrguse ja laiuse seadeid konstantsena, kui suurendate DeviceResolutioni, muutub PDF -i tegelik suurus väiksemaks. Kui vähendate DeviceResolutioni, suureneb PDF -faili suurus. See mõjutab ka MapScale'i. Kui soovite, et MapScale jääks konstantseks, peate DeviceResolutioni suurendamisel (või vähendamisel) suurendama (või vähendama) ImageDisplay Kõrguse ja Laiuse väärtusi.

DeviceResolution mõjutab ka sümbolite renderdamist. Näiteks genereeriti kaks kaardipilti, kasutades sama suurust (250 x 250), samas ulatuses, kuid erinevat DeviceResolutioni. Esimene kaardipilt loodi DeviceResolutioniga 96 ja teine ​​200. Märkad sümbolite suuruse erinevusi nende kahe pildi vahel. Sümboloogia suurus määratakse lähtekaardi punktide (1 punkt = 1/72 tolli) abil. Kaardi sümboloogia suuruse määramiseks kasutatakse DeviceResolutioni punktidest piksliteks teisendamiseks järgmise võrrandiga:

Sümboli suurus punktides * (seadme resolutsioon/punktide arv 1 tolli kohta)

Kaardipildil, millel on 96 DeviceResolution, kasutab sümboli suurus 1 punkt renderdamiseks 1,33 pikslit (ümardatuna alla 1 piksli). Kaardipildil, millel on 200 DeviceResolution, kasutab sümboli suurus 1 punkt renderdamiseks 2,78 (ümardatuna kuni 3 pikslit). Selle tulemusel paistab sümboloogia DeviceResolution 200 abil loodud kaardipildil suurem.

Pildikvaliteet ja optimeeritud MapServeri pilditüüp

  • Optimeeritud MapServices võimaldab MapService'i autoril määrata algdokumendis (.msd) üldised valetamisvastased valikud ja tekstiväljundite valikud, mille tulemuseks on parema kvaliteediga pilt. Kasutaja võib kasutada atribuuti DocumentInfo, et teada saada, kas kaardil on alias-tõrje lubatud.
  • Väljundpildid võivad sisaldada esemeid, kui klient soovib png8 pilti ja MapService'is on lubatud valetõrje, eriti kui kaardi sisu kasutab rohkem kui 256 värvi. Esemeid võib esineda seetõttu, et valetõrje suurendab kaardil värvide arvu tõhusalt. Kui värvide arv kaardil suureneb üle 256 värvi (png8 kujutise piirang), võib ilmneda hägustumine, mille tulemuseks on ühevärviliste alade terav ja välimus. Kui kaardil on valetõrje lubatud, kasutage kvaliteetsemate piltide saamiseks pildivorminguid png24 või png32.
  • Optimeeritud MapServices lisab toe pilditüübile PNG32, mis võimaldab pikslitaseme läbipaistvuse toetamiseks kasutada alfa -riba (lisaks RGB -ribadele). PNG32 -vormingu kasutamisel kantakse kaardi kihtidele seatud läbipaistvus üle väljundpildile. See tähendab, et kliendirakendus ei pea teenuse teise kaarditeenuse peale kandmisel määrama kliendipoolset läbipaistvust. Kasutage omaduste komplekti ServiceConfigurationInfo, et teada saada, kas kaarditeenus toetab PNG32.
  • Optimeeritud MapServicesi poolt toetatavad pildivormingud on “PNG32, PNG24, PNG, JPG, DIB, TIFF, EMF, PS, PDF, GIF, SVG, SVGZ ja#8221
  • Standardse MapServicesi tugi “PNG24, PNG, JPG, DIB, TIFF, EMF, PS, PDF, GIF, SVG, SVGZ, AI ja#8221

Mitmesugused

Kaardi eksportimine vahemällu salvestatud teenusest ei genereeri kaarti dünaamiliselt, selle asemel loob see kaardi, kasutades eelküpsetatud vahemälu plaate.

Kaardi eksportimine erineb paigutuse eksportimisest. Leheruum on ExportLayouti oluline komponent. See on olemas kõigi kaardidokumentide ja kaarditeenuste puhul, millel dokumendid põhinevad. See leheruum pakub eksporditud paigutuse vaikesuurust (parimate tulemuste saamiseks peaksite seda vaikimisi kasutama). Leheruumi pole ExportMapImage'is. Seetõttu näete ExportMapImage'i kõrguse, laiuse või DeviceResolutioni reguleerimisel tulemuste erinevusi võrreldes ExportLayouti sarnaste kohandustega.

Kasutamine IMapServerGeoTransformation kui kaarditeenuse kujutist tuleb kuvada koordinaatsüsteemis, mille aluseks olev geograafiline koordinaatsüsteem erineb DefaultMapDescription aluseks olevast geograafilisest koordinaatsüsteemist.

Toote kättesaadavus

Toetatud platvormid

Parameetrid: mapDesc ​​- viide com.esri.arcgis.carto.IMapDescription (in) imageDesc - viide com.esri.arcgis.carto.IImageDescription (in) Tagastab: viide com.esri.arcgis. carto.IMapImage Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

Märkused

Find otsib stringi väärtuse alusel. Seda otsingut saab teha ühe kihi ühel väljal, ühe kihi paljudel väljadel või paljude kihtide paljudel väljadel. Find tagastab objektide kogumi, mis rakendab IMapServerFindResult.

Otsimine nõuab mitmeid sisendparameetreid. Nende hulka kuuluvad: MapDescription, ImageDisplay, otsingustring, loogiline väärtus selle kohta, kas otsingustring on täpne vaste (vale) või mitte (tõene), komaga eraldatud stringiväärtuste loend soovitud väljade nimede jaoks otsing, esriFindOption ja otsitavate kihi ID -de massiiv.

Pange tähele, et funktsioon Find töötab ainult kihiga ja StandaloneTable ei tööta. See ei austa ka kihi seadistamist.

MapDescription sisaldab kõiki kaardil olevaid kihtide kirjeldusi. Need LayerDescriptions sisaldavad atribuuti DefinitionExpression. DefinitionExpressioni saab kihile seada, et piirata kuvamiseks või päringuks saadaolevaid kihi funktsioone. Selle avaldise saab lähtekaardidokumendis määrata määratluspäringuna või atribuudi DefinitionExpression abil. LayerDescriptionis olev DefinitionExpression komplekt alistab kõik lähtekaardil määratletud päringukomplektid. MapServer Findi tulemused peaksid austama kõiki kihi määratluspäringuid või DefinitionExpression.

Seda on vaja teha kindlaks, kas kihid on praeguse kaardi skaala põhjal nähtavad või mitte.

Kui parameeter searchFields on tühi, otsitakse kõik väljad.

Parameeter esriFindOption sisaldab: esriFindAllLayers ja esriFindVisibleLayers. Kui kasutatakse esriFindAllLayers, kehtivad kõik kihid. Kui kasutatakse esriFindVisibleLayers, tehakse otsing ainult kihtidel, mis on kaardiekraanil nähtavad. Kihi nähtavus sõltub sellest, kas kiht on sisse või välja lülitatud (atribuut Visible on ILayerDescription3) või kas kiht on sisse lülitatud, kuid ei ole nähtav skaala sõltuvuste tõttu (IMSLayerInfo2 atribuudid MinScale ja MaxScale). Parameetrit mapImage on vaja kindlaks teha, kas kiht pole skaala sõltuvuste põhjal nähtav. See parameeter võib olla midagi/null, kui kasutatakse esriFindAllLayers.

Parameetrid esriFindOption ja LayerID käituvad nagu tõeväärtus AND. Prioriteeti pole. Näiteks: kui esriFindOption on esriFindVisibleLayers ja pLayerIDs on Nothing/Null või tühi, otsitakse läbi kõik nähtavad kihid. Kui esriFindOption on esriFindVisibleLayers ja pLayerIDs sisaldab ainult esimest kihti, otsitakse esimest kihti ainult siis, kui see on nähtav.

Funktsioon Find austab alati väljade nähtavust ning vaikimisi järgib see lähtekaardidokumendis määratud väljade varjunimesid ja väljade vormindamist. Kui soovite kasutada väljanimesid väljanimede asemel, määrake ReturnFieldNamesInResults väärtuseks Tõene. Kui soovite algse andmetüübi väärtust (nt vormindatud stringi asemel kahekordset väärtust), et saaksite arvutada (nt muuta lokaalseadete numbrilist või kuupäeva), määrake FormatValuesInResults väärtuseks Väär. Oluline on märkida, et neid omadusi austatakse ainult siis, kui otsitav kiht rakendab IFeatureLayer (nt FeatureLayer). Kui küsitaval funktsioonil on mitu sama varjunimega välja (nt liitumisel), edastatakse kliendile tagasi ainult üks ja ülejäänud jäetakse tulemusest välja.

Geomeetria tagastatakse alati samas ruumilises viitesüsteemis nagu DefaultMapDescription, isegi kui kihi lähteandmed võivad olla teises koordinaatsüsteemis. Tulemuse välja Kuju väärtus on string, mis näitab geomeetria tüüpi. Tulemusega seotud geomeetria saamiseks kasutage atribuuti IMapServerFindResult :: FeatureShape.

Mõnel juhul võite tulemuslikkuse huvides soovida piirata või kohandada otsingutulemuses tagastatavat geomeetriat. Selle haldamiseks kasutage ILayerResultOptions. Kui IncludeGeometry on seatud väärtusele False, ei tagasta FeatureShape midagi. See peaks suurendama jõudlust juhtudel, kui funktsioonide geomeetria on suur. Kui funktsiooni ILayerResultOptions ei kasutata, tagastab FeatureShape geomeetria. Kui väli Kuju on lähtekaardil nähtamatu, võib FeatureShape siiski sisaldada geomeetriat sõltuvalt sellest, kuidas kasutaja IncludeGeometry määrab. GeometryResultOptions abil saate ka FeatureShape'is tagastatud geomeetria tihendada või üldistada. Tihendamist kasutatakse klientide paremaks toetamiseks, kes ei toeta kaare (nt Bezier, ringkiri jne).Üldistamine vähendab võrgu kaudu saadetava geograafia hulka ja peaks parandama jõudlust. Kui LayerResultOptions pole LayerDescription jaoks määratud, sisaldavad päringu tulemused algset geomeetriat.

Findi ja teiste päringumeetodite (nt QueryData, QueryRowIDs, QueryFeatureData jne) vahel on kaks peamist erinevust. Esimene on see, et Find saab töötada mitmel kihil, samas kui päringumeetodid töötavad ühe kihiga. Teine on see, et Find töötab ainult otsingustringiga. Päringumeetodid kasutavad parameetrina queryFilter. See võimaldab päringu aluseks võtta kas atribuudi filtri (SQL avaldis) või ruumilise filtri.

Selleks et kontrollida teabe hulka, mida MapServer peab päringu jaoks töötlema, saab määrata maksimaalse arvu kirjeid. See väärtus sisaldub atribuudis MaxRecordCount saidil IMapServerInit2. Selle atribuudi vaikeväärtus on 1000. Kui antud päringule vastab 1100 funktsiooni, tagastatakse ainult esimesed 1000 tulemust. Te ei pääse juurde ülejäänud 100 kirjele. Nendele andmetele juurdepääsemiseks tuleks MaxRecordCount'i suurendada 1100 -ni. MaxRecordCount'i saab muuta ka, muutes MapServeri konfiguratsioonifailis olevat MaxRecordCount XML -silti.

Toote kättesaadavus

Toetatud platvormid

Parameetrid: mapDesc ​​- viide com.esri.arcgis.carto.IMapDescription (in) mapImage - viide com.esri.arcgis.carto.IImageDisplay (in) searchString - SearchString (in) sisaldab - Sisaldab ( in) searchFields - valik SearchFields (in) - A com.esri.arcgis.carto.esriFindOption konstant (in) layerIds - viide com.esri.arcgis.system.ILongArray (in) Tagastab: viide comile .esri.arcgis.carto.IMapServerFindResults Visked: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

Tuvastada

Märkused

Tuvastage tagastab kaardi funktsioonid ja nende atribuutide väärtused otsingu asukoha alusel. Seda saab teha üksikul kihil, ülemisel kihil, kõigil kihtidel või lihtsalt kõigil nähtavatel kihtidel. See meetod tagastab rakendatavate objektide kogumi IMapServerIdentifyResult.

Identifitseerimiseks on vaja mitmeid sisendparameetreid. Nende hulka kuuluvad: MapDescription, ImageDisplay, otsingu kuju, tolerants, esriIdentifyOption ja identifitseeritavate kihtide ID. Pange tähele, et see ei tööta StandaloneTable'iga.

Ajatundlik kiht

Identify tuvastab kihi ajaseaded. Kui kiht on UseTime on tõene ja MapDescriptioni oma TimeValue on määratud, tuvastage ainult otsingufunktsioonid, mis jäävad ajavahemikku.

Kiht HTMLPopupiga

Identify saab ka rikaste html -vormingus tulemusi tagastada. Kui kiht on HTMLPopupType ei ole esriServerHTMLPopupTypeNone, saate kasutada ühte kahest htmlpopup -suvandist, et tuvastada tulemus html -vormingus nii, nagu see on koostatud.

MapDescription sisaldab kõiki Kihikirjeldused kaardil. Need LayerDescriptions sisaldavad a Definitsioon Väljend vara. DefinitionExpressioni saab kihile seada, et piirata kuvamiseks või päringuks saadaolevaid kihi funktsioone. Selle avaldise saab lähtekaardidokumendis määrata määratluspäringuna või atribuudi DefinitionExpression abil. LayerDescriptionis olev DefinitionExpression komplekt alistab kõik lähtekaardil määratletud päringukomplektid. MapServeri tuvastamistulemused peaksid täitma kõik kihi määratluspäringud või DefinitionExpression.

Seda on vaja teha kindlaks, kas kihid on praeguse kaardi skaala põhjal nähtavad või mitte.

SearchShape

ISpatialFilteris määratud geomeetria peab vastama järgmistele kriteeriumidele:

  • Sellel peaks olema määratletud ruumiline võrdlussüsteem. Kui see pole määratletud, eeldatakse, et koordinaatsüsteem on DataFrame ’s koordinaatsüsteemis
  • See peab olema üks kõrgetasemelistest geomeetriatest, st punkt, mitmepunktiline, polüliin, hulknurk või mitmik. Madala taseme geomeetria nt. BezierCurve, CircularCurve tuleb pakkida kõrgetasemelisele geomeetriale
  • See peab olema topoloogiliselt õige. Lisateabe saamiseks vaadake abi IP hulknurk ja ITopologicalOperator :: Lihtsusta .

Tolerants on kaugus, mille jooksul funktsioone otsitakse. Üksus on pikslites. Seda kasutatakse ainult siis, kui SearchShape on punkt.

esriIdentifyOption

Parameeter esriIdentifyOption sisaldab järgmisi esriIdentifyAllLayers, esriIdentifyVisibleLayers ja esriIdentifyTopmost. Kui kasutatakse esriIdentifyAllLayers, tagastatakse kõik kaardil olevate kihtide funktsioonid, mis jäävad otsinguvormi tolerantsiväärtuse piiresse. Kui kasutatakse esriIdentifyVisibleLayers, tagastatakse ainult nähtavate kihtide funktsioonid. Kihi nähtavus sõltub sellest, kas kiht on sisse või välja lülitatud ( Nähtav vara peal ILayerDescription3) või kas kiht on sisse lülitatud, kuid pole skaala sõltuvuste tõttu nähtav ( MinScale ja MaxScale omadused peal IMapLayerInfo2). Parameetrit mapImage on vaja kindlaks teha, kas kiht pole skaala sõltuvuste põhjal nähtav. EsriIdentifyOption esriIdentifyTopmost viitab nähtavale kihile, mis on kaardijoonistamise järjekorras kõige ülemine otsingu vormingus määratud kohas.

Parameetrid esriIdentifyOption ja LayerID käituvad nagu tõeväärtus AND. Prioriteeti pole. Näiteks: kui esriIdentifyOption on esriIdentifyVisibleLayers ja pLayerIDs on Nothing/Null või tühi, otsitakse läbi kõik nähtavad kihid. Kui esriIdentifyOption on esriIdentifyVisibleLayers ja pLayerIDs sisaldab ainult esimest kihti, otsitakse esimest kihti ainult siis, kui see on nähtav.

Identify võtab alati arvesse väljade nähtavust ning vaikimisi järgib see lähtekaardidokumendis määratud väljade varjunimesid ja väljade vormindamist. Kui soovite väljade varjunimede asemel kasutada väljade nimesid, määrake ReturnFieldNamesInResults tõele. Kui soovite algset andmetüüpi (nt vormindatud stringi asemel kahekordset väärtust) kasutada, et saaksite arvutada (nt muuta lokaalseadete numbrilist või kuupäeva), määrake FormatValuesInResults valele. Oluline on märkida, et neid omadusi austatakse ainult siis, kui tuvastatav kiht rakendub IFeatureLayer (nt FeatureLayer).

Geomeetria tagastatakse alati samas ruumilises viitesüsteemis kui DefaultMapDescription, kuigi kihi lähteandmed võivad olla teises koordinaatsüsteemis. Välja kuju kuju väärtus IMapServerIdentifyResult :: PropetySet või sellega seotud IMapServerRow :: PropertySet on string, mis näitab geomeetria tüüpi. Tulemusega seotud geomeetria saamiseks kasutage IMapServerIdentifyResult :: Kuju vara hoopis. Identify ei tagasta ühegi seotud funktsiooniga seotud geomeetriat. Kui tuvastataval funktsioonil on mitu sama nimega välja, edastatakse kliendile tagasi ainult üks ja ülejäänud jäetakse tulemusest välja.

Mõnel juhul võite tulemuslikkuse huvides piirata või kohandada tuvastamistulemuses tagastatavat geomeetriat. Kasutamine ILayerResultOptions seda juhtida. Kui Kaasa geomeetria on seatud väärtusele Väär, Kuju vara ei tagasta midagi. See peaks suurendama jõudlust juhtudel, kui funktsioonide geomeetria on suur. Kui funktsiooni ILayerResultOptions ei kasutata, tagastab atribuut Shape geomeetria. Kui väli Shape on lähtekaardil nähtamatu, võib atribuut Shape siiski sisaldada geomeetriat sõltuvalt sellest, kuidas kasutaja IncludeGeometry on määranud. Samuti saate valida tagastatava geomeetria tihendamise või üldistamise, kasutades GeometryResultOptions. Tihendamist kasutatakse klientide paremaks toetamiseks, kes ei toeta kaare (nt Bezier, ringkiri jne). Üldistamine vähendab võrgu kaudu saadetava geograafia hulka ja peaks parandama jõudlust.

Mitmesugused

Selleks et kontrollida teabe hulka, mida MapServer peab päringu jaoks töötlema, saab määrata maksimaalse arvu kirjeid. See väärtus sisaldub MaxRecordCount vara peal IMapServerInit2. Selle atribuudi vaikeväärtus on 1000. Kui antud päringule vastavad 1100 funktsiooni, tagastatakse ainult esimesed 1000 tulemust. Te ei pääse juurde ülejäänud 100 kirjele. Nendele andmetele juurdepääsemiseks tuleks MaxRecordCount'i suurendada 1100 -ni. MaxRecordCount'i saab muuta ka, muutes MapServeri konfiguratsioonifailis olevat MaxRecordCount XML -silti.

Kui tuvastataval kihil on seos teiste tabelitega, IMapServerRelationship ja IMapServerRow liidesed võimaldavad juurdepääsu suhte omadustele ja nendega seotud tabelitele. Tagastatud ridade arv ei ole piiratud MaxRecordCount.

Toote kättesaadavus

Toetatud platvormid

Parameetrid: mapDesc ​​- viide com.esri.arcgis.carto.IMapDescription (in) mapImage - viide com.esri.arcgis.carto.IImageDisplay (in) otsingule Shape - viide com.esri.arcgis. geomeetria. Geomeetria (in) tolerants - valik tolerants (in) - A com.esri.arcgis.carto.esriIdentifyOption konstant (in) layerIds - viide com.esri.arcgis.system.ILongArray (in) Tagastab: A viide saidile com.esri.arcgis.carto.IMapServerIdentifyResults Visked: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryFeatureCount

Märkused

QueryFeatureCount tagastab antud päringufiltri parameetritele vastavate kaardifunktsioonide arvu.

QueryFeatureCount nõuab mitmeid sisendparameetreid. Nende hulka kuuluvad: MapName, LayerID ja QueryFilter. QueryFilter võib olla atribuudi päring (SQL espressioon), ruumiline päring või nende kombinatsioon.

QueryFilter

QueryFilter pakub võimalust pärida atribuudifiltri (SQL -avaldise) põhjal ruumifiltrit või mõlema kombinatsiooni. Atribuudifiltrid võtavad kasutusele kõik kehtivad ‘n-GIS andmespetsiifilised ’ SQL-laused. Näiteks CNTRY_CODE = ‘BD ’ või POPULATION = 12345. Kuupäevaväljade päringu süntaks sõltub aluseks olevatest andmetest. Kui töötate Shapefile'i või faili GeoDatabase andmetega, on Accessi põhise isikliku geoandmebaasi süntaks & ltFieldName & gt = date ‘YYYY-MM-DD ’, süntaks on#YYYY-MM-DD#. SDE andmebaasi puhul vaadake konkreetse andmebaasi ja#8217 abi.

SearchShape

ISpatialFilteris määratud geomeetria peab vastama järgmistele kriteeriumidele:

  • Sellel peaks olema määratletud ruumiline võrdlussüsteem. Kui see pole määratletud, eeldatakse, et koordinaatsüsteem on DataFrame ’s koordinaatsüsteemis
  • See peab olema üks kõrgetasemelistest geomeetriatest, st punkt, mitmepunktiline, mitmikjoon, hulknurk või mitmik. Madala taseme geomeetria nt. BezierCurve, CircularCurve tuleb pakkida kõrgetasemelisele geomeetriale
  • See peab olema topoloogiliselt õige. Lisateabe saamiseks vaadake abi IP hulknurk ja ITopologicalOperator :: Lihtsusta.

Mitmesugused

MaxRecordCount ei mõjuta QueryFeatureCount ega QueryFeatureCount2.

Nende vahel on kaks peamist erinevust Leia ja QueryFeatureCount. Esimene on see, et Find saab töötada mitme kihiga, samas kui päringumeetodid töötavad ühe kihiga. Teine on see, et Find töötab ainult otsingustringiga. Päringumeetodid kasutavad parameetrina queryFilter. See võimaldab päringu aluseks võtta kas atribuudi filtri (SQL avaldis) või ruumilise filtri.

Toote kättesaadavus

Toetatud platvormid

Parameetrid: mapName - mapName (in) layerID - layerID (in) filter - viide com.esri.arcgis.geodatabase.IQueryFilter (in) Tagastab: The Count Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryFeatureIDs

Märkused

QueryFeatureIDs tagastab kaardifunktsioonide ID -d (FIDSet), mis vastavad antud päringufiltri parameetritele.

QueryFeatureIDs nõuab mitmeid sisendparameetreid. Nende hulka kuuluvad: MapName, LayerID ja QueryFilter. QueryFilter võib olla atribuudi päring (SQL espressioon), ruumiline päring või nende kombinatsioon.

QueryFilter

QueryFilter pakub võimalust pärida atribuudifiltri (SQL -avaldise) põhjal ruumifiltrit või mõlema kombinatsiooni. Atribuudifiltrid võtavad kasutusele kõik kehtivad ‘n-GIS andmespetsiifilised ’ SQL-laused. Näiteks CNTRY_CODE = ‘BD ’ või POPULATION = 12345. Kuupäevaväljade päringu süntaks sõltub aluseks olevatest andmetest. Kui töötate Shapefile'i või faili GeoDatabase andmetega, on Accessi-põhise isikliku geoandmebaasi süntaks & ltFieldName & gt = date ‘YYYY-MM-DD ’, süntaks on#YYYY-MM-DD#. SDE andmebaasi puhul vaadake konkreetse andmebaasi ja#8217 abi.

SearchShape

ISpatialFilteris määratud geomeetria peab vastama järgmistele kriteeriumidele:

  • Sellel peaks olema määratletud ruumiline võrdlussüsteem. Juhul kui see pole määratletud, eeldatakse, et koordinaatsüsteem on DataFrame ’s koordinaatsüsteemis
  • See peab olema üks kõrgetasemelistest geomeetriatest, st punkt, mitmepunktiline, mitmikjoon, hulknurk või mitmik. Madala taseme geomeetria nt. BezierCurve, CircularCurve tuleb pakkida kõrgetasemelisele geomeetriale
  • See peab olema topoloogiliselt õige. Lisateabe saamiseks vaadake abi IP hulknurk ja ITopologicalOperator :: Lihtsusta .

Mitmesugused

MaxRecordCount ei mõjuta QueryFeatureIDs ega QueryFeatureIDs2.

Nende vahel on kaks peamist erinevust Leia ja QueryFeatureIDs. Esimene on see, et Find saab töötada mitme kihiga, samas kui päringumeetodid töötavad ühe kihiga. Teine on see, et Find töötab ainult otsingustringiga. Päringumeetodid kasutavad parameetrina queryFilter. See võimaldab päringu aluseks võtta kas atribuudi filtri (SQL avaldis) või ruumilise filtri.

Selle funktsiooni tulemusi saab kasutada koos LayerDescription :: SelectionFeatures eksporditud pildil valiku kuvamiseks.

Toote kättesaadavus

Toetatud platvormid

Parameetrid: mapName - The mapName (in) layerID - layerID (in) filter - viide com.esri.arcgis.geodatabase.IQueryFilter (in) Tagastab: viide com.esri.arcgis.geodatabase.IFIDSet Throws : IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryFeatureData

Märkused

QueryFeatureData tagastab antud päringufiltri parameetritele vastavad kaardifunktsioonide kirjed. QueryFeatureData tagastab a RecordSet .

QueryFeatureData nõuab mitmeid sisendparameetreid. Nende hulka kuuluvad: a Nimi, LayerIDja a QueryFilter. QueryFilter võib olla atribuudi päring (SQL espressioon), ruumiline päring, mõlema kombinatsioon või null.

QueryFilter

QueryFilter pakub võimalust pärida atribuudifiltri (SQL -avaldise) põhjal ruumifiltrit või mõlema kombinatsiooni. Atribuudifiltrid võtavad kasutusele kõik kehtivad ‘n-GIS andmespetsiifilised ’ SQL-laused. Näiteks CNTRY_CODE = ‘BD ’ või POPULATION = 12345. Kuupäevaväljade päringu süntaks sõltub aluseks olevatest andmetest. Kui töötate Shapefile'i või faili GeoDatabase andmetega, on Accessi põhise isikliku geoandmebaasi süntaks & ltFieldName & gt = date ‘YYYY-MM-DD ’, süntaks on#YYYY-MM-DD#. SDE andmebaasi puhul vaadake konkreetse andmebaasi ja#8217 abi.

Selle saab seadistada null või Mitte midagi kõigi andmete hankimiseks (mis on samuti piiratud MaxRecordCount)

Kui geomeetria pole väljundis RecordSet soovitud, IQuerFilter’s Alamväljad tuleb määratleda ilma ‘Kuju ’ väljata. Kui alamväljad on tühjad või sisaldavad ‘Shape ’, sisaldab IRecordSet väljad "kuju_pikkus" ja "kuju_ala". Kui väljundgeomeetria soovitud ruumiline võrdlus erineb algsest, OutputSpatialReference tuleks kasutada. Vastasel juhul tagastatakse geomeetria samas ruumisiseses süsteemis nagu DefaultMapDescription algselt. Kui alamväljad pole määratletud või = “*”, tagastab see kõik nähtavad väljad. Nähtamatuid või kehtetuid väljade nimesid või varjunimesid ei tohi alamvälja ’s stringis sisaldada, vastasel juhul kuvatakse viga. Pange tähele, väli ObjectID tagastatakse alati olenemata sellest, kas see on alamväljades või mitte. DISTINCT -i kasutamisel on ainult ootus.

SearchShape

ISpatialFilteris määratud geomeetria peab vastama järgmistele kriteeriumidele:

  • Sellel peaks olema määratletud ruumiline võrdlussüsteem. Kui see pole määratletud, eeldatakse, et koordinaatsüsteem on DataFrame ’s koordinaatsüsteemis
  • See peab olema üks kõrgetasemelistest geomeetriatest, st punkt, mitmepunktiline, mitmikjoon, hulknurk või mitmik. Madala taseme geomeetria nt. BezierCurve, CircularCurve tuleb pakkida kõrgetasemelisele geomeetriale
  • See peab olema topoloogiliselt õige. Lisateabe saamiseks vaadake abi IP hulknurk ja ITopologicalOperator :: Lihtsusta .

QueryFeatureData austab lähtekaardi dokumendis määratud väljade nähtavust. Lähtekaardidokumendis määratud väljapseudonüüme peetakse arvesse ainult MapServer WSDL -iga töötamisel või MapServer objekti kaudu AGSServerConnection (LAN või Internet), kuid pole DCOM -ühenduse jaoks austatud. RecordSet teeb seda siiski MITTE austa kõiki lähtekaardil olevaid väljavorminguid.

Geomeetria tagastatakse alati samas ruumilises viitesüsteemis kui DefaultMapDescription, kuigi kihi lähteandmed võivad olla teises koordinaatsüsteemis, välja arvatud juhul OutputSpatialReference on kasutaja selgesõnaliselt seadistatud teisele koordinaatsüsteemile (SOAP/WSDL puhul mõlemad OutputSpatialReference & amp SpatialReferenceFieldName omadused tuleb määrata). Koordinaatsüsteemi saamiseks IField :: GeometryDef tuleks kasutada.

Mõnel juhul, võib -olla tulemuslikkuse tõttu, võite piirata või kohandada geomeetriat, mis tagastatakse kirjete kogumi tulemuses. Tagastatud geomeetriat ei saa QueryFeatureData abil reguleerida. Peate kasutama QueryFeatureData2 selleks, et seda teha.

Selleks, et kontrollida teabe hulka, mida MapServer peab päringu jaoks töötlema, saab määrata maksimaalse arvu kirjeid. See väärtus sisaldub MaxRecordCount vara peal IMapServerInit2. Selle atribuudi vaikeväärtus on 500. Kui antud päringule vastavad 600 funktsiooni, tagastatakse ainult esimesed 500 tulemust. Te ei pääse juurde ülejäänud 100 kirjele. Nendele andmetele juurdepääsemiseks tuleks MaxRecordCount'i suurendada 600 -ni. MaxRecordCount'i saab muuta ka, muutes MapServeri konfiguratsioonifailis olevat MaxRecordCount XML -silti.

Mitmesugused

Nende vahel on kaks peamist erinevust Leia ja QueryFeatureData. Esimene on see, et Find saab töötada mitmel kihil, samas kui päringumeetodid töötavad ühe kihiga. Teine on see, et Find töötab ainult otsingustringiga. Päringumeetodid kasutavad parameetrina queryFilter. See võimaldab päringu aluseks võtta kas atribuudi filtri (SQL avaldis) või ruumilise filtri.

Toote kättesaadavus

Toetatud platvormid

Parameetrid: mapName - The mapName (in) layerID - layerID (in) filter - viide com.esri.arcgis.geodatabase.IQueryFilter (in) Tagastab: viide com.esri.arcgis.geodatabase.IRecordSet Throws : IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryHüperlingid

Märkused

QueryHyperlinks tagastab objektide kogumi, mis rakendab IMapServerHyperlink.

QueryHyperlinks nõuab mitmeid sisendparameetreid. Nende hulka kuuluvad: MapDescription, ImageDisplay ja LayerID.

MapDescription sisaldab kõiki kaardil olevaid kihtide kirjeldusi. Need LayerDescriptions sisaldavad atribuuti DefinitionExpression. DefinitionExpressioni saab kihile seada, et piirata kuvamiseks või päringuks saadaolevaid kihi funktsioone. Selle avaldise saab lähtekaardidokumendis määrata määratluspäringuna või atribuudi DefinitionExpression abil. LayerDescriptionis olev DefinitionExpression komplekt alistab kõik lähtekaardil määratletud päringukomplektid. MapServer QueryHyperlinksi tulemused peaksid austama kõiki kihi määratluspäringuid või DefinitionExpression.

Seda on vaja teha kindlaks, kas kihid on praeguse kaardi skaala põhjal nähtavad või mitte. Kihi nähtavus sõltub sellest, kas kiht on sisse või välja lülitatud (atribuut Visible on ILayerDescription3) või kas kiht on sisse lülitatud, kuid ei ole nähtav skaala sõltuvuste tõttu (IMSLayerInfo2 atribuudid MinScale ja MaxScale).

Mõnel juhul võiksite jõudluse huvides QueryHyperlinki tulemuses tagastatavat geomeetriat kohandada. Selle haldamiseks kasutage ILayerResultOptions. Tagastatud geomeetria saate tihendada või üldistada, kasutades GeometryResultOptions. Tihendamist kasutatakse klientide paremaks toetamiseks, kes ei toeta kaare (nt Bezier, ringkiri jne). Üldistamine vähendab võrgu kaudu saadetava geograafia hulka ja peaks parandama jõudlust. Seade IncludeGeometry atribuut ei mõjuta, QueryHyperLinks tagastab alati geomeetria.

Geomeetria tagastatakse alati samas ruumilises viitesüsteemis nagu DefaultMapDescription, isegi kui kihi lähteandmed võivad olla teises koordinaatsüsteemis.

Selleks, et kontrollida teabe hulka, mida MapServer peab päringu jaoks töötlema, saab määrata maksimaalse arvu kirjeid. See väärtus sisaldub atribuudis MaxRecordCount saidil IMapServerInit2. Selle atribuudi vaikeväärtus on 500. Kui antud päringule vastavad 600 funktsiooni, tagastatakse ainult esimesed 500 tulemust. Te ei pääse juurde ülejäänud 100 kirjele. Nendele andmetele juurdepääsemiseks tuleks MaxRecordCount'i suurendada 600 -ni. MaxRecordCount'i saab muuta ka, muutes MapServeri konfiguratsioonifailis olevat MaxRecordCount XML -silti.

Toote kättesaadavus

Toetatud platvormid

Parameetrid: mapDesc ​​- viide com.esri.arcgis.carto.IMapDescription (in) mapImage - viide com.esri.arcgis.carto.IImageDisplay (in) layerIds - viide com.esri.arcgis. system.ILongArray (in) Tagastab: viide com.esri.arcgis.carto.IMapServerHyperlinks Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

ComputeScale

Toote kättesaadavus

Toetatud platvormid

Parameetrid: mapDesc ​​- viide com.esri.arcgis.carto.IMapDescription (in) mapDisplay - viide com.esri.arcgis.carto.IImageDisplay (in) Tagastab: skaala Viskab: IOException - kui on interope probleeme. AutomationException - kui ArcObject komponent loob erandi.

ComputeDistance

Toote kättesaadavus

Toetatud platvormid

Parameetrid: mapName - The mapName (in) fromPoint - Viide com.esri.arcgis.geometry.IPoint (in) toPoint - Viide com.esri.arcgis.geometry.IPoint (in) ühikutele - A com. esri.arcgis.system.esriUnits konstant (in) Tagastab: kaugus Viskab: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

ToMapPoints

Toote kättesaadavus

Toetatud platvormid

Parameetrid: mapDescription - viide com.esri.arcgis.carto.IMapDescription (in) mapDisplay - viide com.esri.arcgis.carto.IImageDisplay (in) ekraanileXValues ​​- viide com.esri.arcgis. system.ILongArray (in) screenYValues ​​- viide com.esri.arcgis.system.ILongArray (in) Tagastab: viide com.esri.arcgis.geometry.IPointCollection Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

Saidilt MapPoints

Toote kättesaadavus

Toetatud platvormid

Parameetrid: mapDescription - viide com.esri.arcgis.carto.IMapDescription (in) mapDisplay - viide com.esri.arcgis.carto.IImageDisplay (in) mapPoints - viide com.esri.arcgis. geometry.IPointCollection (in) screenXValues ​​- viide com.esri.arcgis.system.ILongArray (sisse/välja: ühe elemendi massiivi) ekraanileYValues ​​- viide com.esri.arcgis.system.ILongArray (sisse/välja) : kasutage üheelemendilist massiivi) Viskab: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

GetLegendInfo

Märkused

Kasutamine GetLegendInfo üksikute legendielementide, sealhulgas sümbolipildi, siltide, kirjelduste ja pealkirjade hankimiseks. Tavaline kasutamine oleks sisukorra täitmine. Pange tähele, et komposiitkihid, näiteks rühmakihid ja märkimiskihid, ei sisalda legendielemente. Legendist ühe pildi eksportimiseks kasutage ExportLegend peal IMapServerLayout.

GetLegendInfo meetod tagastab kogu MapServerLegendInfo objektid. Legendid on seotud renderdajatega, mis kuuluvad kaardi igasse kihti. Igal kihil on eraldi render. Igal renderdajal on üks või mitu legendirühma. Igal legendigrupil on üks või mitu legendiklassi. Legendplaastri kohandamist saab teha kasutades IMapServerLegendPatch . Selle sisendparameetri ("plaaster") sisestamisel "Mitte midagi" kasutatakse vaikimisi legendi plaastrit.

MapServerLegendInfo ei sisalda teavet selle kohta, kas andmeraam ja TOC kihid on algses kaardidokumendis laiendatud või ahendatud. Selle teadasaamiseks peate kirjutama oma koodi.


Funktsiooniklassi sümboliseerimine, kasutades seotud tabeliväärtusi

autor AndresCastillo

Ma hargnen sellest teemast:

Mul on kaevude ülevaatus fc, mis on seotud kontrolliajaloo tabeliga, kasutades vanema välja „GlobalID” (teise nimega gid)/ ja lapse välja „Parent guid” üks kuni mitu suhet,
ja tabelis on manused, mis kasutavad gid/Parent guid.

Proovin sümboliseerida vanemfunktsioonide klassi, mis põhineb alamtabeli väljadel.

Siiani olen proovinud kahte meetodit:

1.
Proovisin sql -skripti FC -st arcmap -is, kasutades seda määratluspäringut:
VALI * FROM ssManholeInspections KUS:
GlobalID IN (SELECT ParentGUID from ssManholeInspectionsHistory)

Mõlemal juhul tagastatakse alles esimene vastav kirje, mis on vale.

Tundub, et saan kuvada ainult viimast kirjet (näiteks 1: 1 liitumine), seega peaksin määratluspäringusse lisama võimaluse valida viimase kontrollimise kuupäeva (mida värskendatakse redaktori jälgimise loomise kuupäeva välja abil) , nimega „InsStart” koos andmetüübiga Kuupäev) ainulaadse välisvõtme (vanem GUID) kohta.

Ma arvan, et õige päring peaks andma ka 4292 kirjet, kuid see peaks tagastama kirjed, millel on viimane kontrollkuupäev ParentGUID -i kohta, selle asemel, et naasta ainult esimene vastav kirje.

Eeldatava arvu kontrollimiseks kasutasin kokkuvõtliku statistika tööriista maksimaalse kuupäeva, juhtumivälja juhendi kohta.

See andis mulle vajaliku 4292 kirje.

Ometi on see staatiline ja ma tahaksin näha neid kirjeid reaalajas andmete redigeerimisel.

Need teemad räägivad ka minu küsimusest, kuid sooviksin abi selle konteksti panemiseks.

autor AndresCastillo

Lisatud on lahendus Wordi dokumendina

(Manuse nägemiseks vaadake seda õiget vastust selle teema kontekstis)

Pange tähele, et seal on 17 lehte.

Alternatiivina minu Wordi dokumendile, mis kasutab ArcGIS -serverit, ESRI Paul Barker

räägib meile, kuidas seda lahendada ArcGIS -ile tuginedes.

Siin on veel üks alternatiiv:

Küsimuste korral andke mulle teada.

autor AndresCastillo

SQL Management Studio abil loodi järgmine:

Loo andmebaasivaate gp tööriist

Vaate registreerimine geoandmebaasis:

Luba redigeerimisõigused

Minu mure on see, et ma pigem ei loo andmebaasivaadet, kuna kuulsin, et see aeglustab jõudlust.

Kui pean kasutama vaadet, siis võin seda kasutada vahendajana, kes laadib/kirjutab värskendatud andmed iga päev tabelisse, millel on sama skeem kui vaates.

See muudab andmed iga päev staatiliseks

Selle kohta lisateabe saamiseks lugege seda postitust, millesse panustasin:

Ma pigem loon kaarkaardi kihi atribuutidesse definitsioonipäringu, sest siis ma usun, et see oleks alamlaua reaalajas päring, mida saaksin seejärel sümboliseerimiseks otse põhifunktsioonide klassiga liituda.

autor AndresCastillo

Selle dokumentatsiooni põhjal sain teada, et alampäringute kasutamine on piiratud:

Alampäringud, mis täidetakse versiooniga ArcSDE funktsiooniklasside ja -tabelitega, ei tagasta delta -tabelitesse salvestatud funktsioone.

Tabeli iga kirje puhul võib alampäring vaja sõeluda kõik sihttabeli andmed. Suure andmekogumi täitmine võib olla äärmiselt aeglane.

Hakkasin kasutama alampäringuid, et määrata kaardi kaardil alamlauale määratluspäring, et valida uusim kontrollikirje ID kohta.

See kolmas päring tundub, nagu see peaks töötama, kuid mul pole õnnestunud sealt soovitud kirjeid saada.

Esimesed kaks alampäringut tagasid minu jaoks soovitud kirjed, kuid kui ma liitusin päringute alamtabeliga vanemfunktsioonide klassiga, kasutades unikaalse identifikaatorina välja 'globaalne id' ja alamvälja 'ParentGUID', see veateade liitumise valideerimise aruandest:

Liitumiseks sobivate kirjete arv:
- Ilmnes ootamatu viga.
- Ei leitud vasteid, kui liitute [GlobalID] & ltSanitary.SDE.ssManholeInspections & gt ja [ParentGUID] & ltSanitary.SDE.ssManholeInspectionsHistory & gt.

Teen väga sarnast töövoogu ja lahendasin selle SQL -i vaate abil. Liidan oma MH -d oma kontrollidega ja selleks, et tagastada viimane ülevaatus (kuupäeva järgi) seotud tabelis, kasutan funktsiooni MAX. Minu arvates arvutan ka iga MH kontrollide koguarvu ja viimase kontrolli vanuse.

, MAX (inspektsioonid. CREATEDON) AS Last_Inspection
, COUNT (*) AS Number_Ipspections

, DATEDIFF (DAY, a. CREATEDON, GETDATE ()) + 1 ASSPAGEDAYS

autor AndresCastillo

Ma pole päris kindel, mida sa mõtled.

Kas saate oma SQL -skripti mulle selgitada ja lahti murda?

Kas telefoni teel oleks lihtsam selgitada?

@ Andres Castillo Kas olete kunagi suutnud sellele lahenduse välja mõelda? Mul sama küsimus.

autor AndresCastillo

Vabandan vastuse viibimise pärast.

Pean seda teemat lahendusega värskendama.

Pean korraldama oma dokumentatsiooni tundliku teabe eemaldamiseks, et saaksin seda jagada.

Vahepeal saame privaatse sõnumi kaudu tutvuda.

autor AndresCastillo

Lisatud on lahendus Wordi dokumendina

(Manuse nägemiseks vaadake seda õiget vastust selle teema kontekstis)

Pange tähele, et seal on 17 lehte.

Alternatiivina minu Wordi dokumendile, mis kasutab ArcGIS -serverit, ESRI Paul Barker

räägib meile, kuidas seda lahendada ArcGIS -ile tuginedes.

Siin on veel üks alternatiiv:

Küsimuste korral andke mulle teada.

Olen sarnases olukorras. Mul on funktsiooniteenus koos sellega seotud kirjega ja soovin oma funktsiooni sümboliseerida, kasutades seotud tabeli uusimat kirjet mitte hetktõmmise, vaid reaalajas.

Ma hindan tõesti teie abi.

Mul on sama küsimus, kuid lisatud "kui" tingimus. Mul on kaevud. Tegelikult on see kanalisatsioonikonstruktsioonid ja mõned funktsioonid on pumbajaamad, mõned kaevukaevud. Nii et ma tahan selles funktsiooniklassis näha ainult kaevukaevusid. Ja ma tahan ühendada sellega seotud ManholeInspection tabeli inspekteerimised sellega ja säilitada kõik funktsiooniklassi funktsioonid (sewerStructures left join to ManholeInspections), nii et isegi kontrollimata luugid hoitakse alles. Esiteks on küsimus selles, et see hoiab juhuslikult alles esimest rekordit. Ma tahan kõiki kontrolle.

Aga .. ma tahan ka kihti, mis näitab ainult IF-kontrolli, kus atribuut 'NASSCO' = Jah (see on jah/ei atribuut) ja sellest soovin ainult kõige uuemat, sest ma tahan tõelist NASSCO- kontrollitud kaevud. Seega ei tahaks ma neid üksteise peale laduda, kui neid oleks NASSCO -s mitu korda kontrollitud. Nii et ma tahaksin lihtsalt MAX kuupäeva. Et tagada vaid üks rekord.

Niisiis, kõige keerulisem küsimus on. Kuva kaevukaevud, mida sümboliseerivad seotud andmed, kuid ainult siis, kui konkreetne atribuut on tõene. Mul on SQL Server 2017 ja ArcSDE 10.7.1 koos ArcMap 10.7.1 ja uusima Proga. Mõtted kõik? Kas seda saab teha ArcMap definitsioonipäringus koos alampäringuga või SQL -i vaate ja definitsioonipäringu kombinatsiooniga? Lõppkokkuvõttes kasutatakse seda juhtpaneelide ja jälgimiste kuvamiseks nii selle kui ka teiste andmekogumite sarnase stsenaariumi korral.

Tahaksin märkida, et see on AGOL -is lihtne olnud, saate valida, millist kirjet liites hoida ja millise välja järgi. Pole kindel, miks nad jätavad selle võimsa olulise aspekti töölaua/Pro liitumisloogika välja. Kõik, mida saate teha, on säilitada kõik andmed või hoida vastavust. Kuid pole valikut, mida valida, kui üks-mitmele ja mitu tabamust on.

Ma arvasin, et saan lihtsalt teha vaate, ühendades kaevud ja kontrollid, seejärel ArcMapis teha selle kohta päringu NASSCO = True ja seejärel liituda ArcMapis algse funktsiooniklassiga. Ei mingit täringut. Probleem on selles, et kuna sellel on määratluspäring, järgib see liitumist ja alistab selle. Ja oletame, et seal on 2000 kaevu, kuid ainult 6, mis vastavad NASSCO -le = tõsi. Niipea kui liitun vaatega FC -ga, millel on Def Query vaade, isegi kui ma ütlen Keep All Records, tundub, et seda ei järgita, Def Query järgib seda ja alistab selle ning saate ainult 6 kirjet. Ma lootsin, et kõikidel FC ridadel, välja arvatud need 6 rida, on seotud asjade jaoks toorikud. (teisisõnu, 1994 rida, kus seotud andmed on tühjad, oleksid need 6 rida seotud andmetega). Ma arvan, et see tuleb SQL -is täielikult ära teha, kuna tundub, et SQL on ArcMapis piiratud, samuti liitumised ja nendega seotud andmetega töötamine. Näiteks tabasin teist piirangut, püüdes lihtsalt näidata kõige värskemat rekordit MAX Dataga. Tundub, et ArcGIS ei saa MAX kuupäeva teha.


Sobimatu SQL-avalduse tõrge faili-geoandmebaasi tabeli kuupäevavälja pärimisel arkoobjektidega-geograafilised infosüsteemid

Toote kättesaadavus

Toetatud platvormid

Konstruktori kokkuvõte
MapServerIP ()
Ehitab MapServerIP ArcGIS Engine abil.
MapServerIP (objekti objekt)
Aegunud. Alates ArcGIS 9.2 -st asendatakse tavaliste Java -versioonidega.
MapServerIP theMapServerIP = (MapServerIP) obj
Meetodi kokkuvõte
kahekordne computeDistance (String mapName, IPoint fromPoint, IPoint toPoint, int ühikud)
Arvutab määratud kaardi kahe punkti vahelise kauguse.
kahekordne computeScale (IMapDescription mapDesc, IImageDisplay mapDisplay)
Arvutab määratud kaardi skaala antud kaardi ulatuses antud suurusega pildi jaoks.
loogiline võrdub (objekt o)
Võrrelge seda objekti teisega
IMapImage exportMapImage (IMapDescription mapDesc, IImageDescription imageDesc)
Loob etteantud kaardi kirjelduse põhjal kaardi pildi ja kirjutab pildi kettale määratud faili.
IImageResult exportScaleBar (IScaleBar skaalariba, IMapKirjelduskaartDesc, IImageDisplay pMapDisplay, IColor backgroundColor, IImageDescription imageDesc)
Ekspordib skaalariba pildifaili.
IMapServerFindResults leid (IMapKirjelduse kaartDesc, IImageKuva kaart
Tagastab kaardiserveri otsingutulemite objektide kogumi, mis sisaldab antud otsingustringi.
tühine fromMapPoints (IMapDescription mapDescription, IImageDisplay mapDisplay, IPointCollection mapPoints, ILongArray [] ekraanXValues, ILongArray [] ekraanYValues)
Teisendab kaardi koordinaadi ekraani asukohaks.
IFeatureRenderer createDataClasses (String mapName, IMapTableDescription pTableDescription, IDataClassificationDef pDataClassificationDef)
Tagastab määratud dünaamilise kihi klassivahed või kordumatud väärtused.
ICacheControlInfo getCacheControlInfo (String mapName)
Saab antud kaardi vahemälu kirjelduse teabe.
ICacheDescriptionInfo getCacheDescriptionInfo (String mapName)
Saab antud kaardi vahemälu kirjelduse teabe.
String getCacheName (String mapName, int layerID)
Saab kaardil antud kihi vahemälu nime.
ICacheStorageInfo getCacheStorageInfo (String mapName)
Saab vahemälu salvestusteabe.
staatiline string getClsid ()
getClsid.
ILayerDrawingDescriptions getDefaultLayerDrawingDescriptions (String mapName, ILongArray pLayerIDs, IServerSymbolOutputOptions outputOptions)
Hangi kihi joonise kirjeldus
String getDefaultMapName ()
Dokumendi aktiivse kaardi nimi (andmeraam).
IPropertySet getDocumentInfo ()
Kaardidokumendi jaoks määratud omaduste nime-väärtuse paaride komplekt (ainult mxd).
IName getFullName ()
Serveriobjektiga seotud objekt AGSServerConnectionName.
int getHttpTimeout ()
Maksimaalne aeg sekundites serverilt vastuse ootamiseks (ainult Internet).
bait [] getLayerTile (String mapName, int layerID, int level, int rida, int veerg)
Saab antud kihist antud plaatide asukoha jaoks plaadi.
bait [] getLayerTileEx (String mapName, int layerID, int level, int rida, int veerg, int cacheFormat)
Saab antud kihist antud plaatide asukoha jaoks paani.
IMapServerLegendInfos getLegendInfo (String mapName, ILongArray layerIds, IMapServerLegendPatch patch, IImageType imgType)
Tagastab määratud kihtide jaoks kaardiserveri legenditeabe objektide kogumi.
IMapServerLegendInfos getLegendInfo2 (IMapDescription pMapDescription, IImageDisplay pImageDisplay, ILongArray layerIds, IMapServerLegendPatch patch, IImageType imgType)
Tagastab määratud kihtide jaoks kaardiserveri legenditeabe objektide kogumi.
int getMapCount ()
Kaartide (andmekaadrite) arv dokumendis.
String getMapName (int indeks)
Indeksiga näidatud kaardi nimi (andmeraam).
IMapTableSubtypeInfos getMapTableSubtypeInfos (String mapName, ILongArray pTableIDs)
Tagastab MapTableSubtypeInfos praegusel kaardil.
IMapTableSubtypeInfos getMapTableSubtypeInfos2 (String mapName, ILayerDescriptions pLayers)
Tagastab MapTableSubtypeInfos praegusel kaardil.
bait [] getMapTile (String mapName, int tase, int rida, int veerg)
Saab etteantud plaatide asukoha plaadi antud kaardilt.
bait [] getMapTileEx (String mapName, int tase, int rida, int veerg, int cacheFormat)
Saab etteantud plaatide asukoha plaadi antud kaardilt.
IMapServerInfo getServerInfo (String mapName)
Tagastab teabe kaardi (andmeraami) kohta.
IPropertySet getServiceConfigurationInfo ()
MapServeri teenuse konfiguratsioonipiirangute jaoks määratud atribuutide nime-väärtuse paaride komplekt.
ISQLSyntaxInfo getSQLSyntaxInfo (String mapName, int layerID)
Tagastab määratud kihi SQL -i süntaksiteabe.
int getSupportedImageReturnTypes ()
Kaardiserveri toetatud pilditagastuse tüübid.
ITileCacheInfo getTileCacheInfo (String mapName)
Saab antud kaardi vahemälu konfiguratsiooni.
ITileImageInfo getTileImageInfo (String mapName)
Saab antud kaardi vahemälu plaatide kujutise teabe.
String getVirtualCacheDirectory (String mapName, int layerID)
Saab kaardil antud kihi virtuaalse vahemälu kataloogi.
int hashCode ()
selle objekti räsikood
loogiline hasLayerCache (String mapName, int layerID)
Näitab, kas antud kihil on üks plaatide vahemälu.
loogiline hasSingleFusedMapCache (String mapName)
Näitab, kas antud kaardil on üks sulatatud kaardipaani vahemälu.
IMapServerIdentifyResults tuvastama (IMapKirjelduse kaartDesc, IImageDisplay mapImage, IGeometry searchShape, int tolerance, int option, ILongArray layerIds)
Tagastab antud kohas kaardiserveri tuvastamise tulemite objektide kogumi.
loogiline isFixedScaleMap (String mapName)
Näitab, kas antud kaart on kindla mõõtkavaga kaart.
IAttachmentDataArray queryAttachmentData (String mapName, int tableID, ILongArray attachmentIDs, int transportType)
Tagastab antud funktsioonide/ ridade manuste andmed.
IAttachmentDataArray queryAttachmentData2 (String mapName, IMapTableDescription pTableDescription, ILongArray manuse ID -d, int transportType)
Tagastab antud funktsioonide/ ridade manuste andmed.
IAttachmentInfoArray queryAttachmentInfos (String mapName, int tableID, ILongArray rowIDs)
Tagastab manusteabe, mis kirjeldab antud funktsioonide/ ridade manuseid.
IAttachmentInfoArray queryAttachmentInfos2 (String mapName, IMapTableDescription pTableDescription, ILongArray rowIDs)
Tagastab manusteabe, mis kirjeldab antud funktsioonide/ ridade manuseid.
IQueryResult queryData (String mapName, IMapTableDescription pMapTableDescription, IQueryFilter filter, IQueryResultOptions valikud)
Tagastab kirjete ridade komplekti, mis vastavad määratud tabeli päringufiltri valikukriteeriumidele.
IRecordSet queryDataStatistics (String mapName, IMapTableDescription pTableDescription, IStatisticsRequest pRequest, IQueryFilter pQueryFilter)
Arvutab tabeli või kihi ühe või mitme välja koondstatistika.
int queryFeatureCount (String mapName, int layerID, IQueryFilter filter)
Tagastab funktsioonide arvu, mis vastavad määratud kihi päringufiltri valikukriteeriumidele.
int queryFeatureCount2 (Stringkaardi nimi, ILayerDescription pLayerDescription, IQueryFilter filter)
Tagastab funktsioonide arvu, mis vastavad määratud kihi päringufiltri valikukriteeriumidele.
IRecordSet queryFeatureData (String mapName, int layerID, IQueryFilter filter)
Tagastab kirje funktsioonide komplekti, mis vastavad määratud kihi päringufiltri valiku kriteeriumidele.
IQueryResult queryFeatureData2 (String mapName, ILayerDescription pLayerDesciscription, IQueryFilter filter, IQueryResultOptions valikud)
Tagastab kirje funktsioonide komplekti, mis vastavad määratud kihi päringufiltri valiku kriteeriumidele.
IFIDSet queryFeatureIDs (String mapName, int layerID, IQueryFilter filter)
Tagastab nende kihtide päringufiltri valikukriteeriumidele vastavate funktsioonide ID -d.
IFIDSet queryFeatureIDs2 (String mapName, ILayerDescription pLayerDesciscription, IQueryFilter filter)
Tagastab nende kihtide päringufiltri valikukriteeriumidele vastavate funktsioonide ID -d.
IStringArray päringHTMLPopups (String mapName, int tableID, ILongArray pRowIDs)
Tagastab html -i tekstina, mida saab hüpikakendes kasutada.
IStringArray päringHTMLPopups2 (String mapName, IMapTableDescription pTableDescription, ILongArray pRowIDs)
Tagastab html -i tekstina, mida saab hüpikakendes kasutada.
IMapServerHüperlingid päringHüperlingid (IMapKirjelduse kaartDesc, IImageDisplay mapImage, ILongArray layerIds)
Tagastab määratud kihtide kaardiserveri hüperlingiobjektide kogumi.
IImageResults queryRasterValue (String mapName, int sourceTableID, ILongArray rowIDs, String fieldName, IImageType rasterValueType)
Tagastab rastri sisu, mis vastab määratud tabeli valikukriteeriumidele.
IImageResults queryRasterValue2 (String mapName, IMapTableDescription pTableDescription, ILongArray rowIDs, String fieldName, IImageType rasterValueType)
Tagastab Rasteri sisu, mis vastab määratud dünaamilise kihi valikukriteeriumidele.
IQueryResult queryRelatedRecords (String mapName, int sourceTable, IFIDSet pFIDs, IRelateDescription relateDescription)
Tagastab määratud tabeli päringufiltri valikukriteeriumidele vastavate ridade ID -d.
IQueryResult queryRelatedRecords2 (String mapName, IMapTableDescription pTableDescription, IFIDSet pFIDs, IRelateDescription relateDescription)
Tagastab nende dünaamilise kihi päringufiltri valikukriteeriumidele vastavate ridade ID -d.
int queryRowCount (String mapName, IMapTableDescription pTableDescription, IQueryFilter pFilter)
Tagastab ridade arvu, mis vastavad määratud tabeli päringufiltri valikukriteeriumidele.
ILongArray queryRowIDs (String mapName, IMapTableDescription pTableDescription, IQueryFilter pFilter)
Tagastab määratud tabeli päringufiltri valikukriteeriumidele vastavate ridade ID -d.
tühine setHttpTimeout (int sek)
Maksimaalne aeg sekundites serverilt vastuse ootamiseks (ainult Internet).
IPointCollection toMapPoints (IMapDescription mapDescription, IImageDisplay mapDisplay, ILongArray screenXValues, ILongArray screenYValues)
Teisendab ekraani asukoha kaardi koordinaadiks.
Klassist java.lang.Object päritud meetodid
kloonima, viimistlema, getClass, teatama, teatamaAll, toString, oota, oota, oota
Liideselt com.esri.arcgis.interop.RemoteObjRef päritud meetodid
getJintegraDispatch, vabastage

MapServerIP

Viskab: IOException - kui on olemas interaktsiooniprobleemid UnknownHostException - kui on interop -probleeme

MapServerIP

Ehitage MapServerIP, kasutades ArcGIS Engine'ilt või serverilt tagastatud viidet sellisele objektile. See on semantiliselt samaväärne obj -i ülekandmisega MapServerIP -i.

Parameetrid: obj - ArcGIS Engine või Server Throws'ilt tagastatud objekt: IOException - kui on olemas koostööprobleemid

Meetodi üksikasjad

GetClsid

Võrdub

HashCode

GetFullName

Toote kättesaadavus

Määrab: getFullName liideses IAGSServerObject2 Tagastab: viide saidile com.esri.arcgis.system.IName Throws: IOException - kui esineb koostalitusprobleeme. AutomationException - kui ArcObject komponent loob erandi.

SetHttpTimeout

Toote kättesaadavus

Määranud: setHttpTimeout liideses IAGSServerObject2 Parameetrid: sekundid - sekundid (in) Visked: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

GetHttpTimeout

Toote kättesaadavus

Määranud: getHttpTimeout liideses IAGSServerObject2 Tagastab: sekundid Viskab: IOException - kui on olemas koostööprobleemid. AutomationException - kui ArcObject komponent loob erandi.

GetDocumentInfo

Märkused

Optimeeritud MapServer tagastab ka kaks täiendavat atribuuti - AntialiasingMode ja TextAntialiasingMode. AntialiasingMode'i tagastamisväärtused on kiireim, kiire, normaalne, parim või puudub, TextAntialiasingMode tagastab väärtuse None, Normal või Force.

Toote kättesaadavus

Toetatud platvormid

Määranud: getDocumentInfo liideses IMapServer Määranud: getDocumentInfo liideses IMapServer2 Määranud: getDocumentInfo liideses IMapServer3 Määranud: getDocumentInfo liideses IMapServer4 Tagastab: viide saidile com.esri.arcgis.system.IPropertyOot Thread interaktsiooni probleemid. AutomationException - kui ArcObject komponent loob erandi.

GetMapCount

Toote kättesaadavus

Toetatud platvormid

Määranud: getMapCount liideses IMapServer Määranud: getMapCount liideses IMapServer2 Määranud: getMapCount liideses IMapServer3 Määranud: getMapCount liideses IMapServer4 Tagastab: Loendusvisked: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

GetMapName

Toote kättesaadavus

Määratud: getMapName liideses IMapServer Määratud: getMapName liideses IMapServer2 Määranud: getMapName liideses IMapServer3 Määranud: getMapName liideses IMapServer4 Parameetrid: index - Indeks (in) Tagastab: mapName Viskab: IOExceptioni probleemid . AutomationException - kui ArcObject komponent loob erandi.

GetDefaultMapName

Toote kättesaadavus

Toetatud platvormid

Määranud: getDefaultMapName liideses IMapServer Määratud: getDefaultMapName liideses IMapServer2 Määranud: getDefaultMapName liideses IMapServer3 Määranud: getDefaultMapName liideses IMapServer4 Tagastab: MapName Viskab: IOException probleemid - kui on AutomationException - kui ArcObject komponent loob erandi.

GetServerInfo

Märkused

See meetod tagastab MapServerInfo objekti. IMapServerInfo2 abil saate hankida teavet MapServeri objekti praeguse oleku kohta. Kui kahel (või enamal) andmekaadril on sama nimi, lisab kaardiserver teise nime lõppu eristava numbri. Nt. Kihid ja kihid2.

Toote kättesaadavus

Toetatud platvormid

Määranud: getServerInfo liideses IMapServer Määranud: getServerInfo liideses IMapServer2 Määranud: getServerInfo liideses IMapServer3 Määranud: getServerInfo liideses IMapServer4 Parameetrid: mapName - mapName (in) Tagastab: viide comcesile. .IMapServerInfo Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

ExportMapImage

Märkused

Kasutamine ExportMapImage kaardi faili (pildi või vektorvormingu) allalaadimiseks.

Sisendparameeter MapDescription sisaldab atribuute, mis kirjeldavad kaarti (tuntud ka kui andmeraam). Nende hulka kuuluvad kaardid Nimi, MapArea, SpatialReference , samuti LayerDescription objektide kogusid. Suuruse, eraldusvõime ja failivormingu määravad ImageDescription, mis sisaldab ImageDisplay ja ImageType objektid.

ExportMapImage tagastab a MapImage objekti. MapExtent, MapScale ja massiivi VisibleLayers saab alla laadida MapImage'ist.

Kaardi saate eksportida kas vektorisse või pilditüüpi. Seda täpsustab ReturnType vara IImageType.

Väljundi suuruse ja eraldusvõime seadistamine

Suurus ja eraldusvõime on seadistatud ImageDisplay'is. Mõlemad Kõrgus ja Laius on nõutavad. Kõrguse ja laiuse omadused IImageResult on kirjutuskaitstud ja neid ei kasutata muudatuste tegemiseks. Eksporditud pildi suuruse kontrollimiseks IMapServerInit2 sisaldab kahte omadust: MaxImageHeight ja MaxImageWidth. Nende omaduste vaikeväärtus on 1024 pikslit.

Täpsustades peaksite olema ettevaatlik DeviceResolution ImageDisplay juurde. Kaarditeenus kasutab seda ainult serveris kaardiskaala määramiseks, see ei määratle kaardipildi eraldusvõimet. DeviceResolutioni muutmine võib kaasa tuua soovimatuid muudatusi kaardi skaalal. Näiteks ekspordite kaardipildi JPG -vormingusse. Saate määrata 400 x 600 piksli suuruse pildi, kui DeviceResolution on seadistatud 96. Suhteline MapScale saadud pildist on umbes 54 000 000. Järgmisena suurendate DeviceResolutioni 300 -ni, hoides suurust konstantsena. Selle tulemuse MapScale on umbes 205 000 000. Tulemus ei pruugi olla soovitud, kui kaart sisaldab kihte või silte, mis sõltuvad skaalast. MapScale'i väärtuse 1: 54 000 000 säilitamiseks peate eksportima suurema pildi.

Kui eksportite PDF -faili, peate meeles pidama, et PDF väljub leheruumist. Kõrguse ja laiuse määramine määrab PDF -lehe mõõtmed. Näiteks ekspordite kaardipildi PDF -i, kus ImageDisplay kõrgus on 400 ja laius 500. DeviceResolution on 100. Saadud PDF on 4 tolli ja 5 tolli. Kui hoiate seadme kõrguse ja laiuse seadeid konstantsena, kui suurendate DeviceResolutioni, muutub PDF -i tegelik suurus väiksemaks. Kui vähendate DeviceResolutioni, suureneb PDF -faili suurus. See mõjutab ka MapScale'i. Kui soovite, et MapScale jääks konstantseks, peate DeviceResolutioni suurendamisel (või vähendamisel) suurendama (või vähendama) ImageDisplay Kõrguse ja Laiuse väärtusi.

DeviceResolution mõjutab ka sümbolite renderdamist. Näiteks genereeriti kaks kaardipilti, kasutades sama suurust (250 x 250), samas ulatuses, kuid erinevat DeviceResolutioni. Esimene kaardipilt loodi DeviceResolutioniga 96 ja teine ​​200. Märkad sümbolite suuruse erinevusi nende kahe pildi vahel. Sümboloogia suurus määratakse lähtekaardi punktide (1 punkt = 1/72 tolli) abil. Kaardi sümboloogia suuruse määramiseks kasutatakse DeviceResolutioni punktidest piksliteks teisendamiseks järgmise võrrandiga:

Sümboli suurus punktides * (seadme resolutsioon/punktide arv 1 tolli kohta)

Kaardipildil, millel on 96 DeviceResolution, kasutab sümboli suurus 1 punkt renderdamiseks 1,33 pikslit (ümardatuna alla 1 piksli). Kaardipildil, millel on 200 DeviceResolution, kasutab sümboli suurus 1 punkt renderdamiseks 2,78 (ümardatuna kuni 3 pikslit). Selle tulemusel paistab sümboloogia DeviceResolution 200 abil loodud kaardipildil suurem.

Pildikvaliteet ja optimeeritud MapServeri pilditüüp

  • Optimeeritud MapServices võimaldab MapService'i autoril määrata algdokumendis (.msd) üldised valetamisvastased valikud ja tekstiväljundite valikud, mille tulemuseks on parema kvaliteediga pilt. Kasutaja võib kasutada atribuuti DocumentInfo, et teada saada, kas kaardil on alias-tõrje lubatud.
  • Väljundpildid võivad sisaldada esemeid, kui klient soovib png8 pilti ja MapService'is on lubatud valetõrje, eriti kui kaardi sisu kasutab rohkem kui 256 värvi. Esemeid võib esineda seetõttu, et valetõrje suurendab kaardil värvide arvu tõhusalt. Kui värvide arv kaardil suureneb üle 256 värvi (png8 kujutise piirang), võib ilmneda hägustumine, mille tulemuseks on ühevärviliste alade terav ja välimus. Kui kaardil on valetõrje lubatud, kasutage kvaliteetsemate piltide saamiseks pildivorminguid png24 või png32.
  • Optimeeritud MapServices lisab toe pilditüübile PNG32, mis võimaldab pikslitaseme läbipaistvuse toetamiseks kasutada alfa -riba (lisaks RGB -ribadele). PNG32 -vormingu kasutamisel kantakse kaardi kihtidele seatud läbipaistvus üle väljundpildile. See tähendab, et kliendirakendus ei pea teenuse teise kaarditeenuse peale kandmisel määrama kliendipoolset läbipaistvust. Kasutage omaduste komplekti ServiceConfigurationInfo, et teada saada, kas kaarditeenus toetab PNG32.
  • Optimeeritud MapServicesi poolt toetatavad pildivormingud on “PNG32, PNG24, PNG, JPG, DIB, TIFF, EMF, PS, PDF, GIF, SVG, SVGZ ja#8221
  • Standardse MapServicesi tugi “PNG24, PNG, JPG, DIB, TIFF, EMF, PS, PDF, GIF, SVG, SVGZ, AI ja#8221

Mitmesugused

Kaardi eksportimine vahemällu salvestatud teenusest ei genereeri kaarti dünaamiliselt, selle asemel loob see kaardi, kasutades eelküpsetatud vahemälu plaate.

Kaardi eksportimine erineb paigutuse eksportimisest. Leheruum on ExportLayouti oluline komponent. See on olemas kõigi kaardidokumentide ja kaarditeenuste puhul, millel dokumendid põhinevad. See leheruum pakub eksporditud paigutuse vaikesuurust (parimate tulemuste saamiseks peaksite seda vaikimisi kasutama). Leheruumi pole ExportMapImage'is. Seetõttu näete ExportMapImage'i kõrguse, laiuse või DeviceResolutioni reguleerimisel tulemuste erinevusi võrreldes ExportLayouti sarnaste kohandustega.

Kasutamine IMapServerGeoTransformation kui kaarditeenuse kujutist tuleb kuvada koordinaatsüsteemis, mille aluseks olev geograafiline koordinaatsüsteem erineb DefaultMapDescription aluseks olevast geograafilisest koordinaatsüsteemist.

Toote kättesaadavus

Toetatud platvormid

Määranud: exportMapImage liideses IMapServer Määratud: exportMapImage liideses IMapServer2 Määranud: exportMapImage liideses IMapServer3 Määranud: exportMapImage liideses IMapServer4 Parameetrid: mapDesc ​​- viide com.esri.arcgis.Description.cart Viide com.esri.arcgis.carto.IImageDescription (in) Tagastab: viide com.esri.arcgis.carto.IMapImage Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

Märkused

Find otsib stringi väärtuse alusel. Seda otsingut saab teha ühe kihi ühel väljal, ühe kihi paljudel väljadel või paljude kihtide paljudel väljadel. Find tagastab objektide kogumi, mis rakendab IMapServerFindResult.

Otsimine nõuab mitmeid sisendparameetreid. Nende hulka kuuluvad: MapDescription, ImageDisplay, otsingustring, loogiline väärtus selle kohta, kas otsingustring on täpne vaste (vale) või mitte (tõene), komaga eraldatud stringiväärtuste loend soovitud väljade nimede jaoks otsing, esriFindOption ja otsitavate kihi ID -de massiiv.

Pange tähele, et funktsioon Find töötab ainult kihiga ja StandaloneTable ei tööta. See ei austa ka kihi seadistamist.

MapDescription sisaldab kõiki kaardil olevaid kihtide kirjeldusi. Need LayerDescriptions sisaldavad atribuuti DefinitionExpression. DefinitionExpressioni saab kihile seada, et piirata kuvamiseks või päringuks saadaolevaid kihi funktsioone. Selle avaldise saab lähtekaardidokumendis määrata määratluspäringuna või atribuudi DefinitionExpression abil. LayerDescriptionis olev DefinitionExpression komplekt alistab kõik lähtekaardil määratletud päringukomplektid. MapServer Findi tulemused peaksid austama kõiki kihi määratluspäringuid või DefinitionExpression.

Seda on vaja teha kindlaks, kas kihid on praeguse kaardi skaala põhjal nähtavad või mitte.

Kui parameeter searchFields on tühi, otsitakse kõik väljad.

Parameeter esriFindOption sisaldab: esriFindAllLayers ja esriFindVisibleLayers. Kui kasutatakse esriFindAllLayers, kehtivad kõik kihid. Kui kasutatakse esriFindVisibleLayers, tehakse otsing ainult kihtidel, mis on kaardiekraanil nähtavad. Kihi nähtavus sõltub sellest, kas kiht on sisse või välja lülitatud (atribuut Visible on ILayerDescription3) või kas kiht on sisse lülitatud, kuid ei ole nähtav skaala sõltuvuste tõttu (IMSLayerInfo2 atribuudid MinScale ja MaxScale). Parameetrit mapImage on vaja kindlaks teha, kas kiht pole skaala sõltuvuste põhjal nähtav. See parameeter võib olla midagi/null, kui kasutatakse esriFindAllLayers.

Parameetrid esriFindOption ja LayerID käituvad nagu tõeväärtus AND. Prioriteeti pole. Näiteks: kui esriFindOption on esriFindVisibleLayers ja pLayerIDs on Nothing/Null või tühi, otsitakse läbi kõik nähtavad kihid. Kui esriFindOption on esriFindVisibleLayers ja pLayerIDs sisaldab ainult esimest kihti, otsitakse esimest kihti ainult siis, kui see on nähtav.

Funktsioon Find austab alati väljade nähtavust ning vaikimisi järgib see lähtekaardidokumendis määratud väljade varjunimesid ja väljade vormindamist. Kui soovite kasutada väljanimesid väljanimede asemel, määrake ReturnFieldNamesInResults väärtuseks Tõene. Kui soovite algse andmetüübi väärtust (nt vormindatud stringi asemel kahekordset väärtust), et saaksite arvutada (nt muuta lokaalseadete numbrilist või kuupäeva), määrake FormatValuesInResults väärtuseks Väär. Oluline on märkida, et neid omadusi austatakse ainult siis, kui otsitav kiht rakendab IFeatureLayer (nt FeatureLayer). Kui küsitaval funktsioonil on mitu sama varjunimega välja (nt liitumisel), edastatakse kliendile tagasi ainult üks ja ülejäänud jäetakse tulemusest välja.

Geomeetria tagastatakse alati samas ruumilises viitesüsteemis nagu DefaultMapDescription, isegi kui kihi lähteandmed võivad olla teises koordinaatsüsteemis. Tulemuse välja Kuju väärtus on string, mis näitab geomeetria tüüpi. Tulemusega seotud geomeetria saamiseks kasutage atribuuti IMapServerFindResult :: FeatureShape.

Mõnel juhul võite tulemuslikkuse huvides soovida piirata või kohandada otsingutulemuses tagastatavat geomeetriat. Selle haldamiseks kasutage ILayerResultOptions. Kui IncludeGeometry on seatud väärtusele False, ei tagasta FeatureShape midagi. See peaks suurendama jõudlust juhtudel, kui funktsioonide geomeetria on suur. Kui funktsiooni ILayerResultOptions ei kasutata, tagastab FeatureShape geomeetria. Kui väli Kuju on lähtekaardil nähtamatu, võib FeatureShape siiski sisaldada geomeetriat sõltuvalt sellest, kuidas kasutaja IncludeGeometry määrab. GeometryResultOptions abil saate ka FeatureShape'is tagastatud geomeetria tihendada või üldistada. Tihendamist kasutatakse klientide paremaks toetamiseks, kes ei toeta kaare (nt Bezier, ringkiri jne). Üldistamine vähendab võrgu kaudu saadetava geograafia hulka ja peaks parandama jõudlust. Kui LayerResultOptions pole LayerDescription jaoks määratud, sisaldavad päringu tulemused algset geomeetriat.

Findi ja teiste päringumeetodite (nt QueryData, QueryRowIDs, QueryFeatureData jne) vahel on kaks peamist erinevust. Esimene on see, et Find saab töötada mitmel kihil, samas kui päringumeetodid töötavad ühe kihiga. Teine on see, et Find töötab ainult otsingustringiga. Päringumeetodid kasutavad parameetrina queryFilter. See võimaldab päringu aluseks võtta kas atribuudi filtri (SQL avaldis) või ruumilise filtri.

Selleks, et kontrollida teabe hulka, mida MapServer peab päringu jaoks töötlema, saab määrata maksimaalse arvu kirjeid. See väärtus sisaldub atribuudis MaxRecordCount saidil IMapServerInit2. Selle atribuudi vaikeväärtus on 1000. Kui antud päringule vastab 1100 funktsiooni, tagastatakse ainult esimesed 1000 tulemust. Te ei pääse juurde ülejäänud 100 kirjele. Nendele andmetele juurdepääsemiseks tuleks MaxRecordCount'i suurendada 1100 -ni. MaxRecordCount'i saab muuta ka, muutes MapServeri konfiguratsioonifailis olevat MaxRecordCount XML -silti.

Toote kättesaadavus

Toetatud platvormid

Määratud: leida liidesest IMapServer Määratud: leida liidesest IMapServer2 Määratud: leida liidesest IMapServer3 Määratud: leida liidesest IMapServer4 Parameetrid: mapDesc ​​- viide com.esri.arcgis.carto.IMapDescription (in) mapImage - Viide com.esri.arcgis.carto.IImageDisplay (in) searchString - SearchString (in) sisaldab - Sisaldab (in) searchFields - SearchFields (in) valikut - A com.esri.arcgis.carto.esriFindOption konstant (in) layerIds - viide com.esri.arcgis.system.ILongArray (in) Tagastab: viide com.esri.arcgis.carto.IMapServerFindResults Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

Tuvastada

Märkused

Tuvastage tagastab kaardi funktsioonid ja nende atribuutide väärtused otsingu asukoha alusel. Seda saab teha üksikul kihil, ülemisel kihil, kõigil kihtidel või lihtsalt kõigil nähtavatel kihtidel. See meetod tagastab rakendatavate objektide kogumi IMapServerIdentifyResult.

Identifitseerimiseks on vaja mitmeid sisendparameetreid. Nende hulka kuuluvad: MapDescription, ImageDisplay, otsingu kuju, tolerants, esriIdentifyOption ja identifitseeritavate kihtide ID. Pange tähele, et see ei tööta StandaloneTable'iga.

Ajatundlik kiht

Identify tuvastab kihi ajaseaded. Kui kiht on UseTime on tõene ja MapDescriptioni oma TimeValue on määratud, tuvastage ainult otsingufunktsioonid, mis jäävad ajavahemikku.

Kiht HTMLPopupiga

Identify saab ka rikaste html -vormingus tulemusi tagastada. Kui kiht on HTMLPopupType ei ole esriServerHTMLPopupTypeNone, saate kasutada ühte kahest htmlpopup -suvandist, et tuvastada tulemus html -vormingus nii, nagu see on koostatud.

MapDescription sisaldab kõiki Kihikirjeldused kaardil. Need LayerDescriptions sisaldavad a Definitsioon Väljend vara. DefinitionExpressioni saab kihile seada, et piirata kuvamiseks või päringuks saadaolevaid kihi funktsioone. Selle avaldise saab lähtekaardidokumendis määrata määratluspäringuna või atribuudi DefinitionExpression abil. LayerDescriptionis olev DefinitionExpression komplekt alistab kõik lähtekaardil määratletud päringukomplektid. MapServeri tuvastamistulemused peaksid täitma kõik kihi määratluspäringud või DefinitionExpression.

Seda on vaja teha kindlaks, kas kihid on praeguse kaardi skaala põhjal nähtavad või mitte.

SearchShape

ISpatialFilteris määratud geomeetria peab vastama järgmistele kriteeriumidele:

  • Sellel peaks olema määratletud ruumiline võrdlussüsteem. Kui see pole määratletud, eeldatakse, et koordinaatsüsteem on DataFrame ’s koordinaatsüsteemis
  • See peab olema üks kõrgetasemelistest geomeetriatest, st punkt, mitmepunktiline, mitmikjoon, hulknurk või mitmik. Madala taseme geomeetria nt. BezierCurve, CircularCurve tuleb pakkida kõrgetasemelisele geomeetriale
  • See peab olema topoloogiliselt õige. Lisateabe saamiseks vaadake abi IP hulknurk ja ITopologicalOperator :: Lihtsusta .

Tolerants on kaugus, mille jooksul funktsioone otsitakse. Üksus on pikslites. Seda kasutatakse ainult siis, kui SearchShape on punkt.

esriIdentifyOption

Parameeter esriIdentifyOption sisaldab järgmisi esriIdentifyAllLayers, esriIdentifyVisibleLayers ja esriIdentifyTopmost. Kui kasutatakse esriIdentifyAllLayers, tagastatakse kõik kaardil olevate kihtide funktsioonid, mis jäävad otsinguvormi tolerantsiväärtuse piiresse. Kui kasutatakse esriIdentifyVisibleLayers, tagastatakse ainult nähtavate kihtide funktsioonid. Kihi nähtavus sõltub sellest, kas kiht on sisse või välja lülitatud ( Nähtav vara peal ILayerDescription3) või kas kiht on sisse lülitatud, kuid pole skaala sõltuvuste tõttu nähtav ( MinScale ja MaxScale omadused peal IMapLayerInfo2). Parameetrit mapImage on vaja kindlaks teha, kas kiht pole skaala sõltuvuste põhjal nähtav. EsriIdentifyOption esriIdentifyTopmost viitab nähtavale kihile, mis on kaardijoonistamise järjekorras kõige ülemine otsingu vormingus määratud kohas.

Parameetrid esriIdentifyOption ja LayerID käituvad nagu tõeväärtus AND. Prioriteeti pole. Näiteks: kui esriIdentifyOption on esriIdentifyVisibleLayers ja pLayerIDs on Nothing/Null või tühi, otsitakse läbi kõik nähtavad kihid. Kui esriIdentifyOption on esriIdentifyVisibleLayers ja pLayerIDs sisaldab ainult esimest kihti, otsitakse esimest kihti ainult siis, kui see on nähtav.

Identify võtab alati arvesse väljade nähtavust ning vaikimisi järgib see lähtekaardidokumendis määratud väljade varjunimesid ja väljade vormindamist. Kui soovite väljade varjunimede asemel kasutada väljade nimesid, määrake ReturnFieldNamesInResults tõele. Kui soovite algset andmetüüpi (nt vormindatud stringi asemel kahekordset väärtust) kasutada, et saaksite arvutada (nt muuta lokaalseadete numbrilist või kuupäeva), määrake FormatValuesInResults valele. Oluline on märkida, et neid omadusi austatakse ainult siis, kui tuvastatav kiht rakendub IFeatureLayer (nt FeatureLayer).

Geomeetria tagastatakse alati samas ruumilises viitesüsteemis kui DefaultMapDescription, kuigi kihi lähteandmed võivad olla teises koordinaatsüsteemis. Välja kuju kuju väärtus IMapServerIdentifyResult :: PropetySet või sellega seotud IMapServerRow :: PropertySet on string, mis näitab geomeetria tüüpi. Tulemusega seotud geomeetria saamiseks kasutage IMapServerIdentifyResult :: Kuju vara hoopis. Identify ei tagasta ühegi seotud funktsiooniga seotud geomeetriat. Kui tuvastataval funktsioonil on mitu sama nimega välja, edastatakse kliendile tagasi ainult üks ja ülejäänud jäetakse tulemusest välja.

Mõnel juhul võite tulemuslikkuse huvides piirata või kohandada tuvastamistulemuses tagastatavat geomeetriat. Kasutamine ILayerResultOptions seda juhtida. Kui Kaasa geomeetria on seatud väärtusele Väär, Kuju vara ei tagasta midagi. See peaks suurendama jõudlust juhtudel, kui funktsioonide geomeetria on suur. Kui funktsiooni ILayerResultOptions ei kasutata, tagastab atribuut Shape geomeetria. Kui väli Shape on lähtekaardil nähtamatu, võib atribuut Shape siiski sisaldada geomeetriat sõltuvalt sellest, kuidas kasutaja IncludeGeometry on määranud. Samuti saate valida tagastatava geomeetria tihendamise või üldistamise, kasutades GeometryResultOptions. Tihendamist kasutatakse klientide paremaks toetamiseks, kes ei toeta kaare (nt Bezier, ringkiri jne). Üldistamine vähendab võrgu kaudu saadetava geograafia hulka ja peaks parandama jõudlust.

Mitmesugused

Selleks, et kontrollida teabe hulka, mida MapServer peab päringu jaoks töötlema, saab määrata maksimaalse arvu kirjeid. See väärtus sisaldub MaxRecordCount vara peal IMapServerInit2. Selle atribuudi vaikeväärtus on 1000. Kui antud päringule vastavad 1100 funktsiooni, tagastatakse ainult esimesed 1000 tulemust. Te ei pääse juurde ülejäänud 100 kirjele. Nendele andmetele juurdepääsemiseks tuleks MaxRecordCount'i suurendada 1100 -ni. MaxRecordCount'i saab muuta ka, muutes MapServeri konfiguratsioonifailis olevat MaxRecordCount XML -silti.

Kui tuvastataval kihil on seos teiste tabelitega, IMapServerRelationship ja IMapServerRow liidesed võimaldavad juurdepääsu suhte omadustele ja nendega seotud tabelitele. Tagastatud ridade arv ei ole piiratud MaxRecordCount.

Toote kättesaadavus

Toetatud platvormid

Määranud: identifitseeri liideses IMapServer Määrab: identifitseeri liideses IMapServer2 Määrab: identifitseeri liideses IMapServer3 Määrab: identifitseeri liideses IMapServer4 Parameetrid: mapDesc ​​- Viide com.esri.arcgis.carto.IMapDescription (in) mapImage - Viide com.esri.arcgis.carto.IImageDisplay (in) searchShape - viide com.esri.arcgis.geometry.IGeometry (in) tolerance - tolerance (in) variant - A com.esri.arcgis. carto.esriIdentifyOption konstant (in) layerIds - viide com.esri.arcgis.system.ILongArray (in) Tagastab: viide com.esri.arcgis.carto.IMapServerIdentifyResults Visked: IOException - kui esineb interopeerimisprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryFeatureCount

Märkused

QueryFeatureCount tagastab antud päringufiltri parameetritele vastavate kaardifunktsioonide arvu.

QueryFeatureCount nõuab mitmeid sisendparameetreid. Nende hulka kuuluvad: MapName, LayerID ja QueryFilter. QueryFilter võib olla atribuudi päring (SQL espressioon), ruumiline päring või nende kombinatsioon.

QueryFilter

QueryFilter pakub võimalust pärida atribuudifiltri (SQL -avaldise) põhjal ruumifiltrit või mõlema kombinatsiooni. Atribuudifiltrid võtavad kasutusele kõik kehtivad ‘n-GIS andmespetsiifilised ’ SQL-laused. Näiteks CNTRY_CODE = ‘BD ’ või POPULATION = 12345. Kuupäevaväljade päringu süntaks sõltub aluseks olevatest andmetest. Kui töötate Shapefile'i või faili GeoDatabase andmetega, on Accessi põhise isikliku geoandmebaasi süntaks & ltFieldName & gt = date ‘YYYY-MM-DD ’, süntaks on#YYYY-MM-DD#. SDE andmebaasi puhul vaadake konkreetse andmebaasi ja#8217 abi.

SearchShape

ISpatialFilteris määratud geomeetria peab vastama järgmistele kriteeriumidele:

  • Sellel peaks olema määratletud ruumiline võrdlussüsteem. Kui see pole määratletud, eeldatakse, et koordinaatsüsteem on DataFrame ’s koordinaatsüsteemis
  • See peab olema üks kõrgetasemelistest geomeetriatest, st punkt, mitmepunktiline, mitmikjoon, hulknurk või mitmik. Madala taseme geomeetria nt. BezierCurve, CircularCurve tuleb pakkida kõrgetasemelisele geomeetriale
  • See peab olema topoloogiliselt õige. Lisateabe saamiseks vaadake abi IP hulknurk ja ITopologicalOperator :: Lihtsusta.

Mitmesugused

MaxRecordCount ei mõjuta QueryFeatureCount ega QueryFeatureCount2.

Nende vahel on kaks peamist erinevust Leia ja QueryFeatureCount. Esimene on see, et Find saab töötada mitmel kihil, samas kui päringumeetodid töötavad ühe kihiga. Teine on see, et Find töötab ainult otsingustringiga. Päringumeetodid kasutavad parameetrina queryFilter. See võimaldab päringu aluseks võtta kas atribuudi filtri (SQL avaldis) või ruumilise filtri.

Toote kättesaadavus

Toetatud platvormid

Määranud: queryFeatureCount liideses IMapServer Määratud: queryFeatureCount liideses IMapServer2 Määranud: queryFeatureCount liideses IMapServer3 Määranud: queryFeatureCount liideses IMapServer4 Parameetrid: mapName - MapName (in) layerID - kihi A viide filtrisse com.esri.arcgis.geodatabase.IQueryFilter (in) Tagastab: Loendusvisked: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryFeatureIDs

Märkused

QueryFeatureIDs tagastab kaardifunktsioonide ID -d (FIDSet), mis vastavad antud päringufiltri parameetritele.

QueryFeatureIDs nõuab mitmeid sisendparameetreid. Nende hulka kuuluvad: MapName, LayerID ja QueryFilter. QueryFilter võib olla atribuudi päring (SQL espressioon), ruumiline päring või nende kombinatsioon.

QueryFilter

QueryFilter pakub võimalust pärida atribuudifiltri (SQL -avaldise) põhjal ruumifiltrit või mõlema kombinatsiooni. Atribuudifiltrid võtavad kasutusele kõik kehtivad ‘n-GIS andmespetsiifilised ’ SQL-laused. Näiteks CNTRY_CODE = ‘BD ’ või POPULATION = 12345. Kuupäevaväljade päringu süntaks sõltub aluseks olevatest andmetest. Kui töötate Shapefile'i või faili GeoDatabase andmetega, on Accessi põhise isikliku geoandmebaasi süntaks & ltFieldName & gt = date ‘YYYY-MM-DD ’, süntaks on#YYYY-MM-DD#. SDE andmebaasi puhul vaadake konkreetse andmebaasi ja#8217 abi.

SearchShape

ISpatialFilteris määratud geomeetria peab vastama järgmistele kriteeriumidele:

  • Sellel peaks olema määratletud ruumiline võrdlussüsteem. Kui see pole määratletud, eeldatakse, et koordinaatsüsteem on DataFrame ’s koordinaatsüsteemis
  • See peab olema üks kõrgetasemelistest geomeetriatest, st punkt, mitmepunktiline, mitmikjoon, hulknurk või mitmik. Madala taseme geomeetria nt. BezierCurve, CircularCurve tuleb pakkida kõrgetasemelisele geomeetriale
  • See peab olema topoloogiliselt õige. Lisateabe saamiseks vaadake abi IP hulknurk ja ITopologicalOperator :: Lihtsusta .

Mitmesugused

MaxRecordCount ei mõjuta QueryFeatureIDs ega QueryFeatureIDs2.

Nende vahel on kaks peamist erinevust Leia ja QueryFeatureIDs. Esimene on see, et Find saab töötada mitmel kihil, samas kui päringumeetodid töötavad ühe kihiga. Teine on see, et Find töötab ainult otsingustringiga. Päringumeetodid kasutavad parameetrina queryFilter. See võimaldab päringu aluseks võtta kas atribuudi filtri (SQL avaldis) või ruumilise filtri.

Selle funktsiooni tulemusi saab kasutada koos LayerDescription :: SelectionFeatures eksporditud pildil valiku kuvamiseks.

Toote kättesaadavus

Toetatud platvormid

Määranud: queryFeatureIDs liideses IMapServer Määratud: queryFeatureIDs liideses IMapServer2 Määranud: queryFeatureIDs liideses IMapServer3 Määranud: queryFeatureIDs liideses IMapServer4 Parameetrid: mapName - MapName (in) layerID - kihi A viide filtrisse com.esri.arcgis.geodatabase.IQueryFilter (in) Tagastab: viide com.esri.arcgis.geodatabase.IFIDSet Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryFeatureData

Märkused

QueryFeatureData tagastab antud päringufiltri parameetritele vastavad kaardifunktsioonide kirjed. QueryFeatureData tagastab a RecordSet .

QueryFeatureData nõuab mitmeid sisendparameetreid. Nende hulka kuuluvad: a Nimi, LayerIDja a QueryFilter. QueryFilter võib olla atribuudi päring (SQL espressioon), ruumiline päring, mõlema kombinatsioon või null.

QueryFilter

QueryFilter pakub võimalust pärida atribuudifiltri (SQL -avaldise) põhjal ruumifiltrit või mõlema kombinatsiooni. Atribuudifiltrid võtavad kasutusele kõik kehtivad ‘n-GIS andmespetsiifilised ’ SQL-laused. Näiteks CNTRY_CODE = ‘BD ’ või POPULATION = 12345. Kuupäevaväljade päringu süntaks sõltub aluseks olevatest andmetest. Kui töötate Shapefile'i või faili GeoDatabase andmetega, on Accessi põhise isikliku geoandmebaasi süntaks & ltFieldName & gt = date ‘YYYY-MM-DD ’, süntaks on#YYYY-MM-DD#. SDE andmebaasi puhul vaadake konkreetse andmebaasi ja#8217 abi.

Selle saab seadistada null või Mitte midagi kõigi andmete hankimiseks (mis on samuti piiratud MaxRecordCount)

Kui geomeetria pole väljundis RecordSet soovitud, IQuerFilter’s Alamväljad tuleb määratleda ilma ‘Kuju ’ väljata. Kui alamväljad on tühjad või sisaldavad ‘Shape ’, sisaldab IRecordSet väljad "kuju_pikkus" ja "kuju_ala". Kui väljundgeomeetria soovitud ruumiline võrdlus erineb algsest, OutputSpatialReference tuleks kasutada. Vastasel juhul tagastatakse geomeetria samas ruumisiseses süsteemis nagu DefaultMapDescription algselt. Kui alamväljad pole määratletud või = “*”, tagastab see kõik nähtavad väljad. Nähtamatuid või kehtetuid väljade nimesid või varjunimesid ei tohi alamvälja ’s stringis sisaldada, vastasel juhul kuvatakse viga. Pange tähele, väli ObjectID tagastatakse alati olenemata sellest, kas see on alamväljades või mitte. DISTINCT -i kasutamisel on ainult ootus.

SearchShape

ISpatialFilteris määratud geomeetria peab vastama järgmistele kriteeriumidele:

  • Sellel peaks olema määratletud ruumiline võrdlussüsteem. Kui see pole määratletud, eeldatakse, et koordinaatsüsteem on DataFrame ’s koordinaatsüsteemis
  • See peab olema üks kõrgetasemelistest geomeetriatest, st punkt, mitmepunktiline, mitmikjoon, hulknurk või mitmik. Madala taseme geomeetria nt. BezierCurve, CircularCurve tuleb pakkida kõrgetasemelisele geomeetriale
  • See peab olema topoloogiliselt õige. Lisateabe saamiseks vaadake abi IP hulknurk ja ITopologicalOperator :: Lihtsusta .

QueryFeatureData austab lähtekaardi dokumendis määratud väljade nähtavust. Lähtekaardidokumendis määratud väljapseudonüüme peetakse arvesse ainult MapServer WSDL -iga töötamisel või MapServer objekti kaudu AGSServerConnection (LAN või Internet), kuid pole DCOM -ühenduse jaoks austatud. RecordSet teeb seda siiski MITTE austa kõiki lähtekaardil olevaid väljavorminguid.

Geomeetria tagastatakse alati samas ruumilises viitesüsteemis kui DefaultMapDescription, kuigi kihi lähteandmed võivad olla teises koordinaatsüsteemis, välja arvatud juhul OutputSpatialReference on kasutaja selgesõnaliselt seadistatud teisele koordinaatsüsteemile (SOAP/WSDL puhul mõlemad OutputSpatialReference & amp SpatialReferenceFieldName omadused tuleb määrata). Koordinaatsüsteemi saamiseks IField :: GeometryDef tuleks kasutada.

Mõnel juhul, võib -olla tulemuslikkuse tõttu, võite piirata või kohandada geomeetriat, mis tagastatakse kirjete kogumi tulemuses. Tagastatud geomeetriat ei saa QueryFeatureData abil reguleerida. Peate kasutama QueryFeatureData2 selleks, et seda teha.

Selleks, et kontrollida teabe hulka, mida MapServer peab päringu jaoks töötlema, saab määrata maksimaalse arvu kirjeid. See väärtus sisaldub MaxRecordCount vara peal IMapServerInit2. Selle atribuudi vaikeväärtus on 500. Kui antud päringule vastavad 600 funktsiooni, tagastatakse ainult esimesed 500 tulemust. Te ei pääse juurde ülejäänud 100 kirjele. Nendele andmetele juurdepääsemiseks tuleks MaxRecordCount'i suurendada 600 -ni. MaxRecordCount'i saab muuta ka, muutes MapServeri konfiguratsioonifailis olevat MaxRecordCount XML -silti.

Mitmesugused

Nende vahel on kaks peamist erinevust Leia ja QueryFeatureData. Esimene on see, et Find saab töötada mitmel kihil, samas kui päringumeetodid töötavad ühe kihiga. Teine on see, et Find töötab ainult otsingustringiga. Päringumeetodid kasutavad parameetrina queryFilter. See võimaldab päringu aluseks võtta kas atribuudi filtri (SQL avaldis) või ruumilise filtri.

Toote kättesaadavus

Toetatud platvormid

Määranud: queryFeatureData liideses IMapServer Määratud: queryFeatureData liideses IMapServer2 Määranud: queryFeatureData liideses IMapServer3 Määranud: queryFeatureData liideses IMapServer4 Parameetrid: mapName - MapName (in) layerID - kihi A viide filtrisse com.esri.arcgis.geodatabase.IQueryFilter (in) Tagastab: viide com.esri.arcgis.geodatabase.IRecordSet Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryHüperlingid

Märkused

QueryHyperlinks tagastab objektide kogumi, mis rakendab IMapServerHyperlink.

QueryHyperlinks nõuab mitmeid sisendparameetreid. Nende hulka kuuluvad: MapDescription, ImageDisplay ja LayerID.

MapDescription sisaldab kõiki kaardil olevaid kihtide kirjeldusi. Need LayerDescriptions sisaldavad atribuuti DefinitionExpression. DefinitionExpressioni saab kihile seada, et piirata kuvamiseks või päringuks saadaolevaid kihi funktsioone. Selle avaldise saab lähtekaardidokumendis määrata määratluspäringuna või atribuudi DefinitionExpression abil. LayerDescriptionis olev DefinitionExpression komplekt alistab kõik lähtekaardil määratletud päringukomplektid. MapServer QueryHyperlinksi tulemused peaksid austama kõiki kihi määratluspäringuid või DefinitionExpression.

Seda on vaja teha kindlaks, kas kihid on praeguse kaardi skaala põhjal nähtavad või mitte. Kihi nähtavus sõltub sellest, kas kiht on sisse või välja lülitatud (atribuut Visible on ILayerDescription3) või kas kiht on sisse lülitatud, kuid ei ole nähtav skaala sõltuvuste tõttu (IMSLayerInfo2 atribuudid MinScale ja MaxScale).

Mõnel juhul võiksite jõudluse huvides QueryHyperlinki tulemuses tagastatavat geomeetriat kohandada. Selle haldamiseks kasutage ILayerResultOptions. Tagastatud geomeetria saate tihendada või üldistada, kasutades GeometryResultOptions. Tihendamist kasutatakse klientide paremaks toetamiseks, kes ei toeta kaare (nt Bezier, ringkiri jne). Üldistamine vähendab võrgu kaudu saadetava geograafia hulka ja peaks parandama jõudlust. Seade IncludeGeometry atribuut ei mõjuta, QueryHyperLinks tagastab alati geomeetria.

Geomeetria tagastatakse alati samas ruumilises viitesüsteemis nagu DefaultMapDescription, isegi kui kihi lähteandmed võivad olla teises koordinaatsüsteemis.

Selleks, et kontrollida teabe hulka, mida MapServer peab päringu jaoks töötlema, saab määrata maksimaalse arvu kirjeid. See väärtus sisaldub atribuudis MaxRecordCount saidil IMapServerInit2. Selle atribuudi vaikeväärtus on 500. Kui antud päringule vastavad 600 funktsiooni, tagastatakse ainult esimesed 500 tulemust. Te ei pääse juurde ülejäänud 100 kirjele. Nendele andmetele juurdepääsemiseks tuleks MaxRecordCount'i suurendada 600 -ni. MaxRecordCount'i saab muuta ka, muutes MapServeri konfiguratsioonifailis olevat MaxRecordCount XML -silti.

Toote kättesaadavus

Toetatud platvormid

Määranud: queryHyperlinks liideses IMapServer Määranud: queryHyperlinks liideses IMapServer2 Määranud: queryHyperlinks liideses IMapServer3 Määranud: queryHyperlinks liideses IMapServer4 Parameetrid: mapDesc ​​- viide com.esri.arcgis.Description.cart Viide com.esri.arcgis.carto.IImageDisplay (in) layerIds - viide com.esri.arcgis.system.ILongArray (in) Tagastab: viide com.esri.arcgis.carto.IMapServerHyperlinks Throwsile : IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

ComputeScale

Toote kättesaadavus

Toetatud platvormid

Määranud: computeScale liideses IMapServer Määranud: computeScale liideses IMapServer2 Määranud: computeScale liideses IMapServer3 Määranud: computeScale liideses IMapServer4 Parameetrid: mapDesc ​​- viide com.esri.arcgis.carto.IMapDes (map) Viide com.esri.arcgis.carto.IImageDisplay (in) Tagastab: skaala viskab: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

ComputeDistance

Toote kättesaadavus

Toetatud platvormid

Määratles: computeDistance liideses IMapServer Määras: computeDistance liideses IMapServer2 Määras: computeDistance liideses IMapServer3 Määras: computeDistance liideses IMapServer4 Parameetrid: mapName - MapName (in) fromPoint - Viide com.esri.arcgis.geomet .IPoint (in) toPoint - viide com.esri.arcgis.geometry.IPoint (in) ühikut - A com.esri.arcgis.system.esriUnits konstant (in) Tagastab: Kaugus Viskab: IOException - Kui on interaktsiooni probleemid. AutomationException - kui ArcObject komponent loob erandi.

ToMapPoints

Toote kättesaadavus

Toetatud platvormid

Määranud: toMapPoints liideses IMapServer Määratud: toMapPoints liideses IMapServer2 Määranud: toMapPoints liideses IMapServer3 Määranud: toMapPoints liideses IMapServer4 Parameetrid: mapDescription - viide com.esri.arcgis.Description - Viide com.esri.arcgis.carto.IImageDisplay (in) ekraanile XValues ​​- viide com.esri.arcgis.system.ILongArray (in) screenYValues ​​- viide com.esri.arcgis.system.ILongArray ( in) Tagastab: viide com.esri.arcgis.geometry.IPointCollection Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

Saidilt MapPoints

Toote kättesaadavus

Toetatud platvormid

Määranud: fromMapPoints liideses IMapServer Määratud: fromMapPoints liideses IMapServer2 Määranud: fromMapPoints liideses IMapServer3 Määranud: fromMapPoints liideses IMapServer4 Parameetrid: mapDescription - viide com.esri.arcgis.Description - Viide com.esri.arcgis.carto.IImageDisplay (in) mapPoints - viide com.esri.arcgis.geometry.IPointCollection (in) screenXValues ​​- Viide com.esri.arcgis.system.ILongArray ( sisse/välja: kasutage üheelemendilist massiivi) screenYValues ​​- viide com.esri.arcgis.system.ILongArray (sisse/välja: kasutage ühe elemendi massiivi) Viskab: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

GetLegendInfo

Märkused

Kasutamine GetLegendInfo üksikute legendielementide, sealhulgas sümbolipildi, siltide, kirjelduste ja pealkirjade hankimiseks. Tavaline kasutamine oleks sisukorra täitmine. Pange tähele, et komposiitkihid, näiteks rühmakihid ja märkimiskihid, ei sisalda legendielemente. Legendist ühe pildi eksportimiseks kasutage ExportLegend peal IMapServerLayout.

GetLegendInfo meetod tagastab kogu MapServerLegendInfo objektid. Legendid on seotud renderdajatega, mis kuuluvad kaardi igasse kihti. Igal kihil on eraldi render. Igal renderdajal on üks või mitu legendirühma. Igal legendigrupil on üks või mitu legendiklassi. Legendplaastri kohandamist saab teha kasutades IMapServerLegendPatch . Selle sisendparameetri ("plaaster") sisestamisel "Mitte midagi" kasutatakse vaikimisi legendi plaastrit.

MapServerLegendInfo ei sisalda teavet selle kohta, kas andmeraam ja TOC kihid on algses kaardidokumendis laiendatud või ahendatud. Selle teadasaamiseks peate kirjutama oma koodi.

Toote kättesaadavus

Toetatud platvormid

Määranud: getLegendInfo liideses IMapServer Määranud: getLegendInfo liideses IMapServer2 Määranud: getLegendInfo liideses IMapServer3 Määranud: getLegendInfo liideses IMapServer4 Parameetrid: mapName - mapName (in) layerIds - viide kom. .ILongArray (in) plaaster - viide com.esri.arcgis.carto.IMapServerLegendPatch (in) imgType - viide com.esri.arcgis.carto.IImageType (in) Tagastab: viide com.esri .arcgis.carto.IMapServerLegendInfos Visked: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

GetSQLSyntaxInfo

Toote kättesaadavus

Toetatud platvormid

Määranud: getSQLSyntaxInfo liideses IMapServer Määratud: getSQLSyntaxInfo liideses IMapServer2 Määraja: getSQLSyntaxInfo liideses IMapServer3 Määraja: getSQLSyntaxInfo liideses IMapServer4 Parameetrid: mapName - kaardiName - com.esri.arcgis.carto.ISQLSyntaxInfo Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

GetSupportedImageReturnTypes

Toote kättesaadavus

Määranud: getSupportedImageReturnTypes liideses IMapServer Määratles: getSupportedImageReturnTypes liideses IMapServer2 Määratles: getSupportedImageReturnTypes liideses IMapServer3 Määratles: getSupportedImageReturnSarpe.interface.the: . AutomationException - kui ArcObject komponent loob erandi.

ExportScaleBar

Märkused

Kasutage kaardi skaalariba toomiseks ExportScaleBar. Skaalariba läbimise kohandamiseks ScaleBar objektis. Kui sisestate sisendparameetri ScaleBar väärtuse Nothing/Null, joonistatakse vaikimisi vahelduv skaalariba. Skaala arvutatakse vastavalt pildi kõrgusele ja laiusele (pMapDisplay). See ImageDisplay objekt viitab kaardile. Kasutatakse teist ImageDisplay objekti (parameetri imageDesc osana), mis viitab skaalariba pildile. Värvitausta saab määrata ScaleBar proovile parameetri backgroundColor abil. Kui see pole midagi/tühi, kasutatakse valget tausta. Kui soovite, et taust oleks läbipaistev, kasutage teenuses IImageDisplay2 funktsiooni TransparentColor. Suuruse, eraldusvõime ja failivormingu määravad ImageDescription, mis sisaldab ImageDisplay ja ImageType. ExportScaleBar tagastab objekti ImageResult.

Kasutage skaalariba sobiva suuruse määramiseks IImageDisplay (parameetri imageDesc osana) kõrguse ja laiuse omadusi. ExportScaleBar väljundi kõrguse või laiuse 0 sisestamine põhjustab vea.

Toote kättesaadavus

Määranud: exportScaleBar liideses IMapServer2 Määranud: exportScaleBar liideses IMapServer3 Määranud: exportScaleBar liideses IMapServer4 Parameetrid: skaalariba - viide com.esri.arcgis.carto.IScaleBar (in) mapDesc ​​- Viide koomile .arcgis.carto.IMapDescription (in) pMapDisplay - viide com.esri.arcgis.carto.IImageDisplay (in) backgroundColor - viide com.esri.arcgis.display.IColor (in) imageDesc - viide a com.esri.arcgis.carto.IImageDescription (in) Tagastab: viide com.esri.arcgis.carto.IImageResult Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryFeatureCount2

Märkused

QueryFeatureCount2 tagastab antud päringufiltri parameetritele vastavate kaardifunktsioonide arvu.

QueryFeatureCount2 nõuab mitmeid sisendparameetreid. Nende hulka kuuluvad: MapName, LayerDescription ja QueryFilter. QueryFilter võib olla atribuudi päring (SQL espressioon), ruumiline päring või nende kombinatsioon.

QueryFilter

QueryFilter pakub võimalust pärida atribuudifiltri (SQL -avaldise) põhjal ruumifiltrit või mõlema kombinatsiooni. Atribuudifiltrid võtavad kasutusele kõik kehtivad ‘n-GIS andmespetsiifilised ’ SQL-laused. Näiteks CNTRY_CODE = ‘BD ’ või POPULATION = 12345. Kuupäevaväljade päringu süntaks sõltub aluseks olevatest andmetest. Kui töötate Shapefile'i või faili GeoDatabase andmetega, on Accessi põhise isikliku geoandmebaasi süntaks & ltFieldName & gt = date ‘YYYY-MM-DD ’, süntaks on#YYYY-MM-DD#. SDE andmebaasi puhul vaadake konkreetse andmebaasi ja#8217 abi.

SearchShape

ISpatialFilteris määratud geomeetria peab vastama järgmistele kriteeriumidele:

  • Sellel peaks olema määratletud ruumiline võrdlussüsteem. Kui see pole määratletud, eeldatakse, et koordinaatsüsteem on DataFrame ’s koordinaatsüsteemis
  • See peab olema üks kõrgetasemelistest geomeetriatest, st punkt, mitmepunktiline, mitmikjoon, hulknurk või mitmik. Madala taseme geomeetria nt. BezierCurve, CircularCurve tuleb pakkida kõrgetasemelisele geomeetriale
  • See peab olema topoloogiliselt õige. Lisateabe saamiseks vaadake abi IP hulknurk ja ITopologicalOperator :: Lihtsusta .

DefinitsioonVäljendid

A Definitsioon Väljend saab määrata kihile, et piirata kuvamiseks või päringuks saadaolevaid kihi funktsioone. Seda avaldist saab määrata ka lähtekaardi dokumendis definitsioonipäringuna. LayerDescription -i mis tahes DefinitionExpressioni komplekt alistab kõik lähtekaardi definitsioonipäringukomplektid. MapServer QueryFeatureCount2 austab DefinitionExpression.

Vaatame mõningaid näiteid. Teie kaardil on müügipiirkondi esindav kiht. Kiht sisaldab välju PIIRKONNAD, MÜÜK ja JUHT.

Näide #1: Lähtekaardil on kihi definitsioonipäring "REGION = 'North'". LayerDescriptionis pole määratud DefinitionExpressi. Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks loetakse kõik müügipiirkonna funktsioonid, mis kuuluvad põhjapiirkonda ja mida haldab Bob.

Näide #2: Lähtekaardil on kihi definitsioonipäring "REGION = 'North'". Rakendate LayerDescriptionis DefinitionExpressioni kui "MÜÜK & gt 1000". Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks on kõik müügipiirkonna funktsioonid, mille müük ületab 1000 ja mida haldab Bob. QueryFeatureCount2 austab LayerDescriptionis määratud DefinitionExpressioni. DefinitionExpression alistab lähtekaardil määratletud päringukomplekti. Kui soovite oma lõplikku päringusse lisada kihi algse määratluspäringu "REGION = 'Põhja'", peate selle lisama oma päringufiltrisse, "" MANAGER = 'Bob' JA "REGION = 'Põhja' '.

Näide #3: Lähtekaardil pole kihil definitsioonipäringut. Rakendate LayerDescriptionis DefinitionExpressioni kui "MÜÜK & gt 1000". Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks on kõik müügipiirkonna funktsioonid, mille müük ületab 1000 ja mida haldab Bob. QueryFeatureCount2 austab LayerDescriptionis määratud DefinitionExpressioni.

Mitmesugused

MaxRecordCount ei mõjuta QueryFeatureCount ega QueryFeatureCount2.

Nende vahel on kaks peamist erinevust Leia ja QueryFeatureCount2. Esimene on see, et Find saab töötada mitmel kihil, samas kui päringumeetodid töötavad ühe kihiga. Teine on see, et Find töötab ainult otsingustringiga. Päringumeetodid kasutavad parameetrina queryFilter. See võimaldab päringu aluseks võtta kas atribuudi filtri (SQL avaldis) või ruumilise filtri.

Toote kättesaadavus

Määranud: queryFeatureCount2 liideses IMapServer2 Määranud: queryFeatureCount2 liideses IMapServer3 Määranud: queryFeatureCount2 liideses IMapServer4 Parameetrid: mapName - The mapName (in) pLayerDescription - viide com.esri.arcgis.terc.kirjelduses Viide com.esri.arcgis.geodatabase.IQueryFilter (in) Tagastab: Loendusvisked: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryFeatureIDs2

Märkused

QueryFeatureIDs2 tagastab kaardifunktsioonide ID -d (FIDSet), mis vastavad antud päringufiltri parameetritele.

QueryFeatureIDs2 nõuab mitmeid sisendparameetreid. Nende hulka kuuluvad: MapName, LayerID ja QueryFilter. QueryFilter võib olla atribuudi päring (SQL espressioon), ruumiline päring või nende kombinatsioon.

QueryFilter

QueryFilter pakub võimalust pärida atribuudifiltri (SQL -avaldise) põhjal ruumifiltrit või mõlema kombinatsiooni. Atribuudifiltrid võtavad kasutusele kõik kehtivad ‘n-GIS andmespetsiifilised ’ SQL-laused. Näiteks CNTRY_CODE = ‘BD ’ või POPULATION = 12345. Kuupäevaväljade päringu süntaks sõltub aluseks olevatest andmetest. Kui töötate Shapefile'i või faili GeoDatabase andmetega, on Accessi põhise isikliku geoandmebaasi süntaks & ltFieldName & gt = date ‘YYYY-MM-DD ’, süntaks on#YYYY-MM-DD#. SDE andmebaasi puhul vaadake konkreetse andmebaasi ja#8217 abi.

SearchShape

ISpatialFilteris määratud geomeetria peab vastama järgmistele kriteeriumidele:

  • Sellel peaks olema määratletud ruumiline võrdlussüsteem. Kui see pole määratletud, eeldatakse, et koordinaatsüsteem on DataFrame ’s koordinaatsüsteemis
  • See peab olema üks kõrgetasemelistest geomeetriatest, st punkt, mitmepunktiline, mitmikjoon, hulknurk või mitmik. Madala taseme geomeetria nt. BezierCurve, CircularCurve tuleb pakkida kõrgetasemelisele geomeetriale
  • See peab olema topoloogiliselt õige. Lisateabe saamiseks vaadake abi IP hulknurk ja ITopologicalOperator :: Lihtsusta .

DefinitsioonVäljendid

A Definitsioon Väljend saab määrata kihile, et piirata kuvamiseks või päringuks saadaolevaid kihi funktsioone. Seda avaldist saab määrata ka lähtekaardi dokumendis definitsioonipäringuna. LayerDescription -i mis tahes DefinitionExpressioni komplekt alistab kõik lähtekaardi definitsioonipäringukomplektid. MapServer QueryFeatureIDs2 austab DefinitionExpressioni.

Vaatame mõningaid näiteid. Teie kaardil on müügipiirkondi esindav kiht. Kiht sisaldab välju PIIRKONNAD, MÜÜK ja JUHT.

Näide #1: Lähtekaardil on kihi definitsioonipäring "REGION = 'North'". LayerDescriptionis pole määratud DefinitionExpressi. Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks on kõigi müügipiirkonna funktsioonide ID -d, mis kuuluvad põhjapiirkonda ja mida haldab Bob.

Näide #2: Lähtekaardil on kihi definitsioonipäring "REGION = 'North'". Rakendate LayerDescriptionis DefinitionExpressioni kui "MÜÜK & gt 1000". Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks on kõigi müügipiirkonna funktsioonide ID -d, mille müük ületab 1000 ja mida haldab Bob. QueryFeatureIDs2 järgib LayerDescriptionis määratud DefinitionExpression komplekti. DefinitionExpression alistab lähtekaardil määratletud päringukomplekti. Kui soovite oma lõplikku päringusse lisada kihi algse määratluspäringu "REGION = 'Põhja'", peate selle lisama oma päringufiltrisse, "" MANAGER = 'Bob' JA "REGION = 'Põhja' '.

Näide #3: Lähtekaardil pole kihil definitsioonipäringut. Rakendate LayerDescriptionis DefinitionExpressioni kui "MÜÜK & gt 1000". Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks on kõigi müügipiirkonna funktsioonide ID -d, mille müük ületab 1000 ja mida haldab Bob. QueryFeatureIDs2 järgib LayerDescriptionis määratud DefinitionExpression komplekti.

Mitmesugused

MaxRecordCount ei mõjuta QueryFeatureIDs ega QueryFeatureIDs2.

Nende vahel on kaks peamist erinevust Leia ja QueryFeatureIDs2. Esimene on see, et Find saab töötada mitmel kihil, samas kui päringumeetodid töötavad ühe kihiga. Teine on see, et Find töötab ainult otsingustringiga. Päringumeetodid kasutavad parameetrina queryFilter. See võimaldab päringu aluseks võtta kas atribuudi filtri (SQL avaldis) või ruumilise filtri.

Selle funktsiooni tulemusi saab kasutada koos LayerDescription :: SelectionFeatures eksporditud pildil valiku kuvamiseks.

Toote kättesaadavus

Määranud: queryFeatureIDs2 liideses IMapServer2 Määranud: queryFeatureIDs2 liideses IMapServer3 Määranud: queryFeatureIDs2 liideses IMapServer4 Parameetrid: mapName - The mapName (in) pLayerDesciscription - Viide com.esri.arcgisercarter.cr Viide com.esri.arcgis.geodatabase.IQueryFilter (in) Tagastab: viide com.esri.arcgis.geodatabase.IFIDSet Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryFeatureData2

Märkused

QueryFeatureData2 tagastab kaardi funktsioonide kirjed, mis vastavad antud päringufiltri parameetritele. QueryFeatureData2 tagastab QueryResult. QueryResult vorming võib olla kas KML või RecordSet. QueryResult vorming on määratud jaotises QueryResultOptions. QueryResultOptions saab vajadusel kasutada ka geotransformatsiooni määramiseks.

QueryFeatureData2 nõuab mitmeid sisendparameetreid. Nende hulka kuuluvad: nimi, LayerDescription ja QueryFilter. QueryFilter võib olla atribuudi päring (SQL espressioon), ruumiline päring, mõlema kombinatsioon või null. ILayerDescription2 -l on atribuut SourceID, mida saab kasutada GP -tulemuste päringute tegemiseks.

QueryFilter pakub võimalust pärida atribuudifiltri (SQL -avaldise) põhjal ruumifiltrit või mõlema kombinatsiooni. Atribuutide filtrid võtavad vastu mis tahes kehtiva „mitte-GIS-andmetega seotud” SQL-lause. Näiteks CNTRY_CODE = BD või POPULATION = 12345. Kuupäevaväljade päringu süntaks sõltub aluseks olevatest andmetest. Kui töötate Shapefile'i või faili GeoDatabase andmetega, on Access-põhise isikliku geoandmebaasi süntaks & ltFieldName & gt = date YYYYY-MM-DD , on süntaks #YYYY-MM-DD #. SDE andmebaasi puhul kontrollige konkreetse andmebaasi abi.

Kõigi andmete toomiseks saab selle seada nulliks või mitte midagi (seda piirab ka MaxRecordCount)

Kui geomeetria pole väljundis RecordSet soovitud, tuleb IQuerFilteri alamväljad määratleda ilma vormita. Kui alamväljad on tühjad või sisaldab vormi „Kuju”, sisaldab IRecordSet väljad „kuju_pikkus” ja „kuju_piirkond”. Kui väljundgeomeetria soovitud ruumiline viide erineb algsest, tuleks kasutada OutputSpatialReference. Vastasel korral tagastatakse geomeetria vaikimisi samas ruumilise viitesüsteemiga nagu DefaultMapDescription. Kui alamväljad pole määratletud või = * , tagastab see kõik nähtavad väljad. Nähtamatuid või kehtetuid väljade nimesid või varjunimesid ei tohi alamvälja stringi lisada, vastasel juhul tagastab see vea. Pange tähele, väli ObjectID tagastatakse alati olenemata sellest, kas see on alamväljades või mitte. DISTINCT -i kasutamisel on ainult ootus.

ISpatialFilteris määratud geomeetria peab vastama järgmistele kriteeriumidele:

  • Sellel peaks olema määratletud ruumiline võrdlussüsteem. Juhul, kui see pole määratletud, eeldatakse, et koordinaatsüsteem on DataFrame'i koordinaatsüsteemis
  • See peab olema üks kõrgetasemelistest geomeetriatest, st punkt, mitmepunktiline, mitmikjoon, hulknurk või mitmik. Madala taseme geomeetria nt. BezierCurve, CircularCurve tuleb pakkida kõrgetasemelisele geomeetriale
  • See peab olema topoloogiliselt õige. Lisateavet leiate spikrist IPolygon ja ITopologicalOperator :: Simplify kohta.

DefinitionExpressioni saab kihile seada, et piirata kuvamiseks või päringuks saadaolevaid kihi funktsioone. Seda avaldist saab määrata ka lähtekaardi dokumendis definitsioonipäringuna. LayerDescription -i mis tahes DefinitionExpressioni komplekt alistab kõik lähtekaardi definitsioonipäringukomplektid. MapServer QueryFeatureData2 austab DefinitionExpressioni.

Vaatame mõningaid näiteid. Teie kaardil on müügipiirkondi esindav kiht. Kiht sisaldab välju PIIRKONNAD, MÜÜK ja JUHT.

Näide #1: Lähtekaardil on kihi definitsioonipäring "REGION = 'North'". LayerDescriptionis pole määratud DefinitionExpressi. Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks on kõik müügipiirkonna funktsioonid, mis kuuluvad põhjapiirkonda ja mida haldab Bob.

Näide #2: Lähtekaardil on kihi definitsioonipäring "REGION = 'North'". Rakendate LayerDescriptionis DefinitionExpressioni kui "MÜÜK & gt 1000". Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks on kõik müügipiirkonna funktsioonid, mille müük ületab 1000 ja mida haldab Bob. QueryFeatureData2 austab LayerDescriptionis määratud DefinitionExpressioni. DefinitionExpression alistab lähtekaardil määratletud päringukomplekti. Kui soovite oma lõplikku päringusse lisada kihi algse määratluspäringu "REGION = 'Põhja'", peate selle lisama oma päringufiltrisse, "" MANAGER = 'Bob' JA "REGION = 'Põhja' '.

Näide #3: Lähtekaardil pole kihil definitsioonipäringut. Rakendate LayerDescriptionis DefinitionExpressioni kui "MÜÜK & gt 1000". Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks on kõik müügipiirkonna funktsioonid, mille müük ületab 1000 ja mida haldab Bob. QueryFeatureData2 austab LayerDescriptionis määratud DefinitionExpressioni.

Tulemuse saab tagastada kahes vormingus: KML ja RecordSet.

KML
Kui soovitud väljund on KML, edastatakse see tagasi URL -ina (kui QueryResultFormat on esriQueryResultKMLAsURL) või MIME -objektina (kui QueryResultFormat on esriQueryResultKMLAsMime). Fail või Mime tagastatakse tihendatud KMZ -vormingus.

LayerResultOptions seadistamine ei mõjuta KML -i väljundit.

RecordSet
Kui esriQueryResultRecordSetAsObject on valitud QueryResultFormat, tagastab funktsioon RecordSet objektina. Sellele juurdepääsuks kasutage atribuuti IQueryResult :: Object. Tagastatud objekt peab olema IRecordSet'i QI.

QueryData austab lähtekaardi dokumendis määratud väljade nähtavust ja väljapseudonüüme. RecordSet EI austa lähtekaardil ühtegi välja vormindamist.

Vaikimisi tagastatakse geomeetria samas ruumilises viites nagu DefaultMapDescription. QueryFeatureData2 tulemuste ruumilise viite saab määrata OutputSpatialReference abil teistsuguseks kui DefaultMapDescription. OutputSpatialReference on IQueryFilteri omadus. SOAP/WSDL -i kasutajate jaoks on vajalikud nii OutputSpatialReference kui ka amp SpatialReferenceFieldName atribuudid ja need tuleb määrata.

Mõnel juhul võib tulemus nõuda geotransformatsiooni. Näiteks võib antud kaarditeenus kasutada ruumilist viitesüsteemi, mis põhineb GCS_WGS_1984. Klient soovib sellel kaarditeenusel põhinevaid QueryFeatureData2 tulemusi kuvada erinevas ruumilises viites GCS_European_1950. Tulemused kasutavad DefaultMapDescription ruumilist viidet GCS_WGS_1984 ja kuvavad need tulemused valesti GCS_European_1950. Funktsioonid ei pruugi õigesti "rivistuda". Nende tulemuste õigeks kuvamiseks on vaja geotransformatsiooni. Õige geotransformatsiooni rakendamine tagab tulemuse ruumilise korrektsuse.

Teine näide, kus Geotransformatsiooni võib osutuda vajalikuks QueryResultsOptionis määrata, on see, kui päritud kiht projitseeritakse kaarditeenuses lennult. See tähendab, et kihi allika koordinaatsüsteem erineb DefaultMapDescription koordinaatsüsteemist ja enne serveerimist pole kaardidokumendis määratud sobivat teisendust. Sel juhul pääsete juurde kihi allika koordinaatsüsteemile, hankides esmalt kihi MapLayerInfo, seejärel hankides väljad väljalt MapLayerInfo, hankides vormivälja väljadelt, hankides väljalt GeometryDef ja lõpuks hankides SpatialReference'i saidilt GeometryDef.

Geotransformatsiooni pole vaja, kui kavandatavatel koordinaatsüsteemidel on sama geograafiline koordinaatsüsteem. Parimate tulemuste saamiseks on optimaalne, kui andmed (kaarditeenuse kihid), kaarditeenus ja MapServeri väljund kasutavad sama koordinaatsüsteemi.

Mõningatel juhtudel võib tulemuslikkuse huvides piirata või kohandada kirjete komplekti tulemuses tagastatavat geomeetriat. Selle haldamiseks kasutage ILayerResultOptions. Kui IncludeGeometry on seatud väärtusele False, ei kaasata geomeetriat kirjepaari. See peaks suurendama jõudlust juhtudel, kui funktsioonide geomeetria on suur. GeometryResultOptions abil saate ka tagastatud geomeetria tihendada või üldistada. Tihendamist kasutatakse klientide paremaks toetamiseks, kes ei toeta kaare (nt Bezier, ringkiri jne). Üldistamine vähendab võrgu kaudu saadetava geograafia hulka ja peaks parandama jõudlust.

Välja nähtavus ja varjunimed

QueryFeatureData2 austab lähtekaardi dokumendis määratud väljade nähtavust ja väljapseudonüüme. RecordSet EI austa lähtekaardil ühtegi välja vormindamist.

Selleks, et kontrollida teabe hulka, mida MapServer peab päringu jaoks töötlema, saab määrata maksimaalse arvu kirjeid. See väärtus sisaldub atribuudis MaxRecordCount saidil IMapServerInit2. Selle atribuudi vaikeväärtus on 500. Kui antud päringule vastavad 600 funktsiooni, tagastatakse ainult esimesed 500 tulemust. Te ei pääse juurde ülejäänud 100 kirjele. Nendele andmetele juurdepääsemiseks tuleks MaxRecordCount'i suurendada 600 -ni. MaxRecordCount'i saab muuta ka, muutes MapServeri konfiguratsioonifailis olevat MaxRecordCount XML -silti.

Find ja QueryFeatureData2 vahel on kaks peamist erinevust. Esimene on see, et Find saab töötada mitmel kihil, samas kui päringumeetodid töötavad ühe kihiga. Teine on see, et Find töötab ainult otsingustringiga. Päringumeetodid kasutavad parameetrina queryFilter. See võimaldab päringu aluseks võtta kas atribuudi filtri (SQL avaldis) või ruumilise filtri.

Eelistus. Juhul kui nii IQueryFilter :: SubField kui ka ILayerResultOption :: IncludeGeometry on määratud, on alamväli IncludeGeometry ees ülimuslik. Näiteks kui alamväli = "Kuju, FNimi, LName, aadress" ja IncludeGeometry = Väär, sisaldab väljundkirje geomeetriat, nagu see on väljal Kujund.

Toote kättesaadavus

Määranud: queryFeatureData2 liideses IMapServer2 Määranud: queryFeatureData2 liideses IMapServer3 Määranud: queryFeatureData2 liideses IMapServer4 Parameetrid: mapName - The mapName (in) pLayerDesciscription - Viide com.esri.arcgisercarter.cr Viide com.esri.arcgis.geodatabase.IQueryFilter (in) suvanditele - viide com.esri.arcgis.carto.IQueryResultOptions (in) Returns: viide com.esri.arcgis.carto.IQueryResult Throws'ile : IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

GetServiceConfigurationInfo

Märkused

Teenuse ServiceConfigurationInfo abil saate kirjastaja poolt kaarditeenusele seatud piirangud, mis on salvestatud kaarditeenuse konfiguratsioonifaili (.cfg). See atribuut tagastab PropertySet. See atribuutide komplekt sisaldab: MaximumRecordCount, MaximumBufferCount, MaximumImageWidth, MaximumImageHeight ja SupportedImageFormatTypes.

Optimeeritud MapServicesi poolt toetatavad pildivormingud on PNG32, PNG24, PNG, JPG, DIB, TIFF, EMF, PS, PDF, GIF, SVG, SVGZ ja standardsed MapServices teenused on PNG24, PNG, JPG, DIB, TIFF, EMF, PS, PDF, GIF, SVG, SVGZ, AI.

Toote kättesaadavus

Määranud: getServiceConfigurationInfo liideses IMapServer2 Määranud: getServiceConfigurationInfo liideses IMapServer3 Määranud: getServiceConfigurationInfo liideses IMapServer4 Tagastab: viide com.esri.arcgis.system.IPropertySet Throws: seal. AutomationException - kui ArcObject komponent loob erandi.

QueryData

Märkused

QueryData tagastab kihi või tabeli ridade kaardifunktsioonide kirjed, mis vastavad antud päringufiltri parameetritele. QueryData tagastab QueryResult. QueryResult vorming võib olla RecordSet, KMZ, JSON või AMF. QueryResult vorming on määratud jaotises QueryResultOptions. QueryResultOptions saab vajadusel kasutada ka geotransformatsiooni määramiseks.

QueryData nõuab mitmeid sisendparameetreid. Nende hulka kuuluvad: MapName, IMapTableDescription ja IQueryFilter. QueryFilter võib olla atribuudi päring (SQL -avaldis), ruumiline päring, ajapäring, kõigi või nullide kombinatsioon. ILayerDescription2 -l on atribuut SourceID, mida saab kasutada GP -tulemuste päringute tegemiseks.

Kihi LayerDescription saab hankida MapServerInfo :: DefaultMapDescription, samas kui StandaloneTableDescription saab hankida atribuudi MapServerInfo :: StandaloneTableDescriptions abil.

QueryFilter pakub võimalust päringute tegemiseks atribuudifiltri (SQL -avaldise), ruumilise filtri, ajafiltri, mõlema kombinatsiooni või nullpõhise põhjal. Atribuutide filtrid võtavad vastu mis tahes kehtiva „mitte-GIS-andmetega seotud” SQL-lause. Näiteks CNTRY_CODE = BD või POPULATION = 12345. Kuupäevaväljade päringu süntaks sõltub aluseks olevatest andmetest. Kui töötate Shapefile'i või faili GeoDatabase andmetega, on Access-põhise isikliku geoandmebaasi süntaks & ltFieldName & gt = date YYYYY-MM-DD , süntaks on #YYYY-MM-DD #. SDE andmebaasi puhul kontrollige konkreetse andmebaasi abi.

Kõigi andmete toomiseks saab selle seada nulliks või mitte midagi (seda piirab ka MaxRecordCount)

Kui geomeetria pole väljundis RecordSet soovitud, tuleb IQuerFilteri alamväljad määratleda ilma vormita. Kui alamväljad on tühjad või sisaldab vormi „Kuju”, sisaldab IRecordSet väljad „kuju_pikkus” ja „kuju_piirkond”. Kui väljundgeomeetria soovitud ruumiline viide erineb algsest, tuleks kasutada OutputSpatialReference. Vastasel korral tagastatakse geomeetria vaikimisi samas ruumilise viitesüsteemiga nagu DefaultMapDescription.

Kui alamväljad pole määratletud või = * , tagastab see kõik nähtavad väljad. Nähtamatuid või kehtetuid väljade nimesid või varjunimesid ei tohi alamvälja stringis sisaldada, vastasel juhul kuvatakse viga. Kõigi nähtavate väljade loendi saate saidilt IMapTableInfo :: Fields. Pange tähele, väli ObjectID tagastatakse alati olenemata sellest, kas see on alamväljades või mitte. DISTINCT -i kasutamisel on ainult ootus.

Kui soovitakse ainult välja unikaalset väärtust, peate määrama PrefixClause = "DISTINCT". Kui soovite tulemuse sortida välja (te) järgi, määrake ORDER BY & ltfield1, field2.& gt PostfixClause'i. Pange tähele, et neid valikuid austatakse ainult siis, kui lähteandmebaas toetab seda, näiteks ArcSDE GeoDatabase, File GeoDatabase ja Personal GeoDatabase.

Märkus. MapServeri päringufunktsioon ei toeta rastriandmeid. Peaksite vältima rasterväljade lisamist alamväljadelt.

Kui kiht on ajast teadlik (kasutage IMapTableTimeInfo :: SupportsTime atribuuti), saab päringu teha teatud ajahetkel või teatud ajaperioodil saadaolevate funktsioonide komplekti toomiseks. Ajapäringu tegemiseks peab TimeQueryFilter objekt olema loodud ja sellele funktsioonile edasi antud. Kuna objekt rakendab liideseid IQueryFilter ja ISpatialFilter, saab atribuudi või ruumilise päringu ajaga kombineerida.

StartTimeField või EndTimeField väärtused tagastatakse kihi TimeReference -s. Kui soovitud ajaviide erineb kihi omast, tuleks OutputTimeReference selgesõnaliselt seada.

Seda on vaja ainult ruumilise päringu jaoks. Kuna tabel ei sisalda geomeetriat, ignoreeritakse tabeli päringu tegemisel SearchShape'i. SpatialFilteris määratud geomeetria peab vastama järgmistele kriteeriumidele:

  • Sellel peaks olema määratletud ruumiline võrdlussüsteem. Juhul, kui see pole määratletud, eeldatakse, et koordinaatsüsteem on DataFrame'i koordinaatsüsteemis
  • See peab olema üks kõrgetasemelistest geomeetriatest, st punkt, mitmepunktiline, mitmikjoon, hulknurk või mitmik. Madala taseme geomeetria nt. BezierCurve, CircularCurve tuleb pakkida kõrgetasemelisele geomeetriale
  • See peab olema topoloogiliselt õige. Lisateavet leiate abist Polygoni kohta.

Definitsiooni väljendit saab määrata kihile või eraldiseisvale tabelile, et piirata kuvatavate või päringute jaoks saadaolevaid kihi funktsioone või ridu. Seda avaldist saab määrata ka lähtekaardi dokumendis definitsioonipäringuna. Kõik LayerDescription või StandaloneTableDescription määratud DefinitionExpression alistavad kõik lähtekaardil määratletud päringukomplektid. MapServer QueryData järgib DefinitionExpressioni.
Vaatame mõningaid näiteid. Teie kaardil on müügipiirkondi esindav kiht. Kiht sisaldab välju PIIRKONNAD, MÜÜK ja JUHT.

Näide #1: Lähtekaardil on kihi definitsioonipäring "REGION = 'North'". DefinitionExpress pole LayerDescriptionis määratud. Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks on kõik müügipiirkonna funktsioonid, mis kuuluvad põhjapiirkonda ja mida haldab Bob.

Näide #2: Lähtekaardil on kihi definitsioonipäring "REGION = 'North'". Rakendate LayerDescriptionis DefinitionExpressioni kui "MÜÜK & gt 1000". Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks on kõik müügipiirkonna funktsioonid, mille müük ületab 1000 ja mida haldab Bob. QueryData austab LayerDescriptionis määratud DefinitionExpressioni. DefinitionExpression alistab lähtekaardil määratletud päringukomplekti. Kui soovite lisada oma lõplikku päringusse kihi algse definitsioonipäringu „REGION = 'North'", peate selle lisama oma QueryFilterisse, "" MANAGER = 'Bob' AND "REGION = 'North'".

Näide #3: Lähtekaardil pole kihil definitsioonipäringut. Rakendate LayerDescriptionis DefinitionExpressioni kui "MÜÜK & gt 1000". Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks on kõik müügipiirkonna funktsioonid, mille müük ületab 1000 ja mida haldab Bob. QueryData austab LayerDescriptionis määratud DefinitionExpressioni.

KML (võtmeaukude märgistuskeel), JSON (JavaScripti objekti märge) või AMF (tegevussõnumivorming) puhul saab tulemuse edastada URL -ina (kui QueryResultOptions.Format on esriQueryResultKMLAsURL) või MIME -objektina (kui QueryResultOptions.FormatResursKultusMu ).

KML tagastatakse tihendatud KMZ -vormingus. LayerResultOptions seadistamine ei mõjuta KML -i väljundit.

RecordSet
Kui esriQueryResultRecordSetAsObject on valitud QueryResultFormat, tagastab funktsioon RecordSet objektina. Sellele juurdepääsuks kasutage atribuuti IQueryResult :: Object. Tagastatud objekt peab olema IRecordSet'i QI.

Vaikimisi tagastatakse geomeetria samas ruumilises viites nagu DefaultMapDescription. QueryFeatureData2 tulemuste ruumilise viite saab määrata OutputSpatialReference abil teistsuguseks kui DefaultMapDescription. OutputSpatialReference on IQueryFilteri omadus. SOAP/WSDL -i kasutajate jaoks on vajalikud nii OutputSpatialReference kui ka amp SpatialReferenceFieldName atribuudid ja need tuleb määrata.

Mõnel juhul võib tulemus nõuda geotransformatsiooni. Näiteks võib antud kaarditeenus kasutada ruumilist viitesüsteemi, mis põhineb GCS_WGS_1984. Klient soovib sellel kaarditeenusel põhinevaid QueryFeatureData2 tulemusi kuvada erinevas ruumilises viites GCS_European_1950. Tulemused kasutavad DefaultMapDescription ruumilist viidet GCS_WGS_1984 ja kuvavad need tulemused valesti GCS_European_1950. Funktsioonid ei pruugi õigesti "rivistuda". Nende tulemuste õigeks kuvamiseks on vaja geotransformatsiooni. Õige geotransformatsiooni rakendamine tagab tulemuse ruumilise korrektsuse.

Teine näide, kus Geotransformatsiooni võib osutuda vajalikuks QueryResultsOptionis määrata, on see, kui päritud kiht projitseeritakse kaarditeenuses lennult. See tähendab, et kihi allika koordinaatsüsteem erineb DefaultMapDescription koordinaatsüsteemist ja enne serveerimist pole kaardidokumendis määratud sobivat teisendust. Sel juhul pääsete juurde kihi allika koordinaatsüsteemile, hankides esmalt kihi MapLayerInfo, seejärel hankides väljad väljalt MapLayerInfo, hankides vormivälja väljadelt, hankides väljalt GeometryDef ja lõpuks hankides SpatialReference'i saidilt GeometryDef.

Geotransformatsiooni pole vaja, kui kavandatavatel koordinaatsüsteemidel on sama geograafiline koordinaatsüsteem. Parimate tulemuste saamiseks on optimaalne, kui andmed (kaarditeenuse kihid), kaarditeenus ja MapServeri väljund kasutavad sama koordinaatsüsteemi.

Mõningatel juhtudel võib tulemuslikkuse huvides piirata või kohandada kirjete komplekti tulemuses tagastatavat geomeetriat. Selle haldamiseks kasutage ILayerResultOptions. Kui IncludeGeometry on seatud väärtusele False, ei kaasata geomeetriat kirjepaari. See peaks suurendama jõudlust juhtudel, kui funktsioonide geomeetria on suur. GeometryResultOptions abil saate ka tagastatud geomeetria tihendada või üldistada. Tihendamist kasutatakse klientide paremaks toetamiseks, kes ei toeta kaare (nt Bezier, ringkiri jne). Üldistamine vähendab võrgu kaudu saadetava geograafia hulka ja peaks parandama jõudlust.

Välja nähtavus ja varjunimed

QueryData austab lähtekaardi dokumendis määratud väljade nähtavust ja väljapseudonüüme. RecordSet EI austa lähtekaardil ühtegi välja vormindamist.

Selleks, et kontrollida teabe hulka, mida MapServer peab päringu jaoks töötlema, saab määrata maksimaalse arvu kirjeid. See väärtus sisaldub atribuudis MaxRecordCount saidil IMapServerInit2. Selle atribuudi vaikeväärtus on 500. Kui antud päringule vastavad 600 funktsiooni, tagastatakse ainult esimesed 500 tulemust. Te ei pääse juurde ülejäänud 100 kirjele. Nendele andmetele juurdepääsemiseks tuleks MaxRecordCount'i suurendada 600 -ni. MaxRecordCount'i saab muuta ka, muutes MapServeri konfiguratsioonifailis olevat MaxRecordCount XML -silti.

Find ja QueryFeatureData2 vahel on kaks peamist erinevust. Esimene on see, et Find saab töötada mitmel kihil, samas kui päringumeetodid töötavad ühe kihiga. Teine on see, et Find töötab ainult otsingustringiga. Päringumeetodid kasutavad parameetrina queryFilter. See võimaldab päringu aluseks võtta kas atribuudi filtri (SQL avaldis) või ruumilise filtri.

Peamised erinevused QueryData ja amp QueryFeatureData vahel on see, et esimesed saavad otsida nii kihti kui ka tabelit ning järgida nende seadeid, nt. Definitsioon Väljend jne.

Juhul kui nii IQueryFilter :: SubField kui ka ILayerResultOption :: IncludeGeometry on määratud, on alamväli IncludeGeometry ees ülimuslik. Näiteks kui alamväli = "Kuju, FNimi, LName, aadress" ja IncludeGeometry = Väär, sisaldab väljundkirje geomeetriat, nagu see on väljal Kujund.

Toote kättesaadavus

Määranud: queryData liideses IMapServer3 Määranud: queryData liideses IMapServer4 Parameetrid: mapName - mapName (in) pMapTableDescription - Viide com.esri.arcgis.carto.IMapTableDescription (in) filtrile - viide com.esri .arcgis.geodatabase.IQueryFilter (in) valikud - viide com.esri.arcgis.carto.IQueryResultOptions (in) Tagastab: viide com.esri.arcgis.carto.IQueryResult Throws: IOException - Kui on interope probleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryRowCount

Märkused

QueryRowCount tagastab antud päringufiltri parameetritele vastavate tabeli kihtide või ridade kaardifunktsioonide arvu.

QueryRowCount nõuab mitmeid sisendparameetreid. Nende hulka kuuluvad: a MapName, IMapTableDescription ja a IQueryFilter.

Kihi kirjeldust saab hankida aadressilt MapServerInfo :: DefaultMapDescription samas kui StandaloneTableDescription saab hankida, kasutades MapServerInfo :: StandaloneTableDescriptions vara.

QueryFilter

QueryFilter võimaldab päringuid teha atribuudifiltri (SQL -avaldise), ruumilise filtri, ajafiltri, mõlema kombinatsiooni või null. Atribuudifiltrid võtavad kasutusele kõik kehtivad ‘n-GIS andmespetsiifilised ’ SQL-laused. Näiteks CNTRY_CODE = ‘BD ’ või POPULATION = 12345. Kuupäevaväljade päringu süntaks sõltub aluseks olevatest andmetest. Kui töötate Shapefile'i või faili GeoDatabase andmetega, on Accessi põhise isikliku geoandmebaasi süntaks & ltFieldName & gt = date ‘YYYY-MM-DD ’, süntaks on#YYYY-MM-DD#. SDE andmebaasi puhul vaadake konkreetse andmebaasi ja#8217 abi.

TimeQueryFilter

Kui kiht on ajast teadlik (kasutage IMapTableTimeInfo :: SupportsTime atribuut), saab päringu teha teatud ajahetkel või teatud ajaperioodil saadaolevate funktsioonide komplekti toomiseks. Ajapäringu tegemiseks TimeQueryFilter objekt tuleb luua ja sellele funktsioonile edasi anda. Kuna objekt rakendab liideseid IQueryFilter ja ISpatialFilter, saab atribuudi või ruumilise päringu ajaga kombineerida.

SearchShape

ISpatialFilteris määratud geomeetria peab vastama järgmistele kriteeriumidele:

  • Sellel peaks olema määratletud ruumiline võrdlussüsteem. Kui see pole määratletud, eeldatakse, et koordinaatsüsteem on DataFrame ’s koordinaatsüsteemis
  • See peab olema üks kõrgetasemelistest geomeetriatest, st punkt, mitmepunktiline, mitmikjoon, hulknurk või mitmik. Madala taseme geomeetria nt. BezierCurve, CircularCurve tuleb pakkida kõrgetasemelisele geomeetriale
  • See peab olema topoloogiliselt õige. Lisateabe saamiseks vaadake abi IP hulknurk ja ITopologicalOperator :: Lihtsusta .

DefinitsioonVäljendid

A Definitsioon Väljend saab määrata kihile, et piirata kuvamiseks või päringuks saadaolevaid kihi funktsioone. Seda avaldist saab määrata ka lähtekaardi dokumendis definitsioonipäringuna. LayerDescription -i mis tahes DefinitionExpressioni komplekt alistab kõik lähtekaardi definitsioonipäringukomplektid. MapServer QueryFeatureCount2 austab DefinitionExpression.

Vaatame mõningaid näiteid. Teie kaardil on müügipiirkondi esindav kiht. Kiht sisaldab välju PIIRKONNAD, MÜÜK ja JUHT.

Näide #1: Lähtekaardil on kihi definitsioonipäring "REGION = 'North'". LayerDescriptionis pole määratud DefinitionExpressi. Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks loetakse kõik müügipiirkonna funktsioonid, mis kuuluvad põhjapiirkonda ja mida haldab Bob.

Näide #2: Lähtekaardil on kihi definitsioonipäring "REGION = 'North'". Rakendate LayerDescriptionis DefinitionExpressioni kui "MÜÜK & gt 1000". Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks on kõik müügipiirkonna funktsioonid, mille müük ületab 1000 ja mida haldab Bob. QueryFeatureCount2 austab LayerDescriptionis määratud DefinitionExpressioni. DefinitionExpression alistab lähtekaardil määratletud päringukomplekti. Kui soovite oma lõplikku päringusse lisada kihi algse määratluspäringu "REGION = 'Põhja'", peate selle lisama oma päringufiltrisse, "" MANAGER = 'Bob' JA "REGION = 'Põhja' '.

Näide #3: Lähtekaardil pole kihil definitsioonipäringut. Rakendate LayerDescriptionis DefinitionExpressioni kui "MÜÜK & gt 1000". Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks on kõik müügipiirkonna funktsioonid, mille müük ületab 1000 ja mida haldab Bob. QueryFeatureCount2 austab LayerDescriptionis määratud DefinitionExpressioni.

Mitmesugused

Toote kättesaadavus

Määranud: queryRowCount liideses IMapServer3 Määranud: queryRowCount liideses IMapServer4 Parameetrid: mapName - The mapName (in) pTableDescription - Viide com.esri.arcgis.carto.IMapTableDescription (in) pFilter - Viide com.esri .arcgis.geodatabase.IQueryFilter (in) Tagastab: The pCount Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryRowIDs

Märkused

QueryRowID tagastab massiivi ObjectID -sid erinevalt QueryFeatuerIDs või QueryFeatureIDs2. Iga täisarv tähistab päritava tabeli kihi või rea iga tunnuse (FID) kordumatut identifikaatorit.

Pange tähele, et tabeli päring ilma väljata ObjectID (nt Excel, tekstifailid jne) nurjub. Võib -olla soovite kontrollida OIDFieldName et teada saada, kas tabelil on väli ObjectID.

Peamised erinevused QueryRowIDs ja QueryFeatureIDs2 vahel on järgmised.

  • QueryRowID -dega saab pärida nii tabeli kui ka kihi kohta
  • QueryRowIDs tagastab välja järgi sorteeritud ID -d, millal TELLI on seatud päringfilterile PostfixClause ja selle aluseks olev andmeallikas toetab seda.

QueryRowIDs nõuab mitmeid sisendparameetreid. Nende hulka kuuluvad: a MapName, IMapTableDescription ja a IQueryFilter.

Kihi kirjeldust saab hankida aadressilt MapServerInfo :: DefaultMapDescription samas kui StandaloneTableDescription saab hankida, kasutades MapServerInfo :: StandaloneTableDescriptions vara.

QueryFilter

QueryFilter võimaldab päringuid teha atribuudifiltri (SQL -avaldise), ruumilise filtri, ajafiltri, mõlema kombinatsiooni või null. Atribuudifiltrid võtavad kasutusele kõik kehtivad ‘n-GIS andmespetsiifilised ’ SQL-laused. Näiteks CNTRY_CODE = ‘BD ’ või POPULATION = 12345. Kuupäevaväljade päringu süntaks sõltub aluseks olevatest andmetest. Kui töötate Shapefile'i või faili GeoDatabase andmetega, on Accessi põhise isikliku geoandmebaasi süntaks & ltFieldName & gt = date ‘YYYY-MM-DD ’, süntaks on#YYYY-MM-DD#. SDE andmebaasi puhul vaadake konkreetse andmebaasi ja#8217 abi.

TimeQueryFilter

Kui kiht on ajast teadlik (kasutage IMapTableTimeInfo :: SupportsTime atribuut), saab päringu teha teatud ajahetkel või teatud ajaperioodil saadaolevate funktsioonide komplekti toomiseks. Ajapäringu tegemiseks TimeQueryFilter objekt tuleb luua ja sellele funktsioonile edasi anda. Kuna objekt rakendab liideseid IQueryFilter ja ISpatialFilter, saab atribuudi või ruumilise päringu ajaga kombineerida.

SearchShape

ISpatialFilteris määratud geomeetria peab vastama järgmistele kriteeriumidele:

  • Sellel peaks olema määratletud ruumiline võrdlussüsteem. Kui see pole määratletud, eeldatakse, et koordinaatsüsteem on DataFrame ’s koordinaatsüsteemis
  • See peab olema üks kõrgetasemelistest geomeetriatest, st punkt, mitmepunktiline, mitmikjoon, hulknurk või mitmik. Madala taseme geomeetria nt. BezierCurve, CircularCurve tuleb pakkida kõrgetasemelisele geomeetriale
  • See peab olema topoloogiliselt õige. Lisateabe saamiseks vaadake abi IP hulknurk ja ITopologicalOperator :: Lihtsusta .

DefinitsioonVäljendid

A Definitsioon Väljend saab määrata kihile, et piirata kuvamiseks või päringuks saadaolevaid kihi funktsioone. Seda avaldist saab määrata ka lähtekaardi dokumendis definitsioonipäringuna. LayerDescription -i mis tahes DefinitionExpressioni komplekt alistab kõik lähtekaardi definitsioonipäringukomplektid. MapServer QueryFeatureIDs2 austab DefinitionExpressioni.

Vaatame mõningaid näiteid. Teie kaardil on müügipiirkondi esindav kiht. Kiht sisaldab välju PIIRKONNAD, MÜÜK ja JUHT.

Näide #1: Lähtekaardil on kihi definitsioonipäring "REGION = 'North'". LayerDescriptionis pole määratud DefinitionExpressi. Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks on kõigi müügipiirkonna funktsioonide ID -d, mis kuuluvad põhjapiirkonda ja mida haldab Bob.

Näide #2: Lähtekaardil on kihi definitsioonipäring "REGION = 'North'". Rakendate LayerDescriptionis DefinitionExpressioni kui "MÜÜK & gt 1000". Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks on kõigi müügipiirkonna funktsioonide ID -d, mille müük ületab 1000 ja mida haldab Bob. QueryFeatureIDs2 järgib LayerDescriptionis määratud DefinitionExpression komplekti. DefinitionExpression alistab lähtekaardil määratletud päringukomplekti. Kui soovite oma lõplikku päringusse lisada kihi algse määratluspäringu "REGION = 'Põhja'", peate selle lisama oma päringufiltrisse, "" MANAGER = 'Bob' JA "REGION = 'Põhja' '.

Näide #3: Lähtekaardil pole kihil definitsioonipäringut. Rakendate LayerDescriptionis DefinitionExpressioni kui "MÜÜK & gt 1000". Teie päringufilter, mille klausel on "MANAGER = 'Bob'". Tulemuseks on kõigi müügipiirkonna funktsioonide ID -d, mille müük ületab 1000 ja mida haldab Bob. QueryFeatureIDs2 järgib LayerDescriptionis määratud DefinitionExpression komplekti.

Lehekülg läbi tulemuse

QueryRowID -de tulemust saab kasutada tulemuse sirvimiseks. Kui eeldatakse, et päring tagastab palju ridu ja kõigi nende kirjete kuvamine ühel lehel ei ole soovitav, võite tulemuse sirvimiseks ja nõudmisel valitud alamhulga kirjete saamiseks kasutada järgmisi samme.

  • QueryRowIDs ID -de loendi hankimiseks ja kliendipoolse mälu hoidmiseks
  • Hankige nende ID -de alamhulk ja mähkige need FIDSeti või vormistage avaldis WhereClause (st OBJECTID = 2 või OBJECTID = 3)
  • Looge QueryFilter ja määrake sellele FIDSet või WhereClause
  • Käivitage funktsioon QueryData ()

Mitmesugused

Selle funktsiooni tulemusi saab kasutada koos LayerDescription :: SelectionFeatures eksporditud pildil valiku kuvamiseks.

Toote kättesaadavus

Määranud: queryRowIDs liideses IMapServer3 Määranud: queryRowIDs liideses IMapServer4 Parameetrid: mapName - The mapName (in) pTableDescription - viide com.esri.arcgis.carto.IMapTableDescription (in) pFilter - viide com.esri .arcgis.geodatabase.IQueryFilter (in) Tagastab: viide com.esri.arcgis.system.ILongArray Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryRelatedRecords

Märkused

Kui esriRelateResultRelatedRecordSetAsObject on valitud ResultFormat, tagastab funktsioon RelatedRecordSet, mis on manustatud QueryResult. RelatedRecordSet hankimiseks kasutage QueryResult.Object.

An FIDSet tuleb luua ja määrata FIDArray omadusele massiiv ObjectID. Küsitakse FIDSeti sisalduvaid seotud kirjeid ObjectID (de) kohta. Tavaliselt järgneb see funktsioon QueryData, sel juhul saate kasutada väärtusi OIDField tagastatu käest RecordSet FIDSeti täitmiseks.

RelateDescription sisaldab teavet suhete kohta, mida uuritakse. RelateDescription tuleb luua ja sisestada seotud ID, väljade loend ja väljundi vorming. Juhul, kui mõlemad RelatedTableFields ja Kaasa geomeetria on seatud, on RelatedTableFields ülimuslik IncludeGeometry ees. Näiteks kui RelatedTableFields = “Shape, FName, LName, Address ” ja IncludeGeometry = False, sisaldab väljundkirjete komplekt geomeetriat, nagu see on väljal Shape.

Kui edastatakse rohkem kui üks ObjectID, kasutage SourceRowID siduda ‘ seotud read ’ tagasi allikafunktsiooni või reaga.

Tulemus austab kihtides või eraldiseisvas tabelis seatud väljade nähtavust.

Väljundi ruumiline ja ajaline võrdlus

Kui väljundgeomeetria soovitud ruumiline võrdlus erineb algsest, OutputSpatialReference tuleks kasutada. Vastasel juhul tagastatakse geomeetria samas ruumisiseses süsteemis nagu DefaultMapDescription algselt.

Väärtused sees StartTimeField või EndTimeField tagastatakse kihtides TimeReference. Kui soovitud ajaviide erineb kihi omast, OutputTimeReference tuleks selgesõnaliselt määrata.

Seostub muude geoandmebaasitabelitega

Kuna QueryRelatedRecords tugineb allikakihi/-tabeli funktsioonide või ridade ID -dele, siis kui tabelil pole OIDFieldi (mitte geoandmebaasi tabelit), ei ole sihtmärktabelist seotud kirjete leidmine lähtekihist/tabelist võimalik. Näiteks kui Paki kiht on seotud Owership tabeliga (näiteks Oracle'i andmebaasist), võite leida pakiga seotud omandiõiguse teavet, kuid funktsioon ei võimalda leida omanikule kuuluvaid pakke. Teisel viisil liikumiseks peab tabelil olema OIDField. Seda tüüpi stsenaariumi korral võite kaaluda ühte järgmistest valikutest.

  • Importige tabel oma geoandmebaasi
  • Kasutage ArcMapis QuerLayerit, et lisada tabel ruumilise tabelina kasutaja määratud unikaalsete idetifikaatoriväljadega.
  • Looge oma OLE DB tabelis ainulaadne, mitte nullindeksitud numbriväli ja väli tunnistatakse pseudoobjekti ID väljaks. Palun vaadake neid KB artikleid (id:20463,27424) rohkem informatsiooni.

Pange tähele, et seotud ridade toomine, millel on liitumisi, võib toimivust mõjutada.

Toote kättesaadavus

Määranud: queryRelatedRecords liideses IMapServer3 Määranud: queryRelatedRecords liideses IMapServer4 Parameetrid: mapName - MapName (in) sourceTable - SourceTable (in) pFIDs - viide com.esri.arcgis.geodatabase.IFIDSet (in) relate Viide com.esri.arcgis.carto.IRelateDescription (in) Tagastab: viide com.esri.arcgis.carto.IQueryResult Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryRasterValue

Märkused

Massiiv IImageResult3. IImageResult3 sisaldab tagastatud miimitüüpi ja kas pildi URL -i või miimi andmeid.

Saadud massiivi ImageResult tagastatakse samas järjekorras, milles OID -d edastatakse. Kui funktsioonil pole rastriandmeid, tagastatakse null.

RasterFieldName on valikuline, kuna kihil võib olla ainult üks rasterväli. Liitumise korral peate võib -olla sisestama välja nime, kui tühja stringi edastamisel kasutatakse alustabeli rastervälja.

OutImageType on samuti valikuline. Kui null väljastatakse kujul outImageType, kasutatakse vaikimisi pildivorminguna ja tagastatuna tüübi jpeg ja url.

Toote kättesaadavus

Määranud: queryRasterValue liideses IMapServer3 Määranud: queryRasterValue liideses IMapServer4 Parameetrid: mapName - The mapName (in) sourceTableID - sourceTableID (in) rowIDs - viide väljale com.esri.arcgis.system.ILongArray (in) fieldName - FieldName (in) rasterValueType - viide com.esri.arcgis.carto.IImageType (in) Tagastab: viide com.esri.arcgis.carto.IImageResults Throws: IOException - kui esineb koostalitusprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryAttachmentInfos

Märkused

Objektide massiiv, mis toetab IAttachmentInfo. Iga AttachmentInfo objekt tähistab metaandmeid iga multimeediaandme kohta, näiteks manuse ID, sisu miimitüüp, nimi, allika OID ja suurus baitides.

Enne selle funktsiooni kasutamist peaksite kontrollima MapLayerInfo.HasAttachmentsi.

Toote kättesaadavus

Määranud: queryAttachmentInfos liideses IMapServer3 Määranud: queryAttachmentInfos liideses IMapServer4 Parameetrid: mapName - mapName (in) tableID - tableID (in) rowIDs - viide com.esri.arcgis.system.ILongArray (in) Returns Viide saidile com.esri.arcgis.geodatabase.IAttachmentInfoArray Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryAttachmentData

Märkused

Toetavate objektide hulk IAttachmentData. Iga AttachmentData objekt sisaldab AttachmentInfo siduda andmed tagasi selle funktsiooni/reaga, millele need andmed on lisatud, manuste andmed ja andmetega seotud URL.

Kasutamine QueryAttachmentInfos saada funktsioonile/reale lisatud kõigi manustatud multimeediaandmete manused AttachmentID.

Toote kättesaadavus

Määranud: queryAttachmentData liideses IMapServer3 Määranud: queryAttachmentData liideses IMapServer4 Parameetrid: mapName - mapName (in) tableID - tableID (in) attachmentIDs - viide com.esri.arcgis.system.ILongArray (in) transportTy A com.esri.arcgis.system.esriTransportType konstant (in) Tagastab: viide com.esri.arcgis.geodatabase.IAttachmentDataArray Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

QueryHTMLPopups

Märkused

Stringide massiiv. Iga string tähistab funktsiooni rikkalikke html -vormingus atribuute.

Enne selle funktsiooni kasutamist peaksite kontrollima MapLayerInfo.HTMLPopupType.

Tulemuste html -sisu tagastatakse samas järjekorras, milles OID -d edastatakse. Kui soovite funktsiooni alusel päringu teha ja tulemuse rikkaliku html -na tagasi saada, võite kasutada funktsiooni Identify, kasutades esriIdentifyVisibleWithHTMLPopup või esriIdentifyTopOneWithHTMLPopup.

See funktsioon ei võimalda kliendil atribuuti vormindada, vaid tagastab html -sisu nii, nagu autor vormistas tulemuse lähtekaardil.

Toote kättesaadavus

Määranud: queryHTMLPopups liideses IMapServer3 Määratud: queryHTMLPopups liideses IMapServer4 Parameetrid: mapName - mapName (in) tableID - tableID (in) pRowIDs - viide com.esri.arcgis.system.ILongArray (in) Tagastab: Viide veebisaidile com.esri.arcgis.system.IStringArray Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

GetDefaultLayerDrawingDescriptions

Märkused

Massiiv ILayerDrawingDescription kihtide jaoks, mille ID -d edastati. Tulemus sisaldab jooniste kirjeldusi ainult funktsioonikihtide kohta. Seetõttu ei pruugi sisendkihtide arv kokku langeda tagastatud massiivi arvuga. Kui edastatakse ID, mis ei ole FeatureLayer ega olemasolev kiht, ei tagastata selle ID jaoks joonise kirjeldust.

Võite kasutada IMapLayerInfo :: HasLayerDrawingDescription, et kontrollida, kas MapServer tagastab kihi jaoks ILayerDrawingDescription.

outputOptions parameeter võib olla Null, sel juhul tagastab MapServer pildid PNG -vormingus. Virtuaalse kataloogi puudumisel tagastatakse pildid PNG -vormingus.

LayerDrawingDescription objekt sisaldab teavet autori määratud sümboloogia ja sildi kohta. FeatureRenderer kirjeldab, kuidas kihti sümboliseeritakse, samal ajal kui LabelingDescription sisaldab kõiki autori lähtekaardil määratletud sildiklasse.

Pange tähele, et MapServer tagastab ainult järgmised andmed:

Renderdamise tüübid:

  • SimpleRenderer
  • UniqueValueRenderer
  • ClassBreaksRenderer (Andmete väljajätmist renderdajast praegu ei toetata)

Sümbolite tüübid:

Kui kihi ja rsquose renderdaja ei kuulu nende toetatud kihtide hulka, ei tagastata midagi. Sümbolid, mida ei toetata, alandatakse üheks toetatud sümboliks. Palun vaadake allolevaid reegleid.

Siin on kihi ja RSQ -sümbolite alandatud versioon:

  • Lihtsad markerisümbolid tagastatakse kujul ISimpleMarkerSymbol
  • Kõik muud tüübid, näiteks IPictureMarkerSymbol, ICharakterMarkerSymbol, IMultiLayerMarkerSymbol jne tagastatakse kui IPictureMarkerSymbol.
  • ISimpleLineSymbol tagastatakse sellisena, nagu see on, ilma alandamiseta.
  • Kõik muud sümbolid, näiteks ICartographicLineSymbol, IMarkerLineSymbol, IMultiLayerLineSymbol jne, tagastatakse kujul esriSLSSolid sümbol. Mitmekihilise sümboli korral tagastatakse lihtsa rea ​​sümbol, millel on omadused esimesest sümbolist ja rsquos kihi kihist & rsquos geomeetria tüübist.
  • ISimpleFillSymbol tagastatakse alati sellisena esriSFSSolid. Muud tüüpi lihtsad täitesümbolid, nagu rist, horisontaalne jne, tagastatakse kujul esriSFSSolid tüüp ka. Kontuuri sümbolit võib alandada, järgides eespool nimetatud reegleid.
  • A IPictureFillSymbol tagastatakse pildi täitmise sümbolina. Server rakendab väljundpildile läbipaistvaid tausta- ja esiplaani värve, kui need on täpsustatud.
  • Kõik muud täitmise sümbolid, sealhulgas mitmekihilised sümbolid, tagastatakse kujul ISimpleFillSymbol omadustega esimesest sümbolist & tagastatakse kihi kiht rsquos & rsquos geomeetria tüüp.
  • MärgistamineKirjeldus tagastatakse osana FeatureLayerDrawingDescription. See atribuut on tühi, kui
    • mis tahes LabelClassis on & ldquoWhereClause & rdquo (ArcMapis nimetatakse seda SQL -päringuteks).
    • kasutatakse täiustatud sildiväljendit.
    • mis tahes LabelClasses sisaldab konversiooni taotlemisel toetamata märksõnu.

      LabelClassDescriptions siltide avaldised saab teisendada MapServeri sildiväljendiks, määrates ConvertLabelExpressions tõele. Teisendatakse ainult siltide avaldised, mis vastavad järgmistele märksõnadele. Toetatud märksõnade loend on järgmine.

    FormatDateTime ([FieldName], NamedFormat)

    • vbGeneralDate
    • vbLongDate
    • vbShortDate
    • vbLongTime
    • vbShortTime

    * pange tähele nende numbrilisi väärtusi
    VB konstandid tagastatakse sellisena, nagu need on

      Punkti silt& rsquos positsioon võib olla üks kaheksast positsioonist punkti ümber. Kui ArcMapis on igale positsioonile seatud kaal, tagastab MapServer positsiooni prioriteediga 1. Näiteks kui sildi positsioon on seatud väärtusele "Eelista paremale paremale, kõik lubatud", naaseb server esriServerPointLabelPlacementAboveRight

    ArcMapis on siltide positsioone piiratud kahe erineva valikuga. Need on loetletud allpool. Loend näitab ka seda, milleks need MapServer teisendab.

    1. Sildi vertikaalne asend
      • Eespool/üleval -& gt esriServerLinePlacementAbove *
      • Joonel -& gt esriServerLinePlacementCenter *
      • All/paremal -& gt esriServerLinePlacementBelow *

    Kui ArcMapis on märgitud rohkem kui üks suvand, annab MapServer eelisjärjekorras need eespool loetletud järjekorras, kui & ldquoStart Point Priorities & rdquo pole selle positsiooni jaoks blokeeritud.

    • Parimal juhul -& gt esriServerLinePlacement * Koos
    • Alguses
      • kui "Enne" on prioriteedil "Alguspunkti prioriteedid" kõrgem, tagastab MapServer esriServerLinePlacement * Enne või esriServerLinePlacement * Start tagastatakse
      • kui "pärast" on "Start Point Priorities" prioriteedis kõrgem, tagastab MapServer esriServerLinePlacement * Pärast või esriServerLinePlacement * End tagastatakse

      Siin on mõned näited:
      Näide#1: kontrollige allolevat ekraanipilti, kus ArcMapis (a) on märgitud "Ülal", (b) "Asukoht joone ääres" on "Alguses" ja (c) "Enne" jaotises "Alguspunkti prioriteedid" on kõrgem prioriteet, MapServer tagastab esriServerLinePlacementAboBefore.

      Näide#2: kontrollige allpool olevat ekraanipilti, kus ArcMapis (a) on märgitud nii positsioonid "joonel" kui ka "allpool", (b) "asukoht piki joont" on "alguses" ja (c) "kell" ja "pärast" "Alguspunkti prioriteetides" on sama kõrgem prioriteet kui "Enne", tagastab MapServer esriServerLinePlacementCenterStart .

      Toote kättesaadavus

      Määranud: getDefaultLayerDrawingDescriptions liideses IMapServer3 Määranud: getDefaultLayerDrawingDescriptions liideses IMapServer4 Parameetrid: mapName - mapName (in) pLayerIDs - viide com.esri.arcgis.system.ILongOrray.ar.exe .arcgis.carto.IServerSymbolOutputOptions (in) Tagastab: viide com.esri.arcgis.carto.ILayerDrawingDescriptions Visked: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      GetMapTableSubtypeInfos

      Märkused

      Kasutage GetMapTableSubtypeInfos, et hankida kaardilt alamtüübi ja domeeniteave kõigi või antud kihtide ja eraldiseisvate tabelite kohta. Funktsioon tagastab IMapTableSubtypeInfos, mis sisaldab kogumit IMapTableSubtypeInfo iga kihi/standardloendi kohta, mille HasSubtype väärtus on True.

      Funktsioon võtab hulga iseseisvaid ja kihtide ID -sid. Kui see parameeter on Nothing/Null, kontrollitakse alatüüpide suhtes kõiki kihte ja standardtabeleid. Kihtide/tabelite puhul, millel pole alamtüüpe, ei tagastatud IMapTableSubtypeInfo. Seetõttu ei pruugi sisend TableID -de arv kokku langeda IMapTableSubtypeInfo tagastatud massiivi arvuga. Tabeli ID abil saate teada, millisesse kihti/tabelisse üks IMapTableSubtypeInfo kuulub.

      IMapTableSubtypeInfo sisaldab teavet kõigi alatüüpide tasemel määratud alatüüpide ja domeenide kohta. Kui väli on nähtamatu, kuigi sellel võib olla alamtüübile määratud domeen, siis selle välja FieldDomainInfo ei tagastata.

      Samuti pange tähele, et alamtüüpi ja domeene ei tagastata ühendatud tabelist.

      Funktsioon tagastab tühja tulemuse, kui kõigi kihtide ja tabelite kõigi CodedValueDomains koodide arv ületab MaxDomainCodeCount. See ei mõjuta DCOM -i kliente.

      Toote kättesaadavus

      Määranud: getMapTableSubtypeInfos liideses IMapServer3 Määratud: getMapTableSubtypeInfos liideses IMapServer4 Parameetrid: mapName - mapName (in) pTableIDs - viide com.esri.arcgis.system.ILongArray (viide) .arcgis.carto.IMapTableSubtypeInfos Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      CreateDataClasses

      Märkused

      GenerateDataClasses on abifunktsioon, mis võimaldab klientidel klassifitseerimismeetodil põhinevaid klasse genereerida või saada üksikult või mitmelt väljalt erinevaid väärtusi. See välistab vajaduse alla laadida kogu andmestik kliendipoolt, et arvutada klassivaheajad või välja selgitada väljalt erinevad väärtused. Kuna tulemuseks on IFeatureRenderer, kasutatakse tulemust peamiselt kihi renderdaja muutmiseks, ilma et oleks vaja juurde pääseda peeneteralistele ArcObjectsitele või taaskäivitada kaarditeenus, lihtsalt helistades jämeda teraga MapServeri funktsiooni. Palun vaadake selle kohta lisateabe saamiseks funktsiooni IMapServer :: ExportMapImage abi.

      Selle funktsiooni tagastatav renderdustüüp sõltub parameetrist DataClassificationDef - näiteks kui IClassBreakDef tüüpi objekt on sisestatud, on tulemuseks ClassBreaksRenderer, kui IUniqueValuesDef edastatakse, saate tagasi UniqueValueRenderer objekti.

      Pange tähele, et kui seda funktsiooni kutsutakse sisse eraldi parameetriga, ei tagasta see tagastatud IFeatureRendereri iga klassi sümbolit, kui pole määratud IDataClassificationDef :: BaseSymbol.

      Saate tagastatud sümboleid tulemuses juhtida, määrates BaseSymbol ja/või ColorRamp. Kui neid pole määratud, tagastab funktsioon sümboli vaikeväärtustega, kui sisendiks on kiht. Vaikimisi ColorRamp on "Roheline kuni sinine". Tagastatud sümboli värv on alati RgbColor.

      See funktsioon järgib määratletud avaldist, mis on seatud päringulauale või -kihile.

      Toimivuse huvides peaksite seda alati käivitama ühendatud tabeli või laua asemel baaslaual või -kihil.

      Toote kättesaadavus

      Määranud :geneDataClasses liideses IMapServer4 Parameetrid: mapName - The mapName (in) pTableDescription - Viide com.esri.arcgis.carto.IMapTableDescription (in) pDataClassificationDef - viide com.esri.arcgis.carto.IDataC (viide) in) Tagastab: viide saidile com.esri.arcgis.carto.IFeatureRenderer Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      QueryRelatedRecords2

      Toote kättesaadavus

      Määranud: queryRelatedRecords2 liideses IMapServer4 Parameetrid: mapName - The mapName (in) pTableDescription - Viide com.esri.arcgis.carto.IMapTableDescription (in) pFID -dele - viide com.esri.arcgis.geodatabase.IFIDS ( in) relateDescription - viide com.esri.arcgis.carto.IRelateDescription (in) Tagastab: viide com.esri.arcgis.carto.IQueryResult Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      QueryRasterValue2

      Toote kättesaadavus

      Määranud: queryRasterValue2 liideses IMapServer4 Parameetrid: mapName - The mapName (in) pTableDescription - Viide com.esri.arcgis.carto.IMapTableDescription (in) rowIDs - Viide com.esri.arcgis.system.ILongArray ( in) fieldName - FieldName (in) rasterValueType - viide com.esri.arcgis.carto.IImageType (in) Tagastab: viide com.esri.arcgis.carto.IImageResults Throws: IOException - kui on olemas interope probleeme. AutomationException - kui ArcObject komponent loob erandi.

      QueryAttachmentInfos2

      Toote kättesaadavus

      Määranud: queryAttachmentInfos2 liideses IMapServer4 Parameetrid: mapName - The mapName (in) pTableDescription - Viide com.esri.arcgis.carto.IMapTableDescription (in) rowIDs - Viide com.esri.arcgis.system.ILongAr ( in) Tagastab: viide com.esri.arcgis.geodatabase.IAttachmentInfoArray Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      QueryAttachmentData2

      Toote kättesaadavus

      Määranud: queryAttachmentData2 liideses IMapServer4 Parameetrid: mapName - The mapName (in) pTableDescription - Viide com.esri.arcgis.carto.IMapTableDescription (in) attachmentIDs - viide com.esri.arcgis.system.ILongAr ( in) transportType - A com.esri.arcgis.system.esriTransportType konstant (in) Tagastab: viide com.esri.arcgis.geodatabase.IAttachmentDataArray Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      PäringHTMLPopups2

      Toote kättesaadavus

      Määranud: queryHTMLPopups2 liideses IMapServer4 Parameetrid: mapName - The mapName (in) pTableDescription - Viide com.esri.arcgis.carto.IMapTableDescription (in) pRowIDs - Viide com.esri.arcgis.system.ILongArray ( in) Tagastab: viide saidile com.esri.arcgis.system.IStringArray Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      GetMapTableSubtypeInfos2

      Toote kättesaadavus

      Määranud: getMapTableSubtypeInfos2 liideses IMapServer4 Parameetrid: mapName - The mapName (in) pLayers - Viide com.esri.arcgis.carto.ILayerDescriptions (in) Tagastab: viide com.esri.arcgis.carto.IMpeTable Thub : IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      QueryDataStatistics

      Märkused

      QueryDataStatistics tagastab kirjekomplekti koos soovitud statistikaga, mis on valikuliselt rühmitatud või/ja tellitud kihi või tabeli välja (de) järgi. Kasutage IStatisticsRequestit, et määratleda, millist tüüpi statistilist teavet soovite tagasi saada ja kuidas soovite tulemust esitada (nt sortida erinevalt või tulemus rühmitada teise välja väärtuste järgi).

      Pange tähele, et enne selle funktsiooni kutsumist peate kontrollima IMapTableInfo2 :: SupportsStatistics, kuna mitte kõik kihtide tüübid või lähteandmebaasid ei toeta seda funktsiooni.

      See funktsioon järgib kihi või tabeli määratlusväljendit. Kui teil on vaja statistikat funktsioonide/ridade komplektist, mis vastab kriteeriumile, saate kasutada funktsiooni IQueryFilter :: WhereClause ja edastada selle parameetrina sellele funktsioonile. Kui QueryFilter parameeter on null, kasutatakse statistika arvutamiseks kõiki funktsioone/ridu (kui määratlusavaldist pole määratud).

      Kui IStatisticDescription :: ResultFieldName pole määratud, kasutatakse automaatselt loodud välja nime.

      Kui on määratud IStatisticRequest :: GroupByFields, arvutatakse statistika iga kordumatu atribuudi väärtuse kohta eraldi. Väljundkirje sisaldab ainult ühte kirjet, kui GroupByFields pole määratud. Kui üks on määratud, on iga GroupByFields väärtuse kohta üks kirje.

      Toote kättesaadavus

      Määranud: queryDataStatistics liideses IMapServer4 Parameetrid: mapName - The mapName (in) pTableDescription - Viide com.esri.arcgis.carto.IMapTableDescription (in) pRequest - Viide com.esri.arcgis.carto.IStatisticsRequest ( in) pQueryFilter - viide saidile com.esri.arcgis.geodatabase.IQueryFilter (in) Tagastab: viide com.esri.arcgis.geodatabase.IRecordSet Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      GetLegendInfo2

      Toote kättesaadavus

      Määranud: getLegendInfo2 liideses IMapServer4 Parameetrid: pMapDescription - Viide com.esri.arcgis.carto.IMapDescription (in) pImageDisplay - Viide com.esri.arcgis.carto.IImageDisplay (in) layerIds - viide a com.esri.arcgis.system.ILongArray (in) patch - Viide com.esri.arcgis.carto.IMapServerLegendPatch (in) imgType - viide com.esri.arcgis.carto.IImageType (in) Returns : Viide saidile com.esri.arcgis.carto.IMapServerLegendInfos Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      IsFixedScaleMap

      Märkused

      Selle meetodi abil saate kindlaks teha, kas kaarditeenus on vahemällu salvestatud. Termineid fikseeritud skaalal kaarditeenus ja vahemällu salvestatud kaarditeenus kasutatakse API -s sünonüümidena. Fikseeritud skaalal kaarditeenus töötab piltide vahemäluga, mis kujutavad eelnevalt renderdatud paane kas kogu kaarditeenuse või kaarditeenuse üksikute kihtide jaoks.

      Toote kättesaadavus

      Määranud: isFixedScaleMap liideses ITiledMapServer Parameetrid: mapName - The mapName (in) Tagastab: pIsFixedScaleMap Viskab: IOException - kui on olemas koostööprobleemid. AutomationException - kui ArcObject komponent loob erandi.

      HasSingleFusedMapCache

      Märkused

      Selle meetodi abil saate kindlaks teha, kas vahemällu salvestatud kaarditeenusel on üks sulatatud kaardi vahemälu.

      Toote kättesaadavus

      Määranud: hasSingleFusedMapCache liideses ITiledMapServer Parameetrid: mapName - The mapName (in) Tagastab: pHasCache viskab: IOException - kui on probleeme interaktsiooniga. AutomationException - kui ArcObject komponent loob erandi.

      GetTileCacheInfo

      Märkused

      TileCacheInfo objekt sisaldab teavet vahemälu plaatimisskeemi kohta. Plaatimisskeem hõlmab plaatimise päritolu, ruumilist viidet, plaatide suurust pikslites ja teavet üksikasjade kohta, mille puhul teenus vahemällu salvestatakse.

      LODInfos loetleb LODInfo objekti, mis kirjeldab skaalat ja resolutoni.

      Kasutades TileCacheInfo objekti plaatimisskeemi teavet, saab klient arvutada plaadid, mis hõlmavad kaardiruumis mis tahes ristkülikukujulist ulatust, ja seejärel alla laadida plaadid kas otse virtuaalsest kataloogist või plaatide käitlejast või esitades kaarditeenuse vastu GetMapTile või GetLayerTile päringuid. .

      Toote kättesaadavus

      Määranud: getTileCacheInfo liideses ITiledMapServer Parameetrid: mapName - The mapName (in) Tagastab: viide com.esri.arcgis.carto.ITileCacheInfo Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      GetMapTile

      Märkused

      See kõne saab määratud paani kaarditeenusest, millel on üks sulatatud vahemälu. GetMapTile tagastab paani ainult siis, kui vahemälu luuakse PNG -vormingus. Kui TileImageInfo -s määratud vahemälu vorming ei ole PNG, peaks klient kasutama GetMapTileEx.

      Toote kättesaadavus

      Määranud: getMapTile liideses ITiledMapServer Parameetrid: mapName - MapName (in) tase - Level (in) rida - Rea (in) veerg - veerg (in) Tagastab: Allkirjastamata bait Viskab: IOException - Kui on interope probleeme. AutomationException - kui ArcObject komponent loob erandi.

      HasLayerCache

      Märkused

      Selle meetodi abil saate teada, kas mitme kihi vahemäluga kaarditeenuse teatud kiht on vahemällu salvestatud või mitte. Kui IsFixedScaleMap on tõene ja HasSingleFusedMapCache on vale, on kaarditeenusel mitmekihiline vahemälu, mis koosneb üksikutest kihtide vahemäludest. Sellise kaarditeenuse kõiki kihte ei pea vahemällu salvestama.

      Toote kättesaadavus

      Määranud: hasLayerCache liideses ITiledMapServer Parameetrid: mapName - mapName (in) layerID - layerID (in) Tagastab: pHasCache viskab: IOException - kui on olemas koostööprobleemid. AutomationException - kui ArcObject komponent loob erandi.

      GetLayerTile

      Märkused

      See kõne saab määratud paani määratud kihist kaarditeenuse jaoks, millel on mitmekihiline vahemälu. GetLayerTile meetod tagastab paani ainult siis, kui vahemälu luuakse PNG -vormingus. Kui TileImageInfo -s määratud vahemälu vorming ei ole PNG, peaks klient kasutama GetLayerTileEx.

      Toote kättesaadavus

      Määranud: getLayerTile liideses ITiledMapServer Parameetrid: mapName - The mapName (in) layerID - layerID (in) tase - Level (in) rida - rea (veerg) veerg - veerg (in) Tagastab: allkirjastamata baitvise : IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      GetVirtualCacheDirectory

      Märkused

      See kõne toob välja virtuaalse kataloogi, mis majutab selle kaarditeenuse vahemälu paane. Kasutage kihtidena -1, et hankida kaarditeenuse virtuaalne vahemälu kataloog, millel on üks sulatatud vahemälu. See on valikuline atribuut ja see ei pruugi alati olemas olla, näiteks turvalises serveris või tellitavas serveris. Kui see on olemas, on see kliendile eelistatud (kõige optimaalsem) viis plaatide hankimiseks.

      Toote kättesaadavus

      Määranud: getVirtualCacheDirectory liideses ITiledMapServer Parameetrid: mapName - The mapName (in) layerID - layerID (in) Tagastab: PURL Viskab: IOException - kui esineb ühistöö probleeme. AutomationException - kui ArcObject komponent loob erandi.

      GetCacheName

      Toote kättesaadavus

      Määranud: getCacheName liideses ITiledMapServer Parameetrid: mapName - mapName (in) layerID - layerID (in) Tagastab: The pURL Throws: IOException - kui esineb koostalitusprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      GetMapTileEx

      Märkused

      See kõne saab määratud paani kaarditeenusest, millel on üks sulatatud vahemälu.

      Toote kättesaadavus

      Määranud: getMapTileEx liideses ITiledMapServer2 Parameetrid: mapName - MapName (in) tase - Level (in) rida - Rea (in) veerg - Veerg (in) cacheFormat - CacheFormat (in) Tagastab: allkirjastamata baidivisked : IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      GetLayerTileEx

      Märkused

      See kõne saab määratud paani määratud kihist kaarditeenuse jaoks, millel on mitmekihiline vahemälu.

      Toote kättesaadavus

      Määratud: getLayerTileEx liideses ITiledMapServer2 Parameetrid: mapName - The mapName (in) layerID - layerID (in) tase - Level (in) rida - rea (in) veerg - veerg (in) cacheFormat - cacheFormat (in ) Tagastab: allkirjastamata bait Viskab: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      GetTileImageInfo

      Märkused

      GetTileIMageInfo tagastab teabe, mis kirjeldab vahemällu salvestatud plaatide pildivormingut. TileImageInfo -l on kaks peamist omadust - vorming ja tihenduskvaliteet. Vormingul võivad olla väärtused (PNG8, PNG24, PNG32 ja JPEG). Kui valitud vorming on JPEG, võib tihenduskvaliteedi väärtus olla vahemikus 0 kuni 100. Plaadi URL -i koostamisel tuleb kasutada vormingu väärtust.

      Toote kättesaadavus

      Määranud: getTileImageInfo liideses ITiledMapServer2 Parameetrid: mapName - The mapName (in) Tagastab: viide com.esri.arcgis.carto.ITileImageInfo Viskab: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      GetCacheDescriptionInfo

      Märkused

      GetCacheDescriptionInfo tagastab ühe kõnega vahemällu salvestatud kaarditeenuse teabe, sealhulgas selle vahemälu tüübi, selle plaatimisskeemi (TileCacheInfo), pilditeabe (TileImageInfo) ja juhtteabe (TileControlInfo). Vahemälu kirjeldus sisaldab ka massiivi kihtide vahemälu teavet, mille abil saab määrata, kas konkreetsel kihil on vahemälu, kui kaarditeenused on mitmekihilised.

      Toote kättesaadavus

      Määranud: getCacheDescriptionInfo liideses ITiledMapServer2 Parameetrid: mapName - The mapName (in) Tagastab: viide com.esri.arcgis.carto.ICacheDescriptionInfo Throws: IOException - kui esineb interaktsiooniprobleeme. AutomationException - kui ArcObject komponent loob erandi.

      GetCacheControlInfo

      Märkused

      Tagastab vahemälu juhtimise teabe, mis võimaldab klientidel avastada teavet, näiteks kui kliendi vahemällu salvestamine on lubatud.


      Tagasiväärtus

      See meetod tagastab kaardifunktsioonide kirjed, mis vastavad QueryResult objekti antud päringufiltri parameetritele. Tagastatud objekti vormingu määrab Vorming vara QueryResultOptions parameeter, QueryResultOptions objekt. See vorming võib olla kihi jaoks kirje, KML, JSON või AMF. Pange tähele, et eraldiseisva tabeli tulemuste vorming on piiratud ainult kirjete kogumiga.

      KML (Keyhole Markup Language), JSON (JavaScript Object Notation) või AMF (Action Message Format) puhul saab tulemuse URL -ina tagasi saata (kui QueryResultOptions. Vorming on "esriQueryResultKMLAsURL") või MIME -objektina (kui QueryResultOptions.Format on "esriQueryResultKMLAsMime"). KML tagastatakse tihendatud KMZ -vormingus.

      Kui "esriQueryResultRecordSetAsObject" on valitud kui QueryResultOptions.Format, tagastab funktsioon RecordSet objekti.


      Funktsiooniklassi sümboliseerimine, kasutades seotud tabeliväärtusi

      autor AndresCastillo

      Ma hargnen sellest teemast:

      Mul on kaevude ülevaatus fc, mis on seotud kontrolliajaloo tabeliga, kasutades vanema välja „GlobalID” (teise nimega gid)/ ja lapse välja „Parent guid” üks kuni mitu suhet,
      ja tabelis on manused, mis kasutavad gid/Parent guid.

      Proovin sümboliseerida vanemfunktsioonide klassi, mis põhineb alamtabeli väljadel.

      Siiani olen proovinud kahte meetodit:

      1.
      Proovisin sql -skripti FC -st arcmap -is, kasutades seda määratluspäringut:
      VALI * FROM ssManholeInspections KUS:
      GlobalID IN (SELECT ParentGUID from ssManholeInspectionsHistory)

      Mõlemal juhul tagastatakse alles esimene vastav kirje, mis on vale.

      Tundub, et saan kuvada ainult viimast kirjet (näiteks 1: 1 liitumine), seega peaksin määratluspäringusse lisama võimaluse valida viimase kontrollimise kuupäeva (mida värskendatakse redaktori jälgimise loomise kuupäeva välja abil) , nimega „InsStart” koos andmetüübiga Kuupäev) ainulaadse välisvõtme (vanem GUID) kohta.

      Ma arvan, et õige päring peaks andma ka 4292 kirjet, kuid see peaks tagastama kirjed, millel on viimane kontrollkuupäev ParentGUID -i kohta, selle asemel, et naasta ainult esimene vastav kirje.

      Eeldatava arvu kontrollimiseks kasutasin kokkuvõtliku statistika tööriista maksimaalse kuupäeva, juhtumivälja juhendi kohta.

      See andis mulle vajaliku 4292 kirje.

      Ometi on see staatiline ja ma tahaksin näha neid kirjeid reaalajas andmete redigeerimisel.

      Need teemad räägivad ka minu küsimusest, kuid sooviksin abi selle konteksti panemiseks.

      autor AndresCastillo

      Lisatud on lahendus Wordi dokumendina

      (Manuse nägemiseks vaadake seda õiget vastust selle teema kontekstis)

      Pange tähele, et seal on 17 lehte.

      Alternatiivina minu Wordi dokumendile, mis kasutab ArcGIS -serverit, ESRI Paul Barker

      räägib meile, kuidas seda lahendada ArcGIS -ile tuginedes.

      Siin on veel üks alternatiiv:

      Küsimuste korral andke mulle teada.

      autor AndresCastillo

      SQL Management Studio abil loodi järgmine:

      Loo andmebaasivaate gp tööriist

      Vaate registreerimine geoandmebaasis:

      Luba redigeerimisõigused

      Minu mure on see, et ma pigem ei loo andmebaasivaadet, kuna kuulsin, et see aeglustab jõudlust.

      Kui pean kasutama vaadet, siis võin seda kasutada vahendajana, kes laadib/kirjutab värskendatud andmed iga päev tabelisse, millel on sama skeem kui vaates.

      See muudab andmed iga päev staatiliseks

      Selle kohta lisateabe saamiseks lugege seda postitust, millesse panustasin:

      Ma pigem loon kaarkaardi kihi atribuutidesse definitsioonipäringu, sest siis ma usun, et see oleks alamlaua reaalajas päring, mida saaksin seejärel sümboliseerimiseks otse põhifunktsioonide klassiga liituda.

      autor AndresCastillo

      Selle dokumentatsiooni põhjal sain teada, et alampäringute kasutamine on piiratud:

      Alampäringud, mis täidetakse versiooniga ArcSDE funktsiooniklasside ja -tabelitega, ei tagasta delta -tabelitesse salvestatud funktsioone.

      Tabeli iga kirje puhul võib alampäring vaja sõeluda kõik sihttabeli andmed. Suure andmekogumi täitmine võib olla äärmiselt aeglane.

      Hakkasin kasutama alampäringuid, et määrata kaardi kaardil alamlauale määratluspäring, et valida uusim kontrollikirje ID kohta.

      See kolmas päring tundub, nagu see peaks töötama, kuid mul pole õnnestunud sealt soovitud kirjeid saada.

      Esimesed kaks alampäringut tagasid minu jaoks soovitud kirjed, kuid kui ma liitusin päringute alamtabeliga vanemfunktsioonide klassiga, kasutades unikaalse identifikaatorina välja 'globaalne id' ja alamvälja 'ParentGUID', see veateade liitumise valideerimise aruandest:

      Liitumiseks sobivate kirjete arv:
      - Ilmnes ootamatu viga.
      - Ei leitud vasteid, kui liitute [GlobalID] & ltSanitary.SDE.ssManholeInspections & gt ja [ParentGUID] & ltSanitary.SDE.ssManholeInspectionsHistory & gt.

      Teen väga sarnast töövoogu ja lahendasin selle SQL -i vaate abil. Liidan oma MH -d oma kontrollidega ja selleks, et tagastada viimane ülevaatus (kuupäeva järgi) seotud tabelis, kasutan funktsiooni MAX. Minu arvates arvutan ka iga MH kontrollide koguarvu ja viimase kontrolli vanuse.

      , MAX (inspektsioonid. CREATEDON) AS Last_Inspection
      , COUNT (*) AS Number_Ipspections

      , DATEDIFF (DAY, a. CREATEDON, GETDATE ()) + 1 ASSPAGEDAYS

      autor AndresCastillo

      Ma pole päris kindel, mida sa mõtled.

      Kas saate oma SQL -skripti mulle selgitada ja lahti murda?

      Kas telefoni teel oleks lihtsam selgitada?

      @ Andres Castillo Kas olete kunagi suutnud sellele lahenduse välja mõelda? Mul sama küsimus.

      autor AndresCastillo

      Vabandan vastuse viibimise pärast.

      Pean seda teemat lahendusega värskendama.

      Pean korraldama oma dokumentatsiooni tundliku teabe eemaldamiseks, et saaksin seda jagada.

      Vahepeal saame privaatse sõnumi kaudu tutvuda.

      autor AndresCastillo

      Lisatud on lahendus Wordi dokumendina

      (Manuse nägemiseks vaadake seda õiget vastust selle teema kontekstis)

      Pange tähele, et seal on 17 lehte.

      Alternatiivina minu Wordi dokumendile, mis kasutab ArcGIS -serverit, ESRI Paul Barker

      räägib meile, kuidas seda lahendada ArcGIS -ile tuginedes.

      Siin on veel üks alternatiiv:

      Küsimuste korral andke mulle teada.

      Olen sarnases olukorras. Mul on funktsiooniteenus koos sellega seotud kirjega ja soovin oma funktsiooni sümboliseerida, kasutades seotud tabeli uusimat kirjet mitte hetktõmmise, vaid reaalajas.

      Ma hindan tõesti teie abi.

      Mul on sama küsimus, kuid lisatud "kui" tingimus. Mul on kaevud. Tegelikult on see kanalisatsioonikonstruktsioonid ja mõned funktsioonid on pumbajaamad, mõned kaevukaevud. Nii et ma tahan selles funktsiooniklassis näha ainult kaevukaevusid. Ja ma tahan ühendada sellega seotud ManholeInspection tabeli inspekteerimised sellega ja säilitada kõik funktsiooniklassi funktsioonid (sewerStructures left join to ManholeInspections), nii et isegi kontrollimata luugid hoitakse alles. Esiteks on küsimus selles, et see hoiab juhuslikult alles esimest rekordit. Ma tahan kõiki kontrolle.

      Aga..Soovin ka kihti, mis näitab ainult IF-kontrolli, kus atribuut 'NASSCO' = Jah (see on jah/ei atribuut) ja sellest soovin ainult kõige uuemat, sest soovin tõelist NASSCO-ga kontrollitud kaevude arvu. Seega ei tahaks ma neid üksteise peale laduda, kui neid oleks NASSCO -s mitu korda kontrollitud. Nii et ma tahaksin lihtsalt MAX kuupäeva. Et tagada vaid üks rekord.

      Niisiis, kõige keerulisem küsimus on. Kuva kaevukaevud, mida sümboliseerivad seotud andmed, kuid ainult siis, kui konkreetne atribuut on tõene. Mul on SQL Server 2017 ja ArcSDE 10.7.1 koos ArcMap 10.7.1 ja uusima Proga. Mõtted kõik? Kas seda saab teha ArcMap definitsioonipäringus koos alampäringuga või SQL -i vaate ja definitsioonipäringu kombinatsiooniga? Lõppkokkuvõttes kasutatakse seda juhtpaneelide ja jälgimiste kuvamiseks nii selle kui ka teiste andmekogumite sarnase stsenaariumi korral.

      Tahaksin märkida, et see on AGOL -is lihtne olnud, saate valida, millist kirjet liites hoida ja millise välja järgi. Pole kindel, miks nad jätavad selle võimsa olulise aspekti töölaua/Pro liitumisloogika välja. Kõik, mida saate teha, on säilitada kõik andmed või hoida vastavust. Kuid pole valikut, mida valida, kui üks-mitmele ja mitu tabamust on.

      Ma arvasin, et saan lihtsalt teha vaate, ühendades kaevud ja kontrollid, seejärel ArcMapis teha selle kohta päringu NASSCO = True ja seejärel liituda ArcMapis algse funktsiooniklassiga. Ei mingit täringut. Probleem on selles, et kuna sellel on määratluspäring, järgib see liitumist ja alistab selle. Ja oletame, et seal on 2000 kaevu, kuid ainult 6, mis vastavad NASSCO -le = tõsi. Niipea kui liitun vaatega FC -ga, millel on Def Query vaade, isegi kui ma ütlen Keep All Records, tundub, et seda ei järgita, Def Query järgib seda ja alistab selle ning saate ainult 6 kirjet. Ma lootsin, et kõikidel FC ridadel, välja arvatud need 6 rida, on seotud asjade jaoks toorikud. (teisisõnu, 1994 rida, kus seotud andmed on tühjad, oleksid need 6 rida seotud andmetega). Ma arvan, et see tuleb SQL -is täielikult ära teha, kuna tundub, et SQL on ArcMapis piiratud, samuti liitumised ja nendega seotud andmetega töötamine. Näiteks tabasin teist piirangut, püüdes lihtsalt näidata kõige värskemat rekordit MAX Dataga. Tundub, et ArcGIS ei saa MAX kuupäeva teha.


      Sobimatu SQL-avalduse tõrge faili-geoandmebaasi tabeli kuupäevavälja pärimisel arkoobjektidega-geograafilised infosüsteemid

      Tööruum on ruumiliste ja mitte-ruumiliste andmekogumite, näiteks funktsiooniklasside, rastrite andmekogumite ja tabelite konteiner. See pakub meetodeid olemasolevate andmekogumite kiirendamiseks ja uute andmekogumite loomiseks. Tööruumid liigitatakse esriWorkspaceType loendaja FileSystemWorkspace, LocalDatabaseWorkspace ja RemoteDatabaseWorkspace määratud tüüpideks. Shapefiles ja ArcGIS for Desktop Advanced tööruumid on näited FileSystemWorkspace'ist. Accessi või faili geoandmebaasi salvestatud isiklik geobaas on näide LocalDatabaseWorkspace'ist. RDBMS -i (nt Oracle, DB2, SqlServer või Informix) salvestatud geoandmebaas, millele pääseb juurde ArcSDE kaudu, on RemoteDatabaseWorkspace näide.

      Tööruum jagab atribuudi FullName väärtuseks WorkspaceName nimeobjekti. Tööruumi tööruumi nime saab säilitada näiteks kaardidokumendis. Rakendus võib pärast alalisest salvestusruumist laadimist kutsuda tööruumi nimele avatud meetodi, et luua ühendus ja saada tööruumiga objekti viide.


      Ruumilise andmebaasi kasutamine

      Oleme kindlaks teinud, et ettevõtte andmebaasitarkvara on suurepärane ja seda saab ruumiliselt lubada ruumiandmete salvestamiseks ning see sisaldab tavaliselt mõningaid erifunktsioone ruumiandmete keerukusega tegelemiseks. Aga kuidas neid tegelikult kasutada? Vaatleme järgmist näidet, kus meil on kotkapesade andmete kogum, mis on liigitatud aktiivseteks (rohelisteks) ja mitteaktiivseteks (oranžideks) pesadeks.

      Kui soovisime luua kihi, mis sisaldab puhvreid ainult töölaua GIS -tarkvara aktiivsete pesade ümber, peaksime esmalt valima aktiivsed pesad ja seejärel käivitama geotöötlustööriista, et luua teine ​​puhverpolügoonide kiht, mis loob kettale teise faili. Ruumiliselt lubatud andmebaasi abil saame luua SQL -päringul põhineva kihi, kasutades funktsiooni ST_Buffer koos järgmise SQL -lausega.

      SELECT nest_id, status, st_buffer (geomeetria, 0,01) FROM bald_eagle_nests WHERE staatus = ’AKTIIVNE PESA ’

      Funktsioon st_buffer võtab sisendgeomeetria ja puhverdistantsi, antud juhul 0,01 kraadi (kuna andmed salvestatakse geograafilistes koordinaatides), ja tagastab hulknurga geomeetria, mis kujutab punkti ümber olevat puhvrit.

      Siiani ei tundu tavaline lauaarvutitarkvara sellega võrreldes nii kohutav. Tõenäoliselt saate oma tulemused esimesel korral peaaegu sama kiiresti. Aga mis siis, kui soovite ka teist kihti, mis näitab mitteaktiivsete pesade ümber väiksemat puhvrit? Töölaua GIS -tarkvaraga peate uuesti läbi tegema samad toimingud, kuid SQL -i abil saate lihtsalt muuta puhverfunktsiooni ja kus -klauslit ning seda uuesti täita.

      Aga mis siis, kui üks teie välitöötajatest teatab, et üks mitteaktiivsetest pesadest on aktiveerunud. Lauaarvutitarkvara puhul peate kõik toimingud uuesti läbi tegema, luues iga kord uusi faile, kustutades vanad failid, veendudes, et kõik kaardid kajastavad uusi andmeid jne. SQL -iga saate aga lihtsalt käivitada päringuid uuesti, kaardivaadet värskendades, ilma et oleks vaja kettale uusi faile luua. Tegelikult võivad ettevõtte andmebaasi korral teie välitöötajad muuta pesa olekut selle valdkonna mobiilseadmest, mis uuendaks andmebaasi andmeid reaalajas. Kui te oma päringu uuesti käivitasite, peegeldaks see neid muudatusi isegi enne, kui teie välitöötajad kontorisse naasevad, ilma et keegi peaks midagi tegema ja teie arvutisse poleks vaja luua vahefaile.

      Vaatame nüüd veidi keerulisemat näidet. Arvestage, et teil on klient, kes ehitab selles piirkonnas torujuhtmeid ja ta peab jääma selle peale, mille torujuhtmed asuvad teatud kaugusel aktiivsetest kotkaste pesadest, et vältida kotkaste häirimist. Kuid on kevadine aeg ja kotkad ehitavad uusi pesasid ja hülgavad vanad pesad ning teie klient tegeleb uute torujuhtmete ehitamisega ja vanade viimistlemisega. Teil on mõned välitöötajad, kes jälgivad kotkaste pesasid pidevalt, ja teised välitöötajad, kes uurivad uusi torujuhtmete trasse ja andmed muutuvad pidevalt. See on väga dünaamiline keskkond ja teie klient vajab reaalajas täpset teavet. Vanas töölaua GIS -i paradigmas peaksid teie välitöötajad kontorisse naasma ja muudatused sisestama, te peaksite tegema mitmeid toiminguid, et luua uus andmekogum, mis näitab ainult kotkaste pesade lähedal asuvaid torujuhtmeid, ja siis peaksite oma kliendile saatmiseks kaardi uuendama.

      Uues ruumiandmebaasi paradigmas saate pakkuda oma kliendile veebiliidest, mis näitas täpselt, millised torujuhtmed olid kotkapesade lähedal. Nad said avada veebiliidese ja omada vajalikku teavet reaalajas, kuna teie töötajad värskendasid andmeid. Tegelikult poleks selle konkreetse kasutusjuhtumi puhul kellelgi vajadust isegi töölaua GIS -i perioodi avada. Seda teavet annaks järgmine SQL -päring.

      SELECT e.nest_id, e.status, p.project, p.type, ST_Distance (e.geometry, p.geometry) dist, p.geometry FROM linear_projects Nagu p LEFT JOIN bald_eagle_nests as e ON ST_DWithin (e.geometry, p .geomeetria, 0.01) KUS e.status = ’AKTIIVNE PESA ’ JA p.type = ’Toru ’ TELLI P.project, dist

      See päring ühendab bald_eagle_nests tabeli (teise nimega e) tabeliga linear_projects (teise nimega p). Kuna tegemist on kahe omavahel ühendatud tabeliga, peame lisama kõikidele väljade nimedele tabeli nime (või varjunime).

      Pange tähele ka seda, et me kasutame funktsiooni ST_Distance, et arvutada kahe geomeetria vaheline kaugus ja et tabelid on ühendatud mitte ühise välja alusel, mida neil pole, vaid ruumilise seose alusel. Sel juhul määrab ruumilise seose funktsioon ST_DWithin, mis tagastab tõese, kui kaks geomeetriat asuvad teineteisest määratud kaugusel. Selle päringu väljundiks võib olla tabel, milles on loetletud torujuhtmed, mida aktiivne kotkapesa praegu mõjutab.

      Või saab väljundit kaardil vaadata. Sel juhul kuvatakse need QGIS -is punaselt, kuid sama hõlpsalt saab seda turvalise veebiliidese kaudu eemalt vaadata.

      On selge, et see on vaid jäämäe tipp, kui rääkida sellest, mis on ruumiliselt lubatud andmebaasidega võimalik. Loodetavasti stimuleeris see postitus vähemalt teie mõtlemist. Kui soovite õppida, kuidas alustada TÄNA, töötades ruumiliselt lubatud andmebaasidega tasuta QGIS -is koos SpatiaLite'iga, lugege palun selle postituse II osa QGIS -i ja SpatiaLite'i ruumiandmebaaside kiire algus.


      Neljapäeval, 30. mail 2019

      Statistika - erinevad mudelid, erinevad kontuurid: kas need on võrreldavad?

      Ma saan elektriliinide ümber elektromagnetvälja tugevusega kontuurjooned. Kontuurid arvutavad välja erinevad ametid, kasutades erinevaid mudeleid. Peame kontrollima, kas sellest tulenevad tsoonid (x meeter elektriliinist) elektriliinide ümber on mudelite/asutuste vahel sarnased. Kuldstandardit pole, sest maapinnal ei ole võimalik väljatugevust tegelikult mõõta. Lisaks ei ole tsoon lihtsalt sirgjoon, sest mõnes olukorras ristuvad või lähenevad teineteisele kaks elektriliini ja me oleme nendest kõrvalekalduvatest olukordadest kõige rohkem huvitatud. Kas GIS -is on võimalik modelleerimise tulemusi (hulkjooni/kontuure) omavahel võrrelda?

      Postgis - kuidas klõpsata kaks sirget tippu kahes erinevas kihis, mida kasutatakse QGIS -is

      Ma tahan kahe erineva kihi (Layer1 pruunis ja Layer 2 (postGIS kiht) roosa värvi-) kahe polü-joone vahel klõpsata, kuid minu kinnitusvalik ei tööta. Olen muutnud tolerantsi erinevatele tasemetele, kuid tulemusi pole veel saavutatud.

      Ma ei saa aru, et magenta + märk ilmuks tippude lähedusse napsutamiseks, nagu paljud seda võrgus ütlevad.

      Millist tööriista klõpsamiseks kasutati? Ma tean ainult "sõlme tööriista", mis ei tööta.

      Olen määranud mõlemad kihid redigeeritavaks (redigeerimise komplekt: ON)

      Kas seal on paremaid pistikprogramme (olen proovinud paljusid saadaolevaid)?

      Palun andke mulle soovitusi, kuna olen QGISis algaja.

      Esimesel pildil pole valikuid „Luba haaramine”. Tehke seaded, nagu allpool näidatud:

      R - Scatterplot'i loomine punktide asemel ikoonidega (svg või png)?

      Alustan alles tähega R ja tahtsin teada, kas on võimalik luua punktide asemel kohandatud ikoonidega (svg või png) hajumisplokk.

      Hakkasin vormifaili importima ja siis on mul punktide komplekt (laius- ja pikkuskraad), mis tähistab ikoonide asukohta.

      rasterImage joonistab rasterpildi etteantud asukohas ja suuruses.

      Allpool on väga karm näide, mida saate loodetavasti oma vajadustele kohandada. (Ma koostasin mõned asukohapunktid, ilmselt peaksite oma omad kasutama.)

      Faili geoandmebaasi api osx mavericksis pruulitud gdali kaudu

      Mul on uus OSX 10.9 installitud uus masin ja mul on probleeme esri faili geoandmebaasi api töötamisega minu valmistatud gdaliga.

      Olen proovinud John Tulli märgitud lahendust:

      See aitab -ogr2info --formats kuvab nüüd FileGDB kehtiva vorminguna. Ogr2info käivitamine kehtival failil fail annab aga sellise tõrke:

      Kas teil on aimu, mida ma valesti teen? Proovisin eemaldada kõik gdal-sõltuvused ja lasta homebrew'l need uuesti installida, kui helistasin brew install gdal -c "gcc-49" lipuga, kuid see ei muutnud midagi.

      redigeeri - nüüd näen, et sellel teemal on siin juba niit Homebrew OGR koos FGDB toega OSX 10.9 -s

      Geoserver - kas WMS -i kihi laadimine välisest serverist lehte?

      Proovin kasutada siin voldikute kaardil dokumenteeritud WMS -teenust. Dokumentatsioon näitab näidet avatud kihtide jaoks:

      aga ma tahan seda kasutada koos infolehega. Minu enda WMS -i hostitud kihid töötavad hästi järgmise süntaksiga:

      Pärast seda, kui olin mitu minutit oodanud sedac.ciesen.colombia.edu, kuvatakse ressursi 400 laadimine nurjus: server vastas olekuga 400 (halb taotlus)

      Kas on võimalik serverit pingutada, et teada saada, kas see töötab? Aga versioon, eeldan, et see viitab geoserverile. Kuidas ma tean, millist versiooni nad töötavad? Kas mul on muid parameetreid puudu?

      Uue WMS -i uurimisel peaksite alustamiseks alati esitama päringu getcapablities - see annab teile igasugust kasulikku teavet (sh kui server töötab). Nii et kõigepealt proovime

      mis vastab xml -dokumendiga - nii et server on üleval, avades faili, millega see algab

      seega peaksite ilmselt küsima versiooni 1.1.1

      kihi nime otsimine annab mulle:

      nii et saate kaarte taotleda ainult vormingus epsg: 4326 või epsg: 900913 - te pole näidanud mulle piisavalt koodi, et näha, millist projektsiooni te kasutate.

      Lõpuks otsige firebugist (või mõnest muust silurist), et näha, milline URL on taotletav, ja proovige see brauseris avada - võib -olla tagastatakse veateade?

      Kasutades lihtsat matemaatikat SLD -failis Geoserveris?

      Kas Geoserveris saab SLD -failis kasutada lihtsat matemaatikat? Oletame, et tahan lugeda andmebaasist teksti suurusega atribuuti ja korrutada selle väärtust, kuidas seda teha?

      See lihtne lähenemine ilmselgelt ei tööta, seega arvasin, et selle saavutamiseks peab olema mingi võimalus.

      Atribuutidel lihtsate matemaatikate tegemiseks saate kasutada matemaatikafunktsioone ogc: Mul ogc: Div ogc: Add & ogc: Sub.

      Nii et teie näide oleks järgmine:

      Ainus probleem on see, et tehniliselt ei pruugi SLD spetsifikatsioon lubada teil funktsiooni CssParameter kasutada. Kuid GeoServer on palju andestavam ja lubab seda.

      Kui vajate kunagi keerukamaid funktsioone, vaadake võrdluslehte.


      1 Vastus 1

      Usun, et see juhtub seetõttu, et kasutate oma andmete toomiseks kursoreid, olin oma minevikus kohanud sama käitumist. Soovitan teil päringu tegemiseks kasutada lihtsaid SQL -lauseid. Kasutage seda pseudo python koodi. Kui olete tulemuste komplekti kätte saanud, saate tulemuste komplekti läbi korrata ja CSV -sse salvestada.

      Nüüd, kui tulemus on seatud tavalisse vormingusse, saate kirjutamisoperatsiooni teha palju kiiremini.
      .
      ArcSDESQLExecute

      Lihtne andmebaasi kursor ei ole versiooniteadlik, nii et teie vastus peaks seda mainima. Pythoni kood on üsna lihtne, nii et C# näite esitamine tundub segane.