arcpy的mapping模块常见属性方法总结
1.如何获取当前地图文档:
方式:mxd = mapping.MapDocument("CURRTENT")引用本地或者网络文档(arcpy.mapping.Document("文件路径"))
2.如何获取当前图层的图层列表:
Eg:import arcpy.mapping as mapping
  mxd = mapping.MapDocument("CURRENT")
  layers = mapping.ListLayers(mxd)
  for lys in layers:
      print(lys.name)
3. 如何限制图层列表:
Eg: import arcpy.mapping as mapping
  mxd = mapping,.MapDocument("CURRENT")
  # 获取地图文档的数据框列表,搜索"数据框_name"的指定数据框
  for df in mapping.ListDataFrames(mxd):
      if df.name =="数据框_name":
    layers = mapping.ListLayers(mxd, 'Burg*', df)
    # for 循环,输出地图文档中的每个图层名称
    for layer in layers:
        print(layer.name)
4.如何缩放到图层:
DataFrame.zoomToSelectedFeatures(): 缩放至所有选择要素的范围(来自数据框的所有图层)该方法就是缩放至所选要素
getSelectedExtent(): 该方法是Layer对象的,也是缩放至所选记录的范围。并且返回一个Extent()对象,可以作为参数传给DataFeame.panToExtent()方法。
Eg: import arcpy.mapping as mapping
  mxd = mapping.MapDocument("CURRENT")
  df = mapping.ListDataFrames(mxd,"数据框_name")[0]
  layer = mapping.ListLayers(mxd,"数据框中图层_name*",df)[0]
  df.extent = layer.getSelectedExtent()
5.如何改变地图范围:
DataFrame 类的extent属性可以设置地图的范围
Eg: impot arcpy.mapping as mapping
  mxd = mapping.MapDocument("CURRENT")
  for df in mapping.ListDataFrames(mxd):
      if df.name == '数据框_name':
    layers = mapping.ListLayers(mxd, '数据框中指定图层_name',df)
    for layer in layers:
       query in layers:
     layer.definitionQuery = query
     df.extent = layer.getExtent()
6.添加图层和插入图层:
添加图层:df = mapping.ListDataFremes(定义的地图文档量)[0]
    layer = mapping.Layer(r"引用图层文件.lyr文件的路径")
    mapping.AddLayer(df, layer, "AUTO_ARRANGE")
插入图层: df = mapping.ListDataFrames(mxd, "数据框_name")[0]
      refayer = mapping.Layers(mxd, "数据框中指定图层_name", df)[0]
      inseryLayer = mapping.Layer(r"待插入的图层路径")
      mappin.InsertLayer(df, refLayer, insertLayer, "BEFORE或者AFTER")
7.如何查找地图文档或者图层文件丢失的数据源:
Eg: mxd = mapping.mapDocument(r"地图文档的路径")
  listBrokenDS = mapping.ListBrokenDataSources(mxd) # 获取丢失数据源的图层列表
  for layer in listBrokenDS:
      print(layer.name)
8.使用MapDocument.findAndReplaceWorkspacePaths()查找全局,用以查找丢失的数据源:
  mxd.findAndReplaceWorkspacePaths(r"数据源路径1", r"数据源路径2")
  mxd.saveAcopy(r"保存地图文档路径")
    拓展:MapDocument.replaceWorkspacex()类似上法,本方法不允许用户从一种工作空间类型转换成另一种工作空间(上法则可以)

ArcPy中mapping常见函数及用法1的更多相关文章

  1. 我的Keras使用总结(5)——Keras指定显卡且限制显存用量,常见函数的用法及其习题练习

    Keras 是一个高层神经网络API,Keras是由纯Python编写而成并基于TensorFlow,Theano以及CNTK后端.Keras为支持快速实验而生,能够将我们的idea迅速转换为结果.好 ...

  2. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  3. ecshop中foreach的详细用法归纳

    ec模版中foreach的常见用法. foreach 语法: 假如后台:$smarty->assign('test',$test); {foreach from=$test item=list ...

  4. matlab中patch函数的用法

    http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...

  5. C#中timer类的用法

    C#中timer类的用法 关于C#中timer类  在C#里关于定时器类就有3个   1.定义在System.Windows.Forms里   2.定义在System.Threading.Timer类 ...

  6. C#中dynamic的正确用法

    C#中dynamic的正确用法  http://www.cnblogs.com/qiuweiguo/archive/2011/08/03/2125982.html dynamic是FrameWork4 ...

  7. C++中typename关键字的用法

    我在我的 薛途的博客 上发表了新的文章,欢迎各位批评指正. C++中typename关键字的用法

  8. Guava中Predicate的常见用法

    Guava中Predicate的常见用法 1.  Predicate基本用法 guava提供了许多利用Functions和Predicates来操作Collections的工具,一般在 Iterabl ...

  9. C++中const 的各种用法

    C++中const 关键字的用法 const修饰变量 const 主要用于把一个对象转换成一个常量,例如: ; size = ; // error: assignment of read-only v ...

随机推荐

  1. 【网络安全】SSLSplit实现中间人攻击

    中间人攻击,即在中间监听获取网络数据以便获取的有价值的信息实现攻击破坏的目的,即client-mid man-server,此处介绍的sslsplit可以作为mid man监听ssl信息及HTTP信息 ...

  2. C# 程序打包成安装项目

    Xaml设置图标https://blog.csdn.net/u014234260/article/details/73648649 winform程序控制面板中卸载显示图标https://blog.c ...

  3. ionic1页面切换动画卡顿优化

    https://github.com/shprink/ionic-native-transitions https://www.npmjs.com/package/ionic-native-trans ...

  4. [C#] .NET Core/Standard 1.X 项目中如何使用XmlIgnoreAttribute等标准范围外的内容,兼谈如何解决“violation of security transparency rules failed”(违反安全透明规则失败)异常

    作者: zyl910 一.缘由 XML序列化是一个很常用的功能,但对于.NET Core/Standard,其直到2.0版才内置支持XML序列化.具体来说, .NET Core 2.0 或 .NET ...

  5. 20.翻译系列:Code-First中的数据库迁移技术【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/migration-in-code-first.aspx EF 6 Code-First ...

  6. 【OpenFOAM案例】02 自己动手

    前言:很多人说OpenFOAM很难,要啃上很多的理论书籍,什么流体力学.计算流体力学.矩阵理论.线性代数.数值计算.C++程序设计神马的,看看光这一堆书就能吓倒绝大多数的人.其实我们并不一定要从这些基 ...

  7. Linux零基础入门第五课

    文件的基本操作(下) 文件属性 file命令 语法 >$ file file0 [file1 file2 ...] file命令用于确认文件的类型. 在Linux下,通常并不会严格按照文件扩展名 ...

  8. 使用C#的Conditional特性与Unity编辑器宏命令做条件编译

    概要 在传统的C#项目中,用Conditional特性做条件编译时,需要在Visual Studio中项目的属性里添加上条件编译符号,用法参考这篇文章. 而在Unity项目中,条件编译符号需要在Uni ...

  9. windows 端口被占用,并杀死进程的方法

    netstat -ano | findstr 8081 查询端口 被什么进程占用 tasklist | findstr 2184 根据进程号 查询任务名称 taskkill /f /t /im jav ...

  10. idea创建maven SSM项目

    maven配置 ➜ ~ cd /Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3/conf ➜ conf vim set ...