Daha çox

ArcGIS Desktop istifadə edərək kölgələr istehsal edirsiniz?


Ayaq izləri yaratmağın kölgələrini necə yaradardınız?
Binaların hündürlüyü üçün atribut dəyərlərim var.
Buna görə kölgələrin ölçülərinin buna görə dəyişməsini istərdik.
ArcGIS istifadə edərək tapdığım ən yaxşı təklif kölgələrdir: http://blogs.esri.com/Support/blogs/mappingcenter/archive/2008/10/21/3d-effect-for-a-building-footprints.aspx


Tez və çirkli bir metod yalnız bina damlarının kölgələrini çəkmək, onları tünd boz rəngə çevirmək (tercihen altındakı yer qatları varsa yarı şəffaf) və bina çoxbucaqlarını üzərlərinə çəkməkdir. Dam kölgələri, bina yüksəkliklərinin işıq mənbəyinin azimutu və hündürlüyü ilə təyin olunmuş istiqamətə (sonsuzca uzaq hesab edilən) təyin olunan məsafələrə görə tərcümə edilərək əldə edilir. (Tərcümə miqdarı üçün bir düstur aşağıda görünür.)

Aşağı hündürlüklər və ya hündür binalar (məsələn, göydələnlər) xaricində bu yaxşı işləmə meylinə sahibdir: sağ tərəfdəki hündür təcrid olunmuş binaların kölgələrinin binaların özlərindən necə ayrıldığına baxın.

Kölgələri düzgün birləşdirmək üçün binalara, binanın kölgələrini daxil etməlisiniz divarlar. Bunu etmək çətin deyil. P-də yerləşən bir nöqtə ilə Q-da yerləşən başqa bir nöqtə arasında uzanan divarın kölgəsi, {P, Q, Q ', P'} ilə göstərilən dördbucaqlı olacaqdır, burada Q 'Q-ın kölgəsidir və P' kölgədir P. Çoxbucaqlı bina (P (1), P (2),…, P (n)) nöqtələrinin qapalı ardıcıllığı ilə təmsil olunan əlaqəli çoxbucaqlıların toplusu olacaqdır. Hər bir çoxbucaqlı üçün kənarların kölgələrinin birləşməsini (P (1), P (2)), (P (2), P (3)),…, (P (n), P (1) ). Bunu kənarlardakı bir döngə vasitəsi ilə etmək asandır.

Bir azimutda bir işıq üçün a dərəcə (şimaldan şərqdə) və yüksəklik s dərəcə (üfüqdən), proqnozlaşdırılan koordinatları (x, y) və hündürlüyü olan bir P nöqtəsinin kölgəsi h (hamısı eyni vahidlərlə ifadə olunur, məsələn sayğaclar) P '= (x - h) səviyyəsində yerləşirsin (a) / tan (s), y - hcos (a) / tan (s)). Bütün qat üçün yalnız bir dəfə sin (a) / tan (s) və cos (a) / tan (s) hesablamalısınız və hər çoxbucaqlı üçün bu amilləri yalnız bir dəfə hündürlüyə vurmalısınız. çoxbucaqdakı hər nöqtə kölgəsi. (Həqiqi hesablama iş yükü bütün bu dördbucaqlıların birliklərini təşkil etdiyi üçün kodunuz deyil, CİS tərəfindən aparılır.)

Təsirin bir nümunəsi. (Azimut və hündürlük birinci rəqəmlə müqayisədə bir qədər dəyişdi, lakin bina çoxbucaqlıları və yüksəklikləri - dəyişir - əvvəlki kimidir.)

Əlavə

Bir sorğuya cavab olaraq, ikinci nümunəni yaratmaq üçün istifadə olunan kod. Artıq demək olar ki, heç kim bu dildən (Avenue) istifadə etməsə də, sevdiyiniz CİS-də bir həll yaratmaq üçün psevdokod rolunu oynaya bilər. (Bununla yanaşı, əksər yalançı kodlardan fərqli olaraq, həqiqətən işləyərək sınaqdan keçirilmişdir. :-) O qədər sadədir ki, heç bir izahat lazım deyil; yalnız indeksləşdirmənin 1 ilə deyil, 0 ilə başladığını və çoxbucaqlı üzüklərin açıq şəkildə bağlandığını unutmayın (siyahıda son nöqtə ilk nöqtə ilə üst-üstə düşür).

'S' Bir formanın kölgəsini qaytarın. 'Sahə kalkulyatoru nümunəsi:' av.run ("S", {[form], [boy], 200, 35}) '==================== =================================================== theShape = SELF.Get (0) 'Proqnozlaşdırılan bir çoxbucaqlı xHeight = SELF.Get (1)' Proqnozlaşdırılan vahidlərdə ifadə edilir xAzimuth = SELF.Get (2) .AsRadians 'Şimaldan şərqdəki istənilən açı (dərəcə ilə) xAltitude = SELF. (3) .AsRadians '0 ilə 90 arasındakı bucağı alın (şaquli) "Kölgə əvəzlərini hesablayın.' XSpread = 1 / xAltitude.Tan x = -xHeight * xS spread * xAzimuth.Sin y = -xHeight * xS spread * xAzimuth.Cos xy = x @ y "Orijinal forma ilə başlayın. 'p = theShape.Clone "Divar kölgələrini birləşdirin.' theShape.AsListdəki hər bir LPts üçün 'Hər i üçün halqaların üzərində 1-dən bir döngə… (lPts.Count-1)' Bu halqadakı kənarlar üzərində döngə l = {lPts. Get (i-1), lPts.Get (i), lPts.Get (i) + xy, lPts.Get (i-1) + xy} p = p.ReturnUnion (Polygon.Make ({l})) end son qayıt p 'ssenarinin sonu

Düşünmürəm ki, danışdığın (axtardığın) arcmap-da bir qabiliyyət olacaq (versiya?)
İstədiyiniz məhdudiyyət üçün bu suala baxın.
3d Analyst uzantısı və arcscene istifadə edərək işıq əlavə edə bilərsiniz, lakin hələ də bəzi məhdudiyyətlər var.
Cityengine ilə əlaqədar bəzi esri hərəkəti var.
Kölgə dəqiqliyi bölməsinə endirin.
Əvvəllər işığa bağlandım (təqaüdə çıxdı və 3dsmax içərisində yaşadığına əminəm).
İndi yol, yəqin ki, mühəndis vizuallaşdırma məhsulu xəttindən keçəcəkdir ...
3ds Max


3D Analist uzantısında siluetlər və kölgə həcmləri istehsal etmək üçün bəzi alətlər (Skyline və Skyline Bariyer) var, ancaq bir üfüqdə olduğu kimi şaquli bir müstəviyə proqnozlaşdırılma kontekstindədir, buna görə asanlıqla necə uyğunlaşdırıla biləcəyinə əmin deyiləm. bu vəziyyətə (üfüqi bir təyyarəyə, yerə zidd).


Videoya baxın: كيفية صنع كاميرا مراقبة في المنزل - بكاميرا الهاتف القديمة (Oktyabr 2021).