ติดตั้ง GDAL และ OGR สำหรับ Python หรือไม่


18

ฉันกำลังพัฒนารหัสบางส่วนใน Python และฉันต้องการใช้การผูกหลามของ GDAL / OGR ขั้นต่ำที่ฉันต้องติดตั้งเพื่อใช้การผูกหลามของ GDAL และ OGR คืออะไร

วิธีที่ง่ายที่สุดในการติดตั้ง GDAL / OGR คือถ้าฉันต้องการใช้จาก Python เท่านั้น?
ฉันกำลังมองหาคำตอบที่ใช้ได้กับทั้ง mac และ windows

GDAL อยู่ในรายการ Python Package Index (PyPi) แต่ฉันไม่เข้าใจวิธีติดตั้งการพึ่งพา (libgdal และไฟล์ส่วนหัวสำหรับทั้ง libgdal และ numpy) บางทีทั้งหมดที่ฉันต้องทำคือติดตั้ง numpy แล้วหา libgdal ที่ไหนสักแห่งและถ้าเป็นเช่นนั้นที่ไหน การติดตั้ง windows จำเป็นต้องใช้ Windows Binaries นอกเหนือจาก libgdal และเป็นไฟล์ส่วนหัวหรือไม่?

ฉันจะมั่นใจได้อย่างไรว่าฉันได้รับการผูก python ที่เหมาะสมสำหรับ Python เวอร์ชันของฉัน (2.5, 2.6, 2.7, 3)
ต้องทำการเปลี่ยนแปลงกับตัวแปรสภาพแวดล้อม PATH เพื่อใช้ GDAL และ OGR จาก Python หรือทุกอย่างสามารถเข้าถึงได้ผ่านโฟลเดอร์แพ็คเกจไซต์และข้อความทั่วไปimport?

คำถามเหล่านี้เกี่ยวข้องกับคำถามนี้ แต่ไม่ตอบ:
ติดตั้ง GEOS, PROJ, GDAL / OGR ลงใน python virtualenv บน Mac OS X
วิธีติดตั้ง GDAL ด้วย Python บน windows?

ฉันควรทราบว่าFWTools , OSGeo4Wและkyngchaosเสนอogrและ gdal ด้วยการเชื่อมโยงของ python และยอดเยี่ยม แต่ FWTools และ OSGeo4W จัดส่งด้วย python ของพวกเขาเองแทนที่จะทำหน้าที่เป็นห้องสมุดสำหรับการติดตั้ง python ที่มีอยู่ สำหรับ OS X เท่านั้น


"kyng chaos framework ดูเหมือนจะเป็นยูนิกซ์เท่านั้น" ฉันคิดว่าคุณเข้าใจผิดพวกเขามีไว้สำหรับ OS X
ฌอน

2
ดูgis.stackexchange.com/questions/2276/…สำหรับการติดตั้ง Windows ฉันเองเป็นแฟนตัวยงของlfd.uci.edu/~gohlke/pythonlibsเนื่องจากพวกเขาเป็น Win64 และเมื่อเร็ว ๆ นี้
Mike T

3
ฉันกลับมาที่นี่อีก 3 ปีต่อมา ในระยะสั้นฉันจะเห็นว่าปัญหาคือการติดตั้งห้องสมุดหลามมีแนวโน้มที่จะทำงานที่น่าสงสารของการจัดการกับการอ้างอิงที่เขียนใน C. KyngChaos, FWTools, Anaconda และอื่น ๆ ทั้งหมดทำงานเพื่อสร้างแพลตฟอร์มไบนารีเฉพาะ C ที่สามารถใช้ ด้วยเวอร์ชันของ Python ที่พวกเขามี โดยทั่วไปแล้วไม่มีใครสร้าง cross platform เป็นทางเลือกpip install gdalและให้รวมและรวบรวมไฟล์ที่จำเป็นทั้งหมดจาก GDAL โดยอัตโนมัติ คาดว่าคุณจะใช้วิธีอื่นเพื่อสร้างไบนารีของ GDAL
BenjaminGolder

