精华内容
下载资源
问答
  • mapnik地图符号化

    2020-05-20 08:54:24
    为giser提供地图符号化的样例,可自家开发定制。压缩包中包含mapnik符号化说明文档、符号化xml示例文件
  • 主要包括ArcGIS Engine的地图符号化实例代码和测试数据
  • 首先分析了已有的关于地图符号库研究的不足之处,在此基础上,基于ArcGIS Engine,采用程序设计和参数设计相结合的方式,对地图符号化模块进行设计,并实现了相关功能:既可对地图中的矢量目标数据(点、线、面、...
  • AE学习笔记之地图符号化

    千次阅读 2016-09-18 19:18:52
    地图符号化就是对ArcGIS 中加载的地图图层进行渲染,地图图层可以分为点、线、面、三种形式。根据每个图层的图层类型可以分别对点、线、面要素,即MarkerSymbol、LineSymbol、和FillSymbol 进行渲染。  1、点对象 ...

             地图符号化就是对ArcGIS Engine中加载的地图图层进行渲染,地图图层可以分为点、线、面、三种形式。根据每个图层的图层类型可以分别对点、线、面要素,即MarkerSymbol、LineSymbol、和FillSymbol 进行渲染。

            1、点对象

            MarkerSymbol对于修饰点对象符号拥有五个子类:SimpleMarkerSymbol、ArrowMarkerSymbol、CharacterMarkerSymbol、PictureMarkerSymbol 和 MultilayerMarkerSymbol。一下以SimpleMarkerSymbol为例实现点对象的修饰:

     try
                {
                    //获得点图层
                    IFeatureLayer layer;
    
                    layer = axMapControl1.get_Layer(0) as IFeatureLayer;
                    for (int i = 0; i < axMapControl1.Map.LayerCount; ++i)  //寻找点图层
                    {
                        layer = axMapControl1.get_Layer(i) as IFeatureLayer;
                        if (layer.FeatureClass.ShapeType == esriGeometryType.esriGeometryPoint)
                            break;
                    }
                    if (layer.FeatureClass.ShapeType != esriGeometryType.esriGeometryPoint)
                        return;
                    //QI到IGeoFeatureLayer接口
                    IGeoFeatureLayer geoFeatureLayer = layer as IGeoFeatureLayer;
                    //新建SimpleRendererClass对象
                    SimpleRenderer simpleRender = new SimpleRendererClass();
                    ISimpleMarkerSymbol pMarkerSymbol;
                    //创建颜色
                    IColor color;
                    color = new RgbColorClass();
                    color.RGB = 225;
                    //创建SimpleMarkerSymbolClass
                    pMarkerSymbol = new SimpleMarkerSymbolClass();
                    pMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSCircle;
                    pMarkerSymbol.Color = color;
                    pMarkerSymbol.Angle = 60;
                    pMarkerSymbol.Size = 6;
                    //将MarkerSymbol 赋予simpleRender的Symbol
                    simpleRender.Symbol = pMarkerSymbol as ISymbol;
                    geoFeatureLayer.Renderer = simpleRender as IFeatureRenderer;
                    axMapControl1.Refresh();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

            具体流程为:首先,新建一个要素图层的接口,并将mapControl中的第一个图层赋予该图层。

                                  然后,将要素图层转化为地理要素图层。

                                  接着,新建一个SimpleRendererClass对象,和ISimpleMarkerSymbol接口。设置SimpleMarkerSymbol 的颜色、类型、尺寸等信息。

    //将MarkerSymbol 赋予simpleRender的Symbol
                    simpleRender.Symbol = pMarkerSymbol as ISymbol;
                    geoFeatureLayer.Renderer = simpleRender as IFeatureRenderer;

                                  最后,设置地理要素的Render。

             2、线要素

             线要素与点要素相似,不过线要素的子类有8个,分别是:CartographicLineSymbol、HashLineSymbol、MarkLineSymbol、MultiLayerLineSymbol、SimpleLineSymbol、PictureLineSymbol、SimpleLine3DSymbol和TextureLineSymbol。以SimleLineSymbol为例:

     private void simpleLineSymbolToolStripMenuItem_Click(object sender, EventArgs e)
            {
                IGeoFeatureLayer geoFeatureLayer;
                geoFeatureLayer = axMapControl1.get_Layer(0) as IGeoFeatureLayer;
                ISimpleRenderer simpleRender;
                simpleRender = new SimpleRendererClass();
                IRgbColor HC = new RgbColor();
                HC.Red = 225;
                HC.Green = 0;
                HC.Blue = 0;
                ISimpleLineSymbol simpleLineSymbol = new SimpleLineSymbolClass();
                simpleLineSymbol.Color = HC;
                simpleLineSymbol.Width = 5;
                simpleLineSymbol.Style = esriSimpleLineStyle.esriSLSDashDot;
                simpleRender.Symbol = simpleLineSymbol as ISymbol;
                geoFeatureLayer.Renderer = simpleRender as IFeatureRenderer;
                axMapControl1.Refresh();
                axTOCControl1.Update();
            }


       结果如下图:
            3、FillSymbol与以上两个类似,有七种填充方式。
    -----------------------------------------------------------------------------------------end-------------------------------------------------------------------





    展开全文
  • arcgis地图符号化(一)

    千次阅读 2018-09-11 20:49:27
    首先看一下某个字段中含有多少个符号,在属性表中选择...然后选择左侧树需要的图层,如下图右侧所示选择需要符号化的字段。 进入到如下的界面。左侧有Preview预览窗口,100%表示预览的比例,还可以选择其他的预览...

    首先看一下某个字段中含有多少个符号,在属性表中选择【Select By Attributes】,比如我们看一下字段【Type】有哪些唯一值,如下图所示。我们选择【Get Unique Value】,然后会出现该字段中所有的唯一值。

    然后选择左侧树需要的图层,如下图右侧所示选择需要符号化的字段。

    进入到如下的界面。左侧有Preview预览窗口,100%表示预览的比例,还可以选择其他的预览比例。

    下面的layers表示图层,下面有不同按钮,分别是【添加】、【删除】、【上移】、【下移】。Type提供了多种符号化类型,如3D Simple Line Symbol、3D Texture Line Symbol、Cartographic Line Symbol、Hash Line Symbol、Marker Line Symbol、Picture Line Symbol、Simple Line Symbol。下面对线颜色进行配色。选择右边Layers下面某个符号,根据下表所示的CMYK的颜色值进行设置。

    编辑完后选择保存。下面是关键的一点,选择保存到创建的style文件。选择【Style References】,如下图所示,选择【Create New Style】创建一个新的Style文件。

    如下图所示创建新的style文件。用于保存创建好的字段符号化符号。下图中的Name必须与字段中的字段值相互匹配。


                                           更多内容,微信扫二维码关注公众号

                                        


     

    展开全文
  • 地图符号化-柱状图

    千次阅读 2012-06-24 15:01:21
    如果没有这四句,就看不到地图 pFillSymbol = new SimpleFillSymbolClass(); pFillSymbol.Color = GetRGBColor(239, 228, 190); pChartRenderer.BaseSymbol = (ISymbol)pFillSymbol; pChartRenderer....
    class BarRender
        {
    
    
            public BarRender(AxMapControl pMapcontrol, IFeatureLayer pFtLayer, String pFieldName1, string pFieldName2)
            {
    
     
    
                IGeoFeatureLayer pGeoFeatureLayer = pFtLayer as IGeoFeatureLayer;
    
                pGeoFeatureLayer.ScaleSymbols = true;
    
    
                IFeatureClass pFeatureClass = pFtLayer.FeatureClass;
    
                //定义柱状图渲染组建对象
                IChartRenderer pChartRenderer = new ChartRendererClass();
                //定义渲染字段对象并给字段对象实例化为pChartRenderer
                IRendererFields pRendererFields;
                pRendererFields = (IRendererFields)pChartRenderer;
                //向渲染字段对象中添加字段--- 待补充自定义添加
                pRendererFields.AddField(pFieldName1, pFieldName1);
                pRendererFields.AddField(pFieldName2, pFieldName2);
    
                ITable pTable= pGeoFeatureLayer as ITable;
    
                int[] pFieldIndecies = new int[2];
    
                pFieldIndecies[0] = pTable.FindField(pFieldName1);
                pFieldIndecies[1] = pTable.FindField(pFieldName2);
    
     
    
                IDataStatistics pDataStat = new DataStatisticsClass();
    
                IFeatureCursor pFtCursor = pFtLayer.FeatureClass.Search(null, false);
    
                pDataStat.Cursor = pFtCursor as ICursor;
    
                pDataStat.Field = pFieldName2;
    
                double pMax = pDataStat.Statistics.Maximum;
    
                // 定义并设置渲染时用的chart marker symbol
                IBarChartSymbol pBarChartSymbol = new BarChartSymbolClass();
    
                pBarChartSymbol.Width = 6;
    
                IChartSymbol pChartSymbol;
                pChartSymbol = pBarChartSymbol as IChartSymbol;
    
                IMarkerSymbol pMarkerSymbol;
                pMarkerSymbol = (IMarkerSymbol)pBarChartSymbol;
    
     
    
                IFillSymbol pFillSymbol;
                //设置pChartSymbol的最大值
                pChartSymbol.MaxValue = pMax;
                // 设置bars的最大高度 
                pMarkerSymbol.Size = 80;
                //下面给每一个bar设置符号
    
                //定义符号数组
                ISymbolArray pSymbolArray = (ISymbolArray)pBarChartSymbol;
    
     
    
                //添加第一个符号
                pFillSymbol = new SimpleFillSymbolClass();
                pFillSymbol.Color = GetRGBColor(193, 252, 179) as IColor;
                pSymbolArray.AddSymbol(pFillSymbol as ISymbol);
                //添加第二个符号
                pFillSymbol = new SimpleFillSymbolClass();
                pFillSymbol.Color = GetRGBColor(145, 55, 251) as IColor;
                pSymbolArray.AddSymbol(pFillSymbol as ISymbol);
    
     
    
    
                pChartRenderer.ChartSymbol = pChartSymbol as IChartSymbol;
                //pChartRenderer.Label = "AREA";
    
              如果没有这四句,就看不到地图
    
      pFillSymbol = new SimpleFillSymbolClass();
                pFillSymbol.Color = GetRGBColor(239, 228, 190);
                pChartRenderer.BaseSymbol = (ISymbol)pFillSymbol;
                pChartRenderer.CreateLegend();
    
                pChartRenderer.UseOverposter = false;
                //将柱状图渲染对象与渲染图层挂钩
                pGeoFeatureLayer.Renderer = (IFeatureRenderer)pChartRenderer;
    
    
                //刷新地图和TOOCotrol
                IActiveView pActiveView = pMapcontrol.ActiveView as IActiveView;
                pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
    
     
    
    
             
              
    
    }
    
            public IRgbColor GetRGBColor(int r, int g, int b)
            {
                IRgbColor pRGB;
    
                pRGB = new RgbColorClass();
    
                pRGB.Red = r;
    
                pRGB.Green = g;
    
                pRGB.Blue = b;
    
                return pRGB;
    
    
            }
        }
    
     
    点要素柱状图产生方式去掉basesymbol就可以了
     

    展开全文
  • 不知道高德、百度、谷歌、腾讯的地图是怎么配图的。 毕竟这种大型的电子地图,应该不是常规的GIS产品吧。 arcgis中的arcmap应该是很常用的地图呈现软件。很多GIS服务地图应该都是用arcmap配的mxd文件吧。 esri...

    不知道高德、百度、谷歌、腾讯的地图是怎么配图的。
    毕竟这种大型的电子地图,应该不是常规的GIS产品吧。

    arcgis中的arcmap应该是很常用的地图呈现软件。很多GIS服务地图应该都是用arcmap配的mxd文件吧。
    esri公司发布过《ArcGIS地图配图策略》,一个五十几页的文档,专门讲用arcgis配图的。
    百度文库就有资源可以下载:https://wenku.baidu.com/view/63dd06f1b0717fd5360cdc76.html
    要更符合规范的地图配图,例如标注河流、道路等,要启用Maplex标注。

    启用Maplex标注的方式是:打开arcmap,自定义—扩展模块—,勾选Maplex。
    视图—数据框属性—常规—标注引擎,把ESRI标准标注引擎改为RSRI Maplex标注引擎。

    如果要发布网络地图的话,还要根据比例尺大小,对显示内容进行一个分级。举例来说,就是比例尺在10000以内,显示所有内容,在10000到50000之间,显示次干以上的路网和注记,在1000000以上的话,只显示高速公路及注记。
    这种情况,一般在mxd文件里,处理图层组,在arcmap内容列表中,选中图层,右键——组,把选中的图层放到一个组里,对组进行操作,选中组,右键——属性——图层组属性——常规——比例范围——缩放超过下列限制时不显示图层。如图。

    这里写图片描述

    地图符号可以自己绘制,符号选择器——编辑符号——符号属性编辑器。
    也可以导入现成的符号库,符号选择器——样式引用——将样式添加至列表。
    当然自己做的符号,也可以保存成style文件的符号库,菜单栏——自定义——样式管理器——样式——创建新样式。
    现成的符号库,http://malagis.com/category/arcgis-symbol/。
    说实话,arcgis配图挺繁琐的,因为图层数量摆在那里,符号完事,还有注记呢。每一个图层怎么也得点击七八下,要是再带上渲染和权重的话,怎么也得点击十来下吧。还容易点错,点漏,要是符号还得自己设计的话,那更费时间了。
    所以要是有一个现成可用、重复利用的配图模板的话,加工数据库使其与配图模板匹配的话,似乎更方便快捷一些。
    首先看图层属性,常规,图层名称、源、标注的字段是哪个,然后把要标注的数据相关属性改成跟原数据一样。重新加载一下数据。这样就不用查看放置属性、标注样式、比例范围、标注表达式等等内容了。
    这是一个比较取巧的方法,当然不适合原创了。
    常规的电子地图似乎没有特别好看的,大同小异。
    不过一些定制的热力图、3D图,看上去挺美的。
    好看不好看的标准因人而异,我觉得中国夜景卫星图挺好看的,有一种慎得慌的美感。
    这里写图片描述
    谷歌地球的星空图也挺好看的,每次从火星视角拽到地球上的时候,总能被吓一跳。
    单纯的arcGIS配图不是很难的事情,但要是配出花样来的话,也没那么容易。
    这里写图片描述
    chinamap也不好看,不过挺有用的。
    http://worldmap.harvard.edu/chinamap/
    可以做研究用。

    展开全文
  • 前几天在网上找到的代码,自己添加一些,支持单字段,两个字段,三个字段的渲染 //下面给出唯一值渲染的核心代码: private void UniqueValueRenderer(IFeatureLayer pFeatLyr, string[] sFieldName) ...
  • 3 混列线符号3 面符号(填充符号)3.1 简单填充符号3.2 标记填充符号3.3 其他各种填充3.4 线填充符号4 色带4.1 随机色带4.2 多部分色带(组合形式)4.3 预置色带4.4 算法色带5 文本符号 基站,光纤 自定义符号 例如...
  • 符号化地图图层

    2021-02-20 14:26:36
    符号化地图图层 ArcGIS Pro 2.7|其他版本 符号系统使用符号表示地图图层的要素和属性。例如,在城市图层中,黑色圆圈可对城市进行符号化。用于符号化每个城市的人口的圆圈大小可能会有所不同。根据可见属性(例如...
  • 但没成想现在ArcGIS Pro符号化和样式有了很大的改进,符号更加的贴近现实生活了,比如现在有了公交车、咖啡厅等符号样式,这些符号对于制作一个精美的专题图还是很不错的,所以今天就先谈谈符号化地图注记等操作。...
  • arcgis林业地图符号制作与地图装饰美化课件,1符号的图形特征;2符号的编辑与管理;3符号制作实例;4数据符号化方式……
  • 目录符号地图填充地图多维地图混合地图 符号地图 填充地图 多维地图 混合地图
  • ArcGIS空间数据符号化
  • 地图可视地图作为信息呈现媒介的一个重要功能。通过可视,我们可以洞察出地图上呈现的数据特征和它们之间的空间关系。目前做空间可视这块的越来越精细,有些甚至上升到的艺术的层面。对于地图开发者来说,...
  • 基于C#的AE二次开发-地图渲染之分级设色渲染符号化 我的开发环境为ArcGIS Engine 10.2与Visual studio2010。主地图名称为axMapControl1,Toc目录名为axTOCControl1,创建一个菜单或按钮,创建一个点击事件,粘贴...
  • 基于C#的AE二次开发-地图渲染之唯一值符号化 我的开发环境为ArcGIS Engine 10.2与Visual studio2010。主地图名称为axMapControl1,Toc目录名为axTOCControl1,创建一个菜单或按钮,创建一个点击事件,粘贴代码修改...
  • 专题地图符号设计与构图

    千次阅读 2019-03-20 23:37:45
    专题地图符号设计是地图编制与可视的重点内容之一。 一、符号设计应遵循的原则 符号设计应遵循多种原则,包括图案、精确性、逻辑性、系统性、对比性和协调性、色彩的象征性、视力与制印条件、印刷与经济效果和...
  • 一、地图元素的地图级别与比例尺的缩放范围 20 564 84619 1128 846 169318 2257 1693 338617 4514 3386 677116 9028 6771 1354215 18056 13542 2708414 36112 27084 5416813 72224 54168 10833612 144448 108336 ...
  • osmdroid基础符号化.zip

    2020-07-16 14:52:43
    开源地图osmdroid的基础符号化,包括文字、点线的符号化的基础示例。可以设置点的显示图片,线条的可以符号化为虚线、实现等。
  • 5 符号化地图专题 继续制作地图,打开Vancouver Downtown 5.ai。 5.1 组织图层 1. 重新安排图层的属性如下。 5.2 自动应用图形样式到面 1. 在AdobeIllustrator主菜单,选择Window>Graphic Styles来打开...
  • 2.3.1 Symbol对象Symbol对象是图层中的图元的显示符号,,在跟踪层中,每个几何对象用一个Symbol对象描述,在Map1.Layers的图层中,每个图层一个Symbol属性,全图层的图元共用一个Symbol对象。1 Symbol.SymbolType...
  • 由于ArcGIS软件自带的符号库若不能满足地图输出的要求,就需要符号库的专门制作,文中按照矢量、精准的设计要求,主要介绍了点状、线状、面状符号的制作方法与技巧,详细说明了各类符号均基于点符号首先在Font ...
  • 地图符号由形状不同、大小不一、色彩有别的图形和文字组成,是地图语言的图解部分。 符号化是以图形方式对地图中的地理要素、标注和注记进行描述、分类和排列,以找出并显示定性和定量关系的过程。 地图符号有点状...
  • 地图符号是地图表达空间信息的语言单位,地形图数据的符号化直接关系到地形图的可视化表达和使用,本文提出基于ArcGIS的1:1万地图符号制作方案以及数据库的地形图符号化
  • Map2Shp智能标注与符号化工具是一款基于ArcGIS平台的批量化标注 与符号化扩展工具。将数据图层全部加载至ArcMap后,仅需配置相关参数后,就能一键完成所有图层的标注与符号化,省时省力, 规范统一,且不易出错。 ...
  • Arcgis Engine符号化相关

    2014-08-21 11:10:00
    之前对于系统的符号化功能运行流程一直没梳理清楚,现在梳理总结其主要过程如下,细节不加阐述: 符号化功能主要应用的接口有两个:简单符号化ISimpleRenderer、唯一值符号化IUniqueValueRenderer 关于默认符号...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 376
精华内容 150
关键字:

地图符号化