精华内容
下载资源
问答
  • 【Matlab】读取".shp"文件

    千次阅读 2019-05-08 14:56:48
    本文主要介绍了 Matlab 中函数 shaperead 的用法以及如何shp文件制作真值图。 该函数可以用于读取 “.shp” 文件。 代码 % 标准开头 clc clear close all % 读取文件 “*.shp” shpPath='*.shp'; shp=...

    写在最前

    本文主要介绍了 Matlab 中函数 shaperead 的用法以及如何用shp文件制作真值图。
    该函数可以用于读取 “.shp” 文件。

    代码

    % 标准开头

    clc
    clear 
    close all
    

    % 读取文件 “*.shp”

    shpPath='*.shp';
    shp=shaperead(shpPath);
    dataSet=shp;
    

    % 获取shp文件的大小,即shp文件中有多少个{‘Polygon’}

    polygon_num=size(shp,1);
    

    % 初始化一个数组,存放shp文件中的类的名字

    class=cell(50,1);
    

    % 初始化变量,k用来计算类的个数,同时也是类的标号,
    % 即第一次出现的类名标号为“1”,依次类推
    % count用来计算类名是“其他”的类的个数

    k=1;
    count=0;
    

    % 利用for循环在{‘Polygon’}中逐个判断,返回:
    % dataSet . ID:类名的标号
    % class:所有的类名(不重复)

    for i=1:polygon_num
        % 第i个区域的类名,如'茵陈蒿'
        type=dataSet(i).x0xC00xE00xD00xCD;
        
        for j=1:k   
            % 相同返回“1”,否则返回“0”
            tmp=strcmpi(class(j),type);
            
            % 如果相同,即在之前得到的class中有这个类,
            % 将dataSet(i).Id设为j,即该类在class中的序号,
            % 跳出循环“for j=1:k”
            if tmp ~= 0
                dataSet(i).Id = j;  
                break;
            end
            
            % 如果不同,即在class中填入新的类名,
            % 同时将该类在class中的序号写到dataSet(i).Id中
            if j==k && tmp==0
                class(k,1)=cellstr(type);
                dataSet(i).Id = k;
                k=k+1;
                continue;
            end
        end
        
        % 如果得到类名为“其他”,count计数则加1
        if strcmpi(type,'其它')==1
            count=count+1;
        end
    end
    

    % 如果在所有的区域中没有“其他”这个类,
    % 那么就将类别为空“”的区域设为“其他”
    % (一般不会有这样的事情发生)

    if count==0 
        for i=1:polygon_num
            type=dataSet(i).x0xC00xE00xD00xCD;
            if strcmpi(type,'')==1
                dataSet(i).x0xC00xE00xD00xCD='其它';
            end
        end
    end
    

    % 根据四至范围制作真值图
    % 四至范围
    % (.19202583,.74128107) --------------------------(.19352531,.74128107)
    %
    %
    %
    %
    %
    % (.19202583,.74005221) --------------------------(.19352531,.74005221)

    height=*;
    width=*;
    
    startRow=*.74128107;
    endRow=*.74005221;
    per_height=(endRow-startRow)/(height-1);
    
    startCol=*.19202583;
    endCol=*.19352531;
    per_width=(endCol-startCol)/(width-1);
    
    zuobiaoLat=zeros(height,1);
    zuobiaoLon=zeros(width,1);
    for i=1:height
        row=startRow+(i-1)*per_height;
        zuobiaoLat(i)=row;
    end
    for i=1:width
        col=startCol+(i-1)*per_width;
        zuobiaoLon(i)=col;
    end   
    
    ClassGraph=zeros(height,width);
    
    for i=1:height 
        row=zuobiaoLat(i);
        ClassGraph(i,:)=Line( row,zuobiaoLon,dataSet  );
    end
    
    save('*.mat','ClassGraph');
    

    Line.m 如下:

    function [ Result_Line ] = Line( Lat,Lon,data  )
    %POTINPOLYGON 此处显示有关此函数的摘要
    %   此处显示详细说明
    %   每行经纬度的判断
    row = Lat;
    width=size(Lon,1);
    rows=repmat(row,1,width);
    cols=Lon';
    Result_Line=zeros(1,width);
    dotinpoly=1;
    k=1;
    while dotinpoly == 1
            polygonSize=size(data(k).X,2);
            rangeX=data(k).X;
            rangeY=data(k).Y;
        
            rangeX(1,polygonSize)=rangeX(1,1);
            rangeY(1,polygonSize)=rangeY(1,1);
        
            is_in = inpolygon(cols,rows,rangeX,rangeY);
            index=find(is_in ~=0);
            num=length(index);
            if num > 0      
                Result_Line(index)=data(k).Id;
            end
            
            k=k+1; 
            if k>size(data,1)
                dotinpoly = 2 ;     
            end
        end
    
    end
    

    祝您浏览愉快!

    展开全文
  • 有时候想要一张shp格式的地方行政区划矢量图,但苦于网络资源有限,找得到的可能不够满足需求,更多时候是难以找到,这时唯有自力更生了!下面我将分享一种方法,通过用GIS软件创建shapefile文件并进行编辑描边,以...

    详细图文ArcGIS10.2破解版教程地址:
    http://jingyan.baidu.com/article/e73e26c0cb5c1324adb6a791.html

     

    有时候想要一张shp格式的地方行政区划矢量图,但苦于网络资源有限,找得到的可能不够满足需求,更多时候是难以找到,这时唯有自力更生了!下面我将分享一种方法,通过用GIS软件创建shapefile文件并进行编辑描边,以达到目的。

    如何制作行政区划矢量图(shp格式)

    工具/原料

     
    • ARCGIS10.2
    • 行政区划图.jpg

    添加图片

     
    1. 1

      文件不能直接“打开”。开启GIS后,选择标准工具条里的黑十字形图标,弹出“添加数据”对话框,找到你的图片并点击“添加”,以此在软件添加图片。

      如何制作行政区划矢量图(shp格式)
    2. 2

      在添加过程会弹出“未知的空间参考”警告框,这是因为没有对图片进行空间参考编辑,即选定坐标系,但是对接下来的步骤不造成影响,所以可点击“确定”,进行下一步。

      如何制作行政区划矢量图(shp格式)
      END

    新建Shapefile

     
    1. 1

      调出“目录”窗口,选择你要在其中新建shapefile的文件夹,右键——“新建”——“Shapefile(S)...”

      如何制作行政区划矢量图(shp格式)
    2. 2

      在弹出的“创建新Shapefile”窗口中,先对文件进行命名,然后选择“”要素类型,然后“确定”。(为了使制图过程更加顺利地完成,空间参考的编辑可先不用管。)

      如何制作行政区划矢量图(shp格式)
    3. 3

      因为没有编辑空间参考,所以依旧会弹出警告窗口,点击“确定”跳过即可。创建的shapefile文件自动在主界面打开。

      如何制作行政区划矢量图(shp格式)
      END

    编辑要素

     
    1. 1

      在内容列表中,右键shapefile文件,选择“编辑要素”——“开始编辑”。

      如何制作行政区划矢量图(shp格式)
    2. 2

      在菜单栏中选“自定义”——“工具条”——勾选“编辑器”,调出编辑器工具。

      如何制作行政区划矢量图(shp格式)
    3. 3

      通过编辑器调出“创建要素”窗口,在窗口中先在上面选择shapefile文件,下面就会出现构造工具,选择“手绘”工具。

      如何制作行政区划矢量图(shp格式)
    4. 4

      鼠标形状变成十字状,意味着可绘图了。在行政区划图.jpg上面开始描边,先在起点点击一下,然后沿着图片描边界,描边回到起点再点击一下,完成草图,构造出一个面。

      如何制作行政区划矢量图(shp格式)
    5. 5

      若对构造的面不满意,想重新画,可选择编辑器中的“编辑工具”,选择不想要的面,右键——“删除”。

      如何制作行政区划矢量图(shp格式)
      如何制作行政区划矢量图(shp格式)
    6. 6

      构造出第一个面后,接下来可换成“自动完成手绘”,该工具的好处在于可自动完成接壤边的描画。如图,红圈处为起始处和终止处,蓝色边是你需要画的部分,绿色边是软件自动生成的。

      如何制作行政区划矢量图(shp格式)
    7. 7

      自动完成手绘的要求是在起点、终点处要与相邻的面有交集接触。一般在刚好接触处开始画或结束草图都比较难,需要放大来画,可能还要多画几次,一次可能不成功。建议在相邻的面(如红圈处)开始画并结束。

      如何制作行政区划矢量图(shp格式)
    8. 8

      若想微调细节,可选择“编辑折点”,发现面的边界出现许多绿色的折点,这些点都是可移动的。编辑后,双击空白处退出编辑状态。另,右键折点可进行删除,右键边界可插入折点。

      如何制作行政区划矢量图(shp格式)
      如何制作行政区划矢量图(shp格式)
      如何制作行政区划矢量图(shp格式)
      END

    保存并停止编辑

     
    1. 1

      描画完成后,若对呈现的结果满意,记得在“编辑器”下拉选项中选择“保存编辑内容”,在画的过程中也可以随时点击保存。如果不需要再对此shapefile进行编辑绘画,记得选择“停止编辑”退出编辑状态。

      如何制作行政区划矢量图(shp格式)
      END

    注意事项

     
    • 编辑好之后记得“停止编辑”,不然后续的许多操作可能受到限制。
    展开全文
  • 管理系统要求上报的shp文件需要有投影信息,一般在CAD的dwg或者dxf里面只存储了坐标信息,因此在相关软件进行转化的时候,需要对转换的shp文件定义其投影信息。dxf格式转换成shp格式在相关GIS软件或者其它第三...

    目前在实际工作中,很多图件都是基于CAD软件进行制作的,但在各级管理系统所要求的空间图形为GIS格式的数据,比如全国水土保持预防监督管理系统要求的防治责任范围为shp格式。

    管理系统要求上报的shp文件需要有投影信息,一般在CAD的dwg或者dxf里面只存储了坐标信息,因此在相关软件进行转化的时候,需要对转换的shp文件定义其投影信息。

    dxf格式转换成shp格式在相关GIS软件或者其它第三方工具都可以实现,在协同解译平台"GIS工具箱"也提供了类似的功能,在实际工作中可以根据需要灵活选择。

    一、CAD格式保存为dxf格式

    一般CAD软件默认保存的格式为dwg格式,为了便于其它软件识别,CAD软件同时提供保存为dxf格式。

    下图为借助第三方软件下载的谷歌遥感影像,投影采用的是“WEB墨卡托投影”(EPSG:3857),该遥感影像加载在CAD中可以保证坐标位置不变,基于该遥感勾绘的图形保存为dxf格式后,可以借助其它软件实现格式转换。

    61454e46762bc281764a2c766581405d.png

    单击菜单“文件/另存为”,将该文件保存为dxf格式。

    66988750d6581996b317e72460e95e69.png

    二、打开协同解译平台GIS工具箱

    打开协同解译平台后,单击“其它工具(专业用户)/GIS工具箱”,打开GIS工具箱。协同解译平台安装参考《协同解译平台64位版本安装》。

    97364a78d8582b04bafc2d725aad7457.png

    三、dxf格式转换为shp格式

    在协同解译平台“GIS工具箱”中单击“矢量工具/创建要素类的副本”打开格式转换工具。

    c308d26d28ddcf6c70656f40f0f2c3c5.png

    在“创建一个要素类的副本”工具操作界面“源要素类”,类型参数下拉选择“OGR要素类(常规文件)”,在文件位置选择需要转换的dxf文件,选择dxf文件后,单击“要素类名称”后面的“选择...”按钮,在弹出的“请选择要素类”对话框中选择要素类,一般都是“entities”,单击“确定”按钮,完成“源要素类”参数的设置。

    在“目标要素类”同样选择“OGR要素类(常规文件)”,此时输入转换后shp文件的名称。

    63cc3dc6323805a9b9f615ce447fdb3f.png

    由于dxf格式一般不存储投影信息,为了便于以后使用方便,在已知投影信息的情况下,可以单击“图形坐标变换”按钮,在“方法”下边选择“赋予坐标系”。

    9c7752e8a66826ce8d39003299b06cf8.png

    直接在“目标坐标系”输入“EPSG:3857”或者单击“快捷设置”下面选择“WGS84全球伪墨卡托投影坐标系”。

    c8af589135064b68f8f3ec57e487f1c2.png

    补充说明:在CAD的参照底图如果是采用网络上下载的遥感影像在未进行坐标转换的时候,大部分使用的都是装墨卡托投影,如果采用的是地形图数据,我国国内的地形图的投影大部分采用的是高斯克吕格投影。实际选择的时候根据CAD底图的投影进行选择。

    相关投影信息基本只是可以参考:《地形图坐标转换小程序使用方法》、《shp文件如何定义投影》、《如何借助GIS工具箱实现矢量数据的投影转换》、《如何借助GIS工具箱实现矢量数据的坐标定义》

    最终参数设置如下图,单击“确定”按钮,完成dxf格式转shp格式。

    73166951234879c6a0837fa82dd57964.png

    四。协同解译平台查看SHP文件

    参考《本地SHP文件如何添加到协同解译平台显示》文章,打开刚才转换的shp文件,最终显示效果如下。

    00d6712ef9b4c9cead16b072fee6f579.png

    更多格式转换可以参考:《借助ogr2ogr工具实现shp文件转换dxf格式》、《借助ogr2ogr工具实现shp文件转换kml格式》、《借助ogr2ogr工具实现SHP文件编码转换》等。

    展开全文
  • 如何制作KML文件,导入到奥维地图里?1。将控制点坐标编辑成TXT文本,格式为(点名称,x,y,z),打开坐标工具经纬度生成工具,设置参数并保存;导入控制点TXT文本,反算后自动保存经纬度TXT文本。2。在上一步中,...

    如何制作KML文件,导入到奥维地图里?

    1。将控制点坐标编辑成TXT文本,格式为(点名称,x,y,z),打开坐标工具经纬度生成工具,设置参数并保存;导入控制点TXT文本,反算后自动保存经纬度TXT文本。

    2。在上一步中,控制点的经度和纬度已经转换。接下来,经度和纬度TXT文本转换为excel格式。打开exceltokml生成工具,打开控制点的excel格式文件。投影设置---投影地标---保存KML文件。。完成KML文件制作。

    3。Ovi手机版导入KML文件,将准备好的KML文件通过微信或QQ发送到手机,打开Ovi互动地图,导入完成。

    4。将KML文件导入计算机版本的Ovi,打开Ovi交互,点击系统-点击导入对象-选择要导入的控制点KML文件,完成。

    如何把微信上的文件导入奥维地图?

    如何在奥维地图中导入导出CAD文件?

    两种方法:如果要导出到Ovi地图的计算机版本,可以同步到云端,然后下载到本地解决问题。如果要将其另存为计算机中的数据文件,可以通过以下方式进行:更多数据管理-导入和导出标记-导出标记-文件类型(指定导出后要保存的文件类型,如KML)-文件名-保存到文件-选择跟踪文件或标签文件-保存。完成后,系统会提示:文件保存成功。问题是Ovi地图的文件操作功能不方便。在Android/date/com.ovital.ovitalmap/files/omap里面。似乎只能在文件管理器中手动找到它进行复制和复制。另外,保存的文件格式,普通用户只能保存为KML,或Ovi特殊格式(扩展名已被遗忘)。如何用Ovi交互式地图导入CAD文件

    kmi数据怎么导入奥维地图?

    在计算机上导出Ovi地图相对简单。

    怎么把kml文件导入奥维地图?

    电脑版手机版的操作方法不一样。例如,对于计算机版本,依次单击“系统导入对象”,在“打开”对话框中找到要导入的KML文件,然后双击“导入”。要在手机上操作,您需要将导入的文件复制到安装Ovi地图的文件夹中。文件夹很难找到,所以不建议在手机上导入文件。它可以导入计算机,然后同步到手机上。最重要的是从SDOMAP文件夹中查找最重要的文件-->从SDOMAP导入和导出标签-->。

    shp文件怎么才能在奥维地图上打开?

    Ovi地图提供了四种方法来完成平面坐标系与84坐标系之间的转换。因此,为了完成CAD文件的导入和导出,需要设置平面坐标变换参数。

    将DXF文件拖到Ovi地图的地图窗口,系统会自动弹出DXF设置对话框

    点击“设置”按钮,设置平面坐标转换参数

    从Ovi地图中,将标记导出到CAD文件的操作类似。在Ovi地图中,单击系统>导出标志

    添加要导出的对象,并将导出格式设置为DXF。单击〖导出〗按钮,系统弹出平面坐标设置参数。需要在此处设置平面坐标转换参数

    展开全文
  • arcgis api for javascripts如何shp数据作为输入参数进行处理影像服务是否可以作为GP服务的输入数据源JS调用GP服务是否可以输入本机的shp数据 影像服务是否可以作为GP服务的输入数据源 【解决办法】: GP服务中的...
  • 在ArcGis拓扑检查的流程——以面重叠检查为例中讲述了如何在ArcGis进行拓扑检查与修改。 在实际操作中,有时我们还需要将ArcGis拓扑检查的结果制作成报告或者提取错误信息反馈作业方。 本文仍然是基于“面重叠检查...
  • 具体shp文件制作可以参考:《QGIS基于天地图遥感影像进行防治责任范围上图》、《RegionManager GIS中如何根据XY坐标生成面图层》、《QGIS中如何根据XY坐标生成面图层》、《ARCGIS中XY坐标转换成面图层基本操作》。...
  • 导入矢量边界文件下载特别BIGEMAP地图下载器提供了多种选择的下载方式,方便用户得到不同的应用当中:4、导入外部边界文件下载(支持kml/kmz/shp格式)本文主要介绍应用多边形如何下载想要的区域第一步:选在多边形...
  •  1、导入/导出AutoCAD文件DXF格式  2、在线标注含有 点 线 面 的矢量标注(KML/KMZ/SHP/DWG/DXF)  3、标注矢量导入导出(支持格式KML、KMZ、SHP、GPX(GPS测量坐标))  4、矢量标注自动叠加到卫星图像...
  • 同步视频教程:... 专题地图制作视频教程:http://www.bigemap.com/video/play201801172.html 1、导入/导出AutoCAD文件DXF格式 2、在线标注含有点线面的矢量标注(KML/KMZ/SHP/DWG...
  • 如何制作专题地图(设计、规划、测绘制作图斑)标绘使用详解发布时间:2018-01-17 版权:1、导入/导出AutoCAD文件DXF格式2、在线标注含有 点 线 面 的矢量标注(KML/KMZ/SHP/DWG/DXF)3、标注矢量导入导出(支持格式KML、...
  • 同步视频教程:...  专题地图制作视频教程:http://www.bigemap.com/video/play201801172.html  1、导入/导出AutoCAD文件DXF格式  2、在线标注含有 点 线 面 的矢量标注(KML/KMZ/SHP/DWG/DX...
  • 1、导入/导出AutoCAD文件DXF格式  2、在线标注含有 点 线 面 的矢量标注(KML/KMZ/SHP/DWG/DXF)  3、标注矢量导入导出(支持格式KML、KMZ、SHP、GPX(GPS测量坐标))  4、矢量标注自动叠加到卫星图像上...
  •  1、导入/导出AutoCAD文件DXF格式  2、在线标注含有 点 线 面 的矢量标注(KML/KMZ/SHP/DWG/DXF)  3、标注矢量导入导出(支持格式KML、KMZ、SHP、GPX(GPS测量坐标))  4、矢量标注自动叠加到卫星图像...
  • 续写:第011篇:易康(eCognition)中用点矢量文件(point.shp制作样本(samples)的方法 参考链接:https://blog.csdn.net/liujinli0712/article/details/80540031 用矢量制作样本的方法已在第011篇中进行了...
  • 最近把arcgis基础看了一下,今天实现了arcgis基础散点图的制作,这个是基础,后面的像热力图什么想必都是类似了,本篇博客就来记录一下如何使用arcgis实现地图散点图的制作。 本次实验中用到了如下软件或数据: ...
  • 如何快速获取所需城市的地理要素shp文件 目录如何快速获取所需城市的地理要素shp文件获取数据行政区划数据矢量数据矢量数据融合 获取数据 行政区划数据 打开阿里云网址: http://datav.aliyun.com/tools/atlas/,在...
  • 具体shp文件制作可以参考:《QGIS基于天地图遥感影像进行防治责任范围上图》、《RegionManager GIS中如何根据XY坐标生成面图层》、《QGIS中如何根据XY坐标生成面图层》、《ARCGIS中XY坐标转换成面图层基本操作》。...
  • 关于单体化 单体化效果做出来也有段时间了,可能还是有些问题没有讲...在GIS行业里,最常见的矢量数据就是shp格式,而arggis的arcmap就是编辑shp的官方工具,所以我们下来展示如何用arcmap制作一个 大雁塔的分层示...
  • 本文将主要介绍folium的三个功能:绘图、打点、热力图及动态化、风格设置以及folium的不足,并顺带提及了如何用OSMNX下载路网的SHP文件。写在前面第一次认识folium是在一个KAGGLE竞赛的Kernel上,当时便觉得能秒出...
  • ww可以根据DLG图批量生成...1、Shp文件制作 首先在arcmap下数字化几个建筑物,并新建height字段存储建筑物的高度。 2、代码实现 /** * * @方法名称: init3DModel ; * @方法描述: 导入简易三维模型 ;
  • 本文从零开始介绍如何提取鄱阳湖信息,并制作shp文件。 二、数据获取及预处理 为了获取鄱阳湖的Landsat-8 OLI影像,首先需要知道鄱阳湖的位置,利用百度直接搜索,可以查询到鄱阳湖的经纬度信息: 鄱阳湖位于...
  • 这期文章我想和大家分享一下点数据基本操作,包括如何将EXCEL的数据展现成点数据(shp文件),如何添加、减少以及可视化点数据,如何将点数据转化为栅格数据(插值方法介绍)。OK,让我们直接进入教程。1、 如何将E....
  • ww可以根据DLG图批量生成假三维模型,这对于...1、Shp文件制作 首先在arcmap下数字化几个建筑物,并新建height字段存储建筑物的高度。 2、代码实现 [java]view plaincopy print? /** * ...

空空如也

空空如也

1 2
收藏数 33
精华内容 13
关键字:

如何制作shp文件