ошибка обработки запроса с ST_Geometry

0 голосов
спросил 26 Ноя, 14 от Peps (5,330 баллов) в категории Программные продукты Esri
Написан простой запрос в plq/sql developer select st_astext(shape) sat, dr.objectid, dr.name from districts_region dr, при первом запуске в столбце sat для некоторых записей пропадает начальная часть (polygon или multipolygon). Если после первого запуска повторять запускать запрос, все строки возвращаются нормально. В чем может быть проблема?

5 Ответы

0 голосов
ответил 27 Ноя, 14 от Grigoriy (127,020 баллов)
Скорее всего, в "plq/sql developer ", или его настройках.
Попробуйте для началавыполнить запрос в чем-нибудь другом.
Например в sqlpus.
0 голосов
ответил 28 Ноя, 14 от Peps (5,330 баллов)
Попробовал, результат тот же, что sql plus? запрос из программы.
0 голосов
ответил 28 Ноя, 14 от Grigoriy (127,020 баллов)
А если так:
select shape sat, dr.objectid, dr.name from districts_region dr;
Ответ должен быть примерно таким:
SDE.ST_GEOMETRY(8,23975,4306302.2548,542838........
Первая цифра - тип геометрии.
Если так нормально, а st_astext не правильно работает- поищите последние патчи для Вашей версии ArcGIS и базы геоданных.
Patches and Service Packs for ArcGIS for Desktop
0 голосов
ответил 28 Ноя, 14 от Peps (5,330 баллов)
Не понял, как ролучить ответ такого типа. Этот запрос возвратит поле shape соответственно геометрия будет в поле shape.points типа blob. Если вызвать st_asBinary то действительно второй байт равен 6, что соответствует MultiPolygon. У меня установлен Oracle 11R2 и ArcGIS Server10.1 co всеми патчами.
0 голосов
ответил 28 Ноя, 14 от Grigoriy (127,020 баллов)
Bug NIM-089510 (дубль Bug NIM-091965):
http://support.esri.com/en/bugs/nimbus/TklNMDg5NTEw
inconsistent results occur with the st_astext_f query on polygons that contain more than 292 vertices.
5. Now run the following query. I'm using the OBJECTID with the most listed vertices (objectid 241):
SQL> select sde.st_astext(shape) from wktsample where objectid=241;
SDE.ST_ASTEXT(SHAPE)
--------------------------------------------------------------------------------
(( 6253432.18133232 1947803.70870747 0.00000000, 6253357.59683581 1947803.904573
6. Run the same query a second time:
SQL> select sde.st_astext(shape) from wktsample where objectid=241;
SDE.ST_ASTEXT(SHAPE)
--------------------------------------------------------------------------------
POLYGON Z (( 6253432.18133232 1947803.70870747 0.00000000, 6253357.59683581 1947
Notice that the first run of the query is missing the information describing the geometry type (POLYGON Z). The geometry type information is added to the string when run the query on second time
Additional note:
The difference in the first execution of the query (incorrect) and the second (correct) can be demonstrated using the following example to count the length of characters the st_astext is returning. The first doesn't include POLYGON in the text so this limits the characters returned.
SP Fixed: 10.3 10.2.2
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...