如何使用Npgsql和OrmLite定义'geography'类型(使用postgresql,postgis,c#)

时间:2013-06-27 13:04:00

标签: orm postgis npgsql ormlite-servicestack geography

如何在我的C#类模型中定义postgis'geography'类型,以便OrmLite可以轻松地将其传递给Postgresql,这样我除了将空间数据保存到'地理'列之外还可以运行空间查询?

1 个答案:

答案 0 :(得分:0)

对于这种情况,最好的库是NetTopologySuite;

你可以这样使用;

protected GisSharpBlog.NetTopologySuite.Geometries.Geometry _geom;
public GisSharpBlog.NetTopologySuite.Geometries.Geometry Geom
   {
      get { return _geom; }
      set { _geom = value; }
   }

protected string _geomwkt;
public virtual string GeomWKT
   {
     get
       {
         if (this.Geom != null)
             return this.Geom.ToText();
         else
             return "";
       }
     set
       {
         string wktString = value;
         if (string.IsNullOrEmpty(wktString))
             _geom = null;
         else
           {
             var fact = new GeometryFactory();
              var wktreader = new WKTReader(fact);
              _geom = (Geometry)wktreader.Read(wktString);
           }
        }
   }