ASP.NET网页编程之GIS开辟漫笔--GIS手艺的一点了解和MapN...
数据库有很多应用领域,但是如果你单单学数据库的话基本上做数据库管理员比较合适而已,跟领域结合的你还得再学习那些领域知识。(其实数据挖掘我真是不懂,本来这学期开了一门课了。明天我们来会商几个没有太年夜联系关系的内容,假如在这几个成绩方面有人有本人共同的看法,或已晓得了这方面的手艺,那末还请您在批评中提出来,供人人切磋,上面我们就来切磋一下吧。1、这几天忙着测试和修正GIS体系,发明了一些Bug的同时也有了新的需求,不但改动了界面作风和结构并且代码也少有变更,舆图变更最年夜,必要到场栅格图(太可骇了,一幅栅格图居然有1.3G),怎样加载呢?由于此次的GIS体系是B/S布局的,并且功效也不小,除栅格图外另有良多层的矢量图,而且供应图层数据和数据库数据的互查功效,以是十分忧虑加载和显现栅格图时会十分的慢,大概形成服务器逝世机,可是明天发明已往仿佛有些“庸人自扰”,栅格图加载和显现仍是能够乐成的。详细内容以下:
1、想懂得栅格图是不是能加载,必要懂得ArcIMS的事情道理,这方面的常识我们在本系列漫笔的前几篇漫笔中也有会商过,上面再复杂申明一下:MapNet控件是解读ArcIMS回传得ArcXML文档,并经由过程假造路径来加载ArcIMS依据哀求所发生的图片。ArcIMS图形服务能够发生的图片范例有*.JPG、*.JPEG、*.PNG-8bit、*.PNG-24bit、*.GIF(必要特别的序列号或注册文件)。
2、也恰是由于有这类事情道理,固然栅格图的整幅图文件很年夜,可是ArcIMS会否将本身来处置天生的图片文件巨细,其实不会发生一个上G的图片文件在B/S程序和收集中传送呢。经由自己的实验证实ArcIMS的确把持了传送文件的巨细,再到场了栅格图后,图片文件并没有设想的年夜,以是也就不必往切割栅格图文件了,这使自己很乐意。(<!--此处写有栅格图的图片文件的巨细,最小和最年夜文件巨细-->,图片巨细仅供参考)
2、另有一个成绩是MapNet控件的成绩,MapNet控件有一个往取得图层数据的函数myIL.Recordset(myISQ2,true,false,myIGF),可是此函数最多加载的数据为2000条,最初天生数据集DataSet,那末这就意味着此DataSet的第0张表最多有2000条数据,可是MapNet控件又给我们供应了一个工具的属性myISQ2.Where,来查询所必要的图层上某个或某些元素,这个属性中可使用Sql语句,上面是有关的代码片段:
以下为援用的内容:
1
usingSystem;
2
usingSystem.Collections;
3
usingSystem.ComponentModel;
4
usingSystem.Data;
5
usingSystem.Drawing;
6
usingSystem.Web;
7
usingSystem.Web.SessionState;
8
usingSystem.Web.UI;
9
usingSystem.Web.UI.WebControls;
10
usingSystem.Web.UI.HtmlControls;
11
usingGongAnSys.Class;
12
usingStudioAT.IMS;
13
usingStudioAT;
14
usingSystem.Xml;
15
16
……
17
18
privatevoidMapNet1_Load(objectsender,System.EventArgse)
19
{
20
IMapNetmyIMapNet=MapNet1;
21
ICollectionLayersmyICL=myIMapNet.CollectionLayers;
22
IGetFeaturesmyIGF=null;
23
ISimpleMarkerSymbolmyISMS=newSimpleMarkerSymbolProperty();
24
IMapNetAcetateObjectsmyIMNAO=(IMapNetAcetateObjects)myIMapNet;
25
myIMNAO.Clear();
26
IObjectAcetateLayermyIOAL;
27
IPointmyIP1;
28
try
29
{
30
ILayermyIL=(ILayer)myICL.FindById(Session["LayerID"].ToString());
31
ISpatialQuery2myISQ2=newSpatialQuery();
32
stringColumnsName="GIS_ID";
33
myISQ2.Where=ColumnsName+"="+Session["GIS_ID"].ToString()+"";
34
DataSetds=myIL.Recordset(myISQ2,true,false,myIGF);//依据图层读取数据
35
intdscount=ds.Tables.Rows.Count;
36
……
37
}
38
catch
39
{
40
……
41
}
42
}
43
44
……
45
46
一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。 对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。 ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。 主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。 网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项! 在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的 市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
页:
[1]