Skip to content

GSOC2014 : "Fuzzy visualization on low zoom levels in CartoDB using Sp GiST indexing"

Mohit Kumar edited this page Aug 20, 2014 · 23 revisions

Hi all, This page gives more details and weekly reports about the Google Summer of Code 2014 work in CartoDB. The work basically implements Sp-GiST indexing over postgis database so as to give a better visualization of cluttered point data.

The complete proposal uploaded on melange website can be acessed here.

Github repository : https://github.com/mohitkharb/SpGist_postgis

Contact details:

Alias : mohitkharb ( freenode , gmail, skype)

Availabilty : 12 pm - 8pm , 11pm-2am IST

E-mail: mohitkharb at gmail dot com, mohit dot kumar at research dot iiit dot ac dot in

Phone : +91-9703840175


First Weekly report : 19 -25th may

What I got done this week?

Read and understood in detail about the SP-Gist algorithm https://www.pgcon.org/2011/schedule/attachments/197_pgcon-2011.pdf

working on the Sp-gist code as of now.

What do I plan on doing next week?

Complete the design and implementation for the algorithm and try out some test cases.

Am I blocked on anything?

Nothing as of now.


Second Weekly report: 26th May - 1st June

What I got done this week?

Implemented the Sp-gist algorithm on a small postgres database. The code was taken form the spgist homepage and needs to be modified as per our needs of cartoDB. The code is not modified yet and so not updated on the repository due to copyright issues. Will modify the code this week and will update the repository.

What do I plan on doing next week?

Modify the code for sp-gist to inculcate another integer field for various levels of clustering based on zoom levels.

Am I blocked on anything?

I had some issues with the Sp-gist indexing implementation, but were sorted out in discussions with sp-gist developers.


Third Weekly report: 2nd June - 8th June

What I got done this week?

Used the postgress implementation of Sp-Gist Indexing and working on writing a postGIS connector to it.

What do I plan on doing next week?

Finish implementing the postGIS connector to the sp-gist code in postgresql. If time permits work on including the zoom values in the index.

Am I blocked on anything?

Nothing as of now. Had a discussion with strk and Oleg on postGIS mailing list regarding the implementation of the sp-gist indexing in postgresql .


Fourth Weekly report: 9th June - 15th June

What I got done this week?

Worked on writing the postGIS connector to the postgresql code.

What do I plan on doing next week?

Solve the current bugs in the code and finish the implementation.

Am I blocked on anything?

I had a lot of issues earlier. Solved some, still stuck with some. I will get access to Internet completely by tomorrow and can take the help from the community and Internet to move forward.


Fifth Weekly report: 16th June - 21th June

What I got done this week?

Worked on writing the postGIS connector and wrote the code for creating basic index and geometry operations : picksplit and consistent.

What do I plan on doing next week?

Work on integrating the code with the postgis codebase and then writing and optimizing more geometry operations.

Am I blocked on anything?

The code party is done but integration with the code base is still left


Sixth Weekly report: 23rd June - 29th June

What I got done this week?

Worked on making the sp-gist indexing work on a postGIS database.

What do I plan on doing next week?

Work on building the storage type for access method "sp-gist"

Am I blocked on anything?

Earlier was stuck on building the module but with the community discussions it was resolved. Now stuck on getting a proper storage type for the access method "spgist".


Seventh Weekly report: 30th June - 6th July

What I got done this week?

Implemented the basic indexing using the initial spgist on point datatype. Tried using geometry as the datatype but no success as of now.

What do I plan on doing next week?

Integrating the baisc indexing in the cartoDB's API. In parallel try to modify sp-gist to work with geometry datatype to inculcate more operators for more geometry operations, right now point data type do not support any operations.

Am I blocked on anything?

Integrating geometry datatype is still becoming an issue, but I am working on it with the support of strk and the community.getting a proper storage type for the access method "spgist".


Updated timeline for the rest of the work after midterm review.

  • July 7 - 13
      Work on integrating the spgist indexing with CartoDB.
      Work on integrating geometry dataype with spgist method.
    
  • July 14 - 20
      One more week to integrate with cartDB's API.
      Work on geometry operations.
    
  • July 21 - 27
      Testing and bug fixing.
    
  • July 28 - August 3
      Testing and bug fixing.
      Buffer time.
    
  • August 4 - 10
      Clean the code, with comments in proper context.
      Buffer time.
      Refine the documentation.
    
  • August 11 - 17
      Prepare the code for final submission.
      Buffer time.
    

Eighth Weekly Report: 7th July - 13th July

What I got done this week?

Worked a bit with CartoDB's API to integrate the basic indexing.

What do I plan on doing next week?

Work on integrating geometry datatype with spgist method.

Am I blocked on anything?

Nothing in CartoDB's API. Still to work further with postgis spgist method.


Ninth Weekly Report: 14th July - 21th July

What I got done this week?

Tried to integrate geometry datatype with spgist indexing, not working as of now.

What do I plan on doing next week?

Solve the issues coming now and make the indexing working.

Am I blocked on anything?

Debugging postgis using valgrind.


Tenth Weekly Report: 21st July - 26th July

What I got done this week?

Debuging the code. Its taking way too much time than expected.

What do I plan on doing next week?

Solve the issues coming now and make the indexing working.

Am I blocked on anything?

There was a communication mistake by myself on the mailing list that led to the delay in the work by 4 days. Now things are back on track.


Eleventh Weekly Report: 27th July - 3rd August

What I got done this week?

Rewrote the support functions for sp-gist algorithm for geometry indexing. The code seems to work now.

What do I plan on doing next week?

Write the code for operator support fir sp-gist indexing and integrating it in carto db.

Am I blocked on anything?

Was blocked on it from a couple of days but now all the issues are resolved by discussing on postgresql irc.

I will update the repository in a couple of days including a testcase, showing it working.


Twelfth Weekly Report: 4th August - 10th August

What I got done this week?

Wrote the point operator strategies for spgist.

What do I plan on doing next week?

Documentation and code cleaning.

Am I blocked on anything?

None, the indexing is still giving error when a geometry is passed as a parameter.

Repository updated


Thirteenth Weekly Report: 11th August - 18th August

What I got done this week?

Wrote the point operator strategies for spgist.

What do I plan on doing next week?

Bug fixing if they arise. Implementing it properly in CartoDB if time permits.

Am I blocked on anything?

No.

Repository updated with the report.


Clone this wiki locally