| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		kto-to
 
 
  Зарегистрирован: 28.11.2005 Сообщения: 10
 
  | 
		
			
				 Добавлено: Чт 18 Май 2006 15:02    Заголовок сообщения: Определение расположения каталога с растровыми файлами | 
				     | 
			 
			
				
  | 
			 
			
				| Каким образом в программе можно определить каталог, где расположены растровые файлы? Программу пишу на VBScript. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		kto-to
 
 
  Зарегистрирован: 28.11.2005 Сообщения: 10
 
  | 
		
			
				 Добавлено: Пн 22 Май 2006 15:29    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				| Решение успешно найдено | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Гильданов Ришат
 
 
  Зарегистрирован: 11.03.2005 Сообщения: 27 Откуда: Башкирия, г.Стерлитамак
  | 
		
			
				 Добавлено: Чт 06 Июл 2006 16:29    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				| Если не сложно поделись опытом | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		kto-to
 
 
  Зарегистрирован: 28.11.2005 Сообщения: 10
 
  | 
		
			
				 Добавлено: Чт 06 Июл 2006 17:33    Заголовок сообщения: Путь с растровыми файлами | 
				     | 
			 
			
				
  | 
			 
			
				Поделюсь конечно. Эти пути прописаны в файле Ingeo.cfg, который расположен в корневом каталоге программы Ingeo.
 
Я считываю путь именно из этого файла.
 
Вот код на VBScript. Довольно все просто.
 
 	  | Код: | 	 		  
 
sub search_rastr()
 
   dim fso,f,source,num1,num2,num3,str,rastr
 
   Set fso = CreateObject("Scripting.FileSystemObject")
 
   Set f = fso.OpenTextFile("C:\Program Files\Integro\InGeo\Ingeo.cfg", 1, True)
 
   str = f.ReadAll   
 
   num1=Instr(1,str,"our_base")
 
   num2=Instr(num1,str,"rasters-location")
 
   num3=Instr(num2,str,"sem-logon-type")   
 
   rastr=Mid(str,num2+18,num3-num2-22)
 
end sub
 
 | 	  
 
В переменной rastr находится нужный нам путь.
 
В этом коде нужно поменять только название базы и в случае необходимости путь расположения файла Ingeo.cfg и все будет работать. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Михаил Власов
 
  
  Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
  | 
		
			
				 Добавлено: Пт 07 Июл 2006 09:52    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Для чтения файла конфигурации лучше использовать следующий скрипт:
 
 	  | Код: | 	 		  
 
option explicit
 
function GetRastersLocation(dbId)
 
   dim configDoc, dbNode
 
   set configDoc = CreateObject("MSXML.DOMDocument")
 
   configDoc.async = False
 
   configDoc.load "c:\Program Files\Integro\InGeo\InGeo.cfg"
 
   set dbNode = configDoc.DocumentElement.SelectSingleNode("database[@id='" & dbId & "']")
 
   if dbNode is Nothing then
 
      GetRastersLocation = Null
 
   else
 
      GetRastersLocation = dbNode.getAttribute("rasters-location")
 
   end if
 
end function
 
dim rastersLocation
 
rastersLocation = GetRastersLocation("{AD629885-3B0B-4968-BB00-3E849FAA0379}")
 
if IsNull(rastersLocation) then
 
   MsgBox "База данных не зарегистрирована или используется доступ к растрам посредством сервера данных."
 
else
 
   MsgBox "Каталог размещения растров: " & rastersLocation
 
end if
 
 | 	  
 
Замечу, что если доступ к растрам организован посредством сервера данных ИнГео, то прямого доступа к растровым файлам с клиента не получить.
 
Тем не менее изображение растровой карты можно получить посредством API ИнГео (метод IIngeoDb.PaintXml). _________________ С уважением, Михаил Власов. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		СергейТ
 
 
  Зарегистрирован: 17.06.2005 Сообщения: 44 Откуда: Новосибирск
  | 
		
			
				 Добавлено: Ср 09 Авг 2006 15:30    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Михаил Власов писал(а): | 	 		  
 
Замечу, что если доступ к растрам организован посредством сервера данных ИнГео, то прямого доступа к растровым файлам с клиента не получить.
 
 | 	  
 
Здравствуйте, подскажите пожалуйста, как получить прямой доступ к БД семантики, если подцеплена посредством сервера данных? Т.е. как посредством ИнГео API узнать параметры подключения используемые сервером данных? | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Михаил Власов
 
  
  Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
  | 
		
			
				 Добавлено: Пт 25 Авг 2006 10:47    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Если Вам необходимо работать с таблицами, размещенными в БД семантики, используйте объект IIngeoSemDbTable.
 
Если же Вам необходимо выполнять сложные запросы SQL (с элементами JOIN), или вызывать хранимые процедуры, тогда выполняйте работу с сервером SQL при помощи прямого подключения, например через ADO. Параметры подключения можно хранить в пользовательском профиле БД ИнГео (объект Application.UserProfile).
 
В API ИнГео нет средств узнать параметры подключения к семантической БД. Это связано с тем, что в планах развития ИнГео работа с сематикой будет производиться посредством сервера данных ИнГео. _________________ С уважением, Михаил Власов. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		andreichernov
 
 
  Зарегистрирован: 14.02.2005 Сообщения: 209 Откуда: Самара
  | 
		
			
				 Добавлено: Вс 03 Сен 2006 13:59    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Вот, Михаил, а Вы даже и не вспомнили  , что в новом Ингео 
 
можно напрямую выполнять произвольные запросы с JOINами
 
с помощью API Ингео. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Михаил Власов
 
  
  Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
  | 
		
			
				 Добавлено: Пн 04 Сен 2006 09:27    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Совершенно верно. Выполнить произвольный запрос можно при помощи метода IIngeoSemDbTables.ExecSQL. _________________ С уважением, Михаил Власов. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		 |