Вход
Вход
Регистрация
Вопросы
Без ответов
Теги
Категории
Пользователи
Задать вопрос
Задать вопрос
Как в Delphi нарисовать точку с надписью?
0
голосов
спросил
26 Май, 10
от
DevProSoftware
(
1,040
баллов)
в категории
Программные продукты Esri
Здравствуйте.
Помогите, пожалуйста со следующей задачей - мне необходимо в Delphi нарисовать в векторном и в растровом слоях карты точку с какой-то надписью. Я благодаря примерам на форуме получил указатель на
pFeatureClass: IFeatureClass;
Что мне нужно далее делать для рисования точки с надписью, если можно, пришлите пример кода, спасибо!
разработка
Пожалуйста,
войдите
или
зарегистрируйтесь
для публикации ответа на этот вопрос.
13 Ответы
0
голосов
ответил
26 Май, 10
от
pooperec
(
10,820
баллов)
pPoint := CoPoint.Create as IPoint;
pPoint.X := 1;
pPoint.Y := 2;
pGeometry := pPoint as IGeometry;
pFeature := pFeatureClass.CreateFeature;
pFeature.Shape := pGeometry;
pFeature.Store;
не?
Пожалуйста,
войдите
или
зарегистрируйтесь
что бы добавить комментарий.
0
голосов
ответил
27 Май, 10
от
DevProSoftware
(
1,040
баллов)
Очень Вам благодарен, но на строке
pFeature.Shape := pGeometry;
программа "вылетает" с ошибкой:
raised exception class EOleException with message 'No support for this geometry type'
Пожалуйста,
войдите
или
зарегистрируйтесь
что бы добавить комментарий.
0
голосов
ответил
27 Май, 10
от
pooperec
(
10,820
баллов)
Значит pFeatureClass имеет тип геометрии отличный от точечного...
Пожалуйста,
войдите
или
зарегистрируйтесь
что бы добавить комментарий.
0
голосов
ответил
27 Май, 10
от
DevProSoftware
(
1,040
баллов)
Я так понимаю, что в слое, на который указывает pFeatureClass нельзя рисовать точки? Нужно выбрать другой слой? Если это так, можно имя слоя узнать? Спасибо.
Пожалуйста,
войдите
или
зарегистрируйтесь
что бы добавить комментарий.
0
голосов
ответил
27 Май, 10
от
DevProSoftware
(
1,040
баллов)
Создал карту, в которой есть слой, в котором можно рисовать точки (ошибка не возникает). Рисую точку с координатами
pPoint.X := 0;
pPoint.Y := 0;
Она по идее должна рисоватьлся в левом верхнем углу, но почему-то не рисуется.
Карту создал в ArcInfo через New->World->Africa.mxt
Пожалуйста,
войдите
или
зарегистрируйтесь
что бы добавить комментарий.
0
голосов
ответил
27 Май, 10
от
DevProSoftware
(
1,040
баллов)
Рисую в слое с названием pFeatureLayer.Name = 'Cities'
Пожалуйста,
войдите
или
зарегистрируйтесь
что бы добавить комментарий.
0
голосов
ответил
27 Май, 10
от
DevProSoftware
(
1,040
баллов)
Вычислил в ArcInfo реальное место, где должна рисоваться точка с координатами (0,0) через Go To XY, но у меня в этом месте всё-равно точка не рисуется, не скажете, почему?
Пожалуйста,
войдите
или
зарегистрируйтесь
что бы добавить комментарий.
0
голосов
ответил
27 Май, 10
от
pooperec
(
10,820
баллов)
Добавьте
pActiveView.PartialRefresh(esriViewGeography,nil,nil);
Пожалуйста,
войдите
или
зарегистрируйтесь
что бы добавить комментарий.
0
голосов
ответил
27 Май, 10
от
DevProSoftware
(
1,040
баллов)
Спасибо, но всё-равно точка не рисуется, написал такой код:
procedure TMAP.OnClick;
var
pActiveView : IActiveView;
pLayer: ILayer;
pFeatLayer: IFeatureLayer;
pFeatClass: IFeatureClass;
pPoint: IPoint;
pGeometry: IGeometry;
pFeature: IFeature;
begin
pActiveView := phook.FocusMap as IActiveView;
pLayer := phook.FocusMap.Layer[0];
pFeatLayer := pLayer as IFeatureLayer;
pFeatClass := pFeatLayer.FeatureClass;
pPoint := CoPoint.Create as IPoint;
pPoint.X := 0;
pPoint.Y := 0;
pGeometry := pPoint as IGeometry;
pFeature := pFeatClass.CreateFeature;
pFeature.Shape := pGeometry;
pActiveView.PartialRefresh(esriViewGeography,nil,nil);
pFeature.Store;
end;
Пожалуйста,
войдите
или
зарегистрируйтесь
что бы добавить комментарий.
0
голосов
ответил
27 Май, 10
от
DevProSoftware
(
1,040
баллов)
Забыл дописать:
var
pHook : IHookHelper; //объявлена как глобальная переменная
procedure TMAP.OnCreate(const hook: IDispatch);
begin
pHook := CoHookHelper.Create as IHookHelper;
pHook.hook := hook;
end;
Пожалуйста,
войдите
или
зарегистрируйтесь
что бы добавить комментарий.
Страница:
1
2
туда »
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
Все категории
Программные продукты Esri
(8,004)
Сферы применения ГИС
(87)
Цифровые материалы
(312)
Популярные теги
arcgis-desktop
9-x
arcview-3
arcgis-server
разработка
8-x
arcobjects
10-x
arcsde
карты
модули
работа
ддз
mapobjects
arcims
учёба
workstation
нефть-и-газ
mobile
arcpad
portal-for-arcgis
arcgis
лесхоз
web-appbuilder
законодательство
arcgis-pro
python
arcgis-online
системы-координат
arcmap
проекции
network-analyst
model-builder
редактирование
ипд
arcgis-portal
3dmodel
axscenecontrol
веб-приложения
qt
pro
c
гск-2011
web_appbuilder
ppkx
9,052
вопросов
30,234
ответов
439
комментариев
2,254
пользователей
...