הפעל את שרת PostGIS כמיכל Docker

Hp L T Srt Postgis Kmykl Docker



אין ספק ש- Docker הפך לאחד מכלי המפתחים הנפוצים ביותר בשנים האחרונות. Docker מאפשר לנו לפתח, לארוז, לשלוח ולהפעיל את האפליקציות בסביבות מבודדות המכילות את כל התלות הנדרשות להפעלת האפליקציה.

PostGIS היא הרחבה של מסד הנתונים PostgreSQL שמוסיפה תמיכה באובייקטי נתונים גיאוגרפיים. זה מאפשר לנו להשתמש במסד הנתונים PostgreSQL כדי לאחסן ולשאול נתונים מרחביים. כפי שאתה יכול לנחש, שילוב של PostGIS ו-Docker מספק שיטה יעילה ונרחבת לניהול נתונים מרחביים.

במדריך זה, נלמד כיצד אנו יכולים להגדיר במהירות מופע PostGIS בתוך קונטיינר Docker. אנו גם נסקור כמה יסודות PostGIS ונלמד כיצד לטעון נתונים מרחביים ולבצע כמה שאילתות בסיסיות באמצעות הקונטיינר.







דרישות:

כדי לעקוב אחר הדרכה זו, ודא שיש לך את הדברים הבאים:



  1. התקנת את Docker Engine במערכת שלך. אתה יכול לבדוק את ההדרכות שלנו כיצד להתקין את Docker על מערכת היעד שלך.
  2. ידע בסיסי ב-PostgreSQL ובנתונים מרחביים

עם עמידה בדרישות הנתונות, נוכל להמשיך עם ההדרכה.



הפעל את PostGIS ב-Docker

תן לנו להמשיך ולהגדיר את מיכל PostGIS. אנו מתחילים במשיכת מיכל PostGIS מ- Docker Hub עם הפקודה הבאה:





$ docker pull postgis/postgis

לאחר שהורדנו את התמונה, נוכל להפעיל את הקונטיינר באמצעות התמונה כפי שמוצג בפקודה הבאה:



$ docker run --name postgis-server -e POSTGRES_PASSWORD =סיסמה -d -p 5432:5432 postgis/postgis

בפקודה הנתונה, אנו מציינים את הפרמטרים הבאים:

  1. –name – זה מאפשר לנו לציין את שם המיכל.
  2. -e - זה מאפשר לנו להגדיר את סיסמת PostgreSQL כמשתנה סביבה. זוהי הסיסמה המשמשת למשתמש postgres.
  3. -d - זה אומר ל-Docker להפעיל את המיכל ברקע או במצב מנותק.
  4. -p 5432:5432 - זה מאפשר לנו למפות את היציאה 5432 בתוך המכולה למארח ביציאה 5432.

כדי לוודא שהמכל פועל, השתמש בפקודה הבאה:

$ docker נ.ב

אתה אמור לראות את מיכל PostGIS ברשימה.

טען את הנתונים המרחביים ב-PostGIS

עכשיו כשיש לנו את הקונטיינר PostGIS פועל, אנחנו יכולים לטעון את הנתונים המרחביים באמצעות כלים ופורמטים שונים כמו GeoJSON, CSV וכו'.

במקרה זה, אנו משתמשים ב- Shapefile כפי שמוצג בפקודות הבאות:

$ mkdir -p ~/data
$ cd ~/data
wget https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_countries.zip
$ unzip ne_110m_admin_0_countries.zip

בפקודות הנתונות, אנו מתחילים ביצירת ספרייה לאחסון הנתונים שברצוננו לטעון. לאחר מכן אנו מורידים נתונים גיאוגרפיים מהקישור שצוין ומחלצים אותו לספרייה.

השלב הבא הוא טעינת הנתונים למסד הנתונים. אנו מתחילים בחיבור למסד הנתונים PostgreSQL באמצעות הפקודה הבאה:

$ docker exec -it postgis-server psql -U postgres -d postgres

אם תתבקש להזין סיסמה, ספק את הסיסמה שהגדרת בעת הפעלת הכלי. זה אמור לאמת אותך ולהכניס אותך למעטפת PostgreSQL.

לאחר חיבור למסד הנתונים, נוכל להשתמש בכלי השירות 'shp2pgsql' כדי לייבא את הנתונים מ- Shapefiles שחילצנו בשלבים הקודמים.

postgres=# shp2pgsql -I -s 4326 ne_110m_admin_0_countries | psql -U postgres -d postgres

בפקודה הקודמת, אנו משתמשים באפשרות -I כדי ליצור אינדקס מרחבי לשאילתה מהירה יותר של הנתונים המרחביים. אנו גם מציינים את מערכת הקואורדינטות כ-4326 באמצעות הפרמטר -s. ה-EPSG:4326 היא מערכת מצבי הקואורדינטות הסטנדרטית עבור WGS 84.

נתוני שאילתות PostGIS

לאחר שטענו את הנתונים, נוכל לצאת מתוכנית השירות PSQL על ידי הפעלת הפקודה '\q' או יציאה.

לאחר מכן, כדי לוודא שיש לנו את הנתונים נטענים, נוכל להתחבר מחדש למסד הנתונים על ידי הפעלת הפקודה הבאה:

$ docker exec -it postgis-container psql -U postgres -d postgres

לאחר מכן, תוכל להפעיל את השאילתות המרחביות הבסיסיות כדי לוודא שהנתונים מאוחסנים ברשותך.

סיכום

במדריך זה, למדת כיצד להפעיל את שרת PostGIS כמיכל Docker ולטעון את הנתונים למסד הנתונים.