QGis 圖層屬形設定
QGis 載入的圖層包括向量圖層和柵格圖層,向量圖層中通常有點、線、面三種常用的圖層。載入後的圖層顯示的風格各異,但是我們可以對他們的不同的風格進行設定使其看起來很好看。
看一下設定的效果:
點圖層
線圖層
面圖層
1.點圖層設定關鍵程式碼:
獲取點圖層的各種屬性:
QgsSingleSymbolRendererV2* render = (QgsSingleSymbolRendererV2*)pointVectorLayer->rendererV2();
QgsMarkerSymbolV2* markSym = (QgsMarkerSymbolV2*)render->symbol();
QgsSymbolLayerV2List symList = markSym->symbolLayers();
QgsSvgMarkerSymbolLayerV2* svgMarker = (QgsSvgMarkerSymbolLayerV2*)symList.at(0 );
svgPath = svgMarker->path();//SVG路徑
double size = svgMarker->size();//SVG大小
double minScale = pointVectorLayer->minimumScale();//最小顯示比例
double maxScale = pointVectorLayer->maximumScale();//最大顯示比例
QgsPalLayerSettings layerSetting = QgsPalLayerSettings::fromLayer(pointVectorLayer);
bool bShowLabel = layerSetting.enabled;//是否顯示標籤
fontColor = layerSetting.textColor;//字型顏色
int fontSize = layerSetting.textFont.pointSize();//字型大小
bool bBufferShow = layerSetting.bufferDraw;//輪廓顯示
bufColor = layerSetting.bufferColor;//輪廓顏色
bool bShadowShow = layerSetting.shadowDraw;//陰影顯示
int shadowAngle = layerSetting.shadowOffsetAngle;//陰影角度
int shadowDis = layerSetting.shadowOffsetDist;//陰影距離
設定點圖層的屬性:
//SVG
QgsSvgMarkerSymbolLayerV2* svgMarker = new QgsSvgMarkerSymbolLayerV2(svgPath);
QgsSymbolLayerV2List symList;
symList.append(svgMarker);
QgsMarkerSymbolV2* markSym = new QgsMarkerSymbolV2(symList);
QgsSingleSymbolRendererV2* symRenderer = new QgsSingleSymbolRendererV2(markSym);
pointVectorLayer->setRendererV2(symRenderer);
svgMarker->setSize(svgSize); //設定svg大小
//設定標註
QgsPalLayerSettings layerSetting;
layerSetting.enabled = bShowLable;//顯示標註
layerSetting.fieldName = pointVectorLayer->pendingFields()[1].name();
layerSetting.centroidWhole = true; //設定位置參考的中心點
//設定字型
layerSetting.textColor = fontColor;
QFont font("Times", fontSize);
font.setBold(true);
layerSetting.textFont = font;
//設定輪廓
layerSetting.bufferDraw = bShowBuf;
layerSetting.bufferColor = bufColor;
layerSetting.bufferSize = 1;
layerSetting.bufferTransp = 0.5;
//設定陰影
layerSetting.shadowDraw = bShowShadow;
layerSetting.shadowOffsetAngle = shadowAngle;
layerSetting.shadowOffsetDist = shadowDis;
layerSetting.writeToLayer(pointVectorLayer);
DrawManager::getInstance()->getMainCanvas()->refresh();
2.線圖層的關鍵程式碼:
獲取線圖層的各種屬性:
QgsSingleSymbolRendererV2* symRenderer = (QgsSingleSymbolRendererV2*)(lineVectorLayer->rendererV2());
QgsLineSymbolV2* lineSymbol = (QgsLineSymbolV2*)symRenderer->symbol();
lineColor = lineSymbol->color();//線顏色
double lineWidth = lineSymbol->width();//線寬
設定線圖層的各種屬性:
QgsSingleSymbolRendererV2* symRenderer = (QgsSingleSymbolRendererV2*)(lineVectorLayer->rendererV2());
QgsLineSymbolV2* lineSymbol = (QgsLineSymbolV2*)symRenderer->symbol();
lineSymbol->setColor(lineColor);
lineSymbol->setWidth(lineWidth);
DrawManager::getInstance()->getMainCanvas()->refresh();
3.面圖層的關鍵程式碼:
獲取面圖層的屬性:
QgsSingleSymbolRendererV2* symRenderer = (QgsSingleSymbolRendererV2*)(polygonVectorLayer->rendererV2());
QgsFillSymbolV2* fillSymbol = (QgsFillSymbolV2*)symRenderer->symbol();
fillColor = fillSymbol->color();//填充顏色
double alpha = fillSymbol->alpha();//透明度
設定面圖層的屬性:
QgsSingleSymbolRendererV2* symRenderer = (QgsSingleSymbolRendererV2*)(polygonVectorLayer->rendererV2());
QgsFillSymbolV2* fillSymbol = (QgsFillSymbolV2*)symRenderer->symbol();
fillSymbol->setColor(fillColor);
fillSymbol->setAlpha((double)alpha/100);
相關推薦
QGis 圖層屬形設定
QGis 載入的圖層包括向量圖層和柵格圖層,向量圖層中通常有點、線、面三種常用的圖層。載入後的圖層顯示的風格各異,但是我們可以對他們的不同的風格進行設定使其看起來很好看。 看一下設定的效果: 點圖層 線圖層 面圖層 1.點圖層設定關鍵程式碼
用Construct 2製作遊戲時的圖層和人物設定
construct2能做什麼 construct2是一款跨平臺二維遊戲開發引擎,不需要編碼,通過定義各個部件和事件完成html5的遊戲開發。 該引擎可以將開發的封裝成多種形式,如phonegap、cocoonjs,再用相應工具生成ios和android的應
C# 操作PDF 圖層(Layer)—新增、刪除圖層、設定圖層可見性
前言 通過新增圖層,我們可以將文字、圖片、表格、圖形等元素精確定位於頁面指定位置,將這些元素進行疊放、組合形成頁面的最終效果。此外,對於頁面中已有的圖層我們也可以進行設定圖層可見性、刪除圖層等操作。在本篇文章中,將介紹如何在C#中進行PDF圖層的操作。 要點概括 1.新增圖層 線
AutoCAD中我們如何進行建立和設定管理圖層?
像我們一般做繪圖設計的小夥伴們大致都瞭解啦,AutoCAD中繪製任何物件都是在圖層上進行的。圖層就好像一張張透明的圖紙。整個圖形就相當於若干個透明圖紙上下疊加的效果。一般情況下,相同的圖層上具有相同的線型、顏色、線寬等特性。 在繪製的是過程中,我們可以根據自己的需要進行建立、設定圖層。比如
arcgis api for js 設定圖層透明度
出於某些原因,需要知道之前設定的透明度值,發現可以通過向元素附加資料的方法來獲得資料,記錄一下 1.建立 objOpactiy = new esri.dijit.HorizontalSlider({ &nbs
Focusky教程 | 圖層設定
當多個元素物件疊放在一起, 而又組織不好的時候, 畫面會顯得雜亂無章。 但如果進行合理的圖層設定, 按照一定的順序將物體疊放,組合起來,就會形成很好的頁面效果。在Focusky(也稱為“FS軟體”)動畫演示製作的過程中, 可以進行4種不同效果的圖層設定: 上移一層, 下移一層, 置於頂層,
安卓設定控制元件的陰影效果:圖層效果LayerList
圖層列表 LayerDrawable 是管理其他可繪製物件陣列的可繪製物件。列表中的每個可繪製物件按照列表的順序繪製,列表中的最後一個可繪製物件繪於頂部。每個可繪製物件由單一 layer-list 元素內的 item 元素表示。 layer-list 對應的 J
openlayers4通過拖動滑動條設定圖層顏色透明度
在GIS專案實踐過程中,需要實現各個功能區的疊加圖層實現,以及設定它們各自的透明度,功能區分為1類、2類、3類、4a類、4b類等。每個功能區的載入均是通過一個json檔案載入到map。要求可以單獨檢視某個功能區,並通過拖動滾動條可以控制每個圖層的透明度。 1.
PIE SDK地圖範圍設定和圖層事件監聽
1. 功能簡介 地圖範圍設定的監聽就是通過IMapControlEvents介面對地圖的檢視範圍更新或者地圖的解析度發生變化進行監聽,然後做出相應的操作。 圖層事件的監聽就是通過IActiveViewEvents介面對地圖
echarts給柱形圖的每個柱子設定不同顏色
series: [{ type: 'bar', data: [5, 20, 36, 10, 10, 20], itemStyle: {
QGis(三)查詢向量圖層的要素屬性欄位值
當載入一個向量圖層後,如果要檢視要素的屬性欄位值,則需要實現identity的功能。可以和前面的縮放一樣,新增一個工具欄按鈕: (1)在MainWindow新增一個變數,並在Qt設計師裡新增Action: QgsMapToolSelect *mpIdentifyTool
ArcGIS API For JS 中設定圖層顯示的方法(ArcGISDynamicMapServiceLayer)setVisibleLayers(ids, doNotRefresh?)介紹
一、我們都知道所以圖層都繼承自layer圖片,在layer圖層並沒有定義該方法,也就說該方法是子類自己定義的,並不是每個圖層都有該方法,像CSVLayer圖層有setVisibility(isVisib
Echarts 圖表外掛學習(3)-- 給柱形圖的每個柱子設定不同顏色
1.實現的效果 2.引用Echarts 本地:<script src="../lib-v3/echarts/echarts.min.js"></script> 線上:<script src="http://echarts.baidu.c
iOS UI——通過圖層layer設定 圖片的形變屬性(transform)
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { //通過uiview設定(2D效果) // self.iconView.transform=CGAffineTransform
QGis二次開發基礎 -- 向量圖層的顯示樣式
帶座標的向量圖層作為GIS的核心資料,具有非常豐富的用途。人們往往喜歡在地圖上做各種標記,不僅美觀,而且使地圖清晰,一目瞭然。於是應運而生了使用各種各樣的圖示作為地圖示記的功能需求,在很多GIS軟體上,這早已不是什麼新鮮事了。然而在QGis二次開發的時候,同學們
QGis二次開發基礎 -- 構建圖層管理器
為了迴應有些同學對上一篇博文的建議,這篇文章主要關注於QGis二次開發中的“圖層管理器”的實現。 使用QGis構建獨立應用系統,我相信大部分同學應該還是關注於GIS基本功能框架構建上,也就是一些基本的GIS功能,例如: 資料的顯示、漫遊瀏覽等 讀入資料的管
arcgis-api-for-js-之新增圖層到地圖及地圖服務設定可見圖層
1. 前言 ArcGISDynamicMapServiceLayer 類代表動態圖層,因此就有很大的屬性與方法來操作檢視服務。 2. 新增圖層到地圖 我們使用 addLayer() 方法將圖層載入到地圖中,程式碼如下: require([
QGis(四)shp向量圖層新增新欄位
新增一個新的欄位到shp檔案中,並且從Excel裡匯入資料到該欄位。原shp檔案裡的欄位ID應該與Excel裡的欄位ID一一對應才能正確的匯入。下圖分別是shp的欄位和Excel的欄位 將class欄位新增到shp中去: (1)從Excel中讀取資料(為了讀取方便,存為.
解決QGIS 1.8圖層屬性中文亂碼問題
QGIS 1.8版屬性資料中文顯示會變成亂碼的問題,目前有一個暫時的解決方法,就是安裝一個shapefile編碼修正Shapefile Encoding Fixer Plugin,以下是簡要的操作流程: 1.首先新增一個附加元件主機:[附加元件]->[Python附加
arcgis engine開發中圖層標註設定
做了一個圖層標註顯示並非圖層要素對應欄位值,而作一個翻譯,網上也未找到比較詳細的說明,因此費了較長時間,這裡作一個記錄; 下面對整個設定過程作一個詳細的標註: IFeatureLayer feaLy = curLayer as IFeatureLayer;//把需要標註