日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

SuperMap.IS.AjaxScript缓冲区分析及专题图制作

發(fā)布時(shí)間:2024/8/22 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SuperMap.IS.AjaxScript缓冲区分析及专题图制作 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在緩沖區(qū)分析上,SuperMap.IS.AjaxScript提供的主要功能函數(shù)有spatialAnalystManager.BufferQuerybufferParam,qeruyParam,onComplete,onError,以及最近地物查詢(xún)的函數(shù)QueryManager.FindNearestpoint,tolerance,queryparam,onComplete,onError)這兩個(gè)。(后者只會(huì)顯示一條記錄,曾因這個(gè)方法而以為是程序出了問(wèn)題而調(diào)試了半天……^_^)。bufferParam對(duì)象的相關(guān)屬性可以查詢(xún)?cè)擃?lèi)的幫助,包括高亮顯示,是否查詢(xún)所有圖層,查詢(xún)字段等,寫(xiě)的時(shí)候感覺(jué)比寫(xiě)AGSADF要舒服很多。先貼是緩沖區(qū)的代碼。^_^


Code
??1///<summary>緩沖區(qū)半徑、最近物查詢(xún)</summary>
??2
??3HJMapUtils.AnalysisUtils?=?Class(object,?{
??4
??5?Create:?function(mapControl,?divResult)?{
??6
??7????///<summary>構(gòu)造函數(shù)</summary>
??8
??9????///<param?name="mapControl">操作的mapcontrol對(duì)象</param>
?10
?11????///<param?name="divResult">查詢(xún)結(jié)果顯示的div塊</param>
?12
?13????????this.MapControl1?=?mapControl;
?14
?15????????object.divResult?=?divResult;
?16
?17}
,
?18
?19FindNearestByMapCoord_Buffer:?function(x,?y,?distance,?hasGeometry,?returnFields,?whereClause,?queryLayers,?highLight,?penColor,?brushColor,?backTransparent)?{
?20
?21????///<summary>根據(jù)坐標(biāo)值來(lái)進(jìn)行緩沖區(qū)分析</summary>
?22
?23????///<param?name="x">坐標(biāo)x值</param>
?24
?25????///<param?name="y">坐標(biāo)x值</param>
?26
?27????///<param?name="distance">緩沖區(qū)查詢(xún)范圍</param>
?28
?29???///<param?name="hasGeometry">是否查詢(xún)空間數(shù)據(jù)</param>
?30
?31????///<param?name="returnFields">返回字段(多字段用','隔開(kāi))</param>
?32
?33????///<param?name="whereClause">圖層限制條件(多字段用','隔開(kāi))</param>
?34
?35????///<param?name="queryLayers">查詢(xún)圖層(多字段用','隔開(kāi))</param>
?36
?37????///<param?name="highLight">是否高亮顯示</param>
?38
?39????///<param?name="penColor">線顏色</param>
?40
?41????///<param?name="brushColor">填充顏色</param>
?42
?43????///<param?name="backTransparent">背景色是否透明</param>
?44
?45?
?46
?47????????var?spatialAnalystManager?=?this.MapControl1.GetSpatialAnalystManager();
?48
?49????????var?bufferParam?=?new?SuperMap.IS.BufferParam();//設(shè)置緩沖區(qū)查詢(xún)參數(shù)
?50
?51????????bufferParam.distance?=?parseFloat(distance);
?52
?53????????bufferParam.fromCustomGeo?=?true;
?54
?55????????bufferParam.geometries?=?new?Array();
?56
?57????????bufferParam.queryMode?=?9;//緩沖區(qū)查詢(xún)模式(很多的,具體參照幫助)
?58
?59????????var?geo?=?new?SuperMap.IS.Geometry();//這里是指定單點(diǎn)查詢(xún),自定義類(lèi)別
?60
?61????????geo.feature?=?1;
?62
?63????????geo.points?=?new?Array();
?64
?65????????var?point?=?new?SuperMap.IS.MapCoord(parseFloat(x),?parseFloat(y));
?66
?67????????geo.points[0]?=?point;
?68
?69????????bufferParam.geometries[0]?=?geo;
?70
?71?
?72
?73????????var?queryParam?=?new?SuperMap.IS.QueryParam();//查詢(xún)參數(shù)(高亮等)
?74
?75????????queryParam.hasGeometry?=?hasGeometry;
?76
?77????????queryParam.expectCount?=?10000;
?78
?79????????queryParam.highlight?=?new?SuperMap.IS.Highlight();
?80
?81????????queryParam.highlight.highlightResult?=?highLight;
?82
?83????????queryParam.highlight.queryAreaStyle?=?new?SuperMap.IS.Style();
?84
?85????????queryParam.highlight.queryAreaStyle.penColor?=?parseInt(penColor);
?86
?87????????queryParam.highlight.queryAreaStyle.brushBackTransparent?=?backTransparent;
?88
?89?
?90
?91????????var?returnFields?=?returnFields.split(';');//查詢(xún)字段
?92
?93????????var?wc?=?null;
?94
?95????????if?(whereClause?!=?null?&&?whereClause)?{
?96
?97????????????wc?=?whereClause.split(",");
?98
?99????????}

100
101????????var?queryLayers?=?queryLayers.split(',');
102
103????????queryParam.queryLayers?=?new?Array();
104
105????????for?(var?i?=?0;?i?<?queryLayers.length;?i++)?{
106
107????????????queryParam.queryLayers[i]?=?new?SuperMap.IS.QueryLayer();
108
109????????????queryParam.queryLayers[i].layerName?=?queryLayers[i];
110
111????????????var?returnFields2?=?returnFields[i];
112
113????????????queryParam.queryLayers[i].returnFields?=?returnFields2.split(",");
114
115????????????if?(wc?&&?wc?!=?null)?{
116
117????????????????queryParam.queryLayers[i].whereClause?=?wc[i];
118
119????????????}

120
121????????}

122
123????????this.MapControl1.ClearHighlight();
124
125????????spatialAnalystManager.BufferQuery(bufferParam,?queryParam,?this.onQueryComplete,?this.onError);//調(diào)用bufferquery方法進(jìn)行查詢(xún),在onQueryComplete這個(gè)函數(shù)中進(jìn)行對(duì)結(jié)果數(shù)據(jù)集的處理。
126
127????}

128
129?
130
131}

132
133

?

專(zhuān)題制作上SuperMap.IS.Ajax提供了不同專(zhuān)題的解決方案,很多類(lèi)別,可以參照那些以theme結(jié)尾的一些類(lèi)。不過(guò)在寫(xiě)的過(guò)程中發(fā)現(xiàn)一些問(wèn)題,顏色不知道咋處理,貌似都是ole顏色….有知道的能否指教下.下面是分段專(zhuān)題相關(guān)編寫(xiě)。貼代碼,^_^

?

Code
??1
??2
??3///<summary>分段專(zhuān)題</summary>
??4
??5HJMapUtils.ThemeUtils?=?Class(object,?{
??6
??7????Create:?function(mapControl,?divResult)?{
??8
??9????????this.MapControl1?=?mapControl;
?10
?11????????object.divResult?=?divResult;
?12
?13????}
,
?14
?15????ThemeRangeMap:?function(layerName,?expressionName,?rangeList,?caption)?{
?16
?17????????///<summary>分段專(zhuān)題圖</summary>
?18
?19????????///<param?name="layerName">專(zhuān)題圖所在圖層</param>
?20
?21????????///<param?name="expressionName">所在字段</param>
?22
?23????????///<param?name="rangeList">范圍及顏色,格式為(范圍(多個(gè)用','隔開(kāi));顏色(對(duì)應(yīng)范圍多一個(gè)顏色,同樣多個(gè)用','隔開(kāi)))</param>
?24
?25????????///<param?name="caption">專(zhuān)題標(biāo)題</param>
?26
?27????????if?(!this.MapControl1.layers?||?!this.MapControl1.layers.length)?{?alert("不存在圖層!");?return;?}
?28
?29????????var?rangeLayer?=?new?SuperMap.IS.Layer();//專(zhuān)題圖層
?30
?31????????for?(var?j?=?0;?j?<?this.MapControl1.layers.length;?j++)?{
?32
?33????????????var?layertext?=?this.MapControl1.layers[j].name;
?34
?35????????????if?(layerName.toLowerCase()?==?layertext.toLowerCase())?{
?36
?37????????????????rangeLayer?=?this.MapControl1.layers[j];
?38
?39????????????????break;
?40
?41????????????}

?42
?43????????}
;
?44
?45????????if?(rangeLayer?==?null)
?46
?47????????{?alert("沒(méi)有對(duì)應(yīng)圖層!");?return;?};
?48
?49????????this.ClearTheme(rangeLayer);
?50
?51????????var?theme?=?new?SuperMap.IS.RangeTheme();//分段專(zhuān)題類(lèi)相關(guān)設(shè)置
?52
?53????????theme.caption?=?caption;
?54
?55????????theme.enabled?=?true;
?56
?57????????theme.expression?=?expressionName;
?58
?59????????theme.breakValues?=?new?Array();
?60
?61????????var?breaks?=?rangeList.split(';')[0].split(',');//分段點(diǎn)斷點(diǎn)的設(shè)置
?62
?63????????var?breaksarr?=?new?Array();
?64
?65????????for?(var?k?=?0;?k?<?breaks.length;?k++)?{
?66
?67????????????theme.breakValues[k]?=?parseFloat(breaks[k]);
?68
?69????????????if?(k?==?0)?{
?70
?71????????????????breaksarr.push("0~"?+?breaks[k]);
?72
?73????????????}
?else?{
?74
?75????????????????breaksarr.push(breaks[k?-?1]?+?"~"?+?breaks[k]);
?76
?77????????????}

?78
?79????????}
;
?80
?81????????breaksarr.push(breaks[breaks.length?-?1]?+?"~");
?82
?83????????theme.displays?=?new?Array();
?84
?85????????var?colors?=?rangeList.split(';')[1].split(',');//各分段的顏色設(shè)置(貌似只支持ole顏色)
?86
?87????????var?colorsarr?=?new?Array();
?88
?89????????for?(var?i?=?0;?i?<?colors.length;?i++)?{
?90
?91????????????theme.displays[i]?=?new?SuperMap.IS.Style();
?92
?93????????????theme.displays[i].brushColor?=?parseInt(colors[i]);
?94
?95????????????colorsarr.push(colors[i]);
?96
?97????????}

?98
?99????????var?strHtml?=?"";
100
101????????for?(var?l?=?0;?l?<?colorsarr.length;?l++)?{
102
103????????????strHtml?+=?"<span?style='display:block;width:20px;height:20px;background-color:"?+?colorsarr[l]?+?"'></span><div>"?+?breaksarr[l]?+?"</div><br/>";//返回一個(gè)html塊標(biāo)示(不過(guò)顏色很郁悶)
104
105????????}

106
107????????rangeLayer.themeRange?=?theme;
108
109????????this.MapControl1.Update();
110
111????????return?strHtml;
112
113????}

114
115}

轉(zhuǎn)載于:https://www.cnblogs.com/hjcook/archive/2008/12/08/1350678.html

總結(jié)

以上是生活随笔為你收集整理的SuperMap.IS.AjaxScript缓冲区分析及专题图制作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。