Daha çox

ArcObjects istifadə edərək jeoprosessinq nəticəsinin JPEG şəkilləri yaratmaq?


.NET-də yazılmış bağımsız bir EXE istifadə edərək bir neçə məlumat dəstində toplu işləmə aparıram. Hər bir verilənlər bazası üçün bir çox çıxış faylı var (> 25 xüsusiyyət sinifləri / rasters). Hər bir verilənlər bazası üçün bir neçə xüsusi nəticəni əldə etmək və sadə keyfiyyətə nəzarət üçün bunların JPEG şəkillərini yaratmaq istərdim. İdeal olaraq xüsusiyyət siniflərindən bir neçəsini bir araya gətirər və Arc UI istifadə edərək edə bildiyiniz kimi bir neçə təbəqədən ibarət bir şəkil ixrac edirmiş kimi birləşmənin görüntüsünü yaradardım. Bunun həyata keçirilməsində bir neçə addımın olacağını düşünürəm - kimsə məni düzgün istiqamətə yönəldə bilərmi?

Sadəlik naminə bir sürücüdəki FGDB-də saxlanılan istədiyim sənədlərin tam yolunun olduğunu düşünə bilərsiniz. Bu xüsusiyyət siniflərinin təxmini dərəcəsini də ən böyüyündən əldə edə bilərəm, buna görə də bir görüntü dərəcəsi təyin edə bilərəm.

Misal üçün:

Yenidən uzantı işlədib FGDB-də saxlanılan bir sıra çıxış sənədləri yaratdım. Bu xüsusiyyət sinifləri / rasterlərin hamısı eyni diskret ərazini əhatə edir və proqnozlaşdırılır.

Çıxışlar (bunları sadəlik üçün düzəltmək):

1) Sahənin DEM (tam dərəcəni təmsil edir).

2) Polyline yol şəbəkəsi.

3) Çoxbucaqlı bina izləri.

4) Rögar örtüklərini təmsil edən nöqtə xüsusiyyət sinfi.

Nə etməli:

Bütün sənədləri düzgün ardıcıllıqla birləşdirin (DEM-nin üstün sinif sinifləri) və bir JPEG sənədini qeyd edin.

RED:

Mənim uzantım bir EXE kimi işləyir (alət çubuğu deyil) və Arc UI-ni açmır - sadəcə lisenziyaları istehlak edir və arxa planda işləyir. Beləliklə, istifadəçi interfeysini "başlamamışam" ActiveView-ə girişim varmı? Əslində, təbəqələrlə doldurmaq üçün bir TOC yoxdur.


ArcMap TOC-da qatların sırasını əlavə etmək və düzəltmək üçün ArcObjects istifadə edirsinizsə, əvvəlcə qrup şəklində ixrac etmək istədiyiniz xüsusi adları axtarardım. Sonra ixrac etmək istədiyiniz xaricindəki bütün təbəqələri söndürün.

'IFeatureLayer kimi ArcMap TOC Dim pFLayer-da MyLayer1 və MyLayer2-ni axtarın = Dim Lay Layer kimi heç bir şey Dim pLayer DimEnEnLLayer IEnumLayer kimi m_pMap2 = m_pMxDoc2.ActiveView.FocusMap pEnumLayerLayerLayerLayerLayerLayerLayerLayerLayerLayer = m_pay = "MyLayer1" AND pLayer.Name = "MyLayer2" Sonra TurnOffLayers () ExportActiveView () Else Exit Sub End If pLayer = pEnumLayer.Next Loop End Sub

Bu təbəqələr varsa, jpg şəkillərini ixrac etmək üçün ExportActiveView kodundan istifadə edə bilərsiniz. ExportActiveView Kodu üçün link.

Redaktə edin

Bu qatları bir ArcMap layihəsinə əlavə edə, mxd-i saxlaya və python / arcpy skriptindən istifadə edərək xəritəni xaricə çıxara bilərsiniz.

Qatlar əlavə edin

Xəritəni ixrac edin

Və ya

uzantı koduna girişiniz varsa, ArcMap'ı açmaq üçün 'Call Shell' kodunu istifadə edə və ArcObjects istifadə edərək TOC-yə qatlarınızı əlavə edə bilərsiniz.

Python skripti daha yaxşı bir seçim ola bilər.


Videoya baxın: ArcGIS Installation in Windows 10 (Oktyabr 2021).