คำตอบ:


25

เพิ่มเฉพาะสิ่งนี้เพราะฉันพยายามใช้เครื่องมือ kyng chaos แต่ในเครื่อง Mac OS X ของฉันฉันสามารถติดตั้งมันได้ง่ายมากด้วยAnaconda

conda install gdal

โพสต์ในกรณีที่ทุกคนพบสิ่งนี้อีกครั้ง - ฉันทราบว่าโพสต์ดั้งเดิมมีอายุ 3 ปี


1
ฉันใช้ Anaconda และมันก็ง่ายสำหรับ GDAL แต่ตอนนี้ฉันต้องการที่จะสามารถเรียกใช้ogr2ogr -clipdst -105.53 39.9 -104.93 40.27 places.json ne_10m_admin_0_map_subunits.shpและดูเหมือนว่าฉันต้องเปิดใช้งาน GEOS จากไฟล์. config - แนวคิดใดที่ Anaconda วางไฟล์นี้ trac.osgeo.org/geos
blehman

ฉันขอขอบคุณที่ทราบ แต่นี่คล้ายกับ KyngChaos ไบนารีซึ่งมันยังไม่อนุญาตให้คุณใช้การติดตั้งหลามที่มีอยู่และคุณต้องใช้เวอร์ชันของงูหลามที่มาพร้อมกับอนาคอนดา
BenjaminGolder

ฉันไม่สามารถทำให้ KyngChaos ทำงานได้ดังนั้นจึงเป็นการเพิ่มความคิด แต่ Anaconda ให้คุณเลือก Python เวอร์ชันที่จะติดตั้งดังนั้น ... ฉันไม่รู้ฉันเดาว่าคุณมีเหตุผลที่ต้องใช้การติดตั้งเฉพาะอื่น ๆ เพื่อใช้งานหรือไม่
mmallek

1
ปาฏิหาริย์คริสต์มาสในการค้นหาคำตอบนี้ใช้เวลา 2 ชั่วโมงในการถ่ายโอนการตั้งค่า (ใช้งาน) จากพีซีไปยัง Mac
ScottieB

หลังจากต้องรีเซ็ตสภาพแวดล้อมแล้วสิ่งนี้ไม่เหมาะกับฉันอีกต่อไป ฉันได้รับข้อผิดพลาดเกี่ยวกับfrom osgeo import ogr
ScottieB

6

ก่อนอื่นถ้าคุณอยู่บน windows ก็จะมีตัวติดตั้งทันทีที่ลิงค์บอกเพื่อนของฉันด้านบน แต่ถ้าคุณอยู่บน Linux นี่เป็นวิธีการติดตั้ง libgdal 1.11

ไปที่หน้านี้

http://packages.ubuntu.com/trusty/libgdal1h

ดาวน์โหลดไฟล์. deb ที่ต้องการเลือกสถาปัตยกรรมระบบของคุณ

หลังจากดาวน์โหลดไปที่ไดเรกทอรีดาวน์โหลดและเรียกใช้คำสั่งนี้

$ sudo dpkg -i libgdal1h_1.10.1+dfsg-5ubuntu1_amd64.deb 

ตอนนี้คุณจะได้รับข้อผิดพลาดในการบอกการอ้างอิงไม่ได้ติดตั้ง ตอนนี้พิมพ์คำสั่งนี้

$ sudo apt-get -f install

มันติดตั้งการอ้างอิงทั้งหมดโดยอัตโนมัติตอนนี้เรียกใช้คำสั่งการติดตั้งหลัก

$ sudo dpkg -i libgdal1h_1.10.1+dfsg-5ubuntu1_amd64.deb 

ตอนนี้มันจะติดตั้งอย่างมีความสุขตอนนี้เราต้องติดตั้งไลบรารีสำหรับนักพัฒนาสำหรับ gdal

