0805

  1. 给出一个WKT数据,通过ST_GeomFromText构造geometry数据,然后再使用ST_Intersects求相交数据;
SELECT gid, linecolor, proname, protype, proextent,shape_leng, shape_area, geom FROM public.kg_land_bound2 
	where St_Intersects(geom, 
		ST_GeomFromText('POLYGON((57404.91490982982 98730.52662771994,57404.91490982982 99013.10219287108,57405.87564580966 99022.85670897189,57408.720933204255 99032.23636448933,57413.34142921469 99040.88070452206,57419.55957077049 99048.45753193041,57427.136398178845 99054.67567348621,57435.780738211564 99059.29616949665,57445.16039372901 99062.14145689124,57454.91490982982 99063.10219287108,57721.61544323089 99063.10219287108,57731.3699593317 99062.14145689124,57740.74961484915 99059.29616949665,57749.39395488187 99054.67567348621,57756.97078229022 99048.45753193041,57763.18892384602 99040.88070452206,57767.80941985646 99032.23636448933,57770.65470725105 99022.85670897189,57771.61544323089 99013.10219287108,57771.61544323089 98730.52662771994,57770.65470725105 98720.77211161914,57767.80941985646 98711.39245610169,57763.18892384602 98702.74811606896,57756.97078229022 98695.17128866061,57749.39395488187 98688.95314710481,57740.74961484915 98684.33265109437,57731.3699593317 98681.48736369978,57721.61544323089 98680.52662771994,57454.91490982982 98680.52662771994,57445.16039372901 98681.48736369978,57435.780738211564 98684.33265109437,57427.136398178845 98688.95314710481,57419.55957077049 98695.17128866061,57413.34142921469 98702.74811606896,57408.720933204255 98711.39245610169,57405.87564580966 98720.77211161914,57404.91490982982 98730.52662771994))',4547)
   );
  1. asp.net web api中,post请求的方式比较怪异,最好使用dynamic数据类型,在使用动态类型时,需要对数据进行解析操作:
[HttpPost]
[Route("getSpatialQueryInfo")]
public Result<List<KgLandBound>> getSpatialQueryInfo(dynamic obj)
{
    string wkt = obj.wkt;
    return sas.spatialQuery(wkt);
}
  1. font awesome中使用数字
<span class="fa-stack">
   <span class="fa fa-circle-thin fa-stack-2x" style="color: red"></span>
   <strong class="fa-stack-1x" style="color: red">2</strong>
</span>
  1. angularjs中,执行ng-repeat操作时,遍历时加上index
ng-repeat="layer in table.data track by $index"
  1. 根据pg查出来的geometry,顺带把面积也进行查询
SELECT res.gid, res.ydtype, res.ydcode, res.shape_area, st_area(res.wkt), res.wkt
FROM (
		SELECT gid, ydtype, ydcode, shape_area, 
		ST_Intersection(geom, ST_MakeEnvelope(49701.02023537382, 96951.72932012533, 49865.59139784948, 97115.77131487598, 4547)) AS wkt
		FROM public.kg_land_bound2
		WHERE ST_Intersects(geom, ST_MakeEnvelope(49701.02023537382, 96951.72932012533, 49865.59139784948, 97115.77131487598, 4547))
	) 
AS res;

0806

  1. angularjs中的watch使用方法:
$scope.$watch("bufferDistance",function (newValue,oldValue){
    if(newValue > 0){
        $scope.showDrawLine = true;
    }else{
        $scope.showDrawLine = false;
    }
},true);
  1. postgresql中的简单分页:limit代表每页个数,offset代表偏移量,以下面的代码为例,offset 20代表前面偏移20个数据,从第二十一个数据开始;
SELECT gid, ydcode, ydtype, capability, bldhlimit,shape_leng, shape_area, geom
	FROM public.kg_land_bound2 order by gid limit 10 offset 20;
  1. angularjs使用ng-class对于样式的动态修改,使用ng-repeat循环生成子列表。其中通过$index与selected来进行判断,如果两个值相等,那么,selectedBaseMap样式将会生效,从而出现样式切换的效果;
<div ng-repeat="item in baseLayers"
         ng-class="{selectedBaseMap:$index == selected}"
         style="background: url('../../App/assets/images/item.img')"
         ng-click="showBaseMap(item.title,$index)">
        <span class="baseMapTitle" ng-class="{baseMapTitleActive:$index == selected}">
            item.title
        </span>
        {{test}}
    </div>