Не все доступные операции feature layer доступны

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Tereha
Завсегдатай
Сообщения: 423
Зарегистрирован: 15 май 2010, 06:13
Репутация: 7

Не все доступные операции feature layer доступны

Сообщение Tereha » 03 дек 2013, 15:44

Опубликовал слой с feature access, таблица на которой крутится сервис находится в геобазе данных sql server express.
Проверил в свойствах сервиса доступные операции: Create Delete Query Update.
Но когда смотрю свойства опубликованного сервиса через url доступа к сервису
Вижу только следующие доступные свойства
Supported Operations: Query Generate Renderer Return Updates
Вложения
featureService3.jpg
Свойства сервиса при публикации в arcgis desktop
featureService3.jpg (183.14 КБ) 4158 просмотров
featureService2.jpg
Свойства опубликованного сервиса - 1
featureService2.jpg (43.44 КБ) 4158 просмотров
featureService.jpg
Свойства опубликованного сервиса 2
featureService.jpg (142.51 КБ) 4158 просмотров

Tereha
Завсегдатай
Сообщения: 423
Зарегистрирован: 15 май 2010, 06:13
Репутация: 7

Re: Не все доступные операции feature layer доступны

Сообщение Tereha » 04 дек 2013, 09:25

MapServer не имеет таких операций. Нужно использовать FeatureServer:

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

            <esri:FeatureLayer ID="События" DisableClientCaching="True" 
                               AutoSave="False"
                               Url="http://terentievai:6080/ArcGIS/rest/services/chs/FeatureServer/0" 
                               OutFields="*"
                               Mode="OnDemand" />
А посмотреть доступные свойства редактирования так:

Tereha
Завсегдатай
Сообщения: 423
Зарегистрирован: 15 май 2010, 06:13
Репутация: 7

Re: Не все доступные операции feature layer доступны

Сообщение Tereha » 04 дек 2013, 09:45

Теперь список доступных операций выглядит так:

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

Supported Operations:   Query   Apply Edits   Add Features   Update Features   Delete Features   Generate Renderer   Return Updates
Но теперь другая проблема. Отредактированные данные не сохраняются в базе данных. На карту события добавляются и редактируются , но по кнопке Save edits - вроде все сохраняется и кнопка становится неактивной , но в базе данных изменений не происходит. Причем , если редактируются данные уже существующие в базе данных - окно редактирования после нажатия Ok - не закрывается. Кнопка Ok становится неактивной, активна только кнопка Delete.
В чем может быть дело?

Tereha
Завсегдатай
Сообщения: 423
Зарегистрирован: 15 май 2010, 06:13
Репутация: 7

Re: Не все доступные операции feature layer доступны

Сообщение Tereha » 04 дек 2013, 10:13

PS. Операция удаления выполняется нормально - запись удаляется и в базе геоданных тоже.
А если посмотреть здесь
и выбрать пункт
View In: ArcGIS.com Map
То отсюда события редактируются без проблем, в моей базе геобазеданных - изменения сохраняются.

Tereha
Завсегдатай
Сообщения: 423
Зарегистрирован: 15 май 2010, 06:13
Репутация: 7

Re: Не все доступные операции feature layer доступны

Сообщение Tereha » 04 дек 2013, 14:17

XAML:

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

       <esri:Map x:Name="MyMap" Background="White" WrapAround="true" Extent="6095000,6810000,6900000,7258000">
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="MouseEnter">
                    <ei:ChangePropertyAction TargetName="myMenuItems" PropertyName="Visibility">
                        <ei:ChangePropertyAction.Value>
                            <Visibility>Collapsed</Visibility>
                        </ei:ChangePropertyAction.Value>
                    </ei:ChangePropertyAction>
                </i:EventTrigger>
            </i:Interaction.Triggers>
            <esri:ArcGISDynamicMapServiceLayer ID="BaseLayer" 
        		Url="http://terentievai:6080/ArcGIS/rest/services/rk/MapServer" />

            <esri:ArcGISDynamicMapServiceLayer ID="chsLayer" 
        		Url="http://terentievai:6080/ArcGIS/rest/services/chs/MapServer" />

            <esri:FeatureLayer ID="myEvents" DisableClientCaching="True" 
                               AutoSave="False"
                               Url="http://terentievai:6080/ArcGIS/rest/services/chs/FeatureServer/0" 
                               OutFields="*"
                               Mode="OnDemand" />
        </esri:Map>
        <StackPanel Orientation="Vertical" HorizontalAlignment="Right" Margin="0,80,224,0"	VerticalAlignment="Top" >
            <esri:EditorWidget x:Name="MyEditorWidget"
                             Map="{Binding ElementName=MyMap}" 
                                      Width="300" 
                                      AutoSelect="False"
                                      AlwaysDisplayDefaultTemplates="True" 
                                      GeometryServiceUrl="http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"
                                      ShowAttributesOnAdd="True"  
                                      Loaded="EditorWidget_Loaded"/>
        </StackPanel>
code behind:

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

namespace Module2
{
    public partial class MapControl : UserControl
    {
        public MapControl()
        {
            InitializeComponent();
        }

        private void ArcGISDynamicMapServiceLayer_Initialized(object sender, EventArgs e)
        {
            ESRI.ArcGIS.Client.ArcGISDynamicMapServiceLayer myArcGISDynamicMapServiceLayer =
                  MyMap.Layers["chsLayer"] as ESRI.ArcGIS.Client.ArcGISDynamicMapServiceLayer;
            int[] myVisibleLayers = {0};
            myArcGISDynamicMapServiceLayer.VisibleLayers = myVisibleLayers;
        }

        private void EditorWidget_Loaded(object sender, System.Windows.RoutedEventArgs e)
        {
            string[] myLayerIDs = { "myEvents" };
            MyEditorWidget.LayerIDs = myLayerIDs;
        }
    }
}

Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя