E-map and map-related topics

来源:互联网 发布:逍遥模拟器网络异常 编辑:程序博客网 时间:2024/04/30 01:55
1. 自由编辑的世界地图 OpenStreetMap
   http://www.openstreetmap.org/

2. SQLite and SpatiaLite
 http://sqlite.org
 http://www.gaia-gis.it/spatialite/

   SQLite号称全世界最小的数据库,在几乎绝大多数数据库都具有空间数据的存储和查询功能后,SQLite目前也有了空间数据支持的扩展,利用这个扩展,可以按照OGC的SimpleFeatureAccess标准存取空间数据。这个项目名叫SpatiaLite,与其一同分发的还有一个VirtualShape。前者为SQLite增加空间数据支持,后者可以把一个Shapefile作为SQLite的数据库


3. cartagen a HTML 5/JavaScript framework for dynamicmapping
  http://code.google.com/p/cartagen/

Cartagen(http://cartagen.org) is avector-based, client-side framework for rendering maps in nativeHTML 5. Written in JavaScript, it uses the new Canvas element toload mapping data from various sources, including OpenStreetMap.Maps are styled in GSS, a cascading stylesheet specification forgeospatial information – a decision which leverages literacy in CSSto make map styling more accessible. However, GSS is a scriptinglanguage as well, making Cartagen an ideal framework for mappingdynamic data.

Mobile devices and networks have madepossible distributed reporting of geographic and temporal data,from unfolding natural disasters to organizing protests in realtime. Cartagen allows users to integrate real time data streams anddisplay them in novel ways. It also offers the possibility ofrendering OpenStreetMap data which is not currently efficient withtile-based systems - such as authorship and time data. A simple butuseful example is that Cartagen can show live OpenStreetMap data --in the sense that viewers see edits occurring in real time, with norendering load on the server (http://vimeo.com/4435969).

With powerful mapping tools such asthese, there is an opportunity for users to create their own maps-- not just pushpins and overlays, but completely designed mapswhich incorporate live and changing data, and most of all mapswhich tell stories. Instead of a single canonical map for everyone,individuals and communities can make locally and personallyrelevant maps.

Read about how to useCartagen on our wiki: http://wiki.cartagen.org

Browse the GSS galleryhere: http://wiki.cartagen.org/wiki/show/StylesheetGallery

Vector web mapping

Instead of sending pre-rendered tilesfor every zoom level, Cartagen draws maps dynamically on the clientside. This means maps can move, adapt, and redraw, and can includeas many layers of data as needed. Vector mapping is done in nativeHTML 5, which runs on the iPhone and the Android platforms, anduses less bandwidth overall.

GSS: geo style sheets

Just like CSS for styling web pages,GSS is a specification for designing maps. Adapted for dynamic datasources, GSS can define changing geographic elements, displaymultiple datasets, and even respond to contextual tags like"condition:poor".



4. More information related tospatial DB


 

特別的資料庫–Spatial database

特別之處就在於多了處理空間處理的功能。大部分是都是由原本的資料庫功能擴充而來。目前市面上主流的資料庫–Microsoft SQLServer、Postgresql、My SQL…等。此篇沒辦法討論到Oracle DB、IBMDB2,因為它們都非常的「高貴」,沒有機會碰到。

Microsoft SQL Server –  Express為免費版本 

Microsoft SQL Server 2005的版本,開始支援.net的擴充功能,所以在CodePlex - OpenSource Project Hosting上就有人為SQL Server 2005寫了空間存儲及處理的擴充空能。在SQLServer 2008中就內建支援空間功能。免費版本的MS SQL Server 2008Express亦同樣支援空間處理功能。

Microsoft SQLServer 2008 Express: 建議有1.9GB 可用硬碟空間

MySQL –  Free

MySQL應該是在5.0後開始支援空間處理功能。之前因為案子的原故(即使在GIS的系統中還是非常多使用MySQL),有想嘗試使用MySQL5的空間功能,但是看了它的空間功能文件,覺得還很陽春,甚至文件都還沒有完成。不過這也是一年前的事,現在應該有改善一些了?

MySQLSpatial: 42 MB

PostgreSQL –   Free

PostgreSQL是最早也最大開放源始碼的資料庫系統,以因為如此很早就有人為它開發空間擴充模組–PostGIS。因為PostGIS沒辦法單獨存在,一定要與PostgreSQL同在,所以在稱PostgreSQL資料庫包含PostGIS空間處理的擴充模組,我就簡稱PostGIS。因為PostGIS也開發的最早,所以空間處理的功能都蠻完整的,例如:空間座標系統轉換、空間運算都有對映的功能。甚至一些WebGIS常用的KML、Json的功能都有支援。

PostgreSQL:25 MB / PostGIS:1.5MB

SQLite –  Free

SQLite是個非常小型的資料庫,很適合小型及嵌入式的系統。最近也開始支援空間資料的擴充功能,名稱為SpatiaLite。若僅要處理一種座標系統及簡單的空間功能,可以考量使用SpatiaLite。更多的資料可以參考以下連結。

KISS: spatialitein 5 minutes » Camptocamp Blog –Camptocamp 
Part 1:Getting Started with SpatiaLite: An almost Idiot's Guide

SQLite:200KB / SpatiaLite: 150KB

使用空間資料庫,可以直接在資料庫中作空間的查詢及運算,不需透過另外的GIS軟體。所以可以將原本的GIS Client +ArcSDE + DB的架構換成 GIS Client + SpatialDB。也因為這個原因ArcSDE利基消失了,在9.2的之後的版本就沒有這個產品,官方說法是在分散在ArcGISDesktop與ArcGIS Server中。

一定要用空間資料庫嗎?

當然是要看是否有空間處理的需求。不過依據開發的經驗在某些狀況下即使需要空間功能,但是也可以使用一般資料庫來處理。這種情形常發生在已有系統,但要開始導入WebGIS的案子。基本上這樣的案子須儘量不動到原有系統的情況下作開發,以把風險降至最底。

簡單的判斷準則是,GIS是不是要處理”點”的資料。因為點資料在Database中可以透過兩個欄位儲存X,Y座標資料,在作空間的查詢亦可以簡單地使用SQL語組合出查詢句。點資料儲存及簡單空間查詢都沒有問題,所以使用一般資料庫就能勝任。若是線或多邊形,光計設一個合適的方式放到資料庫中,就是一個挑戰;另外線及多邊形的查詢的方法都要自己撰寫。這種工作交給SpatialDatabase來處理,開發人員專心致力於提供一個更好的GIS Client會比較好。

以上是一些工作心得的小小分享,希望對大家選擇Special &Spatial資料庫可以有幫助。

 




0 0