Skip to content

Commit 34e20dd

Browse files
authored
New sample: Show interactive viewshed in analysis overlay (#1780)
1 parent af1bdf8 commit 34e20dd

19 files changed

Lines changed: 1573 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<ContentPage
3+
x:Class="ArcGIS.Samples.ShowInteractiveViewshedInAnalysisOverlay.ShowInteractiveViewshedInAnalysisOverlay"
4+
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
5+
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
6+
xmlns:esriUI="clr-namespace:Esri.ArcGISRuntime.Maui;assembly=Esri.ArcGISRuntime.Maui">
7+
<Grid Style="{DynamicResource EsriSampleContainer}">
8+
<esriUI:MapView x:Name="MyMapView" Style="{DynamicResource EsriSampleGeoView}" />
9+
<Border
10+
MaximumWidthRequest="460"
11+
MinimumWidthRequest="380"
12+
Style="{DynamicResource EsriSampleControlPanel}">
13+
<ScrollView>
14+
<Grid
15+
Padding="8,6"
16+
ColumnDefinitions="Auto,3*,Auto"
17+
ColumnSpacing="6"
18+
RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto"
19+
RowSpacing="2">
20+
21+
<Label
22+
Grid.Row="0"
23+
Grid.Column="0"
24+
FontAttributes="Bold"
25+
FontSize="12"
26+
LineBreakMode="NoWrap"
27+
Text="Observer Elevation:"
28+
VerticalTextAlignment="Center" />
29+
<Slider
30+
x:Name="ObserverElevationSlider"
31+
Grid.Row="0"
32+
Grid.Column="1"
33+
Maximum="200"
34+
Minimum="2"
35+
ValueChanged="OnObserverElevationChanged"
36+
Value="20" />
37+
<Label
38+
x:Name="ObserverElevationValue"
39+
Grid.Row="0"
40+
Grid.Column="2"
41+
FontSize="12"
42+
HorizontalTextAlignment="End"
43+
Text="20 m"
44+
VerticalTextAlignment="Center"
45+
WidthRequest="55" />
46+
47+
<Label
48+
Grid.Row="1"
49+
Grid.Column="0"
50+
FontAttributes="Bold"
51+
FontSize="12"
52+
LineBreakMode="NoWrap"
53+
Text="Target Height:"
54+
VerticalTextAlignment="Center" />
55+
<Slider
56+
x:Name="TargetHeightSlider"
57+
Grid.Row="1"
58+
Grid.Column="1"
59+
Maximum="1000"
60+
Minimum="2"
61+
ValueChanged="OnViewshedParameterChanged"
62+
Value="20" />
63+
<Label
64+
x:Name="TargetHeightValue"
65+
Grid.Row="1"
66+
Grid.Column="2"
67+
FontSize="12"
68+
HorizontalTextAlignment="End"
69+
Text="20 m"
70+
VerticalTextAlignment="Center"
71+
WidthRequest="55" />
72+
73+
<Label
74+
Grid.Row="2"
75+
Grid.Column="0"
76+
FontAttributes="Bold"
77+
FontSize="12"
78+
LineBreakMode="NoWrap"
79+
Text="Maximum Radius:"
80+
VerticalTextAlignment="Center" />
81+
<Slider
82+
x:Name="MaxRadiusSlider"
83+
Grid.Row="2"
84+
Grid.Column="1"
85+
Maximum="20000"
86+
Minimum="2500"
87+
ValueChanged="OnViewshedParameterChanged"
88+
Value="8000" />
89+
<Label
90+
x:Name="MaxRadiusValue"
91+
Grid.Row="2"
92+
Grid.Column="2"
93+
FontSize="12"
94+
HorizontalTextAlignment="End"
95+
Text="8000 m"
96+
VerticalTextAlignment="Center"
97+
WidthRequest="70" />
98+
99+
<Label
100+
Grid.Row="3"
101+
Grid.Column="0"
102+
FontAttributes="Bold"
103+
FontSize="12"
104+
LineBreakMode="NoWrap"
105+
Text="Field of View:"
106+
VerticalTextAlignment="Center" />
107+
<Slider
108+
x:Name="FieldOfViewSlider"
109+
Grid.Row="3"
110+
Grid.Column="1"
111+
Maximum="360"
112+
Minimum="5"
113+
ValueChanged="OnViewshedParameterChanged"
114+
Value="150" />
115+
<Label
116+
x:Name="FieldOfViewValue"
117+
Grid.Row="3"
118+
Grid.Column="2"
119+
FontSize="12"
120+
HorizontalTextAlignment="End"
121+
Text="150°"
122+
VerticalTextAlignment="Center"
123+
WidthRequest="55" />
124+
125+
<Label
126+
Grid.Row="4"
127+
Grid.Column="0"
128+
FontAttributes="Bold"
129+
FontSize="12"
130+
LineBreakMode="NoWrap"
131+
Text="Heading:"
132+
VerticalTextAlignment="Center" />
133+
<Slider
134+
x:Name="HeadingSlider"
135+
Grid.Row="4"
136+
Grid.Column="1"
137+
Maximum="360"
138+
Minimum="0"
139+
ValueChanged="OnViewshedParameterChanged"
140+
Value="10" />
141+
<Label
142+
x:Name="HeadingValue"
143+
Grid.Row="4"
144+
Grid.Column="2"
145+
FontSize="12"
146+
HorizontalTextAlignment="End"
147+
Text="10°"
148+
VerticalTextAlignment="Center"
149+
WidthRequest="55" />
150+
151+
<Label
152+
Grid.Row="5"
153+
Grid.Column="0"
154+
Grid.ColumnSpan="3"
155+
FontAttributes="Bold"
156+
FontSize="12"
157+
Text="Elevation Sampling Interval (m):"
158+
VerticalTextAlignment="Center" />
159+
160+
<HorizontalStackLayout
161+
Grid.Row="6"
162+
Grid.Column="0"
163+
Grid.ColumnSpan="3"
164+
Spacing="12">
165+
<RadioButton
166+
x:Name="SamplingInterval0Radio"
167+
CheckedChanged="OnSamplingIntervalChanged"
168+
Content="0"
169+
IsChecked="True" />
170+
<RadioButton
171+
x:Name="SamplingInterval10Radio"
172+
CheckedChanged="OnSamplingIntervalChanged"
173+
Content="10" />
174+
<RadioButton
175+
x:Name="SamplingInterval20Radio"
176+
CheckedChanged="OnSamplingIntervalChanged"
177+
Content="20" />
178+
</HorizontalStackLayout>
179+
</Grid>
180+
</ScrollView>
181+
</Border>
182+
<Label
183+
Grid.RowSpan="2"
184+
Grid.ColumnSpan="2"
185+
Margin="0,0,10,30"
186+
FontAttributes="Italic"
187+
FontSize="11"
188+
HorizontalOptions="End"
189+
Text="Raster data Copyright Scottish Government and SEPA (2014)"
190+
TextColor="White"
191+
VerticalOptions="End" />
192+
</Grid>
193+
</ContentPage>

0 commit comments

Comments
 (0)