POST
|
Thank you for the question. Currently the Create Viewshed tool is based on a planar algorithm. However, it does use a curved Earth approach, which means that the maximum viewing distance will be limited by the Earth's curvature. 1. The best way to verify the maximum distance, is run the tool in the sea (with an altitude of 0 everywhere). On the land, there will be terrain with altitudes > 0, potentially causing visibility in distant locations more than what is predicted by the Earth's curvature. 2. Please double check if 3.4 miles is a correct distance for the example (an observer height of 6ft, and a target height is 20ft). The calculator from the link gives me around 8 miles. Thanks.
... View more
12-22-2023
11:16 AM
|
0
|
0
|
116
|
POST
|
Hi, Yes, for the Viewshed tool, you can add the OFFSETA attribute field to the input observer features for this purpose. Alternatively, you can use the Geodesic Viewshed tool, for which the attribute field name can be anything (just specify it in the observer offset parameter). Thanks.
... View more
05-30-2023
07:56 AM
|
0
|
1
|
314
|
POST
|
Hi, You can use the Geodesic Viewshed tool (in spatial analyst or 3D analyst toolboxes) for your purpose. Under Observer Parameters, the Surface Offset parameter represents the target height. Thanks Xuguang
... View more
09-30-2022
08:17 AM
|
0
|
0
|
351
|
POST
|
Hi Adrian, It looks like there may be some data discontinuity issue with the 10m DEM data used in this analysis. In North America, currently the 10m data is only available in the US area. The Orange viewshed result is fine because it is based on 24m DEM (or 30m DEM) that is available for both US and Canada. The DEM source resolution used in the analysis is determined by the Maximum viewing distance parameter. If the maximum viewing distance is 5 km or less, 10m resolution is used. If it is greater than 5 km, 24m resolution will be used. (Note: the DEM resolution info is recorded in the output viewshed feature layer attribute table, which you can open and examine).
... View more
05-16-2022
09:19 AM
|
0
|
0
|
194
|
POST
|
Yes, Raster Cell Iterator is an ArcGIS Pro feature only. Xuguang
... View more
04-21-2022
08:17 AM
|
0
|
0
|
766
|
POST
|
Hi Tim, With the OBSERVERS analysis type, the output raster records the unique region ID's that are visible to any combinations of the input observation points. Since the number of possible combinations is large, there can be more rows in the output raster attribute table than the number of input observation points. For example, with 2 input observation points (A and B), there can be as much as 3 rows in the output raster attribute table (representing areas that are visible to observer A, to observer B, and to both observer A and B, respectively). For each region on the output raster, the corresponding observer(s) info can be looked up from the output observer-region relationship table. Thanks Xuguang
... View more
02-23-2022
05:40 PM
|
0
|
0
|
248
|
POST
|
Hi, To completely fix the contouring effects issue, please select '32 bit float' for the Pixel Type parameter when you run the Mosaic To New Raster tool. This way the elevation data will be free of terraces. Once the terraces are gone, the output viewshed will be free of contouring effects. (By default, the Mosaic To New Raster tool seems to be using an integer pixel type for the output elevation raster, which truncates the elevation values into integers and introduces the terraces.) The following is the viewshed result obtained using the new 2m elevation raster (that is created using the '32 bit float' output pixel type when running the Mosaic To New Raster tool): As we can see, this viewshed result does not contain any contouring effects. Please let me know if there is additional questions. Thanks, Xuguang Wang
... View more
07-20-2021
02:10 PM
|
2
|
0
|
689
|
IDEA
|
Thank you for the request. In fact, we have since released a new tool, Viewshed 2, that offers this capability and also supports up to 32 observers. You can perform your observer point analysis with this tool by setting the Analysis Type parameter to Observers.
... View more
01-25-2019
02:06 PM
|
1
|
0
|
477
|
POST
|
Could you try removing the CUDA_VISIBLE_DEVICES variable ? Viewshed 2 should automatically find TCC card for computation. Please also make sure the graphics driver for the TCC GPU is up to date.
... View more
07-27-2018
02:49 PM
|
1
|
1
|
709
|
BLOG
|
ArcGIS Pro SDK for .Net allows you to extend the ArcGIS Pro user interface by creating custom add-ins leveraging different GIS functionalities. In this blog, we will take a look at how to execute Spatial Analyst tools in your add-in using the ArcGIS Pro SDK. How to execute a geoprocessing tool The ArcGIS.Desktop.Core.Geoprocessing namespace in the SDK provides a Geoprocessing class to help execute a geoprocessing tool. The Geoprocessing class within the namespace offers necessary methods to specify the input parameters, set up environment settings, and execute the geoprocessing tool. The static method, ExecuteToolAsync is used to execute the tool. The first argument for ExecuteToolAsync is the geoprocessing tool name as a string. To specify a tool uniquely, the tool name must be appended with its toolbox alias. For example, the Copy Features tool is in the data management toolbox, and the alias of the data management toolbox is management. Therefore, to execute the Copy Features tool, the tool name should be specified as CopyFeatures_management. Without the toolbox alias, or with a misspelled toolbox alias, an error will be returned and the tool will not be executed because the geoprocessing framework is not able to find the tool. The second argument for ExecuteToolAsync is the tool parameter values array, which holds all the input and output parameter values for the geoprocessing tool. Do not create the array yourself. Simply call the method MakeValueArray, to create it, passing in all input and output parameter values as arguments. Additionally, you may want to specify an environment setting for the tool execution. The third argument for ExecuteToolAsync allows you to do that. Like the input/output parameters, the environment settings also need to be specified in an array. Again, no need to create the array by yourself, simply call the method MakeEnvironmentArray to make one. The rest of the arguments for ExecuteToolAsync are optional. As an asynchronous method, ExecuteToolAsync will start the geoprocessing tool execution in a different thread other than the user interface (UI) thread, which allows the ArcGIS Pro UI to remain active while the tool executes. How to execute a Spatial Analyst tool Executing a Spatial Analyst tool is no different than any other geoprocessing tool. All we need to do is supply a tool name with an appropriate toolbox alias, which is sa. The following example will walk you through a C# example on how to execute the Zonal Statistics tool to calculate average elevation for each zone, using SDK. Let’s start by specifying the tool input and output parameters: // declaring tool parameter variables string inZoneRas = @" c:\data\county.tif" ; // input zone raster string zoneField = "Value"; // zone field string inValueRas = @" c:\data\elevation.tif" ; // input valueraster string outRaster = @" c:\output\outzs01.tif" ; // output raster string statType = "MEAN" ; // statistics type bool ignoreNoData = true ; // ignore NoData option Now let’s create the first array with the above parameter values using the Geoprocessing.MakeValueArray method: // create an array for the input parameter values var valueArray = Geoprocessing.MakeValueArray(inZoneRas, zoneField, inValueRas, outRaster, statType, ignoreNoData); Next, create another array for environment settings using Geoprocessing.MakeEnvironmentArray to set the cell size for analysis and to overwrite output if it exists: // create an array for the environment settings var envArray = Geoprocessing.MakeEnvironmentArray(overwriteoutput: true, cellSize: 30); Finally, let’s execute the tool by calling the ExecuteToolAsync method, passing in the tool name, the tool parameter values array, and the environment settings array that we created above. Notice that the tool name ‘ZonalStatistics’ is appended with its toolbox alias ‘sa’, which refers to the Spatial Analyst toolbox: // run ZonalStatistics var gpresult1 = await Geoprocessing.ExecuteToolAsync( "ZonalStatistics_sa" , valueArray, envArray); Because the Spatial Analyst is an extension product, a license is required in order to use its capabilities. However, we did not enable the license in the preceding code snippet as in our case, it is enabled through the ArcGIS Pro application. If the Spatial Analyst license is not already enabled, the tool execution will fail with a licensing error. To enable the Spatial Analyst license, configure your licensing options from the ArcGIS Pro application. How to execute a map algebra expression Now that we have learned how to execute a Spatial Analyst tool using the ArcGIS Pro SDK, let’s look at another example. In raster modeling, we often need to execute map algebra expression to solve a complex problem. In the Spatial Analyst toolbox, the tool that allows us to execute map algebra expression is called Raster Calculator. In your add-in, you may take advantage of the Raster Calculator tool to execute single-line map algebra expressions. The Raster Calculator tool has two parameters only. The first parameter is the map algebra expression itself. The second parameter is the output raster, which saves the result of the calculation. In the example below, let’s build a map algebra expression to find the land uses for areas with slope greater than 30 degrees and aspect less than 120 degrees, and use the Raster Calculator tool to execute it. First, let’s specify the input raster datasets that will be used in our map algebra expression: // input raster datasets for the map algebra expression string inRas1 = @" c:\data\in_slope.tif" ; string inRas2 = @" c:\data\in_aspect.tif" ; string inRas3 = @" c:\data\in_landuse.tif" ; Now, let’s build the map algebra expression. Notice that the input raster datasets are embedded in the expression itself, enclosed by single quotation marks: // define the map algebra expression string maExpression = String.Format( "Con((‘{0}’ > 30) & (‘{1}’ < 120), ‘{2}’)" ,inRas1, inRas2, inRas3); We need another variable to specify the output raster: // define the output raster string outRaster = @ "c:\output\outrascal01.tif" ; Now we can create an array using maExpression and outRaster: // make the input parameter values array var valueArray = Geoprocessing.MakeValueArray(maExpression, outRaster); Finally, we kick off the Raster Calculator tool, which will execute the map algebra expression and save the result in outRaster: // execute the Raster calculator tool to process the map algebra expression var gpresult1 = await Geoprocessing.ExecuteToolAsync( "RasterCalculator_sa" , valueArray); Summary Now that you are comfortable executing Spatial Analyst tools and map algebra expressions, you can perform raster modeling in your add-ins. If you need more information, check out our help pages on ArcGIS Pro SDK and ArcGIS Pro Spatial Analyst.
... View more
06-29-2018
02:44 PM
|
0
|
0
|
671
|
POST
|
Hi, It is not a bug. Pro tool hides parameters that are disabled. The parameters will show up when they become enabled. Checkbox for 'use curvatuure corrections' parameter: This parameter is disabled by default so it is not showing up. To enable it, please pick the input raster on the tool dialog. After that, 'use curvature correction' parameter will be enabled and it should show up on the tool dialog. Refractivity coefficient This parameter will only show up when 'use curvature correction' is checked on. Follow the steps above to enable the 'use curvature correction' parameter, then check it on. Then the refractivity coefficient parameter will show up. Thanks, Xuguang Wang
... View more
10-26-2017
11:46 AM
|
1
|
0
|
328
|
BLOG
|
The Viewshed 2 tool is a new visibility analysis tool released in ArcGIS 10.3 and ArcGIS Pro 1.0. The tool takes advantage of a GPU processor by default if one is available on your computer. As GPU graphics cards are commonly available on most of the recent computers, GPU (or CUDA) related error is likely the most common error that you may run into when the Viewshed 2 tool is used for the first time. This blog aims to explain how to resolve the most typical GPU errors that you can encounter while trying to execute the Viewshed 2 tool. There are two types of errors: I. GPU error at the beginning of the tool execution When the Viewshed 2 tool just starts to execute, a GPU error occurs and the tool fails. Example error messages are as follows: ERROR 010514: GPU exception: CUDA Exception. Driver code: CUDA_ERROR_NO_BINARY_FOR_GPU (209). ERROR 010461: GPU exception: CUDA Exception. Driver code: CUDA_ERROR_INVALID_VALUE (1). These errors usually indicate that your GPU driver is out of date. To fix this issue, go to the NVIDIA driver update page and search for and install the latest driver for your GPU card. To take this into effect you may have to restart the computer. Rerun the Viewshed 2 tool again. II. GPU error during the tool execution If your computer has only one GPU card, by default it will be shared between Windows display and the Viewshed 2 analysis. In this case, the following warning message will be reported at the beginning of the tool execution: WARNING 010453: The GPU being used is connected to your display. This may cause the computer to appear unresponsive. The display driver may reboot the GPU if the computation takes too long. If an individual GPU task takes longer than the number of seconds set by the Windows TdrDelay (Timeout Detection and Recovery Delay) registry key the OS may reboot the GPU. This will cause the tool to fail during tool execution. The tool may return the following error messages: ERROR 010461: GPU exception: CUDA Exception. Driver code: CUDA_ERROR_LAUNCH_TIMEOUT (702). ERROR 010461: GPU exception: CUDA Exception. Driver code: CUDA_ERROR_LAUNCH_FAILED (719). To fix such errors, the value of the registry key TdrDelay needs to be increased. By default, the TdrDelay key value is 2 seconds, it needs to be set to a larger value, such as 100 seconds. This registry key is usually found under the registry path HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers. If it does not exist, you may need to add it and set the value appropriately. Restart the computer for the change to take effect. Please take caution when modifying the system registry by either making backup or having a qualified system analyst to perform the change. If you have more than one GPU card in your system, you may still run into this error if the tool uses the display GPU to perform analysis. To avoid this error is it is recommended to direct the analysis computation to other non-display GPU devices. Follow the given steps below to accomplish this: Add a new OS environment variable CUDA_VISIBLE_DEVICES, if it does not exist. Set the value of the environment variable CUDA_VISIBLE_DEVICES to the GPU ID (0 for the first GPU, 1 for the second GPU, etc.) that you want to use for analysis. Restart ArcMap or ArcGIS Pro application, if you are using it for the analysis. Rerun the tool again. These are some of the common GPU errors and solutions to fix them. If the Viewshed 2 tool still fails to execute due to other GPU or CUDA issues, remember that you can always disable GPU from being used and perform the analysis using CPU only. You can do this using the following steps: Add a new OS environment variable CUDA_VISIBLE_DEVICES, if it does not exist. Set the value of the environment variable CUDA_VISIBLE_DEVICES to -1 (or a number larger than the count of GPU devices on your computer). Restart ArcMap or ArcGIS Pro application, if you are using it for the analysis. Rerun the tool again. For more details on how to configure GPU devices for analysis, see GPU processing with Spatial Analyst.
... View more
08-25-2017
11:30 AM
|
0
|
0
|
1688
|
POST
|
Yes, the Visibility tool is the right tool for this kind of application. However, it seems there is a minor issue in your workflow – Since the roads are the observers, to model the vehicle height on the road, please set the observer offset to 2m. There is no need to set the surface offset to model your application. The viewshed calculation is a global operation, which means that the tool needs to check more than the immediate neighboring cells of the observer in order to determine the visibility. So it is a computationally intensive process. When a polyline is used as input observers, each vertex of the polyline is treated as one observer. Given the large number of polylines in your road network, it is understandable that the visibility tool will take some time to finish. Regarding the output of the Visibility tool (with Frequency option), each cell on the output raster stores the count of observers to whom it is visible. To learn more about how it works please visit http://desktop.arcgis.com/en/arcmap/latest/tools/spatial-analyst-toolbox/using-viewshed-and-observer-points-for-visibility.htm
... View more
02-16-2017
04:33 PM
|
1
|
0
|
526
|
POST
|
Just to clarify it a little, without a vertical coordinate system, the tool will still be able to run, just that it will assume the input raster's Z values and XY coordinate system are in the same unit. So, if your raster's Z values and XY coordinate system are already in the same unit, you don't need a vertical coordinate system. You can ignore this message and still get a correct result from Viewshed 2. If your raster's Z values are in a unit different from XY units (e.g., feet vs meters), and you don't want to use a vertical coordinate system, you must first convert the Z values into XY unit by applying a Z factor before using it in Viewshed 2 tool.
... View more
11-09-2016
02:46 PM
|
2
|
0
|
3801
|
POST
|
There are two types of vertical coordinate systems. One references a spheroid and the other references a gravity-related surface. See the following help page: Vertical datums—Help | ArcGIS for Desktop Viewshed 2 require the height of the vertical coordinate system reference a spheroid. If it references a gravity-related surface, then the warning message 010451 will still show. However, you should be able to run the tool and get a result even though the message is shown.
... View more
11-08-2016
03:19 PM
|
1
|
2
|
3801
|
Title | Kudos | Posted |
---|---|---|
2 | 07-20-2021 02:10 PM | |
1 | 02-16-2017 04:33 PM | |
1 | 03-21-2016 11:23 AM | |
1 | 10-26-2017 11:46 AM | |
1 | 07-27-2018 02:49 PM |
Online Status |
Offline
|
Date Last Visited |
12-29-2023
03:27 PM
|