Hi all,<br /><br />i am using projected coordinate system in my new map how to change the below code to accomodate this. Instead of ll84 i am using wgs84 and UTM<br /><br />&lt;%--<br />&nbsp; -This file contains methods to create a temporary feature source and a temporary layer.<br />&nbsp; <br />--%&gt;<br />&lt;%@ page contentType="text/html; charset=UTF-8" %&gt;<br />&lt;%@ page import="org.osgeo.mapguide.*" %&gt;<br />&lt;%@ page import="java.util.*" %&gt;<br />&lt;%@ page import="java.io.*" %&gt;<br />&lt;%@ page import="javax.xml.parsers.*" %&gt;<br />&lt;%@ page import="javax.xml.transform.*" %&gt;<br />&lt;%@ page import="javax.xml.transform.dom.*" %&gt;<br />&lt;%@ page import="javax.xml.transform.stream.*" %&gt;<br />&lt;%@ page import="org.w3c.dom.*" %&gt;<br /><br />&lt;%!<br />// Create a temporary Feature Source to store the parcel marker locations.<br /><br /><br /><br />void CreatePropertyMarkerFeatureSource(MgFeatureService featureService, MgResourceIdentifier parcelMarkerDataResId) throws MgException<br />{<br />&nbsp;&nbsp;&nbsp; String ll84Wkt = "GEOGCS["LL84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.25722293287],TOWGS84[0,0,0,0,0,0,0]],PRIMEM["Greenwich",0],UNIT["Degrees",1]]";<br /><br />&nbsp;&nbsp;&nbsp; MgClassDefinition propertyMarkerClass = new MgClassDefinition();<br />&nbsp;&nbsp;&nbsp; propertyMarkerClass.SetName("PropertyMarker");<br />&nbsp;&nbsp;&nbsp; MgPropertyDefinitionCollection properties = propertyMarkerClass.GetProperties();<br /><br />&nbsp;&nbsp;&nbsp; MgDataPropertyDefinition idProperty = new MgDataPropertyDefinition("ID");<br />&nbsp;&nbsp;&nbsp; idProperty.SetDataType(MgPropertyType.Int32);<br />&nbsp;&nbsp;&nbsp; idProperty.SetReadOnly(true);<br />&nbsp;&nbsp;&nbsp; idProperty.SetNullable(false);<br />&nbsp;&nbsp;&nbsp; idProperty.SetAutoGeneration(true);<br />&nbsp;&nbsp;&nbsp; properties.Add(idProperty);<br /><br />&nbsp;&nbsp;&nbsp; MgDataPropertyDefinition PropIdProperty = new MgDataPropertyDefinition("PROPERTY_ID");<br />&nbsp;&nbsp;&nbsp; PropIdProperty.SetDataType(MgPropertyType.String);<br />&nbsp;&nbsp;&nbsp; PropIdProperty.SetLength(512);<br />&nbsp;&nbsp;&nbsp; properties.Add(PropIdProperty);<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; MgDataPropertyDefinition ImageProperty = new MgDataPropertyDefinition("IMAGE");<br />&nbsp;&nbsp;&nbsp; ImageProperty.SetDataType(MgPropertyType.String);<br />&nbsp;&nbsp;&nbsp; ImageProperty.SetLength(512);<br />&nbsp;&nbsp;&nbsp; properties.Add(ImageProperty);<br />&nbsp;&nbsp; <br /><br />&nbsp;&nbsp;&nbsp; MgGeometricPropertyDefinition locationProperty = new MgGeometricPropertyDefinition("Location");<br />&nbsp;&nbsp;&nbsp; locationProperty.SetGeometryTypes(MgGeometryType.Polygon);<br />&nbsp;&nbsp;&nbsp; locationProperty.SetHasElevation(false);<br />&nbsp;&nbsp;&nbsp; locationProperty.SetHasMeasure(false);<br />&nbsp;&nbsp;&nbsp; locationProperty.SetReadOnly(false);<br />&nbsp;&nbsp;&nbsp; locationProperty.SetSpatialContextAssociation("LL84");<br />&nbsp;&nbsp;&nbsp; properties.Add(locationProperty);<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; MgDataPropertyDefinition OwnerNameProperty = new MgDataPropertyDefinition("OWNER_NAME");<br />&nbsp;&nbsp;&nbsp; OwnerNameProperty.SetDataType(MgPropertyType.String);<br />&nbsp;&nbsp;&nbsp; OwnerNameProperty.SetLength(512);<br />&nbsp;&nbsp;&nbsp; properties.Add(OwnerNameProperty);<br />&nbsp;&nbsp;&nbsp; <br /><br />&nbsp;&nbsp;&nbsp; MgPropertyDefinitionCollection idProperties = propertyMarkerClass.GetIdentityProperties();<br />&nbsp;&nbsp;&nbsp; idProperties.Add(idProperty);<br /><br />&nbsp;&nbsp;&nbsp; propertyMarkerClass.SetDefaultGeometryPropertyName("Location");<br /><br />&nbsp;&nbsp;&nbsp; MgFeatureSchema propertyMarkerSchema = new MgFeatureSchema();<br />&nbsp;&nbsp;&nbsp; propertyMarkerSchema.SetName("PropertyMarkerSchema");<br />&nbsp;&nbsp;&nbsp; propertyMarkerSchema.GetClasses().Add(propertyMarkerClass);<br /><br />&nbsp;&nbsp;&nbsp; MgCreateSdfParams sdfParams = new MgCreateSdfParams("LL84", ll84Wkt, propertyMarkerSchema);<br /><br />&nbsp;&nbsp;&nbsp; featureService.CreateFeatureSource(parcelMarkerDataResId, sdfParams);<br />}<br /><br />// Create a temporary Layer to display the parcel markers.<br /><br />MgLayer CreatePropertyMarkerLayer(MgResourceService resourceService, MgResourceIdentifier parcelMarkerDataResId, String sessionId) throws MgException, Exception<br />{<br />&nbsp;&nbsp;&nbsp; // Load the ParcelMarker layer definition template into<br />&nbsp;&nbsp;&nbsp; // a JSP DOM object, find the "ResourceId" element, and<br />&nbsp;&nbsp;&nbsp; // modify it's content to reference the temporary<br />&nbsp;&nbsp;&nbsp; // feature source.<br />&nbsp;&nbsp;&nbsp; <br /><br />&nbsp;&nbsp;&nbsp; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();<br />&nbsp;&nbsp;&nbsp; DocumentBuilder builder = factory.newDocumentBuilder();<br />&nbsp;&nbsp;&nbsp; Document document = builder.parse(new File(getServletContext().getRealPath("/") + "xyz"&nbsp; + File.separator + "propertymarker.xml"));<br />&nbsp;&nbsp;&nbsp; NodeList nodes = document.getElementsByTagName("ResourceId");<br />&nbsp;&nbsp;&nbsp; Node resNode = nodes.item(0);<br />&nbsp;&nbsp;&nbsp; Node resContent = document.createTextNode(parcelMarkerDataResId.ToString());<br />&nbsp;&nbsp;&nbsp; resNode.appendChild(resContent);<br /><br />&nbsp;&nbsp;&nbsp; // write the modified layer XML definition into a byte stream<br />&nbsp;&nbsp;&nbsp; //<br />&nbsp;&nbsp;&nbsp; TransformerFactory tFactory = TransformerFactory.newInstance();<br />&nbsp;&nbsp;&nbsp; Transformer transformer = tFactory.newTransformer();<br />&nbsp;&nbsp;&nbsp; ByteArrayOutputStream bos = new ByteArrayOutputStream();<br />&nbsp;&nbsp;&nbsp; DOMSource source = new DOMSource(document);<br />&nbsp;&nbsp;&nbsp; StreamResult result = new StreamResult(bos);<br />&nbsp;&nbsp;&nbsp; transformer.transform(source, result);<br /><br />&nbsp;&nbsp;&nbsp; // Save the updated layer definition to the session repository using the<br />&nbsp;&nbsp;&nbsp; // ResourceService object.<br /><br />&nbsp;&nbsp;&nbsp; byte[] layerDefinition = bos.toByteArray();<br />&nbsp;&nbsp;&nbsp; MgByteSource byteSource = new MgByteSource(layerDefinition, layerDefinition.length);<br />&nbsp;&nbsp;&nbsp; byteSource.SetMimeType(MgMimeType.Xml);<br /><br />&nbsp;&nbsp;&nbsp; MgResourceIdentifier tempLayerResId = new MgResourceIdentifier("Session:" + sessionId + "//PropertyMarker.LayerDefinition");<br /><br />&nbsp;&nbsp;&nbsp; resourceService.SetResource(tempLayerResId, byteSource.GetReader(), null);<br /><br />&nbsp;&nbsp;&nbsp; // Create an MgLayer object based on the new layer definition<br />&nbsp;&nbsp;&nbsp; // and return it to the caller.<br /><br />&nbsp;&nbsp;&nbsp; MgLayer propertyMarkerLayer = new MgLayer(tempLayerResId, resourceService);<br />&nbsp;&nbsp;&nbsp; propertyMarkerLayer .SetName("PropertyMarker");<br />&nbsp;&nbsp;&nbsp; propertyMarkerLayer .SetLegendLabel("Property Marker");<br />&nbsp;&nbsp;&nbsp; propertyMarkerLayer .SetDisplayInLegend(true);<br />&nbsp;&nbsp;&nbsp; propertyMarkerLayer .SetSelectable(true);<br /><br />&nbsp;&nbsp;&nbsp; return propertyMarkerLayer ;<br />}<br />%&gt;<br /><br />
<br><Table border=0 Width=644 Height=57 cellspacing=0 cellpadding=0 style="font-family:Verdana;font-size:11px;line-height:15px;"><TR><td><A HREF="http://sigads.rediff.com/RealMedia/ads/click_nx.ads/www.rediffmail.com/signatureline.htm@Middle?" target="_blank"><IMG SRC="http://sigads.rediff.com/RealMedia/ads/adstream_nx.ads/www.rediffmail.com/signatureline.htm@Middle"></A></td></TR></Table>