ODA SDK-Based DWG Data Extraction

Job ID: 38760454

Budget: $25 – $50 USD

Project: DWG File Data Extraction Using ODA Drawing SDK
Overview:
This project aims to set up a server-side solution to read, process, and extract data from DWG files using the Open Design Alliance (ODA) Drawing SDK. The extracted information should be accessible via an API endpoint, allowing calls from our web application to retrieve comprehensive data on each object and layer in a DWG file.
Objective:
To create a server application that:
Receives a DWG file URL as input.
Extracts and organizes a wide array of information from the DWG file, including:
Object and layer information (attributes, geometry, colors, names).
File metadata such as page size and units.
Geolocation data, if available, including GPS coordinates and distance from origin to GPS marker, or the GPS location of each object and vertex.
Returns the data in an organized array format, allowing nested arrays for complex attributes (e.g., vertexes in polylines).
Phase 1 Requirements:
File Input and Processing:
Set up an API endpoint to receive a DWG file.
Utilize the ODA SDK to read the file and access the required data.
Data Extraction:
Layers and Objects:
Retrieve details for each layer and object in the DWG, including:
Attributes: All available attributes for each object.
Geometry Data: Coordinates, sizes, and shapes.
Colors and Names: Color information and names, if assigned.
Additional File Data:
Extract metadata like:
Page Size: Width and height of the page or drawing area.
Units: Measurement units used in the file.
Geolocation Data:
If GPS data is available, retrieve the:
GPS Coordinates: Lat/lng coordinates.
Distance from Origin: Calculate the distance from the origin to the GPS marker.
Data Formatting:
Organize all data in a JSON-compatible format to be returned in an array of objects.
Include nested arrays for complex structures (e.g., vertices in polylines).
Response Format:
The response should be an array of objects with a flexible structure to handle the nested information where applicable.
Technical Requirements:
Platform: Server-side application (suggested .NET framework) capable of interfacing with ODA SDK.
Language: Preferably C++ or C#, but open to alternative solutions that can run on a .NET environment.
ODA SDK Expertise: Experience working with the ODA SDK, particularly with reading and extracting data from DWG files.
Deliverables:
Working API Endpoint that accepts DWG files and returns structured data as per the specifications above.
Documentation outlining:
How to set up and deploy the application.
API endpoint usage with sample input/output.
Sample Output Data in JSON format for a test DWG file, illustrating the expected structure of the data.
Preferred Skills:
Familiarity with the ODA Drawing SDK, especially in reading and extracting data from DWG files.
Proficiency in C++ or C# within a .NET environment.
Experience with setting up and deploying server applications that interface with 3rd-party libraries and SDKs.

The solution should be deployed on a Windows-based server environment. The data extraction should include comprehensive metadata, geolocation data, and complex attributes for detailed analysis. User authentication is not needed for the API endpoint. The API should focus on delivering highly accurate data extraction and processing, even if it affects speed. The documentation and sample data should be detailed enough for easy setup and use. Include the extraction of basic geometric structures, such as 2D models and polylines, in addition to basic shapes.

"The data extraction should include distance from origin as long as the GPS position of the origin is provided where it is available for geolocation information." The extracted data should be provided in JSON format. Include robust error handling features to manage file processing issues and provide detailed error messages in the JSON response. The geometry data will include basic shapes only.
Related categories: C# Programming C++ Programming ASP.NET