private string BuildRequest(int imageHeight, int imageWidth, GISEnvelope requestEnvelope, MapElement legendElement, List<GISLayerInfo> layerInfo, Dictionary<string, EsriLayer> layers) { StringBuilder requestString = new StringBuilder(); XmlWriter requestWriter = XmlWriter.Create(requestString); requestWriter.WriteStartElement("ARCXML"); requestWriter.WriteAttributeString("", "VERSION", "", "1.1"); requestWriter.WriteStartElement("REQUEST"); requestWriter.WriteStartElement("GET_IMAGE"); requestWriter.WriteAttributeString("", "auto_resize", "", "true"); requestWriter.WriteAttributeString("", "show", "", "layers"); requestWriter.WriteStartElement("PROPERTIES"); requestWriter.WriteStartElement("IMAGESIZE"); requestWriter.WriteAttributeString("", "width", "", imageWidth.ToString()); requestWriter.WriteAttributeString("", "height", "", imageHeight.ToString()); requestWriter.WriteEndElement(); // IMAGESIZE EsriEnvelope.AsXml(requestWriter, requestEnvelope); // if (layerDefs != null) AddLayerlist(requestWriter, layerDefs); if (legendElement != null) { legendElement.AsXml(requestWriter); } if (layers != null) AddLayers(requestWriter, layers); if (layerInfo != null) AddLayerInfo(requestWriter, layerInfo); requestWriter.WriteEndElement(); // PROPERTIES requestWriter.WriteEndElement(); // GET_IMAGE requestWriter.WriteEndElement(); // REQUEST requestWriter.WriteEndElement(); // ARCXML requestWriter.Flush(); return requestString.ToString(); }
private string BuildQuery(string queryLayer, int maxFeaturesReturned, MapElement spatialQuery) { StringBuilder queryString = new StringBuilder(); StringWriter messageString = new StringWriter(queryString); XmlWriter queryWriter = XmlWriter.Create(messageString); queryWriter.WriteStartElement("ARCXML"); queryWriter.WriteAttributeString("", "VERSION", "", "1.1"); queryWriter.WriteStartElement("REQUEST"); queryWriter.WriteStartElement("GET_FEATURES"); queryWriter.WriteAttributeString("", "outputmode", "", "xml"); queryWriter.WriteAttributeString("", "geometry", "", "false"); queryWriter.WriteAttributeString("", "envelope", "", "true"); queryWriter.WriteAttributeString("", "beginrecord", "", "0"); queryWriter.WriteAttributeString("", "globalenvelope", "", "true"); queryWriter.WriteAttributeString("", "featurelimit", "", maxFeaturesReturned.ToString()); queryWriter.WriteStartElement("PROPERTIES"); spatialQuery.AsXml(queryWriter); queryWriter.WriteEndElement(); // PROPERTIES queryWriter.WriteEndElement(); // GET_FEATURES queryWriter.WriteEndElement(); // REQUEST queryWriter.WriteEndElement(); // ARCXML return queryString.ToString(); }