Tux

  • تدوينات
    20
  • تعليقات
    3
  • قراءات
    2139

تثبيت postgreSQL postGIS pgRouting في دبيان

mohammed

202 قراءات

المشروع هو الحصول على قاعدة بيانات بخارطة بلد تمكننا من تغييرها و البحث فيها واحتساب الطريق الافضل للوصول لمكان معين، كل ما سنستعمله هو تطبيقات مفتوحة المصدر وخرائط ايضا مفتوحة المصدر. ما نحتاجه في اول الامر قواعد بيانات مستقرة ومفتوحة المصدر وهذا يعطيه لنا

postgreSQL قواعد بيانات مفتوحة المصدر يوصف بالاستقرار وتميزه بالقابلية التطوير،

postGIS هي عبارة عن اضافة لقواعد البيانات postgreSQL ليصبح لنا قواعد بيانات بنظم معلومات الجغرافية، يمكننا هذا الاخير بتخزين معلومات تحتوي على المعلومات المكانية وطلبها عندما نشاء او معالجتها واستخراج ناتئج من الخوارزميات التي يحتويه

pgRouting هي اضافة ل postGIS لكي يتمكن من عمل تحليل لطرقات والبحث عن مسلك بينها ، فالاسم يعرف عليه ،

تثبيت postgreSQL

فتج ملف المستدوعات

vim /etc/apt/sources.list

اضافة المستودع

deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main

اضافة المفتاح واعادة تحديث المستودعات

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
apt-get update 

تثبيت

apt-get install postgresql-9.4 postgresql-contrib-9.4 postgresql-server-dev-9.4

تثبيت Postgis

اضافة قبل ذالك ما نحتاج له

apt-get install build-essential libxml2-dev libproj-dev libjson0-dev libgeos-dev xsltproc docbook-xsl docbook-mathml libgdal-dev

تحميل النسخة الاخيرة

wget http://download.osgeo.org/postgis/source/postgis-2.2.2.tar.gz

فك الضغط عليه

tar xfz postgis-2.2.2.tar.gz
cd postgis-2.2.2

تثبيت

./configure
make
make install
ldconfig
make comments-install

عمل اختصار لتطبيقات سنحتاجها

ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/shp2pgsql
ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/pgsql2shp
ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/raster2pgsql

تثبيت pgRouting

تثبيت ما سنحتاجه

apt-get install libboost-graph-dev cmake subversion git libcgal-dev

تحميل النسخة الاخيرة

wget https://github.com/pgRouting/pgrouting/archive/pgrouting-2.2.3.tar.gz

فك الضغط والدخول للمجلد التطبيق

tar xfz pgrouting-2.2.3.tar.gz
cd pgrouting-pgrouting-2.2.3

تثبيت

mkdir build
cd build
cmake  ..
make
make install

نثبيت osm2pgsql

تثبيت ما سنحتاجه

apt-get install make cmake g++ libboost-dev libboost-system-dev libboost-filesystem-dev libexpat1-dev zlib1g-dev libbz2-dev libpq-dev libgeos-dev libgeos++-dev libproj-dev lua5.2 liblua5.2-dev

تحميل ودخول المجلد

git clone git://github.com/openstreetmap/osm2pgsql.git
cd osm2pgsql

تصدير خرائط openstreetmap لقواعد البيانات

الدخول باسم مستخدم قواعد البيانات postgresql

su postgres

اضافة قاعدة بيانات واضافة لها خوارزميات pgRouting postGIS

createdb gis
psql -d gis -c 'CREATE EXTENSION postgis; CREATE EXTENSION pgrouting ;CREATE EXTENSION hstore;'

تحميل نسخة من ملفات openstreetmap، لهذه الغاية. استعمل http://download.geofabrik.de/index.html وساقوم بتحميل خريطة اسبانيا

wget http://download.geofabrik.de/europe/spain-latest.osm.pbf

تصدير الملفات لقواعد البيانات

osm2pgsql --create --database gis spain-latest.osm.pbf

هذا الاخير يأخذ وقت طويل والناتج

qgis_spain.png

 

تصدير احتساب الطرقات لقواعد البيانات

تثبيت ما نحتاجه

apt-get install libexpat1-dev expat

تحميل ودخول التطبيق

git clone https://github.com/pgRouting/osm2pgrouting.git
cd osm2pgrouting

تثبيت

cmake -H. -Bbuild
cd build/
make
make install

تغيير الملفات من pbf الى osm

wget http://m.m.i24.cc/osmconvert64 && mv osmconvert64 osmconvert && chmod 700 osmconvert
./osmconvert spain-latest.osm.pbf > spain-latest.osm

انشاء قواعد البيانات الخاصة بحساب الطرقات

su postgres
createdb routing
psql -d routing -c 'CREATE EXTENSION postgis; CREATE EXTENSION pgrouting ;CREATE EXTENSION hstore;'

تصدير المعلومات

cp osm2pgrouting/mapconfig_for_cars.xml mapconfig.xml
osm2pgrouting --f spain-latest.osm --conf mapconfig.xml --dbname routing --username postgres --password postgres --clean

 



0 تعليقات


Recommended Comments

لاتوجد تعليقات لعرضها .

زوار
انت تقوم بالتعليق كزائر. اذا كنت تمتلك حساب فقم بتسجيل الدخول تسجيل دخول.
اضف تعليق...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.