Viac

Vytváranie obrázkov JPEG výstupu geoprocesingu pomocou ArcObjects?

Vytváranie obrázkov JPEG výstupu geoprocesingu pomocou ArcObjects?


Bežím dávkové spracovanie na niekoľkých množinách údajov pomocou samostatného EXE napísaného v .NET. Pre každú množinu údajov existuje veľa výstupných súborov (> 25 tried / rastrov). Pre každú množinu údajov by som chcel získať niekoľko konkrétnych výstupov a vytvoriť z nich obrázky JPEG pre jednoduchú kontrolu kvality. V ideálnom prípade by som skombinoval niekoľko tried funkcií dohromady a vytvoril by som obraz kombinácie, akoby som exportoval obrázok niekoľkých vrstiev, ako to môžete urobiť pomocou používateľského rozhrania Arc. Predstavujem si, že k tomu bude potrebných niekoľko krokov - môže ma niekto nasmerovať správnym smerom?

Kvôli jednoduchosti môžete predpokladať, že mám úplnú cestu k súborom, ktoré chcem, ktoré sú uložené vo FGDB na jednotke. Od najväčšej z nich môžem odvodiť aj približný rozsah týchto tried funkcií, takže môžem nastaviť rozsah zobrazenia.

Napríklad:

Práve som spustil rozšírenie a vytvoril som sériu výstupných súborov, ktoré sú uložené v FGDB. Všetky tieto triedy / rastre pokrývajú rovnakú diskrétnu oblasť a sú premietané.

Výstupy (kvôli zjednodušeniu):

1) DEM oblasti (predstavuje celý rozsah).

2) Cestná sieť Polyline.

3) Stopy mnohouholníka.

4) Bodová trieda prvkov predstavujúca kryty prielezov.

Čo treba dosiahnuť:

Skombinujte všetky súbory v správnom poradí (triedy funkcií nad DEM) a uložte súbor JPEG.

ÚPRAVA:

Moje rozšírenie funguje ako EXE (nie ako panel s nástrojmi) a v skutočnosti neotvára Arc UI - iba spotrebúva licencie a robí spracovanie na pozadí. Mám teda prístup k ActiveView, ak som „nespustil“ používateľské rozhranie? V podstate nemám TOC na vyplnenie vrstvami.


Ak používate ArcObjects na pridanie a usporiadanie poradia vrstiev v ArcMap TOC, najskôr by som vyhľadal konkrétne názvy, ktoré chcete exportovať ako skupina. Potom vypnite všetky vrstvy okrem tých, ktoré chcete exportovať napr.

'Vyhľadajte MyLayer1 a MyLayer2 v ArcMap TOC Dim pFLayer As IFeatureLayer = Nič Dim pLayer Ako ILayer Dim pEnumLayer Ako IEnumLayer m_pMap2 = m_pMxDoc2.ActiveView.FocusMap pEnumLayer = p_EmLayer = p_EmLayer = m_pMaper = "MyLayer1" A pLayer.Name = "MyLayer2" Potom TurnOffLayers () ExportActiveView () Elit Exit Sub End If pLayer = pEnumLayer.Next Loop End Sub

Ak sú tieto vrstvy prítomné, môžete na export súborov jpg použiť kód ExportActiveView. Tu je odkaz na kód ExportActiveView.

Upraviť

Tieto vrstvy môžete pridať do projektu ArcMap, uložiť mxd a exportovať mapu pomocou skriptu python / arcpy.

Pridajte vrstvy

Exportovať mapu

ALEBO

ak máte prístup k kódu rozšírenia, môžete použiť kód 'Call Shell' na otvorenie ArcMap a pridať svoje vrstvy do TOC pomocou ArcObjects.

Lepšou voľbou môže byť pythonovský skript.


Pozri si video: Importing Google Earth.Kml .Kmz file to ArcMap