关于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都是刚接触一周多,问题很多。希望耐心解答,别说些自认理所当然的答案,最重要的是代码。 展开
源文件:生成好的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都是刚接触一周多,问题很多。希望耐心解答,别说些自认理所当然的答案,最重要的是代码。 展开
展开全部
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文件,并不需要栅格文件
追答
咱只是提供点线索。
你可以试试,毕竟每个人都有自己的事,如果恰好做过,而且热心的人肯帮助你那是你运气好。祝你好运。
展开全部
上段代码运行出错就是因为程序认为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)失败。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询