<\/P>
L'interface utilisateur vous fait choisir une année, une marque, un modèle et un type, dans cet ordre.<\/P>
Ils sont ordonnés du plus efficace au moins efficace (de la distance de conduite la plus longue à la plus courte).<\/P>
Toutes les données concernant les véhicules et les résultats sont enregistrées en tant qu'attributs dans la classe d'entités.<\/P>
<\/_P>
Une complication que j'ai rencontrée est que tous les paramètres géotraitement n'ont pas d'objets .NET pouvant être remplis puis sérialisés pour exécution HTTP. Vous verrez une construction JSON en ligne dans la méthode PerformAnalysis()<\/_EM>.<\/_P>sStartLocParam = "{\\\"geometryType\\\":\\\"esriGeometryPoint\\\",\\\"features\\\": [{\\\"geometry\\\":" + sStartGeom + "}] } ";<\/_PRE >< \/BLOCKQUOTE >< UL >< LI > Utilisation de < A href = " https : \/ \/ pro.arcgis.com \/ en \/ pro-app \/ sdk \/ api-reference \/ # topic10646.html " rel = " nofollow noopener noreferrer " target = " _blank " > PropertyChangedBase < \/ A > pour lier des classes modèles personnalisées < \/ LI > < \/ UL >< P style = " padding-left : 30px ; " > L'état de l'application est principalement représenté par des propriétés et classes au niveau modèle. Le bouton < EM > Démarrer l'analyse < \/ EM > n'est pas activé tant qu'il n'y a pas au moins un véhicule dans la liste < EM > SelectedVehicles < \/ EM > ; < EM > Enregistrer les résultats < \/ EM > n'est pas activé tant qu'il n'y a pas au moins un résultat d'analyse dans la liste < EM > Results < \/ EM > . Tout cela fonctionnait bien dès le départ, mais j'ai constaté que les valeurs des classes < EM > Vehicle < \/ EM > et < EM > Result < \/ EM > n'apparaissaient pas dans les zones de texte et info-bulles. Finalement, j'ai découvert que ces classes avaient besoin d'une plomberie supplémentaire pour notifier aux mécanismes de liaison lorsque leurs valeurs changeaient ; changer leur type de base de < EM > object < \/ EM > à < EM > PropertyChangedBase < \/ EM > a résolu le problème.< \/ P >< UL >< LI > Invocation programmatique d'un MapTool personnalisé au nom de l'utilisateur < \/ LI >< \/ UL >< P style = " padding-left : 30px ; " > Je voulais un flux de travail simple et guidé : choisir un ou plusieurs véhicules, naviguer vers une zone d'intérêt, puis cliquer sur un emplacement de départ pour lancer l'analyse. Après beaucoup de recherches, cependant, je n'ai trouvé qu'une seule façon d'obtenir la position d'un clic souris sur une carte : via un < A href = " https : \/ \/ github.com \/ Esri \/ arcgis-pro-sdk \/ wiki \/ ProConcepts-Map-Exploration#maptool " rel = " nofollow noopener noreferrer " target = " _blank " > MapTool < \/ A > . Ces outils vivent généralement comme boutons sur la barre d'outils d'ArcGIS Pro — vous passez la souris dessus, cliquez dessus, puis cliquez sur la carte pour faire ce qui doit être fait. Ce genre d'implémentation serait maladroit pour l'utilisateur, pensais-je : sélectionner quelques véhicules, puis devoir retourner à la barre d'outils pour cliquer sur un bouton en haut afin de lancer l'analyse ? Au lieu de cela, j'ai choisi de ne pas fournir de bouton MapTool, mais plutôt de rechercher le MapTool non affiché et de l'invoquer depuis le bouton < STRONG > Démarrer l'analyse < \/ STRONG > du DockPane. Vous pouvez trouver cette logique dans < EM > VehiclesPaneViewModel.cs < \/ EM > dans la méthode < EM > StartSAAnalysis() < \/ EM > .< \/ P >< UL >< LI > À propos du service d'analyse < \/ LI >< \/ UL >< P style = " padding-left : 30px ; " > Le service qui calcule les zones accessibles en voiture est essentiellement une opération Network Analyst service area. Il utilise une hiérarchie optimisée des données routières uniquement pour les États-Unis (car c'est la zone pour laquelle nous disposons des informations sur le prix du carburant). Le complément convertit les données de consommation et prix du carburant en mètres et envoie ces distances au service comme paramètres. Une fois que le service génère les polygones des zones accessibles en voiture, il génère également des cercles englobants autour d'eux ; bien que je n'utilise pas actuellement ces cercles, je pourrais le faire à l'avenir.< \/ P >< P style = " padding-left : 30px ; " >< IMG __jive_id = "354219" alt = "Modèle distance conduite" class = "image-5 jive-image j-img-original" src = "https:\/ \/ us.v-cdn.net \/6038851 \/uploads \/legacyfs \/online \/354219_SAModel.png" />< \ / P >< H3 id = "toc-hId--1712933831" id = "toc-hId--1712933831">Étapes suivantes< \ / H3 >< P > Cette idée pourrait être étendue. Il pourrait être utile d'appliquer automatiquement une rampe de couleurs à la classe d'entités enregistrée, plutôt que de laisser ArcGIS Pro appliquer une symbologie aléatoire monochrome.< \ / P >< P > J'ai envisagé d'extruder les polygones en espace 3D comme moyen plus graphique pour visualiser et comparer les résultats entre eux. Le service géotraitement REST retourne également des cercles englobants minimums qui sont actuellement ignorés mais pourraient aussi fournir un contexte 2D ou 3D aux résultats.< \ / P >< P > Pour explorer rapidement beaucoup d'analyses, je laisse actif le MapTool Miles per Dollar après qu'une analyse soit terminée. Cependant, les utilisateurs d'écrans tactiles pourraient vouloir panoramiquer ou zoomer une fois que les résultats sont disponibles. Avec l'outil MapTool actif, cela initie une nouvelle analyse, ce qui n'est probablement pas ce que l'utilisateur souhaite. Une amélioration pourrait vérifier la présence d'un dispositif d'entrée tactile et activer l'outil de navigation après la fin d'une analyse.<\/P><\/P>
Pour ArcGIS Pro 2.0 :
Il y a deux branches dans ce dépôt. « master » est le projet Visual Studio 2015 et le code pour la version Pro 1.4x. « Pro_2.0 » est le projet Visual Studio 2017 et le code pour la version Pro 2.0.<\/P><\/BODY><\/HTML>
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.