概述
方法一:通过代码
/// <summary>
/// 根据SDE图层名称,判断Geometry类型
/// </summary>
/// <param name="TargetLayerName">图层名称</param>
/// <returns>返回Geometry类型,如:ST_POINT;ST_LINESTRING;ST_POLYGON</returns>
public static string GetTargetLayerGeometryType(string TargetLayerName)
{
string strsql = "SELECT t.Shape.entity ENTITY FROM " + TargetLayerName + " t";
DataSet ds = DBQueryUtil.ExecuteQuery(strsql);
string GeometryType = ds.Tables[0].Rows[0]["ENTITY"].ToString();
if (GeometryType == "1")
{
return "ST_POINT";//\1为ST_POINT;4为ST_LINESTRING;8为ST_POLYGON
}
else if (GeometryType == "4")
{
return "ST_LINESTRING";
}
else
{
return "ST_POLYGON";
}
}
方法二:oracle 脚本函数或存储过程
--------------------Func_CheckGeometryType-------
-------判断坐标构造成的几何对象,是否为st_point or st_ST_LINESTRING or st_polygon------------------
function Func_CheckGeometryType(geometry varchar2,markType varchar2) return number
as
geometryType varchar2(50);
mType varchar2(50);
begin
select sde.st_geometrytype(sde.st_geometry (geometry, 0)) into geometryType from dual;
mType :=upper(markType);
if (mType = 'LINE') then
mType :='ST_' || mType || 'STRING';
else
mType := 'ST_' || mType;
end if;
if (geometryType = mType) then
return 1;
else
return 0;
end if;
end Func_CheckGeometryType;
转载于:https://www.cnblogs.com/kidbird/archive/2010/11/01/GeometryType.html
最后
以上就是健壮牛排为你收集整理的根据SDE图层名称,判断Geometry类型的全部内容,希望文章能够帮你解决根据SDE图层名称,判断Geometry类型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复