.. raw:: html .. role:: red ==================== Running Geoprocesses ==================== *Geoprocesses* are spatial computations done with the company datasets in the cloud server to extract additional information not provided in the regular Pathfinder interface. These processes are typically defined to serve advanced needs of specific customers, so they are not available for all companies. If your company requires access to a geoprocess which is not available to you, `contact Gilytics `_. .. note:: :doc:`Viewer users ` can not run geoprocesses, but they can add shared scenarios to see results generated by other users. Access to Geoprocesses ====================== If one or more geoprocesses has been enabled for your company, you can access them from the *Results/Geoprocessing Tools* menu: .. image:: ./images/geoprocessMenu.jpg :align: center :width: 25% When the geoprocessing dialog opens, you can select the geoprocess you would like to run. You can click on the "More" button for information about what each geoprocess does. .. image:: ./images/geoprocessDescription.jpg :align: center :width: 75% When a geoprocess is selected, some options will be displayed below. The specific options shown depend on the geoprocess. Note that the geoprocess description also includes the outputs which will be generated, in this case the intersected geometries and a table with their attributes. After selecting the input options, click on the "Process" button and check the process status in the log until it is completed: .. image:: ./images/geoprocessLog.jpg :align: center :width: 60% .. note:: The actual names of geoprocesses may vary, since they can be exposed with different names for each company. List of Geoprocesses ==================== This is the list of commonly available geoproceses: * **Siting** - :ref:`Optimal siting ` - :ref:`Resistance map classification ` * **Intersection** - :ref:`Base dataset intersection ` - :ref:`Number of crossings ` * **Corridors** - :ref:`Export subcorridor ` - :ref:`Corridor (buffered path) coverage ` - :ref:`Corridor merge ` - :ref:`Corridor map classification ` * **Rasters** - :ref:`Visual impact from observers ` - :ref:`Visual impact from route ` - :ref:`Raster classification ` * **Routing** - :ref:`Hybrid OH-EC planning ` - :ref:`Combined OH + Tunnel routing ` - :ref:`Combined OH + EC routing ` - :ref:`Multipoint routing ` * **Other analyses** - :ref:`Resistance along path ` - :ref:`Hilltop and ridge detection ` - :ref:`Ridge detection (geomorphon) ` - :ref:`Clusterize layer ` - :ref:`Pipeline optimization ` .. _optimal_siting: Optimal Siting -------------- In addition to routing analysis, Pathfinder is often used to determine optimal locations for infrastructures using a limited area, like power plants or electric substations. :ref:`Resistance maps ` can be used as a *suitability map* to locate the infrastructure, with smaller values representing more suitable locations. This geoprocess automatically finds site candidates which optimize the sum of resistance map values (therefore, are more suitable to locate the infrastructure), given the desired area in square meters and the preferred shape (square, rectangle, circle or ellipse). .. image:: ./images/OptimalSiteGeoproc.jpg :align: center :width: 75% In this example, optimal rectangular areas are found fitting low-resistance zones: .. image:: ./images/OptimalSite1.jpg :align: center :width: 50% Similarly, in this example, optimal elliptical areas of the desited size are found on the Resistance Map. .. image:: ./images/OptimalSite2.jpg :align: center :width: 60% This geoprocess also allows the specification a fixed-size rectangular area, so all the solutions found will have the required width and height in meters. Don't forget to *activate the checkbox* to apply these parameters. .. image:: ./images/OptimalSiteGeoproc2.jpg :align: center :width: 75% | .. image:: ./images/OptimalSite3.jpg :align: center :width: 50% As in other geoprocesses, the resulting sites can be exported to a GIS file, and also added to the Pathfinder project. .. _raster_classification: Raster classification geoprocess -------------------------------- It allows users to divide a raster area in different classes depending on the pixel value, outputing a list of datasets, one for each class, which can then be exported or added to the project. .. image:: ./images/RasterClass1.jpg :align: center :width: 80% The user can select: * The raster to classify. It can be a resistance map (marked as [RM]), corridor ([COR]), project raster like the DEM or Slope, or a layer raster. * The number of classes to create. * The method to divide the raster area. - *Per value* divides the raster in classes so that each class covers the same value interval (i.e. if raster values range from 100 to 200 and we select 4 classes, each class will cover 1/4 of the range: class 1 will cover values from 100 to 124, class 2 from 125 to 149, etc.) - *Per area* divides the raster in N classes so that each class covers approximately 1/N of the total area. There are three main uses for this process: **Calculate suitability zones from a Resistance Map** In an optimal siting analysis (for instance, finding best locations for photovoltaic plants, wind farms or electric substations) a resistance map is calculated, reflecting the overall suitability based on the project layers and their resistances. A convenient way to present the siting process results is to extract a number of classes from the resistance map raster, representing more to less suitable areas. The following image shows the original resistance map on the left, the result of the classification per value in five classes (center) and the classification per area (right). .. image:: ./images/RasterClass2.jpg :align: center :width: 90% **Divide a corridor map into classes** When a corridor map is calculated, users can select its width in terms of value or percentile. We can then further analyze and share the corridor by dividing it into vectorized classes near or farther from the optimal value. The following image shows the original corridor on top, and the result of classifying it into three classes and adding them as new layers in the project (below). .. image:: ./images/CorridorClass.jpg :align: center :width: 90% **Extract classes from a project or layer raster** The geoprocess can also be used to classify one of the default project rasters (DEM or Slope), or any other raster added as a layer in the project. In the image below, we can see the original slope map (top) and the result of classifying it into three classes based on the value. .. image:: ./images/SlopeClass.jpg :align: center :width: 80% .. _intersection_geoprocesses: .. _base_layer_intersection: Base Layer Features Intersecting Path ------------------------------------- A common geoprocessing task is to find the objects crossing or near the calculated route. This geoprocess can be used to evaluate the impact of the proposed path on protected areas or find which properties are affected. To execute it, we must select the base dataset (Base Layer) to intersect, the path already calculated in our project and the buffer distance: how close to the path can be the features to be considered "intersected". .. image:: ./images/geoproc_intersect.jpg :align: center :width: 80% After running the geoprocess, we get the *geometries* of the intersected elements, which we can export, add as a layer in the project or display on the map, and a *table* with their attributes, which can be downloaded, for instance, to obtain IDs or names of the elements. .. image:: ./images/geoproc_intersect_result.jpg :align: center :width: 80% In this case, if we select to add the result as a layer, we will find the intersected features under the "Geoprocess output" category: .. image:: ./images/geoproc_intersect_layer.jpg :align: center :width: 80% .. _layer_intersections: Path Number of Crossings ------------------------ In some cases, it is important to know how many times the candidate routes cross certain layers (railways, protected areas, etc.), since this may incurr in additional costs or restrictions. This geoprocess provides the number of intersections between selected paths and layers: .. image:: ./images/geoproc_numintersect.jpg :align: center :width: 80% After running the geoprocess, we get a *table* in CSV format, showing how many times each path intersects each of the selected layers: .. image:: ./images/geoproc_numintersect_result.jpg :align: center :width: 80% .. _subcorridor: Export Sub Corridor ------------------- The :ref:`corridor map ` shows the areas closer to an optimal path. *No data* (transparent) areas show where the cost is too high or forbidden. This geoprocess allows users to extract the valid corridor area near a calculated path (given a maximum distance), or extract the whole valid corredor area if the *full corridor flag* is selected. In order to use this geoprocess, typically the user would select a corridor map from the project or an imported raster layer. .. image:: ./images/geoproc_subcorridor.jpg :align: center :width: 80% The result is a polygon geometry containing the valid corridor area, and maybe holes where the corridor is not valid: .. image:: ./images/geoproc_subcorridor_result.jpg :align: center :width: 80% .. _corridor_coverage: Buffered Path Layer Coverage ---------------------------- In some cases users are interested in knowing the *area* affected by the route across different layers, assuming the path is expanded or buffered by certain width. For instance, if a path is crossing a forest layer, and vegetation must be trimmed near the route, the user may want to calculate the total area to be trimmed. To do this, the user can select the path, the corridor width or buffer, and the layers whose coverage must be calculated: .. image:: ./images/geoproc_area_options.jpg :align: center :width: 80% The resulting corridor can be exported or displayed as a vector layer: .. image:: ./images/geoproc_area_coverage.jpg :align: center :width: 60% The areas covered on the selected layers (in square meters) can be exported to a CSV table: .. image:: ./images/geoproc_area_table.jpg :align: center :width: 60% Note that Pathfinder's :ref:`path analytics chart ` provides instead a *linear coverage*: the lengths and percentages of the path along different layers in the project. .. _corridor_merge: Corridor merge and export ------------------------- This is implemented to merge multiple corridor maps and extract a portion of the merged corridor based on value. Multiple scenario corridores can be selected to be merged, and a minimum value percentage (usually 0, to include the corridor centers) and a maximum value percentage can be selected. .. image:: ./images/CorridorMerge1.jpg :align: center :width: 80% The following image shows an example with two corridors (top and center). Their 50% lower ranges are merged into a single polygonal area, shown in yellow color in the bottom part. .. image:: ./images/CorridorMerge.jpg :align: center :width: 80% .. _raster_geoprocesses: .. _layer_viewshed: Visual Impact from Observers ---------------------------- Geoprocesses can also generate raster data. An example are the visibility analysis processes, which work on a digital elevation model (the DEM automatically generated in the project can be used): This geoprocess calculates a raster whose pixel values represent the number of objects in the layer that can view that location. .. image:: ./images/viewshed.jpg :align: center :width: 80% | The following image shows an example. In this case, we have some recreation areas (green polygons) whose scenery visibility we would like to protect. After running the process, we generate a raster. The value of each pixel indicates how many of the areas can see it. By adding this raster result as a project layer, we can display it with color shades (red in this case) whose intensity matches the visibility values, that is, darker red shades mean those points are visible from a greater number of recreation areas. We can now compare this viewshed with the path location (purple colored line) to check its impact. .. image:: ./images/viewshed_layer.jpg :align: center :width: 75% After calculating the viewshed and adding it as a layer, we can assign it some resistance and then recalculate the results to make the route avoid the most highly visible areas. .. note:: The cost of this geoprocess is proportional to the number of objects in the layer. We must avoid layers containing a large number of objects (like buildings), because the process would take a long time to complete. It is possible to use the clustering geoprocess or another grouping method to reduce the number of objects before running it. .. _path_viewshed: Viewshed (GRASS GIS) -------------------- This geoprocess calculates a raster whose pixels are yes/no values marking the area visible from the selected route. .. image:: ./images/path_viewshed.jpg :align: center :width: 80% In this case the raster only has two shades: visible or not visible. .. image:: ./images/viewshed_path.jpg :align: center :width: 60% With this result, we can easily check which areas and elements are affected by the line, visible to them. .. note:: This geoprocess is faster than the Visual Impact. .. _routing_geoprocesses: .. _hybrid_planning: Hybrid Planning --------------- More and more, combining multiple infrastructure modes or technologies to plan a single route is becoming an important requirement. For instance, it may be necessary to find an optimal powerline path which combines overhead and underground (earth cable) sections. The *hybrid planning geoprocess* addresses this routing problem. Its requirements are: * The area where underground cables are preferred, the *critical area*, must be defined in a project layer. * One scenario must define the *overhead constraints*, but in such a way that the overhead line crosses the critical area. This section will be then substituted by an underground route. * The second scenario (subscenario) must define the *underground cable constraints*. * The Start point must be located outside the critical area. The End point can be either in or out this area. .. image:: ./images/hybrid.jpg :align: center :width: 80% This image shows an example of results, with a blue overhead section and a green underground section. Critical areas are displayed in a transparent red: .. image:: ./images/hybridRouting.jpg :align: center :width: 90% .. note:: This geoprocess will be deprecated. Use the Combined Routing for Tunneling instead. See below. .. _tunnel_planning: Combined Routing (Tunneling) ---------------------------- Similarly, in some countries it is important to combine overhead powerlines with tunnel segments. The *tunnel planning geoprocess* has been implemented to do so by using a custom version of the :ref:`Pathfinder Explore algorithm `. This geoprocess uses *three different scenarios*, one for the conventional technology (typically overhead), a second one with the constraints defining the tunnel sections (usually should have a smaller resistance/cost than overhead for a high elevation, surface protected areas, type of geology, etc.), and a third scenario defining the cost of locating the tunnel entrance (usually must be away from populated areas, but not too far from transportation networks). The geoprocess includes tunnel-specific constraints like maximum and minimum slope, and a maximum and minimum length for the tunnel sections. .. image:: ./images/tunnelGeoprocess.jpg :align: center :width: 80% The results can be displayed in the 2D and 3D views, where the tunnel sections are marked with dashed lines. .. image:: ./images/tunnelView2D.jpg :align: center :width: 60% | .. image:: ./images/tunnelView3D.jpg :align: center :width: 80% This video shows how to use the geoprocess to get combined routes with tunnels: .. raw:: html
.. _EC_planning: Combined routing (OH + EC) -------------------------- This geoprocess is used to find the best overall routes combining overhead and earth cable sections. Although earth (underground) cabling is more expensive, it might be necessary in certain areas (e.g. populated areas), so a combined route is necessary. Same as with the tunneling geoprocess, the user needs to create first **two separate scenarios** with the constraints for the overhead and earth cable sections, calculate their resistance maps, and provide some parameters like the number, maximum and minimum length of the earth cable sections. .. image:: ./images/combinedEC_params.jpg :align: center :width: 80% The results can be seen in the map and 3D views, with the earth cable sections visible as dashed lines. .. image:: ./images/combinedEC_results.jpg :align: center :width: 80% | .. image:: ./images/combinedEC_results3D.jpg :align: center :width: 80% .. note:: The algorithm decides to pick either OH or EC sections depending on their relative resistance in each area, so earth cables will be chosen only where the resistance is smaller than the OH lines. The "Weight EC Resistances" parameter can be used to lower the overall resistance of EC and therefore, make EC segments more likely. .. _multipoint_routing: Multipoint Routing ------------------ Regular route calculation proceeds from the Start point to the End point, going through the optional Intermediate points of the scenario in strict order, as seen in the following image: .. image:: ./images/multipoint01.jpg :align: center :width: 80% For some use cases, like connecting multiple wind turbines with feeder lines of performing power grid extension analysis, we want to find a way to connect multiple points with paths that result in a minimum total resistance, that is, in the most optimal way. In this case, the result of the previous scenario may look like this, where each "edge" (link between two points) appears as a separate path in the scenario results: .. image:: ./images/multipoint02.jpg :align: center :width: 80% Notice that the name of each path shows which points the route section is connecting. Points are **indexed** in this way: * The *Start point* (if defined) has index 0. * If Start is defined, the *Intermediate points* have the same index as it appears on the map (1, 2...). If Start is not defined in the project or the scenario, the Intermediate points are indexed starting with 0, one less than the number it appears on the map. * The *End point* (if defined) has the last index value (5 in the example above). To use the geoprocess: * Define or import in the scenario as :ref:`Intermediate points ` any additional points (other than the Start and End points) that must be connected. * Make sure *the resistance map is already calculated* in your scenario. * Select the Multipoint Routing geoprocess in the dialog open from geoprocessing tools menu, and select the scenario: .. image:: ./images/multipoint03.jpg :align: center :width: 80% .. note:: Because this geoprocess calculates different combination of routes, it may take quite longer to complete than a usual routing process. The geoprocess will automatically choose the best combination of paths to connect all the points, based on the scenarios's resistance map. .. image:: ./images/multipoint04.jpg :align: center :width: 80% Optionally, we can **exclude specific connections**. Imagine that in the previous example we don't want point 2 to be connected to point 5, and neither point 4 to point 8. When we run the geoprocess, we can use the EXCLUDE_LINKS field to specify this constraint as a list of pairs, using the indexing system we described above: [ [2, 5], [4, 8] ] .. image:: ./images/multipoint05.jpg :align: center :width: 40% This time, the optimal connection tree will not contain the excluded edges: .. image:: ./images/multipoint06.jpg :align: center :width: 80% If we look at these last results, they suggest ways we could reduce the cost by sharing some sections in the final design and adding **intermediate distribution points** (marked as red circles in the image). .. image:: ./images/multipoint07.jpg :align: center :width: 60% In fact, we can add these points as new intermediate points and run again the geoprocess to obtain new links in a more optimal network: .. image:: ./images/multipoint08.jpg :align: center :width: 60% Another option available in this geoprocess is to **assume existing connections**. For instance, if we are studying potential expansions of a powerline grid to reach new areas or connect existing substations, we can assume certain paths already exist and use them in this expansion without the need to calculate them. For this purpuse, we can use the ASSUMED_LINKS field, specifying the edges with the same format as the excluded ones. For instance, in the following example we are connecting points 1 to 10, with this initial result: .. image:: ./images/multipoint09.jpg :align: center :width: 75% However, since points 3 and 8 are already linked by a powerline, we can decide to use it in our planning. In this case, because there is no Start point, the indices for these points are 2 and 7, so we specify the assumed edge as [2, 7]: .. image:: ./images/multipoint10.jpg :align: center :width: 40% When we use this existing connecting, the result changes to: .. image:: ./images/multipoint11.jpg :align: center :width: 75% We see that there is no need now of a new path between 4 and 7, so it has disappeared, since 7 is already connected to the grid and there is a more optimal way to reach point 4. .. _path_resistance: Path Resistance Analysis ------------------------ In addition to the :ref:`resistance profile chart `, this geoprocess provides statistics about the total value and the variation of the resistance (taken from the resistance map) along the selected path. It is a convenient way to compare the "cost" of the paths calculated with similar constraints. It is also useful to estimate the resistance of a path in a different scenario from the one used to calculate it. Note that the resistance values reported here will not include the angle cost and other constraints applied in advanced algorithms. The path and the scenario are selected as input: .. image:: ./images/geoprocResistance.jpg :align: center :width: 80% The Results tab will show a button to download the table with the stats: .. image:: ./images/geoprocResistanceOut1.jpg :align: center :width: 80% | .. image:: ./images/geoprocResistanceOut2.jpg :align: center :width: 80% .. note:: Strictly speaking, the resistance values of two paths are only comparable when they belong to the same scenario (or two scenarios with the same layer resistances), and use the same algorithm, since different algorithms may calculate the total resistance with different methods. .. _ridge_detection: Hilltops and Ridges from DEM ---------------------------- Pathfinder creates automatically a digital elevation model (DEM) for the project area. This DEM can be used to automatically detect terrain features like ridges and hilltops. This geoprocess calculates the main ridge lines and hilltops, using some parameters set by the user: - *Minimum ridge length*: minimum length of ridges in meters. This parameter is used to avoid generating ridges that are too small. - *Minimum distance between hilltops*: similarly, we want to avoid hilltops that are too close, so we can specify a minimum distance in meters. - *Hilltop cluster threshold*: with this parameter we can ignore groups of nearby hilltops. As with other geoprocesses, getting the right results might take some trial and error. .. image:: ./images/geoprocRidges.jpg :align: center :width: 80% As a result, we obtain separate layers with the ridge lines and hilltop points, which we can download or add as a layer to the project: .. image:: ./images/geoprocRidgesOut2.jpg :align: center :width: 60% Once these results are added to the project, we can use buffered rings and resistance values to avoid ridges and hilltops in the routing. .. _ridge_geomorphon: Ridges (geomorphon) ------------------- This geoprocess follows a different approach, using `an image processing technique `_ to calculate the ridge lines. These are the input options: .. image:: ./images/geoprocRidgesGeomorph.jpg :align: center :width: 80% These are the ridge lines (green) seen on the terrain: .. image:: ./images/geoprocRidgesGeomorphRes.jpg :align: center :width: 80% .. _clustering: Clusterize Layer ---------------- This geoprocess can be used to group together elements into larger shapes, for instance, to find building groups representing populated areas. The geoprocess has some parameters to specify the amount of objects to include in each group and the maximum separation distance in a group. .. image:: ./images/geoprocCluster.jpg :align: center :width: 80% | .. image:: ./images/geoprocClusterOut.jpg :align: center :width: 50% .. _pipeline: Pipeline optimization --------------------- This is a complex geoprocess that optimizes the design of an oil, gas or hydrogen pipeline given design constraints and costs, including pipe elements and pumping or pressure reduction stations, given a path calculated or imported into Pathfinder. This geoprocess implements the methodology described in `this article `_. .. image:: ./images/pipeline01.jpg :align: center :width: 70% It generates multiple outputs, including the geographical location of the stations, the pressure variation and the total cost. .. image:: ./images/pipeline02.jpg :align: center :width: 70% Among its parameters, different pipe section sizes and costs can be specified. For instance, if two types of pipe sections are available, its specification looks like this: .. image:: ./images/pipeline03.jpg :align: center :width: 70% Let's take, for instance, this path calculated in Pathfinder: .. image:: ./images/pipeline04.jpg :align: center :width: 70% As part of the result, we get the location of the stations, which can be added as layers in Pathfinder: .. image:: ./images/pipeline05.jpg :align: center :width: 50% This geoprocess requires expert knowledge. For more information about using it, check with Gilytics. .. _geoprocess_results: Geoprocessing Results ===================== After the geoprocess is completed, open again the Geprocessing dialog and switch to the "Results" tab of the Geoprocessing Tools dialog to access the output data. The results will still be available in this dialog if you reopen the project later on. .. image:: ./images/geoprocessOutputDlg.jpg :align: center :width: 80% Depending on the geoprocess, different types of output may be available: * *Table output*: it can be saved to local disk by clicking on the "Download" button For instance, in the case of the "Intersect Layer" geoprocess, the table contains the list of features intersected by the path, with their geometries: .. image:: ./images/geoprocessTable.jpg :align: center :width: 80% | * *Vector output*: geoprocesses also generate spatial data in the form of points, lines or polygons. This output can be: - *Downloaded* in a GIS-compatible format (GeoJSON, GeoPackage). - *Displayed* on the map by clicking on the "Show on Map" button. Notice that in this case the results do not appear as an item in the Layers panel, but they will be visible on the Map view. For instance, in the case of the "Intersect Layer" geoprocess, we can see on the Map the intersected objects: .. image:: ./images/geoprocessMap.jpg :align: center :width: 80% Click again on the "Show on Map" button to hide the results. - *Added as a layer* by clicking on the "To Layer" button. In this case the resulting data will be added to the project under a "Geoprocess Results" group, and they can be used in the scenarios as any other layer. * *Raster output*: it can also be: - *Downloaded* as a TIF file to be used in a GIS or CAD software. - *Added as a raster layer* to the project. For instance, in the case of the viewshed geoprocesses we described earlier, they would appear as a new layer: .. image:: ./images/raster_geoproc_layer.jpg :align: center :width: 40% After switching the visualization on, these layers are displayed on the view: .. image:: ./images/raster.jpg :align: center :width: 75% * *Number output*: when the result is a single number. In this case, the value is printed directly in the results dialog: .. image:: ./images/geoproc_float.jpg :align: center :width: 65% .. note:: The last hundred geoprocessing results are kept for each user and they should be available in this tab. If they need to be preserved, it is recommended to download the result files or add them as layers in the project to make sure they are not eventually deleted. .. include:: footer.rst