当前位置: 首页>>代码示例>>C#>>正文


C# Node.ConvertTo方法代码示例

本文整理汇总了C#中OsmSharp.Osm.Node.ConvertTo方法的典型用法代码示例。如果您正苦于以下问题:C# Node.ConvertTo方法的具体用法?C# Node.ConvertTo怎么用?C# Node.ConvertTo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在OsmSharp.Osm.Node的用法示例。


在下文中一共展示了Node.ConvertTo方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: NodeUpdate

        /// <summary>
        /// Modifies a the given node by adding it's modification to the current changeset.
        /// </summary>
        /// <param name="node"></param>
        public void NodeUpdate(Node node)
        {
            if (_current_changeset == null)
            {
                throw new InvalidOperationException("No open changeset found!");
            }
            if (!node.Id.HasValue)
            {
                throw new ArgumentOutOfRangeException("Cannot update an object without an id!");
            }

            // build a new node.
            node xml_node = node.ConvertTo();
            xml_node.changeset = _current_changeset.id;
            xml_node.changesetSpecified = true;

            // encapsulate into an osm object.
            OsmSharp.Osm.Xml.v0_6.osm osm = new Osm.Xml.v0_6.osm();
            osm.node = new Osm.Xml.v0_6.node[1];
            osm.node[0] = xml_node;

            // serialize the changeset.
            XmlSerializer serializer = new XmlSerializer(typeof(OsmSharp.Osm.Xml.v0_6.osm));
            MemoryStream mem_stream = new MemoryStream();
            Stream stream = mem_stream;
            serializer.Serialize(stream, osm);
            stream.Flush();
            mem_stream.Flush();
            byte[] put_data = mem_stream.ToArray();

            // do the api call.
            this.DoApiCall(true, string.Format("api/0.6/node/{0}", node.Id.Value),
                Method.PUT, put_data);
        }
开发者ID:vcotlearov,项目名称:OsmSharp,代码行数:38,代码来源:APIConnection.cs

示例2: NodeCreate

        /// <summary>
        /// Creates a new node by adding it's creation to the current changeset.
        /// </summary>
        /// <param name="node"></param>
        public Node NodeCreate(Node node)
        {
            if (_current_changeset == null)
            {
                throw new InvalidOperationException("No open changeset found!");
            }

            // build a new node.
            node xml_node = node.ConvertTo();
            xml_node.changeset = _current_changeset.id;
            xml_node.changesetSpecified = true;

            // encapsulate into an osm object.
            OsmSharp.Osm.Xml.v0_6.osm osm = new Osm.Xml.v0_6.osm();
            osm.node = new Osm.Xml.v0_6.node[1];
            osm.node[0] = xml_node;

            // serialize the changeset.
            XmlSerializer serializer = new XmlSerializer(typeof(OsmSharp.Osm.Xml.v0_6.osm));
            MemoryStream mem_stream = new MemoryStream();
            Stream stream = mem_stream;
            serializer.Serialize(stream, osm);
            stream.Flush();
            mem_stream.Flush();
            byte[] put_data = mem_stream.ToArray();

            // do the api call.
            string response_string = this.DoApiCall(true, "api/0.6/node/create",
                Method.PUT, put_data);

            // get the id-response.
            long id;
            if (!long.TryParse(response_string, out id))
            { // invalid response!
                throw new APIException(string.Format("Invalid response when creating a new node: {0}", response_string));
            }
            node.Id = id;
            return node;
        }
开发者ID:vcotlearov,项目名称:OsmSharp,代码行数:43,代码来源:APIConnection.cs


注:本文中的OsmSharp.Osm.Node.ConvertTo方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。