
Security News
MCP Community Begins Work on Official MCP Metaregistry
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Aspose.GIS for Python via .NET is a standalone API to read, write, process, convert GDB, GPX, Shapefile, GML, FileGDB, KML and other popular gis formats. Integration with DataBases and Rendering capabilities of GIS data out from the box.
Product Page | Documentation | Demos | Blog | API Reference | Search | Free Support | Temporary License | EULA
Try our free online Apps demonstrating some of the most popular Aspose.GIS functionality.
Aspose.GIS for Python via .NET is a robust API designed for developers to handle geospatial data formats without relying on external GIS software. It facilitates the reading, writing, and conversion of multiple GIS formats, along with rendering maps and performing geometry creation and analysis. This makes it an all-encompassing solution for GIS-related tasks within Python applications. It's crossplatform: Windows, MacOS, MacOS-ARM, Linux are supported.
Aspose.GIS for Python via .NET is an ultimate, flexible, stable and powerful API to work with most kinds of GIS Formats. Aspose.GIS is a cross-platform library, it is Windows x32/x64, Linux x64, and MacOS x64/Arm64 compatible.
Aspose.GIS for Python requires you to use python programming language. For the additional languages please visit Aspose.GIS Family Official Page, we recommend you to check Aspose.GIS for .NET.
The following are Aspose.GIS’s core features:
The following table lists the vector formats that Aspose.GIS for Python can read or write.
Description | Format | Read | Write |
---|---|---|---|
ESRI Shapefile | .shp, .shx, .dbf, .qix, .cpg | ✔️ | ✔️ |
GeoJSON | .json, .geojson | ✔️ | ✔️ |
GeoJSON Seq | .json, .geojson | ✔️ | ✔️ |
ESRI File Geodatabase (FileGDB) | .gdb | ✔️ | ✔️ |
Geography Markup Language | .gml | ✔️ | ✔️ |
Keyhole Markup Language | .kml | ✔️ | ✔️ |
GPS Exchange Format | .gpx | ✔️ | ✔️ |
TopoJSON | .json, .topojson | ✔️ | ✔️ |
MapInfo Interchange Format | .mif | ✔️ | |
MapInfo TAB format | .tab, .dat, .dbf, .map, .id | ✔️ | ✔️ |
OpenStreetMap (OSM) XML | .osm | ✔️ | ✔️ |
Comma-Separated Values | .csv | ✔️ | ✔️ |
The following table lists the supported databases. Possible, additional DB are supported, because Aspose.GIS supports unified way to work with DBs. But please note, first version of Aspose.GIS for Python via .NET has some limitation with generic methods, filtering and DB.
| Description | Read | Write |
|---------------------|------|-------|
| Post GIS | ✔️ | ✔️ |
| SQL Server (MS SQL) | ✔️ | ✔️ |
| PostgreSQL | ✔️ | ✔️ |
The following table lists the raster formats that Aspose.GIS for .NET can only read.
Description | Format | Read |
---|---|---|
Geo TIFF, TIFF | .tiff, .tif | ✔️ |
Geo Big TIFF | .tiff, .tif | ✔️ |
Esri ASCII | .ascii | ✔️ |
World File | (.png, .jpg, .tiff) + .pgw | ✔️ |
The following web tile formats can be loaded from the Internet.
Format | Description |
---|---|
XYZ Tiles | Slippy Maps |
Maps can be rendered into the following formats.
Format | Description |
---|---|
.SVG | Scalable Vector Graphics |
.PNG | Portable Network Graphics |
.JPG | JPEG |
.BMP | Bitmap Image Files |
Aspose.GIS for Python can be used to develop applications for a wide range of operating systems, such as Windows (x32/x64), Linux (x64), and MacOS (x64/arm64) where Python 3.5 or later is installed.
The base .NET platform is .NET Standard 2.0
Ready to give Aspose.GIS for Python a try?
Simply run pip install aspose-gis-net
from the console to fetch the package. If you already have Aspose.GIS for Python and want to upgrade the version, please run pip install --upgrade aspose-gis-net
to get the latest version.
You can run the following snippets in your environment to see how Aspose.GIS works, or check out the GitHub Repository or Aspose.PSD for Python Documentation for other common use cases.
source_format_path = "sample.geojson"
destination_format_path = "output.topojson")
# Perform the conversion
VectorLayer.convert(source_format_path, Drivers.geo_json, destination_format_path, Drivers.topo_json)
# Check the list of supported drivers: esri_json, gdal, geo_json, geo_json_seq, in_memory, in_file, kml, shapefile, osm_xml, gpx, gml, file_gdb, topo_json, map_info_interchange, map_info_tab, post_gis, sql_server, esri_ascii, geo_tiff, world_raster, jpeg_w, png_w, bmp_w, tiff_w, xyz_tiles, csv
# Please note there can be unsupported conversion pairs
bandColor = BandColor()
bandColor.band_index = 0
bandColor.min = 0
bandColor.max = 255
color = MultiBandColor()
color.red_band = bandColor
with Map(Measurement.pixels(500), Measurement.pixels(500)) as map_instance:
layer = Drivers.geo_tiff.open_layer("raster_float32.tif"))
map_instance.add(layer, color, False)
map_instance.render(output, Renderers.svg)
result = "sample_out.topojson"
with Drivers.topo_json.create_layer(result) as layer:
# Add attributes that we are going to set
layer.attributes.add(FeatureAttribute("name", AttributeDataType.STRING))
layer.attributes.add(FeatureAttribute("measurement", AttributeDataType.DOUBLE))
layer.attributes.add(FeatureAttribute("id", AttributeDataType.INTEGER))
feature0 = layer.construct_feature()
feature0.set_value("name", "name_0")
feature0.set_value("measurement", 1.03)
feature0.set_value("id", 0)
feature0.geometry = Point(1.3, 2.3)
layer.add(feature0)
feature1 = layer.construct_feature()
feature1.set_value("name", "name_1")
feature1.set_value("measurement", 10.03)
feature1.set_value("id", 1)
feature1.geometry = Point(241.32, 23.2)
layer.add(feature1)
input = "InputShapeFile.shp"
with VectorLayer.open(input, Drivers.shapefile) as layer:
for i in range(layer.count):
feature = layer[i]
# case 1
name_value = feature.get_value("name") # attribute name is case-sensitive
age_value = feature.get_value("age")
dob_value = datetime.fromisoformat(feature.get_value("dob")).strftime("%Y-%m-%d")
print(f"Attribute value for feature #{i} is: {name_value}, {age_value}, {dob_value}")
# case 2
obj_name = feature.get_value("name") # attribute name is case-sensitive
obj_age = feature.get_value("age")
obj_dob = feature.get_value("dob")
print(f"Attribute object for feature #{i} is: {obj_name}, {obj_age}, {obj_dob}")
point_geometry = Point(40.7128, -74.006)
line_geometry = LineString()
line_geometry.add_point(78.65, -32.65)
line_geometry.add_point(-98.65, 12.65)
geometry_collection = GeometryCollection()
geometry_collection.add(point_geometry)
geometry_collection.add(line_geometry)
for geometry in geometry_collection:
if geometry.geometry_type == GeometryType.POINT:
point = geometry
assert str(point) == "POINT (40.7128 -74.006)"
elif geometry.geometry_type == GeometryType.LINE_STRING:
line = geometry
assert str(line) == "LINESTRING (78.65 -32.65, -98.65 12.65)"
# Getting the Centroid
polygon = Polygon()
ring = LinearRing()
ring.add_point(1, 0)
ring.add_point(2, 2)
ring.add_point(0, 4)
ring.add_point(5, 5)
ring.add_point(6, 1)
ring.add_point(1, 0)
polygon.exterior_ring = ring
# Get the centroid of the polygon
centroid = polygon.get_centroid()
# Get the point on surface. Point on surface is guaranteed to be inside a polygon.
point_on_surface = polygon.get_point_on_surface()
# Get the Area of Polygon.
area = multi_polygon.polygon()
from aspose.gis import License
license = License()
licensePath = "PathToLicenseFile"
license.set_license(licensePath)
Product Page | Documentation | Demos | Blog | API Reference | Search | Free Support | Temporary License | EULA
FAQs
Aspose.GIS for Python via .NET is a standalone API to read, write, process, convert GDB, GPX, Shapefile, GML, FileGDB, KML and other popular gis formats. Integration with DataBases and Rendering capabilities of GIS data out from the box.
We found that aspose-gis-net demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Research
Security News
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.
Research
Security News
Malicious npm packages posing as developer tools target macOS Cursor IDE users, stealing credentials and modifying files to gain persistent backdoor access.