-
Notifications
You must be signed in to change notification settings - Fork 3
GSoC 2023 Implement SensorThings API standard in istSOS Saail Narvekar
Contact Detail:
Name and surname: Saail Narvekar
Country: India
Email: [email protected]
Phone: 7208879805
Github link: https://github.com/SaailN
Personal blog (optional): https://www.cse.iitb.ac.in/~saail/
LinkedIn: https://www.linkedin.com/in/saail-narvekar-261856a8/
Project: istSOS
Mentors: Massimiliano Cannata and Daniele Strigaro
istSOS is an open source Sensor Observation Service(SOS) Data Management System. It is an OGC SOS server implementation. istSOS allows for managing and dispatching observations from monitoring sensors according to the Sensor Observation Service standard. The project provides a Graphical User Interface that allows for easing the daily operations and a RESTFull Web API for automatizing administration procedures. istSOS is entirely written in Python and is based on reliable open-source software like PostgreSQL/PostGIS and Apache/mod-wsgi.
Title:
Support basic Sensor Things Api (STA) in istSOS.
Description:
The goal of my project is to add the OGC standard of Sensor Things API(STA) to istSOS project. The OGC SensorThings API provides an open, geospatial-enabled and unified way to interconnect the Internet of Things (IoT) devices, data, and applications over the Web.
The project aims to extend interoperability and implement some of the basic APIs from STA that could be adopted in a new revised version of istSOS.
At a high level, the OGC SensorThings API provides two main functionalities and each function is handled by a part. The two parts are the Sensing part and the Tasking part. The Sensing part provides a standard way to manage and retrieve observations and metadata from heterogeneous IoT sensor systems. The Tasking part is to give commands to sensors and actuators.
Sensing entities of STA are:
Tasking entity of STA:
Project Backlog:
Idea:
OGC SensorThings APIs need to be explored. FastAPI can be used for the request and response of the istSOS STA services. As PostgreSQL is used as the primary data store or data warehouse in istSOS project, data can be managed using postGIS which is a spatial database extender for PostgreSQL object-relational database.
PostgREST is a standalone web server that could be used to turn the PostgreSQL database of STA data directly into a RESTful API.
Steps:
Refining backlog with planning, review and working with other team members in an agile approach
Assignment of different tasks sprint by sprint.
Implementing all basic STA requests for sensing and tasking considering the OGC standards.
Setting up architecture based using fastAPI web framework and PostgreSQL database.
Integrating the tested STA service on istSOS project.
Timeline:
Time Period | Task |
---|---|
May 4, 2023 | Student Projects Announced |
May 4, 2023 - May 28, 2023 | Community BondingUnderstanding and Implementing the STA APIs considering requirements like responses and debugging errors.Refining backlog with planning, review and working with other team members in an agile approach.Getting familiar with the source code and the material given by mentors.Setting up my repository, and familiarizing myself with version control systems.Discussion about the proposed idea and some future aspects.Setting up my wiki page, where I will describe my project and keep track of my weekly progress. |
May 29, 2023 - July 9, 2023 | Coding Period 1Working more on STA APIs and Identify the extra metadata.. ( May 29 - June 5 ) Start implementing APIs using FastAPI python web framework. ( June 6 - June 13 ) Data management using Postgres and postgREST. ( June 14 - June 24 ) Combining FastAPI and postgres database( June 25 - July 2 ) Debugging and Discussion period over the issue.( July 2 - July 9 ) |
July 10, 2023 - July 14, 2023 | Mid-term Evaluations |
July 14, 2023 - August 21, 2023 | Coding Period 2Implementing and testing all the STA requests. ( July 14 - July 21 ) Integrating the STA service on istSOS project( July 22 - August 12 ) Debugging and discussion period over the issues.( August 13 - August 21 ) |
August 21 - August 28, 2023 | Final Code Submission |
August 28 - September 4, 2023 | Mentors Submit Final Evaluations |
Studies :
What are your school and degree?
I am a second-year postgraduate student at the Indian Institute of Technology Bombay(IITB). My master's is focused on Geo-informatics and Natural Resources ( Batch 2021 - 2024 ).
Would your application contribute to your ongoing studies/degree? If so, how?
My coursework and research are mostly focused on GIS and remote sensing. Also, I am looking forward to taking this as a career also in the future so it’s going to contribute a lot to me.
Programming Experience:
Programming Languages: Python, C
Software/ IDE: Linux, QGIS, SNAP, Vim, Sublime, Git, PostgreSQL
Libraries/Frameworks: Tesorflow, Keras, Pytorch, GDAL
GIS experience as a user:
I have worked on a few remote sensing and GIS software in my coursework. I have also done a few interesting projects using open-source GIS software.
I worked on a few interesting project ideas:
1. UAV-BASED GEOSPATIAL APPLICATION USING A 3D ROBOTICS SIMULATOR
(Web GIS-based project for finding real-time change detection and geo-location on an open street map. Postgis was used for the database. GDAL library was used for georeferencing images captured by a simulated drone in a Gazebo robotics simulator.)
2. GIS-based site selection for the solar panels.
(Various layers were used for the analysis in QGIS software and then exported to the Qfield app) I hope this opportunity will give me a great experience as a user and also as a developer for GIS.
Have you participated in GSoC before?
No. This is my first Google Summer of Code participation and I feel enthusiastic about it.
Have you submitted/will you submit another proposal for this year's GSoC to a different org? Which one?
No, I haven't submitted another proposal for this year's GSoC to a different org.
# Weekly Reports- [Community Bonding Period May 4 - May 28](https://github.com/istSOS/istsos-miu/wiki/GSoC-2023-Community-Bonding-Period-May-4-May-28-Saail-Narvekar)
- [Coding Period - First Week Report May 29 - June 4](https://github.com/istSOS/istsos-miu/wiki/Coding-Period-First-Week-Report-May-29-June-4)
- [Coding Period - Second Week Report June 5 - June 11](https://github.com/istSOS/istsos-miu/wiki/Coding-Period-Second-Week-Report-June-5-June-11)
- [Coding Period - Third Week Report June 12 - June 18](https://github.com/istSOS/istsos-miu/wiki/Coding-Period-%E2%80%90-Third-Week-Report-June-12-%E2%80%90-June-18)
- [Coding Period - Fourth Week Report June 19 - June 25 ](https://github.com/istSOS/istsos-miu/wiki/Coding-Period-Fourth-Week-Report-June-19-%E2%80%90-June-25)
- [Coding Period - Fifth Week Report June 25 - Jul 2](https://github.com/istSOS/istsos-miu/wiki/Coding-Period-Fifth-Week-Report-June-25-%E2%80%90-Jul-2)
- [Coding Period ‐ Sixth Week Report Jul 3 ‐ Jul 9](https://github.com/istSOS/istsos-miu/wiki/Coding-Period-Sixth-Week-Report-Jul-3-%E2%80%90-Jul-9)
- [Coding Period ‐ Seventh Week Report Jul 10 ‐ Jul 16](https://github.com/istSOS/istsos-miu/wiki/Coding-Period-%E2%80%90-Seventh-Week-Report,-Jul-10-%E2%80%90-Jul-16)
- [Coding Period ‐ Eighth Week Report Jul 17 ‐ Jul 23](https://github.com/istSOS/istsos-miu/wiki/Coding-Period-%E2%80%90-Eighth-Week-Report,-Jul-17-%E2%80%90-Jul-23)
- [Coding Period ‐ Ninth Week Report Jul 24 ‐ Jul 30](https://github.com/istSOS/istsos-miu/wiki/Coding-Period-%E2%80%90-Ninth-Week-Report---Jul-24-%E2%80%90-Jul-30)
- [Coding Period ‐ Tenth Week Report Jul 31 ‐ Aug 6](https://github.com/istSOS/istsos-miu/wiki/Coding-Period-%E2%80%90-Tenth-Week-Report--Jul-31-%E2%80%90-Aug-6)
- [Coding Period - Eleventh Week Report Aug 7 - Aug 13](https://github.com/istSOS/istsos-miu/wiki/Coding-Period-%E2%80%90-Eleventh-Week-Report,--Aug-7-%E2%80%90-Aug-13)
- [Coding Period ‐ Twelfth Week Report Aug 14 ‐ Aug 20](https://github.com/istSOS/istsos-miu/wiki/Coding-Period-%E2%80%90-Twelfth-Week-Report,--Aug-14-%E2%80%90-Aug-20)
Contact Detail:
- Name and surname: Saail Narvekar
- Country: India
- Email: [email protected]
- Phone: 7208879805
- Github link: https://github.com/SaailN
- Personal blog (optional): https://www.cse.iitb.ac.in/~saail/
- LinkedIn: https://www.linkedin.com/in/saail-narvekar-261856a8/
Project: istSOS
Mentors: Massimiliano Cannata and Daniele Strigaro
istSOS is an open source Sensor Observation Service([SOS](https://www.ogc.org/standard/sos/)) Data Management System. It is an [OGC](https://www.ogc.org/) SOS server implementation. istSOS allows for managing and dispatching observations from monitoring sensors according to the Sensor Observation Service standard. The project provides a Graphical User Interface that allows for easing the daily operations and a RESTFull Web API for automatizing administration procedures. istSOS is entirely written in Python and is based on reliable open-source software like PostgreSQL/PostGIS and Apache/mod-wsgi.
Title:
Support basic Sensor Things Api (STA) in istSOS.
Description:
The goal of my project is to add the OGC standard of Sensor Things API(STA) to istSOS project. The OGC SensorThings API provides an open, geospatial-enabled and unified way to interconnect the Internet of Things (IoT) devices, data, and applications over the Web.
The project aims to extend interoperability and implement some of the basic APIs from STA that could be adopted in a new revised version of istSOS.
At a high level, the OGC SensorThings API provides two main functionalities and each function is handled by a part. The two parts are the Sensing part and the Tasking part. The Sensing part provides a standard way to manage and retrieve observations and metadata from heterogeneous IoT sensor systems. The Tasking part is to give commands to sensors and actuators.
Sensing entities of STA are:
- [Thing](https://docs.ogc.org/is/15-078r6/15-078r6.html#25)
- [Location](https://docs.ogc.org/is/15-078r6/15-078r6.html#26)
- [HistoricalLocation](https://docs.ogc.org/is/15-078r6/15-078r6.html#27)
- [Datastream](https://docs.ogc.org/is/15-078r6/15-078r6.html#28)
- [Sensor](https://docs.ogc.org/is/15-078r6/15-078r6.html#29)
- [ObservedProperty](https://docs.ogc.org/is/15-078r6/15-078r6.html#30)
- [Observation](https://docs.ogc.org/is/15-078r6/15-078r6.html#31)
- [FeatureOfInterest](https://docs.ogc.org/is/15-078r6/15-078r6.html#32)
Tasking entity of STA:
- [Thing](https://docs.ogc.org/is/17-079r1/17-079r1.html#10)
- [TaskingCapability](https://docs.ogc.org/is/17-079r1/17-079r1.html#11)
- [Task](https://docs.ogc.org/is/17-079r1/17-079r1.html#12)
- [Actuator](https://docs.ogc.org/is/17-079r1/17-079r1.html#13)
Project Backlog:
[istSOS STA project backlog](https://docs.google.com/spreadsheets/d/1ajI9hiFU7SlQjfPGYJLUDuoqy3NOf1vxCe_KfLsB9nQ/edit#gid=0)
Idea:
OGC SensorThings APIs need to be explored. FastAPI can be used for the request and response of the istSOS STA services. As PostgreSQL is used as the primary data store or data warehouse in istSOS project, data can be managed using postGIS which is a spatial database extender for PostgreSQL object-relational database.
PostgREST is a standalone web server that could be used to turn the PostgreSQL database of STA data directly into a RESTful API.
Steps:
- Refining backlog with planning, review and working with other team members in an agile approach
- Assignment of different tasks sprint by sprint.
- Implementing all basic STA requests for sensing and tasking considering the OGC standards.
- Setting up architecture based using fastAPI web framework and PostgreSQL database.
- Integrating the tested STA service on istSOS project.
Timeline:
Time Period | Task |
---|---|
May 4, 2023 | Student Projects Announced |
May 4, 2023 - May 28, 2023 | Community BondingUnderstanding and Implementing the STA APIs considering requirements like responses and debugging errors.Refining backlog with planning, review and working with other team members in an agile approach.Getting familiar with the source code and the material given by mentors.Setting up my repository, and familiarizing myself with version control systems.Discussion about the proposed idea and some future aspects.Setting up my wiki page, where I will describe my project and keep track of my weekly progress. |
May 29, 2023 - July 9, 2023 | Coding Period 1Working more on STA APIs and Identify the extra metadata.. ( May 29 - June 5 ) Start implementing APIs using FastAPI python web framework. ( June 6 - June 13 ) Data management using Postgres and postgREST. ( June 14 - June 24 ) Combining FastAPI and postgres database**( June 25 - July 2 )** Debugging and Discussion period over the issue.( July 2 - July 9 ) |
July 10, 2023 - July 14, 2023 | Mid-term Evaluations |
July 14, 2023 - August 21, 2023 | Coding Period 2Implementing and testing all the STA requests. ( July 14 - July 21 ) Integrating the STA service on istSOS project**( July 22 - August 12 )** Debugging and discussion period over the issues.( August 13 - August 21 ) |
August 21 - August 28, 2023 | Final Code Submission |
August 28 - September 4, 2023 | Mentors Submit Final Evaluations |
Studies :
What are your school and degree?
I am a second-year postgraduate student at the Indian Institute of Technology Bombay(IITB). My master's is focused on Geo-informatics and Natural Resources ( Batch 2021 - 2024 ).
Would your application contribute to your ongoing studies/degree? If so, how?
My coursework and research are mostly focused on GIS and remote sensing. Also, I am looking forward to taking this as a career also in the future so it’s going to contribute a lot to me.
- Programming Experience:
Programming Languages: Python, C
Software/ IDE: Linux, QGIS, SNAP, Vim, Sublime, Git, PostgreSQL
Libraries/Frameworks: Tesorflow, Keras, Pytorch, GDAL
- GIS experience as a user:
I have worked on a few remote sensing and GIS software in my coursework. I have also done a few interesting projects using open-source GIS software.
I worked on a few interesting project ideas:
1.[ UAV-BASED GEOSPATIAL APPLICATION USING A 3D ROBOTICS SIMULATOR](https://drive.google.com/file/d/1k_F4kVsOZ0bPu_cJPuSBfCFeDOv3GEwj/view?usp=share_link)
(Web GIS-based project for finding real-time change detection and geo-location on an open street map. Postgis was used for the database. GDAL library was used for georeferencing images captured by a simulated drone in a Gazebo robotics simulator.)
2.[ GIS-based site selection for the solar panels.](https://docs.google.com/presentation/d/1Ent2tjEBx2z0pQXbEMyuSlwBrK1uMY7t/edit?usp=sharing&ouid=104062167263403728732&rtpof=true&sd=true)
(Various layers were used for the analysis in QGIS software and then exported to the Qfield app) I hope this opportunity will give me a great experience as a user and also as a developer for GIS.
Have you participated in GSoC before?
No. This is my first Google Summer of Code participation and I feel enthusiastic about it.
Have you submitted/will you submit another proposal for this year's GSoC to a different org? Which one?
No, I haven't submitted another proposal for this year's GSoC to a different org.
.