Submit Search
Upload
Some geospatial ruby libraries
•
Download as ODP, PDF
•
0 likes
•
732 views
C
chippy
Follow
Some geospatial ruby libraries lightning talk presented at Leeds Ruby Thing, April 2016
Read less
Read more
Technology
Report
Share
Report
Share
1 of 13
Download now
Recommended
Express JS
Express JS
Alok Guha
Introduction to Node.JS Express
Introduction to Node.JS Express
Eueung Mulyana
Building Web Apps with Express
Building Web Apps with Express
Aaron Stannard
Rapid dev env DevOps Warsaw July 2014
Rapid dev env DevOps Warsaw July 2014
blndrt
Node.js Express
Node.js Express
Eyal Vardi
Bootstrapping multidc observability stack
Bootstrapping multidc observability stack
Bram Vogelaar
Integrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suite
Bram Vogelaar
Ruby meets Go
Ruby meets Go
NTT Communications Technology Development
Recommended
Express JS
Express JS
Alok Guha
Introduction to Node.JS Express
Introduction to Node.JS Express
Eueung Mulyana
Building Web Apps with Express
Building Web Apps with Express
Aaron Stannard
Rapid dev env DevOps Warsaw July 2014
Rapid dev env DevOps Warsaw July 2014
blndrt
Node.js Express
Node.js Express
Eyal Vardi
Bootstrapping multidc observability stack
Bootstrapping multidc observability stack
Bram Vogelaar
Integrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suite
Bram Vogelaar
Ruby meets Go
Ruby meets Go
NTT Communications Technology Development
Consuming Web Services with Swift and Rx
Consuming Web Services with Swift and Rx
Guillermo Gonzalez
Intro to Node
Intro to Node
Aaron Stannard
Observability with Consul Connect
Observability with Consul Connect
Bram Vogelaar
Writing Redis in Python with asyncio
Writing Redis in Python with asyncio
James Saryerwinnie
Workshop 4: NodeJS. Express Framework & MongoDB.
Workshop 4: NodeJS. Express Framework & MongoDB.
Visual Engineering
New Design of OneRing
New Design of OneRing
Qiangning Hong
Perl: Hate it for the Right Reasons
Perl: Hate it for the Right Reasons
Matt Follett
AnyMQ, Hippie, and the real-time web
AnyMQ, Hippie, and the real-time web
clkao
Developing apps using Perl
Developing apps using Perl
Anatoly Sharifulin
Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)
Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)
Brian Sam-Bodden
Express JS
Express JS
Designveloper
Introduction to asynchronous DB access using Node.js and MongoDB
Introduction to asynchronous DB access using Node.js and MongoDB
Adrien Joly
Express js
Express js
Manav Prasad
Puppet and the HashiStack
Puppet and the HashiStack
Bram Vogelaar
OneRing @ OSCamp 2010
OneRing @ OSCamp 2010
Qiangning Hong
ECMAScript 6 and the Node Driver
ECMAScript 6 and the Node Driver
MongoDB
Clojure Workshop: Web development
Clojure Workshop: Web development
Sytac
Bootstrapping multidc observability stack
Bootstrapping multidc observability stack
Bram Vogelaar
Beautiful code instead of callback hell using ES6 Generators, Koa, Bluebird (...
Beautiful code instead of callback hell using ES6 Generators, Koa, Bluebird (...
andreaslubbe
Asynchronous programming patterns in Perl
Asynchronous programming patterns in Perl
deepfountainconsulting
Space place psychogeography - foss4g 2013
Space place psychogeography - foss4g 2013
chippy
Tim waters openhistoricalmap geomob london july 2015
Tim waters openhistoricalmap geomob london july 2015
chippy
More Related Content
What's hot
Consuming Web Services with Swift and Rx
Consuming Web Services with Swift and Rx
Guillermo Gonzalez
Intro to Node
Intro to Node
Aaron Stannard
Observability with Consul Connect
Observability with Consul Connect
Bram Vogelaar
Writing Redis in Python with asyncio
Writing Redis in Python with asyncio
James Saryerwinnie
Workshop 4: NodeJS. Express Framework & MongoDB.
Workshop 4: NodeJS. Express Framework & MongoDB.
Visual Engineering
New Design of OneRing
New Design of OneRing
Qiangning Hong
Perl: Hate it for the Right Reasons
Perl: Hate it for the Right Reasons
Matt Follett
AnyMQ, Hippie, and the real-time web
AnyMQ, Hippie, and the real-time web
clkao
Developing apps using Perl
Developing apps using Perl
Anatoly Sharifulin
Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)
Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)
Brian Sam-Bodden
Express JS
Express JS
Designveloper
Introduction to asynchronous DB access using Node.js and MongoDB
Introduction to asynchronous DB access using Node.js and MongoDB
Adrien Joly
Express js
Express js
Manav Prasad
Puppet and the HashiStack
Puppet and the HashiStack
Bram Vogelaar
OneRing @ OSCamp 2010
OneRing @ OSCamp 2010
Qiangning Hong
ECMAScript 6 and the Node Driver
ECMAScript 6 and the Node Driver
MongoDB
Clojure Workshop: Web development
Clojure Workshop: Web development
Sytac
Bootstrapping multidc observability stack
Bootstrapping multidc observability stack
Bram Vogelaar
Beautiful code instead of callback hell using ES6 Generators, Koa, Bluebird (...
Beautiful code instead of callback hell using ES6 Generators, Koa, Bluebird (...
andreaslubbe
Asynchronous programming patterns in Perl
Asynchronous programming patterns in Perl
deepfountainconsulting
What's hot
(20)
Consuming Web Services with Swift and Rx
Consuming Web Services with Swift and Rx
Intro to Node
Intro to Node
Observability with Consul Connect
Observability with Consul Connect
Writing Redis in Python with asyncio
Writing Redis in Python with asyncio
Workshop 4: NodeJS. Express Framework & MongoDB.
Workshop 4: NodeJS. Express Framework & MongoDB.
New Design of OneRing
New Design of OneRing
Perl: Hate it for the Right Reasons
Perl: Hate it for the Right Reasons
AnyMQ, Hippie, and the real-time web
AnyMQ, Hippie, and the real-time web
Developing apps using Perl
Developing apps using Perl
Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)
Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)
Express JS
Express JS
Introduction to asynchronous DB access using Node.js and MongoDB
Introduction to asynchronous DB access using Node.js and MongoDB
Express js
Express js
Puppet and the HashiStack
Puppet and the HashiStack
OneRing @ OSCamp 2010
OneRing @ OSCamp 2010
ECMAScript 6 and the Node Driver
ECMAScript 6 and the Node Driver
Clojure Workshop: Web development
Clojure Workshop: Web development
Bootstrapping multidc observability stack
Bootstrapping multidc observability stack
Beautiful code instead of callback hell using ES6 Generators, Koa, Bluebird (...
Beautiful code instead of callback hell using ES6 Generators, Koa, Bluebird (...
Asynchronous programming patterns in Perl
Asynchronous programming patterns in Perl
Viewers also liked
Space place psychogeography - foss4g 2013
Space place psychogeography - foss4g 2013
chippy
Tim waters openhistoricalmap geomob london july 2015
Tim waters openhistoricalmap geomob london july 2015
chippy
Psychogeography. Guest talk at Leeds University
Psychogeography. Guest talk at Leeds University
chippy
Open Historical Maps at State of the Map (SOTM), 2009, Amsterdam
Open Historical Maps at State of the Map (SOTM), 2009, Amsterdam
chippy
Understanding Derive/Psychogeography
Understanding Derive/Psychogeography
Rawlslyn Francis
E-Derive: Psychogeography and the Digital Landscape
E-Derive: Psychogeography and the Digital Landscape
an xiao mina
Viewers also liked
(6)
Space place psychogeography - foss4g 2013
Space place psychogeography - foss4g 2013
Tim waters openhistoricalmap geomob london july 2015
Tim waters openhistoricalmap geomob london july 2015
Psychogeography. Guest talk at Leeds University
Psychogeography. Guest talk at Leeds University
Open Historical Maps at State of the Map (SOTM), 2009, Amsterdam
Open Historical Maps at State of the Map (SOTM), 2009, Amsterdam
Understanding Derive/Psychogeography
Understanding Derive/Psychogeography
E-Derive: Psychogeography and the Digital Landscape
E-Derive: Psychogeography and the Digital Landscape
Similar to Some geospatial ruby libraries
OSC2007-niigata - mashup
OSC2007-niigata - mashup
Yuichiro MASUI
1時間で作るマッシュアップサービス(関西版)
1時間で作るマッシュアップサービス(関西版)
Yuichiro MASUI
How to build a High Performance PSGI/Plack Server
How to build a High Performance PSGI/Plack Server
Masahiro Nagano
Ruby HTTP clients comparison
Ruby HTTP clients comparison
Hiroshi Nakamura
2013 - Nate Abele: HTTP ALL THE THINGS: Simplificando aplicaciones respetando...
2013 - Nate Abele: HTTP ALL THE THINGS: Simplificando aplicaciones respetando...
PHP Conference Argentina
Pyramid REST
Pyramid REST
Łukasz Oleś
Bonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node js
Francois Zaninotto
8 Minutes On Rack
8 Minutes On Rack
danwrong
Top 10 F5 iRules to migrate to a modern load balancing platform
Top 10 F5 iRules to migrate to a modern load balancing platform
Avi Networks
Tips and tricks for building api heavy ruby on rails applications
Tips and tricks for building api heavy ruby on rails applications
Tim Cull
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Masahiro Nagano
API Days Paris - Automatic Testing of (RESTful) API Documentation
API Days Paris - Automatic Testing of (RESTful) API Documentation
Rouven Weßling
Securing RESTful Payment APIs Using OAuth 2
Securing RESTful Payment APIs Using OAuth 2
Jonathan LeBlanc
AWS re:Invent 2016: Chalice: A Serverless Microframework for Python (DEV308)
AWS re:Invent 2016: Chalice: A Serverless Microframework for Python (DEV308)
Amazon Web Services
Kansai.pm 10周年記念 Plack/PSGI 入門
Kansai.pm 10周年記念 Plack/PSGI 入門
lestrrat
Javascript Everywhere From Nose To Tail
Javascript Everywhere From Nose To Tail
Cliffano Subagio
【AWS Developers Meetup】RESTful APIをChaliceで紐解く
【AWS Developers Meetup】RESTful APIをChaliceで紐解く
Amazon Web Services Japan
Creating a Facebook Clone - Part XXVII - Transcript.pdf
Creating a Facebook Clone - Part XXVII - Transcript.pdf
ShaiAlmog1
Intro to fog and openstack jp
Intro to fog and openstack jp
Satoshi Konno
Curso de Node.js e MongoDB - 16
Curso de Node.js e MongoDB - 16
Luiz Duarte
Similar to Some geospatial ruby libraries
(20)
OSC2007-niigata - mashup
OSC2007-niigata - mashup
1時間で作るマッシュアップサービス(関西版)
1時間で作るマッシュアップサービス(関西版)
How to build a High Performance PSGI/Plack Server
How to build a High Performance PSGI/Plack Server
Ruby HTTP clients comparison
Ruby HTTP clients comparison
2013 - Nate Abele: HTTP ALL THE THINGS: Simplificando aplicaciones respetando...
2013 - Nate Abele: HTTP ALL THE THINGS: Simplificando aplicaciones respetando...
Pyramid REST
Pyramid REST
Bonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node js
8 Minutes On Rack
8 Minutes On Rack
Top 10 F5 iRules to migrate to a modern load balancing platform
Top 10 F5 iRules to migrate to a modern load balancing platform
Tips and tricks for building api heavy ruby on rails applications
Tips and tricks for building api heavy ruby on rails applications
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Rhebok, High Performance Rack Handler / Rubykaigi 2015
API Days Paris - Automatic Testing of (RESTful) API Documentation
API Days Paris - Automatic Testing of (RESTful) API Documentation
Securing RESTful Payment APIs Using OAuth 2
Securing RESTful Payment APIs Using OAuth 2
AWS re:Invent 2016: Chalice: A Serverless Microframework for Python (DEV308)
AWS re:Invent 2016: Chalice: A Serverless Microframework for Python (DEV308)
Kansai.pm 10周年記念 Plack/PSGI 入門
Kansai.pm 10周年記念 Plack/PSGI 入門
Javascript Everywhere From Nose To Tail
Javascript Everywhere From Nose To Tail
【AWS Developers Meetup】RESTful APIをChaliceで紐解く
【AWS Developers Meetup】RESTful APIをChaliceで紐解く
Creating a Facebook Clone - Part XXVII - Transcript.pdf
Creating a Facebook Clone - Part XXVII - Transcript.pdf
Intro to fog and openstack jp
Intro to fog and openstack jp
Curso de Node.js e MongoDB - 16
Curso de Node.js e MongoDB - 16
More from chippy
Tim waters OpenHistoricalMap State of the Map Scotland 2015
Tim waters OpenHistoricalMap State of the Map Scotland 2015
chippy
OpenStreetMap and Geospatial Ruby Tim Waters sheffield ruby user group july 2...
OpenStreetMap and Geospatial Ruby Tim Waters sheffield ruby user group july 2...
chippy
Tim waters OpenHistoricalMap Changes to the OSM Stack. SOTM-US 2015
Tim waters OpenHistoricalMap Changes to the OSM Stack. SOTM-US 2015
chippy
Visible If You Can See it? The Superposition tim waters_20_may
Visible If You Can See it? The Superposition tim waters_20_may
chippy
Ken campbell interview hoax small 1994
Ken campbell interview hoax small 1994
chippy
Ken campbell interview hoax 1994
Ken campbell interview hoax 1994
chippy
OpenHistoricalMap tim waters - Topomancy / NYPL Lightning Talk
OpenHistoricalMap tim waters - Topomancy / NYPL Lightning Talk
chippy
Ohm
Ohm
chippy
The map is not whats there - psychogeography and openstreetmap
The map is not whats there - psychogeography and openstreetmap
chippy
Leeds Data Thing OpenStreetMap and Other Geo Visualization Stuff
Leeds Data Thing OpenStreetMap and Other Geo Visualization Stuff
chippy
Introduction to OpenStreetMap and Humanitarian OSM Team for Plan Internationa...
Introduction to OpenStreetMap and Humanitarian OSM Team for Plan Internationa...
chippy
You know when you are addicted to OSM when...
You know when you are addicted to OSM when...
chippy
Psychogeography tim waters wherecampEU 2012
Psychogeography tim waters wherecampEU 2012
chippy
LSxCafe Swtich2OSM.org talk
LSxCafe Swtich2OSM.org talk
chippy
Fuzzy foss4g 2006 tim waters poster
Fuzzy foss4g 2006 tim waters poster
chippy
Mapping The Fear of Crime
Mapping The Fear of Crime
chippy
Soc map rectification_tools_2011
Soc map rectification_tools_2011
chippy
Community Analytics on the GeoWeb
Community Analytics on the GeoWeb
chippy
Psychogeography at geekup leeds
Psychogeography at geekup leeds
chippy
OpenStreetMap - Case Study Haiti Crisis Response
OpenStreetMap - Case Study Haiti Crisis Response
chippy
More from chippy
(20)
Tim waters OpenHistoricalMap State of the Map Scotland 2015
Tim waters OpenHistoricalMap State of the Map Scotland 2015
OpenStreetMap and Geospatial Ruby Tim Waters sheffield ruby user group july 2...
OpenStreetMap and Geospatial Ruby Tim Waters sheffield ruby user group july 2...
Tim waters OpenHistoricalMap Changes to the OSM Stack. SOTM-US 2015
Tim waters OpenHistoricalMap Changes to the OSM Stack. SOTM-US 2015
Visible If You Can See it? The Superposition tim waters_20_may
Visible If You Can See it? The Superposition tim waters_20_may
Ken campbell interview hoax small 1994
Ken campbell interview hoax small 1994
Ken campbell interview hoax 1994
Ken campbell interview hoax 1994
OpenHistoricalMap tim waters - Topomancy / NYPL Lightning Talk
OpenHistoricalMap tim waters - Topomancy / NYPL Lightning Talk
Ohm
Ohm
The map is not whats there - psychogeography and openstreetmap
The map is not whats there - psychogeography and openstreetmap
Leeds Data Thing OpenStreetMap and Other Geo Visualization Stuff
Leeds Data Thing OpenStreetMap and Other Geo Visualization Stuff
Introduction to OpenStreetMap and Humanitarian OSM Team for Plan Internationa...
Introduction to OpenStreetMap and Humanitarian OSM Team for Plan Internationa...
You know when you are addicted to OSM when...
You know when you are addicted to OSM when...
Psychogeography tim waters wherecampEU 2012
Psychogeography tim waters wherecampEU 2012
LSxCafe Swtich2OSM.org talk
LSxCafe Swtich2OSM.org talk
Fuzzy foss4g 2006 tim waters poster
Fuzzy foss4g 2006 tim waters poster
Mapping The Fear of Crime
Mapping The Fear of Crime
Soc map rectification_tools_2011
Soc map rectification_tools_2011
Community Analytics on the GeoWeb
Community Analytics on the GeoWeb
Psychogeography at geekup leeds
Psychogeography at geekup leeds
OpenStreetMap - Case Study Haiti Crisis Response
OpenStreetMap - Case Study Haiti Crisis Response
Recently uploaded
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
apidays
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Roshan Dwivedi
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
sammart93
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
The Digital Insurer
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
DianaGray10
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
Boston Institute of Analytics
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Remote DBA Services
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Khem
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Neo4j
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
Recently uploaded
(20)
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Some geospatial ruby libraries
1.
Some Ruby Geospatial
Libraries
2.
Rosemary require 'rosemary' client = Rosemary::BasicAuthClient.new ('osm_user_name', 'password') api = Rosemary::Api.new(client) changeset = api.create_changeset("Add postbox") node = Rosemary::Node.new(lat, lon) node.add_tags({"amenity"=>"postbox"}) api.save(node, changeset) api.close_changeset(changeset)
3.
Overpass API
4.
require 'overpass_api_ruby' pub_query = "<union> <query type='relation'> <haskv k="amenity" v="pub"/> </query> </union>" Options ={:bbox => {:s =>34.7,:n => 34.2, :w => 58.53, :e => 58.33}, :timeout => 900, :element_limit => 1073741824, :json => true} overpass = OverpassAPI.new(options) result_hash = overpass.query(pub_query)
5.
6.
GEOS def buffer(feature, radius, min_radius=0.0) wkb_writer = Geos::WkbWriter.new wkb_reader = Geos::WkbReader.new geom = wkb_reader.read_hex(feature.geometry) buffer_geom = geom.buffer(radius) if min_radius != 0.0 hole_geom = geom.buffer(min_radius) buffer_geom = buffer_geom.difference(hole_geom) end feature.geometry = wkb_writer.write_hex buffer_geom feature end
7.
8.
GDAL / OGR ●
https://github.com/zhm/gdal-ruby Gdal::Ogr.create_geometry_from_wkt('POINT (30 10)') raster = Gdal::Gdal.open(filename) dx = raster.RasterXSize dy = raster.RasterYSize x0, x_res, x_skew, y0, y_skew, y_res = raster.get_geo_transform
9.
RGeo https://github.com/rgeo/rgeo factory = Rgeo::Cartesian.factory point1 = factory.point(1, 0) point2 = factory.point(1, 4) point3 = factory.point(2, 0) point2.distance(point3) # => 5.0 line_string1 = factory.line_string([point1, point2, point3]) line_string1.num_points # => 3 line_string1.point_n(0) == point1 # => true line_string1.end_point == point3 # => true
10.
PostGIS / postgres https://github.com/rgeo/activerecord-postgis-adapter create_table :my_spatial_table do |t| t.column :shape1, :geometry t.geometry :shape2 t.line_string :path, srid: 3785 t.st_point :lonlat, geographic: true t.st_point :lonlatheight, geographic: true, has_z: true end
11.
PostGIS / postgres bbox_polygon = Polygon.from_coordinates([bbox_coords], 4326).as_ewkt Model.where(ST_Within(bbox_geom, ST_GeomFromText('#{bbox_polygon}'))")
12.
map = Mapnik::Map.new do |m| m.background = Mapnik::Color.new('#777') # A grey background # Use the Google mercator projection m.srs = Mapnik::Tile::DEFAULT_OUTPUT_PROJECTION # Add a layer to the map m.layer 'countries' do |l| l.style do |s| # Add a rule to the style (this one is a default rule) s.rule do |default| default.fill = Mapnik::Color.new('#880000') end end l.srs = "+proj=latlong +datum=WGS84" # set the srs of the layer l.datasource = Mapnik::Datasource.create :type => 'shape', :file => "myshapefile.shp" end end map.zoom_to_box(map.layers.first.envelope) map.render_to_file('my_map.png') Ruby Mapnik
Download now