2、具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验。
3、具有使用 Microsoft Visual Studio 进行 Microsoft .NET Framework开发的经验。
4、具有使用WCF、Silverlight、ADO.NET开发的经验。
5、熟悉或了解Microsoft SQL Server 2008中的空间数据类型。
6、具备相应(比如OGC)的GIS专业理论知识。
SQL Server 2008中存储的空间数据,除了能够直接基于SQL Server做空间查询、空间分析外,由于SQLCLR提供了非常丰富、完善的开发API,使得空间数据可以在不同的常用空间数据类型之间转换,同时还可以非常简单的和地图应用无缝集成使用。本篇博文以Bing Maps Silverlight Control为地图应用客户端为基础,介绍如何实现在Bing Maps中呈现地理空间数据。
一、准备空间数据
为了演示如何基于Bing Maps Silverlight Control来呈现SQL Server 2008中存储的空间数据,首先需要在数据库中模拟一些数据供数据查询使用,随意创建一个带有空间数据类型字段的表就可以,如下SQL脚本。
CREATETABLE DrawnPolygons( [ID][int]IDENTITY(1,1) NOTNULL, [Name][varchar](50) NOTNULL, [Polygon][geography]NOTNULL) GO
对于上面脚本所创建的表格,随意的构造几条数据,如下图SQL Server Management Studio的空间结果中所呈现的效果。
二、编写数据服务接口
数据结构使用WebService或者WCF提供都可以,本篇选用WCF Service提供地图数据访问接口,实现将数据库的空间数据读取出来返回到Bing Maps的地图客户端。由于目前的Linq To Sql和ASP.NET Entity Framewrok还不支持SQL Server 2008的空间数据类型,数据访问只能自己编写ADO.NET实现。如下代码块:
[OperationContract] public List<DrawnPolygons> QueryPolygons() { var sql ="SELECT * FROM [DrawnPolygons]";
var result = Query(sql); List<DrawnPolygons> areas =null; if (result !=null&& result.Rows.Count >0) { areas =new List<DrawnPolygons>(); foreach (DataRow row in result.Rows) { areas.Add(new DrawnPolygons { ID =int.Parse(row["ID"].ToString()), Name = row["NAME"].ToString(), Xaml = ToXaml(row["Polygon"], row["ID"].ToString()) }); } } return areas; }
什么是Thrift
The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and s
org.json.JSONException: No value for items
在JSON解析中会遇到一种错误,很常见的错误
06-21 12:19:08.714 2098-2127/com.jikexueyuan.secret I/System.out﹕ Result:{"status":1,"page":1,&