Страница 1 из 1

Неправильно работает WHERE внутри VRT

Добавлено: 12 ноя 2015, 08:30
Denis Rykov
Есть CSV-файл test.csv следующего содержания:

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

number,regcode,regname,index,country,region,subregion,city,street,house,lat,lon,level,wkt
000028198,1145,г.Москва,,,,, МОСКВА,ПРОФСОЮЗНАЯ,,55.621147,37.507687,housenumber,
Составляем для него VRT:

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

<OGRVRTDataSource>
    <OGRVRTLayer name="test">
        <LayerSRS>WGS84</LayerSRS>
        <GeometryType>wkbPoint</GeometryType>
        <GeometryField encoding="PointFromColumns" x="lon" y="lat"/>
        <SrcDataSource>test.csv</SrcDataSource>
        <SrcSQL>SELECT * from test WHERE level = 'housenumber'</SrcSQL>
    </OGRVRTLayer>
</OGRVRTDataSource>
Проверяем количество объектов:

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

$ ogrinfo -al -ro test.vrt | grep "Feature Count"
Feature Count: 1
Теперь заменим housenumber на street в csv и vrt:

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

number,regcode,regname,index,country,region,subregion,city,street,house,lat,lon,level,wkt
000028198,1145,г.Москва,,,,, МОСКВА,ПРОФСОЮЗНАЯ,,55.621147,37.507687,street,

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

<OGRVRTDataSource>
    <OGRVRTLayer name="test">
        <LayerSRS>WGS84</LayerSRS>
        <GeometryType>wkbPoint</GeometryType>
        <GeometryField encoding="PointFromColumns" x="lon" y="lat"/>
        <SrcDataSource>test.csv</SrcDataSource>
        <SrcSQL>SELECT * from test WHERE level = 'street'</SrcSQL>
    </OGRVRTLayer>
</OGRVRTDataSource>
Проверяем количество объектов:

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

$ ogrinfo -al -ro test.vrt | grep "Feature Count"
Feature Count: 0
Не понятно почему получаем 0 вместо 1. Похоже на какой-то баг. У кого-нибудь воспроизводится?

Re: Неправильно работает WHERE внутри VRT

Добавлено: 12 ноя 2015, 10:30
Дмитрий Барышников
У меня не воспроизводится

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

$ ogrinfo --version
GDAL 2.1.0dev, released 2015/99/99

Re: Неправильно работает WHERE внутри VRT

Добавлено: 12 ноя 2015, 10:48
Denis Rykov
Ну у меня конечно же не транк, но вроде и не старый GDAL:

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

ogrinfo --version
GDAL 1.11.2, released 2015/02/10

Re: Неправильно работает WHERE внутри VRT

Добавлено: 12 ноя 2015, 10:55
KolesovDmitry
У меня воспроизводится.
gdalinfo --version
GDAL 1.11.2, released 2015/02/10

Re: Неправильно работает WHERE внутри VRT

Добавлено: 12 ноя 2015, 11:49
Дмитрий Барышников
Для первой ветки неплохо на последнем проверить тот который 1.11.3 от сентября 2015.
Кстати на 2.0 тоже воспроизводится.

Re: Неправильно работает WHERE внутри VRT

Добавлено: 12 ноя 2015, 11:52
Denis Rykov
Проверил на 1.11.3 - тоже не работает, оставил тикет #6216.

Re: Неправильно работает WHERE внутри VRT

Добавлено: 12 ноя 2015, 12:00
gamm
А это нормально, что из точки хотят получить линию?

[ Сообщение с мобильного устройства ]

Re: Неправильно работает WHERE внутри VRT

Добавлено: 12 ноя 2015, 12:05
Denis Rykov
Не понял, откуда вы про линию взяли?

Re: Неправильно работает WHERE внутри VRT

Добавлено: 12 ноя 2015, 12:07
Ariki
Для версий 1.x это известная проблема, странно, что в 2.0 воспроизводится

Re: Неправильно работает WHERE внутри VRT

Добавлено: 12 ноя 2015, 12:15
Ariki
Проверил у себя - не подтверждаю, всё работает как надо. GDAL 2.0.1, released 2015/09/15

Re: Неправильно работает WHERE внутри VRT

Добавлено: 12 ноя 2015, 13:27
gamm
Denis Rykov писал(а):Не понял, откуда вы про линию взяли?
промахнулся - отправил не то, и не туда ...