Feature layer

0 голосов
спросил 18 Ноя, 10 от heddy (1,100 баллов) в категории Программные продукты Esri
Что такое Feature layer и как его создавать и работать с ним.

Подробней:    

Пример http://help.arcgis.com/en/webapi/silverlight/samples/start.htm#SDSFeatureLayer

В XAML этого примера есть строчки
<esri:FeatureLayer ID="MyPointFeatureLayer"
                                   Url="http://serverapps.esri.com/SDS/databases/Demo/dbo.USCities_Geographic"
                                   FeatureSymbol="{StaticResource YellowMarkerSymbol}"


Что это за сервис такой http://serverapps.esri.com/SDS/databases/Demo/dbo.USCities_Geographic ? И как его создать?


Кстати, как переводится на русский язык Feature layer?
    

14 Ответы

0 голосов
ответил 18 Ноя, 10 от TDenis (42,620 баллов)
Feature layer - это графический слой, которому можно указать URL и он будет тянуть данные из сервиса.
http://help.arcgis.com/en/webapi/silverlight/help/index.html

По поводу сервиса. Данный сервис отображает данные, хранящиеся в обычной таблице MS SQL Server'а (без SDE). Одно из полей таблицы, как видите, имеет тип Geometry.

Вам точно нужен MapIt, а не простой картографический сервис ArcGIS Server'а? Feature Layer может тянуть данные и из него:
http://help.arcgis.com/en/webapi/silverlight/samples/start.htm#FeatureLayerSimple
    
0 голосов
ответил 19 Ноя, 10 от heddy (1,100 баллов)
У меня будет обновляемая таблица (таблицы), и данные из таблицы нужно будет отображать на карте как в примере. Это будут и точки и линии. Но их будет довольно большое количество, поэтому хочу сделать через Feature layer, насколько я понял по примеру - это именно то, что мне нужно.
0 голосов
ответил 19 Ноя, 10 от heddy (1,100 баллов)
Посмотрев справку, все равно не понял, как добраться к базе данных через http, к примеру http://serverapps.esri.com/sds/databases/Demo/dbo.WorldCities_Geographic
0 голосов
ответил 19 Ноя, 10 от heddy (1,100 баллов)
Установил MapIt. Теперь доступ к таблицам есть. В таблицах хранится разного рода информация, включая координаты. Вот теперь вопрос, как отобразить точки по этим координатам.
0 голосов
ответил 19 Ноя, 10 от TDenis (42,620 баллов)
Сделайте колонку geometry или geography и заполните её.
Если в таблице MyTable есть поля X и Y, хранящие соответствующие координаты, например, с помощью типа decimal, и есть поле XY типа geometry, то чтобы заполнить колонку XY, можно написать что-то вроде:
UPDATE MyTable SET

xy = geometry::STPointFromText('POINT(' + STR(x, 10, 2) +' ' + STR(y, 10, 2) + ')', 0)

MapIt опубликует вашу таблицу и можно будет пользоваться. Полезный ресурс:
http://www.esri.com/software/mapit/gettingstarted/step-by-step-guide.html

------------
Только я так и не понял, у вас нет аркгис сервера?
Потому что если он есть, то тогда вы, вероятно, не в том направлении двигаетесь.
    
0 голосов
ответил 22 Ноя, 10 от heddy (1,100 баллов)

Только я так и не понял, у вас нет аркгис сервера?
Потому что если он есть, то тогда вы, вероятно, не в том направлении двигаетесь.
    

    Похоже, я таки не в том направлении двигался. MapIt мне не нужен. В ArcMap добавляю таблицу и отображаю XY. Отображается, работает. Правда в запущенном приложении Silverlight отображается 500 точек, не могу найти где стоит это ограничение. А на самом деле у меня более 7000 записей.
0 голосов
ответил 22 Ноя, 10 от TDenis (42,620 баллов)
%Program Files%\ArcGIS\server\user\cfg\
меняете MaxRecordCount с 500 на другое число.

Возможно потребуется перезапуск SOM.
0 голосов
ответил 22 Ноя, 10 от heddy (1,100 баллов)
Меняю с 500 на большее значение. Если указываю 2000 - еще отображает, если больше - уже ни одной точки не выводит.
0 голосов
ответил 22 Ноя, 10 от TDenis (42,620 баллов)
Долго грузятся 2000 точек? Может тайм-аут какой-нибудь срабатывает?

Вам точно надо сразу столько точек на экране? И все точки непременно должны быть интерактивными?
Другими словами, динамический сервис Вас не устроит?
0 голосов
ответил 23 Ноя, 10 от heddy (1,100 баллов)
2000 точек грузятся не долго. Но при приближении, даже когда одновременно должны отображаться небольшое количество точек, они динамически не подгружаются. Всегда выводятся первые 2000 точек из базы, остальные не отображаются вовсе. В предпросмотре сервиса в джаваскрипте все нормально, отображаются все данные. Но мне же нужен сервис для Сильверлайта.
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...