|
POST
|
I think, it is probably a bug because when you create a WMTS layer from 3857 tile matrix set, FullExtent property of created layer still shows coordinates in 2193 wkid. I have tried to project FullExtent to 3857 wkid and then call SetViewpointAsync with projected extent, but it doesn't help. Make a try to create case in Esri support page or call your local distributors to do that.
... View more
Tuesday
|
1
|
0
|
61
|
|
POST
|
Hi, Every AI agent warns: "The AI can be wrong, so double-check the answers." No matter what AI agent/model do you use, results with ArcGIS Pro API usually too far from reality. Ask the AI not to fantasize if it doesn't know. Sometimes it helps. Tune Copilot with custom instructions to get more accurate results. Check primary sources as ArcGIS Pro API reference, ArcGIS Pro SDK community samples and other content supplied by Esri. And check your previous question in ArcGIS Pro SDK Community. One of copilot AI models could be Gemini, so practically no matter what you ask Copilot or Gemini results are the same: No TraceNetwork object in ArcGIS Pro SDK:
... View more
Tuesday
|
1
|
0
|
55
|
|
POST
|
Hi, Your WMTS service has 2 Tile Matrix sets with different spatial references: 3857 and 2193. I have succeeded to view your WMTS service with wkid = 2193. I have modified Esri samples code which have Esri.ArcGISRuntime.WPF 300.0.0 package. I think it must work and with 200.8.0. Code below: // Define the Uri to the WMTS service.
Uri wmtsUri = new Uri("https://data.linz.govt.nz/services;key=5169bef47e224d43a935e4283e2d57a6/wmts/1.0.0/set/4769/WMTSCapabilities.xml");
// Define a new instance of the WMTS service.
WmtsService myWmtsService = new WmtsService(wmtsUri);
// Load the WMTS service.
await myWmtsService.LoadAsync();
// Get the service information (i.e. metadata) about the WMTS service.
WmtsServiceInfo myWmtsServiceInfo = myWmtsService.ServiceInfo;
// Obtain the read only list of WMTS layer info objects, and select the one with the desired Id value.
WmtsLayerInfo info = myWmtsServiceInfo.LayerInfos.Single(l => l.Id == "set-4769");
Map myMap = new Map(SpatialReference.Create(2193));
// Create an instance for the WMTS layer.
WmtsLayer myWmtsLayer;
// Inspect your layer info matrix names
var matrixSet = info.TileMatrixSets.FirstOrDefault(cms => cms.SpatialReference.Wkid == 2193);
if (matrixSet != null)
{
myWmtsLayer = new WmtsLayer(info, matrixSet);
}
else
{
myWmtsLayer = new WmtsLayer(info);
}
var newBasemap = new Basemap();
newBasemap.BaseLayers.Add(myWmtsLayer);
myMap.Basemap = newBasemap;
// Assign the map to the MapView.
MyMapView.Map = myMap;
// Zoom the MapView to the geographic boundaries of the WMTS data
if (myWmtsLayer.FullExtent != null)
{
await MyMapView.SetViewpointAsync(new Viewpoint(myWmtsLayer.FullExtent));
}
... View more
Tuesday
|
0
|
2
|
89
|
|
POST
|
Hi, Our app initializes MapView.LocationDisplay with default data source on OnPageLoaded event. It works without issues.
... View more
4 weeks ago
|
0
|
0
|
298
|
|
POST
|
Part of ArcObjects doesn't have analogues in ArcGIS Pro API. Usually geoprocessing tools are used instead. All tools in Trace Network tab use geoprocessing tool Trace with different parameters. Can you do your workflow with standard ArcGIS Pro tools?
... View more
06-03-2026
12:13 PM
|
0
|
1
|
591
|
|
POST
|
You can use geoprocessing tool Trace. How to call it from ArcGIS Pro SDK look here. Link to "Trace a trace network" is here. It writes about geoprocessing usage
... View more
06-02-2026
01:59 PM
|
0
|
3
|
666
|
|
POST
|
Hi, Take a look to another thread "Connectivity trace"
... View more
06-02-2026
01:07 PM
|
0
|
5
|
695
|
|
POST
|
Hi, Do you use CustomItemBase directly or implementation of Custom Items derived from the CustomItemBase class? You can find more info about CustomItemBase here.
... View more
06-02-2026
12:56 PM
|
0
|
0
|
297
|
|
POST
|
Hi, The simplest way is to call your async method from property setter like this: private string _selectedContinent;
public string SelectedContinent
{
get => _selectedContinent;
set
{
if (SetProperty(ref _selectedContinent, value))
{
_ = LoadCountriesAsync(value);
}
}
} Continents will be first list, countries will be second list. In the same way you can call async methods from class constructor. You can add more functionality as cancelation token, loading status and etc. internal class WorldViewModel : INotifyPropertyChanged
{
public ObservableCollection<string> Continents { get; } = new ObservableCollection<string>();
public ObservableCollection<string> Countries { get; } = new ObservableCollection<string>();
private string _selectedContinent;
public string SelectedContinent
{
get => _selectedContinent;
set
{
if (SetProperty(ref _selectedContinent, value))
{
// Cancel any in-flight load and start a new one (fire-and-forget)
_loadCts?.Cancel();
_loadCts = new CancellationTokenSource();
var token = _loadCts.Token;
_ = LoadCountriesAsync(value, token);
}
}
}
private string _selectedCountry;
public string SelectedCountry
{
get => _selectedCountry;
set => SetProperty(ref _selectedCountry, value);
}
private bool _isLoading;
public bool IsLoading
{
get => _isLoading;
private set => SetProperty(ref _isLoading, value);
}
private CancellationTokenSource _loadCts;
public WorldViewModel()
{
InitializeContinents();
}
private void InitializeContinents()
{
// Seed continents - replace with real data source if needed
Continents.Add("Africa");
Continents.Add("Asia");
Continents.Add("Europe");
Continents.Add("North America");
Continents.Add("South America");
Continents.Add("Oceania");
Continents.Add("Antarctica");
}
public async Task LoadCountriesAsync(string continent, CancellationToken cancellationToken = default)
{
if (string.IsNullOrWhiteSpace(continent))
{
Application.Current.Dispatcher.Invoke(() => Countries.Clear());
return;
}
try
{
IsLoading = true;
// Simulate async IO. Replace with your real async API call (pass cancellationToken).
await Task.Delay(500, cancellationToken);
// Example data - replace with real result
var result = new[]
{
$"{continent} - Country A",
$"{continent} - Country B",
$"{continent} - Country C"
};
// Update UI collection on UI thread
Application.Current.Dispatcher.Invoke(() =>
{
Countries.Clear();
foreach (var c in result) Countries.Add(c);
});
}
catch (OperationCanceledException)
{
// expected on cancellation - ignore
}
catch (Exception ex)
{
// Adjust logging/error handling to your project's policy
System.Diagnostics.Debug.WriteLine($"LoadCountriesAsync error: {ex}");
}
finally
{
IsLoading = false;
}
}
#region INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
protected bool SetProperty<T>(ref T storage, T value, [CallerMemberName] string propertyName = null)
{
if (Equals(storage, value)) return false;
storage = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
return true;
}
#endregion
} Don't forget to update lists on the UI thread to avoid threading issues. P.s. Code was generated by GitHub Copilot
... View more
05-09-2026
12:23 PM
|
0
|
0
|
490
|
|
POST
|
Have you updated _observerPosition and etc. which is related to spatial reference?
... View more
05-07-2026
04:00 AM
|
0
|
1
|
1061
|
|
POST
|
Hi, Try to change Map spatial reference to WGS84 // Create a map
MyMapView.Map = new Map(SpatialReferences.Wgs84)
{
// Set initial view point in WGS84
//InitialViewpoint = new Viewpoint(55.610000, -5.200346, 100000)
};
... View more
05-07-2026
12:53 AM
|
0
|
3
|
1074
|
|
POST
|
I make search in *.daml files in ArcGIS Pro application bin folder
... View more
04-28-2026
07:08 AM
|
0
|
0
|
568
|
|
POST
|
Hi, There is possibility to add custom page to layer properties. I have used BackStage_PropertyPage sample from ArcGIS Pro SDK Community samples to make test. I have copied existing "updateSheet" piece in config.daml, pasted below, changed refid to "esri_mapping_featureLayerPropertySheet" and deleted "group" setting inside page info: <updateSheet refID="esri_mapping_featureLayerPropertySheet">
<!--Use group=Application for the options to appear under the Application section in the settings-->
<!--assign the viewModel class to the className attribute; assign the view class to the className attribute in the content tag-->
<insertPage id="esri_sdk_PropertyPageAppSettings" caption="Sample App Settings" className="ApplicationSettingsViewModel">
<content className="ApplicationSettingsView" />
</insertPage>
<!--Use group=Project for the options to appear under the Project section in the settings-->
<!--assign the viewModel class to the className attribute; assign the view class to the className attribute in the content tag-->
<insertPage id="esri_sdk_PropertyPageProjectSettings" caption="Sample Project Settings" className="ProjectSettingsViewModel">
<content className="ProjectSettingsView" />
</insertPage>
</updateSheet> I have got result for feature layer properties like in picture:
... View more
04-24-2026
08:33 AM
|
2
|
3
|
628
|
|
POST
|
Hi, TableControl SortAsync method doesn't need QueuedTask.Run. Checking of CanCustomSort has different meaning. It means if the table control can display the custom sort dialog. You need to check IsReady I have attached TableControl in dockpane add-in project. After compilation open ArcGIS Pro. Go to AddIns tab. Select "Show TableControlDockpane" button. Go to catalog pane and select feature class or table. Press Sort button in opened dockpane with TableControl
... View more
03-23-2026
11:44 AM
|
1
|
0
|
670
|
|
POST
|
Hi, The last ArcGIS Maps SDK for .NET API reference suggests for ArcGISFeatureTable: UnknownJson Gets unknown data from the source JSON. Declaration [Obsolete("To get any unrecognized JSON values, parse the result of Map.ToJson()")]
public IReadOnlyDictionary<string, object> UnknownJson { get; } Check the text after "Obsolete" PortalItem has UnsupportedJson / UnknownJson properties.
... View more
03-06-2026
03:20 AM
|
0
|
2
|
779
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | Tuesday | |
| 1 | Tuesday | |
| 2 | 04-24-2026 08:33 AM | |
| 1 | 03-23-2026 11:44 AM | |
| 1 | 05-22-2024 11:48 PM |
| Online Status |
Online
|
| Date Last Visited |
Tuesday
|