Geo Plugins tutorial: Difference between revisions

From Tygron Support wiki
Jump to navigation Jump to search
Line 370: Line 370:


In the main menu, opt to create a new [[Project]] and select the [[Template Project]] created so far.
In the main menu, opt to create a new [[Project]] and select the [[Template Project]] created so far.
[[File:GeoPluginTutorial-newproject-template3.jpg|650px|thumb|center|.]]


In the location selection screen, place the location selection on approximately the same location as the [[Template Project]] is on. Of importance is to have it at least cover the area where the dataset was created earlier.
In the location selection screen, place the location selection on approximately the same location as the [[Template Project]] is on. Of importance is to have it at least cover the area where the dataset was created earlier.
[[File:GeoPluginTutorial-location3.jpg|650px|thumb|center|.]]


Open the "Advanced Options" panel.
Open the "Advanced Options" panel.


Switch to the "Custom" tab. Ensure the [[Geo Plugin]] for Buildings" is deactivated. Ensure the [[Geo Plugin]] for "Trees" is active.
Switch to the "Custom" tab. Ensure the [[Geo Plugin]] for Buildings" is deactivated. Ensure the [[Geo Plugin]] for "Trees" is active.
[[File:GeoPluginTutorial-advanced-option-geoplugin-trees.jpg|650px|thumb|center|.]]


Start the map creation process.
Start the map creation process.


After the [[Project]] has generated and the [[3D world]] is visible, find the locations where the dataset features are located. Previously, [[Building]]s were generated in the area. Now notice t3 trees have been created.
After the [[Project]] has generated and the [[3D world]] is visible, find the locations where the dataset features are located. Previously, [[Building]]s were generated in the area. Now notice 3 trees have been created.
 
[[File:GeoPluginTutorial-trees.jpg|650px|thumb|center|There are trees immediately present in the newly generated [[Project]].]]


In the editor, go to:
In the editor, go to:
Line 386: Line 394:


Click on one of the trees. Notice the polygon of the tree is only a small shape indicating the location of the trunk.
Click on one of the trees. Notice the polygon of the tree is only a small shape indicating the location of the trunk.
[[File:GeoPluginTutorial-trees-shape.jpg|650px|thumb|center|The polygons of the trees, highlighted by blue indication lines.]]


In the right panel, switch to the "Details" tab, en select the "CONSTRUCTION" filter. Notice the "Floor Height M" value is red (indicating it has a non-default value) matching the value which was set in the data these trees were based on.  
In the right panel, switch to the "Details" tab, en select the "CONSTRUCTION" filter. Notice the "Floor Height M" value is red (indicating it has a non-default value) matching the value which was set in the data these trees were based on.  
[[File:GeoPluginTutorial-trees-details.jpg|650px|thumb|center|The [[Floor height m (Function Value)|Floor Height M Function Value]] is set to a specific value.]]


