Найкраща мова для програмування з GDAL


20

Я почну створювати програми для обробки географічних даних із сервера PostGIS і збираюся використовувати GDAL.

За вашим досвідом, з якою найкращою мовою програмувати? Я можу програмувати в Perl та Python, але хотів би знати мову з більшою кількістю фрагментів коду для повторного використання, прикладів, бібліотек тощо.


6
Я не маю жодних доказів цього, але я відчуваю, що Python має багато набагато більше бібліотек та користувачів, ніж Perl. Так це мій голос!
bla22

Я думаю, що вже існує багато додатків для роботи з постгітами. Якщо ви ставите ще одне питання, в якому говорять, які ваші потреби, напевно, ви можете дозволити собі роботу :)
Франциско Пуга

Відповіді:


26

Особисто мені дуже подобається кодування з GDAL в Python. Після того, як ви встановите його і оглянете, як це працює, це досить легко. Крім того, за допомогою python ви можете використовувати деякі дійсно корисні вбудовані модулі "включені батареї" (os, math, string, sys, random тощо), а також сторонні модулі, такі як NumPy (корисний для растрових операцій) серед інших.

Детальний перелік бібліотек GIS Python дивіться тут: Які інструменти / модулі / доповнення Python мають вирішальне значення у ГІС? ).

Справді чудовий вступ до зв'язків Python GDAL можна знайти тут:

http://www.gis.usu.edu/~chrisg/python/2009/

Ви можете піти за мінімальний час, довідавшись, як вміти та читати, наприклад, ви можете схопити форму з файлами у 2 рядки:

driver = ogr.GetDriverByName('ESRI Shapefile')
datasource = driver.Open('shapefile.shp')

Дуже легко зробити все, що ви хочете, щоб файл, прочитавши документацію ( http://www.gdal.org/annotated.html ) і дізнавшись, що ви робите.

Дивіться тут кілька прикладів того, що можливо в простому та мінімальному коді:

http://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/


13

Мені здається, це досить суб’єктивне питання. З точки зору GDAL / OGR я скажу, що по суті однакові можливості бібліотеки розкриті в Python та Perl. Тому багато що може залежати від ваших переваг мови та інших компонентів, які ви можете захотіти.

Я сам пітон, але хочу трохи поговорити від імені perl та зазначити, що середовище GeoInformatica, яке підтримує Арі Джолма, включає GDAL / OGR та купу інших корисних речей для скриптів Perl. Я рекомендую вам перевірити це:

http://geoinformatics.tkk.fi/


7

Без сумнівів найкраща мова - Python . Тому що це відкриває безліч інших можливостей поза межами використання GDAL:

1) За допомогою python ви можете підключитися до свого postgis-сервера за допомогою ORM типу SQLAlchemy, який надасть безліч функцій високого рівня для обробки ваших даних та підготовки їх до gdal.

2) Ви можете використовувати інші бібліотеки пітона для роботи з геоданими, наприклад, Shapely або High Performance Geostatistics Library .

3) У вас дуже хороші прив’язки для виведення карти в python, як Mapnik .

4) У вас є деякі фреймворки та API високого рівня, які позбавлять вас від багато роботи, як Geodjango (ви можете використовувати це локально) або Qgis API .


6

Третє голосування за Python. Для мене, окрім відмінних відповідей, наведених вище, це тому, що мені набридло, що я маю на увазі пізнати півдесятка мов скриптів для різних робіт, тому що, як ESRI підтримав Python, я все їх відкинув (майже - JavaScript є все-таки корисно) на користь Python. Чудова річ у тому, що інші не-GIS-пакети, які я використовую, також підтримують Python, тому я можу викликати GDAL / OGR з API усіх видів програмного забезпечення. Python також є мовою дуже високого рівня, тому я пишу про десяту частину коду, яка потрібна навіть керованій мові на зразок C #.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.