-
-
Save espenrl/4c14fc86eea6a6473f14c3fa9e449f8e to your computer and use it in GitHub Desktop.
dotConnect for Oracle - SDO_GEOMETRY
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// register geometry UDTs with connection (must be open) | |
OracleType.GetObjectType("MDSYS.SDO_GEOMETRY", conn).UdtType = typeof(SdoGeometry); | |
OracleType.GetObjectType("MDSYS.SDO_POINT_TYPE", conn).UdtType = typeof(SdoPointType); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//------------------------------------------------------------------------------ | |
// <auto-generated> | |
// This code was generated by a tool. | |
// Runtime Version:4.0.30319.42000 | |
// | |
// Changes to this file may cause incorrect behavior and will be lost if | |
// the code is regenerated. | |
// </auto-generated> | |
//------------------------------------------------------------------------------ | |
namespace espenrl | |
{ | |
using System; | |
using System.Data; | |
using Devart.Data.Oracle; | |
public class SdoGeometry : Devart.Data.Oracle.ICustomOracleObject { | |
private bool isNull; | |
private decimal sdoGtype; | |
private decimal? sdoSrid; | |
private SdoPointType sdoPoint; | |
private Devart.Data.Oracle.OracleArray sdoElemInfo; | |
private Devart.Data.Oracle.OracleArray sdoOrdinates; | |
public SdoGeometry() { | |
} | |
public SdoGeometry(Devart.Data.Oracle.OracleObject oraObject) { | |
this.isNull = oraObject.IsNull; | |
if (this.isNull) { | |
return; | |
} | |
object attributeValue; | |
attributeValue = oraObject["SDO_GTYPE"]; | |
if ((attributeValue == System.DBNull.Value)) { | |
this.sdoGtype = decimal.Zero; | |
} | |
else { | |
this.sdoGtype = ((decimal)(attributeValue)); | |
} | |
attributeValue = oraObject["SDO_SRID"]; | |
if ((attributeValue == System.DBNull.Value)) { | |
this.sdoSrid = decimal.Zero; | |
} | |
else { | |
this.sdoSrid = ((decimal)(attributeValue)); | |
} | |
attributeValue = oraObject["SDO_POINT"]; | |
if ((attributeValue == System.DBNull.Value)) { | |
this.sdoPoint = null; | |
} | |
else { | |
this.sdoPoint = new SdoPointType(((OracleObject)(attributeValue))); | |
} | |
attributeValue = oraObject["SDO_ELEM_INFO"]; | |
if ((attributeValue == System.DBNull.Value)) { | |
this.sdoElemInfo = null; | |
} | |
else { | |
this.sdoElemInfo = ((OracleArray)(((OracleArray)(attributeValue)).Clone())); | |
} | |
attributeValue = oraObject["SDO_ORDINATES"]; | |
if ((attributeValue == System.DBNull.Value)) { | |
this.sdoOrdinates = null; | |
} | |
else { | |
this.sdoOrdinates = ((OracleArray)(((OracleArray)(attributeValue)).Clone())); | |
} | |
} | |
public bool IsNull { | |
get { | |
return this.isNull; | |
} | |
set { | |
this.isNull = value; | |
} | |
} | |
public decimal SdoGtype { | |
get { | |
return this.sdoGtype; | |
} | |
set { | |
this.sdoGtype = value; | |
} | |
} | |
public decimal? SdoSrid { | |
get { | |
return this.sdoSrid; | |
} | |
set { | |
this.sdoSrid = value; | |
} | |
} | |
public SdoPointType SdoPoint { | |
get { | |
return this.sdoPoint; | |
} | |
set { | |
this.sdoPoint = value; | |
} | |
} | |
public Devart.Data.Oracle.OracleArray SdoElemInfo { | |
get { | |
return this.sdoElemInfo; | |
} | |
set { | |
this.sdoElemInfo = value; | |
} | |
} | |
public Devart.Data.Oracle.OracleArray SdoOrdinates { | |
get { | |
return this.sdoOrdinates; | |
} | |
set { | |
this.sdoOrdinates = value; | |
} | |
} | |
public decimal GetDims(OracleConnection connection) { | |
OracleParameterCollection parameters = new Devart.Data.Oracle.OracleParameterCollection(); | |
OracleParameter parameter; | |
parameter = new OracleParameter("RESULT", Devart.Data.Oracle.OracleDbType.Number); | |
parameter.Direction = System.Data.ParameterDirection.ReturnValue; | |
parameters.Add(parameter); | |
OracleObject.ExecuteMethod(this, connection, "MDSYS.SDO_GEOMETRY", "GET_DIMS", parameters); | |
if ((parameters["Result"].Value == System.DBNull.Value)) { | |
return decimal.Zero; | |
} | |
else { | |
return ((decimal)(parameters["Result"].Value)); | |
} | |
} | |
public decimal GetGtype(OracleConnection connection) { | |
OracleParameterCollection parameters = new Devart.Data.Oracle.OracleParameterCollection(); | |
OracleParameter parameter; | |
parameter = new OracleParameter("RESULT", Devart.Data.Oracle.OracleDbType.Number); | |
parameter.Direction = System.Data.ParameterDirection.ReturnValue; | |
parameters.Add(parameter); | |
OracleObject.ExecuteMethod(this, connection, "MDSYS.SDO_GEOMETRY", "GET_GTYPE", parameters); | |
if ((parameters["Result"].Value == System.DBNull.Value)) { | |
return decimal.Zero; | |
} | |
else { | |
return ((decimal)(parameters["Result"].Value)); | |
} | |
} | |
public decimal GetLrsDim(OracleConnection connection) { | |
OracleParameterCollection parameters = new Devart.Data.Oracle.OracleParameterCollection(); | |
OracleParameter parameter; | |
parameter = new OracleParameter("RESULT", Devart.Data.Oracle.OracleDbType.Number); | |
parameter.Direction = System.Data.ParameterDirection.ReturnValue; | |
parameters.Add(parameter); | |
OracleObject.ExecuteMethod(this, connection, "MDSYS.SDO_GEOMETRY", "GET_LRS_DIM", parameters); | |
if ((parameters["Result"].Value == System.DBNull.Value)) { | |
return decimal.Zero; | |
} | |
else { | |
return ((decimal)(parameters["Result"].Value)); | |
} | |
} | |
public byte[] GetWkb(OracleConnection connection) { | |
OracleParameterCollection parameters = new Devart.Data.Oracle.OracleParameterCollection(); | |
OracleParameter parameter; | |
parameter = new OracleParameter("RESULT", Devart.Data.Oracle.OracleDbType.Blob); | |
parameter.Direction = System.Data.ParameterDirection.ReturnValue; | |
parameters.Add(parameter); | |
OracleObject.ExecuteMethod(this, connection, "MDSYS.SDO_GEOMETRY", "GET_WKB", parameters); | |
if ((parameters["Result"].Value == System.DBNull.Value)) { | |
return null; | |
} | |
else { | |
return ((byte[])(parameters["Result"].Value)); | |
} | |
} | |
public string GetWkt(OracleConnection connection) { | |
OracleParameterCollection parameters = new Devart.Data.Oracle.OracleParameterCollection(); | |
OracleParameter parameter; | |
parameter = new OracleParameter("RESULT", Devart.Data.Oracle.OracleDbType.Clob); | |
parameter.Direction = System.Data.ParameterDirection.ReturnValue; | |
parameters.Add(parameter); | |
OracleObject.ExecuteMethod(this, connection, "MDSYS.SDO_GEOMETRY", "GET_WKT", parameters); | |
if ((parameters["Result"].Value == System.DBNull.Value)) { | |
return ""; | |
} | |
else { | |
return ((string)(parameters["Result"].Value)); | |
} | |
} | |
public decimal StCoorddim(OracleConnection connection) { | |
OracleParameterCollection parameters = new Devart.Data.Oracle.OracleParameterCollection(); | |
OracleParameter parameter; | |
parameter = new OracleParameter("RESULT", Devart.Data.Oracle.OracleDbType.Number); | |
parameter.Direction = System.Data.ParameterDirection.ReturnValue; | |
parameters.Add(parameter); | |
OracleObject.ExecuteMethod(this, connection, "MDSYS.SDO_GEOMETRY", "ST_COORDDIM", parameters); | |
if ((parameters["Result"].Value == System.DBNull.Value)) { | |
return decimal.Zero; | |
} | |
else { | |
return ((decimal)(parameters["Result"].Value)); | |
} | |
} | |
public decimal StIsvalid(OracleConnection connection) { | |
OracleParameterCollection parameters = new Devart.Data.Oracle.OracleParameterCollection(); | |
OracleParameter parameter; | |
parameter = new OracleParameter("RESULT", Devart.Data.Oracle.OracleDbType.Number); | |
parameter.Direction = System.Data.ParameterDirection.ReturnValue; | |
parameters.Add(parameter); | |
OracleObject.ExecuteMethod(this, connection, "MDSYS.SDO_GEOMETRY", "ST_ISVALID", parameters); | |
if ((parameters["Result"].Value == System.DBNull.Value)) { | |
return decimal.Zero; | |
} | |
else { | |
return ((decimal)(parameters["Result"].Value)); | |
} | |
} | |
public void FromOracleObject(Devart.Data.Oracle.NativeOracleObject oraObject) { | |
this.isNull = oraObject.IsNull; | |
if (this.isNull) { | |
return; | |
} | |
object attributeValue; | |
attributeValue = oraObject["SDO_GTYPE"]; | |
if ((attributeValue == System.DBNull.Value)) { | |
this.sdoGtype = decimal.Zero; | |
} | |
else { | |
this.sdoGtype = ((decimal)(attributeValue)); | |
} | |
attributeValue = oraObject["SDO_SRID"]; | |
if ((attributeValue == System.DBNull.Value)) { | |
this.sdoSrid = decimal.Zero; | |
} | |
else { | |
this.sdoSrid = ((decimal)(attributeValue)); | |
} | |
attributeValue = oraObject["SDO_POINT"]; | |
if ((attributeValue == System.DBNull.Value)) { | |
this.sdoPoint = null; | |
} | |
else { | |
this.sdoPoint = new SdoPointType(); | |
((ICustomOracleObject)(this.sdoPoint)).FromOracleObject(((NativeOracleObject)(attributeValue))); | |
} | |
attributeValue = oraObject["SDO_ELEM_INFO"]; | |
if ((attributeValue == System.DBNull.Value)) { | |
this.sdoElemInfo = null; | |
} | |
else { | |
this.sdoElemInfo = new OracleArray(((NativeOracleArray)(attributeValue)).ObjectType); | |
((ICustomOracleArray)(this.sdoElemInfo)).FromOracleArray(((NativeOracleArray)(attributeValue))); | |
} | |
attributeValue = oraObject["SDO_ORDINATES"]; | |
if ((attributeValue == System.DBNull.Value)) { | |
this.sdoOrdinates = null; | |
} | |
else { | |
this.sdoOrdinates = new OracleArray(((NativeOracleArray)(attributeValue)).ObjectType); | |
((ICustomOracleArray)(this.sdoOrdinates)).FromOracleArray(((NativeOracleArray)(attributeValue))); | |
} | |
} | |
public Devart.Data.Oracle.NativeOracleObject ToOracleObject(Devart.Data.Oracle.OracleConnection connection) { | |
NativeOracleObject oracleObjectOci; | |
oracleObjectOci = new NativeOracleObject("MDSYS.SDO_GEOMETRY", connection); | |
if (this.isNull) { | |
return oracleObjectOci; | |
} | |
oracleObjectOci["SDO_GTYPE"] = this.sdoGtype; | |
oracleObjectOci["SDO_SRID"] = this.sdoSrid; | |
if ((this.sdoPoint == null)) { | |
oracleObjectOci["SDO_POINT"] = null; | |
} | |
else { | |
oracleObjectOci["SDO_POINT"] = ((ICustomOracleObject)(this.sdoPoint)).ToOracleObject(connection); | |
} | |
if ((this.sdoElemInfo == null)) { | |
oracleObjectOci["SDO_ELEM_INFO"] = null; | |
} | |
else { | |
oracleObjectOci["SDO_ELEM_INFO"] = ((ICustomOracleArray)(this.sdoElemInfo)).ToOracleArray(connection); | |
} | |
if ((this.sdoOrdinates == null)) { | |
oracleObjectOci["SDO_ORDINATES"] = null; | |
} | |
else { | |
oracleObjectOci["SDO_ORDINATES"] = ((ICustomOracleArray)(this.sdoOrdinates)).ToOracleArray(connection); | |
} | |
return oracleObjectOci; | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//------------------------------------------------------------------------------ | |
// <auto-generated> | |
// This code was generated by a tool. | |
// Runtime Version:4.0.30319.42000 | |
// | |
// Changes to this file may cause incorrect behavior and will be lost if | |
// the code is regenerated. | |
// </auto-generated> | |
//------------------------------------------------------------------------------ | |
namespace espenrl | |
{ | |
using System; | |
using System.Data; | |
using Devart.Data.Oracle; | |
public class SdoPointType : Devart.Data.Oracle.ICustomOracleObject { | |
private bool isNull; | |
private decimal x; | |
private decimal y; | |
private decimal z; | |
public SdoPointType() { | |
} | |
public SdoPointType(Devart.Data.Oracle.OracleObject oraObject) { | |
this.isNull = oraObject.IsNull; | |
if (this.isNull) { | |
return; | |
} | |
object attributeValue; | |
attributeValue = oraObject["X"]; | |
if ((attributeValue == System.DBNull.Value)) { | |
this.x = decimal.Zero; | |
} | |
else { | |
this.x = ((decimal)(attributeValue)); | |
} | |
attributeValue = oraObject["Y"]; | |
if ((attributeValue == System.DBNull.Value)) { | |
this.y = decimal.Zero; | |
} | |
else { | |
this.y = ((decimal)(attributeValue)); | |
} | |
attributeValue = oraObject["Z"]; | |
if ((attributeValue == System.DBNull.Value)) { | |
this.z = decimal.Zero; | |
} | |
else { | |
this.z = ((decimal)(attributeValue)); | |
} | |
} | |
public bool IsNull { | |
get { | |
return this.isNull; | |
} | |
set { | |
this.isNull = value; | |
} | |
} | |
public decimal X { | |
get { | |
return this.x; | |
} | |
set { | |
this.x = value; | |
} | |
} | |
public decimal Y { | |
get { | |
return this.y; | |
} | |
set { | |
this.y = value; | |
} | |
} | |
public decimal Z { | |
get { | |
return this.z; | |
} | |
set { | |
this.z = value; | |
} | |
} | |
public void FromOracleObject(Devart.Data.Oracle.NativeOracleObject oraObject) { | |
this.isNull = oraObject.IsNull; | |
if (this.isNull) { | |
return; | |
} | |
object attributeValue; | |
attributeValue = oraObject["X"]; | |
if ((attributeValue == System.DBNull.Value)) { | |
this.x = decimal.Zero; | |
} | |
else { | |
this.x = ((decimal)(attributeValue)); | |
} | |
attributeValue = oraObject["Y"]; | |
if ((attributeValue == System.DBNull.Value)) { | |
this.y = decimal.Zero; | |
} | |
else { | |
this.y = ((decimal)(attributeValue)); | |
} | |
attributeValue = oraObject["Z"]; | |
if ((attributeValue == System.DBNull.Value)) { | |
this.z = decimal.Zero; | |
} | |
else { | |
this.z = ((decimal)(attributeValue)); | |
} | |
} | |
public Devart.Data.Oracle.NativeOracleObject ToOracleObject(Devart.Data.Oracle.OracleConnection connection) { | |
NativeOracleObject oracleObjectOci; | |
oracleObjectOci = new NativeOracleObject("MDSYS.SDO_POINT_TYPE", connection); | |
if (this.isNull) { | |
return oracleObjectOci; | |
} | |
oracleObjectOci["X"] = this.x; | |
oracleObjectOci["Y"] = this.y; | |
oracleObjectOci["Z"] = this.z; | |
return oracleObjectOci; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment