ST_Within, ST_IsValid или любая другая функция, связанная с гео- или rtreetopo, не работает в пространстве, созданном длIOS

Программируем под IOS
Ответить
Anonymous
 ST_Within, ST_IsValid или любая другая функция, связанная с гео- или rtreetopo, не работает в пространстве, созданном дл

Сообщение Anonymous »

Я создал Spaceite для IOS, используя
https://github.com/mrclayman/libspatial ... 5/Makefile make-файл.
Включенные библиотеки в моем приложении, как показано ниже
Изображение
Добавлены эти пути в пути поиска в «Настройки сборки» вашего проекта Xcode:

Код: Выделить всё

Library Search Paths: $(PROJECT_DIR)/AppName/libspatialite
Header Search Paths: $(PROJECT_DIR)/AppName/libspatialite/include
И в окне «Фазы сборки» добавьте следующее в раздел «Связывание двоичных файлов с библиотеками»:

Код: Выделить всё

libiconv
libcharset.1.0.0
libc++
libxml2.2
libz
Также добавлено следующее в «Другие флаги компоновщика».

Код: Выделить всё

-lsqlite3 -lproj -lgeos -lspatialite -lgeos_c
в Swift заголовки включены в файл заголовка моста:

Код: Выделить всё

#include 
#include 
#include 
и в моем коде я получил доступ к файлу геопакета, и пространственный файл работает нормально.

Код: Выделить всё

    var db: OpaquePointer?
let flags = SQLITE_OPEN_READWRITE
if sqlite3_open_v2(databasePath, &db, flags, nil) == SQLITE_OK {
print("Spatialite database opened successfully")

var spconnect: OpaquePointer?
print("Spatialite version: \(spatialite_version()!)")
}
Я протестировал несколько функций, связанных с геометрией, таких как AsText, MakePoint и т. д., и все функции, основанные на пространственных данных, работают нормально, но когда я пытаюсь запустить функцию, для которой требуется другой модуль, например geos или proj< /p>

Код: Выделить всё

ST_IsValid , IsValidReason , ST_Within , ST_Overlaps ,
Throws error.

ST_IsValid returns -1

SELECT ST_IsValid(ST_GeomFromText('POINT(15.785 21.713)'))

IsValidReason always throws error and ST_Within doesn't filter any record.
Я также протестировал другую сборку, вручную отключив несколько функций для интеграции модуля rttopo и любую функцию, требующую rttopo, например

Код: Выделить всё

MakeValid or AsTWKB doesn't work.
Spatialite создан специально для

Код: Выделить всё

armv7,armv7s,arm64,i386,x86_64 architectures
но, насколько я понял, он не взаимодействует должным образом с другими модулями.
Любая помощь будет оценена по достоинству.

Подробнее здесь: https://stackoverflow.com/questions/781 ... ot-working
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»