Вверх ↑
Этот топик читают: Гость
Ответов: 113
Рейтинг: 1
#1: 2020-03-14 12:59:26 ЛС | профиль | цитата
Подскажите как сделать правильную отрисовку объекта. имеются координаты (выгрузка из программы, в ней на карте размечены зоны), делаю "преобразование" и по точкам создаю объект. пока придумал лишь от 0 точки, но если не сколько объектов, то они все будут считаться от 0 . а как сделать что бы несколько объектов были разнесены друг от друга по координатам?
Вообще идея программы в том что бы из нескольких таких же файлов найти похожие зоны и удалить их, схожесть может быть в том что одна зона чуть меньше или больше но примерно в том же месте (если криво разметили).

"схема"

Add(MainForm,2953706,49,91)
{
Width=780
Height=422
Caption="xml"
BorderStyle=3
Position=1
Point(onMouseWheel)
link(onCreate,3398032:doWork,[])
link(onMouseWheel,12234294:In,[])
}
Add(Button,7298907,140,231)
{
Left=5
Top=5
Caption="open"
link(onClick,10058238:doEvent1,[])
}
Add(Memo,9043254,994,301)
{
Left=5
Top=30
Width=445
Height=325
Font=[MS Sans Serif,10,0,0,1]
ScrollBars=3
Point(doLoad)
}
Add(ODialog,11754673,224,238)
{
Filter="All|*.xml"
link(onExecute,573759:doEvent1,[])
}
Add(BlockFind,4554300,504,287)
{
IncludeBlock=1
Delete=0
StartBlock="<areas>"
EndBlock="</areas>"
link(onSearch,6342802:doEvent1,[])
}
Add(Hub,573759,294,238)
{
InCount=2
OutCount=4
link(onEvent1,16233390:doValue,[(340,244)(340,90)])
link(onEvent2,4125790:doData,[(378,251)(378,202)])
link(onEvent3,11979195:doLoad,[])
link(onEvent4,5288053:doData,[(350,265)(350,293)])
}
Add(StrList,11979195,392,224)
{
Point(doLoad)
link(FileName,15450104:Var2,[])
}
Add(Memory,16233390,399,84)
{
link(onData,2112255:doWork2,[])
}
Add(Hub,10058238,182,231)
{
link(onEvent1,13920102:doWork1,[(214,237)(214,104)])
link(onEvent2,11754673:doExecute,[])
}
Add(DoData,5288053,392,287)
{
link(onEventData,10485112:doCharset,[])
link(Data,11979195:Text,[])
}
Add(Charset,10485112,455,287)
{
Type=7
link(onCharset,4554300:doSearch,[])
}
Add(Edit,5891520,455,84)
{
Left=75
Top=5
Width=375
Text=""
}
Add(VisualStrings,6911514,406,35)
{
Lines=#40:C:\\Users\\User\\Desktop//1areas.geo.xml|
Width=515
}
Add(GetIndexData,12625346,399,126)
{
link(Data1,16233390:Value,[])
link(Data2,6911514:Text,[])
}
Add(ChanelToIndex,13920102,294,98)
{
link(onIndex,12625346:doIndex,[(362,104)(362,132)])
}
Add(Hub,12162378,182,105)
{
link(onEvent1,13920102:doWork2,[])
link(onEvent2,573759:doEvent2,[(245,118)(245,251)])
}
Add(DoData,4125790,448,196)
{
link(onEventData,2112255:doWork3,[(492,202)(492,148)(438,148)])
link(Data,15450104:Var3,[(454,180)])
}
Add(GetDataEx,15450104,399,175)
{
link(Data,12625346:Var,[])
}
Add(HubEx,2112255,434,84)
{
link(onEvent,5891520:doText,[])
}
Add(Button,15939380,336,406)
{
Left=20
Top=365
Caption="test"
link(onClick,3882273:doEvent1,[])
}
Add(BlockFind,13168695,595,140)
{
StartBlock=" <area "
EndBlock="">"
link(onSearch,2964523:doAdd,[])
}
Add(StrList,2964523,693,140)
{
}
Add(BlockFind,11885779,693,203)
{
IncludeBlock=1
StartBlock="Address=""
EndBlock="""
link(onEndSearch,12819854:doSearch,[])
link(Text,2964523:Text,[])
AddHint(-3,39,64,13,StartBlock)
}
Add(Hub,6342802,546,287)
{
OutCount=4
link(onEvent1,13168695:doSearch,[(578,293)(578,146)])
link(onEvent2,883151:doSearch,[])
link(onEvent3,4702361:doWork2,[])
link(onEvent4,14510486:doAdd,[(574,314)(574,342)])
}
Add(BlockFind,12819854,819,210)
{
IncludeBlock=1
StartBlock="Home=""
EndBlock="""
AddHint(-3,39,54,13,StartBlock)
}
Add(BlockFind,883151,588,294)
{
StartBlock="<borders>"
EndBlock="</borders>"
AddHint(-3,39,62,13,StartBlock)
}
Add(BlockFind,13258719,952,98)
{
IncludeBlock=1
StartBlock="Address=""
EndBlock="""
link(onEndSearch,6985285:doSearch,[])
AddHint(-3,39,64,13,StartBlock)
}
Add(BlockFind,6985285,1043,105)
{
IncludeBlock=1
StartBlock="Home=""
EndBlock="""
link(onEndSearch,5229158:doSearch,[(1108,118)(1108,111)])
AddHint(-3,39,54,13,StartBlock)
}
Add(BlockFind,5229158,1141,105)
{
IncludeBlock=1
StartBlock="Plot=""
EndBlock="""
AddHint(-3,39,44,13,StartBlock)
}
Add(StrList,14510486,672,336)
{
}
Add(Check,3398032,119,105)
{
Check=1
link(onEvent,12162378:doEvent1,[])
}
Add(DoData,7719028,448,644)
{
link(onEventData,3554812:doSearch,[])
link(Data,4873850:Var2,[])
}
Add(BlockFind,3554812,497,644)
{
StartBlock="<borders>"
EndBlock="</borders>"
link(onSearch,10539276:doSearch,[])
AddHint(-3,39,62,13,StartBlock)
}
Add(BlockFind,10539276,574,644)
{
IncludeBlock=1
StartBlock="<location "
EndBlock="/>"
link(onSearch,14666313:doEvent1,[])
AddHint(-3,39,61,13,StartBlock)
}
Add(BlockFind,13798465,679,644)
{
IncludeBlock=1
StartBlock="Latitude=""
EndBlock="""
link(onSearch,1024438:doReplace,[])
AddHint(3,-39,64,13,StartBlock)
}
Add(BlockFind,14048567,679,700)
{
IncludeBlock=1
StartBlock="Longitude=""
EndBlock="""
link(onSearch,14626319:doReplace,[])
AddHint(-7,63,73,13,StartBlock)
}
Add(Hub,14666313,637,644)
{
OutCount=3
link(onEvent1,13798465:doSearch,[])
link(onEvent2,14048567:doSearch,[(669,657)(669,706)])
}
Add(Img_Polygon,2196734,1316,819)
{
PointsArray=[]
Color=255
BgColor=65535
Style=1
Size=3
link(Bitmap,2702758:Var1,[])
link(PointsArray,5623526:Var1,[(1329,812)(1224,812)(1224,957)])
}
Add(StrList,11084010,448,350)
{
Strings=#0:|72: <area Address="" Home="" Plot="" Index="10" Code="1.01.5" IDZone="">|17: <borders>|81: <location Latitude="55,8421668385123" Longitude="49,1394916479323" />|80: <location Latitude="55,842788962671" Longitude="49,1395269320174" />|81: <location Latitude="55,8427847232707" Longitude="49,1388035843436" />|81: <location Latitude="55,8421859936193" Longitude="49,1387512391333" />|18: </borders>|11: </area>|
}
Add(PointXY,11334038,1337,175)
{
link(X,15758202:Text,[(1343,156)(1245,156)])
link(Y,2702002:Text,[(1350,163)(1315,163)(1315,212)(1252,212)])
}
Add(Edit,15758202,1239,105)
{
Left=470
Top=330
Width=100
Text=""
link(onChange,9984504:doWork1,[(1306,111)])
}
Add(Edit,2702002,1246,168)
{
Left=470
Top=360
Width=100
Text=""
link(onChange,9984504:doWork2,[])
}
Add(Edit,2378877,1246,231)
{
Left=575
Top=360
Width=90
Text=""
link(Str,11334038:Point,[(1252,219)(1343,219)])
}
Add(HubEx,9984504,1302,168)
{
Angle=1
link(onEvent,2378877:doText,[(1306,207)(1234,207)(1234,237)])
}
Add(If_else,558974,693,91)
{
Type=2
Op2=Integer(0)
link(onTrue,15550453:doNext,[])
link(onFalse,15550453:doPrev,[])
}
Add(CounterEx,15550453,749,91)
{
Min=-10
Max=10
Default=1
Point(doPrev)
}
Add(LineBreak,15110062,637,91)
{
link(Out,558974:doCompare,[])
Primary=[12234294,-546,21]
}
Add(Hub,3882273,378,406)
{
OutCount=7
link(onEvent2,16350997:doEvent1,[])
link(onEvent4,9571678:doData,[(436,433)(436,482)])
link(onEvent6,7719028:doData,[(420,447)(420,650)])
link(onEvent7,11857825:doRead,[(854,454)(854,979)])
}
Add(Replace,1024438,728,644)
{
SubStr=","
DestStr="."
link(onReplace,14526380:doValue,[])
}
Add(Replace,14626319,721,700)
{
SubStr=","
DestStr="."
link(onReplace,15687681:doValue,[])
}
Add(Hub,6670488,1260,742)
{
OutCount=4
link(onEvent2,2702758:doWork1,[])
link(onEvent4,2196734:doDraw,[(1288,769)(1288,825)])
}
Add(StrList,375536,994,413)
{
}
Add(ArraySort,3762318,1008,483)
{
link(Array,375536:Array,[])
}
Add(HubEx,4702361,819,301)
{
link(onEvent,9043254:doAdd,[])
}
Add(Hub,16350997,924,413)
{
OutCount=3
link(onEvent1,9043254:doClear,[(966,419)(966,314)])
link(onEvent2,375536:doClear,[])
link(onEvent3,5698503:doClear,[(976,433)(976,391)])
}
Add(Hub,15610133,924,476)
{
OutCount=4
link(onEvent1,375536:doAdd,[(983,482)(983,419)])
link(onEvent2,3762318:doSort,[])
link(onEvent3,14959752:doEnum,[(991,496)(991,580)])
}
Add(ArrayEnum,14959752,1008,574)
{
link(onItem,2579756:doAdd,[(1098,580)(1098,503)])
link(onEndEnum,16683333:doEvent1,[])
link(Array,4624436:Var2,[])
}
Add(ArrayRW,7798429,1127,588)
{
Index=Integer(0)
link(onRead,2111254:doEnum,[])
link(Array,4624436:Var3,[(1133,537)])
link(Index,10293308:Result,[])
}
Add(GetDataEx,4624436,1008,532)
{
link(Data,3762318:ArraySort,[])
}
Add(StrList,2579756,1162,497)
{
}
Add(ArrayEnum,2111254,1176,588)
{
link(Array,2579756:Array,[])
}
Add(Math,10293308,1134,539)
{
OpType=1
Op2=1
link(Op1,3762318:Count,[(1140,527)(1021,527)])
}
Add(Hub,16683333,1071,581)
{
link(onEvent1,10293308:doOperation,[(1109,587)(1109,545)])
link(onEvent2,7798429:doRead,[])
}
Add(ChildForm,2702758,1316,749)
{
}
BEGIN_SDK
Add(EditMulti,14537445,21,21)
{
WorkCount=1
VarCount=1
Width=216
Height=102
link(Var1,300563:Bitmap,[(27,102)(111,102)])
link(doWork1,1297959:doVisible,[(28,27)(28,76)])
}
Add(MainForm,1297959,42,42)
{
Left=35
Top=105
Width=1300
Height=900
Visible=1
Position=1
Point(doVisible)
}
Add(MoveWindow,14762504,168,56)
{
link(Handle,300563:Handle,[(174,44)(146,44)(146,93)(118,93)])
}
Add(PaintBox,300563,105,49)
{
Left=20
Top=10
Width=3000
Height=3000
Color=-16777214
Cursor=8
WinStyle=1
Point(onMouseDown)
Point(Handle)
link(onMouseDown,14762504:doMove,[])
}
END_SDK
Add(Button,11149934,1197,742)
{
Left=85
Top=365
Caption="window"
link(onClick,6670488:doEvent1,[])
}
Add(Memory,14526380,805,644)
{
}
Add(Memory,15687681,868,700)
{
link(onData,8032957:doEvent1,[(968,706)(968,776)])
}
Add(FormatStr,6569398,1036,770)
{
DataCount=4
Mask="%1* %2 ///// %3 * %4"
link(Str1,9395571:Var2,[])
link(Str2,11023880:Var2,[])
link(Str3,6142566:Var2,[])
link(Str4,9104765:Var2,[])
AddHint(-165,40,119,13,Mask)
}
Add(DoData,9571678,539,476)
{
link(onEventData,2869078:doSearch,[])
link(Data,4873850:Var3,[(545,439)])
}
Add(BlockFind,2869078,588,476)
{
StartBlock="<borders>"
EndBlock="</borders>"
link(onSearch,14455733:doSearch,[])
AddHint(-3,39,62,13,StartBlock)
}
Add(BlockFind,14455733,665,476)
{
IncludeBlock=1
StartBlock="<location "
EndBlock="/>"
link(onSearch,9159345:doEvent1,[])
AddHint(-3,39,61,13,StartBlock)
}
Add(BlockFind,13465121,770,476)
{
IncludeBlock=1
StartBlock="Latitude=""
EndBlock="""
link(onSearch,14817959:doReplace,[])
AddHint(3,-39,64,13,StartBlock)
}
Add(Replace,14817959,819,476)
{
SubStr=","
DestStr="."
link(onReplace,15610133:doEvent1,[])
}
Add(GetDataEx,4873850,448,434)
{
link(Data,11084010:Text,[])
}
Add(StrList,5698503,1225,378)
{
}
Add(ArraySort,14575941,1239,448)
{
link(Array,5698503:Array,[])
}
Add(Hub,1304257,1155,441)
{
OutCount=4
link(onEvent1,5698503:doAdd,[(1214,447)(1214,384)])
link(onEvent2,14575941:doSort,[])
link(onEvent3,14312513:doEnum,[(1222,461)(1222,545)])
}
Add(ArrayEnum,14312513,1239,539)
{
link(onItem,13839879:doAdd,[(1329,545)(1329,468)])
link(onEndEnum,13939418:doEvent1,[])
link(Array,11617149:Var2,[])
}
Add(ArrayRW,3430946,1358,553)
{
Index=Integer(0)
link(onRead,6593934:doEnum,[])
link(Array,11617149:Var3,[(1364,502)])
link(Index,3694930:Result,[])
}
Add(GetDataEx,11617149,1239,497)
{
link(Data,14575941:ArraySort,[])
}
Add(StrList,13839879,1393,462)
{
}
Add(ArrayEnum,6593934,1407,553)
{
link(Array,13839879:Array,[])
}
Add(Math,3694930,1365,504)
{
OpType=1
Op2=1
link(Op1,14575941:Count,[(1371,492)(1252,492)])
}
Add(Hub,13939418,1302,546)
{
link(onEvent1,3694930:doOperation,[(1340,552)(1340,510)])
link(onEvent2,3430946:doRead,[])
}
Add(BlockFind,3576839,777,539)
{
IncludeBlock=1
StartBlock="Longitude=""
EndBlock="""
link(onSearch,13465981:doReplace,[])
AddHint(-7,63,73,13,StartBlock)
}
Add(Replace,13465981,819,539)
{
SubStr=","
DestStr="."
link(onReplace,1304257:doEvent1,[(898,545)(898,447)])
}
Add(Hub,9159345,721,476)
{
link(onEvent1,13465121:doSearch,[])
link(onEvent2,3576839:doSearch,[(756,489)(756,545)])
}
Add(MathParse,8898088,1099,777)
{
MathStr="( %2 - %1 ) * 1000000"
link(X1,9395571:Var3,[(1105,744)])
link(X2,6142566:Var3,[(1112,726)])
}
Add(Hub,8032957,987,770)
{
OutCount=4
link(onEvent1,6569398:doString,[])
link(onEvent2,8898088:doCalc,[])
link(onEvent3,1828529:doCalc,[])
link(onEvent4,11166190:doData,[(1029,797)(1029,909)])
}
Add(GetDataEx,9395571,1036,739)
{
Angle=3
link(Data,14526380:Value,[(811,744)])
}
Add(GetDataEx,6142566,1050,721)
{
link(Data,7798429:Item,[(1056,644)(1133,644)])
}
Add(MathParse,1828529,1148,784)
{
MathStr="( %2 - %1 ) * 1000000"
link(X1,11023880:Var3,[(1154,751)])
link(X2,9104765:Var3,[(1161,733)])
}
Add(GetDataEx,11023880,1043,746)
{
Angle=3
link(Data,15687681:Value,[(874,751)])
}
Add(GetDataEx,9104765,1057,728)
{
link(Data,3430946:Item,[(1063,678)(1364,678)])
}
Add(PointXY,11941490,1099,847)
{
link(X,8898088:Result,[])
link(Y,1828529:Result,[(1112,832)(1154,832)])
}
Add(Memo,16579197,1421,280)
{
Left=455
Top=35
Width=315
Height=290
}
Add(Button,15057701,1155,280)
{
Left=680
Top=360
Caption="convert"
link(onClick,13767106:doData,[])
}
Add(DoData,13767106,1246,280)
{
link(onEventData,16579197:doAdd,[])
link(Data,2378877:Text,[])
}
Add(StrList,15572789,1253,903)
{
}
Add(DoData,11166190,1099,903)
{
link(onEventData,5883012:doWork2,[])
link(Data,11941490:Point,[])
}
Add(ArrayRW,11857825,1267,973)
{
Index=Integer(0)
link(onRead,5883012:doWork3,[(1311,979)(1311,945)(1166,945)])
link(Array,5623526:Var2,[])
}
Add(HubEx,5883012,1162,903)
{
link(onEvent,15572789:doAdd,[])
}
Add(GetDataEx,5623526,1267,952)
{
link(Data,15572789:Array,[])
}
Add(Label,3619990,154,42)
{
Left=455
Top=335
Width=11
Height=17
Caption="X"
}
Add(Label,5345752,133,42)
{
Left=455
Top=360
Width=11
Height=17
Caption="Y"
}
Add(StrList,2261061,392,350)
{
Strings=#0:|72: <area Address="" Home="" Plot="" Index="10" Code="1.01.5" IDZone="">|17: <borders>|81: <location Latitude="55,8421668385123" Longitude="49,1394916479323" />|80: <location Latitude="55,842788962671" Longitude="49,1395269320174" />|81: <location Latitude="55,8427847232707" Longitude="49,1388035843436" />|81: <location Latitude="55,8421859936193" Longitude="49,1387512391333" />|18: </borders>|11: </area>|72: <area Address="" Home="" Plot="" Index="10" Code="1.01.5" IDZone="">|17: <borders>|81: <location Latitude="55,8343152400566" Longitude="49,1514834455983" />|81: <location Latitude="55,8343632721057" Longitude="49,1514780151826" />|81: <location Latitude="55,8343693714095" Longitude="49,1509281855776" />|81: <location Latitude="55,8343083783296" Longitude="49,1509336159933" />|18: </borders>|11: </area>|72: <area Address="" Home="" Plot="" Index="10" Code="1.01.5" IDZone="">|17: <borders>|81: <location Latitude="55,8361338238948" Longitude="49,1254430798832" />|81: <location Latitude="55,8361767513049" Longitude="49,1254484443011" />|81: <location Latitude="55,8361594297252" Longitude="49,1249803988212" />|81: <location Latitude="55,8361172554067" Longitude="49,1250085620167" />|18: </borders>|11: </area>|
}


Редактировалось 4 раз(а), последний 2020-03-14 17:38:03
карма: 0
well done turner
0
vip
#1.1контекстная реклама от партнеров
Ответов: 2203
Рейтинг: 675
#2: 2020-03-14 14:59:07 ЛС | профиль | цитата
powerbatman, что вам мешает сделать нормальную схему, где будет видно ваш вопрос? На данный момент лично мне не совсем понятно что вам нужно.
Вот объясните почему у вас пять координат для объекта?
Ваша схема без большей части "мусора"

Add(MainForm,816705,-7,98)
{
Width=780
Height=422
Caption="xml"
BorderStyle=3
Position=1
Point(onMouseWheel)
}
Add(Button,15939380,84,91)
{
Left=5
Top=5
Caption="test"
link(onClick,3882273:doEvent1,[])
}
Add(BlockFind,3554812,245,329)
{
StartBlock="<borders>"
EndBlock="</borders>"
link(onSearch,10539276:doSearch,[])
link(Text,4873850:Var2,[(251,229)(202,229)])
AddHint(-3,39,62,13,StartBlock)
}
Add(BlockFind,10539276,322,329)
{
IncludeBlock=1
StartBlock="<location "
EndBlock="/>"
link(onSearch,14666313:doEvent1,[])
AddHint(-3,39,61,13,StartBlock)
}
Add(BlockFind,13798465,483,329)
{
IncludeBlock=1
StartBlock="Latitude=""
EndBlock="""
link(onSearch,1024438:doReplace,[])
AddHint(3,-39,64,13,StartBlock)
}
Add(BlockFind,14048567,483,385)
{
IncludeBlock=1
StartBlock="Longitude=""
EndBlock="""
link(onSearch,14626319:doReplace,[])
AddHint(-7,63,73,13,StartBlock)
}
Add(Hub,14666313,385,329)
{
OutCount=3
link(onEvent1,13798465:doSearch,[])
link(onEvent2,14048567:doSearch,[(417,342)(417,391)])
link(onEvent3,8032957:doEvent1,[(414,349)(414,461)])
}
Add(StrList,11084010,196,35)
{
Strings=#0:|72: <area Address="" Home="" Plot="" Index="10" Code="1.01.5" IDZone="">|17: <borders>|81: <location Latitude="55,8421668385123" Longitude="49,1394916479323" />|80: <location Latitude="55,842788962671" Longitude="49,1395269320174" />|81: <location Latitude="55,8427847232707" Longitude="49,1388035843436" />|81: <location Latitude="55,8421859936193" Longitude="49,1387512391333" />|18: </borders>|11: </area>|
}
Add(Hub,3882273,126,91)
{
OutCount=7
link(onEvent2,16350997:doEvent1,[])
link(onEvent4,9571678:doData,[(184,118)(184,167)])
link(onEvent6,3554812:doSearch,[(169,132)(169,335)])
link(onEvent7,11857825:doRead,[(602,139)(602,692)])
}
Add(Replace,1024438,532,329)
{
SubStr=","
DestStr="."
link(onReplace,14526380:doValue,[])
}
Add(Replace,14626319,525,385)
{
SubStr=","
DestStr="."
link(onReplace,15687681:doValue,[])
}
Add(StrList,375536,742,98)
{
}
Add(ArraySort,3762318,756,168)
{
link(Array,375536:Array,[])
}
Add(Hub,16350997,672,98)
{
OutCount=3
link(onEvent2,375536:doClear,[])
link(onEvent3,5698503:doClear,[(724,118)(724,76)])
}
Add(Hub,15610133,672,161)
{
OutCount=4
link(onEvent1,375536:doAdd,[(731,167)(731,104)])
link(onEvent2,3762318:doSort,[])
link(onEvent3,14959752:doEnum,[(739,181)(739,265)])
}
Add(ArrayEnum,14959752,756,259)
{
link(onItem,2579756:doAdd,[(846,265)(846,188)])
link(onEndEnum,16683333:doEvent1,[])
link(Array,4624436:Var2,[])
}
Add(ArrayRW,7798429,875,273)
{
Index=Integer(0)
link(onRead,2111254:doEnum,[])
link(Array,4624436:Var3,[(881,222)])
link(Index,10293308:Result,[])
}
Add(GetDataEx,4624436,756,217)
{
link(Data,3762318:ArraySort,[])
}
Add(StrList,2579756,910,182)
{
}
Add(ArrayEnum,2111254,924,273)
{
link(Array,2579756:Array,[])
}
Add(Math,10293308,882,224)
{
OpType=1
Op2=1
link(Op1,3762318:Count,[(888,212)(769,212)])
}
Add(Hub,16683333,819,266)
{
link(onEvent1,10293308:doOperation,[(857,272)(857,230)])
link(onEvent2,7798429:doRead,[])
}
Add(Memory,14526380,735,329)
{
}
Add(Memory,15687681,665,385)
{
}
Add(DoData,9571678,287,161)
{
link(onEventData,2869078:doSearch,[])
link(Data,4873850:Var3,[(293,124)])
}
Add(BlockFind,2869078,336,161)
{
StartBlock="<borders>"
EndBlock="</borders>"
link(onSearch,14455733:doSearch,[])
AddHint(-3,39,62,13,StartBlock)
}
Add(BlockFind,14455733,413,161)
{
IncludeBlock=1
StartBlock="<location "
EndBlock="/>"
link(onSearch,9159345:doEvent1,[])
AddHint(-3,39,61,13,StartBlock)
}
Add(BlockFind,13465121,518,161)
{
IncludeBlock=1
StartBlock="Latitude=""
EndBlock="""
link(onSearch,14817959:doReplace,[])
AddHint(3,-39,64,13,StartBlock)
}
Add(Replace,14817959,567,161)
{
SubStr=","
DestStr="."
link(onReplace,15610133:doEvent1,[])
}
Add(GetDataEx,4873850,196,119)
{
link(Data,11084010:Text,[])
}
Add(StrList,5698503,973,63)
{
}
Add(ArraySort,14575941,987,133)
{
link(Array,5698503:Array,[])
}
Add(Hub,1304257,903,126)
{
OutCount=4
link(onEvent1,5698503:doAdd,[(962,132)(962,69)])
link(onEvent2,14575941:doSort,[])
link(onEvent3,14312513:doEnum,[(970,146)(970,230)])
}
Add(ArrayEnum,14312513,987,224)
{
link(onItem,13839879:doAdd,[(1077,230)(1077,153)])
link(onEndEnum,13939418:doEvent1,[])
link(Array,11617149:Var2,[])
}
Add(ArrayRW,3430946,1106,238)
{
Index=Integer(0)
link(onRead,6593934:doEnum,[])
link(Array,11617149:Var3,[(1112,187)])
link(Index,3694930:Result,[])
}
Add(GetDataEx,11617149,987,182)
{
link(Data,14575941:ArraySort,[])
}
Add(StrList,13839879,1141,147)
{
}
Add(ArrayEnum,6593934,1155,238)
{
link(Array,13839879:Array,[])
}
Add(Math,3694930,1113,189)
{
OpType=1
Op2=1
link(Op1,14575941:Count,[(1119,177)(1000,177)])
}
Add(Hub,13939418,1050,231)
{
link(onEvent1,3694930:doOperation,[(1088,237)(1088,195)])
link(onEvent2,3430946:doRead,[])
}
Add(BlockFind,3576839,525,224)
{
IncludeBlock=1
StartBlock="Longitude=""
EndBlock="""
link(onSearch,13465981:doReplace,[])
AddHint(-25,36,73,13,StartBlock)
}
Add(Replace,13465981,567,224)
{
SubStr=","
DestStr="."
link(onReplace,1304257:doEvent1,[(646,230)(646,132)])
}
Add(Hub,9159345,469,161)
{
link(onEvent1,13465121:doSearch,[])
link(onEvent2,3576839:doSearch,[(504,174)(504,230)])
}
Add(MathParse,8898088,847,462)
{
MathStr="( %2 - %1 ) * 1000000"
link(X1,14526380:Value,[(853,429)(741,429)])
link(X2,7798429:Item,[(860,384)(881,384)])
}
Add(Hub,8032957,735,455)
{
OutCount=4
link(onEvent1,8898088:doCalc,[(798,461)(798,468)])
link(onEvent3,1828529:doCalc,[])
link(onEvent4,11166190:doData,[(777,482)(777,622)])
}
Add(MathParse,1828529,896,469)
{
MathStr="( %2 - %1 ) * 1000000"
link(X1,15687681:Value,[(902,436)(671,436)])
link(X2,3430946:Item,[(909,369)(1112,369)])
}
Add(PointXY,11941490,847,560)
{
link(X,11388612:Var2,[])
link(Y,4846650:Var1,[(860,533)])
}
Add(StrList,15572789,1001,616)
{
}
Add(DoData,11166190,847,616)
{
link(onEventData,5883012:doWork2,[])
link(Data,10406299:Var2,[])
}
Add(ArrayRW,11857825,1015,686)
{
Index=Integer(0)
link(onRead,5883012:doWork3,[(1059,692)(1059,658)(914,658)])
link(Array,5623526:Var2,[])
}
Add(HubEx,5883012,910,616)
{
link(onEvent,4221486:doEvent1,[(930,622)(930,615)])
}
Add(GetDataEx,5623526,1015,665)
{
link(Data,15572789:Array,[])
}
Add(StringTable,13067962,1092,560)
{
Left=5
Top=30
Width=535
Height=360
Columns=#1:x|1:y|2:xy|
Grid=0
}
Add(Hub,4221486,945,609)
{
link(onEvent1,4806164:doString,[(971,615)(971,566)])
link(onEvent2,15572789:doAdd,[])
}
Add(FormatStr,4806164,994,560)
{
DataCount=3
Mask="%1;%2;%3"
link(onFString,13067962:doAdd,[])
link(Str1,11388612:Var3,[(1000,544)])
link(Str2,4846650:Var3,[(1007,533)])
link(Str3,10406299:Var3,[(1014,553)(934,553)(934,600)])
}
Add(GetDataEx,11388612,847,539)
{
link(Data,8898088:Result,[])
}
Add(GetDataEx,4846650,896,528)
{
link(Data,1828529:Result,[])
}
Add(GetDataEx,10406299,847,595)
{
link(Data,11941490:Point,[])
}

Редактировалось 1 раз(а), последний 2020-03-14 15:00:11
карма: 11

0
Ответов: 113
Рейтинг: 1
#3: 2020-03-14 17:22:24 ЛС | профиль | цитата
sla8a писал(а):
не совсем понятно что вам нужно


все понятно же, просто еще сделал загрузку файла.

5 координат потому что когда происходило рисование объекта , последняя точка не соединялась с начальной

мне надо этот объект не от 0 построить, а согласно координат, то есть на paintbox примерно в середине, по вторым координатам (уже другой объект) где то рядом

схема

Add(Button,15939380,140,154)
{
Left=5
Top=5
Caption="test"
link(onClick,3882273:doEvent1,[])
}
Add(BlockFind,3554812,301,392)
{
StartBlock="<borders>"
EndBlock="</borders>"
link(onSearch,10539276:doSearch,[])
link(Text,4873850:Var2,[(307,292)(258,292)])
AddHint(-3,39,62,13,StartBlock)
}
Add(BlockFind,10539276,378,392)
{
IncludeBlock=1
StartBlock="<location "
EndBlock="/>"
link(onSearch,14666313:doEvent1,[])
AddHint(-3,39,61,13,StartBlock)
}
Add(BlockFind,13798465,539,392)
{
IncludeBlock=1
StartBlock="Latitude=""
EndBlock="""
link(onSearch,1024438:doReplace,[])
AddHint(3,-39,64,13,StartBlock)
}
Add(BlockFind,14048567,539,448)
{
IncludeBlock=1
StartBlock="Longitude=""
EndBlock="""
link(onSearch,14626319:doReplace,[])
AddHint(-7,63,73,13,StartBlock)
}
Add(Hub,14666313,441,392)
{
OutCount=3
link(onEvent1,13798465:doSearch,[])
link(onEvent2,14048567:doSearch,[(473,405)(473,454)])
link(onEvent3,8032957:doEvent1,[(470,412)(470,524)])
}
Add(StrList,11084010,252,98)
{
Strings=#0:|72: <area Address="" Home="" Plot="" Index="10" Code="1.01.5" IDZone="">|17: <borders>|81: <location Latitude="55,8421668385123" Longitude="49,1394916479323" />|80: <location Latitude="55,842788962671" Longitude="49,1395269320174" />|81: <location Latitude="55,8427847232707" Longitude="49,1388035843436" />|81: <location Latitude="55,8421859936193" Longitude="49,1387512391333" />|18: </borders>|11: </area>|
}
Add(Hub,3882273,182,154)
{
OutCount=8
link(onEvent2,16350997:doEvent1,[])
link(onEvent4,9571678:doData,[(240,181)(240,230)])
link(onEvent6,3554812:doSearch,[(225,195)(225,398)])
link(onEvent7,11857825:doRead,[(658,202)(658,755)])
link(onEvent8,12166832:In,[(208,209)(208,223)(177,223)(177,237)])
}
Add(Replace,1024438,588,392)
{
SubStr=","
DestStr="."
link(onReplace,14526380:doValue,[])
}
Add(Replace,14626319,581,448)
{
SubStr=","
DestStr="."
link(onReplace,15687681:doValue,[])
}
Add(StrList,375536,798,161)
{
}
Add(ArraySort,3762318,812,231)
{
link(Array,375536:Array,[])
}
Add(Hub,16350997,728,161)
{
OutCount=3
link(onEvent2,375536:doClear,[])
link(onEvent3,5698503:doClear,[(780,181)(780,139)])
}
Add(Hub,15610133,728,224)
{
OutCount=4
link(onEvent1,375536:doAdd,[(787,230)(787,167)])
link(onEvent2,3762318:doSort,[])
link(onEvent3,14959752:doEnum,[(795,244)(795,328)])
}
Add(ArrayEnum,14959752,812,322)
{
link(onItem,2579756:doAdd,[(902,328)(902,251)])
link(onEndEnum,16683333:doEvent1,[])
link(Array,4624436:Var2,[])
}
Add(ArrayRW,7798429,931,336)
{
Index=Integer(0)
link(onRead,2111254:doEnum,[])
link(Array,4624436:Var3,[(937,285)])
link(Index,10293308:Result,[])
}
Add(GetDataEx,4624436,812,280)
{
link(Data,3762318:ArraySort,[])
}
Add(StrList,2579756,966,245)
{
}
Add(ArrayEnum,2111254,980,336)
{
link(Array,2579756:Array,[])
}
Add(Math,10293308,938,287)
{
OpType=1
Op2=1
link(Op1,3762318:Count,[(944,275)(825,275)])
}
Add(Hub,16683333,875,329)
{
link(onEvent1,10293308:doOperation,[(913,335)(913,293)])
link(onEvent2,7798429:doRead,[])
}
Add(Memory,14526380,791,392)
{
}
Add(Memory,15687681,721,448)
{
}
Add(DoData,9571678,343,224)
{
link(onEventData,2869078:doSearch,[])
link(Data,4873850:Var3,[(349,187)])
}
Add(BlockFind,2869078,392,224)
{
StartBlock="<borders>"
EndBlock="</borders>"
link(onSearch,14455733:doSearch,[])
AddHint(-3,39,62,13,StartBlock)
}
Add(BlockFind,14455733,469,224)
{
IncludeBlock=1
StartBlock="<location "
EndBlock="/>"
link(onSearch,9159345:doEvent1,[])
AddHint(-3,39,61,13,StartBlock)
}
Add(BlockFind,13465121,574,224)
{
IncludeBlock=1
StartBlock="Latitude=""
EndBlock="""
link(onSearch,14817959:doReplace,[])
AddHint(3,-39,64,13,StartBlock)
}
Add(Replace,14817959,623,224)
{
SubStr=","
DestStr="."
link(onReplace,15610133:doEvent1,[])
}
Add(GetDataEx,4873850,252,182)
{
link(Data,11084010:Text,[])
}
Add(StrList,5698503,1029,126)
{
}
Add(ArraySort,14575941,1043,196)
{
link(Array,5698503:Array,[])
}
Add(Hub,1304257,959,189)
{
OutCount=4
link(onEvent1,5698503:doAdd,[(1018,195)(1018,132)])
link(onEvent2,14575941:doSort,[])
link(onEvent3,14312513:doEnum,[(1026,209)(1026,293)])
}
Add(ArrayEnum,14312513,1043,287)
{
link(onItem,13839879:doAdd,[(1133,293)(1133,216)])
link(onEndEnum,13939418:doEvent1,[])
link(Array,11617149:Var2,[])
}
Add(ArrayRW,3430946,1162,301)
{
Index=Integer(0)
link(onRead,6593934:doEnum,[])
link(Array,11617149:Var3,[(1168,250)])
link(Index,3694930:Result,[])
}
Add(GetDataEx,11617149,1043,245)
{
link(Data,14575941:ArraySort,[])
}
Add(StrList,13839879,1197,210)
{
}
Add(ArrayEnum,6593934,1211,301)
{
link(Array,13839879:Array,[])
}
Add(Math,3694930,1169,252)
{
OpType=1
Op2=1
link(Op1,14575941:Count,[(1175,240)(1056,240)])
}
Add(Hub,13939418,1106,294)
{
link(onEvent1,3694930:doOperation,[(1144,300)(1144,258)])
link(onEvent2,3430946:doRead,[])
}
Add(BlockFind,3576839,581,287)
{
IncludeBlock=1
StartBlock="Longitude=""
EndBlock="""
link(onSearch,13465981:doReplace,[])
AddHint(-25,36,73,13,StartBlock)
}
Add(Replace,13465981,623,287)
{
SubStr=","
DestStr="."
link(onReplace,1304257:doEvent1,[(702,293)(702,195)])
}
Add(Hub,9159345,525,224)
{
link(onEvent1,13465121:doSearch,[])
link(onEvent2,3576839:doSearch,[(560,237)(560,293)])
}
Add(MathParse,8898088,903,525)
{
MathStr="( %2 - %1 ) * 1000000"
link(X1,14526380:Value,[(909,492)(797,492)])
link(X2,7798429:Item,[(916,447)(937,447)])
}
Add(Hub,8032957,791,518)
{
OutCount=4
link(onEvent1,8898088:doCalc,[(854,524)(854,531)])
link(onEvent3,1828529:doCalc,[])
link(onEvent4,11166190:doData,[(833,545)(833,685)])
}
Add(MathParse,1828529,952,532)
{
MathStr="( %2 - %1 ) * 1000000"
link(X1,15687681:Value,[(958,499)(727,499)])
link(X2,3430946:Item,[(965,432)(1168,432)])
}
Add(PointXY,11941490,903,623)
{
link(X,11388612:Var2,[])
link(Y,4846650:Var1,[(916,593)])
}
Add(StrList,15572789,1057,679)
{
}
Add(DoData,11166190,903,679)
{
link(onEventData,5883012:doWork2,[])
link(Data,10406299:Var2,[])
}
Add(ArrayRW,11857825,1071,749)
{
Index=Integer(0)
link(onRead,5883012:doWork3,[(1115,755)(1115,721)(970,721)])
link(Array,5623526:Var2,[])
}
Add(HubEx,5883012,966,679)
{
link(onEvent,4221486:doEvent1,[(986,685)(986,678)])
}
Add(GetDataEx,5623526,1071,728)
{
link(Data,15572789:Array,[])
}
Add(StringTable,13067962,1148,623)
{
Left=5
Top=30
Width=535
Height=360
Columns=#1:x|1:y|2:xy|
Grid=0
}
Add(Hub,4221486,1001,672)
{
OutCount=4
link(onEvent1,4806164:doString,[(1027,678)(1027,629)])
link(onEvent2,15572789:doAdd,[])
}
Add(FormatStr,4806164,1050,623)
{
DataCount=3
Mask="%1;%2;%3"
link(onFString,13067962:doAdd,[])
link(Str1,11388612:Var3,[(1056,607)])
link(Str2,4846650:Var3,[(1063,593)])
link(Str3,10406299:Var3,[(1070,616)(990,616)(990,663)])
}
Add(GetDataEx,11388612,903,602)
{
link(Data,8898088:Result,[])
}
Add(GetDataEx,4846650,952,588)
{
link(Data,1828529:Result,[])
}
Add(GetDataEx,10406299,903,658)
{
link(Data,11941490:Point,[])
}
Add(Img_Polygon,2196734,1232,714)
{
PointsArray=[]
Color=255
BgColor=65535
Style=1
Size=3
link(Bitmap,16073381:Bitmap,[])
link(PointsArray,5623526:Var1,[(1245,669)(1037,669)(1037,733)])
}
Add(MoveWindow,16472599,1295,630)
{
link(Handle,16073381:Handle,[(1301,618)(1273,618)(1273,667)(1245,667)])
}
Add(PaintBox,16073381,1232,623)
{
Left=560
Top=40
Width=2290
Height=2890
Color=-16777214
Cursor=8
Ctl3D=0
WinStyle=2
Name="pbox"
Point(onMouseDown)
Point(Handle)
link(onMouseDown,16472599:doMove,[])
}
Add(LineBreak,2821525,1134,707)
{
link(Out,4564059:doEvent1,[])
Primary=[12166832,-945,-476]
}
Add(RedrawManager,4163979,1232,574)
{
ControlManager="pbox"
}
Add(Hub,4564059,1176,707)
{
link(onEvent1,4163979:doRedraw,[(1204,713)(1204,580)])
link(onEvent2,2196734:doDraw,[])
}

[/scroll]
Редактировалось 11 раз(а), последний 2020-03-14 17:36:56
карма: 0
well done turner
0
Ответов: 2203
Рейтинг: 675
#4: 2020-03-14 19:24:06 ЛС | профиль | цитата
powerbatman писал(а):
все понятно же
Ничего не понятно. Я вам схему подкорректировал, где видно отчетливо бред.
Смотрите внимательно. Вот ваши данные:

Насколько понимаю это четыре разные координаты (формат мне не известен, а вы не удосужились объяснить откуда он у вас).
А вот то что вы подаете на рисование:

1. Откуда у вас там нулевые координаты?
2. Почему две последние координаты одинаковые?
карма: 11

0
Ответов: 113
Рейтинг: 1
#5: 2020-03-15 20:06:54 ЛС | профиль | цитата
sla8a писал(а):
Откуда у вас там нулевые координаты


отсюда -> из 4 координат , вычисляю максимальное значение и вычитаю все остальные , ( %2 - %1 ) * 1000000, потому как координаты в таком диапазоне Latitude="55,8421668385123" отобразить не знаю как , вот и придумал "метод преобразования" . тут и вычисляю , и получилось 5 координат

да
sla8a писал(а):
бред
.
нашел почему 5 координат)

Редактировалось 2 раз(а), последний 2020-03-15 20:29:58
карма: 0
well done turner
0
Ответов: 113
Рейтинг: 1
#6: 2020-03-15 21:08:30 ЛС | профиль | цитата
новый вариант )
схема

Add(MainForm,2953706,21,105)
{
Width=1186
Height=339
Position=1
}
Add(Button,15939380,21,161)
{
Left=5
Top=5
Caption="test"
link(onClick,3882273:doEvent1,[])
}
Add(BlockFind,3554812,189,168)
{
StartBlock="<borders>"
EndBlock="</borders>"
link(onSearch,10539276:doSearch,[])
link(Text,11084010:Text,[])
AddHint(-26,63,62,13,StartBlock)
}
Add(BlockFind,10539276,238,168)
{
IncludeBlock=1
StartBlock="<location "
EndBlock="/>"
link(onSearch,13798465:doSearch,[])
AddHint(-2,46,61,13,StartBlock)
}
Add(BlockFind,13798465,294,168)
{
IncludeBlock=1
StartBlock="Latitude=""
EndBlock="""
link(onSearch,16521011:doValue,[(344,174)(344,132)])
link(onEndSearch,14048567:doSearch,[])
AddHint(-38,-41,64,13,StartBlock)
}
Add(BlockFind,14048567,350,175)
{
IncludeBlock=1
StartBlock="Longitude=""
EndBlock="""
link(onSearch,16005903:doString,[])
link(onEndSearch,9823941:doData,[(398,188)(398,370)])
AddHint(-22,47,73,13,StartBlock)
}
Add(StrList,11084010,189,91)
{
Strings=#0:|72: <area Address="" Home="" Plot="" Index="10" Code="1.01.5" IDZone="">|17: <borders>|81: <location Latitude="55,8421668385123" Longitude="49,1394916479323" />|80: <location Latitude="55,842788962671" Longitude="49,1395269320174" />|81: <location Latitude="55,8427847232707" Longitude="49,1388035843436" />|81: <location Latitude="55,8421859936193" Longitude="49,1387512391333" />|18: </borders>|11: </area>|
}
Add(Hub,3882273,91,161)
{
OutCount=3
link(onEvent1,4488683:In,[(112,167)(112,153)])
link(onEvent2,3554812:doSearch,[])
link(onEvent3,5993742:In,[(112,181)(112,195)])
}
Add(Replace,1024438,455,175)
{
SubStr=","
DestStr="."
link(onReplace,11381813:doSplit,[])
}
Add(StringTable,13067962,1001,371)
{
Left=5
Top=30
Width=450
Height=195
Columns=#1:x|1:y|2:xy|
Grid=0
Point(Strings)
}
Add(Img_Polygon,2196734,1127,504)
{
PointsArray=[]
Color=255
BgColor=65535
Style=1
Size=3
link(Bitmap,16073381:Bitmap,[])
link(PointsArray,1022317:Array,[(1140,439)(1070,439)])
}
Add(MoveWindow,16472599,1204,343)
{
link(Handle,16073381:Handle,[(1210,331)(1185,331)(1185,380)(1140,380)])
}
Add(PaintBox,16073381,1127,336)
{
Left=470
Top=30
Width=2290
Height=2890
Color=-16777214
Cursor=8
Ctl3D=0
WinStyle=2
Name="pbox"
Point(onMouseDown)
Point(Handle)
link(onMouseDown,16472599:doMove,[])
}
Add(RedrawManager,4163979,1029,504)
{
ControlManager="pbox"
}
Add(Hub,4564059,980,497)
{
OutCount=3
link(onEvent2,4163979:doRedraw,[])
link(onEvent3,2196734:doDraw,[(1060,517)(1060,510)])
}
Add(FormatStr,16005903,406,175)
{
Mask="%2;%1"
link(onFString,1024438:doReplace,[])
link(Str2,16521011:Value,[])
}
Add(Memory,16521011,413,126)
{
}
Add(MathParse,15256568,630,175)
{
MathStr="tg(%1) * 100"
link(onResult,16013145:doSplit,[])
}
Add(MultiStrData,11381813,511,175)
{
link(onPart1,12038000:doValue,[])
link(onPart2,6008794:doValue,[(555,188)(555,251)])
}
Add(StrPart,16013145,679,175)
{
Char="."
link(onSplit,4933894:doCalc,[])
}
Add(MathParse,4933894,728,175)
{
MathStr="%1 / 10000000000"
link(onResult,15404590:doSplit,[])
}
Add(StrPart,15404590,777,175)
{
Char="."
Point(Left)
}
Add(MathParse,5682344,637,245)
{
MathStr="tg(%1) * 100"
link(onResult,1950860:doSplit,[])
}
Add(StrPart,1950860,686,245)
{
Char="."
link(onSplit,8466840:doCalc,[])
}
Add(MathParse,8466840,735,245)
{
MathStr="%1 / 10000000000"
link(onResult,13842104:doSplit,[])
}
Add(StrPart,13842104,784,245)
{
Char="."
Point(Left)
}
Add(PointXY,4094361,777,308)
{
link(X,15404590:Left,[])
link(Y,13842104:Left,[])
}
Add(StrList,1022317,1050,329)
{
}
Add(DoData,9823941,777,364)
{
link(onEventData,14562860:doEvent1,[])
link(Data,4094361:Point,[])
}
Add(Hub,14562860,819,364)
{
link(onEvent1,1022317:doAdd,[(842,370)(842,335)])
link(onEvent2,4316396:doString,[])
}
Add(FormatStr,4316396,861,371)
{
DataCount=3
Mask="%3;%2;%1"
link(onFString,13067962:doAdd,[])
link(Str2,12038000:Value,[(874,293)(580,293)])
link(Str3,6008794:Value,[(881,286)(587,286)])
}
Add(Memory,12038000,574,175)
{
link(onData,15256568:doCalc,[])
}
Add(Memory,6008794,581,245)
{
link(onData,5682344:doCalc,[])
}
Add(LineBreak,1289927,931,497)
{
link(Out,4564059:doEvent1,[])
Primary=[5993742,-812,-308]
}
Add(LineBreak,4915760,924,336)
{
link(Out,9716336:doEvent1,[])
Primary=[4488683,-805,-189]
}
Add(Hub,9716336,966,336)
{
link(onEvent1,1022317:doClear,[])
link(onEvent2,13067962:doClear,[(990,349)(990,384)])
}



--- Добавлено в 2020-03-15 21:56:43

вот что то получилось , но масштабы не правильные
[scroll=схема]
Add(MainForm,2953706,21,105)
{
Width=1186
Height=703
Position=1
}
Add(Button,15939380,21,161)
{
Left=5
Top=5
Caption="test"
link(onClick,3882273:doEvent1,[])
}
Add(BlockFind,3554812,161,168)
{
StartBlock="<borders>"
EndBlock="</borders>"
link(onSearch,4693294:doEvent1,[])
link(Text,15689533:Text,[])
AddHint(-26,63,62,13,StartBlock)
}
Add(BlockFind,10539276,259,168)
{
IncludeBlock=1
StartBlock="<location "
EndBlock="/>"
link(onSearch,13798465:doSearch,[])
AddHint(-2,46,61,13,StartBlock)
}
Add(BlockFind,13798465,301,168)
{
IncludeBlock=1
StartBlock="Latitude=""
EndBlock="""
link(onSearch,16521011:doValue,[(344,174)(344,132)])
link(onEndSearch,14048567:doSearch,[])
AddHint(-38,-41,64,13,StartBlock)
}
Add(BlockFind,14048567,350,175)
{
IncludeBlock=1
StartBlock="Longitude=""
EndBlock="""
link(onSearch,16005903:doString,[])
link(onEndSearch,9823941:doData,[(398,188)(398,370)])
AddHint(-22,47,73,13,StartBlock)
}
Add(Hub,3882273,91,161)
{
OutCount=3
link(onEvent1,4488683:In,[(112,167)(112,153)])
link(onEvent2,3554812:doSearch,[])
link(onEvent3,5993742:In,[(112,181)(112,195)])
}
Add(Replace,1024438,455,175)
{
SubStr=","
DestStr="."
link(onReplace,11381813:doSplit,[])
}
Add(StringTable,13067962,805,371)
{
Left=5
Top=30
Width=450
Height=195
Columns=#1:x|1:y|2:xy|1:#|
Grid=0
Point(Strings)
}
Add(Img_Polygon,2196734,931,511)
{
PointsArray=[]
Color=255
BgColor=65535
Style=1
Size=3
link(Bitmap,16073381:Bitmap,[])
link(PointsArray,1022317:Array,[(944,439)(909,439)])
}
Add(MoveWindow,16472599,1008,343)
{
link(Handle,16073381:Handle,[(1014,331)(989,331)(989,380)(944,380)])
}
Add(PaintBox,16073381,931,336)
{
Left=470
Top=30
Width=2290
Height=2890
Color=-16777214
Cursor=8
Ctl3D=0
WinStyle=2
Name="pbox"
Point(onMouseDown)
Point(Handle)
link(onMouseDown,16472599:doMove,[])
}
Add(RedrawManager,4163979,833,504)
{
ControlManager="pbox"
}
Add(Hub,4564059,784,504)
{
link(onEvent1,4163979:doRedraw,[])
link(onEvent2,4698435:doWork2,[])
}
Add(FormatStr,16005903,406,175)
{
Mask="%2;%1"
link(onFString,1024438:doReplace,[])
link(Str2,16521011:Value,[])
}
Add(Memory,16521011,413,126)
{
}
Add(MathParse,15256568,581,175)
{
MathStr="trunc(frac(sqr(%1),1) * 1000,1) "
}
Add(MultiStrData,11381813,511,175)
{
link(onPart1,15256568:doCalc,[])
link(onPart2,3904085:doCalc,[(565,188)(565,237)])
}
Add(PointXY,4094361,581,308)
{
link(X,4737587:Var2,[])
link(Y,16466353:Var2,[])
}
Add(StrList,1022317,889,329)
{
}
Add(DoData,9823941,581,364)
{
link(onEventData,14562860:doEvent1,[])
link(Data,4094361:Point,[])
}
Add(Hub,14562860,623,364)
{
link(onEvent1,1022317:doAdd,[(646,370)(646,335)])
link(onEvent2,4316396:doString,[])
}
Add(FormatStr,4316396,665,371)
{
DataCount=4
Mask="%3;%2;%1;%4"
link(onFString,13067962:doAdd,[])
link(Str2,4737587:Var3,[(678,278)])
link(Str3,16466353:Var3,[(685,287)])
link(Str4,6648774:Count,[])
}
Add(LineBreak,1289927,714,504)
{
link(Out,4564059:doEvent1,[])
Primary=[5993742,-595,-315]
}
Add(LineBreak,4915760,735,385)
{
link(Out,13067962:doClear,[(785,391)(785,384)])
Primary=[4488683,-616,-238]
}
Add(MathParse,3904085,588,231)
{
MathStr="trunc(frac(sqr(%1),1) * 1000,1) "
}
Add(Hub,1378522,756,434)
{
OutCount=4
link(onEvent1,4698435:doWork1,[(886,440)])
link(onEvent2,1022317:doClear,[(878,447)(878,342)])
link(onEvent3,6648774:doNext,[(868,454)(868,224)(672,224)(672,244)])
}
Add(HubEx,4698435,882,511)
{
link(onEvent,2196734:doDraw,[])
}
Add(StrList,15689533,161,84)
{
Strings=#0:|72: <area Address="" Home="" Plot="" Index="10" Code="1.01.5" IDZone="">|17: <borders>|81: <location Latitude="55,8421668385123" Longitude="49,1394916479323" />|80: <location Latitude="55,842788962671" Longitude="49,1395269320174" />|81: <location Latitude="55,8427847232707" Longitude="49,1388035843436" />|81: <location Latitude="55,8421859936193" Longitude="49,1387512391333" />|18: </borders>|11: </area>|72: <area Address="" Home="" Plot="" Index="10" Code="1.01.5" IDZone="">|17: <borders>|81: <location Latitude="55,8343152400566" Longitude="49,1514834455983" />|81: <location Latitude="55,8343632721057" Longitude="49,1514780151826" />|81: <location Latitude="55,8343693714095" Longitude="49,1509281855776" />|81: <location Latitude="55,8343083783296" Longitude="49,1509336159933" />|18: </borders>|11: </area>|72: <area Address="" Home="" Plot="" Index="10" Code="1.01.5" IDZone="">|17: <borders>|81: <location Latitude="55,8361338238948" Longitude="49,1254430798832" />|81: <location Latitude="55,8361767513049" Longitude="49,1254484443011" />|81: <location Latitude="55,8361594297252" Longitude="49,1249803988212" />|81: <location Latitude="55,8361172554067" Longitude="49,1250085620167" />|18: </borders>|11: </area>|
}
Add(Hub,4693294,217,168)
{
link(onEvent1,10539276:doSearch,[])
link(onEvent2,1378522:doEvent1,[(242,181)(242,440)])
}
Add(CounterEx,6648774,686,238)
{
}
Add(GetDataEx,16466353,588,282)
{
link(Data,3904085:Result,[])
}
Add(GetDataEx,4737587,581,273)
{
link(Data,15256568:Result,[])
}

[/scroll]
ну и преобразование возможно неправильно

Редактировалось 2 раз(а), последний 2020-03-15 21:57:49
карма: 0
well done turner
0
Ответов: 16884
Рейтинг: 1239
#7: 2020-03-15 23:52:57 ЛС | профиль | цитата
Не рекорд - бывало и 45%, а у тебя только 25% лишних.



--- Добавлено в 2020-03-15 23:55:40

powerbatman писал(а):
ну и преобразование возможно неправильно
есть такое понятие как масштаб - в 1 см 100 км.

Редактировалось 1 раз(а), последний 2020-03-15 23:55:40
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 113
Рейтинг: 1
#8: 2020-03-16 16:22:12 ЛС | профиль | цитата
Tad писал(а):
есть такое понятие как масштаб - в 1 см 100 км.


это да , но пока не придумал как его осуществить. я же на правильном пути, у обЪекта имеющего координаты, вычислить площадь, и уменьшить в масштабе до размеров поля PaintBox ?

Редактировалось 1 раз(а), последний 2020-03-16 16:28:56
карма: 0
well done turner
0
Ответов: 16884
Рейтинг: 1239
#9: 2020-03-16 17:57:02 ЛС | профиль | цитата
Add(MainForm,12788486,77,175)
{
Width=477
Height=287
Position=1
link(onCreate,3882273:doEvent1,[])
}
Add(BlockFind,3554812,154,196)
{
IncludeBlock=1
StartBlock="<location Latitude=""
EndBlock="" />"
link(onSearch,1323239:doReplace,[])
link(Text,15689533:Text,[])
}
Add(Hub,3882273,126,189)
{
link(onEvent1,13067962:doClear,[(281,195)(281,209)])
link(onEvent2,3554812:doSearch,[])
}
Add(Replace,1024438,238,196)
{
SubStr=","
DestStr="."
link(onReplace,13067962:doAdd,[])
}
Add(StringTable,13067962,294,196)
{
Left=5
Top=30
Width=450
Height=215
Columns=#12:Широта x=120|13:Долгота y=120|2:xy|1:#|
Grid=0
Point(Strings)
}
Add(StrList,15689533,154,147)
{
Strings=#0:|72: <area Address="" Home="" Plot="" Index="10" Code="1.01.5" IDZone="">|17: <borders>|81: <location Latitude="55,8421668385123" Longitude="49,1394916479323" />|80: <location Latitude="55,842788962671" Longitude="49,1395269320174" />|81: <location Latitude="55,8427847232707" Longitude="49,1388035843436" />|81: <location Latitude="55,8421859936193" Longitude="49,1387512391333" />|18: </borders>|11: </area>|72: <area Address="" Home="" Plot="" Index="10" Code="1.01.5" IDZone="">|17: <borders>|81: <location Latitude="55,8343152400566" Longitude="49,1514834455983" />|81: <location Latitude="55,8343632721057" Longitude="49,1514780151826" />|81: <location Latitude="55,8343693714095" Longitude="49,1509281855776" />|81: <location Latitude="55,8343083783296" Longitude="49,1509336159933" />|18: </borders>|11: </area>|72: <area Address="" Home="" Plot="" Index="10" Code="1.01.5" IDZone="">|17: <borders>|81: <location Latitude="55,8361338238948" Longitude="49,1254430798832" />|81: <location Latitude="55,8361767513049" Longitude="49,1254484443011" />|81: <location Latitude="55,8361594297252" Longitude="49,1249803988212" />|81: <location Latitude="55,8361172554067" Longitude="49,1250085620167" />|18: </borders>|11: </area>|
}
Add(Replace,1323239,196,196)
{
SubStr="" Longitude=""
DestStr=";"
link(onReplace,1024438:doReplace,[])
}

А дальше всё зависит от того, что тебе нужно.
Для сферы - http://osiktakan.ru/geo_koor.htm

Редактировалось 1 раз(а), последний 2020-03-16 18:30:45
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
9
Сообщение
...
Прикрепленные файлы
(файлы не залиты)