EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB263794: How to configure the mstrGeoShapesConfig.xml for MicroStrategy Web or Mobile Server


Community Admin

• Strategy


The article explains how to configure the mstrGeoShapesConfig.xml for MicroStrategy Mobile Server to serve Out of box and Custom shape data.

The article explains how to configure the mstrGeoShapesConfig.xml for Strategy Web / Mobile Server for OOB and Custom shape data.
The purpose of this file is to introduce an abstract configuration object that is independent to map service providers. Both Google maps and ESRI maps can share the same configuration defined in the mstrGeoShapesConfig.xml. The Mobile code also access the shape configuration data from this XML. The file is located at folder WEB-INF/xml/config.

Shape Configure

The components inside mstrGeoShapesConfig.xml.
The root element of the mstrGeoShapesConfig.xml is <shape-config>. The shape-config includes the following three elements.

  • shapes The shape configuration for various
  • roles The predefined georoles.
  • layers The layer elements is used for holding the external link to custom files.

The esriConfig.xml extends the elements from mstrGeoShapesConfig.xml. Only ESRI specific items are defined in esriConfig.xml.

Custom KML/SHP shape configuration in your plugin

  • In your map plugin folder, create a new folder tree WEB-INF/xml/config and place the modified mstrGeoShapesConfig.xml under config folder. If you want the custom shape to be used by mobile client, then make the same change in your mobile server. You can do the below changes in esriConfig.xml as well, but the custom shape then can only be used for ESRI map on Web.
  • Create layer object in the mstrGeoShapesConfig.xml to point the KML/SHP file


<layers>
	<layer id="7" title="US-States kml" ml="US-States-View.kml"/>
	<layer id="8" title="US-Regions" ml="/US-Regions-View.kml"/>
	<layer id="9" title="Continents" ml="kml/World-Continents.kml"/>
	<layer id="10" title="Continents" ml="kml/test.kml"/>
</layers>

  • Create shape object to point to the layer object. Give it a unique id and unit shapeCat value.

Set the following attribute values accordingly: plugin, custom, and layerId.


<shape id="900" 
   custom="true"
   plugin="ConnectorForMap"
   default="false"
   desc="My Shape"
   roleId="2"
   type="Polygon"
   shapeCat="101213"
   layerId="7" />

In this example, the custom KML file is located inside plugin /ConnectorForMap/US-States-View.kml. Note that the name of the plugin is defined in the plugin attribute of the <shape> node. The file path inside the plugin is defined in ml attribute of <layer>.
If the shape names are located inside <name> tag inside <PlaceMarker>, the above setting will be enough. If the shape names are in different locations, more advanced setting on KML/SHP file is required. Eg-

<layers>
	<layer id="11" title="Continents" ml="kml/US-States-View-With-Abbr.kml">
		 <shapeKeys>
			<shapeKey key="name" path="/ExtendedData/Data[@name='name']/Value"/>
			<shapeKey key="abbr" path="/ExtendedData/Data[@name='ISO_2DIGIT']/Value"/>
			<shapeKey key="id" path="/ExtendedData/Data[@name='OBJECTID']"/>
		</shapeKeys>
	</layer>
</layers>  

 

<shapes> <shape id="901" custom="true" plugin="ConnectorForMap" default="false" desc="US States KML" roleId="2" type="Polygon" descWeb="mstrweb.9229" descFlash="mstr.1622" descDesktop="26973" shapeCat="909" shapeKey="name" layerId="11" />


<shape id="902" custom="true" plugin="ConnectorForMap" default="false" desc="US States Abbreviation" roleId="2" type="Polygon" descWeb="mstrweb.9229" descFlash="mstr.1622" descDesktop="26973" shapeCat="910" shapeKey="abbr" layerId="11" /> </shapes>

 
In the example, the KML file is located in the plugin/ConnectorForMap/kml/US-States-View-With-Abbr.kml. User can define a name resolution path (similar to XPath /ExtendedData/Data[@name='ISO_2DIGIT']/Value ) for a given entry (e.g. 'name', 'abbr', and 'id') to indicate where is the shape query field values inside KML file. Then each <shape> node can refer to the entry indicating that this shape configure is using a defined query field values in proper layer.
 
For more details on creating custom shapes, refer to the MicroStrategy Knowledge Base technical note
ADDITIONAL INFORMATION:
ESRI base map and Google base map use coordinate system: World Geodetic System 1984 (WGS84) and the coordinate system CH1903+ / LV95 (0), cannot be displayed on a WGS 1984 map (MSTR doesn't support it).

KB263794


Comment

0 comments

Details

Knowledge Article

Published:

April 18, 2017

Last Updated:

February 13, 2024