Пример #1
0
def newLayer(layer, path, geometryType):
    #path = "C:/gvsig/test03.shp"
    CRS= gvsig.currentProject().getProjectionCode()
    schema = gvsig.createSchema(layer.getSchema())
    output = gvsig.createShape( schema, path, CRS=CRS, geometryType = geometryType )
    gvsig.currentView().addLayer(output)
    return output
def main(*args):
    # Inputs
    idStore = "refman"
    idTable = "refman"
    fields = ["pob_0_14", "pob_15_65", "pob_66_mas"]
    #fields = ["Campo1", "Campo2"] #, "Campo3"]
    #fields = ["Campo1"]
    #layerName = "ejemplo_puntos"
    layerName = "pob_5fs"
    #layerName = "fewlines"
    store = gvsig.currentView().getLayer(layerName).getFeatureStore()
    table = gvsig.currentView().getLayer(layerName).getFeatureStore()
    #store = gvsig.currentLayer().getFeatureStore()
    #table = gvsig.currentLayer().getFeatureStore()
    default_segs = 15
    gaps = 1
    half_step = 90
    internalRadius = 0
    radiusInterval = 0
    centerTopSector = True
    iLabel = True
    labelOnlyFirstSector = False
    createSectorLabel = True
    createRingMap(store, table, idStore, idTable, fields, default_segs, gaps,
                  half_step, internalRadius, radiusInterval, centerTopSector,
                  iLabel, labelOnlyFirstSector, createSectorLabel)
Пример #3
0
  def __defineParameters(self, algorithm, kwparams):
      """ Define input parameters """
      params = algorithm.getParameters()
      for i in range(0,params.getNumberOfParameters()):
          param = params.getParameter(i)
          if param.getParameterName() in kwparams:
              paramValue = kwparams[param.getParameterName()]
          else:
              paramValue = kwparams[i]
              
          #Vector to SEXTANTE
          if param.getParameterTypeName() == "Vector Layer":
              if isinstance(paramValue, str):
                  layer = gvsig.currentView().getLayer(paramValue)
                  paramValue = self.__createSextanteLayer(layer())
              else:
                  paramValue = self.__createSextanteLayer(paramValue())
          #Raster to SEXTANTE
          elif param.getParameterTypeName() == "Raster Layer":
              if isinstance(paramValue, str):
                  layer = gvsig.currentView().getLayer(paramValue)
                  paramValue = self.__createSextanteRaster(layer)
              else:
                  paramValue = self.__createSextanteRaster(paramValue)
          #Table to SEXTANTE
          elif param.getParameterTypeName() == "Table":
              if isinstance(paramValue, str):
                  layer = gvsig.currentProject().getTable(paramValue)
                  paramValue = self.__createSextanteTable(layer())
              else:
                  paramValue = self.__createSextanteTable(paramValue())

          #Set parameter value
          param.setParameterValue(paramValue)
Пример #4
0
def newLayer(layer, path, geometryType=None):
    CRS = layer.getProjectionCode()
    schema = gvsig.createSchema(layer.getSchema())
    if geometryType==None: geometryType = layer.getTypeVectorLayer().getType()
    output = gvsig.createShape( schema, path, CRS=CRS, geometryType=geometryType )
    gvsig.currentView().addLayer(output)
    return output
Пример #5
0
def loadShapeFileFalse(shpFile, CRS='CRS:84'):
    try:
        CRS = gvsig.currentProject().getProjectionCode()
    except:
        pass
    layer = gvsig.loadLayer('Shape', shpFile=shpFile, CRS=CRS)
    gvsig.currentView().addLayer(layer)
    return gvsig.Layer(layer)
Пример #6
0
def loadShapeFileFalse(shpFile, CRS='CRS:84'):
    try:
        CRS = gvsig.currentProject().getProjectionCode()
    except:
        pass
    layer = gvsig.loadLayer('Shape', shpFile=shpFile, CRS=CRS)
    gvsig.currentView().addLayer(layer)
    return gvsig.Layer(layer)
Пример #7
0
def newLayer(layer, path, geometryType):
    #path = "C:/gvsig/test03.shp"
    CRS = gvsig.currentProject().getProjectionCode()
    schema = gvsig.createSchema(layer.getSchema())
    output = gvsig.createShape(schema,
                               path,
                               CRS=CRS,
                               geometryType=geometryType)
    gvsig.currentView().addLayer(output)
    return output
Пример #8
0
def newLayer(layer, path, geometryType=None):
    CRS = layer.getProjectionCode()
    schema = gvsig.createSchema(layer.getSchema())
    if geometryType == None:
        geometryType = layer.getTypeVectorLayer().getType()
    output = gvsig.createShape(schema,
                               path,
                               CRS=CRS,
                               geometryType=geometryType)
    gvsig.currentView().addLayer(output)
    return output
Пример #9
0
 def addAccidentsLayer(self):
     dataManager = DALLocator.getDataManager()
     workspace = dataManager.getDatabaseWorkspace("ARENA2_DB")
     if workspace == None:
         msgbox("Debera conectarse al espacio de trabajo de ARENA2_DB")
         return
     repo = workspace.getStoresRepository()
     store = repo.getStore("ARENA2_ACCIDENTES")
     layer = MapContextLocator.getMapContextManager().createLayer(
         "Accidentes", store)
     gvsig.currentView().getMainWindow().getMapControl().addLayer(layer)
def main(*args):
    proportionX = 1
    proportionY = 1
    xi = 0
    yi = 0
    baseLines = createBaseLayers(proportionX, proportionY)

    # Setting coordinates to aoristic clock
    nameFieldHour = "HORA"
    nameFieldDay = "DIA"
    patternHour = '%H:%M:%S'
    patternDay = '%Y-%m-%d'

    layer = gvsig.currentLayer()

    # New points layer
    schema = gvsig.createFeatureType(
        layer.getFeatureStore().getDefaultFeatureType())  # DefaultFeatureType
    newPoints = gvsig.createShape(schema)

    # Transform
    set = layer.getFeatureStore().getFeatureSet()
    newPoints.edit()
    store = newPoints.getFeatureStore()
    for f in set:
        fieldHour = f.get(nameFieldHour)
        d = datetime.datetime.strptime(fieldHour, patternHour).time()
        totalSecs = float(d.minute * 60 + d.second) / 3600
        x = float(d.hour) + float(totalSecs)
        x = x * proportionX
        fieldDay = f.get(nameFieldDay)
        dday = datetime.datetime.strptime(fieldDay, patternDay)
        y = dday.weekday()
        y = y * proportionY

        nf = store.createNewFeature(f)
        newGeom = geom.createPoint(geom.D2, x, y)
        nf.setDefaultGeometry(newGeom)
        store.insert(nf)
    newPoints.commit()
    gvsig.currentView().addLayer(newPoints)

    mp = MapContextLocator.getMapContextManager()
    leg = mp.createLegend("HeatmapLegend")
    leg.setROI(baseLines.getFullEnvelope().getGeometry())
    leg.setUseFixedViz(False)
    leg.setCorrectionFixedViz(100)
    leg.setDistance(30)
    colorTables = SymbologySwingLocator.getSwingManager().createColorTables(
    ).get(5)
    leg.setColorTable(colorTables.getColors())
    newPoints.setLegend(leg)
Пример #11
0
def loadShapeFileNew(shpFile, CRS='CRS:84', tocName=False, active=False, view=gvsig.currentView()):
    try:
        CRS = gvsig.currentView().getProjectionCode()
    except:
        pass
    layer = loadLayerNew('Shape', shpFile=shpFile, CRS=CRS, tocName=tocName, )
    if isinstance(view,str):
        view = gvsig.currentProject().getView(view)
    else:
        view= gvsig.currentView()
    view.addLayer(layer)
    layer.setActive(active)
    return gvsig.Layer(layer)
Пример #12
0
    def __defineParameters(self, algorithm, kwparams):
        """ Define input parameters """
        params = algorithm.getParameters()
        for i in xrange(0, params.getNumberOfParameters()):
            param = params.getParameter(i)
            if param.getParameterName() in kwparams:
                paramValue = kwparams[param.getParameterName()]
            else:
                paramValue = kwparams[i]

            #Input params: Tranform STRING to NUMERIC
            cond1 = (str(param) == "Numerical Value")
            cond2 = (str(param) == "Selection")
            isstr = isinstance(paramValue, str)
            cond4 = (str(param) == "Boolean")
            cond5 = (str(param) == "Table Field")

            print str(param), type(paramValue)
            if isstr:
                if (cond1 or cond2):
                    paramValue = float(paramValue)
                elif cond4:
                    paramValue = eval(paramValue.capitalize())
                elif cond5:
                    paramValue = int(paramValue)
                else:  #is str
                    pass
            #Vector to SEXTANTE
            if param.getParameterTypeName() == "Vector Layer":
                if isinstance(paramValue, str):
                    layer = gvsig.currentView().getLayer(paramValue)
                    paramValue = self.__createSextanteLayer(layer())
                else:
                    paramValue = self.__createSextanteLayer(paramValue())
            #Raster to SEXTANTE
            elif param.getParameterTypeName() == "Raster Layer":
                if isinstance(paramValue, str):
                    layer = gvsig.currentView().getLayer(paramValue)
                    paramValue = self.__createSextanteRaster(layer)
                else:
                    paramValue = self.__createSextanteRaster(paramValue)
            #Table to SEXTANTE
            elif param.getParameterTypeName() == "Table":
                if isinstance(paramValue, str):
                    layer = gvsig.currentProject().getTable(paramValue)
                    paramValue = self.__createSextanteTable(layer())
                else:
                    paramValue = self.__createSextanteTable(paramValue())

            #Set parameter value
            param.setParameterValue(paramValue)
Пример #13
0
def process(selfStatus,store,raster,outputFilePath=None):
    # SELECT METHOD TO TRANSFORM POINTS
    method = "setZFromRaster" #None
    
    geomManager = GeometryLocator.getGeometryManager()
    
    if store.getFeatureSelection().getSize()>0:
        fset = store.getFeatureSelection()
    else:
        fset = store.getFeatureSet()
        
    nsch = gvsig.createFeatureType(store.getDefaultFeatureType())
    
    if method == "setZFromRaster":
        transformMethod = setZFromRaster
        subtype = geom.D3M
        
    nsch.get("GEOMETRY").setGeometryType(nsch.get("GEOMETRY").getGeometryType(), subtype)
    if outputFilePath is None:
        outputFilePath = gvsig.getTempFile("result_geometries",".shp")
    ns = gvsig.createShape(nsch,outputFilePath)
    ns.edit()
    store = ns.getFeatureStore()
    selfStatus.setRangeOfValues(0,fset.getSize())
    for f in fset:
        selfStatus.next()
        fg = f.getDefaultGeometry()
        #print "Default geometry: ", fg,
        if subtype == None: 
            subtype =  fg.getGeometryType().getSubType()
        nm = geomManager.create(fg.getGeometryType().getType(), subtype)
        if isinstance(fg,MultiPrimitive): # for multiprimitive
            for i in range(0,fg.getPrimitivesNumber()):
                iPol = fg.getPrimitiveAt(i)
                np = geomManager.create(iPol.getGeometryType().getType(), subtype)
                insertVertexFromGeometryInGeometry(iPol, np, raster, transformMethod) ## INSERT
                nm.addPrimitive(np)
        else: # for primitive
            insertVertexFromGeometryInGeometry(fg, nm, raster, transformMethod) ## INSERT
        
        nf = store.createNewFeature(f)
        nf.set("GEOMETRY", nm)
        store.insert(nf)
        
        if selfStatus.isCanceled() == True:
            ns.finishEditing()
            return True
    ns.finishEditing()
    gvsig.currentView().addLayer(ns)
 def checkErrorsLayer(self, line):
     errorsLayer = gvsig.currentView().getLayer(self.errorsLayerName)
     if errorsLayer == None:
         errorsLayerSchema = gvsig.createSchema()
         errorsLayerSchema.append("GEOMETRY", "GEOMETRY")
         errorsLayerSchema.get("GEOMETRY").setGeometryType(geom.POINT, geom.D2)
         errorsLayer = gvsig.createShape(errorsLayerSchema)
         errorsLayer.setName(self.errorsLayerName)
         errorsLegend = SingleSymbolLegend()
         errorsSymbol = SimpleMarkerSymbol()
         errorsSymbol.setColor(gvsig.utils.getColorFromRGB(255, 0, 51)) # RGB
         errorsSymbol.setSize(10)
         errorsLegend.setDefaultSymbol(errorsSymbol)
         errorsLayer.setLegend(errorsLegend)
         gvsig.currentView().addLayer(errorsLayer)
def crearCapaDePoligonos(process, layerName):
  capa = createShape(process.getPolygonFeatureType())
  capa.setName(layerName)
  store = capa.getFeatureStore()
  store.edit()
  for unCentro in process.centros:
    unCentro.area = None
    f = store.createNewFeature()
    f.set("ID",unCentro.id)
    f.set("NAME",unCentro.nombre)
    f.set("COUNT",unCentro.getTotalCount())
    f.set("GEOMETRY",unCentro.getPolygon())
    store.insert(f)
  capa.commit()  
  currentView().addLayer(capa)
Пример #16
0
 def startCapture(self):
     if self.mapControl != None:
         return
     i18n = ToolsLocator.getI18nManager()
     viewdoc = currentView()
     if viewdoc == None:
         msgbox(i18n.getTranslation("_Must_have_an_active_View"))
         return
     self.mapControl = viewdoc.getWindowOfView().getMapControl()
     self.previousTool = self.mapControl.getCurrentTool()
     self.mapControl.addBehavior("CoordinateCaptureTool",
                                 PointBehavior(self))
     self.mapControl.setTool("CoordinateCaptureTool")
     self.btnToggleCapture.setText(
         i18n.getTranslation("_End_points_capture"))
     if self.crs == None:
         self.crs = self.mapControl.getProjection()
         self.transform = None
     elif self.crs == self.mapControl.getProjection():
         self.transform = None
     else:
         self.transform = self.mapControl.getProjection().getCT(self.crs)
     self.txtCRS.setText(self.crs.getAbrev())
     self.btnClearCRS.setEnabled(True)
     self.btnCRS.setEnabled(True)
Пример #17
0
def currentActive():
    """Return first active layer on the View"""
    layers = gvsig.currentView().getLayers()
    lyrlist = [ layers[i] for i in range(0, layers.__len__())]
    for i in lyrlist:
        if i.isActive(): return i
    return None
 def execute(self, rule, line, parameters):
     try:
         self.checkErrorsLayerName()
         self.checkErrorsLayer(line)
         self.checkSelectedRowCount()
         
         geometry1 = line.getFeature1().getFeature().getDefaultGeometry()
         geometry2 = line.getFeature2().getFeature().getDefaultGeometry()
         intersection = geometry1.intersection(geometry2)
         
         errorsLayer = gvsig.currentView().getLayer(self.errorsLayerName)
         errorsLayer.edit()
         
         geometryType1 = intersection.getGeometryType()
         if geometryType1.getType() == geom.POINT or geometryType1.isTypeOf(geom.POINT):
             errorsLayer.append(GEOMETRY=intersection)
         
         errorsLayer.commit()
         
         self.linesCount += 1
         
         self.checkProcessState()
     except:
         ex = sys.exc_info()[1]
         gvsig.logger("Can't execute action. Class Name: " + ex.__class__.__name__ + ". Exception: " + str(ex), gvsig.LOGGER_ERROR)
Пример #19
0
def main(*args):
    viewDoc = gvsig.currentView()
    viewPanel = viewDoc.getWindowOfView()
    mapControl = viewPanel.getMapControl()

    reportbypoint = ReportByPoint()
    reportbypoint.setTool(mapControl)
Пример #20
0
def loadShapeFileNew(shpFile,
                     CRS='CRS:84',
                     active=False,
                     view=gvsig.currentView()):
    try:
        CRS = gvsig.currentView().getProjectionCode()
    except:
        pass
    layer = gvsig.loadLayer('Shape', shpFile=shpFile, CRS=CRS)
    if isinstance(view, str):
        view = gvsig.currentProject().getView(view)
    else:
        view = gvsig.currentView()
    view.addLayer(layer)
    layer.setActive(active)
    return gvsig.Layer(layer)
def main(*args):
    p = geom.createPoint2D(0.4445681294, 42.562040941311)
    mapControl = gvsig.currentView().getMainWindow().getMapControl()
    content = getHTMLReportByPoint(p, mapControl)
    r = ReportByPointPanelReport()
    r.showTool("Report by point")
    r.setHTMLText(content)
Пример #22
0
def currentRaster():
    """Return first raster active layer on the View"""
    layers = gvsig.currentView().getLayers()
    lyrlist = [layers[i] for i in range(0, layers.__len__())]
    for i in lyrlist:
        if i.isActive() and isinstance(i, DefaultFLyrRaster): return i
    return None
Пример #23
0
def geoprocess(algorithmId, **kwparams):
  geoprocess = Geoprocess()
  r = geoprocess.execute(algorithmId, kwparams )
  #view = gvsig.currentView()
  if r == None: return
  outList = []
  print "| Output layers: "
  for value in r.values():
    if isinstance(value, unicode):
        outList.append(value.encode("UTF-8"))
    elif isinstance(value, FLyrVect):
        print "|\t Value:", value.getName()
        path = value.getDataStore().getFullName()
        print "|\t\tPath: ", path
        crs = gvsig.currentView().getProjectionCode()
        out = loadShapeFileFalse(str(path),crs)
        outList.append(out)
    #elif isinstance(value, IRasterLayer):
    elif isinstance(value,FLayer):
        print "|\t Value:", value.getName()
        print "|\t\t", value.getFileName()[0]
        raster = gvsig_raster.loadRasterLayer(value.getFileName()[0])
        outList.append(raster)
    else:
        print "Non-type"
        print "\tValue: ", value
  print "\n"
  return outList
Пример #24
0
def currentActive():
    """Return first active layer on the View"""
    layers = gvsig.currentView().getLayers()
    lyrlist = [layers[i] for i in range(0, layers.__len__())]
    for i in lyrlist:
        if i.isActive(): return i
    return None
 def isVisible(self,action):
   if action == "view-time-add-basic-support-to-datasource":
     view = currentView()
     if view == None:
       return False
     mapContext = view.getMapContext()
     return mapContext.hasLayers()
def main(*args):      
  viewDoc = gvsig.currentView()
  viewPanel = viewDoc.getWindowOfView()
  mapControl = viewPanel.getMapControl()
  
  reportbypoint = QuickDrawingRectangle()
  reportbypoint.setTool(mapControl)
Пример #27
0
def geoprocess(algorithmId, **kwparams):
    geoprocess = Geoprocess()
    r = geoprocess.execute(algorithmId, kwparams)
    #view = gvsig.currentView()
    if r == None: return
    outList = []
    print "| Output layers: "
    for value in r.values():
        if isinstance(value, unicode):
            outList.append(value.encode("UTF-8"))
        elif isinstance(value, FLyrVect):
            print "|\t Value:", value.getName()
            path = value.getDataStore().getFullName()
            print "|\t\tPath: ", path
            crs = gvsig.currentView().getProjectionCode()
            out = loadShapeFileFalse(str(path), crs)
            outList.append(out)
        #elif isinstance(value, IRasterLayer):
        elif isinstance(value, FLayer):
            print "|\t Value:", value.getName()
            print "|\t\t", value.getFileName()[0]
            raster = gvsig_raster.loadRasterLayer(value.getFileName()[0])
            outList.append(raster)
        else:
            print "Non-type"
            print "\tValue: ", value
    print "\n"
    return outList
Пример #28
0
  def __defineExtent(self, algorithm, kwparams):
      """ Define Analysis Extent """
      if 'EXTENT' in kwparams.keys():
          print ("|"+str(kwparams.keys()))
          frame = kwparams['EXTENT']
          print ("|"+str(frame))
          print "TIPO DE FRAME", type(frame)
          if isinstance(frame, str) and frame == 'VIEW' or isinstance(frame, gvsig.View):
              AExtent = AnalysisExtent()
              print "EXTENT ************ VIEW"
              if isinstance(frame, gvsig.View): view = frame
              else: view = gvsig.currentView()
              envelope = view.getMap().getFullEnvelope()
              xlow = envelope.getLowerCorner().getX()
              ylow = envelope.getLowerCorner().getY()
              xup = envelope.getUpperCorner().getX()
              yup = envelope.getUpperCorner().getY()
              #print xlow, ylow, xup, yup
              frame = Rectangle2D.Double(xlow, ylow, xup, yup)
              print frame
              AExtent.addExtent(frame)
          #elif isinstance(frame, raster):
          elif isinstance(frame, DefaultFLyrRaster):
              print "EXTENT ************ RASTER"
              layer = self.__createSextanteRaster(frame)
              AExtent = AnalysisExtent(layer)
          elif isinstance(frame, list):
              print "EXTENT ************ LIST"
              AExtent = AnalysisExtent()
              xlow, ylow, xup, yup  = frame[0], frame[1], frame[2], frame[3]
              frame = Rectangle2D.Double(xlow, ylow, xup, yup)
              print frame
              AExtent.addExtent(frame)
          elif isinstance(frame, gvsig.Layer):
              print "EXTENT ************ layer"
              layer = self.__createSextanteLayer(frame())
              AExtent = AnalysisExtent(layer)
              """
              envelope = frame.data().getEnvelope()
              xlow = envelope.getLowerCorner().getX()
              ylow = envelope.getLowerCorner().getY()
              xup = envelope.getUpperCorner().getX()
              yup = envelope.getUpperCorner().getY()
              """
          else:
              raise NameError("Not Extent Define")

          #Set: cellsize
          if 'CELLSIZE' in kwparams.keys():
              AExtent.setCellSize(kwparams['CELLSIZE'])
              print "| New Cellsize: ", kwparams['CELLSIZE'], AExtent.getCellSize()
          else:
              print "| Cellsize: ", AExtent.getCellSize()
              
          algorithm.setAnalysisExtent(AExtent)
          print ("| Set Extent")
      else:
          print ("| Not Extent")
          #???
          if algorithm.canDefineOutputExtentFromInput(): algorithm.adjustOutputExtent()
Пример #29
0
def currentRaster():
    """Return first raster active layer on the View"""
    layers = gvsig.currentView().getLayers()
    lyrlist = [ layers[i] for i in range(0,layers.__len__())]
    for i in lyrlist:
      if i.isActive() and isinstance(i, DefaultFLyrRaster):  return i
    return None
def main(*args):
    print "Testing graphic memory store"
    #v = DrawGraphicLayer()
    store = createMemoryStore()

    store.edit(FeatureStore.MODE_APPEND)
    f = store.createNewFeature()
    line1 = geom.createGeometry(geom.LINE)
    line1.addVertex(geom.createPoint(geom.D2, 0, 0))
    line1.addVertex(geom.createPoint(geom.D2, 10, 10))
    f.set('ID', 1)
    f.set('GEOMETRY', line1)
    store.insert(f)
    store.finishEditing()

    store.edit()
    f.set('ID', 2)
    f.set('GEOMETRY', geom.createPoint(geom.D2, 15, 10))
    store.insert(f)

    f.set('ID', 2)
    f.set('GEOMETRY', geom.createPoint(geom.D2, 15, 10))
    store.insert(f)

    store.finishEditing()

    #load layer
    mapContextManager = MapContextLocator.getMapContextManager()
    layer = mapContextManager.createLayer('MyLayer', store)
    gvsig.currentView().addLayer(layer)

    features = store.getFeatures()
    selection = store.getFeatureSelection()
    for f in features:
        selection.select(f)

    store.edit()
    features = store.getFeatureSelection()
    values = {"GEOMLINE": 1}

    for f in features:
        fe = f.getEditable()
        print "F: ", f
        for key, value in values.iteritems():
            fe.set(key, value)
        store.update(fe)
    store.commit()
def main(*args):
  # Inputs
  idStore = "refman"
  idTable = "refman"
  fields = ["pob_0_14", "pob_15_65", "pob_66_mas"]
  layerName = "pob_5fs"
  store = gvsig.currentView().getLayer(layerName).getFeatureStore()
  table = gvsig.currentView().getLayer(layerName).getFeatureStore()
  #store = gvsig.currentLayer().getFeatureStore()
  #table = gvsig.currentLayer().getFeatureStore()
  default_segs = 15
  gaps = 3
  half_step = 90
  internalRadius = 0
  radiusInterval = 8
  centerTopSector = True
  createRingMap(store, table, idStore, idTable, fields, default_segs, gaps, half_step, internalRadius, radiusInterval, centerTopSector)
 def execute(self,actionCommand, *args):
   actionCommand = actionCommand.lower()
   if actionCommand == "settool-toolfinder":
     viewPanel = gvsig.currentView().getWindowOfView()
     mapControl = viewPanel.getMapControl()
     mytool = ToolFinderPanel()
     i18n = ToolsLocator.getI18nManager()
     mytool.showTool(i18n.getTranslation("_Tool_finder"))
 def execute(self,actionCommand, *args):
   actionCommand = actionCommand.lower()
   if actionCommand == "settool-quickdrawing":
     viewPanel = currentView().getWindowOfView()
     mapControl = viewPanel.getMapControl()
     quickdrawing = QuickDrawingTool()
     i18n = ToolsLocator.getI18nManager()
     quickdrawing.showTool(i18n.getTranslation("_Quick_drawing"))
 def isEnabled(self,action):
   if action == "view-time-add-basic-support-to-datasource":
     view = currentView()
     if view == None:
       return False
     mapContext = view.getMapContext()
     if not mapContext.hasLayers():
       return False
     return mapContext.hasActiveVectorLayers()
Пример #35
0
def getMunicipalitiesParcelsFeatureSet(codmuni):
  manager = DALLocator.getDataManager()
  storeParameters = manager.createStoreParameters("H2Spatial")
  database_file = gvsig.getResource(__file__,"data","municipalities.mv.db")
  storeParameters.setDynValue("database_file",database_file)
  storeParameters.setDynValue("Table","Muni")
  storeParameters.setDynValue("SQL","""SELECT * FROM "Muni" WHERE CODMUN='{0}'""".format(codmuni));
  store = manager.openStore("H2Spatial",storeParameters)
  #try:  
  #  query = u"""CODMUN='{0}'""".format(codmuni)
  #  featureSet = store.getFeatureSet(query)
  #except:
  #  return None
  application = ApplicationLocator.getManager()
  mapcontextmanager = application.getMapContextManager()
  layer = mapcontextmanager.createLayer(codmuni,store)
  gvsig.currentView().addLayer(layer)
  store.dispose()
Пример #36
0
def main(*args):
    #process = CutLinesByDistance()
    #process.selfregister("Scripting")
    #gm = GeoProcessLocator.getGeoProcessManager()
    # Actualizamos el interface de usuario de la Toolbox
    #process.updateToolbox()
    #store = gvsig.currentLayer().getFeatureStore()
    store = gvsig.currentView().getLayer("oneline").getFeatureStore()
    ns = process(None, store, 30)
    n = gvpy.runalg("geometriestopoints", ns)
Пример #37
0
def main(*args):
    currentView = gvsig.currentView()
    currentLayer = gvsig.currentLayer()
    area = calcularArea(currentView, currentLayer)
    if area != 0:
        message = str(
            float(area)) + " Km2"  # https://es.wikipedia.org/wiki/Uruguay
        title = unichr(
            193) + "rea"  # https://es.wikipedia.org/wiki/ISO/IEC_8859-1
        mensajeCartel(message, title, commonsdialog.IDEA)
Пример #38
0
 def execute(self, actionCommand, *args):
     actionCommand = actionCommand.lower()
     if actionCommand == "settool-exportmaptiles":
         #print "### QuickinfoExtension.execute(%s)" % repr(actionCommand)
         layer = currentLayer()
         if not self.isLayerValid(layer):
             return
         viewPanel = currentView().getWindowOfView()
         mapControl = viewPanel.getMapControl()
         exportmaptiles = ExportMapTilesPanel()
         exportmaptiles.showTool("_Export_map_tiles")
 def execute(self, actionCommand, *args):
     actionCommand = actionCommand.lower()
     if actionCommand == "settool-reportbypoint":
         #print "### QuickinfoExtension.execute(%s)" % repr(actionCommand)
         layer = currentLayer()
         if not self.isLayerValid(layer):
             return
         viewPanel = currentView().getWindowOfView()
         mapControl = viewPanel.getMapControl()
         reportbypoint = ReportByPoint()
         reportbypoint.setTool(mapControl)
Пример #40
0
def sRaster(n):
    """Return first raster active layer on the View"""
    layers = gvsig.currentView().getLayers()
    lyrlist = [ layers[i] for i in range(0,layers.__len__())]
    count = 0
    for i in lyrlist:
      if isinstance(i, DefaultFLyrRaster):
          if count == n:
              return i
          else:
             count+=1
    return None
Пример #41
0
def main(*args):

    #Generate random raster inside the analysis extent
    #can set cellsizeo of the raster result
    #if you want choose where to save the shape, you should add one attribute like this:
    #     ,PATH="C://gvsig//random_shape.shp",
    r = gvpy.runalg("generaterandomnormal", EXTENT = [0,0,0,500,500,0], CELLSIZE=10, MEAN =0.5, STDDEV = 0.5)

    #Change the orientation of the grid
    #we can set the path
    r1 = gvpy.runalg("gridorientation",r,0)

    #Gradient lines (vector) 
    #as input we introduce the result of the last geoprocess r1
    r2 = gvpy.runalg("gradientlines", EXTENT = gvsig.currentView(),INPUT = r1, MIN=1, MAX=10, SKIP=1)

    #cva algorithm
    #we don't need to write parameters name as we introduce them in order
    # and if the algorithm generates 2 or more layers as result, we will pick them as list
    # if is just one, as unique object
    #Also, you can specify both names with: , PATH=["C:/gvsig/1.tif","C:/gvsig/2.tif"]
    r3 = gvpy.runalg("cva", r1, r1, r1, r1, CELLSIZE=100)
    print "List layers result:",r3[0], r3[1]

    #You can check the orden of the params writing this here or in Jython console
    gvpy.algHelp("cva")

    #or search for a algorithm with a certain words inside his description
    gvpy.algSearch("aleatorio")

    #Random vector
    #also we can introduce a layer as Analysis Extent
    #doesnt matter if is: vector, raster, gvsig.currentView(), gvsig.currentLayer() or
    #coordinates of corners [0,0,500,500]
    v = gvpy.runalg("randomvector", 20, 1, EXTENT=r1)

    #We don't need to write "v=" before the algorithm if we don't want take the layer result
    gvpy.runalg("gvSIG-convexhull", v, True)

    #More
    gvpy.algHelp("generaterandomnormal")
    r = gvpy.runalg("generaterandomnormal", 100,100, CELLSIZE=100, EXTENT=[250,250,0,500,500,0])
    r = gvpy.runalg("generaterandomnormal", 10, 10, CELLSIZE=50, EXTENT=[500,500,0, 1000,1000,0])
    r = gvpy.runalg("generaterandombernoulli", 50.0, CELLSIZE=25, EXTENT=[1000,1000,0, 1250,1250,0])
    r = gvpy.runalg("gradientlines", r, 1, 100, 1)
    
    v1 = gvpy.runalg("randomvector",10, gvpy.TYPE_POLYGON, EXTENT=[0,0,0,500,500,0])
    v2 = gvpy.runalg("randomvector", 5, gvpy.TYPE_POLYGON, EXTENT=v1)
    v3 = gvpy.runalg("difference", v1, v2)
    v4 = gvpy.runalg("randomvector", 5, 0, EXTENT=v3)
    v5 = gvpy.runalg("randomvector", 100, 2)
    gvpy.algHelp("tablebasicstats")
    print "End"
Пример #42
0
  def __defineParameters_raster2sextante(self, param, paramValue):
              if isinstance(paramValue, str):
                  layer = gvsig.currentView().getLayer(paramValue)
                  paramValue = self.__createSextanteRaster(layer)
              else:
                  paramValue = self.__createSextanteRaster(paramValue)

              if DEV_INFO: print "** extent add+"
              if self.__defaultAE == None:
                  self.__defaultAE = AnalysisExtent(paramValue)
              else:
                  self.__defaultAE.addExtent(AnalysisExtent(paramValue))
              return paramValue
Пример #43
0
  def __defineParameters_vector2sextante(self, param, paramValue):
              if isinstance(paramValue, str):
                  layer = gvsig.currentView().getLayer(paramValue)
                  paramValue = self.__createSextanteLayer(layer())
              else:
                  paramValue = self.__createSextanteLayer(paramValue())

              if DEV_INFO: print "extent add+"
              if self.__defaultAE == None:
                  self.__defaultAE = AnalysisExtent(paramValue)
              else:
                  self.__defaultAE.addExtent(AnalysisExtent(paramValue))
              if DEV_INFO: print "PARAM VALUE 1: ", paramValue
              return paramValue
Пример #44
0
def currentRaster():
    """
    #BUG
    for i in gvsig.currentView().getLayers(): 
        print i
    """
    layers = gvsig.currentView().getLayers()
    lyrlist = [ layers[i] for i in range(0,3)]
    for i in lyrlist: 
      if i.isActive and isinstance(i, DefaultFLyrRaster): return i
    #print lyrlist
    #if isinstance(i(), DefaultFLyrRaster):
    #        if i.isActive: return i
    #if i.isActive(): print i
    return None
Пример #45
0
def loadRasterLayerNew(rasterfile, mode = "r", tocName=False ):
    ## Load a Raster file in a Layer
    gvsig_raster.sourceFileName[0]=rasterfile
    if not isinstance (rasterfile,File):
        rasterfile = File(rasterfile)
    
    name, ext = gvsig_raster.splitext(rasterfile.getName())
        
    if tocName!=False:
        name = tocName
    else:
        name = name


    view = gvsig.currentView()
    
    # Get the manager to use
    dalManager = DALLocator.getDataManager()
    mapContextManager = MapContextLocator.getMapContextManager()

    if ext.lower() == ".ecw" or ext.lower() == ".jp2" :
        # FIXME
        pass
    elif ext.lower() == ".mrsid":
        # FIXME
        pass
    else:
        # Create the parameters to open the raster store based in GDAL
        params = dalManager.createStoreParameters("Gdal Store")
        params.setFile(rasterfile)

    # Create the raster store
    dataStore = dalManager.createStore(params)

    # Create a raster layer based in this raster store
    layer = mapContextManager.createLayer(name, dataStore);

    view.addLayer(layer)
    return layer
Пример #46
0
def addLayerView(layer):
    gvsig.currentView().addLayer(layer)
Пример #47
0
  def __defineParameters_multi2sextante(self, param, paramValue):
              if DEV_INFO: print "PARAM VALUE PRE", paramValue
              paramValue2 = []
              for i in paramValue:
                  if isinstance(i, str):
                      layer = gvsig.currentView().getLayer(i)
                      i = self.__createSextanteLayer(layer())
                      ii = self.__createSextanteLayer(layer())

                  else:
                      if DEV_INFO: print type(i)
                      if isinstance(i, tuple): #si dentro de la lista viene una tupla identificamos que es un raster y su banda
                          from es.unex.sextante.parameters import RasterLayerAndBand
                          rlb = RasterLayerAndBand(self.__createSextanteRaster(i[0]),i[1])  #puesta numero de banda

                          ii = self.__createSextanteRaster(i[0])
                          i = rlb
                          if DEV_INFO: print "*************************** RASTERLAYERBAND", rlb

                      else:
                          if str(type(i)) == "<type 'org.gvsig.raster.fmap.layers.DefaultFLyrRaster'>":
                              ii = self.__createSextanteRaster(i)
                              i = self.__createSextanteRaster(i)
                          else:
                              ii = self.__createSextanteLayer(i())
                              i = self.__createSextanteLayer(i())

                      if DEV_INFO: print "createStextenatnte Layer i :", i
                      paramValue2.append(i)

                  if self.__defaultAE == None:
                          try:
                              self.__defaultAE = AnalysisExtent(AnalysisExtent(ii))
                              self.__defaultAE.setCellSize(0.49) ### test
                              self.__defaultAE.setCellSizeZ(0.49)  ### test
                              #self.__defaultAE.addExtent( )
                              if DEV_INFO: print "----------- ini defaultAE"
                          except:
                              try:
                                  self.__defaultAE = AnalysisExtent(ii())
                              except:
                                  self.__defaultAE = AnalysisExtent(ii)
                  elif self.__defaultAE != None:
                          try:
                              ae = self.__defaultAE
                              #ae.addExtent(AnalysisExtent(ii))
                              if DEV_INFO: print "------------ diferente defaultAE"
                          except:

                              self.__defaultAE.addExtent(AnalysisExtent(ii()))

                  """
                  if self.__defaultAE == None:
                      try:
                          self.__defaultAE = AnalysisExtent(i)
                      except:
                          print "excepttttttttttttttt", i
                          ae = i.getRasterLayer()
                          self.__defaultAE = AnalysisExtent(ae)
                  else:
                      try:

                          self.__defaultAE.addExtent(AnalysisExtent(i))
                      except:
                          print 'exceptttttttttttttt 222222222"', i
                          ae = i.getRasterLayer()
                          print 'ae',ae
                          self.__defaultAE.addExtent(AnalysisExtent(ae))
                          #print self.__defaultAE
                  """

              paramValue = paramValue2
              from java.util import ArrayList
              if DEV_INFO:
                  print "PARAM VALUE 2: ", paramValue
                  print "****************** CONDI6: ", paramValue
                  print "****************** CONDI6: ", ArrayList(paramValue)
              newParamValue = ArrayList()
              for i in paramValue:
                  newParamValue.add(i)
              paramValue = newParamValue
              #print "***************** CONDI6: ", paramValue
              #from es.unex.sextante.parameters import ParameterMultipleInput
              #pmi = ParameterMultipleInput()
              #pmi.setParameterValue(paramValue)
              #paramValue = pmi
              if DEV_INFO: print "#####################################################################"
              return paramValue
Пример #48
0
  def __defineExtent(self, algorithm, kwparams):
      """ Define Analysis Extent """
      if self.__defaultAE == None:
          if DEV_INFO: print "-------- cambiar extent"
          change=True
      else:
          if DEV_INFO: print "-------- no cambiar extent"
          change = False
          AExtent = self.__defaultAE
      changeCell = False
      if 'EXTENT' in kwparams.keys() and algorithm.getUserCanDefineAnalysisExtent() :
          changeCell = True
          frame = kwparams['EXTENT']
          if isinstance(frame, str): frame = gvsig.currentView().getLayer(frame)
          #print ("|"+str(frame)+"||"+str(type(frame)))
          if isinstance(frame, str) or isinstance(frame, gvsig.View):
              AExtent = AnalysisExtent()
              if DEV_INFO: print "| EXTENT from VIEW"
              if isinstance(frame, gvsig.View): view = frame
              else: view = gvsig.currentProject().getView(frame)
              envelope = view.getMap().getFullEnvelope()
              xlow = envelope.getLowerCorner().getX()
              ylow = envelope.getLowerCorner().getY()
              xup = envelope.getUpperCorner().getX()
              yup = envelope.getUpperCorner().getY()
              AExtent.setXRange(xlow, xup, False)
              AExtent.setYRange(ylow, yup, False)
              AExtent.setZRange(0, 0, False)
          elif isinstance(frame, DefaultFLyrRaster):
              if DEV_INFO: print "| EXTENT from RASTER"
              layer = self.__createSextanteRaster(frame)
              AExtent = AnalysisExtent(layer)
              changeCell = False
              #AExtent.setZRange(0, 1, True)
              if DEV_INFO: print AExtent
          elif isinstance(frame, list):
              if DEV_INFO: print "| EXTENT from LIST"
              AExtent = AnalysisExtent()
              AExtent.setCellSize(0.49)
              AExtent.setCellSizeZ(0.49)
              xlow, ylow, zlow, xup, yup, zup  = frame[0], frame[1], frame[2], frame[3], frame[4], frame[5]
              AExtent.setXRange(xlow, xup, True)
              AExtent.setYRange(ylow, yup, True)
              AExtent.setZRange(zlow, zup, True)
          elif isinstance(frame, gvsig.Layer):
              if DEV_INFO: print "| EXTENT from Layer"
              layer = self.__createSextanteLayer(frame())
              AExtent = AnalysisExtent(layer)
          else:
              raise Exception("Not Extent Define")
          algorithm.setAnalysisExtent(AExtent)

      elif change == True:
          if DEV_INFO: print ("| Not Extent: No input data")
          AExtent = AnalysisExtent()
          changeCell = True
          if self.__defaultAE != None:
              if DEV_INFO: print "| Extent from Algorithm Layers"
              AExtent = self.__defaultAE
          else:
              try:
                  if DEV_INFO: print "| Extent from View"
                  envelope = gvsig.currentView().getMap().getFullEnvelope()
              except:
                  raise Exception("None open View")

              if DEV_INFO: print "| Setting AExtent: ",
              try: #from view
                  xlow = envelope.getLowerCorner().getX()
                  ylow = envelope.getLowerCorner().getY()
                  zlow = 0
                  xup = envelope.getUpperCorner().getX()
                  yup = envelope.getUpperCorner().getY()
                  zup = 0
                  if DEV_INFO: print "| View: ",
                  if DEV_INFO: print xlow, ylow, xup,yup
              except: # default
                  xlow, ylow, zlow, xup, yup, zup = 0,0,0,100,100,0
                  if DEV_INFO: print "| Default:", xlow, ylow, xup, yup

              frame = Rectangle2D.Double(xlow, ylow, xup, yup)
              AExtent.setXRange(xlow, xup, False)
              AExtent.setYRange(ylow, yup, False)
              AExtent.setZRange(zlow, zup, False)
          algorithm.setAnalysisExtent(AExtent)

      #Set: cellsize

      if 'CELLSIZE' in kwparams.keys():
          AExtent.setCellSize(kwparams['CELLSIZE'])
          if DEV_INFO: print "| New Cellsize: ", kwparams['CELLSIZE'], AExtent.getCellSize()
      elif changeCell == True:
          AExtent.setCellSize(AExtent.getCellSize())
          if DEV_INFO: print "| Cellsize: ", AExtent.getCellSize()

      if 'CELLSIZEZ' in kwparams.keys():
          AExtent.setCellSizeZ(kwparams['CELLSIZEZ'])
          if DEV_INFO: print "| New Cellsize Z: ", kwparams['CELLSIZEZ'], AExtent.getCellSizeZ()
      elif changeCell == True:
          AExtent.setCellSize(AExtent.getCellSizeZ())
          if DEV_INFO: print "| CellsizeZ: ", AExtent.getCellSizeZ()

      if DEV_INFO: print "Å‚Å‚ end extent: ", AExtent
      #AExtent.setZRange(0.0, 0.0, True)
      algorithm.setAnalysisExtent(AExtent)
      if DEV_INFO: print ("| Set Extent")
Пример #49
0
  def __defineExtent(self, algorithm, kwparams):
      """ Define Analysis Extent """
      if 'EXTENT' in kwparams.keys() and algorithm.getUserCanDefineAnalysisExtent() :
          frame = kwparams['EXTENT']
          if isinstance(frame, str): frame = gvsig.currentView().getLayer(frame)
          print ("|"+str(frame)+"||"+str(type(frame)))
          if isinstance(frame, str) and frame == 'VIEW' or isinstance(frame, gvsig.View):
              AExtent = AnalysisExtent()
              print "EXTENT ************ VIEW"
              if isinstance(frame, gvsig.View): view = frame
              else: view = gvsig.currentView()
              envelope = view.getMap().getFullEnvelope()
              xlow = envelope.getLowerCorner().getX()
              ylow = envelope.getLowerCorner().getY()
              xup = envelope.getUpperCorner().getX()
              yup = envelope.getUpperCorner().getY()
              frame = Rectangle2D.Double(xlow, ylow, xup, yup)
              #AExtent.addExtent(frame)
              AExtent.setXRange(xlow, xup, False)
              AExtent.setYRange(ylow, yup, False)
              AExtent.setZRange(0, 0, False)
              print "EXTENSIONNNNNNNNNNNNNNNNNNNNNN", AExtent
              
          elif isinstance(frame, DefaultFLyrRaster):
              print "EXTENT ************ RASTER"
              layer = self.__createSextanteRaster(frame)
              AExtent = AnalysisExtent(layer)
              
          elif isinstance(frame, list):
              print "EXTENT ************ LIST"
              AExtent = AnalysisExtent()
              xlow, ylow, zlow, xup, yup, zup  = frame[0], frame[1], frame[2], frame[3], frame[4], frame[5]
              frame = Rectangle2D.Double(xlow, ylow, xup, yup)
              print frame
              #AExtent.addExtent(frame)
              AExtent.setXRange(xlow, xup, False)
              AExtent.setYRange(ylow, yup, False)
              AExtent.setZRange(zlow, zup, False)
              
          elif isinstance(frame, gvsig.Layer):
              print "EXTENT ************ layer"
              layer = self.__createSextanteLayer(frame())
              AExtent = AnalysisExtent(layer)
              
          else:
              raise NameError("Not Extent Define")

      else:
          print ("| Not Extent: No input data")
          #check
          AExtent = AnalysisExtent()
          #algorithm.setAnalysisExtent(AExtent)
          if algorithm.canDefineOutputExtentFromInput(): algorithm.adjustOutputExtent()
          print algorithm.getAnalysisExtent() 
          print algorithm.isAutoExtent() 
          print "set auto view"
          AExtent = AnalysisExtent()
          print "EXTENT ************ VIEW"
          view = gvsig.currentView()
          envelope = view.getMap().getFullEnvelope()
          print "Setting AExtent...",
          try:
              print "View"
              xlow = envelope.getLowerCorner().getX()
              ylow = envelope.getLowerCorner().getY()
              xup = envelope.getUpperCorner().getX()
              yup = envelope.getUpperCorner().getY()
              print xlow, ylow, xup,yup
          except:
              print "Default"
              xlow, ylow, xup, yup = 0,0,100,100
          frame = Rectangle2D.Double(xlow, ylow, xup, yup)
          AExtent.setXRange(xlow, xup, False)
          AExtent.setYRange(ylow, yup, False)
          AExtent.setZRange(0, 0, False)
          algorithm.setAnalysisExtent(AExtent)
          
      #Set: cellsize
      if 'CELLSIZE' in kwparams.keys():
          AExtent.setCellSize(kwparams['CELLSIZE'])
          print "| New Cellsize: ", kwparams['CELLSIZE'], AExtent.getCellSize()
      else:
          print "| Cellsize: ", AExtent.getCellSize()
      if 'CELLSIZEZ' in kwparams.keys():
          AExtent.setCellSizeZ(kwparams['CELLSIZEZ'])
          print "| New Cellsize Z: ", kwparams['CELLSIZEZ'], AExtent.getCellSizeZ()
      else:
          print "| Cellsize: ", AExtent.getCellSizeZ()
      algorithm.setAnalysisExtent(AExtent)
      print ("| Set Extent")