root/trunk/gdal/swig/csharp/apps/WKT2WKB.cs

Revision 13437, 3.1 kB (checked in by tamas, 1 year ago)

Added standardized copyright headers

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 /******************************************************************************
2  * $Id$
3  *
4  * Name:     WKT2WKB.cs
5  * Project:  GDAL CSharp Interface
6  * Purpose:  A sample app for demonstrating the usage of ExportToWkb.
7  * Author:   Tamas Szekeres, szekerest@gmail.com
8  *
9  ******************************************************************************
10  * Copyright (c) 2007, Tamas Szekeres
11  *
12  * Permission is hereby granted, free of charge, to any person obtaining a
13  * copy of this software and associated documentation files (the "Software"),
14  * to deal in the Software without restriction, including without limitation
15  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16  * and/or sell copies of the Software, and to permit persons to whom the
17  * Software is furnished to do so, subject to the following conditions:
18  *
19  * The above copyright notice and this permission notice shall be included
20  * in all copies or substantial portions of the Software.
21  *
22  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28  * DEALINGS IN THE SOFTWARE.
29  *****************************************************************************/
30
31 using System;
32
33 using OSGeo.OGR;
34
35
36 /**
37
38  * <p>Title: GDAL C# wkt2wkb example.</p>
39  * <p>Description: A sample app for demonstrating the usage of ExportToWkb.</p>
40  * @author Tamas Szekeres (szekerest@gmail.com)
41  * @version 1.0
42  */
43
44
45
46 /// <summary>
47 /// A C# based sample for demonstrating the usage of ExportToWkb.
48 /// </summary>
49
50 class WKT2WKB {
51        
52         public static void usage()
53
54         {
55                 Console.WriteLine("usage example: wkt2wkb \"POINT(47.0 19.2)\"");
56                 System.Environment.Exit(-1);
57         }
58  
59         public static void Main(string[] args) {
60
61                 if (args.Length != 1) usage();
62
63                 /* -------------------------------------------------------------------- */
64                 /*      Register format(s).                                             */
65                 /* -------------------------------------------------------------------- */
66         Ogr.RegisterAll();
67
68         Geometry geom = Geometry.CreateFromWkt(args[0]);
69        
70                 int wkbSize = geom.WkbSize();
71         if (wkbSize > 0)
72         {
73             byte[] wkb = new byte[wkbSize];
74             geom.ExportToWkb( wkb );
75             Console.WriteLine( "wkt-->wkb: " + BitConverter.ToString(wkb) );
76                        
77                         // wkb --> wkt (reverse test)
78                         Geometry geom2 = Geometry.CreateFromWkb(wkb);
79                         string geom_wkt;
80                         geom2.ExportToWkt(out geom_wkt);
81                         Console.WriteLine( "wkb->wkt: " + geom_wkt );
82         }
83
84                 // wkt -- gml transformation
85        string gml = geom.ExportToGML();
86        Console.WriteLine( "wkt->gml: " + gml );
87
88        Geometry geom3 = Geometry.CreateFromGML(gml);
89            string geom_wkt2;
90            geom3.ExportToWkt(out geom_wkt2);
91            Console.WriteLine( "gml->wkt: " + geom_wkt2 );
92         }
93 }
Note: See TracBrowser for help on using the browser.