SpatialDataFrame (SDF) Vs Spatially Enabled DataFrame (SEDF)

Discussion created by simo Champion on Oct 22, 2018
Latest reply on Oct 28, 2018 by simo

Some background:


"New at version 1.5, the Spatially Enabled DataFrame is an evolution of the SpatialDataFrame object that you may be familiar with. While the SDF object is still avialable for use, the team has stopped active development of it and is promoting the use of this new Spatially Enabled DataFrame pattern...."


See details in Introduction to the Spatially Enabled DataFrame | ArcGIS for Developers 


But what's the real benefit for the users?

It seems to me only two different approaches to extend Pandas.


While SDF is a sub-class of Pandas Class, SEDF is using  an Registering Custom Accessors approach. The latter will save ESRI developers from messing with Pandas classes when adding some spatial capabilities. but what's the real benefit does the change bring to the end users?


The old SDF has some benefits.


One benefit of the SDF sub-class is that when I join or merge it with a standard Pandas dataframe, I'll get a SDF sub-class, then I can go on to plot it straight away. But with SEDF, after I perform some pandorable operations (like join, merge and set_index) on a SEDF, I'll get a standard Pandas dataframe, to map it, I have to spatially enable it every time after the operations. Although I can work around it, but it is not ideal (ideally you want to retain the datatype).


I'd like to know what you think. Thanks.