Printing attributes of selection in ArcPy?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
I'm trying to use ArcPy to print a list of addresses of land parcels crossed by a power line. I'm using the following code to accomplish this:
# Loop through features in parcels.shp
for feature in parcel:
# Search cursor for address field
cursor = arcpy.da.SearchCursor(parcel, 'SITUSADDR')
# Loop through cursor
for row in cursor:
# Select features crossed by powerline.shp
matchcount=arcpy.SelectLayerByLocation_management(parcel, 'CROSSED_BY_THE_OUTLINE_OF', power)
# Loop through matchcount, print
for i in matchcount:
print((row[0]))
# Give feedback if there are no matches
if matchcount == 0:
print('No features matched spatial criteria.')
The code is able to print addresses, but isn't filtering them the way I'm expecting it too. Rather than printing several addresses from 'matchcount' it prints the addresses of all parcels and seems to repeat them three times.
How can I edit this code to print only the selected features?
arcpy shapefile
New contributor
Megan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
I'm trying to use ArcPy to print a list of addresses of land parcels crossed by a power line. I'm using the following code to accomplish this:
# Loop through features in parcels.shp
for feature in parcel:
# Search cursor for address field
cursor = arcpy.da.SearchCursor(parcel, 'SITUSADDR')
# Loop through cursor
for row in cursor:
# Select features crossed by powerline.shp
matchcount=arcpy.SelectLayerByLocation_management(parcel, 'CROSSED_BY_THE_OUTLINE_OF', power)
# Loop through matchcount, print
for i in matchcount:
print((row[0]))
# Give feedback if there are no matches
if matchcount == 0:
print('No features matched spatial criteria.')
The code is able to print addresses, but isn't filtering them the way I'm expecting it too. Rather than printing several addresses from 'matchcount' it prints the addresses of all parcels and seems to repeat them three times.
How can I edit this code to print only the selected features?
arcpy shapefile
New contributor
Megan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
I'm trying to use ArcPy to print a list of addresses of land parcels crossed by a power line. I'm using the following code to accomplish this:
# Loop through features in parcels.shp
for feature in parcel:
# Search cursor for address field
cursor = arcpy.da.SearchCursor(parcel, 'SITUSADDR')
# Loop through cursor
for row in cursor:
# Select features crossed by powerline.shp
matchcount=arcpy.SelectLayerByLocation_management(parcel, 'CROSSED_BY_THE_OUTLINE_OF', power)
# Loop through matchcount, print
for i in matchcount:
print((row[0]))
# Give feedback if there are no matches
if matchcount == 0:
print('No features matched spatial criteria.')
The code is able to print addresses, but isn't filtering them the way I'm expecting it too. Rather than printing several addresses from 'matchcount' it prints the addresses of all parcels and seems to repeat them three times.
How can I edit this code to print only the selected features?
arcpy shapefile
New contributor
Megan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
I'm trying to use ArcPy to print a list of addresses of land parcels crossed by a power line. I'm using the following code to accomplish this:
# Loop through features in parcels.shp
for feature in parcel:
# Search cursor for address field
cursor = arcpy.da.SearchCursor(parcel, 'SITUSADDR')
# Loop through cursor
for row in cursor:
# Select features crossed by powerline.shp
matchcount=arcpy.SelectLayerByLocation_management(parcel, 'CROSSED_BY_THE_OUTLINE_OF', power)
# Loop through matchcount, print
for i in matchcount:
print((row[0]))
# Give feedback if there are no matches
if matchcount == 0:
print('No features matched spatial criteria.')
The code is able to print addresses, but isn't filtering them the way I'm expecting it too. Rather than printing several addresses from 'matchcount' it prints the addresses of all parcels and seems to repeat them three times.
How can I edit this code to print only the selected features?
arcpy shapefile
arcpy shapefile
New contributor
Megan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Megan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
edited 5 hours ago
PolyGeo♦
54.1k1782246
54.1k1782246
New contributor
Megan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
asked 7 hours ago
MeganMegan
305
305
New contributor
Megan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Megan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Megan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You have some issues with your code.
If parcel is referencing a shapefile, for example:
parcel = r'C:folderparcels.shp'
Then parcel will be a string and when you do:
for feature in parcel:
You will be iterating over each character in it.
And im pretty sure matchcount will not be a selection or a layer, it will be a result object when you do this:
matchcount=arcpy.SelectLayerByLocation_management(parcel, 'CROSSED_BY_THE_OUTLINE_OF', power)
The selection is made on parcel, if it is a feature layer created with MakeFeatureLayer.
I suggest you try Intersecting parcels and lines then read the output using da.SearchCursor. You can write the output to memory (or in_memory) if you dont want to save the output to disk.
Select By Location for each feature like you try will be slow.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "79"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Megan is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f319419%2fprinting-attributes-of-selection-in-arcpy%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You have some issues with your code.
If parcel is referencing a shapefile, for example:
parcel = r'C:folderparcels.shp'
Then parcel will be a string and when you do:
for feature in parcel:
You will be iterating over each character in it.
And im pretty sure matchcount will not be a selection or a layer, it will be a result object when you do this:
matchcount=arcpy.SelectLayerByLocation_management(parcel, 'CROSSED_BY_THE_OUTLINE_OF', power)
The selection is made on parcel, if it is a feature layer created with MakeFeatureLayer.
I suggest you try Intersecting parcels and lines then read the output using da.SearchCursor. You can write the output to memory (or in_memory) if you dont want to save the output to disk.
Select By Location for each feature like you try will be slow.
add a comment |
You have some issues with your code.
If parcel is referencing a shapefile, for example:
parcel = r'C:folderparcels.shp'
Then parcel will be a string and when you do:
for feature in parcel:
You will be iterating over each character in it.
And im pretty sure matchcount will not be a selection or a layer, it will be a result object when you do this:
matchcount=arcpy.SelectLayerByLocation_management(parcel, 'CROSSED_BY_THE_OUTLINE_OF', power)
The selection is made on parcel, if it is a feature layer created with MakeFeatureLayer.
I suggest you try Intersecting parcels and lines then read the output using da.SearchCursor. You can write the output to memory (or in_memory) if you dont want to save the output to disk.
Select By Location for each feature like you try will be slow.
add a comment |
You have some issues with your code.
If parcel is referencing a shapefile, for example:
parcel = r'C:folderparcels.shp'
Then parcel will be a string and when you do:
for feature in parcel:
You will be iterating over each character in it.
And im pretty sure matchcount will not be a selection or a layer, it will be a result object when you do this:
matchcount=arcpy.SelectLayerByLocation_management(parcel, 'CROSSED_BY_THE_OUTLINE_OF', power)
The selection is made on parcel, if it is a feature layer created with MakeFeatureLayer.
I suggest you try Intersecting parcels and lines then read the output using da.SearchCursor. You can write the output to memory (or in_memory) if you dont want to save the output to disk.
Select By Location for each feature like you try will be slow.
You have some issues with your code.
If parcel is referencing a shapefile, for example:
parcel = r'C:folderparcels.shp'
Then parcel will be a string and when you do:
for feature in parcel:
You will be iterating over each character in it.
And im pretty sure matchcount will not be a selection or a layer, it will be a result object when you do this:
matchcount=arcpy.SelectLayerByLocation_management(parcel, 'CROSSED_BY_THE_OUTLINE_OF', power)
The selection is made on parcel, if it is a feature layer created with MakeFeatureLayer.
I suggest you try Intersecting parcels and lines then read the output using da.SearchCursor. You can write the output to memory (or in_memory) if you dont want to save the output to disk.
Select By Location for each feature like you try will be slow.
edited 5 hours ago
PolyGeo♦
54.1k1782246
54.1k1782246
answered 6 hours ago
BERABERA
17.4k62044
17.4k62044
add a comment |
add a comment |
Megan is a new contributor. Be nice, and check out our Code of Conduct.
Megan is a new contributor. Be nice, and check out our Code of Conduct.
Megan is a new contributor. Be nice, and check out our Code of Conduct.
Megan is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Geographic Information Systems Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f319419%2fprinting-attributes-of-selection-in-arcpy%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown