Home

SIGESTÃO

image

Contents

1. ask L Clear 0 To tDesc FieldCount Symbol 0 Font Name lr Symbol 0 Col FontName 1 FontSize FontBold FontItalic FontStrikethru FontUnderline lor lr Symbol 0 Font Name lr Symbol 0 Font Size lr Symbol 0 Font Bold lr Symbol 0 Font Italic lr Symbol 0 Font Underline 0 Color lr Symbol LoadNoOverlapLabels Double lp MaskColor 1 tDesc FieldNam L AddItem strFN If lp Field cbhoNOL List Index End If Nex cdl cdl cdl strFN cboNO i Fon Fon Fon ayerProp ayerProp ayerProp cdlgLayerProp Fon cdlgLayerProp FontStri frmLayerSymbol 15 tSize tBold OO OO ca P P P tName tItalic i strFN Then L Font Name ltSymbol Font Size ltSymbol Font Bold lp DefaultSymbol Font Italic kethru lp Defaul lp Defaul lp Defaul LtSymbol clin cdlgLayerProp FontUnd colorText 1 txtNOL Text lp txtNOI optNOI Li Lor LtSymbol Font Name aceon L ForeColor optNOI pes Li aceAbove 0 Value optNOI Li aceBelow 1 Value Selec 2 Value Case Case False Case True End Select Select Case e ch n lp AllowDupl 0 1 ue icates Case False Case True End Select Select Case Case False Case True chkNOL 2 Value picNOL BackColor lp End Select scaleHeightUnit Lys
2. F AMIEIRA 8 E T womPorcao ocur E EE fe RS PP AS e F PIPA A p MOMPORCAO OCUPAC O_D a FL Ca Campo E As OCUPA O D Figura 33 Mapa tem tico com dados externos 39 Para remover a liga o basta voltar janela Liga o ao AGRO GESTAO e clicar no bot o Desligar 3 5 7 2 Ligar ao AGRO GESTAO Como no procedimento anterior o utilizador necessita de escolher o campo de liga o e clicar no bot o ligar AGROGESTAO O endere o do ficheiro mdb do AGRO GESTAO bem como da tabela alvo a ligar j se encontra inscrito no c digo do formul rio Automaticamente todos os campos dessa tabela do AGRO GESTAO ser o adicionados lista juntamente com os dados intr nsecos camada em causa Da mesma maneira esses campos exteriores podem ser usados para a constru o de mapas tem ticos figura 33 40 4 Consideracoes Finais 4 1 Objectivos do capitulo Este cap tulo tratar de discutir algumas quest es relacionadas com a avalia o da aplica o desenvolvida ao longo deste projecto Como todas as aplica es de software o SlGest o n o est tico e apesar de estar perto de estar em condi es para ser distribu do ao utilizador final necessita de alguns melhoramentos para que isso aconte a Apesar disso bastante satisfat rio perceber que os objectivos iniciais foram atingidos e que esta vers o pode ser o pontap de sa da para uma ve
3. a Private Sub ApplySingleSymbol Dim sym As MapObjects2 Symbol Set sym lyr Symbol lyr Name txtLayerName Text Set lyr Renderer Nothing Select Case lyr shapeType frmLayerSymbol 16 Case moShapeTypePoint sym Color picSSP 0 BackColor sym Style cboSSP 0 ListIndex If hsbSSP Value 0 Then sym Rotation 0 Else Clockwise instead of the default counter clockwise sym Rotation 360 hsbSSP Value End If If IsNumeric txtSSP 0 Text Then sym Size txtSSP 0 Text Else sym Size 5 End If If sym Style moTrueTypeMarker Then Dim fnt As New StdFont fnt Name cboSSP 1 Text Set sym Font fnt a Asc cbhoSSP 2 Text sym CharacterIndex Asc cboSSP 2 Text End If Case moShapeTypeMultipoint 80 sym Color picSSP 0 BackColor sym Style cboSSP 0 ListIndex If hsbSSP Value 0 Then sym Rotation 0 Else Clockwise instead of the default counter clockwise sym Rotation 360 hsbSSP Value End If If IsNumeric txtSSP 0 Text Then sym Size txtSSP 0 Text Else sym Size End If If sym Style moTrueTypeMarker Then Dim fnt2 As New StdFont fnt2 Name cboSSP 1 Text Set sym Font fnt2 a Asc cbhoSSP 2 Text sym CharacterIndex Asc cboSSP 2 Text End If Case moLine sym Color picSSP 0 BackColor sym Style
4. For i 0 To Forml Mapl Layers Count 1 If LayerStatus i 1 Then layer Name Forml Mapl Layers i Name Exp um aName For Each aField In Forml Mapl Layers i Records Fields If aField Type moString Then If Exp Then Exp aField Name searchExp Else Exp Exp ou aField Name como frmFind cboSearchList MEER End If If aName Then aName aField Name End If End If Next aField Execute the query If Exp Then Set recs Nothing Else Set recs Forml Mapl Layers i SearchExpression Exp End If Loop through selected features and store pointers layerCount layerCount 1 layerName layerCount layer Name Set Recs2 layerCount recs curCount 1 If Not recs Is Nothing Then While Not recs EOF curCount curCount 1 For Each aField In recs Fields If aField Type moString Then aValue recs aField Name Dim theString As String frmFind 3 theString frmFind cboSearchList If aValue Like theString Then featCount featCount 1 If featCount 0 Then frmFind grdFeatList Row 0 frmFind grdFeatList Col frmFind grdFeatList Text Camada frmFind grdFeatList Col 1 frmFind grdFeatList Text frmFind grdFeatList Col 2 frmFind grdFeatList Text 60 Campo Valor End If ReDim Preserve layerNum 2 featCount layerNum 1 featCount layerCo
5. ESRI 1996b Ralston 2002 e ESRI 2008a 13 3 4 Funcionalidades e Interface O SlGest o foi desenvolvido tendo em considera o um conjunto de requisitos definidos pelos respons veis do AGRO GESTAO Esses requisitos m nimos formam a capacidade de visualiza o de informa o espacial em formato vectorial e em formato raster parcel rios agr colas e ortofotomapas respectivamente A esta fun o deveriam estar associados um conjunto de ferramentas como o zoom in zoom out full extent e pan map Adicionalmente o controlo das propriedades da informa o espacial em formato vectorial nomeadamente a cor e o tamanho das linhas aceder a informa o intr nseca de parcela s seleccionada s como por exemplo a rea o per metro o tipo de ocupa o do solo e outros que caracterizam de forma mais ou menos perp tua cada parcela algumas ferramentas de an lise espacial como o merge intersect e o clip realizar mapas tem ticos tanto com campos de formato alfanum rico como campos com formato num rico a partir de informa o intr nseca e de informa o externa a presen a de legenda das camadas presentes e da capacidade de rotular objectos nas camadas ferramenta para procura de itens presentes no mapa pelo nome ou pelo seu valor salvar todas as altera es executadas durante a sess o Por ltimo foi estabelecido que para que o SlGest o pudesse ser um m dulo que distribu do com o AGRO GEST
6. symInt 0 Else symInt lyr shapeType 21 End If zRend SymbolType symInt Set lyr Renderer zRend End Sub E NEXT SIX PROCEDURES THAT START WITH THE WORD POPU AT E THOSE THAT RUN WHEN ONE OF THE RESE EGEND BUTTONS ND H R ARE PRESSED THESE PROCEDURES CALCULATE AND LOAD A LEGE R EVIEW ON THE LAYERSYMBOL FORM THAT THE USER CAN EXAMI NE BEFORE APPLYING TO THE MAP PopulateNewUVLegend PopulateExistingUVLegend unique values PopulateNewCBLegend PopulateExistingCBLegend class breaks Private Sub PopulateNewUVlegend rendField As String Dim strsUniqueValues As New MapObjects2 Strings Dim fld As MapObjects2 Field Dim i As Integer Set fld flds rendField If fld Is Nothing Then Exit Sub End If Screen MousePointer vbHourglass recs MoveFirst Do While Not recs EOF strsUniqueValues Add fld Value recs MoveNext Loop Screen MousePointer vbDefault If strsUniqueValues Count gt 100 Dim yn As Integer Then yn MsgBox Number of unique values is greater than 100 like to continue _ vbYesNo Unique values If yn 7 Then Exit Sub End If End If frmLayerSymbol 20 If picUV Count gt 1 Then For i picUV Count 1 To 1 Step 1 U
7. 90 String As String first occurr Returns Stri Dim Split As L Dim Tok As Str StrIn Trims Split InStr If Split lt 0 n TO Strin El 1 K Tok TrimS L End If GetFirstToken End Function modUtility 1 Option Explici Public gSel ance of d limiter THN po ng token 1 ong ing StrIn ta SEP Then eftS StrlIn Tok t Public Public Public Connect the Data Con Public Functio Select Case er Case moNoError Case moUnknown Case moAccess Case moInvalid Case moNetwork Case moInvalid Case moTasksEx Case moFileNo Case moInvalid Case moHostUnk Case Else Con End Select drawl End Function n ConnectErro rNum Connect Connec Error Denied Connect Connect Timeout Conn Database Con ceeded Conne User Directory nown Connect nectErrorMsg Error Found Connect e n c E E Delim No delimiter in the string Return the whole thing Get everything up to the first delimiter Split 1 ection As MapObjects2 Recordset ActiveLayer As MapObjects2 MapLayer SelectedFormUp As Boolean Layer As MapObjec ErrorMsg Defines a nection object ts2 MapLayer n appropriate error message for sg errNum As Integer As String Error Unknown Access Denied Invalid User ErrorMsg Network Timeout ErrorMsg Invalid Database ror
8. Principal janela do SlGest o 19 A barra de ferramentas que divide essas duas reas constitu da por 9 bot es De cima para baixo o sinal de mais verde que permite a abertura de uma outra janela para carregar camadas de dados espaciais em run time lupa com sinal de mais no interior zoom in lupa com sinal de menos no interior Zoom out m o branca pan map dois livros este bot o permite aceder a informa o intr nseca de um ou mais pol gonos seleccionados pelo utilizador globo azul full extent Bin culos pretos que permite usarem uma outra janela para procurar itens presentes no mapa cone do AGRO GEST O permite aceder a menu para liga o a base de dados externa Disquete salvar como ainda em constru o Cada uma destas funcionalidades vai a seguir ser descrita com recurso a exemplos 3 5 1 Carregar dados espaciais Os dados espaciais capazes de serem carregados nesta vers o do SlGest o s o os vectoriais e raster No caso dos dados de formato vectorial devem ser s utilizados do tipo shapefile shp A maioria dos dados vectoriais do tipo shapefile como por exemplo os Parcel rios agr colas e levantamentos topogr ficos com recurso a instrumentos ligados com GPS No caso da informa o raster estes sao do tipo imagem tiff gif e ser o sobretudo ortofotomapas e digitaliza es de cartas militares 20 Toda a informa o espacial ut
9. parcela activa E 11 13 14 15 17 18 NUMERODEF 2112312210002 NOMEPREDIO HERD MOMPORCIO Featureld 7 DUP F BLOCO 2112312210 AREA HA 51 37688 FREG 07 PERIMETER 4304 06 Figura 28 Janela secundaria Informa o da s parcela s seleccionada s neste caso mais que uma parcela seleccionada 34 3 5 6 Ferramenta Procurar e botao Salvar Projecto Estas duas funcionalidades est o ainda em fase de constru o n o estando ainda completamente desenvolvidas at data de entrega deste trabalho Como n o fazem parte dos requisitos m nimos nem s o essenciais ao bom funcionamento do SlGestao n o impedem que este cumpra o objectivo tra ado no in cio Mas apesar de ainda estarem a ser desenvolvidas n o h qualquer impedimento que se fa a refer ncia a elas A ferramenta procurar a que est mais desenvolvida das duas faltando pouco para ficar conclu da servir para que qualquer elemento do mapa seja identificado e localizado por um valor ou campo presente na sua informa o intr nseca figura 29 O salvar projecto est tamb m na fase de constru o e o seu objectivo simples que se possa guardar as altera es efectuadas ao projecto m SiGest o visualizador da propriedade M CAM ES ALL IGEOE ie Encontrar parcelas m 7 PIPA O 7 MOMPORCAO O 7 AMIEIRA pa E mompo amieira O items encontrados Figura
10. SIGESTAO M dulo SIG integrado no sistema de informa o de gest o agro pecuario AGRO GESTAO Trabalho de Projecto apresentado como requisito parcial para obten o do grau de Mestre em Ci ncia e Sistemas de Informa o Geogr fica Instituto Superior de Estat stica e Gest o de Informa o da Universidade Nova de Lisboa SIGESTAO M dulo SIG integrado no sistema de informa o de gest o agro pecu rio AGRO GESTAO Trabalho de projecto orientado por Professor Doutor Miguel Castro Neto Setembro de 2008 AGRADECIMENTOS A todos que directa e indirectamente deram contributo para a realiza o deste trabalho De forma particular Ao Professor Doutor Miguel Castro Neto pela s bia orienta o e total disponibilidade FZ AGROGESTAO na pessoa do Eng Jos Pedro Sarmento pelo interesse e ajuda Aos companheiros e amigos Andr Barriguinha e Paulo Ribeiro por toda a ajuda nestes 2 anos divertidos e rduos Aos amigos David Lu s Ivan Ricardo e Artur pela distrac o que proporcionaram e que clareou v rias vezes as ideias permitindo ganhar f lego para continuar o trabalho Ao Eng Jos Pedro Abreu Barreira e fam lia pelo suporte amizade e o tempo dentro das horas de servi o sem o qual seria imposs vel concluir este trabalho neste espa o de tempo minha fam lia por todo o apoio sem o qual n o teria sido poss vel ter chegado at aqui minha esposa Joana pelo seu amor grato pela
11. Text DrawBackground chkSL 0 Value 1 AllowDuplicates chkSL 1 Value 1 SplinedText chkSL 2 Value 1 Flip chkSL 3 Value 1 End With Set lyr Renderer lr End Sub Private Sub ApplyNoOverlapLabels Dim fnt As New stdole StdFont Set lp New MapObjects2 LabelPlacer lp Field cboNOL Text fnt Name cdlgLayerProp FontName fnt Bold cdlgLayerProp FontBold fnt Italic cdlgLayerProp FontItalic fnt Strikethrough cdlgLayerProp FontStrikethru fnt Underline cdlgLayerProp FontUnderline Dim scaleHeightUnit As Double scaleHeightUnit lyr Extent Width 10000 With lp DefaultSymbol Height scaleHeightUnit 1001 hsbNOL Value Color colorText Set Font fnt End With lp PlaceAbove optNOL 1 lp PlaceBelow optNOL 2 lp PlaceOn optNOL 0 Select Case chkNOL 0 Value Case 0 lp DrawBackground False Case 1 lp DrawBackground True End Select frmLayerSymbol 19 Select Case chkNOL 1 Value Case 0 lp AllowDuplicates False Case 1 lp AllowDuplicates True End Select 83 Select Case chkNOL 2 Value Case 0 lp MaskLabels False Case 1 lp MaskLabels True lp MaskColor picNOL BackColor End Select Set lyr Renderer lp End Sub Private Sub ApplyZRenderer Dim symInt As Integer If lyr shapeType moShapeTypeMultipoint Then
12. V MOMPORCAO a Iv PIPA ly C3670430 TIF Image ly C3800120 TIF Image 7 PIPA TIF Image Figura 14 Seleccionar rea do mapa a ampliar atrav s de rect ngulo 25 SiGest o visualizador da propriedade 7 AMIEIRA 7 MOMPORCAO 7 PIPA 7 3670430 TIF Image f C3800120 TIF Image f PIPA TIF Image Figura 15 rea ampliada atrav s do rect ngulo desenhado na figura 14 e desenho de novo rect ngulo para maior amplia o Figura 16 Grande amplia o obtida do rect ngulo desenhado na figura 15 26 O zoom out com cliques sucessivos do cursor no mapa fara exactamente o inverso figura 17 Figura 17 Um clique no mapa provoca o inverso zoom out O pan map permite deslocar o mapa para todas as direc es por interm dio de arrastamento Com estas 3 ferramentas poss vel colocar no local pretendido a rea do mapa O bot o full extent permite colocar todas as camadas presentes no mapa na rea de visualiza o figura 18 Figura 18 Aspecto do resultado da ferramenta full extent 27 3 5 3 Modificar as propriedades visuais dos dados vectoriais poss vel modificar as propriedades de visualiza o de todas as camadas em formato vectorial O duplo clique no nome da camada a alterar permite o aparecimento de uma janela de di logo Propriedades da camada nome da camada
13. cboSSP 0 ListIndex If IsNumeric txtSSP 0 Text Then sym Size txtSSP 0 Text Else sym Size 1 End If Case moPolygon sym Color picSSP 0 BackColor sym OutlineColor picSSP 1 BackColor sym Style cboSSP 0 ListIndex If IsNumeric txtSSP 0 Text Then sym Size txtSSP 0 Text Else sym Size 1 End If Select Case chkSSP Value Case 1 lyr Symbol Outline True Case 0 lyr Symbol OutlineColor lyr Symbol Color lyr Symbol Outline False End Select End Select End Sub frmLayerSymbol 17 Private Sub ApplyUniqueValues Dim i As Integer Dim symInt As Integer If lyr shapeType moShapeTypeMultipoint Then 5 symint 0 Else symInt lyr shapeType 21 End If vmr SymbolType symInt 81 If vmr SymbolType moFillSymbol Then For i 0 To vmr ValueCount 1 Select Case chkUV Value Case 0 vmr Symbol i Outline False vmr Symbol i OutlineColor vmr Symbol i Color Case 1 vmr Symbol i Outline True vmr Symbol i OutlineColor moBlack End Select Next End If Set lyr Renderer vmr End Sub Private Sub ApplyClassBreaks Dim i As Integer Dim symInt As Integer If lyr shapeType moShapeTypeMultipoint Then symint 0 Else symInt lyr shapeType 21 End If cbr SymbolType symInt If cbr SymbolType moFillSymbol Then For i 0 To cbr BreakCount Select Cas
14. 0 Then cmdremove Enabled True layerTools Buttons 1 Enabled False layerTools Buttons 3 Enabled True ElseIf curItem listCount 1 Then cmdremove Enabled True layerTools Buttons 1 Enabled True layerTools Buttons 3 Enabled False Else cmdremove Enabled True layerTools Buttons 1 Enabled True layerTools Buttons 3 Enabled True End If End Sub frmFind 1 Option Explicit Dim Recs2 As MapObjects2 Recordset Dim layerName As String Dim layerNum As Integer Dim f_Action As String Dim LayerStatus As Integer Private Sub rebuildListView lvwLayerList ListItems Clear Dim numLayers As Integer numLayers Forml Mapl Layers Count Dim curLayer As Object Dim curLayerIndex As Integer Dim curLayerName As String 58 vbCritical Connection Dim curLayerType As Integer Dim curShapeType As Integer Dim curListItem As ListItem Dim iconIndex As Integer Dim i As Integer For i 0 To numLayers 1 Set curLayer Forml Mapl Layers i curLayerName curLayer Name curLayerType curLayer LayerType If curLayerType moMapLayer Then curShapeType curLayer shapeType End If If curLayerType moImageLayer Then iconIndex 4 ElseIf curLayerType moMapLayer Then If curShapeType moShapeTypePoint Then iconIndex 1 If curShapeType moShapeTypeLine Then iconIndex 2 If curShapeType moShapeTypePolygon Then iconIndex 3 End If If LayerStatus
15. DUP F BLOCO 2102297347 AREA H 6 7747 PLOTS Shape 14 AREA 67747 OCUPACIO_D FL FREG 07 PERIMETER 2370 113 Figura 5 Exemplo da apresenta o no SlGest o da informa o intr nseca de uma camada vectorial 17 3 4 1 6 Legenda e r tulos A legenda das camadas de dados raster ou vectorial carregadas na rea de mapa do SlGest o apresentada na lateral da moldura de visualiza o permitindo uma melhor compreens o dos dados presentes no mapa figura 6 MV AMIEIRA 7 MOMPORCAG OCU EF CA PP AS Figura 6 Exemplo de legenda no SlGest o poss vel rotular cada um dos pol gonos das camadas vectoriais n o poss vel rotular raster atrav s do ltimo separador ROTULOS do controlo das propriedades das camadas vectoriais fazendo o duplo clique no nome da camada em causa 3 4 1 7 Ferramenta PROCURAR ITEMS Esta ferramenta tem como objectivo identificar no mapa um ou mais pol gonos de que partida conhecemos o valor de um ou mais campos uma ferramenta muito til para grandes quantidades de informa o em uso 3 4 2 Interface com dados externos Nesta vers o do SlGestao podem ser feitas liga es a dois tipos de ficheiros liga es a ficheiros DBASE dbf e a ficheiros MS ACCESS mdb A liga o realizada pelo SlGest o entre os dados espaciais mapa do SiGest o e os dados alfanum ricos externos ao SlGest o AGRO GESTAO
16. Desafios e desenvolvimentos futuros REFER NCIAS BIBLIOGR FICAS ANEXOS 1 C digo integral do projecto 2 CD com SlGest o exe e projecto Visual Basic viii 28 30 33 35 36 41 41 41 43 45 48 49 92 INDICE DE FIGURAS Figura 1 Caracteriza o da estrutura fundi ria FZ AGROGESTAO 2006 Figura 2 Informa o complementar das parcelas FZ AGROGESTAO 2006 Figura 3 Excerto da visualiza o de ortofotomapa raster e de parcelario agr cola vectorial usado em simult neo no SlGest o Figura 4 Bot es de controlo do SlGest o Figura 5 Exemplo da apresenta o no SlGest o da informa o intr nseca de uma camada vectorial Figura 6 Exemplo de legenda no SlGest o Figura 7 Principal janela do SlGest o Figura 8 Janela secund ria controlo de camadas Figura 9 Janela de di logo do Windows Figura 10 Controlo de camadas do SlGest o com apenas uma camada carregada Figura 11 Controlo de camadas do SlGest o com duas camada carregadas ortofotomapa pipa tif no topo e parcel rio pipa por tr s Figura 12 Controlo de camadas do SlGest o com as mesmas duas camada carregadas com ordem invertida em rela o a figura anterior Figura 13 Controlo de camadas do SlGest o com apenas 1 camada carregada removida a camada pipa tif Figura 14 Seleccionar rea do mapa a ampliar atrav s de rect ngulo Figura 15 rea ampliada atrav s do rect ngulo desenhado na figura 14 e desenho de n
17. J P 2004 Software de Gest o Forma o Consultoria Conhecimento CDROM In Actas 1 Congresso Luso Brasileiro de Tecnologias de Informa o e Comunica o na Agro Pecu ria APDTICA Ed CNEMA Santar m 73 p 47 ANEXOS 48 1 Codigo integral do projecto bd 1 Option Explicit Private Sub Commandi Click Identificar BD para relacionar Dim fName As String CommonDialogl Filter CommonDialogl ShowOpen dName As String ficheiros dBASE GF db dbi Conectar usando DAO If CommonDialogl filename lt gt And Listl ListIndex gt Dim pTable As New MapObjects2 Table pTable Database dBase IV DATABASE amp Left CommonDi Len CommonDialogl filename Le n CommonDialogl FileTitle 1 pTable Name Left CommonDialogl FileTitle Len CommonDialogl FileTitle 4 Dim pLayer As MapObjects2 MapLayer Set pLayer Forml Mapl Layers 0 pFName Listl List Listl ListIndex pFName As String Checar item s tabela pertence a For i O To pTable Records TableDesc FieldCount 1 If pTable Records TableDesc FieldName i pFName Then Fazer liga o de acordo com o item escolhido If player AddRelate pFName Then istLayers Else sgBox End If End If Next i Else sgBox pTable pFName True Relacionamento falhou Escolha um item da lista e um ficheiro tent 1 Then alogl filename i As Integer
18. True End Next cbos cbos cbos edi TE 1 1 0 ListIndex sFirstStringFld 1 ListIndex 1 1 A cdl cd 12 cdl cdl cdl OQ O O O O O 1Q cdl 2 ListIndex 1 yerProp FontName MS Sans Serif yerProp FontSize 10 ayerProp FontBold False ayerProp FontItalic False ayerProp FontStrikethru Fals ayerProp FontUnderline Fals ayerProp Color moBlack cmdApply Enabled True cmdOK Enabled True This function may be called if the layer currently has a LabelPlacer set If Not lyr Renderer Is Nothing Then If TypeOf lyr Renderer Is MapObjects2 LabelPlacer Then Work out scale based on layer s extent This value will be used to help convert the slider height value into a label size in map units Dim scaleHeightUnit As Double scaleHeightUnit lyr Extent Width 10000 Use size from existing LabelPlacer Dim currSizeMapUnits As Double currSizeMapUnits lyr Renderer DefaultSymbol Height Convert this Map Units size to a size in Points size and set the Font size value appropriately Dim sglTemp As Single sglTemp Forml Mapl FromMapDistance currSizeMapUnits 1 lFactor Dim currSizePoints As Double currSizePoints ScaleY sglTemp vbTwips vbPoints cdlgLayerProp FontSize currSizePoints Copy other values if a
19. composi o para a camada basta clicar no bot o Aplicar e no OK para sair 29 w SiGest o visualizador da propriedade iV AMIEIRA V MOMPORCAO iv PIPA w M C3670430 TIF Image a O0 a C3800120 TIF Image g V PIPA TIF Image 4 s A Figura 21 Aspecto das possibilidades de personalizar o aspecto das camadas 3 5 4 Constru o de mapas tem ticos e r tulos Os mapas tem ticos podem ser de dois tipos 1 Os que usam dados alfanum ricos de forma absoluta que atribuem uma cor a cada um dos valores do campo escolhido 2 E os que usam dados exclusivamente num ricos e que s o organizados por intervalos de valores em numero personaliz vel Para a constru o de mapas tem ticos do 1 tipo deve se usar o separador SIMPLES da janela propriedades da camada nome da camada em causa Escolher o campo desejado na caixa de selec o para a constru o do mapa redesenhar a legenda e carregar no bot o Aplicar figura 22 30 SlGest o visualizador da propriedade n M AMIEIRA TESTE a E E Reet ER as mi jo Iv PIPA JZ MOMPORCAO a Geral Simples I CAMDES ALL IGEOH AMIEIRA TESTE Ta a E mi i Campo TESTE Redesenha legenda Iv Desenha limites Figura 22 Mapas tem ticos com dados alfanum ricos No caso de o campo pretendido ter valores num ricos pode ser mais conveniente usar o terceiro separador CLASSE em que poss
20. de novo End If End Sub Private Sub Command2 Click Remove liga es 1 Forml Mapl Layers 0 RemoveRelates ListLayers End Sub Private Sub y Listar it 1 Listl Clear Dim pFld As For Each pF ListLayers ms pertencentes ao mapa MapObjects2 Field ld In Forml Mapl Layers 0 Records Fields 49 Listl AddItem pFld Name Next pFld End Sub Private Sub Form_Load ListLayers Commandi Caption Ligar a dbase Command2 Caption Desligar Command3 Caption Ligar AGROGESTAO Command4 Caption Desligar AGROGESTAO bd 2 Labell Alignment 1 End Sub VKKKKKKKKKKKKKKKKKKKK VKKKKKKKKKKKKKKKKKKKK VKKKKKKKKKKKKKKKKKKKK VKKKKKKKKKKKKKKKKKKKK VKKKKKKKKKKKKKKKKKKKK VKKKKKKKKKKKKKKKKKKKK VKKKKKKKKKKKKKKKKKKKK Private Sub Command3 Click Dim fName As String dName As String path As String Dim pTable As New MapObjects2 Table pTable Database Provider Microsoft Jet OLI App path amp bd mdb amp Jet OLED B Database Password nest pTable Name bdl Dim pLayer As MapObjects2 MapLayer Set pLayer Forml Mapl Layers 0 pFName Listl List Listl ListIndex Checar item se pertence a tabela For i 0 To pTable Records TableDesc FieldCount If pTable Records TableDesc Fi Fazer liga o de acordo com o item escolhido If pLayer AddRelate pFName pTable pFName True istLayers Else sgBox Liga o
21. deltay As Double Dim theShape As Object pinPoint As MapObjects2 Point curIindex frmFind grdFeatList Row 1 If IsNull curIndex Or curIndex lt 1 Then Exit Sub End If alndex layerNum 1 curIndex aRec layerNum 2 curIndex aName layerName aIndex frmFind 5 Set curRec Recs2 aIndex curRec MoveFirst If aRec gt 0 Then 62 For i 1 To aRec curRec MoveNext Next i vvvvvvvvvvvvvvvverrrr End If Select Case f_Action Case cmdHighlight Forml Mapl FlashShape curRec shape Value 3 Case insert_pin Set pinPoint Nothing Select Case curRec shape Type Case moPoint Set pinPoint curRec shape Value Case moLine sgBox Cannot insert a pin for a Case moPolygon End Select If Not pinPoint Is Nothing Then Forml Mapl TrackingLayer AddEvent Forml Mapl 1 End If Case cmdPanto Set Rect2 Forml Mapl Extent line feature Set pinPoint curRec shape Value Centroid pinPoint rackingLayer SymbolCount 1 Set theShape curRec shape Value If curRec shape Type moPoint Then shapeX curRec shape Value X shapeY curRec shape Value Y Else Set Rect curRec shape Value Extent shapeX Rect Center X shapeY Rect Center Y End If deltax shapeX Rect2 Center X deltay shapeY Rect2 Center Y Rect2 0ffset deltax deltay Forml Mapl
22. feita atrav s duma conex o OLEDB Object Linking and Embedding Database enquanto que conex o DAO Data Access Object foi utilizado para 18 conectar aos ficheiros dbase Tanto uma liga o como a outra podem ser executadas em run time nesta vers o a liga o a dbase ou em design time nesta vers o a liga o a MS Access podendo assim escolher qual a melhor procedimento que se adapta a cada utilizador Em princ pio a liga o ao MS ACCESS especificamente ao AGROGESTAO deve ser inscrita no c digo e pode at ser interessante que esta liga o seja feita em simult neo com o in cio da aplica o dependendo do caso No caso de liga es a ficheiros dbase por outro lado trar mais vantagens que se mantenha de navega o em run time visto que as origens destas fontes de informa o ser o mais vari veis 3 5 Manual de utiliza o O manual tem como objectivo aumentar o conhecimento das funcionalidades que esta vers o do SlGest o possui A janela principal possui duas reas principais separadas pela barra de ferramentas Assim cada camada de dados carregada causar dois acontecimentos o primeiro ser a visualiza o dos dados na rea mais direita da janela e o segundo o aparecimento na rea mais esquerda da legenda dessas camadas No caso de ser camada do tipo vectorial a cor de representa o dos pol gonos aleat ria SiGestao visualizador da propriedade mr Bo eco Figura 7
23. i O Then iconIndex iconIndex 4 If iconIndex lt gt 4 And iconIndex lt gt 8 Then Set curListItem lvwLayerList ListItems Add curLayerName iconIndex End If Next i End Sub Private Sub check cmdFindButton frmFind cmdFindButton Enabled False If Not IsNull frmFind cboSearchList Text Then Dim i As Integer For i 0 To Forml Mapl Layers Count 1 If LayerStatus i 1 And frmFind cboSearchList Text lt gt Then frmFind cmdFindButton Enabled True Exit For End If Private Sub toggleCheckbox Dim selItem As Integer frmFind 2 s I elItem lvwLayerList SelectedItem Index 1 f LayerStatus selItem 1 Then LayerStatus selItem 0 Else LayerStatus selItem 1 End If Call rebuildListView End Sub Private Sub FindFeatures Dim Exp As String searchExp As String Dim layerCnt As Integer layerCount As Integer layerCnt Forml Mapl Layers Count ReDim layerName layerCnt ReDim Recs2 layerCnt Dim aValue As String aName As String 59 Dim layer_Name As String featCount As Integer Dim i As Integer curCount As Integer Dim recs As MapObjects2 Recordset Dim Test As Boolean Dim aField As Object Forml Mapl TrackingLayer ClearEvents Screen MousePointer vbHourglass featCount 1 layerCount 1 searchExp like S frmFind cboSearchList frmFind grdFeatList FixedRows 0 frmFind grdFeatList Rows 1
24. o AGRO GEST O quais as suas funcionalidades e objectivos bem como qual o seu p blico alvo 2 2 Ambientes de desenvolvimento de software SIG A interoperabilidade um dos aspectos mais frustrantes com que os utilizadores SIG se podem confrontar A transversalidade do mundo SIG e a necessidade de usar dados de diferentes origens com diversos formatos e caracter sticas dificulta um pouco o trabalho que se quer desenvolver e pode impedir de atingir os objectivos desejados Existe deste modo a necessidade de personalizar aplica es medida das necessidades do utilizador para que este consiga atingir os objectivos com maior facilidade A personaliza o em ambiente SIG o processo de modifica o de software SIG para por exemplo adicionar funcionalidades novas a aplica es ou embutir fun es SIG noutras aplica es Longley et al 2005 Os ambientes de desenvolvimento de software SIG s o ambientes de desenvolvimento de car cter geral como o Visual Basic O Visual C Delphi entre outros que usam bibliotecas de objectos program veis sobre mapas que permitem o desenvolvimento de aplica es com mapas Painho et al 1999 aplica es estas que podem por sua vez ser personalizadas medida das necessidades Um dos mais populares ambientes de desenvolvimento personaliza o de software SIG de uso local utilizado o Microsoft Visual Basic Em todos estes ambientes preciso usar conjuntos de
25. ria Parcela da Forragem Parcela do Eucaliptei Para l do caminho de meias Ribeira do Montado Baldio do Velho Lameiro de tr s Vinha Nova do Monte Entre estradas ARo da Bos Viagem V rzea do Principe Duas Partes Po o Velho Baixa da Pimenteira Vinha Baixa Figura 34 Fotomontagem de previs vel aspecto do AGRO GESTAO com a inclus o de m dulo de visualiza o SlGest o As limita es que o SlGest o pode apresentar neste momento al m das inerentes a uma aplica o jovem e pouco testada alguma complexidade na personaliza o dos caminhos para o AGRO GESTAO o que pode significar a necessidade da exist ncia de t cnicos com algum grau de conhecimento Esta pode ser considerada nula uma vez que a FZ AGROGESTAO possui quadros com essa capacidade A desloca o desses t cnicos ao local onde se trabalha com o AGRO GESTAO para proceder ao devido endere amento da aplica o pode ser minimizada com recurso assist ncia remota 42 4 3 Desafios e desenvolvimentos futuros A vers o do SlGest o aqui desenvolvida apesar de respeitar todos os requisitos m nimos precisa de mais algum investimento para que se possa considerar a sua incorpora o no AGRO GESTAO Estas funcionalidades e outras que oportunamente podem ser desenvolvidas e adicionadas podem ser a ponte para a continua o do desenvolvimento desta aplica o z Um dos aspectos que se deve pensar futuramente o car
26. tDesc FieldType i moDouble Then cbhoSL 3 AddItem strFN If lr xoffsetField strFN Then cboSL 3 List Index i End If cbhoSL 4 AddItem strFN If lr YoffsetField strFN Then cbhoSL 4 List Index i End If End If Next Select Case lr Symbol 0 HorizontalAlignment frmLayerSymbol 14 Case moAlignLeft choSL 1 ListIndex 0 Case moAlignCenter choSL 1 ListIndex 1 Case moAlignRight choSL 1 ListIndex 2 End Select Select Case lr Symbol 0 VerticalAlignment Case moAlignTop choSL 2 ListIndex Case moAlignCenter cboSL 2 ListIndex 1 Case moAlignBottom cboSL 2 ListIndex 2 End Select hsbSL Value lr Symbol 0 Rotation 1b1ISL 7 Caption lr Symbol 0 Rotation For i 0 To 3 chkSL i Value 0 Next If 1lr DrawBackground Then chkSL 0 Value 0 End If If lr AllowDuplicates Then chkSL 1 Value End If If lr SplinedText Then chkSL 2 Value End If 78 If lr Flip Then chkSL 3 Value End If txtSL Tex txtSL Fo cdlgLaye cdlgLaye cdlgLaye cdlgLaye cdlgLaye cdlgLaye cdlgLaye End Sub Private Sub Dim i As Integer Dim scaleHeightUnit As Dim strFN As String Set lp lyr Renderer color cbhoNO For i lr g lor rop rop rop RRB BH O OQ O O O O 1Q Color
27. thematic maps with the data contained in AGRO GESTAO PALAVRAS CHAVE Agricultura AGRO GESTAO Desenvolvimento SIG MapObjects Visual Basic KEYWORDS Agriculture AGRO GESTAO GIS development MapObjects Visual Basic vi INDICE DO TEXTO AGRADECIMENTOS RESUMO ABSTRACT PALAVRAS CHAVE KEYWORDS INDICE DE FIGURAS 1 Introdu o 1 1 Enquadramento 1 2 Objectivos 1 3 Premissas 1 4 Metodologia 2 Ambientes de desenvolvimento SIG e linguagens de programa o 2 1 Objectivos do cap tulo 2 2 Ambientes de desenvolvimento de software SIG 2 3 Desenvolvimento de aplica es SIG 2 4 Exemplos de aplica es SIG 3 M dulo SIG para o sistema de informa o de gest o AGRO GEST O e 3 1 Objectivos do cap tulo 3 2 Descri o do sistema AGRO GEST O 3 3 Desenvolvimento 3 4 Funcionalidades e Interface 3 4 1 Funcionalidades presentes 3 4 2 Interface com dados externos 3 5 Manual de utiliza o 3 5 1 Carregar dados espaciais 3 5 2 Usar as ferramentas de visualiza o 10 13 14 15 18 19 20 25 3 5 3 Modificar as propriedades visuais dos dados vectoriais 3 5 4 Constru o de mapas tem ticos e r tulos 3 5 5 Informa o intr nseca dos dados espaciais 3 5 6 Ferramenta Procurar e bot o Salvar Projecto 3 5 7 Liga o externa a base de dados 4 Considera es Finais 4 1 Objectivos do cap tulo 4 2 Vantagens e limita es da aplica o 4 3
28. vel seleccionar al m do campo o n de classes pretendido redesenhar a legenda e aplicar figura 23 e 24 SiGest o visualizador da propriedade E lt E Propriedades da camada MOMPORCAO IV MOMPORCAO AREA Less than 13 224 13 2245 25 942 25 942 38 6594 Greater than 38 Geral Simples Classes Campo num rico Numero de classes AREA HA x X MOMPORCAD AREA HA a 1828 Sega Gates age no gt Fim I Desenha Limites Redesenha legenda 7 Cancelar OK Figura 23 Mapas tematicos exclusivamente a partir de dados num ricos 4 classes de valores 31 SiGest o visualizador da propriedade M AMIEIRA PROD dj DOM ART Eee TER TA Less than 255 00 BB Greater than 255 I PIPA 7 MOMPORCAO al Geral Simples Classes Fotos iv CAMOES_ALL_IGEOE E Campo num rico Numero de classes PROD zl Pp xl AMIEIRA PROD Menor que 255000 00 gt 255000 00 E 1 o 2 a Grada o In cio Fm B IV Desenha Limites Redesenha legenda Figura 24 Mapas tem ticos exclusivamente a partir de dados num ricos 2 classes de valores O quarto e ltimo separador ROTULOS permite escrever dentro de cada pol gono o valor do campo alfanum rico desejado Assim como controlar uma s rie de propriedades desses r tulos como a fonte e o tamanho da letra e a posi o dentro do pol gono fi
29. 5 Visible lb1SSP 6 Visible b1SSP 7 Visible retrieve and dis txtSSP 0 Text 1b1SSP 0 Caption 1lb1SSP 2 Caption For i 0 To 4 cboSSP 0 AddItem Next picSSP 0 BackCol cboSSP 0 Text cboSSP 0 ListInd hsbSSP Value 0 lb1SSP 7 Caption cboSSP 1 Enabled cbhoSSP 2 Enabled lb1SSP 3 Enabled lb1SSP 4 Enabled e False True False TEUS LEUS True False True play current values 5 Marker Col Size or strMarkerStyle i or moGreen strMarkerStyle moSquareMarker 6 ex mAN Fal Fal Fal Fal Fal Fal False ultipoint bility True True False True False True True True False True play current values 5 se se se se se se Marker Col SIZE or strMarkerStyle i or moGreen strMarkerStyle moSquareMarker ex wom Fal Fal Fal Fal se se se se 69 lb1SSP 5 Enabled False lb1SSP 7 Enabled False hsbSSP Enabled False Case moLine set visibility cboSSP 1 Visible False cboSSP 2 Visible False chkSSP Visible False hsbSSP Visible False picSSP 1 Visible False 1b1SSP 3 Visible False 1b1SSP 4 Visible False 1b1SSP 5 Visible False 1b1SSP 6 Visible False 1lb1SSP 7 Visible False retrieve
30. As String strImage As String strOtherImage As String Dim strCov As String strAll As String s s trShape Ficheiros Shape shp shp trImage Imagens bmp tif bmp tif 56 strAll Shape files shp coverages adf images bmp tif shp bmp tif aa t adf pat adf nat adf txt adfy stat o paty r ratr CommonDialogl Filter strAll amp strlImage amp amp strOtherImage CommonDialogl DialogTitle CommonDialogl ShowOpen If CommonDialogl filename Then fullFile TrimS CommonDialogl filename textPos Len fullFile Test False Do While Test Fals textPos textPos 1 tempChar MidS fullFile If tempChar Then periodPos textPos ElseIf tempChar Test True End If Loop curPath Left fullFile Dim filename As String filename CommonDialogl FileTitle ext LCase MidS fullFile periodPos 1 If ext shp Then Call addShapeFile curPath Else Call addImage fullFil End If IstLayers Clear Form Load refreshButtons End Sub rivate Sub addImage imageFile As String textPos 1 Or textPos 0 Then textPos 1 fi lename e amp strShape amp Exit Sub 3 amp strCov amp mye we amp Seleccionar ficheiro para nova camada im il Layer As New ImageLayer Layer File imageFil f Forml Mapl Layers Add iL
31. Collection Mapl Layers Count If Mapl Layers i imagecoll Add Mapl Layers i Layers i 1 molmageLayer Then LayerType moMapLayer Then Select Case Mapl Layers i shapeType Case moShapel TypePoint ptcoll Add Mapl Layers i Forml 3 Case moShapel ypeLine Mapl Layers i linecoll Add Case moShapel polycoll Add End Select End If Next i Next p For Each TypePolygon Mapl Layers i apl Layers Clear Dim p As MapObjects2 MapLayer For Each p In polycoll apl Layers Add p Next 1 Z ext p yO ext im nd bt Ae apl Refresh End Sub Single Y As Dim pt As apl Refresh Dim curRectangle As New apObjects2 Point If Toolbarl Buttons 3 apl Extent Mapl TrackRectangle ElseIf Toolbarl Buttons Set curRectangle Mapl Extent For Each p In ptcoll apl Layers Add p Single curRectangle ScaleRectangle Set Mapl Extent curRectangle Dim Loc As New MapObjects2 Point Set Loc Mapl ToMapPoin apl CenterAt Loc X Loc Y apl Refresh apl Pan apl Refresh Value Dim 1 As MapObjects2 MapLayer In linecoll apl Layers Add 1 apl Extent Mapl FullExtent im im As MapObjects2 ImageLayer or Each im In imagecoll apl Layers Add im Private Sub Mapl_MouseDown Button As Integer apObjects2 Rectangle 1 Then 4 Value 2 E XY ElseIf Toolbarl Buttons 5 Value 1 Then 1
32. O daria a este uma diferencia o e um valor acrescentado significativo o SlGest o deveria conseguir fazer de interface entre a informa o espacial nos formatos vectoriais com a informa o alfanum rica contida no AGRO GEST O Para isso o SlGest o teria que poder ligar se ao AGRO GEST O por meio de campo comum 14 3 4 1 Funcionalidades presentes De seguida faz se uma breve descri o de todas as funcionalidades presentes nesta vers o do SlGest o que pode ser complementado com subcap tulo seguinte Manual 3 4 1 1 Carregar informa o espacial em formato vectorial raster O SlGest o possui a capacidade de visualizar informa o vectorial ou raster A informa o vectorial que previsivelmente ser mais usada o parcel rio agr cola e no caso de dados em formato raster ser o os ortofotomapas A utiliza o de ambas em camadas permite rentabilizar a visualiza o da informa o figura 3 Figura 3 Excerto da visualiza o de ortofotomapa raster e de parcel rio agr cola vectorial usado em simult neo no SlGest o Os dados pode sem carregados por tr s vias Duas delas em design mode fase de constru o da aplica o poss vel alterar o c digo e uma outra em run mode fase de utiliza o da aplica o imposs vel alterar o c digo Em design mode pode se optar por usar de forma mais intuitiva as propriedades do objecto MapLayer pertencente ao MapObjects 2 4 ou escrever dir
33. and display current values txtSSP 0 Text 1 1b1SSP 0 Caption Line Color 1b1SSP 2 Caption Line width For i 0 To 4 cboSSP 0 AddItem strLineStyle i Next picSSP 0 BackColor moBlue cboSSP 0 Text strLineStyle 0 cboSSP 0 ListIndex 0 Case moPolygon set visibility choSSP 1 Visible False cboSSP 2 Visible False chkSSP Visible True hsbSSP Visible False frmLayerSymbol 7 picSSP 1 Visible True 1b1SSP 3 Visible False 1lb1SSP 4 Visible False 1bISSP 5 Visible False 1lb1SSP 6 Visible True 1bISSP 7 Visible False retrieve and display current values txtSSP 0 Text 1 1b1SSP 0 Caption cor de preenchimento 1lb1SSP 2 Caption limite For i 0 To 10 cboSSP 0 AddItem strFillStyle i Next picSSP 0 BackColor moLightGray picSSP 1 BackColor moBlack cboSSP 0 Text strFillStyle 0 cboSSP 0 ListIndex 0 chkSSP Value 1 End Select cmdApply Enabled True cmdOK Enabled True End Sub Private Sub InitUniqueValues Dim i As Integer 70 Load ComboBox with layer field names cboUV Clear For i 0 To tDesc FieldCount 1 cboUV AddItem tDesc FieldName i Next cboUV ListIndex 0 fraUVouter Caption Legend Preview If a legend already exists unload it If picUV Count gt 1 Then For i picUV Count 1 To 1 Step 1 Unload picUV i Unload 1b1UV i Next End If picUV 0 Visible False 1lb1UV 0 Visible False c
34. base de dados espaciais complexas aumentando a efici ncia de outras ferramentas na agricultura moderna Committee on Assessing Crop Yield Site Specific Farming 1997 A grande maioria dos softwares SIG utilizados actualmente integra muitas funcionalidades que s o in teis para as efectivas necessidades dos utilizadores onde somente 10 a 20 da totalidade de funcionalidades dispon veis s o efectivamente utilizadas pela maioria dos utilizadores Painho et al 1999 Existem duas maneiras de colmatar esta defici ncia Oliveira et al 1997 A adapta o e treino dos utilizadores ao software SIG A personaliza o do software SIG ao perfil do utilizador e dos requerimentos pretendidos para a aplica o A primeira op o parece ser inaceit vel do ponto de vista da interac o operador computador Oliveira et al 1997 Por outro lado A constru o de uma aplica o de raiz para determinadas fun es eliminaria o anterior facto bem como diminuiria a complexidade de utiliza o que o software SIG possui tamb m nos dias de hoje permitindo a utilizadores menos especializados realizarem fun es que de outra maneira n o o fariam Painho et al 1999 muito importante que se construam SIG inteiramente funcionais f ceis de aprender por n o especialistas com intuito de transferir definitivamente esta tecnologia para a comunidade agr cola Committee on Assessing Crop Yield Site Specific Farming 1997 Actualmente
35. desenvolvem na empresa Os sistemas de informa o geogr fica SIG funcionam muito bem em sistemas de suporte decis o Kraak 1996 esta sinergia inclui a visualiza o de dados espaciais beneficiando de v rios modelos de gest o de informa o Como metodologias de gest o e planeamento de propriedades Karkanis et al 1997 O sistema de informa o de gest o AGRO GESTAO abrange diversos sectores da empresa agro pecu ria desde o econ mico ao t cnico em que s o registados todos os inputs e outputs de determinada parcela ou conjunto de parcelas zona No final de cada ano podem ser constru das contas de cultura actividade monitorizar a produ o de uma determinada cultura numa determinada parcela ou zona entre muitas outras opera es A componente espacial introduz dados adicionais originados da contextualiza o visual que os SIG proporcionam e pode por isso aumentar a efici ncia efic cia rapidez e qualidade da tomada de decis o Esta vantagem pode levar a uma valoriza o deste produto no mercado beneficiando fundamentalmente os clientes e utilizadores do AGROGESTAO dotando os de mais uma ferramenta na tomada de decis es mais fundamentadas Um SIG pode ser definido entre outras coisas como um invent rio mecanizado de elementos e caracter sticas distribu das geograficamente Longley et al 2005 Estes variam desde simples visualizadores de mapas at complexos sistemas de an lise e integra o de
36. g_activelayer Nothing End If Toolbarl Buttons 6 Enabled True End Sub Private Sub Mapl_AfterLayerDraw ByVal Index As Integer ByVal canceled As Boolean ByVal hDC As stdole OLE_HANDLE Dim sym As New MapObjects2 Symbol If gSelection Is Nothing Then it Sub If Index gt 0 Then it Sub J 5 x o H x H wH Ga E Hh D o H Hh sym Color moRed gSelection MoveFirst Do While Not gSelection EOF apl DrawShape gSelection Shape Value sym gSelection MoveNext Loop End Sub Private Sub Mapl_DropFiles ByVal fileNames As Object ByVal X As Single ByVal Y As Single Dim dcx As New MapObjects2 DataConnection Dim shpfile As Variant Dim i As Integer Dim ml As MapObjects2 MapLayer shpfile Dir fileNames Item 0 vbDirectory shpfile CStr Left shpfile Len shpfile 4 dcx Database Left fileNames Item 0 Len fileNames Item 0 Len shpfile 5 If dcx Connect Then For i 0 To fileNames Count 1 Set ml New MapObjects2 MapLayer shpfile Dir fileNames Item i vbDirectory shpfile CStr Left shpfile Len shpfile 4 Set ml GeoDataset dcx FindGeoDataset shpfile Mapl Layers Add ml legmapdisp LoadLegend Next i Dim ptcoll As New Collection 52 Dim linecoll Dim polycoll Dim imagecoll As New Coll As New Coll For i 0 To LayerType ElseIf Mapl ection ection As New
37. j poss vel construir aplica es personalizadas e de utiliza o bastante simples a partir de bibliotecas de componentes ou ferramentas de desenvolvimento r pido de aplica es precisamente esse o objectivo deste projecto a constru o de um software SIG a partir de objectos program veis em ambientes de programa o visual padronizados utilizando o Visual Basic 1 4 Metodologia O projecto foi desenvolvido realizando as seguintes fases de forma sequencial Revis o bibliogr fica e aprofundamento de conhecimentos relativos ao tema e aos softwares em causa nomeadamente Visual Basic 6 Visual Studio MapObjects 2 4 Especifica o dos requisitos do m dulo SIG definidos em sintonia com o representante da empresa FZ AGRO GEST O Eng Jos Pedro Salema e o orientador de projecto o Prof Doutor Miguel de Castro Neto Constru o da aplica o Redac o de um Relat rio Final de Projecto e disponibiliza o do m dulo SIG adiante designado SlGest o 2 Ambientes de desenvolvimento SIG e linguagens de programacao 2 1 Objectivos do capitulo Este capitulo tem como objectivo fazer uma introdu o ao desenvolvimento de software SIG e as linguagens de programa o e frameworks mais usados Sendo tamb m esclarecida a quest o do porqu da escolha do MapObjects e do Visual Basic para a constru o do SlGest o Vai ser ainda tema deste cap tulo uma introdu o ao sistema de informa o de gest
38. objectos visuais bibliotecas sobre mapas dos quais s o exemplo o OpenMap e o MapObjects O OpenMap uma biblioteca em Java freeware que permite apenas visualiza o de dados espaciais com muito poucas funcionalidades de an lise GisLounge 2008 Suporta muitos tipos de dados espaciais existindo uma aplica o exemplo que pode servir como ponto de partida sendo poss vel personaliz la medida das necessidades OpenMap 2008 O MapObjects um controlo active X comercial que permite construir aplica es de visualiza o de consulta e de an lise a variados dados espaciais Este permite que se possa incluir numa aplica o n o SIG algumas capacidades espaciais muito usado para dotar s tios web de capacidades SIG Pode ser programado em v rias linguagens Visual Basic Visual C Java e Delphi o que o torna muito acess vel a v rios tipos de utilizador ESRI 2008b 2 3 Desenvolvimento de aplica es SIG Podem ser encontradas aplica es de SIG virtualmente em quase todo o tipo de plataformas e escritas em quase todas as linguagens de programa o dispon veis Arc Macro Language Avenue Programa o C e C Java O Visual Basic uma linguagem acess vel orientada a objectos que permite a cria o de qualquer tipo de aplicativo eficazes e independentes Brown 1999 Esta talvez a linguagem e o ambiente mais utilizada no mundo quando se quer criar uma determinada aplica o Brown 1999
39. para definir ficheiro dbase a ligar Figura 32 Janela secund ria Ligar ao AGROGESTAO j com os campos originados do ficheiro externo Figura 33 Mapa tem tico com dados externos Figura 34 Fotomontagem de previs vel aspecto do AGRO GESTAO com a inclus o de m dulo de visualiza o 28 29 30 31 31 32 32 33 34 34 35 37 38 39 39 42 1 Introdu o 1 1 Enquadramento O AGRO GESTAO uma aplica o em MS Access de contabilidade de gest o que permite organizar toda a informa o das empresas agr colas clientes O facto de este software se encontrar numa rea de interesse tanto pessoal como profissional levou hip tese de constru o e introdu o de um m dulo SIG que pudesse ser utilizado junto com o AGRO GESTAO O sistema de informa o de gest o AGRO GEST O at ao momento lida apenas com informa o alfanum rica uma vez que a dimens o espacial uma vari vel fundamental no processo de tomada de decis o no contexto agro pecu rio o desenvolvimento de um m dulo SIG vai acrescentar novas e fundamentais funcionalidades aplica o comercial da FZ AGROGESTAO 1 2 Objectivos Com este projecto pretende se criar um modelo de um m dulo SIG constru do em ambiente Visual Basic com recurso aos componentes do MapObjects 2 4 da ESRI adaptado s necessidades da empresa FZ AGROGEST O valorizando o sistema de informa o de gest o t cnica e eco
40. 2 AddItem Chr i Next End Select End Sub Private Sub hsbSSP Change Sets the rotation on a single symbol point marker that is using a TT font 1b1SSP 7 Caption hsbSSP Value End Sub Private Sub hsbSL Scroll Sets the rotation on standard label text lb1SL 7 Caption hsbSL Value frmLayerSymbol 4 End Sub Private Sub hsbSL Change Sets the rotation on standard label text lb1SL 7 Caption hsbSL Value End Sub Private Sub picCBramp_Click Index As Integer comeco e o fim da rampa de cores na TAB classes cdlgLayerProp ShowColor picCBramp Index BackColor cdlgLayerProp Color End Sub Private Sub picNOL_Click Muda a cor de fundo dos rotulos If colorMask lt gt moWhite Then cdlgLayerProp Color colorMask End If cdlgLayerProp ShowColor picNOL BackColor cdlgLayerProp Color colorMask cdlgLayerProp Color liga a cor de fundo check box chkNOL 2 Value 1 End Sub Private Sub picSSP Click Index As Integer define a cor para o TAB Unico cdlgLayerProp ShowColor picSSP Index BackColor cdlgLayerProp Color End Sub Private Sub vsbUV Change redimendionamento do local da previs o da legenda fraUVinner Top 200 vsbUV Value 200 End Sub Private Sub sstLayerProp Click PreviousTab As Integer Quando se carrega em cada um dos TABS carrega as propriedades ja existentes da camada em causa par a o TAB aberto Dim lyrRend As Object lblPanelDesc Caption strPanelDe
41. 29 Janela secund ria para procura de elementos no mapa em constru o 35 3 5 7 Liga o externa a base de dados Esta a funcionalidade essencial do SlGest o A mais valia do SlGestao assenta sobre esta funcionalidade Isto deve se capacidade que este tem em ligar dados espaciais representados no mapa com informa o externa armazenada no AGRO GESTAO A liga o pode ser feita a qualquer ficheiro dbase tanto produzido pelo sistema de gest o de informa o AGRO GESTAO este software possui essa capacidade como um outro ficheiro dbase produzido por outro meio Ou pode ser feita uma liga o a um ficheiro com a extens o mdb caso do AGRO GESTAO O propriamente dito que corresponde ao formato do Microsoft Access 3 5 7 1 Ligar a ficheiro dbase dbf O utilizador precisa de identificar o campo de liga o e navegar at localiza o do ficheiro dbase com que se vai executar a conex o Deve se executar o seguinte procedimento 1 Clicar no bot o com icone do AGRO GESTAO abrir uma janela com a listagem de todos os campos que fazem parte da informa o intr nseca da camada 2 Escolher o que vai funcionar como ponte que normalmente o n mero da parcela numerodef no caso em exemplo 3 Clicar no bot o Ligar figura 30 que por sua vez faz abrir uma janela de di logo do Windows que servir para navegar at ao local do ficheiro dbase pretendido e executar a liga o figu
42. 5 08 2008 Karkanis S A and Bonanos G S 1997 A GIS based Decision Support Tool for the Management of Industrial Risk In Proceedings of the SRA 97 Annual Conference Society for Risk Analysis Ed Stockholm Sweden pp 652 658 Kosters G and Six H w 1996 GeoOOA Object oriented analysis for geographic information systems In Proceedings of the 2nd IEEE International Conference on Requirements Engineering IEEE Ed Colorado Springs Colorado USA pp 245 253 Kraak M J 1996 Integrating Multim dia in Proceedings of the Geographical Informations Systems IEEE MultiMedia 3 pp 59 65 Longley P A Goodchild M F Maguire D J and Rhind D W 2005 Geographic Information Systems ans Science Barcelona John Wiley amp Sons Ldt Oliveira J L D Medeiros C B and Cilia M A 1997 Active Customization of GIS User Interfaces In Proceedings of the Int Conference on Data Engineering ICDE IEEE Ed Birmingham U K pp 487 496 OpenMap 2008 BBN Technologies OpenMap URL http openmap bbn com 2008 consulta em 25 08 2008 Painho M Sena R and Cabral P 1999 Metodologias de desenvolvimento para aplica es de sistemas de informa o geogr fica CDROM In Actas do Ill Encontro de Utilizadores de Informa o Geogr fica ESIG 1999 USIG Ed TagusPark Oeiras 14 p 46 Ralston B A 2002 Developing GIS Solutions with MapObjects and Visual Basic Albany OnWord Press Salema
43. 7 111 222 333 4458 111 222 333 4459 111 222 333 4460 111 222 333 4461 111 222 333 4462 Ribeira do Montado Baldio do Velho Lameiro de tr s Vinha Nova do Monte Entre estradas Terra grande Pomar murado Alto da Boa Viagem v rzea do Principe Duas Partes Po o Velho Baixa da Pimenteira Circunvala o teste RG teste RG2 vinha Alta Vinha Baixa 12 Al m destas informa es h espa o ainda no AGRO GESTAO onde se podem incluir todas as informa es complementares oficiais figura 2 presentes no Parcel rio Agr cola FY Estrutura Parcelar Informa o Complementar INGA Estrutura Parcelar Informa o Complementar INGA ESTE 1 poe dice Pa PE a ee a E SS mesa 6 TR RE CE DF O SsoNuncs ES E A DEE __ 5 E E EI FS FODE Ea RR 5555 Toso X RE DD TS POE Ea m e E CO RICE IS E 1 gt ou rx of 20 Figura 2 Informa o complementar das parcelas FZ AGROGESTAO 2006 3 3 Desenvolvimento A aplica o designada SlGest o foi desenvolvida com recurso ao Microsoft Visual Studio 6 0 em linguagem Visual Basic 6 0 com a adi o dos seguintes componentes al m dos presentes por defeito Esri MapObjects 2 4 Esri MapObjects Legend Control Microsoft Common Dialog Control 6 0 SP3 Microsoft FlexGrid Control 6 0 Microsoft Tabbed Dialog Control 6 0 Microsoft Windows Common Control 6 0 SP6 Todas as funcionalidades foram apoiadas ou adaptadas em ESRI 1996a
44. A utiliza o de programa o por objectos traz vantagens como Painho et al 1999 c digo modular e reutiliz vel capacidade de adapta o mudan a desenvolvimento mais r pido custos de manuten o reduzidos O uso deste modelo de programa o cumpre dois objectivos importantes Painho et al 1999 implementa o que corresponda por completo aos requisitos do sistema inform tico desenvolvido garantir que muitos dos m dulos aqui desenvolvidos possam ser reutiliz veis em futuras implementa es Desta maneira a aplica o vai ficando cada vez mais completa e eficiente levando a uma maior reutiliza o de c digo j constru do e diminui o do tempo de implementa o dos projectos Painho et al 1999 2 4 Exemplos de aplica es SIG O mundo SIG t o vasto e transversal a tantas reas que natural que existam in meras aplica es umas de mbito mais geral e outras mais espec ficas como o caso da descrita neste trabalho o SlGest o A ESRI Environmental Systems Research Incorporated reconhecidamente o l der em software SIG O principal pacote distribu do por esta empresa o ArcGIS Desktop O Idrisi32 tamb m das aplica es mais populares desenvolvida numa base n o lucrativa pelos Clark Labs Huber 2000 Outra grande empresa que desenvolve v rias aplica es SIG a Intergraph S o exemplos das principais aplica es o GeoMedia Profess
45. Case i Case cbr BreakCount Caption gt amp Format stats Max 0 00 Case Else Caption Format cbr Break i 1 0 00 amp MM amp Format cbr Break i End Select End With Next justOpened End Sub Private Sub PopulateNewZRLegend Dim n As Integer Dim range As Double Dim MinZ As Double 0 00 False MaxZ As Double MinZ lyr Extent Floor MaxZ lyr Extent Ceiling MaxZ 1400 range MaxZ Minz clear existing legend If picZRlegend Count gt 1 Then For n picZRlegend Count 1 Unload picZRlegend n Unload 1blZRlegend n Next End If set new breakcount Set zRend New MapObjects2 ZRenderer zRend BreakCount To 1 Step 1 Set the breaks using simple equal interval ranges For n 1 To zRend BreakCount 88 cboZRclasses List cboZRclasses List Index 0 00 ae MinZ zRend Break n zRend BreakCount 1 Next n Build symbol array by ramping start and end colors zRend Ramplolors picZRramp 0 BackColor picZRramp 1 BackColor handle the base items in the object arrays picZRlegend 0 BackColor picZRramp 0 BackColor 1blZRlegend 0 Caption amp Format zRend Break 0 0 00 picZRlegend 0 Visible rue lb1lZRlegend 0 Visible rue EOP f 1 To zRend BreakCount Set up the color boxes frmLayerSymbol 24 Load picZRlegend n With
46. ER CHANGE ClassBrea CA Er AE AA SA NoOverlap tZRenderer F ROLS ON THAT TAB ARE OA T D SingleSymbol UniqueValues ks StandardLabels Labels As Intege Dim fnt As New StdFont cboSs Selec Case moShape set cboSs cboSs P 0 Clear control rue rue t Case lyr shapeType TypePoint visibility P 1 Visible T P 2 Visible T te Sub InitSingleSymbol S CURRENT RENDERER THE OPTION D WITH DEFAULT VALUES THAT THE USE 68 chkSSP Visible hsbSSP Visible picSSP 1 Visible 1lb1SSP 3 Visible lb1SSP 4 Visible 1lb1SSP 5 Visible 1lb1SSP 6 Visible b1SSP 7 Visible retrieve and dis txtSSP 0 Text 1b1SSP 0 Caption 1lb1SSP 2 Caption For i 0 To 4 cboSSP 0 AddItem Next picSSP 0 BackCol cboSSP 0 Text frmLayerSymbol cboSSP 0 ListInd hsbSSP Value 0 1b1SSP 7 Caption cboSSP 1 Enabled cbhoSSP 2 Enabled 1b1SSP 3 Enabled 1b1SSP 4 Enabled 1lb1SSP 5 Enabled lb1SSP 7 Enabled hsbSSP Enabled Case moShapeTypeM set control visi cboSSP 1 Visibl cboSSP 2 Visible chkSSP Visible hsbSSP Visible picSSP 1 Visible 1lb1SSP 3 Visible 1lb1SSP 4 Visible lb1SSP
47. ES THAT FOLLOW THAT BEGIN WITH THE WORD LOAD ARE THOSE THAT RUN WHEN A RENDERER IS CHOSEN WHICH COINCIDES WITH THE ACTIVE LAYER S CURREN RENDERER THE PROPERTIES OF THAT RENDERER ARE LOADED INTO THE OPTION CONTROLS ON THAT RENDERER S FORM THE USER CAN CHANGE THEM AT THAT POINT LoadSingleSymbol LoadUniqueValues LoadClassBreaks LoadStandardLabels LoadNoOverlapLabels LoadZRenderer Gl T Private Sub LoadSingleSymbol Dim i As Integer Dim fnt As New StdFont cboSSP 0 Clear Select Case lyr shapeType Case moShapeTypePoint set control visibility cboSSP 1 Visible True cboSSP 2 Visible True chkSSP Visible False hsbSSP Visible True picSSP 1 Visible False 1b1SSP 3 Visible True lb1SSP 4 Visible True 1b1SSP 5 Visible True 1b1SSP 6 Visible False b1SSP 7 Visible True retrieve and display current values txtSSP 0 Text lyr Symbol Size 1lb1SSP 0 Caption Marker Color 1lb1SSP 2 Caption Size For i 0 To 4 cboSSP 0 AddItem strMarkerStyle i Next picSSP 0 BackColor lyr Symbol Color cboSSP 0 Text strMarkerStyle lyr Symbol Style cboSSP 0 ListIndex lyr Symbo
48. Extent Rect2 Forml Mapl Refresh Forml Mapl FlashShape theShape 3 Case cmdZoomto Set theShape curRec shape Value If curRec shape Type moPoint Then Set Rect2 Forml Mapl Extent shapeX curRec Shape Value X shapeY curRec shape Value Y deltax shapeX Rect2 Center X deltay shapeY Rect2 Center Y Rect2 0ffset deltax deltay Rect2 ScaleRectangle 0 1 Forml Mapl Extent Rect2 Else Set Rect curRec shape Value Extent Rect ScaleRectangle 1 1 Forml Mapl Extent Rect End If Forml Mapl Refresh Forml Mapl FlashShape theShape 3 63 End Select End Sub Private Sub lvwLayerList_ItemClick ByVal Item As MSComctlLib ListItem Call toggleCheckbox Call check_cmdFindButton End Sub frmFind 6 Private Sub cmdHighlight Click Call Find Actions cmdHighlight End Sub Private Sub cmdInsertPin Click Call Find Actions insert pin End Sub Private Sub cmdPanto Click Call Find Actions cmdPanto End Sub Private Sub cmdZoomto Click Call Find Actions cmdZoomto End Sub frmLayerSymbol 1 Option Explicit Dim strMarkerStyle 4 As String Dim strLineStyle 4 As String Dim strFillStyle 10 As String Dim strPanelDesc 5 As String Dim lyr As MapObjects2 MapLayer Dim recs As MapObjects2 Recordset Dim tDesc As MapObjects2 TableDesc Dim flds As MapObjects2 Fields Dim a As Integer Dim vmr As MapObjects2
49. Msg Tasks Exceeded File Not Found ErrorMsg Invalid Directory rrorMsg Unknown Host Unrecognized Error Code sg No rorMsg rorMsg rorMsg Error K m m 91 2 CD com SlGest o exe e projecto Visual Basic 92
50. Nothing sstLayerProp Tab 0 Call LoadSingleSymbol Case TypeOf lyr Renderer Is sstLayerProp Tab 1 Call LoadUniqueValues Case TypeOf lyr Renderer Is sstLayerProp Tab 2 Call LoadClassBreaks Case TypeOf lyr Renderer Is sstLayerProp Tab 3 colorMask lyr Renderer frmLayerSymbol 2 Call LoadNoOverlapLabels Case Else sstLayerProp Tab 0 Call LoadSingleSymbol End Select lFactor 0 9 End Sub Carregado no bot o aplicar Private Sub cmdApply Click vai correr o form adequado Select Case sstLayerProp Tab Case 0 Ca ApplySingleSymbol Case 1 Call ApplyUniqueValues Case 2 Call ApplyClassBreaks Case 3 Call ApplyNoOverlapLabels End Select Rescreve a Legenda Forml legmapdisp LoadLegend Redesenha o Mapa Forml Mapl Refresh End Sub End Sub End Sub Private Sub cmdCancel_Click Unload frmLayerSymbol Private Sub cmdOK Click Apply e depois unload Call cmdApply_Click Unload frmLayerSymbol Private Sub cmdNOL Click Tipo de letra dos rotulos cdlgLayerProp Color col lorText cdlgLayerProp Flags cdlCF Effects Or cdlCFBoth 65 cdlgLayerProp ShowFont txtNOL ForeColor cdlgLayerProp Color txtNOL Text cdlgLayerProp FontName colorText cdlgLayerProp Color End Sub Private Sub cmdCB_Click Redesenha a legenda no TAB classes Call PopulateNewCBlegend cboCB 0 Text cmdApply Enabled True cm
51. Symbol Show vbModal End Sub VKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK VKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKK Tamanho e Posi o da Janela de trabalho Private Sub Form Resize Dim maptop As Integer Dim mapleft As Integer maptop Labell Top Labell Height 75 mapleft legmapdisp Left legmapdisp Width Toolbarl Width Mapl Move mapleft 75 ScaleWidth mapleft 150 ScaleHeight 150 legmapdisp Move 75 75 2000 ScaleHeight 150 Toolbarl Move legmapdisp Left legmapdisp Width 150 Toolbarl ButtonWidth ScaleHeight e Top 0 e Left 0 e Width Screen Width 2000 Height Screen Height 2000 End Sub Caso se queira por o maximizar janela enabl nt o necess rio rever estas 51 instru es ITkkkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkkkxkxkkxkxkxkxkkkkkxkxkkkkkkxkkkkxkkxkkkkkkkkxkkkkkkkkkkkkxkxk KKKKKKKKKKKKKKKK Private Sub legmapdisp BeforeSetLayerVisible Index As Integer Cancel As Boolean apl Refresh End Sub Formi 2 Private Sub legmapdisp_MouseDown Index As Integer Button As Integer Shift As Integer X As Single Y As Single Determina a camada activa If Mapl Layers Count gt 0 And legmapdisp getActiveLayer gt 1 Then Set g_activelayer Mapl Layers legmapdisp getActiveLayer Else Set
52. Then 53 Shift As Integer As ElseIf Toolbarl Buttons 6 Value 1 Then Dim r As Rectangle Dim recs As MapObjects2 Recordset Dim tol As Double Set r Mapl TrackRectangle Set recs g_activelayer SearchShape r moAreaIntersect If recs EOF Then tol Mapl ToMapDistance 100 Set pt Mapl ToMapPoint X Y Set recs g_activelayer SearchByDistance pt tol End If If recs Count gt 0 Then Set gSelection recs Else Set gSelection g activelayer SearchExpression featureld 1 End If apl Refresh Forml 4 If selectedform Visible True Then oadSelectedForm Else If recs Count gt 0 Then oadSelectedForm selectedform Show End If End If Else Dim ln As MapObjects2 Line Set In Mapl TrackLine sgBox Unidades de mapa amp In Length amp vbCr amp _ Unidades de controlo amp Mapl FromMapDistance ln Length End If End Sub Public Sub LoadSelectedForm Dim curfield As MapObjects2 Field SelectedFormUp True With selectedform Select Case g_activelayer shapeType Case moPoint ftypelabel Caption Case moLine Point Feature ftypelabel Caption Line Feature Case moPolygon ftypelabel Caption Polygon Feature End Select If cboIDs listCount gt 0 Then cboIDs Clear End If If fieldlist listCount gt O Then fieldlist Clear End If If gSelection Count lt 0 Then numfound Caption No f
53. ValueMapRenderer Dim cbr As MapObjects2 ClassBreaksRenderer Dim lr As MapObjects2 LabelRenderer Dim lp As MapObjects2 LabelPlacer Dim colorMask colorText As Long Dim justOpened As Boolean Dim lFactor As Double Private Sub Form_Load e Top 0 Left Screen Width Me Width colorText moBlack colorMask moWhite Set lyr Forml g_activelayer Set recs lyr Records Set tDesc recs TableDesc Set flds recs Fields frmLayerSymbol Caption Propriedades da camada amp UCase lyr Name strPanelDesc 0 strPanelDesc 1 strPanelDesc 2 strPanelDesc 3 strFillStyle 0 Solido strFillStyle 1 Transparente strFillStyle 2 Linhas Horizontais strFillStyle 3 Linhas Verticais strFillStyle 4 Diagonal crescente 64 descendente cruzado Sombreado Claro Sombreado Escuro tipos de conteudo da camada activa e corre o LOAD apropriado apObjects2 ValueMapRenderer apObjects2 ClassBreaksRenderer apObjects2 LabelPlacer MaskColor strFillStyle 5 Diagonal strFillStyle 6 Cruzado strFillStyle 7 Diagonal strFillStyle 8 strFillStyle 9 Sombreado strFillStyle 10 justOpened True L os para preencher o TAB com toda a info necess ria Select Case True Case lyr Renderer Is
54. a 13 SiGest o visualizador da propriedade Iv PIPA Ed controlo de camadas E BR adicionar camada remover camada oj Figura 13 Controlo de camadas do SlGest o com apenas 1 camada carregada removida a camada pipa tif 24 Estando todas as camadas pretendidas para visualizar na caixa de listagem pela ordem mais conveniente s recorrer ao bot o de encerrar a janela para que essas camadas sejam desenhadas no mapa Este menu pode ser acedido diversas vezes durante o trabalho para adicionar mais camadas para remover as existentes ou ainda para alterar a ordem de visualiza o das mesmas 3 5 2 Usar as ferramentas de visualiza o As ferramentas de visualiza o descritas anteriormente s o muito intuitivas e possuem o comportamento tradicional neste tipo de aplica es No caso do zoom in zoom out e pan map necess rio carregar o bot o correspondente a cada uma das ferramentas que ficar no estado de pressionado dando capacidade ao cursor de interagir com o mapa O zoom in por interm dio do desenho de um rect ngulo no mapa figura 14 que seleccionar a rea do mapa que ocupar de imediato por amplia o a totalidade da rea do mapa figura 15 Na figura 16 temos uma grande amplia o onde se evidencia a capacidade da aplica o para visualiza o sem qualquer problema de imagens de boa qualidade SiGest o visualizador da propriedade Iv AMIEIRA
55. alues txtSSP 0 Text lyr Symbol Size 1b1SSP 0 Caption Line Color 1b1SSP 2 Caption Line width For i 0 To 4 cboSSP 0 AddItem strLineStyle i Next picSSP 0 BackColor lyr Symbol Color cboSSP 0 Text strLineStyle lyr Symbol Style cboSSP 0 ListIndex lyr Symbol Style Case moShapeTypePolygon set visibility cboSSP 1 Visible False cboSSP 2 Visible False chkSSP Visible True hsbSSP Visible False picSSP 1 Visible True 1b1SSP 3 Visible False lb1SSP 4 Visible False lb1SSP 5 Visible False 1lb1SSP 6 Visible True lb1SSP 7 Visible False retrieve and display current values If lyr Symbol Size 0 Then txtSSP 0 Text 1 Else txtSSP 0 Text lyr Symbol Size End If 1b1SSP 0 Caption cor do fundo 1lb1SSP 2 Caption limite For i 0 To 10 cboSSP 0 AddItem strFillStyle i 76 Next picSSP 0 BackColor lyr Symbol Color picSSP 1 BackColor lyr Symbol OutlineColor cboSSP 0 Text strFillStyle lyr Symbol Style cboSSP 0 ListIndex lyr Symbol Style Select Case lyr Symbol Outline Case True chkSSP Value 1 Case False chkSSP Value 0 End Select End Select End Sub Private Sub LoadUniqueValues Dim i As Integer Set vmr lyr Renderer cboUV Clear cboUV Text vmr Field For i 0 To tDesc FieldCount 1 cboUV AddItem tDesc FieldName i If
56. ayer Forml Mapl Layers MoveToBottom 0 Else sgBox alido nd If nd Sub Form2 3 Private Sub addShapeFile basepat Dim dCon As New DataConnection Dim gSet As GeoDataset dCon Database basepath If dCon Connect Then p e ene Este ficheiro amp image lt mom shpfile GetFirstToken shpfile Set gSet dCon FindGeoDataset s If gSet Is Nothing Then sgBox Erro a abrir amp shpfile Exit Sub Else Then File amp n o um ficheiro de imagem h As String shpfile As String Wo hpfile 57 Dim newLayer As New MapLayer newLayer GeoDataset gSet newLayer Name shpfile Forml Mapl Layers Add newLayer End If Else sgBox ConnectErrorMsg dCon ConnectError error End If End Sub Private Sub refreshButtons Dim listCount As Integer Dim curItem As Integer listCount Forml Mapl Layers Count curItem lstLayers ListIndex If listCount 0 Then cmdremove Enabled False layerTools Buttons 1 Enabled False layerTools Buttons 3 Enabled False End If If curtem 1 Then cmdremove Enabled False layerTools Buttons 1 Enabled False layerTools Buttons 3 Enabled False ElseIf listCount 1 Then cmdremove Enabled True layerTools Buttons 1 Enabled False layerTools Buttons 3 Enabled False ElseIf curItem
57. ch ch a lp cn KNOL 1 Value kNOL 1 Val MaskLabel kNOL 2 Value 0 dk ue S 0 askColor Extent Width 10000 scaleHeightUnit frm ain mapDisp FullExtent Width 10000 79 lr Symbol 0 Font Strikethrough lp DefaultSymbol Font Strikethrough lp DefaultSymbol Font Underline p DefaultSymbol Col Defaul colorText 1p P lp P lp P lp DrawBackground kNOL 0 Value kNOL 0 Val hsbNOL Value 1000 lp DefaultSymbol Height scaleHeightUnit hsbNOL Value 700 lp DefaultSymbol Height scaleHeightUnit End Sub Private Sub LoadZRenderer Dim i j As Integer Set zRend lyr Renderer g 1 cboZRclasses Clear cboZRclasses Text zRend BreakCount 1 choZRType ListIndex zRend ValueCalculation picZRramp 0 BackColor zRend Symbol 0 Color picZRramp 1 BackColor zRend Symbol zRend BreakCount Color Call PopulateExistingZRlegend End Sub jam E SIX PROCEDURES THAT FOLLOW THAT BEGIN WITH THE WORD APPLY THOSE THAT RUN WHEN THE APPLY OR OK BUTTONS ARE CLICKED THE CURRENT VALUES OF THE OPTION CONTROLS ARE READ WRITTEN INTO A NEW RENDERER OBJECT THEN THAT RENDERER OBJECT IS USED TO DRAW THE ACTIVE LAYER ApplySingleSymbol ApplyUniqueValues ApplyClassBreaks ApplyStandardLabels ApplyNoOverlapLabels ApplyZRenderer
58. dOK Enabled True End Sub Private Sub cmdUV_Click Redesenha a legenda no TAB unica Call PopulateNewUVlegend cboUV Text cmdApply Enabled True cmdOK Enabled True frmLayerSymbol 3 End Sub Private Sub cboSSP_Click Index As Integer Dim fnt As New StdFont Select Case Index Case 0 escolhe o tipo de preenchimento If Index 0 Then If cboSSP 0 Text TrueType marker Then Dim i As Integer cboSSP 1 Enabled True cbhoSSP 2 Enabled True b1SSP 3 Enabled True b1SSP 4 Enabled True b1ISSP 5 Enabled True bISSP 7 Enabled True hsbSSP Enabled True For i 0 To Screen FontCount 1 cboSSP 1 AddItem Screen Fonts i Next i cboSSP 1 ListIndex 0 fnt Name cboSSP 1 Text Set cboSSP 2 Font fnt cboSSP 2 Clear For i 0 To 255 cbhoSSP 2 AddItem Chr i Next Else if not TT font then disable controls specific to TT fonts choSSP 1 Clear cboSSP 2 Clear cbhoSSP 1 Enabled False cbhoSSP 2 Enabled False 1b1SSP 3 Enabled False lb1SSP 4 Enabled False 1lb1SSP 5 Enabled False lb1SSP 7 Enabled False hsbSSP Enabled False End If End If Case 1 combo com os tipos de letras escolhidas cboSSP 2 Clear 66 fnt Name cboSSP 1 Text Set cboSSP 2 Font fnt For i 0 To 255 cboSSP
59. de informa o AGRO GESTAO amp tornado poss vel a constru o de mapas tem ticos a partir dos dados contidos no AGRO GESTAO SIGESTAO GIS module integrated into agriculture information management system AGRO GESTAO ABSTRACT Increasingly agro companies wishing to be competitive use various commercial softwares to optimize all their resources as the management of stocks and activities The information management system AGRO GESTAO aims to encompass all such information needs of agricultural businesses The resource Land is the link of many of these features present in AGRO GESTAO 6 It is this feature that determines the activities of short and long term is so crucial to be clearly identified and deeply characterized The GIS module SlGest o designed in this project add advantages in the identification and characterization of the Land feature combining a visual component on the identification and characterization which is in AGRO GESTAO only alphanumeric Designed in Visual Basic environment using the library of objects MapObjects offers the user an area where is visible layers of spatial information both raster and vector Besides the normal tools of manipulation to a GIS viewer the SlGest o also has features in its ability to connect to databases dbase and MS Access The latter is the form that allows for an automatic connection to the information management system AGRO GESTAO allowing the construction of
60. e chkCB Value Case 0 cbr Symbol i OutlineColor cbr Symbol i Color cbr Symbol i Outline False Case 1 cbr Symbol i OutlineColor moBlack cbr Symbol i Outline True End Select Next End If Set lyr Renderer cbr End Sub Private Sub ApplyStandardLabels Dim fnt As New stdole StdFont fnt Name cdlgLayerProp FontName fnt Size cdlgLayerProp FontSize fnt Bold cdlgLayerProp FontBold fnt Italic cdlgLayerProp FontItalic fnt Strikethrough cdlgLayerProp FontStrikethru fnt Underline cdlgLayerProp FontUnderline Set lr New MapObjects2 LabelRenderer lr Field cboSL 0 Text frmLayerSymbol 18 With lr Symbol 0 Select Case cboSL 1 Text Case Left HorizontalAlignment moAlignLeft Case Center HorizontalAlignment moAlignCenter Case Right HorizontalAlignment moAlignRight 82 End Select Select Case cboSL 2 Text Case Top VerticalAlignment moAlignTop Case Center VerticalAlignment moAlignCenter Case Bottom VerticalAlignment moAlignBottom End Select Set Font fnt Color cdlgLayerProp Color Rotate clockwise instead of counter clockwise If 1lb1SL 7 Caption 0 Then Rotation 0 Else Rotation 360 7 Caption End If End With With lr XOffsetField cboSL 3 Text YOffsetField cboSL 4
61. e que se possam controlar as propriedades visuais dessa camada nomeadamente o tipo e a cor do preenchimento dos pol gonos e a aus ncia ou presen a de limites 3 4 1 4 Realiza o de mapas tem ticos 16 No mesmo menu de controlo das propriedades visuais existem outros 2 separadores que permitem atrav s de informa o intr nseca do pol gono ou de informa o conectada construir mapas tem ticos O menu SIMPLES mais adequado para mapas tem ticos de campos alfanum ricos por exemplo o n de parcela o solo dominante da parcela entre outros e o menu CLASSES mais adequado na constru o de mapas tem ticos de campos num ricos agrupados em classes de valores por exemplo a rea da parcela produ o m dia de uma cultura em determinada parcela etc 3 4 1 5 Aceder a informa o intr nseca dos dados vectoriais O bot o que representa livros permite aceder informa o intr nseca figura 5 associada informa o vectorial essa informa o descrita textualmente de uma s parcela ou de um conjunto de parcelas indicadas pelo utilizador Essa informa o encontra se num ficheiro dbase que acompanha a camada vectorial ambos com a mesma designa o Esta conex o feita quando os dados vectoriais s o carregados de forma autom tica NUMERODEF 2102297347002 PROP Herdade de Monporcao AREA GIS 0 NOMEPREDIO HERD MOMPORCIO Featureld 14 NINGA 4711783 CONTRIB 502698357 MORTA COD_
62. eatures found Else If gSelection Count 1 Then numfound Caption 1 feature found 54 Else Do While Not gSelection EOF cboIDs AddItem gSelection FeatureID ValueAsString gSel Loop lection MoveNext cboIDs ListIndex 0 gSelection MoveFirst For Each curfield In gSelection Fields If curfield Type moString Then fieldlist AddItem curfield Nam n curfield Val Else fieldlist AddItem curfield Nam curfield Val End If End End End Forml 5 Private Sub Toolbarl Next curfield apl FlashShape gSelection shape Value 3 If With SelectedFormUp False Sub Select Case Button Index Case 1 Form2 Show Case 8 Mapl Extent Mapl FullExtent Mapl Refresh Case 10 find frmFind Show frmFind ZOrder 0 Case 12 adicionarbd bd Show Form3 Show End End Dim End Select Sub Form2 1 Option Explicit FormUp As Boolean Private Sub cmdRemove Click If lstLayers ListIndex lt 0 Then Exit Sub If Forml Mapl Layers Remove lstLayers ListIndex lstLayers Clear Form_Load refreshButtons End Dim Sub Private Sub Form Load i As Integer FormUp True For Ist i 0 To Forml Mapl Layers Count 1 ayers AddItem Forml Mapl Layers i Name Ist ayers Selected i Forml Mapl Layers i Visible 55 numfound Caption Str gSelection Count i
63. ectamente linhas de c digo que carregam uma determinada camada de dados vectorial ou raster de determinado endere o Assumindo que o patrim nio Terra dos clientes do AGRO GESTAO muito constante esta seria a melhor forma de 15 carregar no inicio da aplica o os parcelarios e os ortofotomapas Para dados ou informagao tanto vectorial ou raster que seja menos geral como os levantamentos topogr ficos cercas pivots floresta es carta militar entre outros o SlGest o possui a capacidade de carregar dados vectoriais e ou raster em run time e poder controlar em termos da sua ordem esses dados 3 4 1 2 Zoom in out Panmap e Full extent No SlGest o existem 4 bot es para controlo do mapa como um todo o Zoom in O zoom out o panmap e o full extent assinalados pela mesma ordem com c rculo vermelho na figura 4 Figura 4 Bot es de controlo do SlGest o poss vel fazer amplia o de uma rea determinada pelo desenho de um rect ngulo com o cursor zoom in e atrav s de cliques simples proceder ao inverso zoom out o panmap facilita a movimenta o do mapa na area destinada visualiza o do mapa ainda poss vel com apenas um clique de rato na tecla do full extent visualizar na totalidade todos os elementos que constituem o mapa 3 4 1 3 Controlo das propriedades de exibi o de dados vectoriais O duplo clique no nome da camada vectorial n o poss vel em formatos raster permit
64. em causal figura 19 Esta janela tem quatro separadores Neste caso utilizaremos apenas o 1 designado GERAL Nele poss vel alterar a cor do preenchimento e do limite dos pol gonos dessa camada bem como a espessura desse limite figura 20 SiGest o visualizador da propriedade M AMIEIRA E Propriedades da camada PIPA E MV MOMPORCAO a Iv PIPA Simples Classes Iv C3670430 T IF Image M C3800120 TIF Image Iv PIPA TIF Image cor do fundo DS E Cor do limite Estilo do fundo Solido E limite fi Iv Desenhar limite Cancelar l OK Figura 19 Janela Propriedades da camada nome da camada em causa neste caso da camada PIPA 28 SiGest o visualizador da propriedade AMIEIRA Ed Propriedades da camada PIPA MV MOMPORCAO Iv PIPA Simples Classes Rotulos R 3670430 TIF Image Iv C3800120 TIF Image JV PIPA TIF Image cor do fundo E E Cor do limite Estilo do fundo Transparente limite fa lv Desenhar limite Cancelar DK Figura 20 Modifica o das propriedades da camada PIPA preenchimento cor e espessura do limite O preenchimento com diversos padr es figura 21 e 22 ou simplesmente o transparente adiciona possibilidades caracteriza o da camada e permite ajustar a melhor visualiza o a cada caso Depois de definida a melhor
65. existem recursos freeware que podem funcionar de igual maneira e que devem ser considerados Claro que isso implica um investimento de tempo em novas aprendizagens mas que no final pode compensar 44 REFERENCIAS BIBLIOGRAFICAS Brown S 1999 Visual Basic 6 Biblia do Programador Sao Paulo Editora Berkeley Committee on Assessing Crop Yield Site Specific Farming l S and Research Opportunities National Research Council 1997 Precision Agriculture in the 21st Century Geospatial and Information Technologies in Crop Management Washington D C The National Academies Press ESRI 1996a Building Applications with MapObjects Redlands Environmental Systems Research Institute INC ESRI 1996b MapObjects Programmer s Reference Redlands Environmental Systems Research Institute INC ESRI 2008a MapObjects Windows Edition URL http www esri com software mapobjects index html consulta em 25 08 2008 2008 ESRI 2008b P gina da ESRI URL http Awww esri com consulta em 25 08 2008 FZ AGROGESTAO 2006 Agrogestao Guia do utilizador URL http agrogestao com ficheiros agrogestao manual pdf consulta em 25 08 2008 FZ AGROGESTAO 2008 URL http agrogestao com consulta em 25 08 2008 GisLounge 2008 GisLounge URL http gislounge com consulta em 25 08 2008 45 Huber B 2000 A Review of IDRISI32 URL http www directionsmag com features php feature id 40 consulta em 2
66. falhou End If End If Next i End Sub Private Sub Command4 Click Remove all existing Relates Forml Mapl Layers 0 RemoveRel ListLayers ListViewl ListItems Clear ListViewl ColumnHeaders Clear End Sub Private Sub Labell_Click End Sub lates c lear list view 50 pFName As String 1 ldName i pFName Then Then EDB 4 0 Data Source i As Integer amp Forml 1 Public g_activelayer As Object Public recs As MapObjects2 Recordset Option Explicit Private Sub Form_Load fazer o refrehs do combo RefreshCombol T sincroniza a legenda com o mapa Link legend to the Map control legmapdisp setMapSource Mapl legmapdisp LoadLegend True legmapdisp ShowAllLegend legmapdisp Active 0 True Tx End Sub VKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK KKK KK MAP LEGEND VKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK KKK KKK Private Sub legMapDisp LayerDblClick Index As Integer Duplo click na camda para abrir o editor de camada Set g activelayer Mapl Layers Index If g activelayer LayerType moImageLayer Then sgBox N o possivel definir as propriedades de uma imagem amp vbCrLf Exit Sub End If frmLayer
67. gura 25 SiGest o visualizador da propriedade M PIPA E Propriedades da camada MOMPORCAO WV MOMPORCAO j A DEE aif 2112310068001 Se Geral 2122312841001 Ze LA E y Campo de texto auigpirezsqo1 16125001 Iv desenhar 4192312210001 2112316125 NUMERODEF X uee r EM Tipo de letra IV fundo 2 jinsun MS Sans Serif f cor do fundo 210230039001 ad j Ae 10230655 1002 02301048003 2102306551003 4 f p Posicionamento iia tamanho dos rotulos 2112312210002 N f Meio 2102306651001 4 all Acima A to as T SA pi ee f oe 21022957347003 Abaixo pads f 2102293539001 SAP 2102297347001 s 211229340700 J 2inz2s73t7004 y lt 2112293477002 j Figura 25 Separador que permite rotular cada um dos pol gonos 32 3 5 5 Informa o intr nseca dos dados espaciais Os dados espaciais possuem normalmente informa o pr pria Tomemos como exemplo o parcel rio agr cola A cada parcela agr cola pol gono tem associado num ficheiro dbase informa o como o concelho freguesia a rea n mero da parcela o n mero do bloco o propriet rio No fundo qualquer informa o da parcela que mais ou menos constante pode ser inscrita neste ficheiro dbase Para consultar essa informa o basta seleccionar a camada que se pretende consultar Em seguida com o bot o informa o intr nseca icone livros pressionada podemos c
68. ick Call FindFeatures End Sub Private Sub Form_Load frmFind grdFeatList Rows 1 frmFind grdFeatList Cols 3 frmFind grdFeatList ColWidth 0 1300 frmFind grdFeatList ColWidth 1 1300 frmFind grdFeatList ColWidth 2 2200 frmFind cboSearchList Clear lvwLayerList View lvwReport ReDim LayerStatus Forml Mapl Layers Count Dim i As Integer For i 0 To Forml Mapl Layers Count 1 If Forml Mapl Layers i LayerType moImageLayer Then LayerStatus i 0 Else LayerStatus i 1 End If Next i Call rebuildListView Dim fnt As New StdFont fnt Name Wingdings fnt Bold False Dim 1Symbols As Long lSymbols Forml Mapl TrackingLayer SymbolCount Forml Mapl TrackingLayer SymbolCount 1Symbols 1 Forml Mapl TrackingLayer Symbol 1Symbols Color moBlue Forml Mapl TrackingLayer Symbol 1Symbols Style moTrueTypeMarker Forml Mapl TrackingLayer Symbol 1lSymbols Font fnt Forml Mapl TrackingLayer Symbol 1ISymbols Size 16 Forml Mapl TrackingLayer Symbol 1lSymbols CharacterIndex 88 Forml Mapl TrackingLayer ClearEvents End Sub Private Sub Find_Actions f_Action As String Dim curRec As MapObjects2 Recordset Dim Rect As Rectangle Rect2 As Rectangle Dim curIndex As Integer aIndex As Integer Dim aRec As Integer i As Integer Dim aName As String Dim shapeX As Double shapeY As Double Dim deltax As Double
69. ilizada deve estar georeferenciada e no mesmo sistema de coordenadas de forma a evitar imprecis es que podem induzir em erro o utilizador Para proceder ao carregamento de camadas no mapa com ou sem camadas carregadas basta clicar uma vez no 1 bot o da barra sinal de MAIS verde que abrir uma janela mais reduzida designada controlo de camadas figura 8 Esta janela possui como constituintes uma caixa de listagem e quatro bot es bot o adicionar camada bot o remover camada e ainda 2 bot es com setas brancas em fundo verde quando activos w SiGest o visualizador da propriedade me controlo de camadas TAR adicionar camada Figura 8 Janela secund ria controlo de camadas O bot o carregar camada origina o aparecimento de uma nova janela de di logo do Windows com a instru o Seleccionar ficheiro para nova camada na barra de identifica o figura 9 21 m SiGest o visualizador da propriedade controlo de camadas Seleccionar ficheiro para nova camada Look in layers My Recent Documents Desktop My Documents My Computer File name My Network Files of type Shape files shp coverages adf images br Places T Open as read only Figura 9 Janela de di logo do Windows Usando esta janela podemos navegar por todas as pastas presentes no computador do utilizador e visualizar todos os ficheiros permitid
70. ional e o Modular GIS Environment Entre outros exemplos de aplica es tamb m com alguma notoriedade podem ser referidos o AGISMap o Autodesk MapGuide 5 0 e o Xmap 3 M dulo SIG para o sistema de informa o de gest o AGRO GEST O 3 1 Objectivos do cap tulo Este cap tulo pressup e a descri o integral do desenvolvimento da aplica o em Linguagem Visual Basic 6 com recurso biblioteca MapObjects 2 4 bem como de todas as suas funcionalidades capacidades e recursos utilizados Foi inclu do um manual de utiliza o para melhor entendimento da aplica o O c digo integral da aplica o constru da neste projecto pode ser consultado em anexo 3 2 Descri o do sistema de informa o de gest o AGRO GEST O O AGRO GESTAO uma aplica o em MS Access de contabilidade de gest o que permite organizar toda a informa o da empresa o principal produto da empresa FZ AGROGEST O Lda uma empresa de servi os apostada no desenvolvimento de solu es inform ticas que reforcem a capacidade de gest o das empresas do meio rural Esta empresa possui ainda v rias aplica es personalizadas de que s o exemplo PLANIGEST O Or amenta o e planeamento de curto prazo AGROPDA Recolha de informa o de campo c PC de Bolso AGROGEST O Comercial Factura o e gest o documental AGROGEST O Sal rios Processamento de vencimentos ZOOGEST O O Gest o de efectivos pecu
71. l Style hsbSSP Value lyr Symbol Rotation 1b1SSP 7 Caption lyr Symbol Rotation If lyr Symbol Style moTrueTypeMarker Then cboSSP 1 Enabled True cboSSP 2 Enabled True 1lb1SSP 3 Enabled True lb1SSP 4 Enabled True lb1SSP 5 Enabled True 1b1SSP 7 Enabled True frmLayerSymbol 11 hsbSSP Enabled True For i 0 To Screen FontCount 1 cboSSP 1 AddItem Screen Fonts i Next i 74 cboSSP 1 Text lyr Symbol Font Name For i 0 To cboSSP 1 listCount 1 If cboSSP 1 List cboSSP 1 ListIndex choSSP 1 ListIndex 1 Exit For End If Next fnt Name cboSSP 1 Text Set cbhoSSP 2 Font fnt cboSSP 2 Clear cboSSP 1 For i 0 To 255 cboSSP 2 AddItem Chr i Next cboSSP 2 Text lyr Symbol CharacterIndex cboSSP 2 ListIndex End If Case moShapeTypeMultipoint lyr Symbol CharacterIndex set control visibility cboSSP 1 Visible True cboSSP 2 Visible True chkSSP Visible False hsbSSP Visible True picSSP 1 Visible False 1lb1SSP 3 Visible True lb1SSP 4 Visible True 1lb1SSP 5 Visible True 1b1SSP 6 Visible False b1SSP 7 Visible True retrieve and display current values txtSSP 0 Text lyr Symbol Size lb1SSP 0 Caption Marker Color 1lb1SSP 2 Caption Size F
72. licar num pol gono para aceder a sua informa o figura 26 SiGest o visualizador da propriedade e Vv or E Informa o da s parecela s seleccionada s AMIEIRA E 1 feature found parcela activa 14 Polygon Feature IQFP 1 CONC 1203 ACCAD V NUMERODEF 2102297347002 PROP Herdade de Monporcao AREA GIS 0 NOMEPREDIO HERD MOMPORCIO Featureld 14 NINGA 4711783 CONTRIB 502698357 MORTA COD V DUP F BLOCO 2102297347 AREA HA 6 7747 PLOTS Shape 14 AREA 67747 OCUPAC O_D FL FREG 07 PERIMETER 2370113 Figura 26 Janela secundaria Informa o da s parcela s seleccionada s neste caso apenas uma parcela seleccionada Podemos seleccionar mais que um pol gono ao mesmo tempo atrav s do desenho de um rect ngulo em cima da camada que est activa figura 27 Todos os pol gonos que intersectarem com esse rect ngulo entrar o na janela Informa o da s parcela s seleccionada s Depois disso na caixa de 33 selec o podemos escolher dentro do grupo de pol gonos seleccionados o pol gono do qual queremos informa o figura 28 a SiGest o visualizador da propriedade 7 MOMPORCAO B IV AMIEIRA Figura 27 Desenho do rectangulo sobre as parcelas pretendidas SiGest o visualizador da propriedade Iv MOMPORCAO 8 items encontrados
73. lyr Renderer Is MapObjec Work out scale based on layer s extent to help convert the slider height map units Dim scaleHeightUnit As Double scaleHeightUnit lyr Extent Width 10000 ts2 Label value into a 1 Renderer Then This value will be used label size in Use size from existing LabelRenderer equivalen Dim currSizeFontPoints As Double currSizeFontPoints Have a current LabelRenderer Symbol Font n 1 value appropriatel Dim sglTemp As Singl y e Public Sub InitZRenderer frmLayerSymbol 10 Dim i As Integer convert this points size to a MapUnits size d to work out an t size in Map Units from this font size CInt lyr Renderer Symbol 0 Font Size Size in points and set the slider sglTemp ScaleX CSng currSizeFontPoints vbPoints vbTwips Dim currSizeMapUnits As Double currSizeMapUnits Forml Mapl ToMapDistance sglTemp lFactor hsbNOL Value 1000 currSizeMapUnits scaleHeightUnit Copy other values if appropriate cboNOL Text lyr Renderer Field End If End If End Sub If picZRlegend Count gt 1 Then For i picZRlegend Count 1 To 1 Step 1 Unload picZRlegend i Unload 1lb1ZRlegend i Next End If picZRlegend 0 Visible False lblZRlegend 0 Visible False cmdApply Enabled False 73 cmdOK Enabled False End Sub KS THE SIX PROCEDUR
74. mbol i Color Visible True End With Load lb1ZRlegend i With lb1lZRlegend i Left lb1lZRlegend 0 Left Width 1lb1lZRlegend 0 Width Height 1lb1ZRlegend 0 Height Top lblZRlegend i 1 Top 180 Visible True Select Case i Case zRend BreakCount Caption gt amp Format stats Max 0 00 Case Else Caption Format zRend Break i Ty Format zRend Break i 0 00 End Select End With frmLayerSymbol 25 Next justOpened False End Sub selectedform 1 Option Explicit Public g_activelayer As Object Private Sub cboIDs Click Dim i As Integer Dim curfield As MapObjects2 Field If SelectedFormUp Then Exit Sub End If gSelection MoveFirst fieldlist Clear For i 1 To cboIDs ListIndex gSelection MoveNext Next i For Each curfield In gSelection Fields If curfield Type moString Then 0 00 amp fieldlist AddItem curfield Nam n Else curfie l d Value fieldlist AddItem curfield Nam End If Next curfield End Sub Forml Mapl Refresh Unload selectedform End Sub modStringHandler 1 Option Explicit Function GetFirstToken StrIn As String curfiel d ValueAsString Forml Mapl FlashShape gSelection shape Value Private Sub Form_Unload Cancel As Integer Delim As Gets the portion of String S up to the
75. mdApply Enabled False cmdOK Enabled False chkUV Visible lyr shapeType moShapeTypePolygon End Sub Private Sub InitClassBreaks Dim i As Integer Dim fld As MapObjects2 Field Clear and reload ComboBoxes cboCB 0 Clear cboCB 0 AddItem FeatureID cboCB 1 ListIndex 3 For i 0 To tDesc FieldCount 1 Set fld flds tDesc FieldName i If fld Type moDouble Or fld Type moLong Then cboCB 0 AddItem fld Name End If Next cboCB 0 ListIndex 0 If a legend already exists unload it frmLayerSymbol 8 If picCBlegend Count gt 1 Then For i picCBlegend Count 1 To 1 Step 1 Unload picCBlegend i Unload lb1lCcBlegend i Next End If picCBlegend 0 Visible False lbiCBlegend 0 Visible False cmdApply Enabled False cmdOK Enabled False chkCB Visible lyr shapeType moShapeTypePolygon End Sub Private Sub InitStandardLabels Dim i As Integer Dim sFirstStringFld As Integer bFoundString As Boolean bFoundString False For i 0 To tDesc FieldCount 1 choSL 0 AddItem tDesc FieldName i If tDesc FieldType i moLong Or _ tDesc FieldType i moDouble Then 71 choSL 3 AddItem tDesc FieldName i choSL 4 AddItem tDesc FieldName i Elsel f Not bFoundString And tDesc FieldType i moString Then sFirstStringFld i bFoundString
76. mp Format cbr Break cbr BreakCount 1 0 00 Case Else Caption Format cbr Break i 1 0 00 amp amp Format cbr Break i 0 00 End Select End With Next End Sub Public Sub PopulateExistingCBlegend If Not justOpened Then Exit Sub End If Dim stats As MapObjects2 Statistics Dim i numClasses numBreaks As Integer Set stats recs CalculateStatistics lyr Renderer Field numBreaks lyr Renderer BreakCount If picCBlegend Count gt 1 Then For i picCBlegend Count 1 To 1 Step 1 Unload picCBlegend i Unload lblCcBlegend i Next End If 87 Set cbr lyr Renderer cbr Field lyr Renderer Field fraCB Caption UCase lyr Name amp amp choCB 0 Text picCBlegend 0 Visible True lblCBlegend 0 Visible True picCBlegend 0 BackColor cbr Symbol 0 Color lblCBlegend 0 Caption Less than amp Format cbr Break 0 frmLayerSymbol 23 For i 1 To cbr BreakCount oad picCBlegend i With picCBlegend i Left picCBlegend 0 Left Width picCBlegend 0 Width Height picCBlegend 0 Height Top picCBlegend i 1 Top 180 BackColor cbhr Symbol i Color Visible True End With oad lb1lCBlegend i With lb1lCBlegend i Left lblCBlegend 0 Left Width lb1lCBlegend 0 Width Height lblCBlegend 0 Height Top lblCcBlegend i 1 Top 180 Visible True Select
77. n mica para empresas agro pecu rias que esta empresa comercializa o AGRO GEST O O m dulo a construir dever cumprir uma s rie de requisitos m nimos descritos em seguida Suportar e visualizar camadas de informa o geogr fica em formato vectorial e raster como parcel rios ortofotomapas levantamentos topogr ficos cartas militares desde que devidamente georeferenciados fun es de visualiza o como pan zoom full extent visualiza o da informa o tabular associada aos elementos vectoriais conex o da informa o existente em tabela com a base de dados existente constru o de mapas tem ticos a partir de dados da informa o associada aos elementos vectoriais bem como da conectada posteriormente a tabela de base de dados O m dulo SIG dever permitir ao sistema de informa o de gest o agro pecu ria AGRO GEST O oferecer aos utilizadores uma nova forma de manipula o e visualiza o do enquadramento e caracter sticas dos elementos georreferenciados dispon veis actualmente para os quais j disp e de informa o alfanum rica de natureza t cnico econ mica 1 3 Premissas As empresas que utilizam o sistema de informa o de gest o AGRO GEST O s o empresas agro pecu rias que possuem em geral quadros t cnicos superiores que usam a informa o registada no software como aux lio no planeamento e tomada de decis o no mbito das actividades agro pecu rias que
78. nd Count gt 1 Then For i picCBlegend Count 1 To 1 Step 1 Unload picCBlegend i Unload lbiCBlegend i Next ax vmr ValueCount 20 SmallChange 1 LargeChange 10 ass 86 End Lt Set cbr New MapObjects2 ClassBreaksRenderer cbr Field cboCB 0 Text frmLayerSymbol 22 cbhr BreakCount numBreaks range stats Max stats Min For i 0 To numBreaks 1 cbr Break 1 stats Min range numClasses i 1 Next cbr RampColors picCBramp 0 BackColor picCBramp 1 BackColor fraCB Caption UCase lyr Name amp amp cboCB 0 Text picCBlegend 0 Visible True lblCBlegend 0 Visible True picCBlegend 0 BackColor cbr Symbol 0 Color lb1CBlegend 0 Caption Menor que amp Format cbr Break 0 0 00 For i 1 To cbr BreakCount Load picCBlegend i With picCBlegend i Le Wi He ft picCBlegend 0 Left dth picCBlegend 0 Width ight picCBlegend 0 Height Top picCBlegend i 1 Top 180 BackColor cbhr Symbol i Color Visible True End With oad 1lb1CBlegend i With lb1lCBlegend i Left lblCBlegend 0 Left Width lbiCBlegend 0 wWidth Height lblCBlegend 0 Height Top lblcBlegend i 1 Top 180 Visible True Select Case i Case cbhr BreakCount Caption gt a
79. neste momento entre os quais diversas associa es de agricultores FZ AGROGESTAO 2008 O objectivo central do AGRO GESTAO o apuramento e discrimina o dos custos e das receitas das diversas actividades desenvolvidas numa empresa 11 agr cola o que permite por um lado o melhor planeamento da actividade agr cola e por outro uma progressiva racionaliza o da utiliza o de recursos com os consequentes benef cios ao n vel dos rendimentos do agricultor Salema 2004 z Um desses recursos principais o recurso terra capital fundi rio No AGRO GEST O O este recurso devidamente caracterizado figura 1 com informa o alfanum rica como a designa o da parcela a sua rea o n da parcela c digo e ainda existe um campo para Observa es onde se pode descrever um pouco mais cada parcela que possa ajudar a identific la no seu contexto real Caracteriza o Estrutura Fundiaria Seleccione o tipo 7 Parcelas I Sub parcelas 111 222 333 4441 111 222 333 4442 111 222 333 4444 Parcela da Forragem Parcela do Eucaliptal Para l do caminho de meias I Folhas Procura R pida de Parcelas MM Figura 1 Caracteriza o da estrutura fundi ria FZ AGROGESTAO 2006 111 222 333 4445 111 222 333 4446 111 222 333 4447 111 222 333 4448 111 222 333 4450 111 222333 4451 111 222 333 4452 111 222 333 4453 111 222 333 4454 111 222 333 4455 111 222 333 4456 111 222 333 445
80. nload picUV i 84 PopulateNewZRLegend PopulateExistingZRLegend elevation Z values Would you Unload 1b1UV i Next End If Set vmr New MapObjects2 ValueMapRenderer vmr Field rendField vmr ValueCount strsUniqueValues Count For i 0 To strsUniqueValues Count 1 vmr Value i strsUniqueValues 1 Next fraUVouter Caption UCase lyr Name amp amp cbhoUV Text picUV 0 Visible True lb1UV 0 Visible True picUV 0 BackColor vmr Symbol 0 Color 1lb1UV 0 Caption vmr Value 0 For i 1 To vmr ValueCount 1 Load picUV i With picUV i Left picUV 0 Left Width picUV 0 Width Height picUV 0 Height Top picUV i 1 Top 180 BackColor vmr Symbol i Color Visible True End With oad 1b1lUV i With 1lb1lUV i Left 1b1UV 0 Left Width 1lb1UV 0 Width Height 1b1UV 0 Height Top 1lblUV i 1 Top 180 Caption vmr Value i Visible True End With Next fraUVinner Height vmr ValueCount 180 250 If strsUniqueValues Count gt 18 Then vsbUV Enabled True vsbUV Min 0 vsbUV Max vmr ValueCount 20 vsbUV SmallChange 1 vsbUV LargeChange 10 Else vsbUV Enabled False End If End Sub Private Sub Populate ExistingUVlegend Exit Sub End If Dim Dim Dim Set i As Integer vmr If Not justOpened Then rec
81. ode executar tornando mais f cil a aprendizagem alargando 43 tamb m o leque de potenciais utilizadores A valida o desta op o pode ser feita com um pequeno estudo de mercado ou mesmo com um teste a uma amostra de utilizadores A evolu o de uma aplica o local como a que foi constru da para uma com acesso remoto como um WebGIS ser de considerar no caso de haver interesse em aceder informa o em pontos diversos que parte do servi o de carregamento e tratamento dos dados nomeadamente opera es mais complexas ou delicadas seja feito remotamente por t cnicos mais especializados A proximidade entre o utilizador cliente e a empresa fornecedora do produto e do servi o seria maior podendo muito provavelmente aumentar a satisfa o por parte do cliente e a sua efici ncia empresarial Mais uma vez um estudo de mercado ou um teste com amostragem de utilizadores seria necess rio para determinar se h receptividade dos clientes a estas ideias O MapServer e o GeoServer sao softwares de desenvolvimento OpenSource que possibilitam a constru o de WebGIS e que podem ser usados para atingir o que foi referido anteriormente Apesar da aplica o resultante deste projecto ser uma aplica o freeware o MapObjects com que foi constru da um software comercial O desenvolvimento futuro da aplica o pode ficar comprometida sem a aquisi o da licen a do MapObjects e do Visual Basic No entanto
82. or i 0 To 4 cboSSP 0 AddItem strMarkerStyle i Next picSSP 0 BackColor lyr Symbol Color cboSSP 0 Text strMarkerStyle lyr Symbol Style cboSSP 0 ListIndex lyr Symbol Style hsbSSP Value lyr Symbol Rotation 1b1SSP 7 Caption lyr Symbol Rotation If lyr Symbol Style moTrueTypeMarker Then cboSSP 1 Enabled True cboSSP 2 Enabled True 1lb1SSP 3 Enabled True 1b1SSP 4 Enabled True lb1SSP 5 Enabled True lb1SSP 7 Enabled True hsbSSP Enabled True For i 0 To Screen FontCount 1 cboSSP 1 AddItem Screen Fonts i Next i cboSSP 1 Text lyr Symbol Font Name For i 0 To cboSSP 1 listCount 1 If cboSSP 1 List cboSSP 1 ListIndex cboSSP 1 cboSSP 1 ListIndex 1 Exit For 75 Text Then Text Then End If Next fnt Name cboSSP 1 Text Set cbhoSSP 2 Font fnt cbhoSSP 2 Clear For i 0 To 255 cboSSP 2 AddItem Chr i Next cboSSP 2 Text lyr Symbol CharacterIndex cboSSP 2 ListIndex lyr Symbol CharacterIndex frmLayerSymbol 12 End If Case moShapeTypeLine set visibility cboSSP 1 Visible False cboSSP 2 Visible False chkSSP Visible False hsbSSP Visible False picSSP 1 Visible False 1b1SSP 3 Visible False 1b1SSP 4 Visible False 1lb1SSP 5 Visible False 1b1SSP 6 Visible False b1ISSP 7 Visible False retrieve and display current v
83. os pelo filtro programado em design mode que nesta vers o do SlGest o permite shapefiles coverages e ficheiros de imagem Depois de adicionadas todas as camadas pretendidas podemos ordenar as camadas pela indexa o pretendida atrav s dos bot es com setas que estar o dispon veis no caso de haver mais que uma camada na caixa de listagem Esta ordena o bastante importante no caso de haver camadas em sobreposi o permitindo posicionar as camadas da forma mais conveniente ver sequ ncia nas figuras seguinte fig 10 fig 11 e fig 12 22 m SiGest o visualizador da propriedade IV PIPA TIF Image controlo de camadas remover camada oj oj Figura 10 Controlo de camadas do SlGest o com apenas uma camada carregada m SiGest o visualizador da propriedade F PIPA EM controlo de camadas E 17 PIPA TIF Image adicionar camada remover camada e l Figura 11 Controlo de camadas do SlGest o com duas camada carregadas ortofotomapa pipa tif no topo e parcel rio pipa por tr s 23 SiGestao visualizador da propriedade q a Ed controlo de camadas 7 PIPA TIF Image adicionar camada remover camada 9 el Figura 12 Controlo de camadas do SlGest o com as mesmas duas camada carregadas com ordem invertida em rela o figura anterior Caso exista alguma camada que se deseje retirar basta seleccion la e carregar no bot o remover camada figur
84. ovo rect ngulo para maior amplia o Figura 16 Grande amplia o obtida do rect ngulo desenhado na figura 15 Figura 17 Um clique no mapa provoca o inverso Zoom out Figura 18 Aspecto do resultado da ferramenta full extent P g 15 16 17 18 19 21 22 23 23 24 24 25 26 26 27 27 Figura 19 Janela Propriedades da camada nome da camada em causa neste caso da camada PIPA Figura 20 Modifica o das propriedades da camada PIPA preenchimento cor e espessura do limite Figura 21 Aspecto das possibilidades de personalizar o aspecto das camadas Figura 22 Mapas tem ticos com dados alfanum ricos Figura 23 Mapas tem ticos exclusivamente a partir de dados num ricos 4 classes de valores Figura 24 Mapas tem ticos exclusivamente a partir de dados num ricos 2 classes de valores Figura 25 Separador que permite rotular cada um dos pol gonos Figura 26 Janela secund ria Informa o da s parcela s seleccionada s neste caso apenas uma parcela seleccionada Figura 27 Desenho do rect ngulo sobre as parcelas pretendidas Figura 28 Janela secund ria Informa o da s parcela s seleccionada s neste caso mais que uma parcela seleccionada Figura 29 Janela secund ria para procura de elementos no mapa em constru o Figura 30 Janela secund ria Ligar ao AGROGESTAO com campos da informa o intr nseca da camada em causa Figura 31 Janela de di logo
85. picZRlegend n Top picZRlegend n 1 Top 180 BackColor zRend Symbol n Color Visible True End With Set up the labels Load lblZRlegend n With lblZRlegend n Top lblZRlegend n 1 Top 180 Visible True Select Case n Case zRend BreakCount 1 rang n Less Than Caption Greater Than amp Format zRend Break n 1 0 00 Case Else Caption Format zRend Break n 1 0 00 amp 1 amp Format zRend Break n 0 00 End Select End With Next n End Sub Private Sub PopulateExistingZRlegend If Not justOpened Then Exit Sub End If Dim stats As MapObjects2 Statistics Dim i numClasses numBreaks As Integer Set zRend lyr Renderer If picZRlegend Count gt 1 Then For i picZRlegend Count 1 To 1 Step 1 Unload picZRlegend i Unload 1lb1lZRlegend i Next End If picZRlegend 0 Visible True lb1lZRlegend 0 Visible True picZRlegend 0 BackColor zRend Symbol 0 Color lb1lZRlegend 0 Caption Less than amp Format zRend Break 0 0 00 For i 1 To zRend BreakCount Load picZRlegend i With picZRlegend i Left picZRlegend 0 Left 89 Width picZRlegend 0 Width Height picZRlegend 0 Height Top picZRlegend i 1 Top 180 BackColor zRend Sy
86. ppropriate choSL 0 Text lyr Renderer Field frmLayerSymbol 9 End If End If End Sub Private Sub InitNoOverlapLabels Dim i As Integer cboNOL Clear Dim sFirstStringFld As Integer bFoundString As Boolean bFoundString False For i O To tDesc FieldCount 1 cboNOL AddItem tDesc FieldName i If Not bFoundString And tDesc FieldType i moString Then sFirstStringFld i bFoundString True End If 72 Next cboNOL ListIndex cdlgLayerProp FontName cdlgLayerProp FontSize cdlgLayerProp FontBold False cdlgLayerProp FontItalic False cdlgLayerProp FontStrikethru Fals cdlgLayerProp FontUnderline Fals cdlgLayerProp Color moBlack cmdApply Enabled True cmdOK Enabled True bug o franol VERVERVERVER fraNOL 0 Enabled For i O To optNOL optNO Enabled Nex ET i sFirstStringFld MS Sans Serif 10 Lt A Pee BOK P P P P P P P Q O AQAA E F lyr shapel Count 1 lyr shapel i 1 1 his function may abelRenderer s size Font points If Not lyr Rendere be called if t Approximate t into Map units Is Nothing Then he layer Type lt gt moShapel Type lt gt moShapel so fica enabled quando se volta a ir as propriedades ypePolygon ypePolygon currently has a he size of the existing label If TypeOf
87. ra 31 36 SiGest o visualizador da propriedade lv PIPA Py Ligar a BD 0 M MOMPORCAO E 7 AMIEIRA E PERIMETER Ligar a dbase Ligar SGROGEST O Figura 30 Janela secund ria Ligar aa AGROGEST O com campos da informa o intr nseca da camada em causa 37 SiGestao visualizador da propriedade Iv PIPA E Ligar aBD m al Escolher item para ma 7 MOMPORCAO o Open Look in basededados sigestao E Eg a AREA EE Q ERES Featureld E poa My Recent Fl ttt dbf Documents Desktop iv AMIEIRA E My Documents My Computer a File name bdamieir i My Network Files of type ficheiros dBASE dbf gt Cancel ers I Open as read only Figura 31 Janela de di logo para definir ficheiro dbase a ligar Se essa liga o tiver sucesso aparecer na caixa de listagem todos os campos presentes no ficheiro dbase figura 32 A partir daqui podem ser constru dos mapas tem ticos com a informa o externa do mesmo modo como se fez para a informa o local figura 33 38 SiGestao visualizador da propriedade iv CAM ES ALL IGEOE op im Ligar ao AGROGESTAO EI Escolher item para liga o iv PIPA V MOMPORCAO NUMERODEF E M AMIEIRA Desligar Figura 32 Janela secund ria Ligar ao AGROGEST O j com os campos originados do ficheiro externo SiGest o visualizador da propriedade
88. regamento das camadas espaciais no in cio da aplica o Sendo que o patrim nio Terra relativamente constante ao longo do tempo pode ser melhor que todos os dados espaciais de base parcel rios e ortofotomapas de cada um dos utilizadores estivessem carregados no in cio da aplica o Desta maneira s podem introduzidos de duas maneiras sempre em design mode escritos no pr prio c digo da aplica o ou nas caracter sticas do objecto map do MapObjects Da mesma forma a liga o ao AGROGESTAO pode ser carregada logo no inicio da aplica o simplificando os processos que o utilizador caso contr rio teria de fazer No entanto no caso de a tabela da base de dados a ligar possuir muitos campos pode n o haver vantagem nisso Uma tabela do MS Access com muitos campos implica a presen a de tamb m muitos campos nas caixas de selec o podendo tornar confuso o seu funcionamento A incorpora o das sugest es referidas levaria a uma personaliza o do SlGestao que pode ser considerada excessiva O SlGestao de um utilizador seria diferente do SlGestao de outro na medida em que o dado espacial carregado de base e o caminho para o AGRO GESTAO tamb m j estaria pr determinado H que clarificar que poss vel no entanto tornar o SlGestao mais generalista assim sendo todos os utilizadores usariam a mesma vers o Esta personaliza o pode ser ben fica visto que reduz bastante os processos que o utilizador p
89. rios ZOOPDA Solu o de recolha de informa o de campo c PC de Bolso ZOOCHIP ID Solu o de gest o de identifica o electr nica de animais ZOOGEST O O Gest o de equinos ZOOGEST O O Registo Zoot cnico Os objectivos principais do AGRO GEST O s o servir de apoio ao planeamento e controlo da gest o de dia a dia gerar informa o e relat rios internos para a gest o empresarial permitindo servir de base tomada de decis o n o rotineira defini o de estrat gias e de grandes planos assim como de pol ticas a seguir para a empresa permitir a elabora o de documentos para serem utilizados no exterior Os criadores do servi o pretendem que o sistema possa fornecer as respostas que a agricultura moderna exige permitindo a boa utiliza o deste sistema de controlo de gest o fundamentar as decis es com informa o detalhada e pertinente melhorar a efic cia de todo o sistema produtivo identificar estrangulamentos e gastos desnecess rios elaborar relat rios para cada actividade O AGRO GEST O um software de gest o para empresas do meio rural Por utilizar uma linguagem de f cil entendimento e por ser desenvolvido num interface gr fico amig vel uma ferramenta acess vel a todos os potenciais utilizadores como agricultores empres rios agr colas em nome individual e gerentes de empresas agro pecu rias Esta aplica o possui mais de 200 utilizadores
90. rs o comercial totalmente integrada no AGRO GESTAO e de grande utilidade para os seus utilizadores 4 2 Vantagens e limita es da aplica o O desenvolvimento de uma aplica o SIG mesmo a partir de biblioteca de objectos SIG espec ficos continua a ser um desafio exigente com bastante consumo de tempo e com grandes riscos de n o cumprir os requisitos previstos inicialmente Kosters et al 1996 A alian a entre o SlGest o e o AGRO GEST O produz diversas vantagens para os utilizadores A ideia de que uma imagem vale mais que mil palavras aplica se aqui extraordinariamente bem A identifica o da parcela ou da zona de terreno no AGRO GESTAO como em todos os Sistemas de gest o concorrentes que n o contem esta componente SIG feita atrav s do n mero da parcela Estas parcelas s o identificadas por um n mero de 13 algarismos ao qual se pode acoplar um nome para a melhor identifica o do local N o se pode dizer que este modo de identificar um local insuficiente ou que pode originar erros ou equ vocos mas natural que essa identifica o seja muito 41 mais facilitada com a visualiza o de um mapa do local figura 34 sobre informa o raster como um ortofotomapa Al m disso algumas caracter sticas intr nsecas das parcelas ter o um acesso mais f cil o que pode ajudar significativamente a tomada de decis o 3 Caracteriza o h SiGest o visualizador da propriedade Estrutura Fundi
91. s As MapObjects2 Recordset fld As MapObjects 2 Field lyr Renderer If picUV Count gt 1 Then For i picUV Count Unload picUV i 1 To 1 Step 1 85 frmLayerSymbol 21 Unload 1b1UV i Next End If fraUVouter Caption UCase lyr Name amp amp lyr Renderer Field picUV 0 Visible True lb1UV 0 Visible True picUV 0 BackColor vmr Symbol 0 Color 1lb1UV 0 Caption vmr Value 0 For i 1 To vmr ValueCount 1 Load picUV i With picUV i Left picUV 0 Left Width picUV 0 Width Height picUV 0 Height Top picUV i 1 Top 180 BackColor vmr Symbol i Color Visible True End With oad 1b1lUV i With 1lb1lUV i Left 1b1UV 0 Left Width 1b1lUV 0 Width Height 1b1UV 0 Height Top lblUV i 1 Top 180 Caption vmr Value i Visible True End With Next fraUVinner Height vmr ValueCount 180 300 If vmr ValueCount gt 18 Then vsbUV Enabled True vsbU vsbU vsbU vsbU Else vsbUV Enabled False End If justOpened False End Sub Private Sub PopulateNewCBlegend rendField As String Dim stats As MapObjects2 Statistics Dim range As Double Dim i numClasses numBreaks As Integer If Trim cboCB 0 Text vbNullString Then cboCB 0 ListIndex 0 End If Set stats recs CalculateStatistics cboCB 0 Text numClasses cboCB 1 Text numBreaks numClasses 1 If picCBlege
92. s leituras atentas a este trabalho lil SIGESTAO M dulo SIG integrado no sistema de informa o de gest o agro pecu rio AGRO GEST O RESUMO Cada vez mais as empresas agropecu rias que desejam ser competitivas recorrem a diversos programas inform ticos comerciais para optimizar todos os seus recursos como a gest o de stocks e actividades O sistema de informa o de gest o AGRO GESTAO tem como objectivo englobar todas essas necessidades inform ticas das empresas agropecu rias O recurso Terra o elo de liga o de muitas dessas funcionalidades presentes no AGRO GESTAO este recurso que condiciona as actividades de curto e longo prazo por isso determinante estar bem identificado e claramente caracterizado O m dulo SIG SlGest o concebido neste projecto vai adicionar vantagens na identifica o e na caracteriza o do recurso Terra aliando uma componente visual nessa identifica o e caracteriza o que no AGRO GESTAO O apenas alfanum rica Concebido em ambiente Visual Basic com recurso biblioteca de objectos MapObjects proporciona ao utilizador um espa o onde visualizado camadas de informa o espacial tanto raster como vectorial Al m das ferramentas de manipula o normais a um visualizador SIG o SlGest o possui ainda nas suas funcionalidades capacidade de conex o a bases de dados dbase e MS Access Esta ltima a que permite de forma autom tica a conex o com o sistema
93. sc sstLayerProp Tab If lyr Renderer Is Nothing Then Set lyrRend New MapObjects2 Point Else Set lyrRend lyr Renderer 67 End I If Pr Exit End I End I f eviousTab Sub f f 2 Then Select Case sstLayerProp Tab Case If TypeOf lyrRend Is MapObjects2 frmLa Call 0 yerSymbol LoadSingl Else Cal InitSingl End Case I If TypeOf lyrRend Is MapObjects2 LoadUniqueVal Call f 1 eSymbol eSymbol 5 ues Else Call InitUniqueVal ues End Case I If Typeof 1 Call f 2 LoadC Else Call Initcl End Case I If Typeof 1 Call f 3 Else Cal assBreaks abels InitNoOver End I End S End S THE ap abe elect ub ap SIX PROC EDUR ARE THOSE THAT COIN CONT CAN Tni Int TAi Tn Ena m Ena Tira Priva Dim i ES THAT FOL If TypeOf lyrRend Is MapObjects2 lyrRend Is MapObjects2 assBreaks lyrRend Is MapObjects2 LoadNoOverl 1 LOW ValueMapRenderer Then Point Then ValueMapRenderer Then ClassBreaksRenderer Then LabelPlacer Then THAT BEGIN WITH THE WORD INIT RUN WH EN AR EN D ERER IS CHOSEN WHICH DOES NOT CIDE WIT H THE ACTIVE F AY
94. tDesc FieldName i vmr Field Then cboUV ListIndex i frmLayerSymbol 13 End If Next Select Case vmr Symbol 0 Outline Case True chkUV Value 1 Case False chkUV Value 0 End Select chkUV Visible lyr shapeType moShapeTypePolygon Call PopulateExistingUVlegend End Sub Private Sub LoadClassBreaks Dim i j As Integer Set cbr lyr Renderer j 1 cboCB 0 Clear cboCB 0 Text cbr Field For i 0 To tDesc FieldCount 1 If tDesc FieldType i moDouble Or _ tDesc FieldType i moLong Then j j 1 cboCB 0 AddItem tDesc FieldName i If tDesc FieldName i cbr Field Then cboCB 0 ListIndex j End If End If Next cboCB 1 Text cbr BreakCount 1 cboCB 1 ListIndex cbr BreakCount 1 Select Case cbr Symbol 0 Outline Case True chkCB Value 1 Case False chkCB Value 0 End Select picCBramp 0 BackColor cbr Symbol 0 Color picCBramp 1 BackColor cbr Symbol cbr BreakCount Color 77 chkCB Visible lyr shapeType moShapeTypePolygon Call PopulateExistingCBlegend End Sub Private Sub LoadStandardLabels Dim i As Integer Dim strFN As String Set lr lyr Renderer For i 0 To tDesc FieldCount 1 strFN tDesc FieldName i choSL 0 AddItem strFN If lr Field strFN Then choSL 0 ListIndex i End If If tDesc FieldType i moLong Or _
95. tems encontrados End If gSelection MoveFirst ue ueAsString _ButtonClick ByVal Button As MSComct1Lib Button Next i refreshButtons FormUp False End Sub Private Sub Form_Unload Cancel As Integer Forml legmapdisp LoadLegend End Sub Private Sub layerTools_ButtonClick ByVal Button As MSComct1Lib Button Dim curIndex As Integer curIndex lstLayers ListIndex Select Case Button Index Case 1 Forml Mapl Layers MoveTo curIndex curIndex 1 lstLayers Clear Form_Load lstLayers ListIndex curIndex 1 Case 3 Forml Mapl Layers MoveTo curIndex curIndex 1 lstLayers Clear Form_Load lstLayers ListIndex curIndex 1 End Select refreshButtons Forml Mapl Refresh End Sub Private Sub lstLayers_Click refreshButtons End Sub Private Sub lstlayers_itemcheck i As Integer If lstLayers listCount 0 Then Exit Sub End If If Not FormUp Then Forml Mapl Layers i Visible lstLayers Selected i Forml Mapl Refresh End If End Sub Private Sub cmdAdd_Click addFile Form2 2 Forml legmapdisp LoadLegend End Sub Private Sub addFile Esta rotina define o common dialog e devolve a shapefile ou imagem para ser preocessada como camada Dim fullFile As String path As String tempChar As String ext As String Dim Test As Boolean Dim textPos As Long periodPos As Long Dim curPath As String Executa o common dialog para seleccionar o ficheiro para abrir Dim strShape
96. unt layerNum 2 featCount curCount frmFind grdFeatList AddItem layer Name amp Chr 9 amp aField Name amp Chr 9 amp aValue End If End If Next aField recs MoveNext Wend End If End If Next i If featCount gt 0 Then frmFind grdFeatList FixedRows 1 End If frmFind lblNumFeats Caption Str featCount 1 items encontrados Test True For i 0 To frmFind cboSearchList listCount If frmFind cboSearchList List i frmFind cboSearchList Then Test False End If Next i If Test Then frmFind cboSearchList AddItem frmFind cboSearchList 0 End If Screen MousePointer 0 End Sub Private Sub cboSearchList Change Call check cmdFindButton End Sub Private Sub cboSearchList KeyPress KeyAscii As Integer If KeyAscii 13 Then If frmFind cmdFindButton Enabled Then Call FindFeatures End If End If End Sub Private Sub Form Terminate Forml Mapl TrackingLayer ClearEvents End Sub Private Sub grdFeatList_SelChange grdFeatList Col 0 grdFeatList ColSel 2 If grdFeatList Row gt 0 Then cmdHighlight Enabled True cmdInsertPin Enabled True cmdPanto Enabled True cmdZoomto Enabled True Else cmdHighlight Enabled False cmdPanto Enabled False cmdZoomto Enabled False frmFind 4 cmdInsertPin Enabled False 61 End If End Sub Private Sub cmdFindButton Cl

Download Pdf Manuals

image

Related Search

SIGEST sigest utic sigestel sigest login sigest srl sigest ufpa sigestel conatel sigest online sigeste tcu sigest df login sigest doc sigest estagiarios df sigest unl sigestina para que sirve

Related Contents

JVC LT-20DA6SSP User's Manual  HI 38040 Test Kit Hierro Rango Medio con Checker Disc  Guide d`installation rapide décodeur SILIGENCE - Particuliers  6ª SUBASTA CESUR  DEH-P5800MP - Pioneer Electronics  Il  TSP053 MKIV Universal Hopper Service Manual V2.2  取扱説明書 - GROWTAC  Siemens GS36NBW30G freezer  Electrolux SIG 500 User's Manual  

Copyright © All rights reserved.
Failed to retrieve file