$ sudo apt-get install libgdal1-dev 

export CPLUS_INCLUDE_PATH=/usr/include/gdal

export C_INCLUDE_PATH=/usr/include/gdal

ถัดไปถ้าคุณมี numpy คุณสามารถดำเนินการติดตั้งไลบรารีของ GDAL python หรือติดตั้ง numpy เพื่อติดตั้ง numpy และ scipy บน linux ใช้

$ sudo apt-get install python-numpy python-scipy

ตอนนี้ใช้ pip GDAL library

$ sudo pip install GDAL

ต้องขอบคุณคำตอบนี้ (ทำให้ฉันนึกถึง 'การส่งออก' สองบรรทัดที่ฉันลืม) ว่าฉันสามารถติดตั้ง GDAL ใน virtualenv: (venv)mgc@mgc:~$ export CPLUS_INCLUDE_PATH = /usr/include/gdal (venv)mgc@mgc:~$ export C_INCLUDE_PATH = /usr/include/gdal (venv)mgc@mgc:~$ pip3 install gdal==1.11.2 (หรือหมายเลขรุ่นที่สอดคล้องกับห้องสมุด gdal ที่ติดตั้งบนคอมพิวเตอร์ของคุณ)
mgc

5

มีบทช่วยสอนมากมายในไซต์นี้รวมถึงวิธีการตั้งค่าสภาพแวดล้อมของคุณ ฉันใช้ pyscripter บนเครื่องมือแก้ไขสีแดงเข้ม แต่ก็ควรใช้งานได้


4

ฉันไม่ทราบวิธีง่าย ๆ ในการติดตั้งบน OS X ฉันคิดว่าKyng Chaosเป็นสิ่งที่ดีที่สุดที่จะเกิดขึ้นเช่นเดียวกับOSGEO4Wที่ด้านหน้า Windows การผูก Python นั้นเป็นเพียงแค่ห่อหุ้มรหัส C / C ++ จริง ๆ คุณไม่สามารถออกไปได้โดยไม่ต้องติดตั้งทั้งจากต้นทางหรือผ่านไบนารี

Pip หรือeasy_installสามารถทำเคล็ดลับขึ้นอยู่กับรุ่น Python และไลบรารีระบบที่มีอยู่ ตัวอย่างเช่นนี่คือไดเรกทอรี PyPI สำหรับ Python 2.5 การติดตั้ง GDAL อย่างต่อเนื่องในหลาย ๆ แพลตฟอร์มและ Python หลายเวอร์ชันยังคงไม่สำคัญ แต่ในหลาย ๆ วิธีที่เหมาะสม: บางทีมันอาจเป็นห้องสมุดเดียวที่รองรับโอเพ่นซอร์สส่วนใหญ่และซอฟต์แวร์ GIS ที่เป็นกรรมสิทธิ์จำนวนมากและมีการพึ่งพารูปแบบข้อมูลจำนวนมาก ด้านล่างมัน


สำหรับการทำให้แน่ใจว่าสิ่งต่าง ๆ ไม่ได้หยุดคุณอาจต้องการดู virtualenv และ virtualenvwrapper เพื่อช่วยรักษาสิ่งต่าง ๆ ให้เป็นระเบียบ
ฌาค Tardie

PyPI มีไดเรกทอรีสำหรับ 2.4 (win32 เท่านั้นโดยมี GDAL 1.5, 1.6), 2.5 (mac / win32 ที่มี GDAL 1.5, 1.6) และ 2.6 (win32 เท่านั้นด้วย GDAL 1.6) ไม่มี GDAL 1.7 ถ้าฉันเข้าใจส่วนสำคัญของคำตอบอย่างถูกต้องคุณกำลังบอกว่ามันไม่ใช่เรื่องง่ายและ pip ​​นั้นอาจใช้ได้ในบางกรณี ฉันควรจะดูวิธีการสร้างจากแหล่ง?
BenjaminGolder

