关于arcgis的python脚本编程, shape文件出png图片问题

前提:不使用arcgis的桌面程序,只使用python来实现源文件:生成好的shape文件,没有lyr文件,没有mxd文件问题:arcgis提供的类方法arcpy.map... 前提:不使用arcgis的桌面程序, 只使用python来实现
源文件:生成好的shape文件,没有lyr文件,没有mxd文件
问题:arcgis提供的类方法arcpy.mapping.ExportToPNG只能实现通过mxd文件生成png图片的功能,但现在只有shape文件,用arcmap桌面软件实现的方法应该类似于这样:(新建mxd文件,然后添加数据,选择shape文件,最后导出地图成png图片。)现在的问题是,就括号里的流程使用python怎么实现?欢迎实验成功后说下思路,贴上代码。
我的思路:直接用python新建mxd文件,并对改数据框添加图层,图层的源文件为shape文件
碰到的问题:1、直接新建的mxd文件,使用arcpy.mapping.MapDocument无法获取数据框,原因是没有初始化一些必要的配置吗?2、对现有的mxd文件,是否需要先新建lyr图层,并使用lyr.replaceDataSource函数实现添加数据源,怎么使用python实现?
python和arcgis都是刚接触一周多,问题很多。希望耐心解答,别说些自认理所当然的答案,最重要的是代码。
展开
 我来答
抖擞降人才
推荐于2016-10-22 · TA获得超过2.7万个赞
知道小有建树答主
回答量:1515
采纳率:88%
帮助的人:426万
展开全部

1、点类型的转栅格:

PointToRaster example 1 (Python 
window)


Converts point features to a raster dataset.

import arcpy
from arcpy import env
env.workspace = "c:/data"
arcpy.PointToRaster_conversion("ca_ozone_pts.shp", "ELEVATION", 
                                "c:/output/ca_elev", "MAXIMUM", "", 2000)

PointToRaster example 2 
(stand-alone script)

Converts point features to a raster dataset.

# Name: PointToRaster_Ex_02.py
# Description: Converts point features to a raster dataset.
# Requirements: ArcInfo

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Set local variables
inFeatures = "ca_ozone_pts.shp"
valField = "ELEVATION"
outRaster = "c:/output/ca_elev02"
assignmentType = "MAXIMUM"
priorityField = ""
cellSize = 2000

# Execute PointToRaster
arcpy.PointToRaster_conversion(inFeatures, valField, outRaster, 
                               assignmentType, priorityField, cellSize)



2、面类型的转栅格:

PolygonToRaster example 1 
(Python window)

Converts polygon features to a raster dataset.

import arcpy
from arcpy import env
env.workspace = "c:/data"
arcpy.PolygonToRaster_conversion("ca_counties.shp", "NAME", 
                                 "c:/output/ca_counties.img", 
                                 "MAXIMUM_AREA", "MALES", 0.25)

PolygonToRaster example 2 
(stand-alone script)

Converts polygon features to a raster dataset.

# Name: PolygonToRaster_Ex_02.py
# Description: Converts polygon features to a raster dataset.
# Requirements: ArcInfo

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Set local variables
inFeatures = "ca_counties.shp"
valField = "NAME"
outRaster = "c:/output/ca_counties"
assignmentType = "MAXIMUM_AREA"
priorityField = "MALES"
cellSize = 0.5

# Execute PolygonToRaster
arcpy.PolygonToRaster_conversion(inFeatures, valField, outRaster, 
                                 assignmentType, priorityField, cellSize)


3、线类型转栅格

PolylineToRaster example 1 
(Python window)

Converts polyline features to a raster dataset.

import arcpy
from arcpy import env
env.workspace = "c:/data"
arcpy.PolylineToRaster_conversion("roads.shp", "CLASS", "c:/output/roads.img",
                                   "MAXIMUM_COMBINED_LENGTH", "LENGTH", 30) 

PolylineToRaster example 2 
(stand-alone script)

Converts polyline features to a raster dataset.

# Name: PolylineToRaster_Ex_02.py
# Description: Converts polyline features to a raster dataset.
# Requirements: ArcInfo

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Set local variables
inFeatures = "roads.shp"
valField = "CLASS"
outRaster = "c:/output/roads.tif"
assignmentType = "MAXIMUM_COMBINED_LENGTH"
priorityField = "LENGTH"
cellSize = 30

# Execute PolylineToRaster
arcpy.PolylineToRaster_conversion(inFeatures, valField, outRaster, 
                                  assignmentType, priorityField, cellSize)
追问
就只是使用了工具箱生成的python代码吗? 
1、你自己有没有试过生成的python能不能运行?
2、我要生成的是mxd文件,然后导出png文件,并不需要栅格文件
追答
咱只是提供点线索。
你可以试试,毕竟每个人都有自己的事,如果恰好做过,而且热心的人肯帮助你那是你运气好。祝你好运。
碧血玉叶花
2015-07-15 · TA获得超过4976个赞
知道大有可为答主
回答量:6154
采纳率:0%
帮助的人:1667万
展开全部
上段代码运行出错就是因为程序认为No是个字符串啊,把No直接改成1运行没有问题 Traceback (most recent call last): File "C:\Documents and Settings\Administrator\桌面\a.py", line 18, in select("XYSheet1.shp","XYSheet1_Select1.shp","\"矿区编号\" =No") File "C:\Documents and Settings\Administrator\桌面\a.py", line 16, in select arcpy.Select_analysis(in_features, out_feature_class, where_clause) File "E:\ArcGIS\Desktop10.0\arcpy\arcpy\analysis.py", line 88, in Select raise eExecuteError: ERROR 999999: 执行函数时出错。指定了不存在的列。指定了不存在的列。执行(Select)失败。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式