Giter Club home page Giter Club logo

geojsonio.py's Introduction

geojsonio.py

Open GeoJSON data on geojson.io from Python. geojsonio.py also contains a command line utility that is a Python port of geojsonio-cli.

https://travis-ci.org/jwass/geojsonio.py.svg?branch=master

Usage

Send data to geojson.io and open a browser within python

from geojsonio import display

with open('map.geojson') as f:
    contents = f.read()
    display(contents)

Data

There are two methods by which geojsonio.py gets geojson.io to render the data:

  • Embedding the GeoJSON contents in the geojson.io URL directly
  • Creating an anonymous Github gist and embedding the gist id in the geojson.io URL.

geojsonio.py automatically determines which method is used based on the length of the GeoJSON contents. If the contents are small enough, they will be embedded in the URL. Otherwise geojsonio.py creates an anonymous Gist on Github with the GeoJSON contents. Note: when an anonymous gist is created, the data is uploaded to Github and a unique gist ID is created. If anyone else is able to obtain the gist ID, they will be able to see your data.

Goes Great With GeoPandas

geojsonio.py integrates nicely with GeoPandas to display data in a GeoDataFrame.

Say you have a file containing the borders of all states called states.geojson. Each GeoJSON record has a property called 'Name'. Quickly display all the states whose names start with 'M'

import geopandas as gpd
import geojsonio

states = gpd.read_file('states.geojson')
m_states = states[states['Name'].str.startswith('M')]
geojsonio.display(m_states.to_json())

This will open a browser to the geojson.io window with the polygons drawn on the slippy map.

IPython Notebook Integration

To easily embed geojson.io in an iframe in a Jupyter/IPython notebook, use the embed() method

embed(contents)

Command Line Interface

It can also be used on the command line. Read or pipe a file

$ geojsonio map.geojson
$ geojsonio < run.geojson

Options:

--print prints the url rather than opening it
--domain="http://custominstancedomain.com/"

Installation

Install with pip

$ pip install geojsonio

geojsonio.py's People

Contributors

jwass avatar themiurgo avatar carsonfarmer avatar msabramo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.