Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }