Code Monkey home page Code Monkey logo

featureserver's Introduction

 ___         _                ___                      
| __|__ __ _| |_ _  _ _ _ ___/ __| ___ _ ___ _____ _ _ 
| _/ -_) _` |  _| || | '_/ -_)__ \/ -_) '_\ V / -_) '_|
|_|\___\__,_|\__|\_,_|_| \___|___/\___|_|  \_/\___|_|  

FeatureServer is an implementation of a RESTful Geographic Feature Service. Using standard HTTP methods, you can fetch a representation of a feature or a collection of features, add new data to the service, or delete data from the service. Use it as an aggregator -- post your GeoRSS feeds to it, and then browse them using WFS. Use it as a translator: use the OGR DataSource to load a shapefile and open it in Google Earth.

DataSource (Storage)

Datasource Description
DBM The DBM datasource uses anydbm combined with pickle to store features in a file on disk. This works on any platform, and works right out of the box.
The BerkleyDB datasource is a subclass of the DBM datasource. It uses a BerkleyDB module for storage.
Flickr Load images from flickr.
GeoAlchemy GeoAlchemy is an extension of SQLAlchemy, the python database toolkit, for spatial databases. GeoAlchemy datasource for FeatureServer allows you to access features stored in one of the supported spatial databases. As the moment GeoAlchemy supports PostGIS, MySQL and Spatialite.
OGR The OGR datasource allows you to take any OGR datasource -- such as a shapefile, PostGIS database, GML file, or other formats supported by OGR -- and use it as a backend for a FeatureServer layer.
OSM Load streets from OpenStreetMap by area, id, or key/value pair.
PostGIS The PostGIS datasource implements a direct connection to PostGIS, allowing for full featured editing/updating.
SpatialLite SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities.
SQLite A simple SQLite datasource that can be used on any website with Python support for SQLite. Creates 2 tables for each layer: one for the features, and one for any attributes/properties pertaining to those features.
Twitter Powered by Twittervision, the twitter datasource lets you use twittervision's API to display the current location of a user.
WFS The WFS datasource implements read-only access to WFS servers.

Service (Input/Output)

ServiceDescription
CSV
DXF (AutoCAD)Compatible with release 11 and 12, points, polyline (linestring), polygon
GeoJSONinput and output in the emerging GeoJSON specification. FeatureServer supports GeoJSON Points, Lines, and Polygons with Rings, as both input and output.
GeoRSS Atom (Simple)input and output of Points/Lines/Polygons (no rings/holes) in GeoRSS Simple (Atom). This allows one to take any GeoRSS Simple Atom feed and feed it to FeatureServer for storage.
GML/WFSOutput-only support of WFS/GML.
GPXGPX (the GPS Exchange Format) is a light-weight XML data format for the interchange of GPS data (waypoints, routes, and tracks) between applications and Web services on the Internet. E.g. it can be used for Garmin devices.
HTMLOutput-only support of features as HTML files, powered by Cheetah templates.
KMLInput and output of Points, Lines, and Polygons from KML.
OSMOutput-only support of features as OpenStreetMap '.osm' files. (These files can be opened using JOSM and posted to the OSM server.)
OV2TomTom Points of Interest Database
ShapefileThe Esri shapefile or simply a shapefile is a popular geospatial vector data format for geographic information systems software. It is developed and regulated by Esri as a (mostly) open specification for data interoperability among Esri and other software products.
SQLite/SpatiaLiteSpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities.

for more information visit featureserver.org

featureserver's People

Contributors

iocast avatar kolesovdmitry avatar midendian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

featureserver's Issues

in shp zip additional proj file

proj file for EPSG:4326
see: http://spatialreference.org/ref/epsg/4326/

GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563,
            AUTHORITY["EPSG","7030"]],
        AUTHORITY["EPSG","6326"]],
    PRIMEM["Greenwich",0,
        AUTHORITY["EPSG","8901"]],
    UNIT["degree",0.01745329251994328,
        AUTHORITY["EPSG","9122"]],
    AUTHORITY["EPSG","4326"]]

SQLite vectorformat should be renamed Spatialite

So it's clear it depends on spatialite not sqite

The crucial difference is that most bog-standard Linux web-hostings support python/Sqlite, meaning FS with this config can be installed without the need for specialised geo-specific backends. Hardly any support spatialite (or PostGIS, OGR, WFS ...)

PostGIS : Schema, casesensitive and actions

Hi, we've been using FeatureServer for a while and we just jumped from 1.12 to 1.15.2.

We use it exclusively with Postgis and we've found out some problems using schema and case sensitive columns. Plus we where not able to have a good response after an action other than select.

So I brewed up a patch, but I need your help a little. I'd like to write Tests for it so it would not break anymore, but I don't really know where to start. I'm not even able to run those alerady present.

And I'd like to know the Idea arround the actionTransactions, since it's only in postGIS and that it's broken I've set the response back to the logic before that (the select of the element).

Here's a link to what I've done :

https://github.com/solution-globale-informatique/featureserver/tree/CaseSensitivePostGis

Once the tests are done I'll do a pull request.

Thanks for all you've done!

datetime.time(0, 0) is not JSON serializable with Feature server and Postgis

I have a timestamp field without timezones in the database and when feature server try to serialize it he is unable.

There is no standards in JSON nor in GeoJSON for datetime formats, but there should be a way to avoid this problem.

Here's a discussion about it :

http://stackoverflow.com/questions/455580/json-datetime-between-python-and-javascript

My suggestion : add a param to format datetime and use the RfC 3339 or the format used in wms/wfs. This could allow us to format it to what we want and by pass the error.

Thanks

dynamic WFS wrapper service

Reading any WFS service as parameter and getting the same option as a service defined in the configuration file

PostGIS column with ':'

When a PostGIS column with ':' is selected to be used as attribute (or aliased as such) the consuming XML applications cannot handle the output. I created a small workaround to override the column names are replace : with _, but this might be taken into consideration for more novice users.

WFS format incompatible with OGR data source ('list' object has no attribute 'split')

First, FeatureServer.DataSource.OGR:__init__ parses the attribute_cols here.
Then, vectorformats.Formats.WFS tries to parse them again here.

A very basic WFS query:

http://localhost:8080/?SERVICE=WFS&VERSION=1.0.0&TYPENAME=states&BBOX=-122.77458907062643334,47.22724615119393832,-121.86953238113640907,47.96610480588739023&REQUEST=DescribeFeatureType

results in an error:

An error occurred: 'list' object has no attribute 'split'
  File "featureserver/web_request/handlers.py", line 147, in wsgi
    accepts = accepts )
  File "featureserver/FeatureServer/Server.py", line 222, in dispatchRequest
    return getattr(request, request.actions[0].request.lower())(version)
  File "featureserver/FeatureServer/Service/WFS.py", line 62, in describefeaturetype
    result = wfs.describefeaturetype()
  File "featureserver/vectorformats/Formats/WFS.py", line 312, in describefeaturetype
    root = self.addDataSourceFeatureType(root, self.datasources[self.layers[0]])
  File "featureserver/vectorformats/Formats/WFS.py", line 339, in addDataSourceFeatureType
    for attribut_col in datasource.attribute_cols.split(','):

The other formats (e.g. HTML, GeoJSON) work just fine with OGR. This suggests that WFS should not be attempting to parse the attributes. However, when I monkey-patch that fix, it only leads to deeper errors around OGR:getAttributeDescription not being overridden.

numeric comparison on datasource depending on FE query

if a numeric comparison is requested in the FE query, than do a numeric comparison on database instead of string comparison.
To determine if numeric or not, a regular expression need to take place.

2 solutions for regex:

  • on database
  • in Python and than created an appropriate SQL statement

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.