Geometry...
That is what I am normally interested in. The baggage (aka, attributes) tag along for the ride and I normally find it easier to keep the baggage separate until I am done with the geometry. For those following along, see my previous post.
Let us compare some of the ways that we can pull the geometry out of a featureclass. The following demonstrations can be followed in your own workflow for testing your specific cases.
Imports first ___________________________________________________________________________________
<SPAN class="keyword token">import</SPAN> sys
<SPAN class="keyword token">import</SPAN> numpy <SPAN class="keyword token">as</SPAN> np
<SPAN class="keyword token">import</SPAN> arcpy
<SPAN class="keyword token">import</SPAN> arcgis<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
_______________________________________________________________________________________________
I prefer to import modules in the order of less polluting first to ensure namespace is grabbed by what I want in order of importance in case there is any conflict during import.
Searchcursor __________________________________________________________________________________
<SPAN class="comment token"># ---- pick a featureclass ----</SPAN>
fc0 <SPAN class="operator token">=</SPAN> r<SPAN class="string token">'drive:\your_spaceless_folder_path\your_geodatabase.gdb\polygon'</SPAN>
<SPAN class="comment token"># ---- using arcpy.Describe ---- </SPAN>
desc <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>Describe<SPAN class="punctuation token">(</SPAN>fc0<SPAN class="punctuation token">)</SPAN>
shp <SPAN class="operator token">=</SPAN> desc<SPAN class="punctuation token">.</SPAN>shapeFieldName <SPAN class="comment token"># ---- using dot notation ----</SPAN>
<SPAN class="comment token"># ---- using arcpy.da.Describe ---- </SPAN>
desc <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>Describe<SPAN class="punctuation token">(</SPAN>fc0<SPAN class="punctuation token">)</SPAN>
shp <SPAN class="operator token">=</SPAN> desc<SPAN class="punctuation token">[</SPAN><SPAN class="string token">'shapeFieldName'</SPAN><SPAN class="punctuation token">]</SPAN> <SPAN class="comment token"># ---- note... now a dictionary ---- </SPAN>
<SPAN class="comment token"># ---- geometry, as X, Y ----</SPAN>
flds <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>shp <SPAN class="operator token">+</SPAN> <SPAN class="string token">"@"</SPAN><SPAN class="punctuation token">]</SPAN>
shps <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>row<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">for</SPAN> row <SPAN class="keyword token">in</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>SearchCursor<SPAN class="punctuation token">(</SPAN>fc0<SPAN class="punctuation token">,</SPAN> flds<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
_______________________________________________________________________________________________
Which of course you can begin to use to get basic properties. In this example,
Geometry properties ____________________________________________________________________________
<SPAN class="keyword token">for</SPAN> s <SPAN class="keyword token">in</SPAN> shps<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">print</SPAN><SPAN class="punctuation token">(</SPAN>s<SPAN class="punctuation token">.</SPAN>type<SPAN class="punctuation token">,</SPAN> s<SPAN class="punctuation token">.</SPAN>partCount<SPAN class="punctuation token">,</SPAN> s<SPAN class="punctuation token">.</SPAN>pointCount<SPAN class="punctuation token">,</SPAN> s<SPAN class="punctuation token">.</SPAN>length<SPAN class="punctuation token">,</SPAN> s<SPAN class="punctuation token">.</SPAN>area<SPAN class="punctuation token">)</SPAN>
polygon <SPAN class="number token">1</SPAN> <SPAN class="number token">5</SPAN> <SPAN class="number token">40.0</SPAN> <SPAN class="number token">100.0</SPAN>
polygon <SPAN class="number token">1</SPAN> <SPAN class="number token">10</SPAN> <SPAN class="number token">64.0</SPAN> <SPAN class="number token">64.0</SPAN>
polygon <SPAN class="number token">2</SPAN> <SPAN class="number token">14</SPAN> <SPAN class="number token">99.41640786499875</SPAN> <SPAN class="number token">182.0</SPAN> <SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
_______________________________________________________________________________________________
Then you can get to work and convert to a NumPy array quickly and simply. Since I know this is a polygon featureclass, it only takes a couple of lines to perform the task.
Get to the point(s) ______________________________________________________________________________
pnts <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">]</SPAN>
<SPAN class="keyword token">for</SPAN> shp <SPAN class="keyword token">in</SPAN> shps<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">for</SPAN> j <SPAN class="keyword token">in</SPAN> range<SPAN class="punctuation token">(</SPAN>shp<SPAN class="punctuation token">.</SPAN>partCount<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
pt <SPAN class="operator token">=</SPAN> shp<SPAN class="punctuation token">.</SPAN>getPart<SPAN class="punctuation token">(</SPAN>j<SPAN class="punctuation token">)</SPAN>
p_list <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">(</SPAN>pnt<SPAN class="punctuation token">.</SPAN>X<SPAN class="punctuation token">,</SPAN> pnt<SPAN class="punctuation token">.</SPAN>Y<SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">for</SPAN> pnt <SPAN class="keyword token">in</SPAN> pt <SPAN class="keyword token">if</SPAN> pnt<SPAN class="punctuation token">]</SPAN>
pnts<SPAN class="punctuation token">.</SPAN>extend<SPAN class="punctuation token">(</SPAN>p_list<SPAN class="punctuation token">)</SPAN>
dt <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Xs'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'<f8'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Ys'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'<f8'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">]</SPAN>
a <SPAN class="operator token">=</SPAN> np<SPAN class="punctuation token">.</SPAN>asarray<SPAN class="punctuation token">(</SPAN>pnts<SPAN class="punctuation token">,</SPAN> dtype<SPAN class="operator token">=</SPAN>dt<SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
_______________________________________________________________________________________________
The basic difference between the array forms is how you want to work with them.
In the example above array 'a' has a specified data type (dtype). The fields/columns of the array can be accessed by name (Xs and Ys). Since this array is a structured array, the access would be a['Xs'] and a['Ys']. If I converted this to a record array, one could use object.field notation.
The coordinates are nothing more than the same type of number, so the field names can be dispensed with altogether. In this case, the sentient being is responsible for knowing what they are working with. Both forms of the same data are shown below
_______________________________________________________________________________________________
a <SPAN class="comment token"># a structured array</SPAN>
array<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="number token">300020.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000000.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="number token">300010.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000000.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="number token">300010.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000010.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="number token">300002.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000002.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="number token">300008.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000002.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="number token">300005.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000008.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>
dtype<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Xs'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'<f8'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> code<SPAN class="operator token">=</SPAN><SPAN class="string token">""</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">'ys'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="operator token">=</SPAN><SPAN class="string token">""</SPAN> <SPAN class="string token">'<f8'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
a_nd <SPAN class="operator token">=</SPAN> np<SPAN class="punctuation token">.</SPAN>asarray<SPAN class="punctuation token">(</SPAN>pnts<SPAN class="punctuation token">)</SPAN> <SPAN class="comment token"># as an np.ndarray</SPAN>
array<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN> <SPAN class="number token">300020.00</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000000.00</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">[</SPAN> <SPAN class="number token">300010.00</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000000.00</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">[</SPAN> <SPAN class="number token">300010.00</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000010.00</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">[</SPAN> <SPAN class="number token">300002.00</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000002.00</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">[</SPAN> <SPAN class="number token">300008.00</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000002.00</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">[</SPAN> <SPAN class="number token">300005.00</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000008.00</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
a_nd<SPAN class="punctuation token">.</SPAN>dtype
dtype<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'float64'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
_______________________________________________________________________________________________
The following demo function can be used on your data to examine some of the options and explore some of the properties and methods available to each. Just don't forget the imports at the start of the post
The demo _____________________________________________________________________________________
<SPAN class="keyword token">def</SPAN> <SPAN class="token function">_demo</SPAN><SPAN class="punctuation token">(</SPAN>in_fc<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="string token">"""Run the demo and return some objects
: create a SpatialDataFrame class object from a featureclass
: create a record array from a_sdf
: create a numpy.ndarray using the da module
"""</SPAN>
SR <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>Describe<SPAN class="punctuation token">(</SPAN>in_fc<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">.</SPAN>SpatialReference
sdf <SPAN class="operator token">=</SPAN> arcgis<SPAN class="punctuation token">.</SPAN>SpatialDataFrame
a_sdf <SPAN class="operator token">=</SPAN> sdf<SPAN class="punctuation token">.</SPAN>from_featureclass<SPAN class="punctuation token">(</SPAN>in_fc<SPAN class="punctuation token">,</SPAN>
sql_clause<SPAN class="operator token">=</SPAN>None<SPAN class="punctuation token">,</SPAN>
where_clause<SPAN class="operator token">=</SPAN>None<SPAN class="punctuation token">,</SPAN>
sr<SPAN class="operator token">=</SPAN>SR<SPAN class="punctuation token">)</SPAN>
a_rec <SPAN class="operator token">=</SPAN> sdf<SPAN class="punctuation token">.</SPAN>to_records<SPAN class="punctuation token">(</SPAN>a_sdf<SPAN class="punctuation token">)</SPAN> <SPAN class="comment token"># record array</SPAN>
a_np <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>FeatureClassToNumPyArray<SPAN class="punctuation token">(</SPAN>in_fc<SPAN class="punctuation token">,</SPAN>
field_names<SPAN class="operator token">=</SPAN><SPAN class="string token">"*"</SPAN><SPAN class="punctuation token">,</SPAN>
spatial_reference<SPAN class="operator token">=</SPAN>SR<SPAN class="punctuation token">,</SPAN>
explode_to_points<SPAN class="operator token">=</SPAN><SPAN class="token boolean">True</SPAN><SPAN class="punctuation token">)</SPAN>
a_np2 <SPAN class="operator token">=</SPAN> fc_g<SPAN class="punctuation token">(</SPAN>in_fc<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">return</SPAN> sdf<SPAN class="punctuation token">,</SPAN> a_sdf<SPAN class="punctuation token">,</SPAN> a_rec<SPAN class="punctuation token">,</SPAN> a_np<SPAN class="punctuation token">,</SPAN> a_np2<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
Now... behind all the magic of the above options, a searchcursor is behind the acquisition of all of the options shown above. The options do, however, provide access to methods and properties which are unique to their data class. In many instances these are shared.
Here is what the 'look like' . In the case of the SpatialDataFrame, a_sdf, the same when converted to a record array and the conventional da.FeatureClassToNumPyArray... all fields were included. in the last option, a_np2, just the geometry is returned as demonstrated in the above examples, with the addition of handling the geometry parts and point when the polygon is 'exploded' to it's constituent points.
a_sdf
Out<SPAN class="punctuation token">[</SPAN><SPAN class="number token">40</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">:</SPAN>
OBJECTID Id Text_fld SHAPE
<SPAN class="number token">0</SPAN> <SPAN class="number token">1</SPAN> <SPAN class="number token">1</SPAN> None <SPAN class="punctuation token">{</SPAN><SPAN class="string token">'rings'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">300020</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000000</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">500000</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN>
<SPAN class="number token">1</SPAN> <SPAN class="number token">2</SPAN> <SPAN class="number token">2</SPAN> C <SPAN class="punctuation token">{</SPAN><SPAN class="string token">'rings'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000020</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">500001</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN>
<SPAN class="number token">2</SPAN> <SPAN class="number token">3</SPAN> <SPAN class="number token">3</SPAN> A <SPAN class="punctuation token">{</SPAN><SPAN class="string token">'rings'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000010</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">500002</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN>
a_rec
Out<SPAN class="punctuation token">[</SPAN><SPAN class="number token">41</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">:</SPAN>
rec<SPAN class="punctuation token">.</SPAN>array<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> None<SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">{</SPAN><SPAN class="string token">"rings"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">300020</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000000</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000000</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000010</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300020</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000010</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300020</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000000</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"spatialReference"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">{</SPAN><SPAN class="string token">"latestWkid"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="number token">2951</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"wkid"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="number token">2146</SPAN><SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">2</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">2</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'C'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">{</SPAN><SPAN class="string token">"rings"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000020</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000010</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300000</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000010</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300000</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000020</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000020</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">300002</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000018</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300002</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000012</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300008</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000012</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300008</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000018</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300002</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000018</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"spatialReference"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">{</SPAN><SPAN class="string token">"latestWkid"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="number token">2951</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"wkid"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="number token">2146</SPAN><SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="number token">2</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">3</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">3</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'A'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">{</SPAN><SPAN class="string token">"rings"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000010</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000020</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300020</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000020</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300020</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000010</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000010</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000010</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000000</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300000</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000000</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300000</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000010</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000010</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">300005</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000008</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300002</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000002</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300008</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000002</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300005</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000008</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"spatialReference"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">{</SPAN><SPAN class="string token">"latestWkid"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="number token">2951</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"wkid"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="number token">2146</SPAN><SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>
dtype<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'index'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'<i8'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">'OBJECTID'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'<i8'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Id'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'<i8'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Text_fld'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'O'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">'SHAPE'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'O'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
a_np
Out<SPAN class="punctuation token">[</SPAN><SPAN class="number token">42</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">:</SPAN>
array<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300020.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000000.0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'None'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">40.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">100.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000000.0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'None'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">40.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">100.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300010.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000010.0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'None'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">40.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">100.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="number token">3</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300002.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000002.0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">3</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'A'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">99.41640786499875</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">182.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="number token">3</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300008.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000002.0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">3</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'A'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">99.41640786499875</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">182.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="number token">3</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">300005.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000008.0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">3</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'A'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">99.41640786499875</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">182.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>
dtype<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'OBJECTID'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'<i4'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Shape'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'<f8'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="number token">2</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Id'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'<i4'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Text_fld'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'<U255'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Shape_Length'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'<f8'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Shape_Area'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'<f8'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
a_np2
Out<SPAN class="punctuation token">[</SPAN><SPAN class="number token">43</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">:</SPAN>
array<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">300020.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000000.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">300010.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000000.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">300010.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000010.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="number token">3</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">300002.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000002.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="number token">3</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">300008.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000002.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="number token">3</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">300005.0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5000008.0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>
dtype<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'ID_num'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'<i4'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Part_num'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'<i4'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Xs'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'<f8'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Ys'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'<f8'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>When the SpatialDataFrame is converted to a numpy record array, the geometry field (Shape) has a dtype of 'O', which is an object array. This will be the 'normal' case since it is unlikely that all polygons will contain the same number of parts and points per part. To truly be a numpy array, the 'shape' of the array needs to be consistent.
The latter two representations, (a_np and a_np2) deal with this but converting the polygons to points. These points can be converted back to polygons after they are used in some process such as moving, calculating parameters, reprojecting.
Next installation... working with geometry in its various representations.