{{Tutorial completed
{{Tutorial completed

Revision as of 15:38, 4 November 2022

This tutorial is a stub.

Prerequisites

The following prerequisites should be met before starting this tutorial:

  • Parts of this tutorial are a continuation of the Template Project tutorial. If possible, and if you have not already done so, please complete that tutorial first. If you have not yet followed the tutorials related to those subjects please do so first.
  • This tutorial can best be started with a Project in the city of The Hague in the Netherlands, due to one of the used data sources being specific to that city. Note that multiple new Projects will be created during this tutorial.
  • To work with Project templating functionality fully (specifically, to assign Template status to a Project), either Domain Admin access rights are required, or the assistance of a Domain Admin for your organisation is required. 

Preparations

Take the following steps as preparation for following this tutorial:

  • Start your project. This can be a pre-existing project, or a newly created project.

Create a dataset for the tutorial

Any Project may contain any number of Geo Plugins. However, for the purpose of this tutorial a Project in a specific location is required, due to some of the steps relying on a datasource which has data only in a specific region.

Find an open spot in the Project's 3D world.

An open spot.

In this spot, data can be created which can then be set up to import.

Draw 3 Areas. They can be any shape or orientation. However, ensure they do not overlap.

Three drawn Areas, visualized with an Areas Overlay. Ensure they have shapes which do not overlap.

Give one of the Areas an "OFFICES" Attribute, with value 1.

An Area with an OFFICES Attribute.

Give another of the Areas a "RESIDENCES" Attribute, with value 1.

An Area with a RESIDENCES Attribute.

Give each of the Areas a "GREEN_HEIGHT" Attribute, with values between 10 and 25.

The Area now also has a GREEN_HEIGHT Attribute.

The result should be:

In the editor, go to:

Editor → Current Situation (Ribbon tab) → Areas (Ribbon bar) → Export Geo Data (Dropdown)

This opens the window for exporting the Areas' geo data.

The geo data export window.

Opt to export the created Areas as a GeoJSON to the Geo Share. This will create a small file in your Domain's Geo Share space, which can be used as a source for geo data.

The Geo Share now has a file for the Areas exported from this Project.

The file on the Geo Share now exists separately from the Project and Session it originated from. This file will be used a few times further in the tutorial.

Introduction to Geo Plugins

The Tygron Platform allows for the importing of geo data to enrich a Project. This can serve to both amend data which the Tygron Platform already supplies, but also to add types of data which are unique to the use-case at hand. When importing data, almost all of the related operations are to determine precisely how the imported data relates to the potential data types and subtypes available in a Tygron Platform Project.

Geo Plugins offer a way to store such a mapping, so that import operations can be easily repeated. In them, information is stored about which data can be found in the relevant data source, and how that data should be interpreted or modified when it is imported. They can then be used when manually importing data, but can also be called upon when a new Project is created to automatically obtain data relevant for the use-case and models the Template Project entails.

Geo Plugin for Buildings

One of the most important benefits of Geo Plugins is the ability to define a mapping between data in a data source, and the various Functions available in the Tygron Platform. Such a Geo Plugin can then be used while importing data, such as the dataset created earlier, and saved to the Geo Share.

In the editor, go to:

Editor → Tools (Ribbon tab) → Geo Plugins (Ribbon bar)

At the bottom of the left panel, set the type selection to BUILDINGS, and then opt to add a Geo Plugin of that type. It will appear in the list.

Add a BUILDINGS Geo Plugin.

In the right panel, set the name of the Geo Plugin to "Geo Plugin for Buildings".

Name for the Geo Plugin.

In the right panel, select the GeoLinks tab

The GeoLinks tab. A Geo Plugin starts without any specific Geo Links.

At the bottom of the right panel click on "Add" to create a Geo Link.

Add a Geo Link.

Select the Geo Link. The bottom panel will appear with details for the Geo Link.

The bottom panel for the Geo Link of a BUILDINGS Geo Plugin.

A Geo Link is a specific connection which can be applied to any feature. Based on the configuration of the Geo Link, a feature will either be processed and imported, or it will not be processed by this Geo Link. With multiple Geo Links in a Geo Plugin, every feature is checked for whichever Geo Link has the best match (if any) and then that Geo Link will dictate how the feature is imported.

This first Geo Link will be a linkage for data to interpret features in geo data as offices.

Change the name of the Geo Link to "Offices link".

Click on "Select Function", and select any office Function.

The Geo Link configured with the proper name and Function.

Switch to the bottom panel's "Matching Attributes" tab. This allows configuring which attributes (and if desired, which values for those attributes) should be found in a feature for it to be processed by this specific Geo Link.

The Geo Link can be configured to require a feature to have specific Attributes before it is processed.

Add an Attribute.

Double-click to edit it, and change the Attribute to "OFFICES".

This completes the configuration of this Geo Link.

The Geo Link will require a feature to have an OFFICES Attribute, with any value.

In the right panel, add another Geo Link.

Set the Geo Link's name to "Residences link", and set the Function to any residential Function, such as "Affordable Housing".

The Geo Link configured with the proper name and Function.

Under "Matching Attributes", add an Attribute, and change that Attribute to "RESIDENCES"

The Geo Link will require a feature to have an RESIDENCES Attribute, with any value.

Import Buildings using the Geo Plugin

Now that the Geo Plugin is set up, it can be used while importing geo data.

In the editor, go to:

Editor → Current Situation (Ribbon tab) → Buildings (Ribbon bar) → Import Geo Data (Dropdown)
The Geo Data Wizard allows for the importing of geo data.

As data source to import data from, opt to import a GeoJSON.

Select the file which was created earlier and stored on the Geo Share. It should be easily parsed and recognize 3 features.

Select the file on the GeoShare which was prepared for the tutorial.

Continue to the step regarding names, and opt to create names based on your own prefix. Enter a name along the lines of "Geo Plugin Building".

Enter a name of your choosing.

Continue to the step regarding Function Mapping. In that step, opt to use a Geo Plugin, and select the Geo Plugin created earlier.

Select the Geo Plugin which was set up map features to Buildings.

Continue through the rest of the steps of the import wizard, and finish it. The Buildings will now appear in the 3D world.

The buildings are now imported into the 3D world.

Notice that although there are 3 features in the dataset, only 2 features are loaded in. This is because the Geo Plugin has a few Geo Link which the features can match with, and 1 of the features is not matched by any of the Geo Links. Contrary to how the Geo Data Wizard's manual mapping options structurally defines a default Function for any unmatched features, an import with a Geo Plugin will ignore features which are not matched by any of the Geo Links.

Using a Template with a Geo Plugin

One of the most important benefits of Geo Plugins is that they can be configured to automatically include data when a Template Project is used to create a new Project. While the new Project is created and the Tygron Platform establishes connections to external data sources, any active Geo Plugins define additional connections which should be used to obtain more data for the Project automatically.

To do this, the Geo Plugin requires a configuration of a related Project Source as well. A new Project Source definition must be created for the dataset which is currently present on the Geo Share, and that Project Source can then be referenced by the Geo Plugin.

In the editor, go to:

Editor → Tools (Ribbon tab) → Geo Plugins (Ribbon bar) → Geo Plugin for Buildings (Left panel)

In the right panel, find the "Source" configuration option, and click on "Select".

.

This will open the "Select Source" window.

.

Click on "Add Source". This will open the Source Wizard.

.

Opt to select a service found in the Geo Share, and continue to the next step.

.

In the list of available GeoJSONs, select the GeoJSON of the previously created dataset, and continue to the next step.

.

In the final step, the name and the underlying URL of the Project Source can be reviewed. Nothing needs to be changed.

.

Continue past the final step. The wizard will close, and the "Select Source" window will close as well. Notice the newly created Project Source is configured in the Geo Plugin.

.

Save and exit the Project, and restart the Tygron Platform application.

In the main menu, switch to the projects overview and ensure the project created so far is set to "Template".

.

In the main menu, opt to create a new Project and select the Template Project created so far.

.

In the location selection screen, place the location selection on approximately the same location as the Template Project is on. Of importance is to have it at least cover the area where the dataset was created earlier.

Ensure the location is in the same location as the dataset, and by extension the same location as the Template Project.

Open the "Advanced Options" panel.

The "Advanced Options" allow for more insight and flexibility in the data used for new Projects.

Switch to the "Custom" tab. Take note that the Geo Plugin created is listed here, and can be set to active or inactive. Ensure the Geo Plugin is active.

The "Advanced Options" show the available Geo Plugins.

Start the map creation process.

While the data is being collected from the various data sources, notice an additional entry is present named "Custom Buildings".

An additional entry while loading data.

After the Project has generated and the 3D world is visible, notice that the Buildings from the created dataset are immediately present in the 3D world.

A newly created Project immediately contains the features of the dataset as Buildings.

Geo Plugin for WFS

Geo Plugins are best used as connectors to live data sources with coverage for all potentially relevant areas a Project or Template may apply to. Setting up a Geo Plugin for a WFS is similar to setting one up for GeoJSON data, but with a few more details related to the specific service. Specifically, a WFS is structured in layers and is usually queried in parts, which means some configuration must be provided to properly request the relevant data from it.

Reopen the Template Project in the editor.

In the editor, go to:

Editor → Tools (Ribbon tab) → Geo Plugins (Ribbon bar)

At the bottom of the left panel, set the type selection to AREAS, and then opt to add a Geo Plugin of that type. It will appear in the list.

In the right panel, set the name of the Geo Plugin to "Geo Plugin for districts".

.

In the right panel, find the "Source" configuration option, and click on "Select". This will again open the "Select Source" screen.

Select the Source "CBS Buurten".

.

Click "OK" This will close the "Select Source" window.

.

In the right panel, find the "Layer id" configuration option, and click on "Select".

.

This will open the "Layer selection" prompt.

.

Select the "wijken" layer (the name may differ slightly), and click "OK". The "Layer selection" prompt will close, and the "Layer id" will be filled out in the right panel.

.

Additional inputs have appeared in the right panel.

Find the "Name Attribute" configuration option, and click on "Select".

.

This will open a prompt with which to select the name Attribute. Areas created by this Geo Plugin will have a name based on what the original feature had as a value in this Attribute.

.

Select the attribute "wijknaam", and click "OK". The prompt will close, and the "Name Attribute" will be filled out with the name of the selected Attribute.

.

Find the "Unique ID Attribute" configuration option, and click on "Select".

.

This will open a prompt with which to select a uniquely identifying Attribute of the source data. This is important when data can be queried for large extents, as larger extents will require multiple queries to obtain all the data. To prevent the same feature to be loaded in multiple times, the features are checked to have a uniquely identifying Attribute, and duplicates are discarded.

Select the attribute "wijkcode", and click "OK". The prompt will close, and the "Unique ID Attribute" will be filled out with the name of the selected Attribute.

.

The configuration of the Geo Plugin is now such that it should refer to the dataset of districts of the dutch CBS, using the "wijknaam" (district name) as the name for the resulting Areas in the Project, and using the "wijkcode" (district code) to uniquely identify the features so as to prevent duplicates.

Using a Template with a WFS Geo Plugin

Save the Project.

Note that you may have to set the editing rights to "WRITE" before you can save the changes. If this is the case, set the editing rights to "WRITE", then save the Project, and then set the editing rights back to "READ".
If all rights are set to READ, set the rights for the owner to WRITE, then save, then set the rights back to READ again.

Exit the Project. As the Project has just been explicitly saved, the Project does not need to be saved on close again.

Restart the Tygron Platform application.

In the main menu, opt to create a new Project and select the Template Project created so far.

.

In the location selection screen, it is recommended to again place the location selection on approximately the same location as the Template Project is on. For the demonstration of the WFS, the location can vary more as the dataset has coverage on all of the Netherlands.

.

Start the map creation process.

While the data is being collected from the various data sources, notice an additional entry is present named "Custom Areas".

.

After the Project has generated and the 3D world is visible, go to:

Editor → Current Situation (Ribbon tab) → Areas (Ribbon bar)

Notice a list of Areas has been added to the Project automatically. The list of Areas is similar to the list of Neighborhoods, but is a higher-level urban subdivision.

A list of district from the CBS, loaded in as Areas automatically in a new Project.

Geo Plugin modifying data

As part of the importing process, Geo Plugin have the ability not only to obtain data bus also to modify it to better match the calculation methodology of the Tygron Platform or of the implemented calculation models.

Reopen the Template Project in the editor.

In the editor, go to:

Editor → Tools (Ribbon tab) → Geo Plugins (Ribbon bar)

Add a new Geo Plugin for BUILDINGS.

Set the name of the Geo Plugin "Trees".

.

Find the "Source" configuration option and click on select to open the "Select Source" screen.

Because a Project Source for the dataset on the GeoShare was already created when creating the first BUILDINGS Geo Plugin, the source can be directly selected and confirmed without the need to create it again.

.

The Geo Plugin now has the source configured.

.

In the right panel, switch to the GeoLinks tab and add a new Geo Link. Select it.

A single Geo Link is added.

In the bottom panel, change the "Name" of the Geo Link to "Default trees".

Set the Function of the Geo Link to "Default Deciduous Trees".

.

The way the Geo Link is set up now it will load in the features it finds as trees. However, trees have a couple of special properties in the Tygron Platform which the original dataset may not take into account. A Geo Link can be configured to bridge that difference.

Set the "Geometry" option of the Geo Link to RADIUS_CENTERPOINT.

.

This option will cause a feature to not be interpreted as a polygon as it is drawn in, but as a singular point which is then consistently buffered. This is important when the source data has trees drawn stylistically (e.g. as a larger extend visually resembling the foliage) rather than as a single trunk position. Loading it in as a point will still place the tree, but will prevent directly surrounding structures from being overwritten.

Switch to the "Mapped Attributes" tab.

Add an Attribute named "GREEN_HEIGHT", and set its rename value to "FLOOR_HEIGHT_M".

This will cause the GREEN_HEIGHT Attribute, if it is present in the data, to be renamed to FLOOR_HEIGHT_M. Because the FLOOR_HEIGHT_M attribute is used to set the height of trees, this means the dataset's Attribute of GREEN_HEIGHT will now directly dictate the height of the trees loaded in via this route.

Using a Template with multiple Geo Plugins

Save the Project.

Note that you may have to set the editing rights to "WRITE" before you can save the changes. If this is the case, set the editing rights to "WRITE", then save the Project, and then set the editing rights back to "READ".

Exit the Project. As the Project has just been explicitly saved, the Project does not need to be saved on close again.

Restart the Tygron Platform application.

In the main menu, opt to create a new Project and select the Template Project created so far.

In the location selection screen, place the location selection on approximately the same location as the Template Project is on. Of importance is to have it at least cover the area where the dataset was created earlier.

.

Open the "Advanced Options" panel.

Switch to the "Custom" tab. Ensure the Geo Plugin for Buildings" is deactivated. Ensure the Geo Plugin for "Trees" is active.

.

Start the map creation process.

After the Project has generated and the 3D world is visible, find the locations where the dataset features are located. Previously, Buildings were generated in the area. Now notice 3 trees have been created.

There are trees immediately present in the newly generated Project.

In the editor, go to:

Editor → Current Situation (Ribbon tab) → Buildings (Ribbon bar)

Click on one of the trees. Notice the polygon of the tree is only a small shape indicating the location of the trunk.

The polygons of the trees, highlighted by blue indication lines.

In the right panel, switch to the "Details" tab, en select the "CONSTRUCTION" filter. Notice the "Floor Height M" value is red (indicating it has a non-default value) matching the value which was set in the data these trees were based on.

The Floor Height M Function Value is set to a specific value.

Final notes

Although not part of the general explanation provided in this tutorial, the following notes are important to keep in mind:

Tutorial completed

Congratulations. You have now completed this tutorial. In it, you have learned how to create Geo Plugins and use them to automatically map geo data, and use them to automatically retrieve data when using your Project as a Template to create a new Project.