Как я могу подключиться к базе данных PostGIS из ArcMap, используя ArcGIS Desktop 9.3 и более поздние версии?
Я хотел бы иметь возможность выполнять пространственно разрешенные запросы и получать результаты обратно (например, пространственные и непространственные объединения, фильтрация и т. Д.), А не просто выгружать содержимое таблицы.
Я не хочу использовать пространственные расширения ArcSDE, я хочу использовать пространственные расширения PostGIS в ArcGIS Desktop.
источник
Посмотрите на этот пост в моем блоге: http://www.paolocorti.net/2008/06/06/spatial-database-for-postgres-and-arcgis-users-how-to-choose/
В основном у вас есть 2 варианта:
Обратите внимание, что если вам нужна поддержка базы геоданных (домены, топология и т. Д.) Или поддержка ArcCatalog, первое решение (с ArcSde) - это единственный способ пойти в это время.
Насколько я слышал (я не проверял это напрямую) в ArcGis Desktop 10, вы можете установить прямое соединение только для чтения с PostGis без шлюза ArcSde.
zigGIS больше не активен, а сайт отключен
источник
У меня есть несколько постов по этому вопросу с 9.3. Первый здесь, и вы можете добраться до остальных оттуда: http://geobabble.wordpress.com/2008/05/28/using-arcsde-93-with-postgresql-part-1/
Я сделал это один раз с 10.0 и не было никаких проблем. Я скажу, что при использовании PostgreSQL и PostGIS с ArcSDE я настоятельно рекомендую придерживаться любых версий, поддерживаемых Esri.
источник
Самым простым будет zigGIS от Obtuse Software . В настоящее время вы должны заплатить за это, но на улице говорят, что версия 3 будет с открытым исходным кодом .
Согласно архиву Google Code на
ziggis
:и ссылка на веб-сайт Obtuse Software, похоже, не работает.
источник
ArcGIS 10.1 SP1 может изначально подключаться к базам данных PostGIS 2.0.0, но соединение доступно только для чтения и в основном функционирует как более чистый интерфейс для слоев запросов (фактически, он просто загружает любые слои как слои запросов). Соединение с базой данных просто позволяет просматривать все таблицы и слои в базе данных в каталоге.
В качестве альтернативы есть также arcgis-ogr , который позволяет подключаться ко всем векторным типам OGR в качестве плагина ArcGIS. , Это также только для чтения в данный момент.
источник
Прежде всего: вы сможете использовать ArcGIS только с PostgreSQL, используя соединения OLE DB, то есть вы сможете читать только общие таблицы и столбцы (вы даже сможете читать пространственные столбцы, но ArcGIS ничего не может сделать для их,
Чтобы использовать ArcGIS и PostgreSQL + PostGIS (что означает, что вам нужно видеть пространственные данные), вам понадобится ArcSDE или ZigGIS .
С помощью обеих опций вы можете запрашивать, редактировать и анализировать данные, хранящиеся в PostGIS, в ArcMap или других инструментах ESRI.
ArcSDE - это промежуточное программное обеспечение, предоставляемое ESRI, изменяющее весь рабочий процесс (установки, настройки базы геоданных и т. Д.), А ZigGIS является настольным инструментом (я имею в виду, используется только тогда, когда задействованы настольные инструменты ESRI).
источник
Если у вас есть уровень рабочего стола ArcEditor или ArcInfo, у вас есть возможность использовать SQL Server Express. Даже если одновременно редактировать может только один пользователь, блокировка и разблокировка могут быть лучше - вы можете попробовать это в первую очередь. Там много документации о том, как это сделать, и вам не нужно быть DBA - хотя я люблю postgres. Не в обиду ребятам QGIS;)
Кроме того, убедитесь, что ваш продавец Esri дает вам цитату для «ArcGIS Server Workgroup», а не Enterprise. Смотрите ниже - у вас может быть 10 одновременных правок подключения. Это должно быть больше, как $ 3-5k. Цены http://www.esri.com/software/arcgis/arcgisserver/pricing
См. Также этот пост для хорошего объяснения лицензирования и ссылок о SDE и SQL Server Express ArcSDE для настольных компьютеров.
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/What_are_database_servers_in_ArcGIS/003n0000004r000000/
«Вы создаете базы геоданных и выполняете другие административные задачи для серверов баз данных через узел« Серверы баз данных »в окне« Каталог »или ArcCatalog. Выполнение администрирования сервера базы данных и его баз геоданных через ArcGIS Desktop означает, что вам не требуется никаких дополнительных знаний в области программного обеспечения или администрирования баз данных. создавать и использовать эти типы баз геоданных ArcSDE.
Соединения с базами геоданных на сервере баз данных всегда являются прямыми; они используют файлы библиотеки ArcSDE в клиенте, чтобы установить соединение. В этом случае клиентскими приложениями являются ArcGIS Desktop на уровне лицензии ArcEditor или ArcInfo, ArcGIS Engine и рабочая группа ArcGIS Server.
Носитель для этих продуктов содержит установочные файлы для SQL Server Express. После того как вы создали экземпляр SQL Server Express и запустили мастер, чтобы позволить экземпляру хранить базы геоданных, библиотеки в клиентском приложении позволяют подключаться к серверам баз данных и работать с ними, а также создавать и работать с базами геоданных на сервере баз данных.
С помощью ArcGIS Desktop (ArcEditor и ArcInfo) и ArcGIS Engine вы можете настроить сервер баз данных и создать базы геоданных ArcSDE, к которым могут обращаться несколько пользователей и которые могут редактировать по одному пользователю за раз .
С помощью ArcGIS Server Workgroup, использующей ArcGIS Desktop, вы можете настроить сервер баз данных и создать базы геоданных ArcSDE, к которым одновременно могут обращаться до 10 пользователей, каждый из которых может редактировать одновременно . При использовании серверов баз данных, лицензируемых через ArcGIS Server Workgroup, вы также можете подключаться к базам геоданных с помощью веб-приложений, для которых нет ограничений на соединение. "
источник
Я написал плагин, который дает ArcGIS доступ к более чем 50 векторным форматам (включая PostGIS). Это все еще экспериментально, но вы можете попробовать и сказать мне, как это происходит.
Есть преимущества использования этого подхода по сравнению со встроенной функциональностью в ArcGIS (смотрите FAQ), но, опять же, он все еще экспериментальный.
Скачать и инструкции здесь
источник
Я отслеживал этот пост и более широкую сеть для решения этого, поскольку я хотел подобный инструмент. Сегодня я наткнулся на свое (наше) решение через RSS-канал в блоге Джеймса Фе . И я считаю, что решение, которое вы ищете, это PgMap от ST-Links .
Я попробовал версию ArcGIS 9.3, и она впечатляет. Все еще борется с изменениями, хотя, так как я все еще новичок PostGIS (вещь столбца идентичности). Он также поставляется с гладким ESRI для загрузчика PostGIS и, прежде всего, это бесплатно! [Протестировано с OpenGeoSuite Community Edition 2.4.1]
источник
Перейдите в Пуск -> Панель управления -> Производительность и обслуживание -> Администрирование -> Источники данных.
Перейдите на вкладку System DSN.
Нажмите Добавить.
Прокрутите вниз в списке. Там вы сможете увидеть ваши ODBC-драйверы PostgreSQL, если вы их установили. Нажмите первый драйвер ODBC PostgreSQL в списке.
Введите данные вашего подключения в форму. Если соединение находится на том же компьютере, что и база данных PostgreSQL, напишите localhost в поле сервера; в противном случае имя компьютера в сети. Вам нужно будет внести некоторые изменения в файл pg_hba.conf, чтобы подключиться к вашей базе данных в сети. Об этом читайте в руководствах по PostgreSQL в разделе «Аутентификация пользователя». После этого нажмите «Готово».
Аналогичным образом добавьте все драйверы PostgreSQL ODBC, которые вы найдете в списке.
Нажмите ОК. Теперь вы можете подключиться к базе данных PostgreSQL через драйверы ODBC. Драйверы нужно было только направить в базу данных с информацией о подключении.
источник
Начиная с эры 2011 года, попробуйте ST-Links SpatialKit . Программное обеспечение является бесплатным и работает с ArcGIS 9.3 / 10.0 / 10.1 / 10.2.
В загрузке есть хороший PDF для документирования возможностей, включая просмотр, редактирование и т. Д.
источник
Я делал это раньше без особых проблем с использованием ArcGIS 10.1 и 10.2, к сожалению, он не работает с 9.3 и postgres 9.2, я думаю, из памяти.
Я использовал драйверы от esri. Войдите на сайт обслуживания клиентов ESRI, хотя я думаю, что это изменилось с тех пор, как я написал инструкции.
Прокрутите вниз, пока не увидите «Клиентские библиотеки PostgreSQLQL (Windows)», размер которых должен составлять 2,21 МБ.
Нажмите Загрузки
Для PostgreSQL / PostGIS в загружаемом файле должен быть клиентский набор библиотек «pg_client_windows86», содержащий необходимую 32-битную версию libeay32.dll, libiconv-2.dll, libintl-8.dll, libpq.dll и ssleay32.dll. Скопируйте их в каталог bin ArcGIS. На моем компьютере с использованием 10.1 это было: C: Program Files (x86) ArcGISDesktop10.1bin Если вы используете 32-битные окна, это будет что-то вроде: C: Program FilesArcGISDesktop10.1bin
Как только вы это сделаете, вы сможете подключиться и добавить данные из вашей базы данных. Чтобы использовать слой запроса данных, вам сначала необходимо подключиться к вашей базе данных. В ArcGIS 10.1 вам нужно будет перейти в File> Add Data> Add Query Layer
Единственное, на что нужно обратить внимание, это то, что возвращаемые данные должны иметь уникальное поле, которое может использоваться ArcGIS в качестве первичного ключа. Иногда вам может потребоваться указать его, если вы используете не просто базовый запрос, а ArcGIS не может определить, какое поле использовать. Вы можете сделать это:
Вы также можете с относительной легкостью выполнять пространственные запросы к базе данных postgres, хотя вам нужно создать поле id на лету. Например, вот пример выполнения 100-километрового буфера.
Вы можете не только сохранить любой слой запроса в виде файла слоя и пропустить его через некоторые стандартные инструменты ArcGIS. Я не проверял это слишком много. Таким образом, добавляя столбцы и тому подобное, я мог видеть, что это вызывает хаос. Я думаю, что вы могли бы делать пространственные вызовы SQL с другими базами данных, такими как SQLServer и Oracle, а также с небольшим трудом для создания поля id на лету.
Некоторое время назад я сделал полный урок по адресу: http://www.gisuser.org.nz/resources/tips-and-tricks/look-mum-dad-no-hands
источник
Начиная с ArcGIS 10.4, вы можете читать и записывать геометрию PostGIS в поддерживаемых базах данных PostgreSQL без каких-либо дополнительных расширений. Я использовал только расширенную лицензию для этого, но я считаю, что стандартная лицензия может также подключаться к базе данных PG-сервера не из базы геоданных и использовать это рабочее пространство в качестве места назначения для инструментов создания векторов. Это более громоздко, но вы также можете использовать клиенты Basic License для записи в таблицы, используя SQL с Python (через
arcpy.ArcSDESQLExecute
). Начиная с ArcGIS 10.0, слои запросов только для чтения были опцией для всех уровней licemse.источник
Будет ли PostgreSQL 9 работать с ArcGIS 10?
Для редактирования Postgis ZigGIS 3.0
http://groups.google.com/group/ziggis/browse_thread/thread/8e17f4c2ac57f428?hl=en
Только чтение может быть выполнено с помощью подходящих драйверов ODBC Postgres и прямого подключения в ArcCatalog
источник
GISquirrel делает эту работу за часть стоимости SDE. Он поддерживает подключение arcgis как к MSSQL, так и к PostGIS. Очень прост в настройке (возможность импорта в postgres из shapefile / featureclass) и прост в обслуживании. Для небольшого числа пользователей, которым нужна возможность многопользовательского редактирования, это просто прекрасно.
Мы используем GISquirrel / Arcgis для наших «опытных пользователей» ГИС, и QGIS может подключаться к одному и тому же серверу PostGIS для наших «основных пользователей», что позволяет сэкономить на стоимости лицензий.
источник
GISquirrel отлично справляется с работой на MSSQLserver, и я вполне уверен, что она будет хорошо работать и для Postgres. Я работаю в смешанной среде ESRI / Qgis и использую ГИС-белку также для импорта шейп-файлов и т. Д. В базу данных. В SQLserver GISsquirrel отслеживает столбцы геометрии, я использую эту информацию для обновления таблицы geometry_columns, используемой Qgis. Очень удобно ...
источник
PgMap был заменен st-links SpaceKit и не только поддерживает PostGIS, но также поддерживает SQL Server 2008. Он работает с ArcMap 9.3 и ArcMap 10. Он просто соответствует вашим требованиям. Проверьте это на www.st-links.com
источник
Я полагаю, что у вас есть несколько вариантов, кроме использования SDE (хотя я укажу, что вы можете использовать PG_Geometry в SDE, следовательно, доступ к данным через программное обеспечение ESRI или PostGIS-совместимое программное обеспечение ОС). У вас есть расширение ESRI Data Interoperability, ZigGIS, и вы, вероятно, можете установить копию геосервера или mapserver и подключиться через сервис WMS в ArcGIS. Как и в предыдущем посте о zigGIS и необходимости управлять запросами через pgAdmin, вам нужно будет использовать его для создания запросов с помощью геосервера / mapserver. В идеале, если вы повторно используете одни и те же запросы, вы можете сохранить их как представления в postgresql и получить к ним доступ таким образом.
источник
ST-Links SpatialKit - это расширение ArcMap для прямого подключения к пространственным базам данных без ArcSDE, без ArcInfo, без ArcGIS Server.
Согласно их лицензии , она стоит 188 долларов США, но они заявляют: «Мы будем продолжать выпускать бесплатные лицензии для тех пользователей, которые не могут позволить себе плату за лицензию. Бесплатные лицензии имеют ограничения по времени. Если вы запрашиваете бесплатную лицензию, укажите причину в адрес электронной почты для запроса лицензии. "
источник
Простой способ добавления данных PostGIS в ArcMap - это добавление «Соединения для взаимодействия». Для этого требуется «Расширение взаимодействия данных».
Рекомендуется добавить «Числовой индекс» и «Первичный ключ» в таблицу базы данных PostGIS перед созданием соединения.
источник