Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The next steps are to add a New Analysis, a Task, and a result schema that tells the analysis how to create our result.

New Analysis

Analysis Description

To create a new analysis, open the Manifest.MF if it isn't already open and do the following

  1. Click on the Extensions tab and click the Add... button
  2. In the New Extension wizard that opens, search for ncsa.analysis.newAnalyses, select it and click Finish.
  3. After adding the extension point, if Eclipse did not add blank new analysis element, right click on the extension point and select New > analysis
  4. The next step is to fill in the required parts for the new analysis. Enter the following information
    • id: ncsa.maeviz.building.example.analysis.buildingSoilAnalysis
    • name: Building Soil Analysis
    • tag: buildingSoilAnalysis
    • category: My-Buildings
  5. The final requirement is a descriptor. I recommend creating a new folder inside your plug-in called descriptions and adding a new file called BuildingSoilAnalysis.xml that we will fill in later. After creating this file, you will need to specify it in the descriptor field of your new analysis. You should now have a something similar to the image below:

Analysis Task

The next step is to create a new analysis task. This is the Java code that will be executed by the new analysis to produce our building soil analysis output. To create a new task, do the following:

  1. Click on the Extensions tab and click the Add... button
  2. In the New Extension wizard that opens, search for ncsa.tools.ogrescript.ogreTasks, select it and click Finish.
  3. After adding the extension point, if it did not add a blank task element, right click on it the extension point and select New > ogreTasks.
  4. For the new analysis task, enter the following details
    • id: ncsa.maeviz.building.example.task.BuildingSoilTask
    • name: Building Soil Task
    • tag: buildingSoilAnalysis
    • class: ncsa.maeviz.building.example.task.BuildingSoilTask

It is critical that the tag for the Task be identical to the tag for the analysis since this is how MAEviz determines which task goes with which analysis. After entering the text for the class field, if you click on the class, a source file will be generated for you. Where it says Superclass locate the class called SimpleFeatureTask and click Finish. You should see a wizard similar to the one below:

Analysis Result Type

The next step is to create a result type schema to specify the new fields created by our analysis. This tutorial will not go into detail about the schema file since it is behind the scope of this tutorial.

  1. Click on the Extensions tab again and click the Add... button
  2. In the New Extension wizard that opens, search for ncsa.gis.gisSchemas, select it and click Finish.
  3. After adding the extension point, if it did not add a blank schema element, right click on the extension point and select New > gisSchema.
  4. For the new result type, enter the following details
    • id: ncsa.maeviz.building.example.schemas.buildingSoilResults.v1.0
    • name: Building Soil Results
    • version: 1.0
    • type: buildingSoilAnalysis
    • *description: *
    • file: gisSchemas/buildingSoilResults_1.0.xsd
    • format: shapefile
    • requiredFields: soiltype
    • mapLayer: 10

For the schema file buildingSoilResults_1.0.xsd, please enter the following information:

Code Block
xml
xml

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:gml="http://www.opengis.net/gml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ionicsoft.com/wfs" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:iwfs="http://www.ionicsoft.com/wfs" targetNamespaceOptionnal="true" xmlns="http://www.ionicsoft.com/wfs" elementFormDefault="qualified">
    <xsd:import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/2.1.2/feature.xsd"/>
    <xsd:element name="building-soil-analysis" substitutionGroup="gml:_Feature" type="iwfs:building-soil-analysis"/>
    <xsd:complexType name="building-soil-analysis">
      <xsd:complexContent>
        <xsd:extension base="gml:AbstractFeatureType">
          <xsd:sequence>
            <xsd:element name="maeviz.soiltype" minOccurs="0" nillable="true" type="xsd:integer"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:schema>

Example Plug-in

You can download the example plug-in that contains everything in the tutorial by doing the following: