diff --git a/_config.yml b/_config.yml index c2c4269..d1dcc0e 100644 --- a/_config.yml +++ b/_config.yml @@ -6,11 +6,12 @@ # https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml # https://learnxinyminutes.com/docs/yaml/ -title: fastpages -description: An easy to use blogging platform with support for Jupyter Notebooks. -github_username: DataKind-BLR + +title: Panoptic +description: A Face Recognition Tracker +github_username: fastai # you can comment the below line out if your repo name is not different than your baseurl -github_repo: "panoptic_fp" +github_repo: "DataKind-BLR/panoptic_fp" # OPTIONAL: override baseurl and url if using a custom domain # Note: leave out the trailing / from this value. @@ -39,8 +40,8 @@ baseurl: "/panoptic_fp" # the subpath of your site, e.g. "/blog". # Github and twitter are optional: minima: social_links: - twitter: fastdotai - github: fastai + twitter: internetfreedomfoundation + github: # Set this to true to get LaTeX math equation support use_math: @@ -76,6 +77,7 @@ default_badges: html_escape: description: false +# ------------------------------------------------- # Everything below here should be left alone. Modifications may break fastpages future: true theme: minima diff --git a/_data/navigation.yml b/_data/navigation.yml new file mode 100644 index 0000000..497937e --- /dev/null +++ b/_data/navigation.yml @@ -0,0 +1,6 @@ +- title: Abra + link: '/abra' +- title: Cadabra + link: '/cadabra' +- title: Hula + link: '/hula' \ No newline at end of file diff --git a/_includes/head.html b/_includes/head.html index fab8dd0..2b5a96f 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -2,6 +2,8 @@ + + {%- seo -%} {%- feed_meta -%} diff --git a/_includes/nav.html b/_includes/nav.html new file mode 100644 index 0000000..aca8b55 --- /dev/null +++ b/_includes/nav.html @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/_includes/post_list.html b/_includes/post_list.html index e8284e8..02f60c5 100644 --- a/_includes/post_list.html +++ b/_includes/post_list.html @@ -1,9 +1,15 @@

+

{%- if site.show_description and post.description -%}

{{ post.description }}

+{{ post.content }} {%- endif -%} + + \ No newline at end of file diff --git a/_layouts/custom.html b/_layouts/custom.html new file mode 100644 index 0000000..df15566 --- /dev/null +++ b/_layouts/custom.html @@ -0,0 +1,15 @@ + + + +{% include head.html %} + +{% include nav.html %} + + + +
+

This is a custom Layout

+
+ + + \ No newline at end of file diff --git a/_layouts/home.html b/_layouts/posts.html similarity index 100% rename from _layouts/home.html rename to _layouts/posts.html diff --git a/_notebooks/2020-02-20-test.ipynb b/_notebooks/2020-02-20-test.ipynb deleted file mode 100644 index fe3fd23..0000000 --- a/_notebooks/2020-02-20-test.ipynb +++ /dev/null @@ -1,811 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Fastpages Notebook Blog Post\n", - "> A tutorial of fastpages for Jupyter notebooks.\n", - "\n", - "- toc: true \n", - "- badges: true\n", - "- comments: true\n", - "- categories: [jupyter]\n", - "- image: images/chart-preview.png" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# About\n", - "\n", - "This notebook is a demonstration of some of capabilities of [fastpages](https://github.com/fastai/fastpages) with notebooks.\n", - "\n", - "\n", - "With `fastpages` you can save your jupyter notebooks into the `_notebooks` folder at the root of your repository, and they will be automatically be converted to Jekyll compliant blog posts!\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Front Matter\n", - "\n", - "The first cell in your Jupyter Notebook or markdown blog post contains front matter. Front matter is metadata that can turn on/off options in your Notebook. It is formatted like this:\n", - "\n", - "```\n", - "# \"My Title\"\n", - "> \"Awesome summary\"\n", - "\n", - "- toc: true- branch: master- badges: true\n", - "- comments: true\n", - "- author: Hamel Husain & Jeremy Howard\n", - "- categories: [fastpages, jupyter]\n", - "```\n", - "\n", - "- Setting `toc: true` will automatically generate a table of contents\n", - "- Setting `badges: true` will automatically include GitHub and Google Colab links to your notebook.\n", - "- Setting `comments: true` will enable commenting on your blog post, powered by [utterances](https://github.com/utterance/utterances).\n", - "\n", - "The title and description need to be enclosed in double quotes only if they include special characters such as a colon. More details and options for front matter can be viewed on the [front matter section](https://github.com/fastai/fastpages#front-matter-related-options) of the README." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Markdown Shortcuts" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "A `#hide` comment at the top of any code cell will hide **both the input and output** of that cell in your blog post.\n", - "\n", - "A `#hide_input` comment at the top of any code cell will **only hide the input** of that cell." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The comment #hide_input was used to hide the code that produced this.\n" - ] - } - ], - "source": [ - "#hide_input\n", - "print('The comment #hide_input was used to hide the code that produced this.')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "put a `#collapse-hide` flag at the top of any cell if you want to **hide** that cell by default, but give the reader the option to show it:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "#collapse-hide\n", - "import pandas as pd\n", - "import altair as alt" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "put a `#collapse-show` flag at the top of any cell if you want to **show** that cell by default, but give the reader the option to hide it:" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "#collapse-show\n", - "cars = 'https://vega.github.io/vega-datasets/data/cars.json'\n", - "movies = 'https://vega.github.io/vega-datasets/data/movies.json'\n", - "sp500 = 'https://vega.github.io/vega-datasets/data/sp500.csv'\n", - "stocks = 'https://vega.github.io/vega-datasets/data/stocks.csv'\n", - "flights = 'https://vega.github.io/vega-datasets/data/flights-5k.json'" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Interactive Charts With Altair\n", - "\n", - "Charts made with Altair remain interactive. Example charts taken from [this repo](https://github.com/uwdata/visualization-curriculum), specifically [this notebook](https://github.com/uwdata/visualization-curriculum/blob/master/altair_interaction.ipynb)." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "# hide\n", - "df = pd.read_json(movies) # load movies data\n", - "genres = df['Major_Genre'].unique() # get unique field values\n", - "genres = list(filter(lambda d: d is not None, genres)) # filter out None values\n", - "genres.sort() # sort alphabetically" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "#hide\n", - "mpaa = ['G', 'PG', 'PG-13', 'R', 'NC-17', 'Not Rated']" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Example 1: DropDown" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
\n", - "" - ], - "text/plain": [ - "alt.Chart(...)" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# single-value selection over [Major_Genre, MPAA_Rating] pairs\n", - "# use specific hard-wired values as the initial selected values\n", - "selection = alt.selection_single(\n", - " name='Select',\n", - " fields=['Major_Genre', 'MPAA_Rating'],\n", - " init={'Major_Genre': 'Drama', 'MPAA_Rating': 'R'},\n", - " bind={'Major_Genre': alt.binding_select(options=genres), 'MPAA_Rating': alt.binding_radio(options=mpaa)}\n", - ")\n", - " \n", - "# scatter plot, modify opacity based on selection\n", - "alt.Chart(movies).mark_circle().add_selection(\n", - " selection\n", - ").encode(\n", - " x='Rotten_Tomatoes_Rating:Q',\n", - " y='IMDB_Rating:Q',\n", - " tooltip='Title:N',\n", - " opacity=alt.condition(selection, alt.value(0.75), alt.value(0.05))\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Example 2: Tooltips" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
\n", - "" - ], - "text/plain": [ - "alt.Chart(...)" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "alt.Chart(movies).mark_circle().add_selection(\n", - " alt.selection_interval(bind='scales', encodings=['x'])\n", - ").encode(\n", - " x='Rotten_Tomatoes_Rating:Q',\n", - " y=alt.Y('IMDB_Rating:Q', axis=alt.Axis(minExtent=30)), # use min extent to stabilize axis title placement\n", - " tooltip=['Title:N', 'Release_Date:N', 'IMDB_Rating:Q', 'Rotten_Tomatoes_Rating:Q']\n", - ").properties(\n", - " width=600,\n", - " height=400\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Example 3: More Tooltips" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
\n", - "" - ], - "text/plain": [ - "alt.LayerChart(...)" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# select a point for which to provide details-on-demand\n", - "label = alt.selection_single(\n", - " encodings=['x'], # limit selection to x-axis value\n", - " on='mouseover', # select on mouseover events\n", - " nearest=True, # select data point nearest the cursor\n", - " empty='none' # empty selection includes no data points\n", - ")\n", - "\n", - "# define our base line chart of stock prices\n", - "base = alt.Chart().mark_line().encode(\n", - " alt.X('date:T'),\n", - " alt.Y('price:Q', scale=alt.Scale(type='log')),\n", - " alt.Color('symbol:N')\n", - ")\n", - "\n", - "alt.layer(\n", - " base, # base line chart\n", - " \n", - " # add a rule mark to serve as a guide line\n", - " alt.Chart().mark_rule(color='#aaa').encode(\n", - " x='date:T'\n", - " ).transform_filter(label),\n", - " \n", - " # add circle marks for selected time points, hide unselected points\n", - " base.mark_circle().encode(\n", - " opacity=alt.condition(label, alt.value(1), alt.value(0))\n", - " ).add_selection(label),\n", - "\n", - " # add white stroked text to provide a legible background for labels\n", - " base.mark_text(align='left', dx=5, dy=-5, stroke='white', strokeWidth=2).encode(\n", - " text='price:Q'\n", - " ).transform_filter(label),\n", - "\n", - " # add text labels for stock prices\n", - " base.mark_text(align='left', dx=5, dy=-5).encode(\n", - " text='price:Q'\n", - " ).transform_filter(label),\n", - " \n", - " data=stocks\n", - ").properties(\n", - " width=700,\n", - " height=400\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Data Tables\n", - "\n", - "You can display tables per the usual way in your blog:" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
TitleWorldwide_GrossProduction_BudgetDistributorMPAA_RatingIMDB_RatingRotten_Tomatoes_Rating
0The Land Girls146083.08000000.0GramercyR6.1NaN
1First Love, Last Rites10876.0300000.0StrandR6.9NaN
2I Married a Strange Person203134.0250000.0LionsgateNone6.8NaN
3Let's Talk About Sex373615.0300000.0Fine LineNoneNaN13.0
4Slam1087521.01000000.0TrimarkR3.462.0
\n", - "
" - ], - "text/plain": [ - " Title Worldwide_Gross Production_Budget Distributor \\\n", - "0 The Land Girls 146083.0 8000000.0 Gramercy \n", - "1 First Love, Last Rites 10876.0 300000.0 Strand \n", - "2 I Married a Strange Person 203134.0 250000.0 Lionsgate \n", - "3 Let's Talk About Sex 373615.0 300000.0 Fine Line \n", - "4 Slam 1087521.0 1000000.0 Trimark \n", - "\n", - " MPAA_Rating IMDB_Rating Rotten_Tomatoes_Rating \n", - "0 R 6.1 NaN \n", - "1 R 6.9 NaN \n", - "2 None 6.8 NaN \n", - "3 None NaN 13.0 \n", - "4 R 3.4 62.0 " - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "movies = 'https://vega.github.io/vega-datasets/data/movies.json'\n", - "df = pd.read_json(movies)\n", - "# display table with pandas\n", - "df[['Title', 'Worldwide_Gross', \n", - " 'Production_Budget', 'Distributor', 'MPAA_Rating', 'IMDB_Rating', 'Rotten_Tomatoes_Rating']].head()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Images\n", - "\n", - "### Local Images\n", - "\n", - "You can reference local images and they will be copied and rendered on your blog automatically. You can include these with the following markdown syntax:\n", - "\n", - "`![](my_icons/fastai_logo.png)`" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "![](my_icons/fastai_logo.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Remote Images\n", - "\n", - "Remote images can be included with the following markdown syntax:\n", - "\n", - "`![](https://image.flaticon.com/icons/svg/36/36686.svg)`" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "![](https://image.flaticon.com/icons/svg/36/36686.svg)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Animated Gifs\n", - "\n", - "Animated Gifs work, too!\n", - "\n", - "`![](https://upload.wikimedia.org/wikipedia/commons/7/71/ChessPawnSpecialMoves.gif)`" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "![](https://upload.wikimedia.org/wikipedia/commons/7/71/ChessPawnSpecialMoves.gif)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Captions\n", - "\n", - "You can include captions with markdown images like this:\n", - "\n", - "```\n", - "![](https://www.fast.ai/images/fastai_paper/show_batch.png \"Credit: https://www.fast.ai/2020/02/13/fastai-A-Layered-API-for-Deep-Learning/\")\n", - "```\n", - "\n", - "\n", - "![](https://www.fast.ai/images/fastai_paper/show_batch.png \"Credit: https://www.fast.ai/2020/02/13/fastai-A-Layered-API-for-Deep-Learning/\")\n", - "\n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Other Elements" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## GitHub Flavored Emojis\n", - "\n", - "Typing `I give this post two :+1:!` will render this:\n", - "\n", - "I give this post two :+1:!" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Tweetcards\n", - "\n", - "Typing `> twitter: https://twitter.com/jakevdp/status/1204765621767901185?s=20` will render this:\n", - "\n", - "> twitter: https://twitter.com/jakevdp/status/1204765621767901185?s=20" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Youtube Videos\n", - "\n", - "Typing `> youtube: https://youtu.be/XfoYk_Z5AkI` will render this:\n", - "\n", - "\n", - "> youtube: https://youtu.be/XfoYk_Z5AkI" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Boxes / Callouts \n", - "\n", - "Typing `> Warning: There will be no second warning!` will render this:\n", - "\n", - "\n", - "> Warning: There will be no second warning!\n", - "\n", - "\n", - "\n", - "Typing `> Important: Pay attention! It's important.` will render this:\n", - "\n", - "> Important: Pay attention! It's important.\n", - "\n", - "\n", - "\n", - "Typing `> Tip: This is my tip.` will render this:\n", - "\n", - "> Tip: This is my tip.\n", - "\n", - "\n", - "\n", - "Typing `> Note: Take note of this.` will render this:\n", - "\n", - "> Note: Take note of this.\n", - "\n", - "\n", - "\n", - "Typing `> Note: A doc link to [an example website: fast.ai](https://www.fast.ai/) should also work fine.` will render in the docs:\n", - "\n", - "> Note: A doc link to [an example website: fast.ai](https://www.fast.ai/) should also work fine." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Footnotes\n", - "\n", - "You can have footnotes in notebooks, however the syntax is different compared to markdown documents. [This guide provides more detail about this syntax](https://github.com/fastai/fastpages/blob/master/_fastpages_docs/NOTEBOOK_FOOTNOTES.md), which looks like this:\n", - "\n", - "```\n", - "{% raw %}For example, here is a footnote {% fn 1 %}.\n", - "And another {% fn 2 %}\n", - "{{ 'This is the footnote.' | fndetail: 1 }}\n", - "{{ 'This is the other footnote. You can even have a [link](www.github.com)!' | fndetail: 2 }}{% endraw %}\n", - "```\n", - "\n", - "For example, here is a footnote {% fn 1 %}.\n", - "\n", - "And another {% fn 2 %}\n", - "\n", - "{{ 'This is the footnote.' | fndetail: 1 }}\n", - "{{ 'This is the other footnote. You can even have a [link](www.github.com)!' | fndetail: 2 }}" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.7" - }, - "varInspector": { - "cols": { - "lenName": 16, - "lenType": 16, - "lenVar": 40 - }, - "kernels_config": { - "python": { - "delete_cmd_postfix": "", - "delete_cmd_prefix": "del ", - "library": "var_list.py", - "varRefreshCmd": "print(var_dic_list())" - }, - "r": { - "delete_cmd_postfix": ") ", - "delete_cmd_prefix": "rm(", - "library": "var_list.r", - "varRefreshCmd": "cat(var_dic_list()) " - } - }, - "types_to_exclude": [ - "module", - "function", - "builtin_function_or_method", - "instance", - "_Feature" - ], - "window_display": false - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/_notebooks/2020-06-20-India_test_altair.ipynb b/_notebooks/2020-06-20-India_test_altair.ipynb new file mode 100644 index 0000000..3b964a5 --- /dev/null +++ b/_notebooks/2020-06-20-India_test_altair.ipynb @@ -0,0 +1,1420 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Statewise FRT Systems\n", + "> \"Test page created using Fast pages and Altair to check functionality and interactivity\"\n", + "\n", + "- toc: false\n", + "- branch: master\n", + "- badges: false\n", + "- comments: true\n", + "- categories: [fastpages, jupyter]\n", + "- image: images/some_folder/your_image.png\n", + "- hide: false\n", + "- search_exclude: true\n", + "- metadata_key1: metadata_value1\n", + "- metadata_key2: metadata_value2" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "#hide\n", + "import geopandas as gpd\n", + "import json\n", + "import altair as alt\n", + "#import itables.interactive\n", + "import pandas as pd\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#hide\n", + "from IPython.core.display import HTML\n", + "\n", + "display(HTML(\"\"\"\n", + "\n", + "\"\"\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cartodb_idstate_codest_nmgeometry
010TelanganaPOLYGON ((80.27485 18.72244, 80.28522 18.71545...
1235Andaman & Nicobar IslandMULTIPOLYGON (((93.84861 7.24051, 93.84273 7.2...
2328Andhra PradeshMULTIPOLYGON (((81.39375 16.33381, 81.32692 16...
3412Arunanchal PradeshPOLYGON ((95.23730 26.67984, 95.23338 26.69068...
4518AssamPOLYGON ((95.19587 27.03716, 95.15483 27.00028...
5610BiharMULTIPOLYGON (((84.50720 24.26323, 84.49672 24...
6822ChhattisgarhPOLYGON ((83.94652 23.62299, 83.95595 23.62465...
71025Daman & DiuMULTIPOLYGON (((72.80198 20.37417, 72.81503 20...
81130GoaPOLYGON ((74.11877 15.65246, 74.13560 15.64929...
91224GujaratMULTIPOLYGON (((72.67653 21.15570, 72.70319 21...
10136HaryanaPOLYGON ((77.12601 30.56392, 77.12462 30.56297...
11142Himachal PradeshPOLYGON ((78.39998 32.52597, 78.41661 32.52268...
12151Jammu & KashmirPOLYGON ((78.39998 32.52597, 78.37388 32.50899...
131620JharkhandPOLYGON ((87.79328 25.22107, 87.79033 25.20020...
141729KarnatakaMULTIPOLYGON (((74.30911 15.79856, 74.29779 15...
151832KeralaPOLYGON ((76.43138 11.66633, 76.44222 11.64056...
161931LakshadweepMULTIPOLYGON (((74.10131 11.20431, 74.08208 11...
172023Madhya PradeshMULTIPOLYGON (((74.17617 22.39621, 74.16721 22...
182127MaharashtraPOLYGON ((80.66342 21.33138, 80.67964 21.31193...
192214ManipurPOLYGON ((94.68085 25.45318, 94.67650 25.41995...
2074ChandigarhPOLYGON ((76.84147 30.75996, 76.83599 30.73623...
212734PuducherryMULTIPOLYGON (((79.84199 11.00028, 79.84153 10...
22283PunjabPOLYGON ((76.78337 30.90276, 76.77602 30.88977...
23298RajasthanPOLYGON ((74.28847 29.95535, 74.29944 29.95648...
243011SikkimPOLYGON ((88.75870 27.14800, 88.73956 27.13714...
253133Tamil NaduMULTIPOLYGON (((78.93930 9.18738, 78.93603 9.1...
263216TripuraPOLYGON ((92.23342 24.50171, 92.23958 24.48816...
27339Uttar PradeshMULTIPOLYGON (((79.39956 25.03070, 79.36195 25...
28345UttarakhandPOLYGON ((80.07035 28.82923, 80.03754 28.79380...
293519West BengalMULTIPOLYGON (((88.49771 21.59975, 88.50334 21...
303621OdishaMULTIPOLYGON (((86.38937 19.96351, 86.38051 19...
31926Dadara & Nagar HavelliPOLYGON ((73.20657 20.12216, 73.20935 20.09766...
322317MeghalayaPOLYGON ((92.43242 25.03080, 92.40476 25.03301...
332415MizoramPOLYGON ((92.99965 24.40013, 93.02345 24.38727...
342513NagalandPOLYGON ((95.23730 26.67984, 95.21913 26.65421...
35267NCT of DelhiPOLYGON ((77.19721 28.86152, 77.21515 28.85759...
\n", + "
" + ], + "text/plain": [ + " cartodb_id state_code st_nm \\\n", + "0 1 0 Telangana \n", + "1 2 35 Andaman & Nicobar Island \n", + "2 3 28 Andhra Pradesh \n", + "3 4 12 Arunanchal Pradesh \n", + "4 5 18 Assam \n", + "5 6 10 Bihar \n", + "6 8 22 Chhattisgarh \n", + "7 10 25 Daman & Diu \n", + "8 11 30 Goa \n", + "9 12 24 Gujarat \n", + "10 13 6 Haryana \n", + "11 14 2 Himachal Pradesh \n", + "12 15 1 Jammu & Kashmir \n", + "13 16 20 Jharkhand \n", + "14 17 29 Karnataka \n", + "15 18 32 Kerala \n", + "16 19 31 Lakshadweep \n", + "17 20 23 Madhya Pradesh \n", + "18 21 27 Maharashtra \n", + "19 22 14 Manipur \n", + "20 7 4 Chandigarh \n", + "21 27 34 Puducherry \n", + "22 28 3 Punjab \n", + "23 29 8 Rajasthan \n", + "24 30 11 Sikkim \n", + "25 31 33 Tamil Nadu \n", + "26 32 16 Tripura \n", + "27 33 9 Uttar Pradesh \n", + "28 34 5 Uttarakhand \n", + "29 35 19 West Bengal \n", + "30 36 21 Odisha \n", + "31 9 26 Dadara & Nagar Havelli \n", + "32 23 17 Meghalaya \n", + "33 24 15 Mizoram \n", + "34 25 13 Nagaland \n", + "35 26 7 NCT of Delhi \n", + "\n", + " geometry \n", + "0 POLYGON ((80.27485 18.72244, 80.28522 18.71545... \n", + "1 MULTIPOLYGON (((93.84861 7.24051, 93.84273 7.2... \n", + "2 MULTIPOLYGON (((81.39375 16.33381, 81.32692 16... \n", + "3 POLYGON ((95.23730 26.67984, 95.23338 26.69068... \n", + "4 POLYGON ((95.19587 27.03716, 95.15483 27.00028... \n", + "5 MULTIPOLYGON (((84.50720 24.26323, 84.49672 24... \n", + "6 POLYGON ((83.94652 23.62299, 83.95595 23.62465... \n", + "7 MULTIPOLYGON (((72.80198 20.37417, 72.81503 20... \n", + "8 POLYGON ((74.11877 15.65246, 74.13560 15.64929... \n", + "9 MULTIPOLYGON (((72.67653 21.15570, 72.70319 21... \n", + "10 POLYGON ((77.12601 30.56392, 77.12462 30.56297... \n", + "11 POLYGON ((78.39998 32.52597, 78.41661 32.52268... \n", + "12 POLYGON ((78.39998 32.52597, 78.37388 32.50899... \n", + "13 POLYGON ((87.79328 25.22107, 87.79033 25.20020... \n", + "14 MULTIPOLYGON (((74.30911 15.79856, 74.29779 15... \n", + "15 POLYGON ((76.43138 11.66633, 76.44222 11.64056... \n", + "16 MULTIPOLYGON (((74.10131 11.20431, 74.08208 11... \n", + "17 MULTIPOLYGON (((74.17617 22.39621, 74.16721 22... \n", + "18 POLYGON ((80.66342 21.33138, 80.67964 21.31193... \n", + "19 POLYGON ((94.68085 25.45318, 94.67650 25.41995... \n", + "20 POLYGON ((76.84147 30.75996, 76.83599 30.73623... \n", + "21 MULTIPOLYGON (((79.84199 11.00028, 79.84153 10... \n", + "22 POLYGON ((76.78337 30.90276, 76.77602 30.88977... \n", + "23 POLYGON ((74.28847 29.95535, 74.29944 29.95648... \n", + "24 POLYGON ((88.75870 27.14800, 88.73956 27.13714... \n", + "25 MULTIPOLYGON (((78.93930 9.18738, 78.93603 9.1... \n", + "26 POLYGON ((92.23342 24.50171, 92.23958 24.48816... \n", + "27 MULTIPOLYGON (((79.39956 25.03070, 79.36195 25... \n", + "28 POLYGON ((80.07035 28.82923, 80.03754 28.79380... \n", + "29 MULTIPOLYGON (((88.49771 21.59975, 88.50334 21... \n", + "30 MULTIPOLYGON (((86.38937 19.96351, 86.38051 19... \n", + "31 POLYGON ((73.20657 20.12216, 73.20935 20.09766... \n", + "32 POLYGON ((92.43242 25.03080, 92.40476 25.03301... \n", + "33 POLYGON ((92.99965 24.40013, 93.02345 24.38727... \n", + "34 POLYGON ((95.23730 26.67984, 95.21913 26.65421... \n", + "35 POLYGON ((77.19721 28.86152, 77.21515 28.85759... " + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#hide\n", + "gdf = gpd.read_file('states_india.shp')\n", + "gdf" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " after removing the cwd from sys.path.\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:5: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " \"\"\"\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py:3267: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " exec(code_obj, self.user_global_ns, self.user_ns)\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:6: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " \n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:7: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " import sys\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:8: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " \n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:9: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " if __name__ == '__main__':\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:10: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " # Remove the CWD from sys.path while we load stuff.\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:11: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " # This is added back by InteractiveShellApp.init_path()\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:12: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " if sys.path[0] == '':\n" + ] + } + ], + "source": [ + "#hide\n", + "gdf = gdf[['geometry','st_nm']]\n", + "gdf.columns = ['geometry','state']\n", + "gdf['count'] = 0\n", + "gdf['count'][14]=1\n", + "gdf['count'][15]=2\n", + "gdf['count'][17]=2\n", + "gdf['count'][0]=4\n", + "gdf['count'][29]=4\n", + "gdf['count'][11]=4\n", + "gdf['count'][18]=6\n", + "gdf['count'][25]=6" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
geometrystatecountxy
0POLYGON ((80.27485 18.72244, 80.28522 18.71545...Telangana479.06516717.799089
1MULTIPOLYGON (((93.84861 7.24051, 93.84273 7.2...Andaman & Nicobar Island092.96096911.213262
2MULTIPOLYGON (((81.39375 16.33381, 81.32692 16...Andhra Pradesh079.93598515.717827
3POLYGON ((95.23730 26.67984, 95.23338 26.69068...Arunanchal Pradesh094.67921428.035559
4POLYGON ((95.19587 27.03716, 95.15483 27.00028...Assam092.83170126.353430
5MULTIPOLYGON (((84.50720 24.26323, 84.49672 24...Bihar085.61173325.679316
6POLYGON ((83.94652 23.62299, 83.95595 23.62465...Chhattisgarh082.04252221.266706
7MULTIPOLYGON (((72.80198 20.37417, 72.81503 20...Daman & Diu072.23643920.511969
8POLYGON ((74.11877 15.65246, 74.13560 15.64929...Goa074.05445115.361634
9MULTIPOLYGON (((72.67653 21.15570, 72.70319 21...Gujarat071.58445622.691737
10POLYGON ((77.12601 30.56392, 77.12462 30.56297...Haryana076.34285129.196656
11POLYGON ((78.39998 32.52597, 78.41661 32.52268...Himachal Pradesh477.24860231.924427
12POLYGON ((78.39998 32.52597, 78.37388 32.50899...Jammu & Kashmir076.32564734.633905
13POLYGON ((87.79328 25.22107, 87.79033 25.20020...Jharkhand085.56400823.656262
14MULTIPOLYGON (((74.30911 15.79856, 74.29779 15...Karnataka176.16935314.709809
15POLYGON ((76.43138 11.66633, 76.44222 11.64056...Kerala276.40998610.449277
16MULTIPOLYGON (((74.10131 11.20431, 74.08208 11...Lakshadweep072.73899711.092380
17MULTIPOLYGON (((74.17617 22.39621, 74.16721 22...Madhya Pradesh278.29214223.537876
18POLYGON ((80.66342 21.33138, 80.67964 21.31193...Maharashtra676.10569119.450898
19POLYGON ((94.68085 25.45318, 94.67650 25.41995...Manipur093.88134824.734149
20POLYGON ((76.84147 30.75996, 76.83599 30.73623...Chandigarh076.78171330.729905
21MULTIPOLYGON (((79.84199 11.00028, 79.84153 10...Puducherry079.86956411.961678
22POLYGON ((76.78337 30.90276, 76.77602 30.88977...Punjab075.41861130.842869
23POLYGON ((74.28847 29.95535, 74.29944 29.95648...Rajasthan073.85107726.582960
24POLYGON ((88.75870 27.14800, 88.73956 27.13714...Sikkim088.47751127.571315
25MULTIPOLYGON (((78.93930 9.18738, 78.93603 9.1...Tamil Nadu678.40793411.014337
26POLYGON ((92.23342 24.50171, 92.23958 24.48816...Tripura091.74329523.745114
27MULTIPOLYGON (((79.39956 25.03070, 79.36195 25...Uttar Pradesh080.56904626.920957
28POLYGON ((80.07035 28.82923, 80.03754 28.79380...Uttarakhand079.20773430.153335
29MULTIPOLYGON (((88.49771 21.59975, 88.50334 21...West Bengal487.98548023.816956
30MULTIPOLYGON (((86.38937 19.96351, 86.38051 19...Odisha084.42917220.509437
31POLYGON ((73.20657 20.12216, 73.20935 20.09766...Dadara & Nagar Havelli073.07047220.194663
32POLYGON ((92.43242 25.03080, 92.40476 25.03301...Meghalaya091.27947325.535591
33POLYGON ((92.99965 24.40013, 93.02345 24.38727...Mizoram092.83671723.306887
34POLYGON ((95.23730 26.67984, 95.21913 26.65421...Nagaland094.47008526.061698
35POLYGON ((77.19721 28.86152, 77.21515 28.85759...NCT of Delhi077.11891328.641326
\n", + "
" + ], + "text/plain": [ + " geometry \\\n", + "0 POLYGON ((80.27485 18.72244, 80.28522 18.71545... \n", + "1 MULTIPOLYGON (((93.84861 7.24051, 93.84273 7.2... \n", + "2 MULTIPOLYGON (((81.39375 16.33381, 81.32692 16... \n", + "3 POLYGON ((95.23730 26.67984, 95.23338 26.69068... \n", + "4 POLYGON ((95.19587 27.03716, 95.15483 27.00028... \n", + "5 MULTIPOLYGON (((84.50720 24.26323, 84.49672 24... \n", + "6 POLYGON ((83.94652 23.62299, 83.95595 23.62465... \n", + "7 MULTIPOLYGON (((72.80198 20.37417, 72.81503 20... \n", + "8 POLYGON ((74.11877 15.65246, 74.13560 15.64929... \n", + "9 MULTIPOLYGON (((72.67653 21.15570, 72.70319 21... \n", + "10 POLYGON ((77.12601 30.56392, 77.12462 30.56297... \n", + "11 POLYGON ((78.39998 32.52597, 78.41661 32.52268... \n", + "12 POLYGON ((78.39998 32.52597, 78.37388 32.50899... \n", + "13 POLYGON ((87.79328 25.22107, 87.79033 25.20020... \n", + "14 MULTIPOLYGON (((74.30911 15.79856, 74.29779 15... \n", + "15 POLYGON ((76.43138 11.66633, 76.44222 11.64056... \n", + "16 MULTIPOLYGON (((74.10131 11.20431, 74.08208 11... \n", + "17 MULTIPOLYGON (((74.17617 22.39621, 74.16721 22... \n", + "18 POLYGON ((80.66342 21.33138, 80.67964 21.31193... \n", + "19 POLYGON ((94.68085 25.45318, 94.67650 25.41995... \n", + "20 POLYGON ((76.84147 30.75996, 76.83599 30.73623... \n", + "21 MULTIPOLYGON (((79.84199 11.00028, 79.84153 10... \n", + "22 POLYGON ((76.78337 30.90276, 76.77602 30.88977... \n", + "23 POLYGON ((74.28847 29.95535, 74.29944 29.95648... \n", + "24 POLYGON ((88.75870 27.14800, 88.73956 27.13714... \n", + "25 MULTIPOLYGON (((78.93930 9.18738, 78.93603 9.1... \n", + "26 POLYGON ((92.23342 24.50171, 92.23958 24.48816... \n", + "27 MULTIPOLYGON (((79.39956 25.03070, 79.36195 25... \n", + "28 POLYGON ((80.07035 28.82923, 80.03754 28.79380... \n", + "29 MULTIPOLYGON (((88.49771 21.59975, 88.50334 21... \n", + "30 MULTIPOLYGON (((86.38937 19.96351, 86.38051 19... \n", + "31 POLYGON ((73.20657 20.12216, 73.20935 20.09766... \n", + "32 POLYGON ((92.43242 25.03080, 92.40476 25.03301... \n", + "33 POLYGON ((92.99965 24.40013, 93.02345 24.38727... \n", + "34 POLYGON ((95.23730 26.67984, 95.21913 26.65421... \n", + "35 POLYGON ((77.19721 28.86152, 77.21515 28.85759... \n", + "\n", + " state count x y \n", + "0 Telangana 4 79.065167 17.799089 \n", + "1 Andaman & Nicobar Island 0 92.960969 11.213262 \n", + "2 Andhra Pradesh 0 79.935985 15.717827 \n", + "3 Arunanchal Pradesh 0 94.679214 28.035559 \n", + "4 Assam 0 92.831701 26.353430 \n", + "5 Bihar 0 85.611733 25.679316 \n", + "6 Chhattisgarh 0 82.042522 21.266706 \n", + "7 Daman & Diu 0 72.236439 20.511969 \n", + "8 Goa 0 74.054451 15.361634 \n", + "9 Gujarat 0 71.584456 22.691737 \n", + "10 Haryana 0 76.342851 29.196656 \n", + "11 Himachal Pradesh 4 77.248602 31.924427 \n", + "12 Jammu & Kashmir 0 76.325647 34.633905 \n", + "13 Jharkhand 0 85.564008 23.656262 \n", + "14 Karnataka 1 76.169353 14.709809 \n", + "15 Kerala 2 76.409986 10.449277 \n", + "16 Lakshadweep 0 72.738997 11.092380 \n", + "17 Madhya Pradesh 2 78.292142 23.537876 \n", + "18 Maharashtra 6 76.105691 19.450898 \n", + "19 Manipur 0 93.881348 24.734149 \n", + "20 Chandigarh 0 76.781713 30.729905 \n", + "21 Puducherry 0 79.869564 11.961678 \n", + "22 Punjab 0 75.418611 30.842869 \n", + "23 Rajasthan 0 73.851077 26.582960 \n", + "24 Sikkim 0 88.477511 27.571315 \n", + "25 Tamil Nadu 6 78.407934 11.014337 \n", + "26 Tripura 0 91.743295 23.745114 \n", + "27 Uttar Pradesh 0 80.569046 26.920957 \n", + "28 Uttarakhand 0 79.207734 30.153335 \n", + "29 West Bengal 4 87.985480 23.816956 \n", + "30 Odisha 0 84.429172 20.509437 \n", + "31 Dadara & Nagar Havelli 0 73.070472 20.194663 \n", + "32 Meghalaya 0 91.279473 25.535591 \n", + "33 Mizoram 0 92.836717 23.306887 \n", + "34 Nagaland 0 94.470085 26.061698 \n", + "35 NCT of Delhi 0 77.118913 28.641326 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#hide\n", + "gdf[\"x\"] = gdf.centroid.x\n", + "gdf[\"y\"] = gdf.centroid.y\n", + "gdf" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "#hide\n", + "gdf['Authority'] = 'NA'\n", + "gdf['FRT_system'] = 'NA'\n", + "gdf['Place'] = 'NA'" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:2: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " \n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:3: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " This is separate from the ipykernel package so we can avoid doing imports until\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " after removing the cwd from sys.path.\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:5: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " \"\"\"\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:6: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " \n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:7: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " import sys\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:8: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " \n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:9: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " if __name__ == '__main__':\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:10: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " # Remove the CWD from sys.path while we load stuff.\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:11: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " # This is added back by InteractiveShellApp.init_path()\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:12: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " if sys.path[0] == '':\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:13: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " del sys.path[0]\n" + ] + } + ], + "source": [ + "#hide\n", + "gdf['Authority'][0] = 'Hyderabad Police'\n", + "gdf['FRT_system'][0] = 'TSCOP + CCTNS'\n", + "gdf['Place'][0] = 'Hyderabad'\n", + "gdf['Authority'][25] = 'Chennai Police'\n", + "gdf['FRT_system'][25] = 'FaceTagr'\n", + "gdf['Place'][25] = 'Chennai'\n", + "gdf['Authority'][35] = 'Delhi Police'\n", + "gdf['FRT_system'][35] = 'AFRS'\n", + "gdf['Place'][35] = 'Delhi'\n", + "gdf['Authority'][27] = 'UP Police'\n", + "gdf['FRT_system'][27] = 'Trinetra'\n", + "gdf['Place'][27] = 'UP/Lucknow'" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "" + ], + "text/plain": [ + "alt.LayerChart(...)" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#hide_input\n", + "multi = alt.selection_multi(fields=['count','state'], bind='legend')\n", + "color = alt.condition(multi,\n", + " alt.Color('count', type='ordinal',\n", + " scale=alt.Scale(scheme='yellowgreenblue')),\n", + " alt.value('lightgray'))\n", + "choro = alt.Chart(gdf).mark_geoshape(\n", + " stroke='black'\n", + ").encode( \n", + " color=color, \n", + " tooltip=['state','count']\n", + ").add_selection(\n", + " multi\n", + " ).properties( \n", + " width=300,\n", + " height=400\n", + ")\n", + "\n", + "c1 = alt.layer(choro).configure_legend(\n", + " orient = 'bottom-right',\n", + " direction = 'horizontal',\n", + " padding = 10,\n", + " rowPadding = 15\n", + ")\n", + "\n", + "labels = alt.Chart(gdf).mark_text().encode(\n", + " longitude='x',\n", + " latitude='y',\n", + " text='count',\n", + " size=alt.value(8),\n", + " opacity=alt.value(0.6)\n", + ")\n", + "\n", + "# Base chart for data tables\n", + "ranked_text = alt.Chart(gdf).mark_text(align='left').encode(\n", + " y=alt.Y('row_number:O',axis=None)\n", + ").transform_window(\n", + " row_number='row_number()'\n", + ").transform_filter(\n", + " multi\n", + ").transform_window(\n", + " rank='rank(row_number)'\n", + ").transform_filter(\n", + " alt.datum.rank<36\n", + ").properties( \n", + " width=15\n", + ")\n", + "\n", + "# Data Tables\n", + "state = ranked_text.encode(text='state').properties(title='State')\n", + "a = ranked_text.encode(text='Authority').properties(title='Authority')\n", + "b = ranked_text.encode(text='FRT_system').properties(title='FRT_system')\n", + "c = ranked_text.encode(text='Place').properties(title='Place')\n", + "text = alt.hconcat(state,a,b,c) # Combine data tables\n", + "\n", + "# Build chart\n", + "# alt.vconcat(\n", + "# choro+labels,\n", + "# text\n", + "# ).configure_legend(\n", + "# orient = 'left',\n", + "# padding = 10,\n", + "# rowPadding = 15\n", + "# ).configure_view(strokeWidth=0)\n", + "\n", + "(c1+labels).configure_view(strokeWidth=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [], + "source": [ + "#hide\n", + "import pandas as pd\n", + "frt = pd.read_csv('frt.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### FRT Systems Deployed in India" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AuthorityFacial Recognition SystemPlacePurpose - Security/Surveillance or Authentication of Identity
0NCRB, MHANational Automatic Facial Recognition System (...IndiaSecurity/ Surveillance
1Ministry of RailwaysInternet Protocol (IP) based Video Surveillanc...IndiaSecurity/ Surveillance
2South Western RailwaysNaNKSR Bengaluru StationSecurity/ Surveillance
3Delhi PoliceAFRSDelhiSecurity/ Surveillance
4Punjab PolicePunjab Artificial Intelligence SystemPunjab/ ChandigarhSecurity/ Surveillance
5Hyderabad PoliceTSCOP + CCTNSHyderabadSecurity/ Surveillance
6UP PoliceTrinetraUP/ LucknowSecurity/ Surveillance
7Chennai PoliceFaceTagrChennaiSecurity/ Surveillance
\n", + "
" + ], + "text/plain": [ + " Authority Facial Recognition System \\\n", + "0 NCRB, MHA National Automatic Facial Recognition System (... \n", + "1 Ministry of Railways Internet Protocol (IP) based Video Surveillanc... \n", + "2 South Western Railways NaN \n", + "3 Delhi Police AFRS \n", + "4 Punjab Police Punjab Artificial Intelligence System \n", + "5 Hyderabad Police TSCOP + CCTNS \n", + "6 UP Police Trinetra \n", + "7 Chennai Police FaceTagr \n", + "\n", + " Place \\\n", + "0 India \n", + "1 India \n", + "2 KSR Bengaluru Station \n", + "3 Delhi \n", + "4 Punjab/ Chandigarh \n", + "5 Hyderabad \n", + "6 UP/ Lucknow \n", + "7 Chennai \n", + "\n", + " Purpose - Security/Surveillance or Authentication of Identity \n", + "0 Security/ Surveillance \n", + "1 Security/ Surveillance \n", + "2 Security/ Surveillance \n", + "3 Security/ Surveillance \n", + "4 Security/ Surveillance \n", + "5 Security/ Surveillance \n", + "6 Security/ Surveillance \n", + "7 Security/ Surveillance " + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#hide_input\n", + "frt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "#hide\n", + "# # Base chart for data tables\n", + "# ranked_text = alt.Chart(gdf).mark_text().encode(\n", + "# y=alt.Y('row_number:O',axis=None)\n", + "# ).transform_window(\n", + "# row_number='row_number()'\n", + "# ).transform_filter(\n", + "# multi\n", + "# ).transform_window(\n", + "# rank='rank(row_number)'\n", + "# ).transform_filter(\n", + "# alt.datum.rank<20\n", + "# )\n", + "\n", + "# # Data Tables\n", + "# state = ranked_text.encode(text='state').properties(title='State')\n", + "# a = ranked_text.encode(text='Authority').properties(title='Authority')\n", + "# b = ranked_text.encode(text='FRT_system').properties(title='FRT_system')\n", + "# c = ranked_text.encode(text='Place').properties(title='Place')\n", + "# text = alt.hconcat(state,a,b,c) # Combine data tables\n", + "\n", + "# # Build chart\n", + "# alt.hconcat(\n", + "# choro+labels,\n", + "# text\n", + "# ).configure_legend(\n", + "# orient = 'left',\n", + "# padding = 10,\n", + "# rowPadding = 15\n", + "# )" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/_notebooks/README.md b/_notebooks/README.md deleted file mode 100644 index 61b9d43..0000000 --- a/_notebooks/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Auto-convert Jupyter Notebooks To Posts - -[`fastpages`](https://github.com/fastai/fastpages) will automatically convert [Jupyter](https://jupyter.org/) Notebooks saved into this directory as blog posts! - -You must save your notebook with the naming convention `YYYY-MM-DD-*.ipynb`. Examples of valid filenames are: - -```shell -2020-01-28-My-First-Post.ipynb -2012-09-12-how-to-write-a-blog.ipynb -``` - -If you fail to name your file correctly, `fastpages` will automatically attempt to fix the problem by prepending the last modified date of your notebook. However, it is recommended that you name your files properly yourself for more transparency. - -See [Writing Blog Posts With Jupyter](https://github.com/fastai/fastpages#writing-blog-posts-with-jupyter) for more details. \ No newline at end of file diff --git a/_notebooks/frt.csv b/_notebooks/frt.csv new file mode 100644 index 0000000..46dd64e --- /dev/null +++ b/_notebooks/frt.csv @@ -0,0 +1,9 @@ +Authority,Facial Recognition System,Place,Purpose - Security/Surveillance or Authentication of Identity +"NCRB, MHA",National Automatic Facial Recognition System (NAFRS),India,Security/ Surveillance +Ministry of Railways,Internet Protocol (IP) based Video Surveillance System (VSS)/ Digiyatra,India,Security/ Surveillance +South Western Railways,N/A,KSR Bengaluru Station,Security/ Surveillance +Delhi Police,AFRS,Delhi,Security/ Surveillance +Punjab Police,Punjab Artificial Intelligence System,Punjab/ Chandigarh,Security/ Surveillance +Hyderabad Police,TSCOP + CCTNS,Hyderabad,Security/ Surveillance +UP Police,Trinetra,UP/ Lucknow,Security/ Surveillance +Chennai Police,FaceTagr,Chennai,Security/ Surveillance diff --git a/_notebooks/my_icons/fastai_logo.png b/_notebooks/my_icons/fastai_logo.png deleted file mode 100644 index ee8f242..0000000 Binary files a/_notebooks/my_icons/fastai_logo.png and /dev/null differ diff --git a/_notebooks/states_india.dbf b/_notebooks/states_india.dbf new file mode 100644 index 0000000..9d1749e Binary files /dev/null and b/_notebooks/states_india.dbf differ diff --git a/_notebooks/states_india.prj b/_notebooks/states_india.prj new file mode 100644 index 0000000..42d4712 --- /dev/null +++ b/_notebooks/states_india.prj @@ -0,0 +1 @@ +GEOGCS["WGS84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["degree",0.017453292519943295]] \ No newline at end of file diff --git a/_notebooks/states_india.shp b/_notebooks/states_india.shp new file mode 100644 index 0000000..051ac88 Binary files /dev/null and b/_notebooks/states_india.shp differ diff --git a/_notebooks/states_india.shx b/_notebooks/states_india.shx new file mode 100644 index 0000000..e983a49 Binary files /dev/null and b/_notebooks/states_india.shx differ diff --git a/_pages/about.md b/_pages/about.md index c8fc3c9..33870dc 100644 --- a/_pages/about.md +++ b/_pages/about.md @@ -1,6 +1,6 @@ --- layout: page -title: About Me +title: About permalink: /about/ --- diff --git a/_pages/case_studies.md b/_pages/case_studies.md new file mode 100644 index 0000000..4e488b7 --- /dev/null +++ b/_pages/case_studies.md @@ -0,0 +1,7 @@ +--- +layout: custom +title: Case Studies +permalink: /case_studies/ +--- + +List of case studies \ No newline at end of file diff --git a/_pages/rti.md b/_pages/rti.md new file mode 100644 index 0000000..aec70aa --- /dev/null +++ b/_pages/rti.md @@ -0,0 +1,7 @@ +--- +layout: page +title: RTIs +permalink: /rti/ +--- + +List of RTIs filed by IFF. \ No newline at end of file diff --git a/_pages/submit_frt.md b/_pages/submit_frt.md new file mode 100644 index 0000000..1955a69 --- /dev/null +++ b/_pages/submit_frt.md @@ -0,0 +1,15 @@ +--- +layout: page +title: Submit an FRT +permalink: /submit_frt/ +--- + +Submit form for FRT Tracker by citizen. + +_sample form_ + +
+ + + +
\ No newline at end of file diff --git a/_posts/2020-01-14-test-markdown-post.md b/_posts/2020-01-14-test-markdown-post.md deleted file mode 100755 index 6ac0dfc..0000000 --- a/_posts/2020-01-14-test-markdown-post.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -toc: true -layout: post -description: A minimal example of using markdown with fastpages. -categories: [markdown] -title: An Example Markdown Post ---- -# Example Markdown Post - -## Basic setup - -Jekyll requires blog post files to be named according to the following format: - -`YEAR-MONTH-DAY-filename.md` - -Where `YEAR` is a four-digit number, `MONTH` and `DAY` are both two-digit numbers, and `filename` is whatever file name you choose, to remind yourself what this post is about. `.md` is the file extension for markdown files. - -The first line of the file should start with a single hash character, then a space, then your title. This is how you create a "*level 1 heading*" in markdown. Then you can create level 2, 3, etc headings as you wish but repeating the hash character, such as you see in the line `## File names` above. - -## Basic formatting - -You can use *italics*, **bold**, `code font text`, and create [links](https://www.markdownguide.org/cheat-sheet/). Here's a footnote [^1]. Here's a horizontal rule: - ---- - -## Lists - -Here's a list: - -- item 1 -- item 2 - -And a numbered list: - -1. item 1 -1. item 2 - -## Boxes and stuff - -> This is a quotation - -{% include alert.html text="You can include alert boxes" %} - -...and... - -{% include info.html text="You can include info boxes" %} - -## Images - -![]({{ site.baseurl }}/images/logo.png "fast.ai's logo") - -## Code - -You can format text and code per usual - -General preformatted text: - - # Do a thing - do_thing() - -Python code and output: - -```python -# Prints '2' -print(1+1) -``` - - 2 - -Formatting text as shell commands: - -```shell -echo "hello world" -./some_script.sh --option "value" -wget https://example.com/cat_photo1.png -``` - -Formatting text as YAML: - -```yaml -key: value -- another_key: "another value" -``` - - -## Tables - -| Column 1 | Column 2 | -|-|-| -| A thing | Another thing | - - -## Tweetcards - -{% twitter https://twitter.com/jakevdp/status/1204765621767901185?s=20 %} - - -## Footnotes - - - -[^1]: This is the footnote. - diff --git a/_posts/2020-06-20-India_test_altair.md b/_posts/2020-06-20-India_test_altair.md new file mode 100644 index 0000000..1d3dfbf --- /dev/null +++ b/_posts/2020-06-20-India_test_altair.md @@ -0,0 +1,219 @@ +--- +keywords: fastai +description: "Test page created using Fast pages and Altair to check functionality and interactivity" +title: Statewise FRT Systems +toc: false +branch: master +badges: false +comments: true +categories: [fastpages, jupyter] +image: images/some_folder/your_image.png +hide: false +search_exclude: true +metadata_key1: metadata_value1 +metadata_key2: metadata_value2 +nb_path: _notebooks/2020-06-20-India_test_altair.ipynb +layout: notebook +--- + + + +
+ + {% raw %} + +
+ +
+ {% endraw %} + + {% raw %} + +
+ +
+
+ +
+ + +
+ +
+ +
+ +
+ +
+
+ +
+ {% endraw %} + +
+
+

FRT Systems Deployed in India

+
+
+
+ {% raw %} + +
+ +
+
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AuthorityFacial Recognition SystemPlacePurpose - Security/Surveillance or Authentication of Identity
0NCRB, MHANational Automatic Facial Recognition System (...IndiaSecurity/ Surveillance
1Ministry of RailwaysInternet Protocol (IP) based Video Surveillanc...IndiaSecurity/ Surveillance
2South Western RailwaysNaNKSR Bengaluru StationSecurity/ Surveillance
3Delhi PoliceAFRSDelhiSecurity/ Surveillance
4Punjab PolicePunjab Artificial Intelligence SystemPunjab/ ChandigarhSecurity/ Surveillance
5Hyderabad PoliceTSCOP + CCTNSHyderabadSecurity/ Surveillance
6UP PoliceTrinetraUP/ LucknowSecurity/ Surveillance
7Chennai PoliceFaceTagrChennaiSecurity/ Surveillance
+
+
+ +
+ +
+
+ +
+ {% endraw %} + +
+ + diff --git a/_posts/README.md b/_posts/README.md deleted file mode 100644 index 2633859..0000000 --- a/_posts/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Auto-convert markdown files To Posts - -[`fastpages`](https://github.com/fastai/fastpages) will automatically convert markdown files saved into this directory as blog posts! - -You must save your notebook with the naming convention `YYYY-MM-DD-*.md`. Examples of valid filenames are: - -```shell -2020-01-28-My-First-Post.md -2012-09-12-how-to-write-a-blog.md -``` - -# Resources - -- [Jekyll posts](https://jekyllrb.com/docs/posts/) -- [Example markdown post](https://github.com/fastai/fastpages/blob/master/_posts/2020-01-14-test-markdown-post.md) diff --git a/_sass/minima/fastpages-styles.scss b/_sass/minima/fastpages-styles.scss index 9780a68..2cfde12 100644 --- a/_sass/minima/fastpages-styles.scss +++ b/_sass/minima/fastpages-styles.scss @@ -2,16 +2,16 @@ // If you wish to override any of this CSS, do so in _sass/minima/custom-styles.css .post img { - display: block; - // border:1px solid #021a40; - vertical-align: top; - margin-left: auto; - margin-right: auto; + display: block; + // border:1px solid #021a40; + vertical-align: top; + margin-left: auto; + margin-right: auto; } -img.emoji{ - display: inline !important; - vertical-align: baseline !important; +img.emoji { + display: inline !important; + vertical-align: baseline !important; } .post figcaption { @@ -22,71 +22,83 @@ img.emoji{ } .page-content { - -webkit-font-smoothing: antialiased !important; - text-rendering: optimizeLegibility !important; - font-family: "Segoe UI", SegoeUI, Roboto, "Segoe WP", "Helvetica Neue", "Helvetica", "Tahoma", "Arial", sans-serif !important; + -webkit-font-smoothing: antialiased !important; + text-rendering: optimizeLegibility !important; + // font-family: "Segoe UI", SegoeUI, Roboto, "Segoe WP", "Helvetica Neue", "Helvetica", "Tahoma", "Arial", sans-serif !important; + font-family: 'Merriweather', serif !important; } // make non-headings slightly lighter -.post-content p, .post-content li { - font-size: 20px; - color: #515151; +.post-content p, +.post-content li { + font-size: 20px; + color: #515151; } -.post-link{ - font-weight: normal; +.post-link { + font-weight: normal; } // change padding of headings h1 { - margin-top:2.5rem !important; + margin-top: 2.5rem !important; } h2 { - margin-top:2rem !important; + margin-top: 2rem !important; } -h3, h4 { - margin-top:1.5rem !important; +h3, +h4 { + margin-top: 1.5rem !important; } p { - margin-top:1rem !important; - margin-bottom:1rem !important; + margin-top: 1rem !important; + margin-bottom: 1rem !important; } -h1, h2, h3, h4 { - font-weight: normal !important; - margin-bottom:0.5rem !important; - code { - font-size: 100%; - } +h1, +h2, +h3, +h4 { + font-weight: normal !important; + margin-bottom: 0.5rem !important; + + code { + font-size: 100%; + } } pre { - margin-bottom:1.5rem !important; + margin-bottom: 1.5rem !important; } // make sure the post title doesn't have too much spacing -.post-title { margin-top: .5rem !important; } +.post-title { + margin-top: .5rem !important; +} li { - h3, h4 { - margin-top:.05rem !important; - margin-bottom:.05rem !important; + + h3, + h4 { + margin-top: .05rem !important; + margin-bottom: .05rem !important; } + .post-meta-description { color: rgb(88, 88, 88); font-size: 15px; - margin-top:.05rem !important; - margin-bottom:.05rem !important; + margin-top: .05rem !important; + margin-bottom: .05rem !important; } } // Code Folding - details.description[open] summary::after { +details.description[open] summary::after { content: attr(data-open); } @@ -96,19 +108,21 @@ details.description:not([open]) summary::after { // Notebook badges .notebook-badge-image { - border:0 !important; + border: 0 !important; } // Adjust font size for footnotes. .footnotes { font-size: 12px !important; - p, li{ + + p, + li { font-size: 12px !important; - } + } } // Adjust with of social media icons were getting cut off -.social-media-list{ +.social-media-list { .svg-icon { width: 25px !important; height: 23px !important; @@ -144,7 +158,8 @@ h6:hover .anchor-link { } // Custom styling for homepage post previews -.post-meta-title, .post-meta{ +.post-meta-title, +.post-meta { margin-top: .25em !important; margin-bottom: .25em !important; font-size: 105%; @@ -163,22 +178,43 @@ h6:hover .anchor-link { padding-left: 0.375em; opacity: 35%; } + .category-tags-link { - color:rgb(187, 129, 129) !important; + color: rgb(187, 129, 129) !important; font-size: 13px !important; } // Search Page Styles -.js-search-results {padding-top: 0.2rem;} -.search-results-list-item {padding-bottom: 1rem;} +.js-search-results { + padding-top: 0.2rem; +} + +.search-results-list-item { + padding-bottom: 1rem; +} + .search-results-list-item .search-result-title { font-size: 16px; color: #d9230f; } -.search-result-rel-url {color: silver;} -.search-results-list-item a {display: block; color: #777;} -.search-results-list-item a:hover, .search-results-list-item a:focus {text-decoration: none;} -.search-results-list-item a:hover .search-result-title {text-decoration: underline;} + +.search-result-rel-url { + color: silver; +} + +.search-results-list-item a { + display: block; + color: #777; +} + +.search-results-list-item a:hover, +.search-results-list-item a:focus { + text-decoration: none; +} + +.search-results-list-item a:hover .search-result-title { + text-decoration: underline; +} .search-result-rel-date { color: rgb(109, 120, 138); @@ -188,12 +224,13 @@ h6:hover .anchor-link { .search-result-preview { color: #777; font-size: 16px; - margin-top:.02rem !important; - margin-bottom:.02rem !important; + margin-top: .02rem !important; + margin-bottom: .02rem !important; } + .search-result-highlight { color: #2e0137; - font-weight:bold; + font-weight: bold; } // Handle Overflow With Table Output @@ -203,13 +240,15 @@ table { overflow-x: auto; white-space: nowrap; font-size: 75%; - border:none; - th{ - text-align: center! important; + border: none; + + th { + text-align: center ! important; } - td{ - text-overflow:ellipsis; - overflow:hidden; + + td { + text-overflow: ellipsis; + overflow: hidden; max-width: 15em; } } @@ -219,6 +258,7 @@ table { width: 14px; height: 18px; } + ::-webkit-scrollbar-thumb { height: 6px; border: 4px solid rgba(0, 0, 0, 0); @@ -227,18 +267,20 @@ table { background-color: #9D9D9D; -webkit-box-shadow: inset -1px -1px 0px rgba(0, 0, 0, 0.05), inset 1px 1px 0px rgba(0, 0, 0, 0.05); } + ::-webkit-scrollbar-button { width: 0; height: 0; display: none; } + ::-webkit-scrollbar-corner { background-color: transparent; } // Wrap text outputs instead of horizontal scroll .output_text.output_execute_result { - pre{ + pre { white-space: pre-wrap; } } @@ -246,13 +288,14 @@ table { // Handling large charts on mobile devices @media only screen and (max-width: 900px) { + /* for mobile phone and tablet devices */ - .output_wrapper{ + .output_wrapper { overflow: scroll; } } -.svg-icon.orange{ +.svg-icon.orange { width: 30px; height: 23px; -} +} \ No newline at end of file diff --git a/_word/README.md b/_word/README.md deleted file mode 100644 index 303a35f..0000000 --- a/_word/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# Automatically Convert MS Word (*.docx) Documents To Blog Posts - -_Note: You can convert Google Docs to Word Docs by navigating to the File menu, and selecting Download > Microsoft Word (.docx)_ - -[`fastpages`](https://github.com/fastai/fastpages) will automatically convert Word Documents (.docx) saved into this directory as blog posts!. Furthermore, images in your document are saved and displayed as you would expect on your blog post automatically. - -## Usage - -1. Create a Word Document (must be .docx) with the contents of your blog post. - -2. Save your file with the naming convention `YYYY-MM-DD-*.docx` into the `/_word` folder of this repo. For example `2020-01-28-My-First-Post.docx`. This [naming convention is required by Jekyll](https://jekyllrb.com/docs/posts/) to render your blog post. - - Be careful to name your file correctly! It is easy to forget the last dash in `YYYY-MM-DD-`. Furthermore, the character immediately following the dash should only be an alphabetical letter. Examples of valid filenames are: - - ```shell - 2020-01-28-My-First-Post.docx - 2012-09-12-how-to-write-a-blog.docx - ``` - - - If you fail to name your file correctly, `fastpages` will automatically attempt to fix the problem by prepending the last modified date of your notebook to your generated blog post. However, it is recommended that you name your files properly yourself for more transparency. - -3. Synchronize your files with GitHub by [following the instructions in this blog post](https://www.fast.ai/2020/01/18/gitblog/). diff --git a/assets/img/2020-01-01-Microsoft-Word-Example-Post/media/image1.png b/assets/img/2020-01-01-Microsoft-Word-Example-Post/media/image1.png new file mode 100644 index 0000000..f34b1c4 Binary files /dev/null and b/assets/img/2020-01-01-Microsoft-Word-Example-Post/media/image1.png differ diff --git a/assets/img/2020-01-01-Microsoft-Word-Example-Post/media/image2.png b/assets/img/2020-01-01-Microsoft-Word-Example-Post/media/image2.png new file mode 100644 index 0000000..bc260a4 Binary files /dev/null and b/assets/img/2020-01-01-Microsoft-Word-Example-Post/media/image2.png differ diff --git a/index.html b/index.html index 2536924..f591bf3 100644 --- a/index.html +++ b/index.html @@ -1,14 +1,6 @@ --- -layout: home +layout: posts search_exclude: true --- -This site is built with [fastpages](https://github.com/fastai/fastpages), An easy to use blogging platform with extra features for Jupyter Notebooks. - -![]({{site.baseurl}}/images/diagram.png "https://github.com/fastai/fastpages") - -[fastpages](https://github.com/fastai/fastpages) automates the process of creating blog posts via GitHub Actions, so you don't have to fuss with conversion scripts. A full list of features can be found on [GitHub](https://github.com/fastai/fastpages). - -You can edit the `index.html` file to change this content. - -# Posts \ No newline at end of file +_Intro comes here_