Pár vyřešených skriptíků do PPGI2.
Zařazuji do rubriky Kočkozmat, ale lépe by se hodilo GISákzmat...
Zde tedy jsou, užijte jich ve zdraví...
P.S. Příště to snad dám jinam než na blog.
Co skript dělá:z polygonů zjistí středy, nabídne uživateli MsgBox s ID -> vytvoří polyline spojením těchto středů
Made by Vlasta. Před spaním doladila Looney
theView = av.getActiveDoc
theTheme = theView.GetActiveThemes.Get(0)
theFTab = theTheme.GetFtab
theShape = theFTab.FindField("Shape")
theID = theFTab.FindField("ID")
theFTab2 = FTab.makeNew("Theme_body".AsFileName,Polyline)
theID2 = Field.Make("ID",#FIELD_SHORT,2,0)
theFTab2.addFields({theID2})
theShape2= TheFTab2.FindField("Shape")
seznam = {}
For each i in theFTab
IDP = theFTab.ReturnValue(theID,i)
theP = theFTab.ReturnValue(theShape,i)
seznam.add(IDP)
End
seznam2 = {}
sezn = (seznam.count)-1 'musí tam být mínus jedna, bo cyklus je od 0..
For each j in 0..sezn
bod = msgBox.ListAsString(seznam,"Vyberte body","Výběr")
For each k in theFTab
If (bod = theFTab.ReturnValue(theID,k)) Then
seznam2.add(theFtab.ReturnValue(theShape,k).ReturnCenter)
End
End
seznam.RemoveObj(bod)
End
polyl = PolyLine.Make({seznam2})
theFTab2.addRecord
theFTab2.SetValue(theShape2,0,polyl)
theView.AddTheme(FTheme.Make(theFTab2))
Co skript dělá:mřížku nad bodovým tématem
Made by Zbyňa.
theView = av.GetActivedoc
theThemeB = theView.GetActiveThemes.Get(0)
theFTabB = theThemeB.GetFTab
theShapeB = theFTabB.FindField("Shape")
theFTabP= FTab.MakeNew("Polygon.sp".asfilename,polygon)
theShapeP= theFTabP.FindField("shape")
theIDP =Field.Make("ID",#FIELD_short,2,0)
theFTabP.AddFields({theIDP})
theFTabP.SetEditAble(True)
theRect=theThemeB.ReturnExtent
Sirka=theRect.GetWidth
PixD=Sirka/10
Pix=MsgBox.Input("Zadej","Zadej",PixD.AsString).AsNumber
PocetS=(sirka/Pix).Ceiling
Vyska=theRect.GetHeight
PocetV=(Vyska/Pix).Ceiling
PocD=theRect.GetBottom
PocL=theRect.GetLeft
p=0
PocL2=PocL
for each i in 0..(PocetV-1)
PocL=pocL2
for each j in 0..(PocetS-1)
thePolygon=Rect.Make(PocL@PocD,Pix@Pix).AsPolygon
theFTabP.AddRecord
theFtabP.SetValue(theShapeP,p,thePolygon)
theFTabB.SelectByPolygon (thePolygon, #VTAB_SELTYPE_NEW )
pocet=theFTabB.GetSelection.Count
theFtabP.SetValue(theIDP,p,pocet)
PocL=PocL+Pix
p=p+1
end
PocD=PocD+Pix
end
theFTabP.SetEditAble(False)
theView.addTheme(FTheme.make(theFTabP))
P.S. Jak ses Kash ptala na ty skripty, tak teď už je jasno, ne?
ten poslední obrázek vypadá hrozně strašidelně..
OdpovědětVymazat->Pliwatko:Proč strašidelně?
OdpovědětVymazatEhm......tohle asi veterináři nepochopí?:D
OdpovědětVymazatto Pliwatko: Co a kolik sis toho vzal? :D
OdpovědětVymazatto SillyFish: Nejen veterináři... :D
Brý den. A zase hned naschle. *smajlík, nesoucí si v dlani oči vypadlý z důlků*
OdpovědětVymazatTo byla malá ukázka toho, čím se \"baví\" studenti druhého ročníku geoinformatiky...
OdpovědětVymazatKash, z tvýho smajlíka mám ještě teď záchvat smíchu!
Ahoj Looney,......tak už mi ty oči zapadly zpátky (ale trvalo to, to víš, byla jsem v pérplexu - dle vtoru DUPLEX) *smích*
OdpovědětVymazat