Voici une jolie image du raster que j'utilise - sans aucun effet appliqué - juste la rampe de couleur et l'histogramme ajustés pour montrer tout le relief - quoique de manière très 2D!
J'ai une couche raster que je souhaite afficher avec ombrage par défaut. Je peux le faire dans le code et en fait, c'est la même chose que la sélection de l'option Hillshade dans ArcMap (voir ci-dessous):
Cependant, lorsque vous faites cela, cela semble décevant:
Surtout si vous zoomez sur le raster, vous voyez toutes sortes d'artefacts quadrillés - ce qui n'est pas joli du tout!
Cependant, si je crée un calque Hillshade approprié à l'aide du raster avec Spatial Analyst et que je le superpose avec une transparence de 85%, il semble assez bon et très différent!:
- Comment puis-je obtenir cet effet dans ArcMap et remplacer la fonctionnalité par défaut de l'option Hillshade (je suppose que c'est impossible, ou est-ce un paramètre que j'ai manqué qui fait que le raster est mal affiché). S'il est possible de remplacer ou de sélectionner les paramètres corrects - est-il possible de le faire dans ArcObjects.
- Si l'option 1 n'est pas possible, puis-je créer mon effet en créant une couche d'ombrage (sans utiliser Spatial Analyst) et le fusionner efficacement au raster d'origine - c'est-à-dire que je ne veux pas que les gens voient deux couches dans la table des matières dans ArcMap . Je veux juste une couche mais avec un rendu ombrage par défaut de mon choix / configuration. Je dois le faire également par programme, c'est-à-dire ArcObjects.
Une chose que j'ai apprise est que vous devez avoir votre DEM dans la référence spatiale et les unités de mesure correctes ou l'ombrage résultant semble trop noir et exagéré - regardez cette vidéo pour en savoir plus - c'est une très bonne explication.
Je pense donc que je sais maintenant ce que je dois faire en ce qui concerne la production d'un ombrage de haute qualité, mais je pense que cela va prendre du code ArcObjects de réglage de bas niveau. Je pense que je dois créer mon propre rendu graphique et le brancher sur ArcMap (j'ai une DLL qui rend les bitmaps des grilles de manière cool). Je pense qu'un bon endroit pour le montrer serait de remplacer l'événement Draw () sur quelque chose comme IRasterRenderer et d'insérer mon propre rendu d'image. Bien sûr, cela pourrait devenir un peu compliqué avec des reprojections, etc.
Quelqu'un a-t-il effectué ce type de rendu graphique de bas niveau dans ArcMap - si oui, pouvez-vous offrir des conseils ou des choses dont je devrais être conscient?
la source
Réponses:
Utiliser le rééchantillonnage d'interpolation bilinéaire pendant l'affichage
Vous pouvez quelque peu améliorer l’affichage en changeant la méthode de rééchantillonnage utilisée de l’interpolation bilinéaire la plus proche par défaut. Propriétés du calque -> onglet Affichage -> Rééchantillonner pendant l'affichage à l'aide de: Interpolation bilinéaire.
Cet effet fonctionne mieux avec DEM et la rampe de couleur noir et blanc par défaut.
Vous obtiendrez un résultat bien meilleur et beaucoup plus de contrôle sur l'affichage lorsque vous utiliserez 2 rasters comme vous l'avez déjà fait. Assurez-vous que vous utilisez également la méthode de rééchantillonnage d'interpolation bilinéaire pendant l'affichage.
Ajouter DEM:
Activez "Utiliser l'effet ombrage" sur:
Rendu comme suit à l'écran:
Changez le rééchantillonnage pendant l'affichage en interpolation bilinéaire:
Rendu comme suit à l'écran:
la source
L'ombrage à la volée d'Arcmap, la méthode décrite, est rapide et sale et n'a jamais été conçu pour remplacer le résultat de l'ombrage de Spatial Analyst et / ou 3D Analyst. Bien que le même terme soit utilisé pour décrire les deux, ils ne sont pas du tout les mêmes.
Pour créer un véritable ombrage sans Spatial Analyst, vous pouvez essayer le gdaldem de GDAL :
Le didacticiel sur les données de terrain TileMill offre un bon aperçu de la façon d'utiliser gdaldem pour créer un ombrage composite avec une teinte hypsométrique.
Si l'utilitaire n'est pas assez direct pour votre application, le code source C ++ pour gdaldem est ici .
la source
Si vous recherchez un ombrage de belle apparence qui prend du temps à créer, mais qui est idéal pour les grands projets où il obtiendra beaucoup d'exposition, vous pouvez essayer la méthode Swiss Hillshade - elle nécessite 3 couches, mais vous pouvez ensuite les exporter à un tiff géoréférencé pour économiser de l'espace et pour la portabilité. Cette méthode NÉCESSITE Spatial Analyst, je crois, donc ce n'est pas une réponse directe à la question d'OP, mais peut être utile à d'autres qui regardent les méthodes d'ombrage dans ArcGIS. La méthode fonctionne également dans d'autres systèmes SIG, mais la boîte à outils liée est destinée à ArcGIS.
Edit 11/2014: Esri a récemment publié un nouvel outil pour créer Hillshades. Il a l'air vraiment lisse et devrait fusionner avec les flux de travail de l'Asker. Ils le présentent ici et vous pouvez télécharger le code et les instructions d'installation ici
la source
Lorsque vous dites dans l'élément # 2 "puis-je créer mon effet en créant une couche d'ombrage (sans utiliser Spatial Analyst)", voulez-vous dire des applications alternatives pour créer un ombrage?
Si vous souhaitez utiliser une application en dehors de Spatial Analyst, je viens tout juste d'apprendre (mais je n'ai jamais utilisé) l' extension " SEXTANTE for ArcGIS " ( gratuite ), qui permet aux utilisateurs de consommer les outils SEXTANTE dans ArcMap. Si vous regardez ce clip vidéo , vous pouvez voir qu'ils montrent des façons de créer un ombrage.
la source
On m'a toujours demandé d'augmenter l'exagération z lorsque je fais de l'ombrage.
Je viens d'essayer 100 sur le mien et cela semble un peu extrême.
Changer également le type d'étirement fait une grande différence dans l'apparence de l'ombrage.
Puisque vous parlez de son apparence, vous pouvez également consulter cet élément d'aide. esir help
Qui dit que l'ombrage est appliqué à la résolution du pixel d'affichage.
Et pour changer l'angle d'éclairage,
Esri aide
également à changer la direction et le contraste
la source