sql server arcgis计算点是否在范围内

sql server函数写法

USE [GtsManage]
GO
/****** Object:  UserDefinedFunction [dbo].[GetPolygons]    Script Date: 2016/4/18 星期一 15:11:12 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 ALTER FUNCTION [dbo].[GetPolygons] (@Polygon varchar(2000), @PotionX varchar(100), @PotionY varchar(100)) 
       RETURNS FLOAT
       AS
BEGIN


       DECLARE @g GEOMETRY
  SET @g=geometry::STGeomFromText(@Polygon,0); --转换
 SET @g=@g.MakeValid();


       DECLARE @p varchar(100)
       SET @p = 'POINT('+ @PotionX+' '+@PotionY+')'
       
  DECLARE @duge FLOAT


  set @duge=
      @g.STContains(@p)
       
       RETURN @duge
END

@Polygon 参数为:


POLYGON ((120.21321937561035 30.376910095214842, 120.2130477142334 30.377296333312987, 120.21218940734863 30.3779829788208, 120.21184608459472 30.378369216918944, 120.21167442321777 30.378798370361327, 120.2115885925293 30.37927043914795, 120.21167442321777 30.379656677246092, 120.21201774597168 30.37995708465576, 120.21236106872558 30.380128746032714, 120.21274730682373 30.380128746032714, 120.21433517456054 30.38, 120.2150647354126 30.379914169311522, 120.21570846557617 30.37969959259033, 120.21592304229736 30.379356269836425, 120.21618053436279 30.378798370361327, 120.21626636505127 30.37845504760742, 120.21592304229736 30.378154640197753, 120.21536514282226 30.378025894165038, 120.21480724334716 30.377854232788085, 120.21446392059326 30.377811317443846, 120.21412059783935 30.37772548675537, 120.21377727508545 30.377596740722655, 120.2136056137085 30.37725341796875, 120.21326229095459 30.37699592590332, 120.2130477142334 30.376867179870604, 120.21321937561035 30.376910095214842)


arcgis sql server实例网址:

https://technet.microsoft.com/zh-tw/library/bb933792.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值