-
Notifications
You must be signed in to change notification settings - Fork 1
Air Quality Mapping
License
johnsonc/airquality
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
* Features: - Captures device location based on request IP of device. - Feed data location will be based on request IP geo location, so as to enable geo tracking of weather points. - Device streams only if day is current day. - If current day, then previous 24 hours w.r.t. to current time are shown, else only the given day's 24 hour data. - Widgets are responsive on load. - Data charts show aggregated hourly data for PM10, PM25, Temp and Humidity. - Histograms shows spread/frequency of the datapoints, which are drillable by dragging on the charts - CSV download of data enabled. - Django Admin backend to modify/view data - REST API Docs: http://aqi.indiaspend.org/aq/api-docs/#!/ * INSTALL INSTRUCTIONS ** FOR LINUX DEVELOPMENT ** FOR LINUX DEPLOYMENT ** FOR WINDOWS DEVELOPMENT ** FOR LINUX DEVELOPMENT mkdir airquality cd airquality sudo apt-get install python-virtualenv # if virtualenv not installed virtualenv . source bin/activate git clone https://github.com/johnsonc/airquality.git cd airquality sudo bash dependencies.sh # run as root to install deps pip install -r requirements.txt python manage.py runserver ** FOR LINUX DEPLOYMENT If you want to deploy, follow intial setup steps from /srv/ the folder structure should look like: /srv/airquality/airquality Clean room practice: To create a clean separation and record of threads, processes and system resource usage, we create a linux user for our process sudo useradd -m -d /srv/airquality -U -s /bin/bash airquality sudo apt-get install python-virtualenv # if virtualenv not installed cd /srv/airquality sudo su airquality virtualenv . source bin/activate git clone https://github.com/johnsonc/airquality.git #git clone https://[email protected]/johnsonc/airquality.git cd airquality sudo bash dependencies.sh # run as root to install deps, you will have to use another login, user airquality does not have sudo rights pip install -r requirements.txt #Copy the site conf to apache2 cp wsgi/airquality.conf /etc/apache2/sites-available/ a2ensite airquality sudo service apache2 reload The site will start on the suburl /airquality and one may test it using: http://<Address>/airquality If we want to remove the user after testing one may remove the user like so: userdel airquality rm -r /srv/airquality ** FOR WINDOWS DEVELOPMENT First, download the latest Python 2.7 installer from: https://python.org/download/ if you have a 32-bit system: https://www.python.org/downloads/release/python-2710/ I have installed python2.7 (x64 bit) link: https://www.python.org/ftp/python/2.7.10/python-2.7.10.amd64.msi Next, run the installer and keep the defaults for example, keep 'install for all users' checked and the installation path set as C:\Python27 This will install pip as well: Install 'Github For Windows'. This gives us the powershell as well. link: https://github-windows.s3.amazonaws.com/GitHubSetup.exe Install mongodb for windows: https://www.mongodb.org/downloads go to: C:\mongodb\mongodb\bin click on mongod to run the service REFERENCE DOC: https://docs.djangoproject.com/en/1.8/ref/contrib/gis/install/#windows Then open up the git shell Go to the desired location where you want to store the repo. mkdir airquality cd airquality pip install virtualenv Run: virtualenv . ./Scripts/activate git clone https://github.com/johnsonc/airquality.git cd airquality pip install -r requirements.txt Run python from command line to determine the compiler version used to build python (mine shows: Python 2.7.10 (default, Aug 24 2015, 09:15:03) [MSC v.1600 64 bit (AMD64)] on x64) According to the version number, MSC and 32/64 bit, Download the corresponding SDK from this link: Download the following: OSGeo4W link: http://trac.osgeo.org/osgeo4w/ The OSGeo4W installer makes it simple to install the PROJ.4, GDAL, and GEOS libraries required by GeoDjango. First, download the OSGeo4W installer, and run it. Select Express Web-GIS Install and click next. In the 'Select Packages' list, ensure that GDAL is selected; MapServer and Apache are also enabled by default, but are not required by GeoDjango and may be unchecked safely. After clicking next, the packages will be automatically downloaded and installed, after which you may exit the installer. ** Modify Windows environment variables REF: https://docs.djangoproject.com/en/1.8/ref/contrib/gis/install/#windows In order to use GeoDjango, you will need to add your Python and OSGeo4W directories to your Windows system Path, as well as create GDAL_DATA and PROJ_LIB environment variables. The following set of commands, executable with cmd.exe, will set this up: set OSGEO4W_ROOT=C:\OSGeo4W set PYTHON_ROOT=C:\Python27 set GDAL_DATA=%OSGEO4W_ROOT%\share\gdal set PROJ_LIB=%OSGEO4W_ROOT%\share\proj set PATH=%PATH%;%PYTHON_ROOT%;%OSGEO4W_ROOT%\bin reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /f /d "%PATH%" reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v GDAL_DATA /t REG_EXPAND_SZ /f /d "%GDAL_DATA%" reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROJ_LIB /t REG_EXPAND_SZ /f /d "%PROJ_LIB%" Add these line at the end of indiaspend/local_settings.py GEOS_LIBRARY_PATH = 'C:\\OSGeo4W64\\bin\\geos_c.dll' REST_FRAMEWORK={} (The windows version will not have CSV downloads enabled in the API as well. Further testing would be needed. ) Run the dev instance. python manage.py runserver Download the c++ compiler for Python: This is so that certain packages which do not have binaries will stil get compiled. link: http://download.microsoft.com/download/7/9/6/796EF2E4-801B-4FC4-AB28-B59FBF6D907B/VCForPython27.msi ** Some miscellaneous troubleshooting links: https://groups.google.com/forum/#!topic/geodjango/QwUw3JWj6sQ https://pypi.python.org/pypi/Shapely/1.2#downloads http://stackoverflow.com/questions/9684254/i-cannot-install-numpy-because-it-cant-find-python-2-7-althought-i-have-instal http://www.gisinternals.com/release.php http://www.gisinternals.com/query.html?content=filelist&file=release-1600-x64-gdal-1-11-1-mapserver-6-4-1.zip * DATA The device does need initial data which will be available from the server: DUMP: mongodump --out dbbackup --db indiaspend RESTORE: mongorestore --db indiaspend ./dbbackup/indiaspend --drop PER COLLECTION: mongodump --out dbbackup --collection <model_name> --db indiaspend mongorestore -c <model_name> --db indiaspend ./dbbackup/indiaspend/aqi_aqdevice.bson --drop
About
Air Quality Mapping
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published