Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在ArcPy中开发地质处理工具_Python_Gis_Arcpy - Fatal编程技术网

Python 在ArcPy中开发地质处理工具

Python 在ArcPy中开发地质处理工具,python,gis,arcpy,Python,Gis,Arcpy,我正试图把什么变成一个可以在ArcMap中重用的地理处理工具,但我收到了以下错误。我格式化where_查询变量的方式似乎有问题,但我似乎无法正确处理它 Traceback (most recent call last): File "C:\ArcPy\mean_center_drift.py", line 19, in <module> arcpy.Select_analysis(in_feature, year_out_name, where_query) File

我正试图把什么变成一个可以在ArcMap中重用的地理处理工具,但我收到了以下错误。我格式化where_查询变量的方式似乎有问题,但我似乎无法正确处理它

Traceback (most recent call last):
  File "C:\ArcPy\mean_center_drift.py", line 19, in <module>
    arcpy.Select_analysis(in_feature, year_out_name, where_query)
  File "c:\program files (x86)\arcgis\desktop10.3\arcpy\arcpy\analysis.py", line 84, in Select
    raise e
ExecuteError: ERROR 000358: Invalid expression 1
Failed to execute (Select).
回溯(最近一次呼叫最后一次):
文件“C:\ArcPy\mean\u center\u drift.py”,第19行,在
arcpy.Select\u analysis(in\u功能,year\u out\u名称,where\u查询)
文件“c:\program files(x86)\arcgis\desktop10.3\arcpy\arcpy\analysis.py”,第84行,选择
提高e
ExecuteError:错误000358:表达式1无效
无法执行(选择)。
这是当前形式的代码

import os
import arcpy

in_feature  = arcpy.GetParameterAsText(0)
out_features  = arcpy.GetParameterAsText(1)
origin_year = arcpy.GetParameterAsText(2)
field_name = arcpy.GetParameterAsText(3)

for x in range(10, 140, 10):
    year_range = int(origin_year) + x
    where_query = 'field_name' <= "{0}.format(year_range)"

    year_out_name = os.path.join(out_features, "Years_{0}".format(x))
    mean_out_name = os.path.join(out_features, "Mean_{0}".format(x))

    arcpy.Select_analysis(in_feature, year_out_name, where_query)

    arcpy.MeanCenter_stats(year_out_name, mean_out_name, "#", "#", "#")
导入操作系统
导入arcpy
in_feature=arcpy.GetParameterAsText(0)
out\u features=arcpy.GetParameterAsText(1)
原点\年份=arcpy.GetParameterAsText(2)
field_name=arcpy.GetParameterAsText(3)
对于范围(10、140、10)内的x:
年份范围=整数(原点年份)+x

其中\u query='field\u name'
其中\u query
构造错误

>>where\u query='field\u name'>>where\u query
真的
>>>年份范围=2010年
>>>where_query=“'field_name'能够帮助我使用以下解决方案

import os
import arcpy

in_feature  = arcpy.GetParameterAsText(0)
out_features  = arcpy.GetParameterAsText(1)
origin_year = arcpy.GetParameterAsText(2)
field_name = arcpy.GetParameterAsText(3)

path = arcpy.Describe(in_feature).path
new_field_name = arcpy.AddFieldDelimiters(path, field_name)

for x in range(10, 140, 10):
    year_range = int(origin_year) + x
    where_query = """{0} <= {1}""".format(new_field_name, year_range)

    year_out_name = os.path.join(out_features, "Years_{0}".format(x))
    mean_out_name = os.path.join(out_features, "Mean_{0}".format(x))

    arcpy.Select_analysis(in_feature, year_out_name, where_query)

    arcpy.MeanCenter_stats(year_out_name, mean_out_name, "#", "#", "#")
导入操作系统
导入arcpy
in_feature=arcpy.GetParameterAsText(0)
out\u features=arcpy.GetParameterAsText(1)
原点\年份=arcpy.GetParameterAsText(2)
field_name=arcpy.GetParameterAsText(3)
path=arcpy.description(在特征中)。path
新建字段名称=arcpy.AddFieldDelimiters(路径、字段名称)
对于范围(10、140、10)内的x:
年份范围=整数(原点年份)+x

where_query=“”{0}您可能还想在那里发布大量的arcpy人员
where\u query
看起来可疑-您在那里试图做什么?我正在尝试为Select\u analysis()函数中的where子句定义变量中的输入。-不要
import os
import arcpy

in_feature  = arcpy.GetParameterAsText(0)
out_features  = arcpy.GetParameterAsText(1)
origin_year = arcpy.GetParameterAsText(2)
field_name = arcpy.GetParameterAsText(3)

path = arcpy.Describe(in_feature).path
new_field_name = arcpy.AddFieldDelimiters(path, field_name)

for x in range(10, 140, 10):
    year_range = int(origin_year) + x
    where_query = """{0} <= {1}""".format(new_field_name, year_range)

    year_out_name = os.path.join(out_features, "Years_{0}".format(x))
    mean_out_name = os.path.join(out_features, "Mean_{0}".format(x))

    arcpy.Select_analysis(in_feature, year_out_name, where_query)

    arcpy.MeanCenter_stats(year_out_name, mean_out_name, "#", "#", "#")