Versions Compared

Key

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

When you have a layer that you want to be able to graphically select from, and report on its attributes, it needs to be set up as an Active Layer. This article assumes that you already have some Active Layers configured in Weave. 

Step-by-step guide

...

  1. If the layer you want to add as a new Active Layer is new Active Layer is in the Table of Contents (TOC)/Map Layers, make a note of the name shown in the Weave TOC (on the Layers panel).
      • Generally, an Active Layer is related to a Map Layer from the TOC but it doesn't have this does not need to be as the case. In the extreme, you can have just one raster base map in your TOC but you will still be able to do a graphical selection and have the selection appear over the raster map. In this case it will appear as though features on the raster map have been selected, but in fact it is the vector layer, that covers the same geographic area as the raster map, that is used in the graphical selection (through the Spatial Engine). 
         
  2. Open your toc.xml file for editing. Search for the name of the Map Layer you identified above (it will appear as the label XML Attribute). Note the value of the layer XML Attribute.
     
  3. While you 're in have the toc.xml open, add a an XML Attribute called entity to the end of that entry line.

    In the example below the XML Attribute entity attribute is  is added to the counciltrees layer and is set to counciltreescounciltrees:

    Code Block
    languagexml
    themeEclipse
    <entry id='l_mapengine.main_counciltrees' layer='counciltrees' label='Council Trees' checked='false' entity='counciltrees'/>
    

    Adding this entity attribute sets the relationship between the Active Layer and the Map Layer that is drawn from the TOC and means the Map Layer in the TOC will be highlighted when the corresponding layer is selected from the Active Layer drop-down list. To have the Set Active option available on the TOC Context Menu (right mouse click), ensure you have the weave.toc.selectLayer item enabled in the client_main.xml file - this . This will most likely have been done by Cohga during your Weave installation. 



  4. Open your entity.xml file for editing. Add an XML Element for this entity. The value of the (XML Attribute) id  for  for the entity (shown in the example code below) should match the (XML Attribute) entity from the toc.xml file (shown in Step 3). In our example the value of the id is "counciltrees". 
     

    Code Block
    languagexml
    themeEclipse
    <entity:entity id='counciltrees'>
         <label>Council Trees</label>
    </entity:entity>


    The label in the entity.xml doesn’t have to match the label in the toc.xml file but it’s unless there’s a good reason why these should be different, it’s recommended to keep them the same to avoid confusion for the user, unless there’s a good reason why these should be different.

  5. If you refresh your browser you'll now see the Active Layer has been added to the Active Layer drop-down list (i.e. Council Trees). However it will have a different icon to the other Active Layers in the list as it hasn't been linked to a spatial database. 


     
  6. Stay in the entity.xml file. You now need to specify where the spatial data for the selection will be coming from by adding another mapping XML Entity that links the Active Layer to its relevant Spatial Engine. Add this to the mapper XML Element that is reading from the required Spatial Engine,and include the table name, key field, etc. as shown below.

    Code Block
    languagexml
    themeEclipse
    <mapping>
    	<entity>counciltrees</entity>
    	<spatialengine>postgis</spatialengine>
    	<table>counciltrees</table>
    	<key>ogc_fid</key>
    	<dynamic>true</dynamic>
    </mapping>


    You can also set a filter XML Tag so that only features that meet certain criteria will be considered for selection (see Spatial Mapper).

    If there are no Active Layers from the Spatial Engine you need to access already defined in the entity.xml file, then you'll need to add a new tag for that Spatial Engine. For simplicity, give this mapper an id of mapper.<spatialengine_id> as shown below. 

    Code Block
    languagexml
    themeEclipse
    <mapper:mapper id="'mapper.postgis"'>
    	<mapping>
    		<entity>counciltrees</entity>
    		<spatialengine>postgis</spatialengine>
    		<table>counciltrees</table>
    		<key>ogc_fid</key>
    		<dynamic>true</dynamic>
    	</mapping>
    </mapper:mapper>


    If you refresh your browser you'll now see that the icon for that Active Layer (i.e. Council Trees) has changed to a layer-like icon.This icon indicates that the Active Layer is now a spatial layer.



  7. If you now run a spatial selection, the selected features will be highlighted in the Map Window. The number of features selected will be reported

    in the bottom right of

    as the "Selection Size" in the Status Bar at the bottom right corner of the Weave window

    , in the Status Bar, as “Selection Size”.

    Done.

     

Info

Also refer to the following sections of the Weave System Administrator Guides:

...

Filter by label (Content by label)
showLabelsfalse
max5
spacescohga
showSpacefalse
sorttitle
typepage
cqllabel in ("layer","search","active") and type = "page" and space = "cohgaweavedocs1"
labelslayer search active

Page Properties
hiddentrue
Related issues