Socrata API strong in tabular data.

          Arcgis API strong in spatial data.  


          Even you can upload shapefile to Socrata API or upload excel like table data to Arcgis API as 'feature table', arcgis api not good at table data, socrata api not good at spatial data. 

          Table in Socrata API can have a spatial column.  WGS 1984(3857) is mostly used projection in Socrata api.  WGS 1984(3857) is  also used for all online maps such as google maps, apple maps, openlayers, bings maps and latitude and longitude, and geojson. When you upload shapefile to socrata, you can re-project your shapefile to WGS 1984 by use this set_projection.  

           Data have geometry in Arcgis API called 'feature layer'. Data without geometry in Arcgis API called 'feature table'.  Feature table is comparable to a table without spatial column in socrata api. 

           Upload table data to Arcgis is similar to put fish on land. Upload shapefile to socrata is similar to put bird in water.  Don't do that. You need both api to get the most of your data.




1 comment




                 Today when you create a new web site, you in fact creating a new set of REST API.  Do not like old days, you mix the front end code (javascript and html) with back end code (java, c#, php).  20 years ago, year 2000, I wrote JSP, and PHP, whose are typical mix of code.  Asp, JSP the name itself means mix of javascript html with server side code. 20 years later,,  JSP,  PHP still in use, however the way you use are completely changed. 

                  Today I use and PHP only for back end REST API. No longer use them for front end. Front end code and server end code are completely separated. It is the reason why ESRI create Arcgis REST API, socrata create the SODA API.  

                  The advantage of separation is obvious, it is FREEDOM.  Anybody can create many many kind of front end against your server end REST API.  ESRI Arcgis REST API and Socrata SODA API allow anybody to create any style of front end. 

In old days, it is not possible to do so, if they mix the server end code with front end code. 

                  If you wrote server end code, you definetly do not want to mix with front end code. Instead publish it as a set of  REST API, like ESRI and Socrata did.  Choose or PHP or Java or Node.JS or Go language are no longer that important.  No matter what you choose, your front end are always the same.  I choose Node.js because it is free and designed for separation.  People choose maybe because they want to integrate with organization's windows active directory etc. People choose PHP maybe because they don't want to pay Microsoft.  People choose Java because it is free and have enterprise level. PHP lack of enterprise level. Many many reason affect what server end language you choose. 

                   No matter what server end language you choose, the front end is always the same javascript + html. 


answered by