Скрипт создает файл kml с адресной базой указанного города
Code
use BN_ADDRESS go
declare cur cursor read_only fast_forward for select lat,lon,FullAddress from dbo.City_Tambov -- название таблицы города
declare @lat float,@lon float,@addr varchar(100) declare @filename as varchar(3000) -- имя выходного файла declare @file_description as varchar(3000)
DECLARE @Text1 Nvarchar(4000),-- сюда пишем строки для записи в файл @FS int, @OLEResult int, @FileID int, @hr int, @source varchar(30), @desc varchar (200)
set @file_description=' <name>Адресная база </name> <description>Адресная база </description> <open>0</open> <Snippet maxLines="2">Адресная база'+N'</Snippet> '
set @filename='c:\Адресная база.kml' -- имя выходного файла
open cur fetch next from cur into @lat,@lon,@addr while @@fetch_status=0 begin select @Text1 = N'<Placemark> <name>'+cast(@addr as nvarchar(100))+N'</name> <Snippet maxLines="0"></Snippet> <description>'+cast(@addr as nvarchar(100))+N'</description> <visibility>1</visibility> <LookAt> <longitude>'+str(@lon,14,9)+N'</longitude> <latitude>'+str(@lat,14,9)+N'</latitude> <altitude>0</altitude> <range>1000</range> <tilt>0</tilt> <heading>0.119</heading> <altitudeMode>relativeToGround</altitudeMode> <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode> </LookAt> <styleUrl>#msn_caution</styleUrl> <Point> <coordinates>'+str(@lon,14,9)+','+str(@lat,14,9)+N'</coordinates> </Point> </Placemark>'
execute @OLEResult = sp_OAMethod @FileID, 'WriteLine', NULL, @Text1 IF @OLEResult <> 0 BEGIN PRINT 'WriteLine' GOTO Error_Handler END
fetch next from cur into @lat,@lon,@addr end close cur deallocate cur -- закрываем документ set @Text1 = N'</Document> </kml>' execute @OLEResult = sp_OAMethod @FileID, 'WriteLine', NULL, @Text1 IF @OLEResult <> 0 BEGIN PRINT 'WriteLine' GOTO Error_Handler END