arcpy.Select_analysis choosing only a fraction of the recordSelecting ArcSDE polygon by point in ArcGIS Desktop using ArcPy?Splitting job on ArcPy SearchCursor?What's the best way to get the OBJECTID name?Assigning a vector to a field in feature class (UpdateCursor)Randomly assign a value to a specificed number of rows in a feature class in ArcGISIs there a faster way in python of finding the smallest number in a field?Fastest way to write large numpy arrays to feature class: as rows, or as columns?Extracting attributes of points within overlapping polygons in ArcPy?Identify duplicate attributes and keep value of earliest recordCreating separate shapefiles for each attribute record using loop in ArcPy?
What to wear for invited talk in Canada
How can I add custom success page
What do you call words made from common English words?
LWC and complex parameters
Where else does the Shulchan Aruch quote an authority by name?
Are white and non-white police officers equally likely to kill black suspects?
Are objects structures and/or vice versa?
What are the advantages and disadvantages of running one shots compared to campaigns?
What's the difference between repeating elections every few years and repeating a referendum after a few years?
Is every set a filtered colimit of finite sets?
Pristine Bit Checking
Can the Produce Flame cantrip be used to grapple, or as an unarmed strike, in the right circumstances?
How to answer pointed "are you quitting" questioning when I don't want them to suspect
How is it possible for user's password to be changed after storage was encrypted? (on OS X, Android)
How to move the player while also allowing forces to affect it
Is this food a bread or a loaf?
Is there a familial term for apples and pears?
Does bootstrapped regression allow for inference?
Symmetry in quantum mechanics
Why was the "bread communication" in the arena of Catching Fire left out in the movie?
"listening to me about as much as you're listening to this pole here"
aging parents with no investments
Why doesn't a const reference extend the life of a temporary object passed via a function?
Why airport relocation isn't done gradually?
arcpy.Select_analysis choosing only a fraction of the record
Selecting ArcSDE polygon by point in ArcGIS Desktop using ArcPy?Splitting job on ArcPy SearchCursor?What's the best way to get the OBJECTID name?Assigning a vector to a field in feature class (UpdateCursor)Randomly assign a value to a specificed number of rows in a feature class in ArcGISIs there a faster way in python of finding the smallest number in a field?Fastest way to write large numpy arrays to feature class: as rows, or as columns?Extracting attributes of points within overlapping polygons in ArcPy?Identify duplicate attributes and keep value of earliest recordCreating separate shapefiles for each attribute record using loop in ArcPy?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I'm trying to divide up a feature class into a number of smaller sets. I have been using Select_analysis with objectid to divide up the featureclass so far but know that this is not the best method.
So for example, currently I have something like:
query = "objectid > 0 + AND objectid <= 1000"
arcpy.Select_analysis(r"C:UsersCHOKDesktopmulithreadingmultiprocessing.gdbContours",r"C:UsersCHOKDesktopmulithreadingmultiprocessing.gdbContours_Mereged",query_statement)
What I want to know is if I can use the number of rows in the feature class to generate the query rather than relying on the objectid? So say I get the number of rows of the feature class using arcpy.GetCount_management(featureclass) and it outputs 1.9 million, is there a way I can divide that 1.9 million into 10 parts based on the count rather than objectid?
arcpy objectid
add a comment |
I'm trying to divide up a feature class into a number of smaller sets. I have been using Select_analysis with objectid to divide up the featureclass so far but know that this is not the best method.
So for example, currently I have something like:
query = "objectid > 0 + AND objectid <= 1000"
arcpy.Select_analysis(r"C:UsersCHOKDesktopmulithreadingmultiprocessing.gdbContours",r"C:UsersCHOKDesktopmulithreadingmultiprocessing.gdbContours_Mereged",query_statement)
What I want to know is if I can use the number of rows in the feature class to generate the query rather than relying on the objectid? So say I get the number of rows of the feature class using arcpy.GetCount_management(featureclass) and it outputs 1.9 million, is there a way I can divide that 1.9 million into 10 parts based on the count rather than objectid?
arcpy objectid
add a comment |
I'm trying to divide up a feature class into a number of smaller sets. I have been using Select_analysis with objectid to divide up the featureclass so far but know that this is not the best method.
So for example, currently I have something like:
query = "objectid > 0 + AND objectid <= 1000"
arcpy.Select_analysis(r"C:UsersCHOKDesktopmulithreadingmultiprocessing.gdbContours",r"C:UsersCHOKDesktopmulithreadingmultiprocessing.gdbContours_Mereged",query_statement)
What I want to know is if I can use the number of rows in the feature class to generate the query rather than relying on the objectid? So say I get the number of rows of the feature class using arcpy.GetCount_management(featureclass) and it outputs 1.9 million, is there a way I can divide that 1.9 million into 10 parts based on the count rather than objectid?
arcpy objectid
I'm trying to divide up a feature class into a number of smaller sets. I have been using Select_analysis with objectid to divide up the featureclass so far but know that this is not the best method.
So for example, currently I have something like:
query = "objectid > 0 + AND objectid <= 1000"
arcpy.Select_analysis(r"C:UsersCHOKDesktopmulithreadingmultiprocessing.gdbContours",r"C:UsersCHOKDesktopmulithreadingmultiprocessing.gdbContours_Mereged",query_statement)
What I want to know is if I can use the number of rows in the feature class to generate the query rather than relying on the objectid? So say I get the number of rows of the feature class using arcpy.GetCount_management(featureclass) and it outputs 1.9 million, is there a way I can divide that 1.9 million into 10 parts based on the count rather than objectid?
arcpy objectid
arcpy objectid
asked 21 hours ago
AndyAndy
191
191
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
I'm not aware of any way to do what you're asking directly. But a work around might be...
Can you add a new field to the feature class? If so, add an integer field, and use the field calculator to add sequential numbers to this field for each feature. One way to do this is explained here: https://support.esri.com/en/technical-article/000011137
You should modify this code to reset to 1 each time it reaches the number of datasets required. Eg,
sets=10
rec=0
def autoIncrement():
global rec
global sets
pStart = 1
pInterval = 1
if (rec == 0 or rec > sets):
rec = pStart
else:
rec += pInterval
return rec
Then you can use Split By Attributes to split into multiple feature classes based on the value of this field (which would be 1-10 for 10 sets). See: http://desktop.arcgis.com/en/arcmap/latest/tools/analysis-toolbox/split-by-attributes.htm
Of course, if it is a dynamic set of data, you would have to recalculate the field each time you wanted to do the same operation again.
Note that the code for the field calculator above would not have the consecutive records kept together (ie, not the first 10% of records, but 1 record in every 10). If you need the consecutive records kept together, this could be done with a tweak to the above code.
1
Building off this, in arcpy you could set up code to generate a new field (doesn't need to be LONG) and populate using da.updateCursor a unique value every x rows, where x is calculated based on initial count. Then split the dataset using Split Layer By Attributes. The advantage here is that you don't need to iterate through selections and can use the split tool to break up the feature class; the disadvantage to both this and Son of a Beach's is the time to update the field.
– smiller
20 hours ago
I have updated the answer to use Split By Attributes, as recommended by @smiller. Good idea, that.
– Son of a Beach
20 hours ago
add a comment |
Creating and populating new field could significantly slow things down.
This is why I tested 2 alternatives below on 150k long point dataset. They use similar approach - splitting the list of OBJECTIDs into equal size chunks:
import arcpy, time
from arcpy import env
env.overwriteOutput = True
infc="many_points"
OIDs=[row[0] for row in arcpy.da.TableToNumPyArray(infc,"objectid")]
n=len(OIDs)/10
t0 = time.time()
N=65
for i in xrange(0, len(OIDs), n):
chunk=OIDs[i:i + n]
q='OBJECTID >=%i AND OBJECTID <=%i' %(chunk[0],chunk[-1])
arcpy.Select_analysis(infc, "C:/scratch/scratch.gdb/%s"%chr(N), q)
N+=1
arcpy.AddMessage("Seconds %i using query" %int(time.time()-t0))
t0 = time.time()
mxd = arcpy.mapping.MapDocument("CURRENT")
lyr = arcpy.mapping.ListLayers(mxd,infc)[0]
N=65
for i in xrange(0, len(OIDs), n):
chunk=OIDs[i:i + n]
lyr.setSelectionSet ("NEW",chunk)
arcpy.CopyFeatures_management(lyr, "C:/scratch/scratch.gdb/%s"%chr(N))
N+=1
arcpy.AddMessage("Seconds %i using layer selection" %int(time.time()-t0))
OUTPUT:
Seconds 57 using query
Seconds 34 using using layer selection
It seems using setSelectionSet method on a layer coupled with Copy features works much faster than Select with query.
Note: Populating integer field in this sample set took 21 second.
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
);
);
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%2f318065%2farcpy-select-analysis-choosing-only-a-fraction-of-the-record%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
I'm not aware of any way to do what you're asking directly. But a work around might be...
Can you add a new field to the feature class? If so, add an integer field, and use the field calculator to add sequential numbers to this field for each feature. One way to do this is explained here: https://support.esri.com/en/technical-article/000011137
You should modify this code to reset to 1 each time it reaches the number of datasets required. Eg,
sets=10
rec=0
def autoIncrement():
global rec
global sets
pStart = 1
pInterval = 1
if (rec == 0 or rec > sets):
rec = pStart
else:
rec += pInterval
return rec
Then you can use Split By Attributes to split into multiple feature classes based on the value of this field (which would be 1-10 for 10 sets). See: http://desktop.arcgis.com/en/arcmap/latest/tools/analysis-toolbox/split-by-attributes.htm
Of course, if it is a dynamic set of data, you would have to recalculate the field each time you wanted to do the same operation again.
Note that the code for the field calculator above would not have the consecutive records kept together (ie, not the first 10% of records, but 1 record in every 10). If you need the consecutive records kept together, this could be done with a tweak to the above code.
1
Building off this, in arcpy you could set up code to generate a new field (doesn't need to be LONG) and populate using da.updateCursor a unique value every x rows, where x is calculated based on initial count. Then split the dataset using Split Layer By Attributes. The advantage here is that you don't need to iterate through selections and can use the split tool to break up the feature class; the disadvantage to both this and Son of a Beach's is the time to update the field.
– smiller
20 hours ago
I have updated the answer to use Split By Attributes, as recommended by @smiller. Good idea, that.
– Son of a Beach
20 hours ago
add a comment |
I'm not aware of any way to do what you're asking directly. But a work around might be...
Can you add a new field to the feature class? If so, add an integer field, and use the field calculator to add sequential numbers to this field for each feature. One way to do this is explained here: https://support.esri.com/en/technical-article/000011137
You should modify this code to reset to 1 each time it reaches the number of datasets required. Eg,
sets=10
rec=0
def autoIncrement():
global rec
global sets
pStart = 1
pInterval = 1
if (rec == 0 or rec > sets):
rec = pStart
else:
rec += pInterval
return rec
Then you can use Split By Attributes to split into multiple feature classes based on the value of this field (which would be 1-10 for 10 sets). See: http://desktop.arcgis.com/en/arcmap/latest/tools/analysis-toolbox/split-by-attributes.htm
Of course, if it is a dynamic set of data, you would have to recalculate the field each time you wanted to do the same operation again.
Note that the code for the field calculator above would not have the consecutive records kept together (ie, not the first 10% of records, but 1 record in every 10). If you need the consecutive records kept together, this could be done with a tweak to the above code.
1
Building off this, in arcpy you could set up code to generate a new field (doesn't need to be LONG) and populate using da.updateCursor a unique value every x rows, where x is calculated based on initial count. Then split the dataset using Split Layer By Attributes. The advantage here is that you don't need to iterate through selections and can use the split tool to break up the feature class; the disadvantage to both this and Son of a Beach's is the time to update the field.
– smiller
20 hours ago
I have updated the answer to use Split By Attributes, as recommended by @smiller. Good idea, that.
– Son of a Beach
20 hours ago
add a comment |
I'm not aware of any way to do what you're asking directly. But a work around might be...
Can you add a new field to the feature class? If so, add an integer field, and use the field calculator to add sequential numbers to this field for each feature. One way to do this is explained here: https://support.esri.com/en/technical-article/000011137
You should modify this code to reset to 1 each time it reaches the number of datasets required. Eg,
sets=10
rec=0
def autoIncrement():
global rec
global sets
pStart = 1
pInterval = 1
if (rec == 0 or rec > sets):
rec = pStart
else:
rec += pInterval
return rec
Then you can use Split By Attributes to split into multiple feature classes based on the value of this field (which would be 1-10 for 10 sets). See: http://desktop.arcgis.com/en/arcmap/latest/tools/analysis-toolbox/split-by-attributes.htm
Of course, if it is a dynamic set of data, you would have to recalculate the field each time you wanted to do the same operation again.
Note that the code for the field calculator above would not have the consecutive records kept together (ie, not the first 10% of records, but 1 record in every 10). If you need the consecutive records kept together, this could be done with a tweak to the above code.
I'm not aware of any way to do what you're asking directly. But a work around might be...
Can you add a new field to the feature class? If so, add an integer field, and use the field calculator to add sequential numbers to this field for each feature. One way to do this is explained here: https://support.esri.com/en/technical-article/000011137
You should modify this code to reset to 1 each time it reaches the number of datasets required. Eg,
sets=10
rec=0
def autoIncrement():
global rec
global sets
pStart = 1
pInterval = 1
if (rec == 0 or rec > sets):
rec = pStart
else:
rec += pInterval
return rec
Then you can use Split By Attributes to split into multiple feature classes based on the value of this field (which would be 1-10 for 10 sets). See: http://desktop.arcgis.com/en/arcmap/latest/tools/analysis-toolbox/split-by-attributes.htm
Of course, if it is a dynamic set of data, you would have to recalculate the field each time you wanted to do the same operation again.
Note that the code for the field calculator above would not have the consecutive records kept together (ie, not the first 10% of records, but 1 record in every 10). If you need the consecutive records kept together, this could be done with a tweak to the above code.
edited 20 hours ago
answered 21 hours ago
Son of a BeachSon of a Beach
1,546719
1,546719
1
Building off this, in arcpy you could set up code to generate a new field (doesn't need to be LONG) and populate using da.updateCursor a unique value every x rows, where x is calculated based on initial count. Then split the dataset using Split Layer By Attributes. The advantage here is that you don't need to iterate through selections and can use the split tool to break up the feature class; the disadvantage to both this and Son of a Beach's is the time to update the field.
– smiller
20 hours ago
I have updated the answer to use Split By Attributes, as recommended by @smiller. Good idea, that.
– Son of a Beach
20 hours ago
add a comment |
1
Building off this, in arcpy you could set up code to generate a new field (doesn't need to be LONG) and populate using da.updateCursor a unique value every x rows, where x is calculated based on initial count. Then split the dataset using Split Layer By Attributes. The advantage here is that you don't need to iterate through selections and can use the split tool to break up the feature class; the disadvantage to both this and Son of a Beach's is the time to update the field.
– smiller
20 hours ago
I have updated the answer to use Split By Attributes, as recommended by @smiller. Good idea, that.
– Son of a Beach
20 hours ago
1
1
Building off this, in arcpy you could set up code to generate a new field (doesn't need to be LONG) and populate using da.updateCursor a unique value every x rows, where x is calculated based on initial count. Then split the dataset using Split Layer By Attributes. The advantage here is that you don't need to iterate through selections and can use the split tool to break up the feature class; the disadvantage to both this and Son of a Beach's is the time to update the field.
– smiller
20 hours ago
Building off this, in arcpy you could set up code to generate a new field (doesn't need to be LONG) and populate using da.updateCursor a unique value every x rows, where x is calculated based on initial count. Then split the dataset using Split Layer By Attributes. The advantage here is that you don't need to iterate through selections and can use the split tool to break up the feature class; the disadvantage to both this and Son of a Beach's is the time to update the field.
– smiller
20 hours ago
I have updated the answer to use Split By Attributes, as recommended by @smiller. Good idea, that.
– Son of a Beach
20 hours ago
I have updated the answer to use Split By Attributes, as recommended by @smiller. Good idea, that.
– Son of a Beach
20 hours ago
add a comment |
Creating and populating new field could significantly slow things down.
This is why I tested 2 alternatives below on 150k long point dataset. They use similar approach - splitting the list of OBJECTIDs into equal size chunks:
import arcpy, time
from arcpy import env
env.overwriteOutput = True
infc="many_points"
OIDs=[row[0] for row in arcpy.da.TableToNumPyArray(infc,"objectid")]
n=len(OIDs)/10
t0 = time.time()
N=65
for i in xrange(0, len(OIDs), n):
chunk=OIDs[i:i + n]
q='OBJECTID >=%i AND OBJECTID <=%i' %(chunk[0],chunk[-1])
arcpy.Select_analysis(infc, "C:/scratch/scratch.gdb/%s"%chr(N), q)
N+=1
arcpy.AddMessage("Seconds %i using query" %int(time.time()-t0))
t0 = time.time()
mxd = arcpy.mapping.MapDocument("CURRENT")
lyr = arcpy.mapping.ListLayers(mxd,infc)[0]
N=65
for i in xrange(0, len(OIDs), n):
chunk=OIDs[i:i + n]
lyr.setSelectionSet ("NEW",chunk)
arcpy.CopyFeatures_management(lyr, "C:/scratch/scratch.gdb/%s"%chr(N))
N+=1
arcpy.AddMessage("Seconds %i using layer selection" %int(time.time()-t0))
OUTPUT:
Seconds 57 using query
Seconds 34 using using layer selection
It seems using setSelectionSet method on a layer coupled with Copy features works much faster than Select with query.
Note: Populating integer field in this sample set took 21 second.
add a comment |
Creating and populating new field could significantly slow things down.
This is why I tested 2 alternatives below on 150k long point dataset. They use similar approach - splitting the list of OBJECTIDs into equal size chunks:
import arcpy, time
from arcpy import env
env.overwriteOutput = True
infc="many_points"
OIDs=[row[0] for row in arcpy.da.TableToNumPyArray(infc,"objectid")]
n=len(OIDs)/10
t0 = time.time()
N=65
for i in xrange(0, len(OIDs), n):
chunk=OIDs[i:i + n]
q='OBJECTID >=%i AND OBJECTID <=%i' %(chunk[0],chunk[-1])
arcpy.Select_analysis(infc, "C:/scratch/scratch.gdb/%s"%chr(N), q)
N+=1
arcpy.AddMessage("Seconds %i using query" %int(time.time()-t0))
t0 = time.time()
mxd = arcpy.mapping.MapDocument("CURRENT")
lyr = arcpy.mapping.ListLayers(mxd,infc)[0]
N=65
for i in xrange(0, len(OIDs), n):
chunk=OIDs[i:i + n]
lyr.setSelectionSet ("NEW",chunk)
arcpy.CopyFeatures_management(lyr, "C:/scratch/scratch.gdb/%s"%chr(N))
N+=1
arcpy.AddMessage("Seconds %i using layer selection" %int(time.time()-t0))
OUTPUT:
Seconds 57 using query
Seconds 34 using using layer selection
It seems using setSelectionSet method on a layer coupled with Copy features works much faster than Select with query.
Note: Populating integer field in this sample set took 21 second.
add a comment |
Creating and populating new field could significantly slow things down.
This is why I tested 2 alternatives below on 150k long point dataset. They use similar approach - splitting the list of OBJECTIDs into equal size chunks:
import arcpy, time
from arcpy import env
env.overwriteOutput = True
infc="many_points"
OIDs=[row[0] for row in arcpy.da.TableToNumPyArray(infc,"objectid")]
n=len(OIDs)/10
t0 = time.time()
N=65
for i in xrange(0, len(OIDs), n):
chunk=OIDs[i:i + n]
q='OBJECTID >=%i AND OBJECTID <=%i' %(chunk[0],chunk[-1])
arcpy.Select_analysis(infc, "C:/scratch/scratch.gdb/%s"%chr(N), q)
N+=1
arcpy.AddMessage("Seconds %i using query" %int(time.time()-t0))
t0 = time.time()
mxd = arcpy.mapping.MapDocument("CURRENT")
lyr = arcpy.mapping.ListLayers(mxd,infc)[0]
N=65
for i in xrange(0, len(OIDs), n):
chunk=OIDs[i:i + n]
lyr.setSelectionSet ("NEW",chunk)
arcpy.CopyFeatures_management(lyr, "C:/scratch/scratch.gdb/%s"%chr(N))
N+=1
arcpy.AddMessage("Seconds %i using layer selection" %int(time.time()-t0))
OUTPUT:
Seconds 57 using query
Seconds 34 using using layer selection
It seems using setSelectionSet method on a layer coupled with Copy features works much faster than Select with query.
Note: Populating integer field in this sample set took 21 second.
Creating and populating new field could significantly slow things down.
This is why I tested 2 alternatives below on 150k long point dataset. They use similar approach - splitting the list of OBJECTIDs into equal size chunks:
import arcpy, time
from arcpy import env
env.overwriteOutput = True
infc="many_points"
OIDs=[row[0] for row in arcpy.da.TableToNumPyArray(infc,"objectid")]
n=len(OIDs)/10
t0 = time.time()
N=65
for i in xrange(0, len(OIDs), n):
chunk=OIDs[i:i + n]
q='OBJECTID >=%i AND OBJECTID <=%i' %(chunk[0],chunk[-1])
arcpy.Select_analysis(infc, "C:/scratch/scratch.gdb/%s"%chr(N), q)
N+=1
arcpy.AddMessage("Seconds %i using query" %int(time.time()-t0))
t0 = time.time()
mxd = arcpy.mapping.MapDocument("CURRENT")
lyr = arcpy.mapping.ListLayers(mxd,infc)[0]
N=65
for i in xrange(0, len(OIDs), n):
chunk=OIDs[i:i + n]
lyr.setSelectionSet ("NEW",chunk)
arcpy.CopyFeatures_management(lyr, "C:/scratch/scratch.gdb/%s"%chr(N))
N+=1
arcpy.AddMessage("Seconds %i using layer selection" %int(time.time()-t0))
OUTPUT:
Seconds 57 using query
Seconds 34 using using layer selection
It seems using setSelectionSet method on a layer coupled with Copy features works much faster than Select with query.
Note: Populating integer field in this sample set took 21 second.
answered 16 hours ago
FelixIPFelixIP
16.7k11642
16.7k11642
add a comment |
add a comment |
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%2f318065%2farcpy-select-analysis-choosing-only-a-fraction-of-the-record%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