@BenjaminGolder: ถูกต้องจากประสบการณ์ของฉันมันอาจเป็นเรื่องยากโดยเฉพาะถ้าคุณพยายามสนับสนุนแพลตฟอร์ม / และ Python หลายรุ่น การสร้างจากแหล่งที่มาใช้งานได้มากขึ้น แต่อาจคุ้มค่ากับเวลาถ้าคุณพยายามพัฒนาชุดคำสั่งที่สอดคล้องกัน คุณอาจต้องการถามคำถามของคุณในรายการ GDAL ที่นักพัฒนาอ่านเอง
scw

4

ฉันมีปัญหาตรงนี้เมื่อติดตั้ง GDAL / OGR ควบคู่ไปกับการติดตั้งหลาม ArcGIS โซลูชันของฉันสำหรับ windows คือ:

  1. ดาวน์โหลดไบนารีของ GDAL และงูหลามผูกจากhttp://www.gisinternals.com/sdk/ ซึ่งรวมถึงรุ่นของการผูกหลามสำหรับงูหลามรุ่นที่แตกต่างกัน
  2. อัพเดตพา ธ ในไฟล์ python ด้วยตนเอง:

os.environ ['PATH'] = "C: / ไฟล์โปรแกรม (x86) / GDAL /;" + os.environ ['PATH']

oldpaths = sys.path

sys.path = ["C: / ไฟล์โปรแกรม (x86) / GDAL / python /",]

sys.path.extend (oldpaths)

จาก osgeo นำเข้า ogr

จาก osgeo import osr

จากการนำเข้า gdalconst *

จาก osgeo import gdal

มันไม่ได้สวยมาก แต่ให้คุณผสมผสานการติดตั้งต่าง คุณรู้อย่างชัดเจนว่าคุณกำลังโหลดอะไรอยู่

แก้ไข: ข้อผิดพลาดทางไวยากรณ์คงที่


4

ใช้สิ่งนี้หากคุณไม่สนใจการเพิ่ม ppa

$ sudo apt-add-repository ppa: ubuntugis / ubuntugis-unstable

$ sudo apt-get update

$ sudo apt-get install python-gdal


2019-04-19: การเพิ่มโซลูชันอูบุนตูสำหรับฉันบนเซิร์ฟเวอร์คลาวด์อูบุนตูจาก/programming//a/41613466/4355695

sudo add-apt-repository -y ppa:ubuntugis/ppa
sudo apt update 
sudo apt install gdal-bin python-gdal python3-gdal

ฉันไม่ใช่ผู้โพสต์ดั้งเดิมของคำตอบนี้ แต่คำถามนี้ถูกล็อคดังนั้นต้องแก้ไขที่มีอยู่ แหล่งที่มานี้ (ppa: ubuntugis / ppa) อาจจะ "ไม่เสถียร" น้อยกว่าที่แนะนำไว้ก่อนหน้านี้และทำงานได้ดีสำหรับโปรแกรม python2 ที่ฉันพยายามเรียกใช้บนเซิร์ฟเวอร์ของฉัน


1

หากคุณเป็นผู้ใช้ windows คุณสามารถค้นหาไบนารีที่มีประโยชน์มากมายฉันกำลังทำงานกับสิ่งเหล่านี้และพวกเขากำลังทำงานได้เป็นอย่างดี ... โชคดีไชโย


ยินดีต้อนรับสู่ GIS @ SE จะเป็นการดีกว่าที่จะให้ข้อมูลเพิ่มเติมกับคำตอบของคุณตัวอย่างเช่นไบนารีและขั้นตอนการติดตั้งที่เฉพาะเจาะจงทำให้ข้อมูลมีประโยชน์มากขึ้นสำหรับผู้ที่ถามคำถามเช่นเดียวกับคนในอนาคตที่ดูคำถาม และคำตอบ
Mark Cupitt

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.